Matthew Nesbit
039229cdfd
Remove bouncycastle-jdk14 that is causing problems for one of the member banks.
...
Only need testCompile scope
2016-09-01 11:04:48 +01:00
Andras Slemmer
86d6ee0110
node: Cash Issue doesn't require notary
2016-09-01 09:36:06 +01:00
Andras Slemmer
cfebccc495
node: Remove TransactionBuildResult.Complete, add pretty printing of ServiceToClientEvent
2016-09-01 09:36:06 +01:00
Ross Nicoll
232db9a1fd
Move test utilities into their own package
...
This moves a lot of the test support code into its own package which is only imported for tests,
so it's not shipped as a part of core Corda. The node currently depends on this support code to
compile, although future work could try to separate this out. This change highlights that parts
of production code is dependent on test elements (i.e. dummy keys), and makes it harder for
such accidental crosses to occur later.
An integration test category is also added as part of this work, to contribute towards COR-345.
2016-08-31 15:40:54 +01:00
Clinton Alexander
5439e0980f
Merged in clint-driver-debug-fix (pull request #308 )
...
Fixed driver debug mode.
2016-08-31 11:31:02 +01:00
Clinton Alexander
0c4a80453a
Used lists instead of strings for appending to JavaArgs in driver.
2016-08-30 14:01:54 +01:00
Matthew Nesbit
8756b49794
Add switchable HTTPS to Node web server
...
Explain change of cipher
Include extracted Dev Corda Root certificate so that it can be installed by HTTPS users.
2016-08-30 13:07:40 +01:00
Clinton Alexander
82b416cb88
Fixed driver debug mode.
2016-08-30 12:03:31 +01:00
Ross Nicoll
ad8ffca0b4
Add CommitTransactionProtocol
...
Add new protocol which manages the entire process of taking a signed transaction ready
for notarisation, through notarisation and onto recording it both locally and informing
remote nodes.
This protocol also optionally can include the ClientToServiceCommand which triggered a transaction
being created, to give the remote nodes context on why a change occurred (i.e. "You are being sent
£100")
2016-08-25 16:30:39 +01:00
Matthew Nesbit
089ba2cb69
Only NetworkMapServer addresses can be publicly manufactured. Use identity publick key as addressing, with only bridges using the HostAndPort information
...
Fixup after rebase and fix issue with checking previous deployment of bridges
Correct comments on ArtemisMessagingClient constructor
Fixup rates fix demo
Get rid of when statements
Make NetworkMapCache send modify as well as add//remove events. Make inboxes for nodes persistent.
Suppress warnings
Fix message acknowledgement so that it actually consumes messages properly.
Change queueName to SimpleString to stop lots of wasted conversions
Get rid of spurious import
Tidy up and add comments
Update to include comments on PR
Remove unnecessary import
2016-08-25 15:56:50 +01:00
Ross Nicoll
f9880a4990
Pre-filter states passed to generateSpend()
...
Pre-filter states passed to generateSpend(), so that requests from the UI to spend cash only ever
spend cash with the correct issuer.
2016-08-25 13:20:12 +01:00
Mike Hearn
c8323099bb
Minor: cleanup the commercial paper contracts.
...
There's no need for the notary to be specified in commands. A few other tweaks and additions found whilst refreshing the docsite.
2016-08-25 11:30:25 +02:00
Mike Hearn
3e330a2d36
Merged in mike-fix-walletfiller (pull request #277 )
...
Rewrite the test wallet filler code to not be buggy.
2016-08-23 17:59:19 +02:00
Ross Nicoll
dc2f4055fc
Restrict cash exit commands to working on cash held by the issuer
...
Remove the ability to exit cash not held by the cash issuer; this solves a number of problems:
* Ensuring owner of the cash is aware of the funds being destroyed
* Determining where to send any change resulting from partial exiting of funds
* Auditing the destruction of funds
2016-08-22 17:17:19 +01:00
Clinton Alexander
668fecfea7
Merged in clint-no-notary-error (pull request #283 )
...
Fixed bug when incorrect notary service type is specified.
2016-08-22 16:41:38 +01:00
Mike Hearn
097bb033c4
Rewrite the test wallet filler code to not be buggy.
2016-08-22 16:26:32 +02:00
Andras Slemmer
1a2c712a48
node-driver: Make debugging optional and off by default
2016-08-19 17:05:00 +01:00
Andras Slemmer
9d22d66548
node-driver: Fix some kdocs. Also, full stops!
2016-08-19 17:05:00 +01:00
Andras Slemmer
f4577b743e
node-driver: Add startClient, startLocalServer
2016-08-19 17:05:00 +01:00
Andras Slemmer
5f33bedc13
node-driver: Polling doesn't timeout, just prints warning
2016-08-19 17:05:00 +01:00
Andras Slemmer
9cbdf001fb
node-driver: Return Futures instead of waiting for full node startup
2016-08-19 17:05:00 +01:00
Clinton Alexander
7b3003ea04
Added TODO for further work
2016-08-19 16:41:49 +01:00
Matthew Nesbit
696b9741dd
Remove ClashingThreads exception by tightening up unique id on LinearState to be a secure random value, with constraints that it cannot be duplicated. Also, rename to linearId rather than the confusing thread.
...
Try providing a helper interface to encourage enforcing LinearState rules
Fixup after rebase
Change to using Clauses for verifying LinearState standard properties
Fix whitespace change
Tidy up ClauseVerifier after PR comments
Change from SecureHash to a TradeIdentifier class
Change TradeIdentifier to UniqueIdentifier
2016-08-19 11:52:16 +01:00
Mike Hearn
6adebd3fa8
Clarify exception handling in the SMM add method a bit.
2016-08-18 18:19:46 +01:00
Mike Hearn
db3aa1491c
Upgrade Quasar to 0.7.6 and fix an exception handling bug in SMM that it revealed (if an exception was thrown immediately on protocol startup we let it leak instead of capturing it in the future.
2016-08-17 14:43:45 +01:00
Ross Nicoll
a9ec3c253e
Merged in rnicoll-notify-tx (pull request #282 )
...
Add observable for transactions being stored
2016-08-16 14:50:55 +01:00
Clinton Alexander
77f5689468
Renamed variable for clarity.
2016-08-16 13:54:08 +01:00
Clinton Alexander
5d68210355
Driver now correctly resolves quasar path on Windows.
2016-08-16 13:26:38 +01:00
Clinton Alexander
85dce390f4
makeNotaryService now enforces post condition with type system.
2016-08-16 09:21:29 +01:00
Clinton Alexander
a74c491745
Fixed a bug where if NotaryService.Type is used as an advertised service no notary is created and no obvious error occurs.
2016-08-16 09:18:33 +01:00
Andras Slemmer
9d9164980e
Merged in andrius-driver-fix (pull request #280 )
...
DriverTest fix: get quasar.jar location from the classpath
2016-08-15 17:31:02 +01:00
Clinton Alexander
c5a6d11976
Merged in clint-node-driver-conf-fix (pull request #275 )
...
Config will error earlier if the reference.conf file is missing.
2016-08-15 15:53:50 +01:00
Mike Hearn
a451000623
Merged in mike-fix-artemis-threading (pull request #276 )
...
Messaging layer improvements
2016-08-12 19:07:54 +02:00
Mike Hearn
3d391ec8c2
Add unit tests for the resolve transactions protocol
2016-08-12 17:14:54 +02:00
Ross Nicoll
a3d37a4d00
Require notary to be explicitely stated on each transaction
2016-08-12 15:51:04 +01:00
Ross Nicoll
17ae349f4d
Remove support for timestamp commands
2016-08-12 13:51:34 +01:00
Mike Hearn
cba0427e01
Make ArtemisMessagingClient blocking and require the user to directly enter a message loop. This cleans up a few things and ensures we can't get caught out by messages being arbitrarily re-ordered as they pass through any Artemis thread pools.
2016-08-12 14:06:03 +02:00
Ross Nicoll
8346c58d4c
Add observable for transactions being stored
...
Add observable for transactions being stored, so the UI can show transactions as they're received, rather than being
limited to the summarised version available from the wallet service.
2016-08-12 11:58:17 +01:00
Andrius Dagys
cd344058d2
Driver: get quasar.jar location from the classpath instead of a constructor parameter
2016-08-12 11:41:15 +01:00
Mike Hearn
ac81d2aa32
Messaging layer improvements:
...
- Fix thread safety issues in ArtemisMessagingClient. The Artemis API isn't thread safe, but that isn't well documented and it will happily invoke callbacks in parallel.
- Add discussion of how we tackle threading currently in the codebase and make a few other improvements.
- Add a shutdown hook so we stop properly when the user presses ctrl-c
2016-08-11 14:16:05 +02:00
Clinton Alexander
475322b14f
Config will error earlier if the reference.conf file is missing.
2016-08-10 17:22:20 +01:00
Andras Slemmer
00b439802b
node-driver: Write node.conf explicitly
2016-08-10 14:35:23 +01:00
Andras Slemmer
1b98c32579
Merged in node-driver (pull request #253 )
...
Node driver
2016-08-10 14:21:16 +01:00
Ross Nicoll
cf40e0db70
Add WalletMonitorService
2016-08-09 18:24:14 +01:00
Andrius Dagys
8386100677
Remove BriefLogFormatter as the formatting is now handled by Log4j configuration. Introduce LogHelpers which now handles the custom log level setting for specific loggers.
2016-08-09 17:31:27 +01:00
rick.parker
d883b3f134
First working hand-rolled persistent wallet
...
First working Exposed-assisted persistent wallet
Cleaned up Exposed-based persistent wallet
Cleaned up warnings
Fixed up some generic types
Improved comments
Fix up TODO comment
Hikari and config integration
Fix existing tests
Clean up after looking at PR
Clean up commented out lines
Fix initialisation of IRS demo leaving database open
Fix up after rebase
Review feedback. Main change is lazy wallet iteration.
Rebased and incorporated config changes.
Use standardised config loading. Make wallet cash test use persistent wallet.
Added test to ensure wallet retains state in database across instance creation.
Tidy up whitespace and fix bug in test.
2016-08-09 16:41:32 +01:00
Andras Slemmer
f20322136f
Revert "Merged in node-driver (pull request #253 )"
...
This reverts commit af893e0af5
, reversing
changes made to 7357597501
.
2016-08-09 16:19:18 +01:00
Andras Slemmer
9df7a0faf0
node-driver: Fix compile error
2016-08-09 15:38:33 +01:00
Andras Slemmer
5b2c687c64
node-driver: Hacky fix of startup race condition
2016-08-09 15:27:27 +01:00
Andras Slemmer
9e3220671c
node: stop() ClientFactory and ServerLocator when shutting down and ArtemisMessagingClient
2016-08-09 15:27:27 +01:00
Andras Slemmer
d0385c420e
node-driver: Remove parameter and DriverHandle, expose waitForAllNodesToFinish to dsl
2016-08-09 15:27:27 +01:00
Andras Slemmer
c9527a2cdd
node-driver: Only stop() artemis if it started fine
2016-08-09 15:27:27 +01:00
Andras Slemmer
20fc200771
node: Fix checking of lateinited networkMapNodeInfo
2016-08-09 15:27:27 +01:00
Andras Slemmer
df4413ab68
node: Add extra Driver checks for node shutdown, extend try/finally scope of cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
2e6de61ad0
node: Fix compiler error due to rebase
2016-08-09 15:27:27 +01:00
Andras Slemmer
a5e8c86928
node: Increase poll timeout in driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
feecc36661
node: Address PR comments, better resource releasing, add kdoc
2016-08-09 15:27:27 +01:00
Andras Slemmer
9d071809ef
node: Expose port allocation in Driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
e7677c91ce
node: Add DriverDSL(Exposed/Internal)Interface, add generic driver
method to allow extension
2016-08-09 15:27:27 +01:00
Andras Slemmer
773d53b4c8
node: Load config from disk in Driver, further cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
303858c3e4
node: Use proper logging in Driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
35da6b5388
node: Add port allocation strategies to driver dsl, add jvm debug port
2016-08-09 15:27:27 +01:00
Andras Slemmer
8cf635cf74
node: Expose ArtemisMessagingService.Address
2016-08-09 15:27:27 +01:00
Andras Slemmer
3bc62fdb95
node: Add driver dsl test, expose some needed functions
2016-08-09 15:27:27 +01:00
Andras Slemmer
5f5a5e683d
node: Add quasarPath parameter to driver dsl (should be replaced once we can do without the external quasar.jar)
2016-08-09 15:27:27 +01:00
Andras Slemmer
a317a5bfd2
node: Expose some Driver functions to allow extension, some cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
e42d8c2e8f
node: Add driver DSL for starting up nodes
2016-08-09 15:27:27 +01:00
Mike Hearn
87047c8996
Minor: fix various inspector warnings and delete some dead code.
2016-08-09 11:55:40 +02:00
Mike Hearn
8c00b5284d
Merged in mike-ledgertx-refactoring (pull request #264 )
...
Refactor the core transaction types
2016-08-08 18:02:32 +02:00
Matthew Nesbit
6b23800f02
Incorporate Clintons review comments
2016-08-08 11:54:41 +01:00
Matthew Nesbit
3dc8a95d69
Tackle comments from code review and fix bad merge on version
2016-08-05 16:42:55 +01:00
Matthew Nesbit
d3309c1171
Allow setting of out of process ArtmeisMQ broker on Node via config file
2016-08-05 15:58:02 +01:00
Matthew Nesbit
d76d271830
Fixup after rebase to split of server and client artemis components.
2016-08-05 14:52:31 +01:00
Matthew Nesbit
6b844c0e41
Gradle task to create a build/standalone folder suitable to demonstrate the capsule.io all in one jar
2016-08-05 14:52:29 +01:00
Andrius Dagys
d1f2958e6d
Node: Add API doc for a newly introduced constructor parameter
2016-08-05 14:41:57 +01:00
Andrius Dagys
8d3a3197b9
Split up ArtemisMessagingService into ArtemisMessagingClient & ArtemisMessagingServer. If a Node is given a messagingServerAddress, it will only run a client and attempt to connect to the server at the provided address. By default, it will run both client & server locally
2016-08-05 14:02:32 +01:00
Andras Slemmer
027853c3a8
node: Started refactoring ArtemisMessagingService into ArtemisServerService and ArtemisClientService
2016-08-04 15:32:48 +01:00
Andras Slemmer
845f2bdd64
Merged in pubkey-base58-serialisation (pull request #257 )
...
Pubkey base58 serialisation
2016-08-04 13:58:57 +01:00
Clinton Alexander
b640524bf3
Merged in clint-auto-identity (pull request #261 )
...
Identity service now updates with the network map.
2016-08-04 13:29:54 +01:00
Andras Slemmer
4fb8a38122
core, node: Rename Stirng.toPublicKey to parsePublicKeyBase58
2016-08-04 12:14:40 +01:00
Andras Slemmer
35c4fcadcf
node: Use toBase58String/toPublicKey in JsonSupport
2016-08-04 12:14:40 +01:00
Mike Hearn
701fc853ad
Refactor the core transaction types to improve clarity, simplify verification and prepare for sandboxing.
...
Changes include:
- LedgerTransaction is now much more central: it represents a fully resolved and looked-up tx, with the inputs available.
- TransactionGroup and TransactionForVerification are gone. There is a temporary TransactionForContract class for backwards
compatibility but it will also be gone soon.
- ResolveTransactionsProtocol is simplified, and now commits a tx to the database as soon as it's determined to be valid.
- ServiceHub is now passed in more consistently to verification code, so we can use more services in future more easily e.g. a sandboxing service.
- A variety of APIs have been tweaked or documented better.
2016-08-04 13:05:50 +02:00
Mike Hearn
c2aee2d4e8
Minor: Replace MockServices with a new class that's in core instead of node, old class becomes MockServiceHubInternal.
2016-08-04 12:53:09 +02:00
Mike Hearn
1c3379f508
Testing: make the ledger DSL take a ServiceHub rather than individual services.
...
It defaults to a fresh UnitTestServices(). Also clear up a few other areas.
2016-08-04 12:52:02 +02:00
Mike Hearn
ba05b90b8f
Testing: change fillWithTestCash to issue cash under the DUMMY_CASH_ISSUER identity and adjust code that uses it. Introduce some code that'll prove useful later in WalletWithCashTest.
...
This change reduces the testing confusion that can occur when cash is issued by one of the parties in a transaction rather than e.g. a neutral third party like a central bank.
2016-08-04 12:52:01 +02:00
Ross Nicoll
fc804ec746
Add NotifyTxProtocol
...
Add a protocol for notifying remote nodes of a transaction that may interest them
(typically this means involves them).
2016-08-03 17:10:26 +01:00
Clinton Alexander
b1c1b7f4b4
Review changes - merged two observables into one.
2016-08-03 16:49:37 +01:00
Clinton Alexander
9ef1bf0355
Identity service now updates with the network map.
2016-08-02 17:08:46 +01:00
Mike Hearn
987c374b98
Minor: slightly better error message when trying to send to an unknown party.
2016-08-01 16:42:56 +02:00
Mike Hearn
b40fee1512
Allow for easier conversion from Amount<Issued<T>> to Amount<T> and de-issuerify a few places.
2016-08-01 16:42:56 +02:00
Mike Hearn
97ad07be89
Fix progress rendering after the switch to log4j, as ANSIProgressRenderer had assumed JDK logging.
...
Also, start using colours and a more compact logging format in the default log4j config.
2016-08-01 13:07:48 +02:00
Ross Nicoll
cf4bb0c9af
Break down topic into component parts
...
Break down what is referred to as "topic" of a message into its component parts. This splits the
general topic from the session ID, so it's clear where a session ID is provided, and whether any
given topic string includes a session ID or not.
2016-07-29 14:24:46 +01:00
Clinton Alexander
7d39a101d4
Merged in COR-276 (pull request #239 )
...
Added Jacoco code coverage to gradle.
2016-07-29 13:29:47 +01:00
Matthew Nesbit
8c77ae7c84
Add comment to explain why AbstractNode is marked as SingletonSerializeAsToken
2016-07-28 16:54:40 +01:00
Matthew Nesbit
a462bb1d6a
Incorporate comments from PR
2016-07-28 16:30:53 +01:00
Matthew Nesbit
601b2faf5f
Incorporate comments from PR
2016-07-28 16:22:35 +01:00
Matthew Nesbit
c57f265cce
Fixup plugins to include static content property after rebase inclusive of that work
2016-07-28 13:55:06 +01:00
Matthew Nesbit
10f68b22f9
Minor fix after rebase
2016-07-28 13:39:16 +01:00
Matthew Nesbit
235497e0f4
Convert long lived services supporting protocol listeners to plugins
2016-07-28 13:39:12 +01:00
Matthew Nesbit
09c795e341
Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-261-artemis-over-ssl
2016-07-28 13:28:31 +01:00