Mike Hearn
afbc8f9b5c
De-issuerify the cash payment flow. This makes it easier to use the payment flow from the shell.
2017-03-20 15:14:28 +01:00
Andras Slemmer
4f6b44ceff
Merge pull request #379 from corda/aslemmer-node-api
...
Add :node-api, factor out some artemis code
2017-03-20 13:31:21 +00:00
Chris Rankin
64fe92ce34
Upgrade to H2 1.4.194. ( #389 )
...
- Timezone related fixes.
- A Turkish case canonicalisation bug.
- Fixes for some scary threading related bugs.
2017-03-20 10:27:45 +00:00
Andras Slemmer
d3f956ab60
Address PR 379 comments
2017-03-17 15:09:04 +00:00
Rick Parker
1de1f9095f
Several tests were corrupting Kryo which was then returned to the common pool. ( #378 )
...
* We were leaving trailing attachmentStorage on pooled kryo instances after some tests. Changed attachment storage logic to make it impossible to leave it behind.
* Some low level tests corrupt the Kryo config, so do not return to pool when this is the case. Also, we discovered that Kryo is caching class name to class resolution. We don't want to do this where attachments are involved. The errors raised highlighted a class missing from the whitelist. Need to write a unit test to test the class loader issue.
* Unit test for attachment class loading with kryo.
2017-03-17 12:43:11 +00:00
Andras Slemmer
c3c1f3d801
Add :node-api, factor out some artemis code
2017-03-17 11:47:05 +00:00
Ross Nicoll
486368d926
Clean up messaging/RPC port configuration and docs ( #296 )
...
* Non-ssl artemis acceptor for RPC connection. (#271 )
* New non-ssl acceptor in artemis server for RPC connection.
* Rename artemisAddress with messagingAddress
Rename artemisAddress with messagingAddress so that the node configuration file properties match
the code variable names.
Rename artemisPort to messagingPort in Gradle configuration to match node configuration naming.
* Add rpcPort configuration option for Gradle
* Update docs to reflect changes to RPC port configuration
* Renumber ports in example CorDapp to match numbering used elsewhere
* Restructure upgrade guide
* added config file checks on corda startup to make the upgrade path a bit smoother.
2017-03-17 10:32:14 +00:00
Mike Hearn
eb21458885
Some fixes to emoji/ANSI renderer
2017-03-17 10:54:25 +01:00
Shams Asari
f079c05e6a
Merge pull request #361 from corda/shams-nms-reg-error-response
...
Clean up of network map service and its tests, and added error msg t…
2017-03-16 17:03:42 +00:00
Konstantinos Chalkias
5966610a6e
DEFAULT_MAX_BUCKETS based on max heap size
...
MAX_DEFAULT_BUCKETS is linearly correlated to max heap size with a minimum of 256 buckets.
2017-03-16 16:40:34 +00:00
Shams Asari
5e3e7f6c1c
Clean up of network map service and its tests, and added error msg to registration response
2017-03-16 16:37:21 +00:00
josecoll
391270ed71
RequeryConfiguration setting for table creation is now CREATE_NOT_EXISTS (was DROP_CREATE) ( #374 )
2017-03-16 16:23:37 +00:00
Rick Parker
f3a5f8e659
Pool Kryo instances for efficiency. ( #352 )
...
Pooled Kryo
2017-03-16 08:24:06 +00:00
Shams Asari
f581844f3f
Flow registration takes in a Class object rather than a KClass
2017-03-15 16:32:13 +00:00
Andras Slemmer
6a6698b598
Merge pull request #339 from corda/aslemmer-fix-rpc-close-deliver-deadlock
...
rpc: Fix deadlock caused by deliver() and close()
2017-03-15 16:20:11 +00:00
Konstantinos Chalkias
195d69d0dc
Print to screen and log basic info ( #356 )
...
Adding an extra logger to printBasicNodeInfo in both console and log file, respectively. Also, node's legal name is now printed to console as well.
2017-03-15 16:18:24 +00:00
Clinton
3b027345b0
Merge pull request #362 from corda/clint-webcapsulefix
...
Webserver capsule now contains the correct caplet
2017-03-14 16:39:16 +00:00
Clinton Alexander
e0773ff737
Webserver capsule now contains the correct caplet which was missing due to an incorrect path.
2017-03-14 16:02:33 +00:00
josecoll
18e4620928
ArrayDeque FlowLogic references were not being removed on flow termination. ( #353 )
2017-03-14 15:25:34 +00:00
Clinton
81dcec579e
Merge pull request #346 from corda/rnicoll-capsule-web-server
...
Add webserver Capsule configuration
2017-03-14 15:22:41 +00:00
Andras Slemmer
389685a31e
PR 339 Address comments
2017-03-14 15:17:15 +00:00
Andras Slemmer
60520412c8
rpc: Fix deadlock caused by deliver() and close()
2017-03-14 15:17:15 +00:00
Clinton Alexander
20282b5d53
Renamed webserver capsule to webcapsule module to avoid clashes with the node capsule
2017-03-14 12:00:36 +00:00
Shams Asari
bbbc4d9eaa
Fix in reading non-present manifest values in single tests
2017-03-13 18:37:16 +00:00
Chris Rankin
ba4cce36ab
Use SLF4J's version of the commons-logging bindings. Only include SLF4J's Log4J back-end for actual applications, e.g. Node. ( #350 )
2017-03-13 15:57:17 +00:00
Ross Nicoll
3e83093987
Add webserver Capsule configuration
...
Add Capsule configuration for the webserver JAR, so that the classes-only `webserver.jar` is published as well
as the full fat `corda-webserver.jar`. This is required for running the tutorial/template from IntelliJ.
2017-03-13 15:01:11 +00:00
Konstantinos Chalkias
afd5521b00
Lazy NodeVaultService.states ( #349 )
...
Convert NodeVaultService states to return Iterable (backed by Sequence) Vs the old way using a List. Worth noting this relieves memory pressure as the number of vault states grows.
* remove toList in ContractUpgradeFlowTest
2017-03-13 14:06:47 +00:00
Mike Hearn
21f5f6d9d0
ANSIProgressRenderer: allow progressTracker to be set to null
2017-03-10 17:26:18 +01:00
Mike Hearn
5e19bad4b5
Minor: don't use a separate thread to start Metrics-to-JMX export.
...
This should hopefully resolve a shutdown hang due to the misnamed "WebServer" thread not being a daemon thread.
2017-03-10 17:23:43 +01:00
Chris Rankin
42f2536dec
Ensure Node uses only a single version of Netty. ( #343 )
...
* Ensure Node uses only a single version of Netty.
* Use string version of Gradle dependency.
2017-03-10 15:57:31 +00:00
Shams Asari
1adc9e65ec
Logging the PID and version info
2017-03-10 10:29:41 +00:00
Shams Asari
e9d63b2662
Added bits of versioning info to the node
2017-03-09 16:36:21 +00:00
Konstantinos Chalkias
4a9ff84fc7
Allowing multiple signature algorithms ( #250 )
...
Basic crypto API to support 5 signature schemes and MetaData-ed signatures.
Supported schemes: (1) RSA_SHA256, (2) ECDSA_SECP256K1_SHA256, (3) ECDSA_SECP256R1_SHA256, (4) EDDSA_ED25519_SHA512, (5) SPHINCS-256_SHA512.
To sign a transaction, a signer should create a MetaData wrapper that contains transaction's merkle root and some extra information, such as signer's public key, timestamp and visibleInputs. Actually, MetaData is utilised to support a practical partial, blind and extra-data attached signature model.
When a MetaData object is signed, the signer sends a TransactionSignature object that contains the signed output and the corresponding MetaData object.
Remarks:
This is an temporary solution for signature algorithmic agility. Further development is required for a robust and extensible Crypto Manager/Provider PKI that will support certificate creation, key generation, signing/verifying, deterministic key derivation, encoding formats, SGX/HSM support, identity and key management, versioning, revocation, asynchronicity, metadata, partial sig. policies etc.
2017-03-08 17:45:23 +00:00
Rick Parker
dc8c6747d3
Allow escaped unsubscribed RPC Observables to be GC'd ( #334 )
...
* QueuedObservable could not leak due to hard references. Have made it weak referenced but also had to reference count a hard reference to prevent early GC. Explained in comments.
* Improved comments.
* Fixed typo
* Fixed another typo
2017-03-08 14:09:38 +00:00
Mike Hearn
ca70ca051c
Merge branch 'mike-json-support-module'
2017-03-08 15:06:50 +01:00
Mike Hearn
35836d9926
Add a registeredFlows() RPC that lists the RPCs the node knows about.
2017-03-08 15:01:13 +01:00
Mike Hearn
c626f8b306
Make the corda.jar executable on UNIX. When run in this way, it eliminates the overhead of a second JVM.
2017-03-08 14:56:47 +01:00
Katarzyna Streich
561ac60b95
Correctly publish corda-webserver.jar to maven local repository.
2017-03-08 13:54:14 +00:00
Mike Hearn
2628a10c51
Refactor the JSON support out into a separate module, :corda:jackson, as Jackson/JSON configuration is generally useful outside the context of web servers.
2017-03-08 12:31:22 +01:00
Ross Nicoll
cb91842f18
Remove need for full party to deserialize anonymous parties
2017-03-08 10:10:49 +00:00
Andrius Dagys
97b3c35ec2
Add public IP detection (from network interfaces), node outputs a warning if no public IP detected or specified in the config.
2017-03-07 17:41:23 +00:00
Chris Rankin
0e3540d174
CORDA-265: Implement "ALL" permission for RPC users. ( #306 )
...
* CORDA-265: Implement "ALL" permission for RPC users. Users with this permission in node.conf can use any flow.
* CORDA-265: Ensure that we always close the RPC proxy object after each test.
* CORDA-265: Refactor construction of dummy RPC client into an abstract base class.
* CORDA-265: Document RPC "ALL" permission.
2017-03-07 16:57:34 +00:00
Karel Hajek
1e78d6a3a7
Simple Attachment Storage implementation using Requery/H2 database
2017-03-07 16:12:38 +01:00
Andrius Dagys
907a893ca1
BFT notary prototype: add validation and signature collection ( #279 )
...
* BFT notary prototype: add a non-validating service.
Each replica now validates the transaction timestamp and returns an individual signature to the BFT client. The client then returns a list of signatures back to the notary service flow.
The validating variant is still incomplete - it requires the ability to suspend flows on arbitrary function calls.
2017-03-07 12:39:19 +00:00
Chris Rankin
0a5080a4e4
Exclude old version of Javassist in favour of Hibernate's version from Node. ( #320 )
...
* Exclude old version of Javassist in favour of Hibernate's version.
* Comment why we are excluding javassist:javassist, and add TODO for when junit-quickcheck 0.8 is released.
2017-03-07 11:43:06 +00:00
Ross Nicoll
b5ba070301
Revert "Non-ssl artemis acceptor for RPC connection. ( #271 )"
...
This reverts commit f0d82e4918
.
2017-03-06 14:03:23 +00:00
Shams Asari
059056de65
Removed "FLOW" from network map topic constants
2017-03-02 10:11:38 +00:00
Mike Hearn
cc61be5b6a
Inform users about the newly available Corda training programs at startup and in the docsite.
2017-02-28 16:50:43 +01:00
Andrius Dagys
6b4950290e
Ignore BFT map test for now
...
I've removed this test in my further BFT work
2017-02-28 09:34:49 +00:00
Rick Parker
c4c4c51d7d
Kryo serialisation whitelisting and misc enhancements. ( #267 )
...
Kryo serialisation whitelisting and misc enhancements
2017-02-28 08:12:18 +00:00
Clinton Alexander
f786ff9312
Correct CRLF for BAT files and fixed templating of JAR names.
2017-02-27 16:42:28 +00:00
Clinton Alexander
75ff04d5a7
Webserver is now deployed as a capsule.
2017-02-27 16:42:23 +00:00
Clinton Alexander
8414c97a61
Moved JsonSupport to new webserver module. Fixed a few compile errors.
...
Fixed compile issues caused by webserver being split to a separate project.
WebServer now starts and stops correctly as a separate module.
2017-02-27 16:41:48 +00:00
Clinton Alexander
bc9f86905c
Added webserver module. Moved webserver files to the webserver module.
2017-02-27 16:15:27 +00:00
Patrick Kuo
f0d82e4918
Non-ssl artemis acceptor for RPC connection. ( #271 )
...
* New non-ssl acceptor in artemis server for RPC connection.
2017-02-24 15:36:36 +00:00
Chris Rankin
d5872f4e5b
Merge pull request #272 from corda/get-cash-balances
...
Implement RPCOp getCashBalances().
2017-02-23 16:33:35 +00:00
Qian Hong
5e3c874ebf
Minor: Fix typo in ValidatingNotaryService comment.
2017-02-23 12:08:44 +01:00
Andrius Dagys
2b3200207a
Node refactoring: move building advertised services before SMM initialisation - the node doesn't need to maintain a reference to a uniqueness provider anymore.
...
Extract parts of start() into separate methods.
2017-02-23 10:45:38 +00:00
Chris Rankin
221278197a
Implement RPCOp getCashBalances().
2017-02-22 13:57:15 +00:00
Mike Hearn
b8942a2cc9
Remove the SignedTransaction.id field, which took part in serialisation. Calculate it on demand instead.
2017-02-22 14:16:04 +01:00
Andrius Dagys
006faa82a1
Make notary flow return a collection of signatures to support the BFT… ( #264 )
...
Make notary flow return a collection of signatures to support the BFT notary. For a single-node or RAFT notary it would just contain a single signature.
2017-02-22 11:11:35 +00:00
Shams Asari
7181b697a3
extraAdvertisedServiceIds config is now a list of strings, rather than a comma separated string
2017-02-21 15:21:37 +00:00
Andrius Dagys
33717259bd
BFT tests: no need to stop threads explicitly
2017-02-21 15:00:05 +00:00
Andrius Dagys
24ae89db18
BFT server: add missing databaseTransaction statement
2017-02-20 15:34:14 +00:00
Patrick Kuo
9a0a9567f3
Make Network registration process more verbose ( #251 )
...
* Make the network registration process more verbose
* removed gradle task for building standalone jar for the certificate signing request utility
* Added a flag "--initial-registration" to the corda jar to start the registration
2017-02-20 13:22:37 +00:00
Thomas Schroeter
99721bf8f1
Implement bft-smart notary prototype
2017-02-20 12:08:22 +00:00
Ross Nicoll
3b8d696379
Add missing @Suspendable
...
Add missing @Suspendable to CashIssueFlow, as well as adding sanity
check to result of starting CashIssueFlow from
IntegrationTestingTutorial.
2017-02-20 10:41:31 +00:00
Clinton Alexander
539943d790
Added an openAttachment endpoint to the RPC interface and tests for the open, upload and exists attachment RPC interfaces.
2017-02-16 16:57:45 +00:00
Shams Asari
f13817efb3
ProgressTracker emits exception thrown by the flow, allowing the ANSI renderer to correctly stop and print the error ( #189 )
2017-02-16 12:11:38 +00:00
Ross Nicoll
ed093cdb9d
Enforce separation of Party and AnonymousParty
2017-02-16 11:50:33 +00:00
josecoll
fa33336d38
Initial implementation of Vault Persistence using Requery ( #191 )
...
* Initial prototyping with Requery as a persistence replacement for Exposed/Hibernate
Applied changes following PR review by RP
Updated timestamp naming (removed committedTimestamp) and StateStatus (removed AWAITING_CONSENSUS) after discussion with RP.
Removed FungibleState and LinearState schemas (and associated tests) - awaiting Requery uni-directional relationship fix.
Added Transaction propagation such that requery re-uses any existing transaction context.
Made requery default logging configurable (disabled by default)
Nullable fields are now truly nullable (in the Kotlin and DDL sense)
Fix for SimmValuation integration test.
Workarounds applied to resolve Requery issues when sharing Transactional context.
Addressed PR review comments from MH.
Further updates following re-review by RP/MH
Further updates following additional PR review comments by RP
Minor update following additional PR review comments by RP
Optimised makeUpdate state processing code.
Resolved conflicts after rebase.
Additional Unit tests and bug fix for correct spending of multiple contract state types within a single transaction.
Required interface change to states() API to take a setOf (ContractStateClassTypes)
Minor code clean-up.
Re-write NodeVaultService consumed state makeUpdate function using SQL.
* Resolve conflict after rebase from master
2017-02-16 11:02:36 +00:00
Ross Nicoll
71babc7019
Remove use of full parties from contract states
2017-02-15 11:43:13 +00:00
Shams Asari
40dde555e7
Added --logging-level cmd line arg to set the logging level, and improved flow logging
2017-02-14 09:56:50 +00:00
Clinton Alexander
3726430e5b
Removed unused imports in webserver.kt
2017-02-13 16:52:05 +00:00
Clinton Alexander
ae961a4d99
Fixed the race condition in web server startup with the keystore creation.
2017-02-13 16:42:46 +00:00
Patrick Kuo
28e83d1e66
Example code for contract upgrade using RPC. ( #237 )
...
* Added missing out modifier to UpgradedContract class
* Added ContractUpgradeFlow.Instigator to whitelist in AbstractNode
* Added test for contract upgrade using RPC
2017-02-13 15:39:48 +00:00
Andrius Dagys
a19dd55257
Pass a FilteredTransaction instead of a Signed transaction to a non-validating notary flow to preserve privacy.
...
This also means that the non-validating notary can service requests on the network without loading any custom plugins.
2017-02-13 14:54:46 +00:00
Ross Nicoll
98c30f6432
Remove CashFlow
...
Remove the CashFlow flow, replacing it with CashFlowCommand which can be used for the use-cases
with instructions passed around as an object.
2017-02-09 18:22:58 +00:00
Patrick Kuo
c054ffe719
Add support for contract upgrades ( #165 )
...
* Add support for contract upgrades
* Add interface for the upgraded contract to implement, which provides functionality for upgrading legacy states.
* Add shared upgrade command and verification code for it.
* Add DummyContractV2 to illustrate what an upgraded contract looks like.
* Add new functions to vault service to support upgrading state objects.
* Add contract upgrade flow
2017-02-09 17:14:31 +00:00
Clinton
a61c767505
Merge pull request #232 from corda/clint-cddl
...
Capsule fat JAR now contains a CDDL notice.
2017-02-09 16:35:01 +00:00
David Lee
21c6c499fa
Updated the notice
...
... to the last version reviewed & approved by legal counsel
2017-02-09 16:07:17 +00:00
Clinton Alexander
1b3bc2ec7d
Capsule fat JAR now contains a CDDL notice.
2017-02-09 15:57:31 +00:00
Shams Asari
50e1eb7b21
End flow if waiting for ledger commit and committer flow errors
2017-02-09 15:57:13 +00:00
Ross Nicoll
9055c9d9b0
Split CashFlow into three flows
...
Split CashFlow into independent CashIssueFlow, CashExitFlow and CashPaymentFlow,
so that users can be given access to one but not the other(s).
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-09 15:43:48 +00:00
Ross Nicoll
47d260625a
Add AnonymousParty superclass of Party
...
Add AnonymousParty superclass of Party in preparation for anonymising parties stored in
contract states.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-09 11:37:32 +00:00
Andrius Dagys
bbcaf5d98c
Demo bug fixes ( #217 )
...
* Add webAddress back to NMS as it shifts the port allocation for all subsequent nodes and causes all demos to break.
* Attachment demo: fix node names
* Notary demo: fix certificate paths & ports
* IRS demo: role decider fixed to allocate roles properly. Previously it used to pick current node as the Fixer, causing both nodes to initiate the trade flow, resulting in double spend exceptions..
2017-02-07 17:18:21 +00:00
Clinton
dcd8fe915f
Merge pull request #218 from corda/clint-webserverlogcleanup
...
Cleaned up logging in the webdriver...
2017-02-07 16:00:16 +00:00
Shams Asari
657cfa5d96
FlowException can be thrown from within UntrustworthyData.unwrap for better Java interop, and more checked exception annotations relating to flows
2017-02-06 16:00:52 +00:00
Ross Nicoll
9910ce01a3
Switch to using CompositeKey inside network map cache
...
Switch to using CompositeKey inside network map cache, so that look up of node info from keys
can be done in a more sensible manner.
2017-02-06 14:09:31 +00:00
Mike Hearn
2f378f0e15
Minor: suppress deprecation warning in CordaRPCOpsImpl
2017-02-06 12:29:34 +01:00
Mike Hearn
cc20a10225
Improve the flow commit API.
...
Make FinalityFlow do more, and be used more consistently.
Add a new waitForLedgerCommit API that is intended to be used at the end of flows, or at any other point where a flow wants to wait for a transaction to finalise (but the finalisation flow is being done by someone else).
Update the docs a bit.
2017-02-06 12:29:34 +01:00
Clinton Alexander
0ae681de76
Cleaned up logging in the webdriver to remove log that fails to display correctly on Windows.
2017-02-03 14:00:49 +00:00
Shams Asari
b86c80691e
FlowException serialised over RPC (subtypes are flattened), and improvement to startFlow RPC for correct exception handling
2017-02-03 11:21:10 +00:00
Andrius Dagys
56dbf1e844
Prevent node from starting across upgrades (until we support it better) ( #199 )
...
* Prevent node from starting across upgrades (until we support it better).
On first run a version file is created in the node dir, and on subsequent runs the node version is matched against it.
* Move version check from caplet to node.
2017-02-02 18:21:00 +00:00
Ross Nicoll
bc9407d2c8
Correct network map cache tests
...
InMemoryNetworkMapCacheTest was not actually asserting that an expected exception was thrown, which
meant when earlier changes to the service changed the operation it wasn't caught. The service now
overwrites previous node if a new matching node is added, and this updates the test to follow that
design.
2017-02-02 16:01:10 +00:00
Ross Nicoll
2f9af7d7dc
Revert Party.Full in preference for a less invasive change
2017-02-02 13:47:32 +00:00
Andras Slemmer
4afd404db4
Address PR 207 comments
2017-02-02 11:44:18 +00:00
Andras Slemmer
de63f90745
Add isRegisteredWithNetworkMap RPC, poll in Driver, expose RPC proxy
2017-02-02 10:54:50 +00:00
Shams Asari
3f6c8ab1e2
Allow received FlowException to propagate further to initiating flow
2017-02-01 17:30:38 +00:00
Ross Nicoll
1b86ddfd6e
Replace Party with Party.Full
...
Replace Party with Party.Full as an interim step to introducing the Party.Anonymised class.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-01 15:18:12 +00:00
Clinton
d376a902ad
Merge pull request #180 from corda/clint-webserversplit
...
Split webserver from node
2017-02-01 12:13:31 +00:00
Patrick Kuo
7f96b752d1
Added reconnect capability to RPC ( #192 )
...
* Added reconnect capability to RPC
* Issue - https://github.com/corda/corda/issues/184
* JIRA - https://r3-cev.atlassian.net/browse/CORDA-189
2017-01-31 17:04:05 +00:00
Clinton Alexander
876bae67cb
Added TODOs for future splitting of the web server from the node.
2017-01-31 16:03:34 +00:00
Shams Asari
646ce8afe0
FlowException thrown by a flow is propagated to all counterparties
2017-01-31 13:30:33 +00:00
Patrick Kuo
e8015e689a
Flows shouldn't have to suspend if just doing a send ( #187 )
...
* CORDA-45 Flows shouldn't have to suspend if just doing a send
2017-01-30 16:21:43 +00:00
Ross Nicoll
e383752995
Adapt Party comparison to use owningKey
...
Change Party instances to be uniquely identified by the owning key, without taking into account name.
This requires that mock node key generation is reworked so that keys for services and the node itself
are distinct, otherwise the network map service cannot differentiate them.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-30 15:46:51 +00:00
Richard Green
e54d6388fd
Adding optional delay to AMQ message sending via system properties ( #185 )
2017-01-30 14:39:40 +00:00
Clinton Alexander
a5f6fb9479
Querying of node and webserver now uses infinite retries to avoid any race conditions.
2017-01-30 12:08:41 +00:00
Clinton Alexander
d2ebcbfab0
Fixed whitespace and formatting with IntelliJ autoformat tool.
2017-01-30 12:05:22 +00:00
Clinton Alexander
65b29a8379
Moved the transaction context into the RPC call site.
2017-01-30 11:21:01 +00:00
Clinton Alexander
3482452c8b
Added webserver to runnodes.
2017-01-27 14:15:08 +00:00
Clinton Alexander
13551a6b23
Runnodes now works with the new separate webserver.
2017-01-27 14:14:38 +00:00
Clinton Alexander
537ffae113
Moved file uploading to RPC interface.
2017-01-27 14:13:58 +00:00
Clinton Alexander
d4b6e32682
t # This is a combination of 5 commits.
...
Driver now queries webserver to ensure it has started.
2017-01-27 14:13:29 +00:00
Clinton Alexander
5f4d4c1da3
Moved the webserver code into the main node module. Driver can now start webserver for nodes.
2017-01-27 14:12:54 +00:00
Clinton Alexander
ecfb762143
Nodes can start without web server. Webserver now uses full node configuration.
2017-01-27 14:12:19 +00:00
Clinton Alexander
fa257738e1
Added webserver project.
2017-01-27 14:10:18 +00:00
Ross Nicoll
1362a305c9
Expand details provided when erroring due to missing signatures in notary flow
...
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-25 16:15:40 +00:00
Ross Nicoll
a4254ac695
Remove TransferRecipient
...
Remove TransferRecipient from StateMachineManagerTests to get rid one of the approximately 6 different ways
in which we refer to endpoints, as part of work to simplify this data model.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-25 15:32:03 +00:00
Ross Nicoll
1229c429a4
Rename file to correct reference to protocol -> flow
2017-01-25 13:21:42 +00:00
Shams Asari
20fe0f32f2
Removed "Node" prefix from NodeSSLConfiguration and renamed two file properties to end in "File"
2017-01-23 15:46:36 +00:00
Shams Asari
052a660c1b
Making sure exceptions thrown while fibers are suspended are handled properly
2017-01-23 15:39:55 +00:00
Andrius Dagys
e9345e2999
Set h2 write delay to 100ms to improve performance
2017-01-20 12:03:00 +00:00
Patrick Kuo
aeb5a59605
Add logging to node startup when it attempt to connect to the map server ( #167 )
...
* Add logging to avoid node startup "hang" when it attempt to connects to the network map, also can use as a hint telling user Network map might be down or unreachable.
2017-01-20 11:34:32 +00:00
Shams Asari
c4e3b258c7
Introducing Observable.toFuture() extension method
2017-01-17 12:56:59 +00:00
Andrius Dagys
ca1b08ad37
Node memory leak fix ( #152 )
...
Perform Artemis message sending in a separate thread pool to avoid memory leaks
2017-01-13 18:29:56 +00:00
Thomas Schroeter
6b7edf5af6
Tx validation detect duplicate inputs ( #138 )
...
* Move duplicate input detection to transaction verification
Duplicate detection was previously part of the NotaryFlow.
2017-01-13 11:37:28 +00:00
Mike Hearn
ef6e9786a8
Cleanup: improve api docs on FlowLogic, make it clearer when stuff is considered internal, rename an obscurely named field.
2017-01-12 13:30:10 +01:00
Mike Hearn
d26c44d08c
Configure Capsule/Driver to give Corda a relatively poxy 200mb heap by default: we don't seem to need more for development purposes. Switch to G1GC by default as well.
2017-01-12 11:37:10 +01:00
Rick Parker
354977ffea
Fix intermittent failure in ScheduledFlowTests ( #140 )
...
Allow a single latch for all activity in the MockNetwork
2017-01-12 09:54:08 +00:00
Shams Asari
e589031d4b
Some clean up of the flow code
2017-01-11 16:33:59 +00:00
Shams Asari
7cd281364f
Removed basedir from the config file as it's always overwritten by the --base-directory cmd line arg
2017-01-10 10:49:28 +00:00
Shams Asari
334b91faf0
Testing that a node can communicate with a distributed service it's part of
2017-01-09 17:21:51 +00:00
Mike Hearn
78a6daa985
Minor: log RPC/peer logins
2017-01-06 16:39:01 +01:00
Mike Hearn
32523d376e
RPC: Improve the client class with a convenience function and some startup time logging.
...
This reveals that building the first RPC client is ludicrously slow (like 1.8 seconds) but subsequent builds are more like 30 msec. This might be interpreter overhead, or it might be due to Artemis/SSL doing lots of piggy lazy initialisation or something. But at any rate it may be worth investigating a bit later.
2017-01-06 16:39:01 +01:00
Mike Hearn
20dbdf9d1b
Make SSL optional in the RPC client
2017-01-06 16:39:01 +01:00
Andrius Dagys
15363e686a
Update RaftNotaryServiceTest to support idempotent notary behaviour
2017-01-06 14:39:34 +00:00
Shams Asari
59456cb6b1
Added a method to NodeHandle to simplify using RPC in the Driver
2017-01-06 14:14:32 +00:00
Andrius Dagys
0867a05ad7
Merge pull request #96 from thschroeter/idempotent-notary-flow
...
Make NotaryFlow idempotent
2017-01-06 13:53:27 +00:00
Rick Parker
592ac07af0
Upgrade reactivex.rxjava version to latest 1.x ( #111 )
...
Update rxjava version and fix thread safety of database transaction boundary subject.
2017-01-06 10:26:44 +00:00
Andrius Dagys
b9d5081af6
Update notary change flow to support encumbrances ( #101 )
...
* Update notary change flow to support encumbrances.
Move encumbrance pointer from ContractState to TransactionState.
* Refactor & add new encumbrance tests
2017-01-05 17:44:31 +00:00
Shams Asari
08e391579c
Node verifies the peer it connects to by checking its TLS common name
2017-01-05 14:22:11 +00:00
Mike Hearn
875efbfa11
Merge pull request #106 from corda/mike-thread-affinity-for-smm
...
Additional thread affinity for the StateMachineManager.
2017-01-05 11:03:35 +01:00
Thomas Schroeter
bbc9c763e3
Detect duplicate inputs in NotaryFlow
...
Throw NotaryException when duplicate inputs are detected.
2017-01-05 08:09:49 +00:00
Clinton
d9663f1698
Merge pull request #72 from corda/clint-simmdemointegrationtest
...
Add SIMM valuation demo integration test
2017-01-04 15:32:44 +00:00
Mike Hearn
1a53834a60
Additional thread affinity for the StateMachineManager.
...
Check that the SMM.add method is being called on the SMM thread and throw if not. Make ServiceHubInternal.startFlow() do a blocking call onto the server thread. Update unit tests.
This resolves an issue whereby the scheduler was starting flows outside of the server thread, which isn't intended.
2017-01-04 16:06:33 +01:00
Mike Hearn
119d00c384
Upgrade dependencies and centralise some more version numbers in the root gradle file
2017-01-04 15:44:56 +01:00
Shams Asari
e34f33785f
Prevent the node from starting if running on a version of Java with the empty Path bug ( #83 )
2017-01-03 10:42:18 +00:00
Thomas Schroeter
159ca9884f
Make NotaryFlow idempotent
...
Alternatively, we could make the underlying UniquenessProviders
idempotent.
2016-12-31 09:26:18 +00:00
josecoll
021bcb0628
Merge pull request #92 from corda/colljos-fix-issue88
...
Fixed issue caused by race condition in process registration v node e…
2016-12-23 15:20:16 +00:00
josecoll
b4a5a03992
Fixed issue caused by race condition in process registration v node exit.
...
See https://github.com/corda/corda/issues/88
2016-12-23 15:09:13 +00:00
Andrius Dagys
2e29673392
Distributed notary: manually initialize the serializer for copycat server & client. This fixes the issue where one of the nodes is unable to connect to the cluster.
2016-12-23 12:52:04 +00:00
josecoll
eac2cb1cc6
Bank of Corda integration with Trader Demo and Explorer
...
Initial conversion of Explorer to use IssuerFlow (from BankOfCorda)
Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda)
Updated TraderDemo to use IssuerFlow (from BankOfCorda)
Fixed TraderDemo integration text (added new BankOfCorda node)
Updated Explorer with changes IssuerRequest params
Explorer now correctly displaying transaction id upon Issue.
Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer)
Refactored BankOfCorda demo to use Finance package and TestUtil constants
Updated TraderDemo to use IssuerFlow
Updated Explorer to use finance package IssuerFlow.
Advertised BankOfCorda as Issuer for usage by Explorer.
Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module
Added IssuerFlow to AbstractNode whitelist.
Explicit declarations of IssuerFlow no longer required.
Added plugin registration of IssuerFlow at bootstrap.
Revert whitelisting of IssuerFlow (plugin configured)
Refactored to use constant BOC definition.
Added gradle RPC security config.
Updated documentation
Fixed incorrect references.
Renamed Issuer banks.
Added new permission set (for Issuer nodes)
Added node nearestCity info
Added new Issuer Event Generator for Issuer nodes only
Associated currency with issuer using ServiceType naming structure.
Added argument flag (-S) to trigger event generator simulation node.
Fixed problem with issuers not resolving from network map.
Updated perms on Issuer rpc proxy nodes.
Fixed minor in cash generateExit identified by Explorer.
Changes applied in prep for AWG demo.
Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation)
Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode).
Fix following rebase.
Addressed review items from PR.
Updated TraderDemo readme.
Updated TraderDemo gradle file to launch Bank of Corda node.
Updated JRE properties.
Updated IssuerModel to incorporate correct JFX Observable handling.
Fixed bug with Exit command not displaying any currency.
Added TODO's for revisiting correct Exception handling strategy.
Optimization for when issuing cash to self.
Minor updates following PR review.
Remove old refs to Royal Mint and Federal Reserve
2016-12-22 15:55:50 +00:00
Shams Asari
924fb479e4
Cleaned up DistributedNotaryTests, including addressing overlap with RaftValidatingNotaryServiceTests
2016-12-22 12:49:33 +00:00
Mike Hearn
edc648ae95
Wish our users a merry Christmas and a happy new year.
2016-12-22 11:37:27 +01:00
Rick Parker
bd979534f3
Add database transactions back onto observations. ( #77 )
...
Add database transactions back onto Observables now that they are post database commit.
2016-12-22 10:03:22 +00:00
Andras Slemmer
7d9caa984b
node: Driver network map starts parallel with other nodes, uses executor service, pre-create most artemis queues
2016-12-20 14:49:55 +00:00
Shams Asari
81d1459599
Fixed bug where messages can't be sent to services running on the network map node ( #71 )
2016-12-20 12:03:21 +00:00
Clinton Alexander
3c2610613f
Integration test uses better naming sceme. Json support module cleaned up to use Kotlin features.
2016-12-19 16:26:54 +00:00
Andrius Dagys
6f3ed327a0
Vault: return a list of unconsumed states rather than a sequence. The lazy evaluation captures some extra context, serialization of which in flows results in errors.
2016-12-16 15:48:48 +00:00
Clinton Alexander
fa1e7cfa15
Corda JSON module now created in a separate function to the default mapper.
2016-12-16 14:51:12 +00:00
Clinton Alexander
234ffb141c
Fixed issues with incorrect serialisation in test utilities.
2016-12-16 12:11:26 +00:00
Mike Hearn
f44dd969ce
Fix ANSI logging on Windows
2016-12-15 21:00:45 +01:00
Joel Dudley
334ed4806b
Adds overload anotations and reorganizes param orders to improve java interop.
2016-12-15 18:27:41 +00:00
Andrius Dagys
7cb4cbcad4
Made vault updates contain full StateAndRef in the consumed set (instead of just StateRef). This allows subscribers to check whether the update contains relevant states.
...
Cash balances are now calculated by keeping only the aggregate values (it no longer needs to iterate through all states in the vault).
2016-12-15 16:27:39 +00:00
Andrius Dagys
673b0393b4
Increase JDBCHashMap default bucket size. With the current implementa… ( #58 )
...
Increase JDBCHashMap default bucket size. With the current implementation of the Vault, once the number of stored transactions (or UTXO) goes over the max bucket size we end up reloading each transaction from the db and deserializing it, which causes severe performance degradation.
2016-12-15 15:45:51 +00:00
exfalso
53bbb57345
Add ReceivedSessionMessage, DriverBasedTest re #57
2016-12-15 11:37:15 +00:00
Andras Slemmer
a3138ab0dc
Address PR comments
2016-12-15 11:37:15 +00:00
Andras Slemmer
4f44962962
Add kdocs on service addressing
2016-12-15 11:36:06 +00:00
Andras Slemmer
6a796cef35
Add raft notary integration tests, testing service addressing
2016-12-15 11:36:06 +00:00
Andras Slemmer
7ee88b6ec8
Add SMM test for round robin node picking
2016-12-15 11:36:06 +00:00
Andras Slemmer
fd436b0cdc
artemis, sessions, mock: Add Service addressing, tests pass
2016-12-15 11:36:06 +00:00
Shams Asari
7afa3346d6
Updated docs and TODOs to be inline with recent changes to the doorman
2016-12-13 17:03:15 +00:00
Andras Slemmer
09e11f8435
rpc-kryo: Kryo register hidden jar url inputstream class
2016-12-13 11:51:14 +00:00
Patrick Kuo
a4201c7152
This fixes the node startup issue - https://github.com/corda/corda/issues/37 ( #48 )
...
* Create missing artemis bridge when node is added to the network map
* Added integration test for this issue
* addressed PR issues
2016-12-12 13:29:31 +00:00
Clinton Alexander
d429385e72
Fix: Capsule did not contain caplet due to an incorrect path.
2016-12-09 17:58:00 +00:00
Shams Asari
9d98673c66
Added commonName extension method to X500Name and helper class for x509 cert factories
2016-12-09 17:13:00 +00:00
Clinton
b43d940297
Merge pull request #35 from corda/clint-M6publishing
...
Corda can be published to bintray and reduced publishing boilerplate in build.gradle.
2016-12-09 15:07:46 +00:00
Joel Dudley
ae349a8831
Adds todos that will improve java interop.
2016-12-09 14:30:52 +00:00
rick.parker
b52c52378f
Move Future completion outside database transaction so that the effects of the flow will be externally visible at Future completion.
2016-12-09 09:21:59 +00:00
Clinton Alexander
2f61340945
Fixed review comments.
2016-12-08 16:58:22 +00:00
rick.parker
0378b8d785
Buffer observations until database commit.
2016-12-08 16:32:45 +00:00
Mike Hearn
5f603a94f0
Minor: add a TODO
2016-12-08 14:06:32 +00:00
Andrius Dagys
b57aec1962
Minor: make distributed notary test use a different folder on every run
2016-12-08 12:15:48 +00:00
Andras Slemmer
4fe1d48e4a
demos: Fix demo RPC serialisation after rebase
2016-12-08 11:58:31 +00:00
Andras Slemmer
9117ec9860
Simplify InputStreamSerializer, make NODE_USER role explicit
2016-12-08 11:58:31 +00:00
Andras Slemmer
a601f0abf5
Local RPC, demos use RPC, NODE has special privileges
2016-12-08 11:58:31 +00:00
Matthew Nesbit
f63e6cd2a6
Add some hooks to StateMachineManager and NodeSchedulerService so that unit tests of flows with scheduled actions can safely test for completion of their test activities. Typically this is done using a while loop whilst there are active fibers, or schedules and then blocking on the ReusuableLatches until the status changes and can be re-evaluated.
...
Add unit tests of ScheduledFlow running on simulated network.
Just use existing DumyContract in test
DummyContract requires value equality so that assertEquals over states works as expected.
Remove blank line.
Add TODO on waitQuiescent.
Fix minor build error
2016-12-07 16:11:55 +00:00
Joel Dudley
03b5e9bced
Address review comments.
2016-12-07 14:15:20 +00:00
joeldudleyr3
432015ddfe
Adds JvmName annotations where necessary to improve interop when developing CorDapps in java.
2016-12-07 12:12:18 +00:00
Clinton Alexander
41b0b6c0b1
Re-added the capsule file. Fixed deploy with another publish option.
2016-12-06 16:06:16 +00:00
Clinton Alexander
a0d5426ced
Due to insurmountable issues with publishing the JARs when the project is called Corda it has been renamed back to capsule.
2016-12-06 16:06:16 +00:00
Clinton Alexander
1463cd2b37
Renamec capsule module to corda.
2016-12-06 16:06:16 +00:00
Clinton Alexander
b24c628e34
Publications now publish JARs again. Install task now publishes again.
2016-12-06 16:06:16 +00:00
Clinton Alexander
bf49dda731
Corda now publishes with updated publish utils.
2016-12-06 16:06:16 +00:00
Clinton Alexander
c8e14b0ac6
Added all artifacts required for the corda capsule to be published on maven central.
2016-12-06 16:06:16 +00:00
Clinton Alexander
810596927e
Added a new capsule build.gradle to allow multiple bintray uploads from one build.gradle.
2016-12-06 16:06:16 +00:00
Clinton Alexander
348092cfa6
Re-added corda capsule publication.
2016-12-06 16:06:16 +00:00
Clinton Alexander
dec9cfc5a4
Added client and node publishing.
2016-12-06 16:06:16 +00:00
Andras Slemmer
fd229df956
node: Add ClassSerializer, register default flow parameters for RPC
2016-12-06 13:55:18 +00:00
Matthew Nesbit
99219c6a5f
Allow cordapp types to be used in parameters to cordapp startFlowDynamic RPC calls.
...
Add missing registration.
2016-12-05 16:57:22 +00:00
Shams Asari
10360ae8cf
Converted MapChange into a sealed data structure so that only Modified has the previous node property
2016-12-05 10:04:31 +00:00
Shams Asari
4addb91f80
Added security to RPC and P2P systems.
2016-12-02 18:11:08 +00:00
Shams Asari
5432905b4a
Clean up NetworkMapCache and InMemoryNetworkMapCache
2016-12-02 14:45:54 +00:00
Andrius Dagys
ad5d6f5cd4
DistributedImmutableMapTest: enable copycat client connection retry to avoid race conditions
2016-12-01 13:21:25 +00:00
Matthew Nesbit
e54a304e2e
Depend upon an internal artifact, rather than a maven local published artifact when building the corda fatjar.
2016-11-30 16:16:51 +00:00
Mike Hearn
d500bf8f50
Address review comments.
2016-11-30 15:11:35 +00:00
Mike Hearn
7b40be8361
Run the IntelliJ reformatter across the Kotlin code. Did not reformat JS/web code.
2016-11-30 14:40:34 +00:00
Andrius Dagys
8e836bc279
Distributed notary: configure Raft client retry to avoid race conditions
2016-11-29 11:07:22 +00:00
Andrius Dagys
4c6625559f
Merged in andrius-dep-cleanup (pull request #569 )
2016-11-28 18:28:28 +00:00
Ross Nicoll
f5ecddb4b2
Add get() method to identity service
2016-11-28 18:01:03 +00:00
Andrius Dagys
ef598d926f
Include only required atomix dependencies.
2016-11-28 15:51:31 +00:00
Shams Asari
38876e3984
Introducing Future.getOrThrow() which throws the cause of the ExecutionException
2016-11-28 15:21:22 +00:00
Mike Hearn
7b2eb651be
Suppress or fix the few remaining compiler warnings
2016-11-28 14:04:30 +00:00
Jose Coll
bc3550e3e6
Merged in colljos-kryo-observable-registration (pull request #544 )
...
Kryo registration of Observable with explicit ID.
2016-11-28 13:31:51 +00:00
Shams Asari
56ada37259
Remove checked in node logs and git ignore node/logs
2016-11-28 10:49:44 +00:00
Andras Slemmer
811b0e6a8d
Merged in aslemmer-warn-on-double-tx-record (pull request #546 )
...
Check for duplicate transaction records
2016-11-28 10:34:34 +00:00
Andrius Dagys
946cfda03e
Added a distributed notary demo that runs a notary cluster and gets several transactions notarised
2016-11-25 17:09:57 +00:00
Andrius Dagys
758ab6d359
Extended Driver api to allow custom config overrides. Added helper methods for creating a distributed notary cluster.
2016-11-25 17:09:57 +00:00
Andras Slemmer
44d1b79ef9
docs: Address PR 513 comments
2016-11-25 15:33:04 +00:00
Mike Hearn
aa629f74ca
Change startup message of the day
2016-11-25 14:30:40 +01:00
Andras Slemmer
87bd97d0c7
Check for duplicate transaction records
2016-11-24 18:00:04 +00:00
Patrick Kuo
cd34f3ae16
Merged in pat-explorer-more-changes (pull request #505 )
...
Pat explorer more changes
2016-11-24 17:47:01 +00:00
Rick Parker
44e09f3366
Merged in parkri-remove-intermittent-error-at-start (pull request #542 )
...
Remove race condition and intermittent logged error at node start up regarding "Queue created for a peer that we don't know from the network map".
2016-11-24 16:30:14 +00:00
rick.parker
8ec21eedb3
quasarScan removal.
2016-11-24 16:27:51 +00:00
Patrick Kuo
fbf952a1ab
Explorer corda branding
2016-11-24 15:46:50 +00:00
Jose Coll
f6f896d072
Kryo registration of Observable with explicit ID.
2016-11-24 15:39:08 +00:00
rick.parker
b20baff54c
Remove race condition and intermittent logged error at node start up regarding "Queue created for a peer that we don't know from the network map".
2016-11-24 13:14:07 +00:00
rick.parker
7d387870d2
Fix annotation on JDBCHashMapTestSuite and class name typo.
2016-11-23 13:08:14 +00:00
rick.parker
f68529d1fd
Rename protocol to flow.
2016-11-22 17:17:14 +00:00
Mike Hearn
6aa5f0a4b5
Minor: better plugin name printing in the banner
2016-11-22 15:04:15 +01:00
Mike Hearn
a70136f775
Minor: fix startup time calculation, fix demos to print things to stdout instead of log.info
2016-11-22 12:41:05 +01:00
Andrius Dagys
93505d5e2e
Merged in andrius-rename-bits (pull request #508 )
2016-11-22 08:26:37 +00:00
Mike Hearn
235cee6727
Add a startup banner and suppress console logging unless --log-to-console is passed on the command line.
2016-11-21 16:08:36 +01:00
Andrius Dagys
64299591c3
Rename PublicKeyTree -> CompositeKey and unify terminology across documentation.
2016-11-21 14:47:19 +00:00
Andrius Dagys
635ee8df79
Rename bits -> bytes, as it normally indicates a byte array
2016-11-21 13:02:27 +00:00
Clinton Alexander
063dbec505
Merged in clint-bintray (pull request #496 )
...
Removed duplicate gradle plugins and added bintray publishing tasks
2016-11-21 11:20:13 +00:00
Andrius Dagys
9256056ebc
Moved distributed notary tests to integration-test. Stopped using full date as the test folder name.
2016-11-21 09:59:08 +00:00
Andrius Dagys
0d56846b1b
Added a distributed notary that uses the Raft consensus algorithm (implemented by Copycat).
...
The notary operates by storing committed input states in a map state machine which is replicated across the Copycat cluster.
2016-11-18 18:13:19 +00:00
rick.parker
6abb5750bf
RPC Kryo plugin functionality.
2016-11-18 17:38:05 +00:00
Clinton Alexander
bf70091172
Now depending on the plugins in jcenter and not buildsrc.
2016-11-18 14:41:06 +00:00
Rick Parker
81d6195a07
Merged in parkri-jdbchashmap-lru (pull request #482 )
...
LRU for JDBCHashMap loadOnInit=false, with tests.
2016-11-18 11:23:26 +00:00
rick.parker
5c1d81824e
LRU for JDBCHashMap loadOnInit=false, with tests.
2016-11-18 11:22:25 +00:00
rick.parker
cd98b559bf
Move jolokia access config to the config directories, alongside log4j2.xml file. Point samples at top level dev and test config.
2016-11-18 11:11:54 +00:00
Jose Coll
876b17bb12
Transaction notes now stored individually per row.
2016-11-17 17:57:07 +00:00
Rick Parker
0c9b03411a
Merged in parkri-pending-messages (pull request #481 )
...
Remove need for pending messages map/table and fix start up race between network map and protocols wanting to look up Party
2016-11-17 17:12:35 +00:00
rick.parker
996b2d13d5
Network map message filtering. Removal of pending messages. Needs cleaning up.
2016-11-17 17:11:10 +00:00
Mike Hearn
ae49c2bdb2
Java code in Node currently targets Java 6 due to the caplet, until we decide we need to separate it out. This file uses Java 7+ features so downgrade it, which fixes the build (for some reason I could not easily reproduce this failure)
2016-11-17 12:33:57 +01:00
Mike Hearn
a9fc6f5495
Target Java 6 for our Caplet, to ensure the corda.jar capsule-ified build can get as far as capsule's version checks if the users JVM is too old. Without this patch capsule tries to load the caplet and then dies because it targets a newer version of Java than what the user has, so the error message the user sees is useless (a bytecode version mismatch). With this patch the user sees a message like this:
...
"CAPSULE EXCEPTION: Could not find Java installation for requested version [Min. Java version: 1.8.0 JavaVersion: null Min. update version: {}] (JDK required: false). You can override the used Java version with the -Dcapsule.java.home flag. (for stack trace, run with -Dcapsule.log=verbose)"
which isn't awesome either but at least tells the user what to do.
2016-11-16 15:46:50 +01:00
Jose Coll
1427baf797
Transaction note retrieval now using indexed field on database table.
2016-11-16 14:07:16 +00:00
Jose Coll
5dfffb1b84
Re-applied changes following net.corda rebase.
2016-11-16 14:07:16 +00:00
Richard Green
d65ff747b3
Merged in clint-capletfix (pull request #466 )
...
Fixed classpath augmentation for plugins.
2016-11-16 10:39:27 +00:00
Shams Asari
012fa855a1
Moved RPCUserServiceImplTest into correct package
2016-11-15 17:36:35 +00:00
Andras Slemmer
07df9f17b3
loadtest: Add loadtest code
2016-11-15 17:21:26 +00:00
Andras Slemmer
dcd7a8a08a
Address PR 465 comments
2016-11-15 16:51:07 +00:00
Andras Slemmer
7f0dd1ab5b
Generic startProtocol and typesafe wrappers, per-protocol permissions, CashProtocol, remove executeCommand, move almost all Cash-related things to :finance
2016-11-15 16:46:37 +00:00
Andrius Dagys
9b8f00ef84
Stop using "legally-Identifiable" signatures for the notary protocol
2016-11-15 16:08:42 +00:00
Andrius Dagys
e261167343
Merged in andrius-servicename-gen (pull request #475 )
...
Allow specifying advertised service identity name in configuration, generate a name if none specified
2016-11-15 14:33:02 +00:00
Shams Asari
c326a9ae46
Moved the RPC user config out of the properties file and into the main config file
2016-11-15 12:52:08 +00:00
Andrius Dagys
73bc841b7c
Allow specifying advertised service identity name in configuration, generate a name if none specified
2016-11-15 11:12:24 +00:00
Andrius Dagys
d00163e29d
Stop using "legally-Identifiable" signatures for the notary protocol, as notary nodes will use their service identity to sign (and not the legal one). It also doesn't make sense to attach an identity on the signature if it's a group identity and the signer holds only 1 out of many keys.
2016-11-14 16:02:20 +00:00
Andrius Dagys
d855b10817
Nodes part of a group identity (e.g. notary) now advertise the whole group Party on the network. When sending a message to a group, a representative node advertising the group identity is first chosen (at random), and its legal identity is used for communication. Currently we assume that a single legal identity can't be advertised by more than one node (the PublicKeyTree of an identity is used for Artemis queue names and we need to do more work to properly map a single queue to multiple nodes)
2016-11-14 14:57:16 +00:00
Andrius Dagys
c33c55eb20
Replace PublicKey with PublicKeyTree in Party. A single entity can now be identified by more than one key.
2016-11-14 14:57:16 +00:00
Clinton Alexander
e3f685f674
Fixed classpath augmentation for plugins.
2016-11-10 18:07:11 +00:00
Mike Hearn
ce99f354cb
Rename com.r3corda -> net.corda
2016-11-10 17:14:24 +01:00
Rick Parker
af8859ebf1
Merged in parkri-protocol-error-handling-fix (pull request #447 )
...
Fix handling of node shutdown so protocols don't blow up when they encounter the messaging layer already shutdown. Protocols will also stop resuming once shutdown has commenced.
2016-11-08 18:15:35 +00:00
rick.parker
fe6bf0e6ea
Implement controlled stop of StateMachineManager.
2016-11-08 17:53:43 +00:00
Katarzyna Streich
103817ec57
Add signing of transaction merkle root hash.
2016-11-08 17:41:32 +00:00
Mike Hearn
686b53f768
Fix Cordapp docs which don't use the right gradle syntax. Minor tweaks in AbstractNode
2016-11-08 15:40:44 +01:00
Andras Slemmer
51e86e7cd3
node: Small cleanup
2016-11-08 11:20:10 +00:00
Matthew Nesbit
1c39780c22
Handle the timeout exception, which can happen if the scheduler overruns (e.g. during debugging, but also potentiallyu with slow callbacks).
2016-11-07 09:56:38 +00:00
Katarzyna Streich
71965b0792
Add serialization workaround for HashMaps inside states. Fix tests.
2016-11-04 17:21:11 +00:00
Shams Asari
bd89da458b
Added nice extension methods for Path, which are more readable than the static methods from Files
2016-11-04 15:36:14 +00:00
Clinton Alexander
8882b77b1b
Fixed quasar scanning.
2016-11-04 13:35:25 +00:00
Clinton Alexander
7e198e7cf3
Renamed contracts project to finance to better reflect the purpose of the project.
2016-11-04 13:35:25 +00:00
rick.parker
143e3a063f
Pending redelivery table name prefix added in line with other tables.
...
No longer delete all pending messages from the database and move into memory before putting back into the database again, which is vulnerable to failure. Now we delete individual pending messages on successful redelivery.
2016-11-04 10:22:14 +00:00
Patrick Kuo
7f8608c981
Changing UI layout
2016-11-03 11:39:24 +00:00
Shams Asari
6d39b71bf9
Simple RPC access control, with a demo control on the cash RPCs
2016-11-03 10:46:25 +00:00
Jose Coll
1d25d23b73
Merge from master
2016-11-02 14:20:51 +00:00
Jose Coll
012dc9ec10
Merge branch 'master' into colljos-vault-code-clean-up-refactor
2016-11-02 11:20:21 +00:00
Jose Coll
a38b363e9d
Fixed subtle bug in Cash Spending when processing for same Issuer with multiple refs.
2016-11-02 11:15:09 +00:00
Clinton Alexander
ad81ecf2f9
Merged in clint-todocleanup (pull request #432 )
...
Removed unused files, cleaned up build scripts.
2016-11-02 11:06:10 +00:00
Rick Parker
847257c250
Merged in parkri-speed-up-integration-tests (pull request #434 )
...
Speed up JDBCHashMapTestSuite by 3min on my laptop by avoiding Exposed table existence checks each time a map/table is created by re-using the map/sets across tests (after clear()-ing to reset their state).
2016-11-02 11:02:54 +00:00
rick.parker
b188bfda52
Speed up JDBCHashMapTestSuite by 3min on my laptop by avoiding Exposed table existence checks each time a map/table is created by re-using the map/sets across tests (after clear()-ing to reset their state).
2016-11-02 10:08:38 +00:00
Ross Nicoll
f26813c1ab
Merged in rnicoll-cache-key-collision (pull request #425 )
...
Error if multiple nodes match a key
2016-11-01 18:14:23 +00:00
Jose Coll
7e3c00c1ff
Merged in colljos-pluginservicehub (pull request #427 )
...
Added PluginServiceHub for use by Corda plugin service extensions.
2016-11-01 17:12:52 +00:00
Jose Coll
f415c497d9
Minor changes to address PR feedback and comments
2016-11-01 16:47:50 +00:00
Jose Coll
e449ba93c4
Minor fix following rebase to incoporate Ross changes to CashState definition.
2016-11-01 16:29:21 +00:00
Ross Nicoll
b4ee47bd33
Error if multiple nodes match a key
...
InMemoryNetworkMapCache.getNodeByPublicKey() previously returned null if multiple nodes matched
a given public key (for example if the same node is registered more than once with different
names). This is incorrect behaviour, as there is a match.
2016-11-01 16:27:54 +00:00
Ross Nicoll
e6a0f18436
Add diagnostics for web server and API plugin instantiation
2016-11-01 16:22:49 +00:00
Jose Coll
253a70f55e
Fixed bug in generateSpending whereby Issuer Ref was not being checked.
2016-11-01 16:12:19 +00:00
Clinton Alexander
1e6cca4d5d
Removed dead installDist configurations and moved Jolokia access to the correct resources dir.
2016-11-01 16:09:13 +00:00
Ross Nicoll
613a86c5d9
Remove deposit and issuanceDef fields
...
Remove deposit field from the FungibleAsset interface, and moved it into a fixed reference to
amount.token.issuer.
Remove issuanceDef field and replace it with amount.token.
2016-11-01 14:49:57 +00:00
Jose Coll
74dc0b7154
Exposed Vault Transaction Note functionality via RPC.
2016-11-01 12:46:41 +00:00
Jose Coll
d9f0a161e4
Addressed comments in PR review.
2016-11-01 12:05:48 +00:00
Jose Coll
c5500caf98
Minor changes to address PR feedback and comments
2016-11-01 11:39:11 +00:00
Jose Coll
308d7c1df7
Added PluginServiceHub for use by Corda plugin service extensions.
2016-10-31 17:15:06 +00:00
Jose Coll
96007cd777
Changed transaction notes type DB from 'blob' to 'text'
2016-10-31 15:07:34 +00:00
rick.parker
5898a15579
Upgrade H2 to 1.4 to fix curious file corruption issue encountered by Patrick.
2016-10-28 17:39:10 +01:00
Clinton Alexander
c3533bac7d
Improved error reporting.
2016-10-28 13:46:43 +01:00
Clinton Alexander
fdbd67db5c
Added some more error logging to Node.
2016-10-28 13:46:43 +01:00
Jose Coll
2ce310050e
Revert incorrect merge commit.
2016-10-28 10:28:15 +01:00
Jose Coll
b46de0b964
Merge remote-tracking branch 'origin/colljos-vault-transaction-notes' into colljos-vault-transaction-notes
...
# Conflicts:
# core/src/main/kotlin/com/r3corda/core/node/services/Services.kt
# core/src/main/kotlin/com/r3corda/core/testing/InMemoryVaultService.kt
# node/src/main/kotlin/com/r3corda/node/services/vault/NodeVaultService.kt
2016-10-28 09:59:58 +01:00
Jose Coll
369214a747
Additional method on VaultService to add notes to a transaction
...
Additional method on VaultService to retrieve notes for a transaction
2016-10-28 09:57:33 +01:00
Jose Coll
504ec42720
Additional method on VaultService to retrieve notes for a transaction
2016-10-27 16:35:26 +01:00
Jose Coll
f2e98ffba5
Merge branches 'colljos-vault-transaction-notes' and 'master' of https://bitbucket.org/R3-CEV/r3prototyping into colljos-vault-transaction-notes
2016-10-27 14:59:37 +01:00
Jose Coll
74e89181da
Merge remote-tracking branch 'remotes/origin/master' into colljos-vault-code-clean-up-refactor
...
# Conflicts:
# core/src/main/kotlin/com/r3corda/core/contracts/Structures.kt
# node/src/test/kotlin/com/r3corda/node/services/NodeSchedulerServiceTest.kt
Fixed conflict.
2016-10-27 12:57:37 +01:00
Jose Coll
7d080c39df
Merge remote-tracking branch 'remotes/origin/master' into colljos-vault-code-clean-up-refactor
...
# Conflicts:
# core/src/main/kotlin/com/r3corda/core/contracts/Structures.kt
# node/src/test/kotlin/com/r3corda/node/services/NodeSchedulerServiceTest.kt
Fixed failing CommercialPaper test
(caused by re-use of same database transaction context for vault across two different transaction participants)
2016-10-27 12:56:08 +01:00
Clinton Alexander
8f1329b03f
Merged in clint-capletnode (pull request #413 )
...
Moved the Corda Caplet to Node to clear out root src dir.
2016-10-25 09:37:32 +00:00
Clinton Alexander
e5db17b029
Rewrote comment to improve readability.
2016-10-25 10:01:52 +01:00
Clinton Alexander
af902ee4df
Removed redundant whitespace.
2016-10-24 18:36:19 +01:00
Clinton Alexander
c18ed4b402
ProtocolLogicFactory now initiated before it is used.
2016-10-24 17:56:16 +01:00
Clinton Alexander
f92f7d8d56
NodeSchedulerService no longer takes a default protocol logic ref factory (because otherwise no protocols are whitelisted) and instead now uses the one constructed in the node.
2016-10-24 17:56:16 +01:00
Clinton Alexander
546f3e2bbf
Removed dead plugin reference.
2016-10-24 17:56:16 +01:00
Clinton Alexander
2f5efb34d6
Removed the RatesFixProtocol and dependent code and moved to the IRS repo.
2016-10-24 17:56:16 +01:00
Clinton Alexander
b197a8fa66
Fixed comment on function definition.
2016-10-24 17:41:21 +01:00
Clinton Alexander
19a53ea12d
Added prerequisite for using the test clock.
2016-10-21 17:29:59 +01:00
Clinton Alexander
71e1c39622
Fixed type of useTestClock.
2016-10-21 16:42:00 +01:00
Clinton Alexander
8631a64c66
Moved capsule to node to remove it from src.
2016-10-21 14:17:05 +01:00
Clinton Alexander
8f326824f3
Test fix and review fix.
2016-10-21 12:09:21 +01:00
Clinton Alexander
cbb8aa74f9
Replaced clock object with clock class and added documentation.
2016-10-21 11:32:29 +01:00
Clinton Alexander
54e002f654
Clock now instantiates via reflection to allow demo clocks to be passed in.
2016-10-21 11:32:29 +01:00
Clinton Alexander
622b5cabf7
Fixed merge conflict.
2016-10-21 11:32:29 +01:00
Clinton Alexander
1d6b8de11e
Added clock to the node
2016-10-21 11:32:29 +01:00
Clinton Alexander
201561497a
Added clock to node configuration to allow for creating a demo with a different clock.
2016-10-21 11:31:18 +01:00
Clinton Alexander
0ee4f9c19b
Added DriverNodeInfo to allow access to the host and port for the api address for use in integration tests.
2016-10-21 11:31:18 +01:00
Shams Asari
e2d6ace449
RPC client authentication using user/password from config file
2016-10-20 17:55:16 +01:00
Jose Coll
75f671a446
Decommissioned InMemoryVaultService service (all dependent Tests updated to use NodeVaultService)
2016-10-20 13:10:00 +01:00
Jose Coll
c7d98b8c6b
Fixed items raised by MH in CRD-CR-58 code review.
2016-10-20 10:52:51 +01:00
Matthew Nesbit
30b7eec18c
Remove the file based checkpoints and transactions from the tests.
...
Messages requiring redelivery to late registered handler persisted in database.
Remove spurious comment and make local val not var
2016-10-19 16:33:12 +01:00
Matthew Nesbit
8eee4afe7d
Merged in mnesbit-cor-389-driver-remove-startClient (pull request #409 )
...
Unify messaging services to have a database and not support client type connections.
2016-10-19 14:09:50 +00:00
Jose Coll
04920c9507
Additional method on VaultService to add notes to a transaction
2016-10-19 15:06:52 +01:00
Rick Parker
6c6d7f8546
Merged in bugfix-for-persistent-scheduler (pull request #410 )
...
Fixed intermittent stack serialization issue with persistent scheduler.
2016-10-18 17:23:04 +00:00
Matthew Nesbit
4db1836996
Unify messaging services to have a database and not support client type connections when they should use the RPC connections. Also, push NodeInfo across to the driver via the web interface to remove that use of startClient.
...
Fix typo
2016-10-18 17:48:52 +01:00
rick.parker
8a3027ffd6
Fixed intermittent stack serialization issue with persistent scheduler.
...
Improved exception reporting when fiber serialization fails or other internal Quasar error to help with future Kryo errors when checkpointing.
2016-10-18 17:05:10 +01:00
Jose Coll
c23aea3997
Fixed broken tests caused by missing Transaction Context (when moving from InMemory to Db implementation of vault service in MockNetwork)
2016-10-18 10:27:12 +01:00
Jose Coll
62dfea2a1a
Re-factoring of OnLedgerAsset generateSpend code (moved to VaultService)
2016-10-17 17:58:26 +01:00
Patrick Kuo
3403d50168
Merged pat-cash-creation-ui into master
2016-10-17 16:10:53 +01:00
Rick Parker
6a20f32a7a
Merged in persistent-scheduler (pull request #405 )
...
Persistent scheduler
2016-10-17 12:35:40 +00:00
rick.parker
6a25fcfe8c
Persistent scheduler, with race condition removed.
2016-10-17 13:33:32 +01:00
rick.parker
962fdba0f8
Make transaction -> statemachine id mapping persistent.
2016-10-17 11:33:29 +01:00
Patrick Kuo
d4362fbd78
New counterparty model and subscription mechanism to retrieve and track counterparty changes in network map
...
New transaction creation screen for creating new cash transactions, using party info source from the counterparty model.
2016-10-17 11:25:20 +01:00
Jose Coll
67b2d91b33
Re-factoring of CashBalances code (moved to VaultService)
2016-10-17 11:16:53 +01:00
rick.parker
02a9f8fe67
Remove SAME_THREAD executor and it's use in MockNetwork etc.
...
Remove all traces of unused optional Executor in messaging.
2016-10-12 12:02:28 +01:00
Matthew Nesbit
1f3b1f4df9
Transactions in database
...
Include basic unit tests of Transaction storage
Use Rick's column storage code as suggested in PR comments
Remove blank line
2016-10-11 17:49:15 +01:00
Shams Asari
e48e09f04e
Session handshake optimised to carry the first send payload in the init message
2016-10-11 17:27:09 +01:00
Matthew Nesbit
1388454396
Never send transactions to the Notary that aren't signed by all parties. Toughen up to use validating Notary in general and put Client precheck into NotaryProtocol.
...
Rename method to better reflect its actions
Handle comments from PR
Correct indentation
2016-10-11 10:43:40 +01:00
Shams Asari
ac01b67549
Using the protocol ID for the protocol logger name
2016-10-10 13:45:43 +01:00
Mike Hearn
11bcaf5fb2
Minor: go back to using logging for the trader demo specific output (i.e. admit defeat with the ANSI renderer, which is not long for this world anyway)
2016-10-10 12:00:48 +02:00
Andras Slemmer
cf19ff37cd
node: Add cleanup TODO on cash creation RPC call
2016-10-10 10:38:02 +01:00
rick.parker
50e613bb75
Clean up compiler warning and make database table names and columns more meaningful.
2016-10-07 18:05:54 +01:00
Matthew Nesbit
1e836edd78
Change ServiceType to a sealed class from an abstract class
...
Allow AdvertisedServices to have their own identity and keys. Also, rationalise legalIdentity onto the local node's NodeInfo which is available on ServiceHub
Fixup after rebase
Remove legal identity that was on storage service. Now access via myInfo.legalIdentity and key via keyManagement lookup.
Enforce singleton notary per node for now
Tidy up based upon Rick's suggestions
Handle PR comments
clean up imports
Fix typo
Fixup rename
Capitalise comment
Eliminate unused variable warning
Make changes based upon PR comments
Cleanup whitespace changes
2016-10-07 13:44:51 +01:00
Andrius Dagys
4e2f0e0ff9
Split out NodeConfiguration helpers into a separate utility class
2016-10-07 10:44:03 +01:00
rick.parker
2e3952ee1f
H2 database exported via configurable port number.
2016-10-06 14:33:56 +01:00
Shams Asari
c3f824001d
Removed unused ServiceRequestMessage class hierarchy and added sendRequest method
2016-10-06 10:27:35 +01:00
Shams Asari
307c93858b
Using Checkpoint.id when storing Checkpoints
2016-10-05 18:30:46 +01:00
Andrius Dagys
6eb91ffe8b
Minor refactoring and api doc update
2016-10-05 17:48:04 +01:00
Andrius Dagys
893f6e4f50
Updated config docs
2016-10-05 17:48:04 +01:00
Andrius Dagys
e5072a8854
FullNodeConfiguration: make use of the getOrElse helper
2016-10-05 17:48:04 +01:00
Andrius Dagys
727c3ac5fc
Node: get artemisAddress and webAddress from the config rather than constructor parameters
2016-10-05 17:48:04 +01:00
Andrius Dagys
e5c0c975bd
Remove hostNotaryServiceLocally config property – nodes need to specify the correct notary service type in extraAdvertisedServiceIds
2016-10-05 17:48:04 +01:00
Andrius Dagys
3b187a2171
Make Node override configuration and use FullNodeConfiguration so that no casting is needed
2016-10-05 17:48:04 +01:00
Andrius Dagys
fac12b4fce
Remove NodeConfigurationFromConfig and replace usages with FullNodeConfiguration
2016-10-05 17:48:04 +01:00
rick.parker
5419e773dc
Fix kotlin 1.0.4 error on use of Class.cast()
2016-10-05 13:59:18 +01:00
rick.parker
cd301c727e
First working version with database persistence in MockNetwork/Node.
2016-10-05 12:03:28 +01:00
Clinton Alexander
38ba8c8759
Merge branch 'clint-cordamaven'
2016-10-05 11:44:11 +01:00
rick.parker
ec975b0426
Hibernate ORM implementation for states.
2016-10-05 11:40:27 +01:00
Andras Slemmer
3bb96f3f3e
node: Fix after rebase
2016-10-05 10:40:18 +01:00
Andras Slemmer
8e471c6768
node: Address review comments
2016-10-05 10:40:18 +01:00
Andras Slemmer
5af0e97444
Refactor explorer and friends to use RPC, remove NodeMonitor*
2016-10-05 10:40:18 +01:00
Patrick Kuo
c57229a944
New gradle task for packaging certificate singing request utility jar.
2016-10-04 16:56:18 +01:00
Shams Asari
6b97fbb79f
Removed ValidatingClient as notary behaviour is not client configurable
2016-10-04 15:20:36 +01:00
Shams Asari
5e6533eb8a
Better use of Futures
2016-10-04 14:11:43 +01:00
Ross Nicoll
53ecb0ecd9
Constrain class type passed to registerProtocolInitiator()
2016-10-04 12:57:22 +01:00
Andrius Dagys
5efa0fd5b3
Advertised services now contain ServiceInfo which describes ServiceType and a service identifier. This will be used, e.g. for grouping distributed notary nodes into the same service cluster.
2016-10-04 11:36:26 +01:00
Matthew Nesbit
76808d36c3
Store protocol checkpoints in the DB, except during Single threaded MockNetwork activity, where we still use the file system based checkpointing. Make the Checkpoint acess a Sequence not an Iterable, so that we don't end up with all the checkpoints permanently resident in memory.
...
Split up storage initialisation so that there is less code copying in MockNode
Add header comment to DBCheckpointStorage class
Respond to PR comments
Resolve PR comments
Rename iterator on checkpoints
Fix typo
Fixup checkpoints in DB logic after Shams's PR
Delete duplicated code
2016-10-03 17:56:58 +01:00
Shams Asari
67fdf9b2ff
Automatic session management between two protocols, and removal of explict topics
2016-10-03 15:21:27 +01:00
Andrius Dagys
b3f3ee0562
Added a json serializer for PublicKeyTree
...
Typo fixes, other minor refactorings
2016-10-03 11:09:36 +01:00
Andras Slemmer
43d18d46bb
Add PartiallyResolvedTransaction to client
2016-10-03 10:17:41 +01:00
Clinton Alexander
9a4cc04eb5
Moved source and javadoc publish tasks into a default publish tasks plugin.
2016-09-30 10:57:20 +01:00
Clinton Alexander
f13a21cc6c
Can now publish corda to local repo with gradle publishToMavenLocal
2016-09-30 10:57:20 +01:00
Clinton Alexander
a740167100
Merged in clint-mvcc (pull request #366 )
...
Improved concurrency of H2 database with config
2016-09-28 16:51:27 +01:00
Clinton Alexander
7afb034b8c
Merged in clint-vegacorechanges (pull request #380 )
...
Corda Changes required for Vega
2016-09-28 16:28:15 +01:00
Clinton Alexander
43de27c4c1
Updated Corda in preparation for the merging of the Vega cordapp. Includes
...
some minor changes, including gitignore rule changes. The largest change
is replacing the current fresh key for each transaction with a single
static identity in preparation for aimproved and more fleshed out key
sharing infrastructure.
2016-09-28 14:39:41 +01:00
Andras Slemmer
5b10c207e0
Add StateMachine -> Recorded TX mapping stream and emit events on transaction records
2016-09-28 11:46:37 +01:00
Andras Slemmer
6c96517f6f
core, node: Add RPC calls, change RPC init order
2016-09-28 10:32:22 +01:00
Patrick Kuo
8f00ec03a3
Checks for SSL certificate on Node startup
2016-09-27 10:15:09 +01:00
Rick Parker
46d6749616
Merged in persistence-support-in-mock-node (pull request #371 )
...
Persistence support in MockNode
2016-09-26 15:12:59 +01:00
rick.parker
cb1fa83b67
Fix up database persistence to work with MockNetwork/MockNode without getting tangled up in the ThreadLocals.
2016-09-26 14:54:00 +01:00
rick.parker
16eda06095
Fix erroneous log statement that corrupts the logs.
2016-09-26 12:57:01 +01:00
Andras Slemmer
7e7bf08062
Rename stateMachineRunId properties to id, remove unused fiberId
2016-09-26 10:40:18 +01:00
Andras Slemmer
cfa5878ea2
Add StateMachineRunId, type for SMM Changes
2016-09-26 10:40:18 +01:00
Matthew Nesbit
a964073c2f
Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
...
Use synchronized wrapper over set.
Drop discard message to trace level logging.
Fix code layout
Use lazy trace extension method
Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
Use synchronized wrapper over set.
Include tx message unique id in checkpointed data.
Add test for checkpointed resend
Fix bug in not getting UUID off message.
Tidy formatting
Add explanation comments to test asserts
Put unique id even on Client messages.
Tidy formatting
2016-09-26 10:12:50 +01:00
Matthew Nesbit
074964f919
Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
...
Use synchronized wrapper over set.
Drop discard message to trace level logging.
Fix code layout
Use lazy trace extension method
2016-09-22 15:18:24 +01:00
Patrick Kuo
eee18b55f5
Moved certificates path to node configuration
2016-09-22 14:28:12 +01:00
Ross Nicoll
54991c90a1
Merged in rnicoll-dictionary (pull request #369 )
...
Correct typos, add custom dictionary
2016-09-22 09:52:28 +01:00
Clinton Alexander
58c1ab4562
Changed DB store type to MV store.
2016-09-22 09:37:03 +01:00
Patrick Kuo
f7193fee54
fix ArtemisMessagingServer certificate path
2016-09-21 17:50:26 +01:00
Ross Nicoll
80ccf4df34
Change keypair to "keyPair"/"key pair"
...
Change "keypair" to "keyPair"/"key pair" to correctly indicate it is two words,
not a single word.
2016-09-21 10:50:28 +01:00
Ross Nicoll
d38392093f
Rename wallet monitor service to node monitor service
2016-09-21 10:26:20 +01:00
Ross Nicoll
ebda724f14
Change references to 'wallet' with 'vault'
2016-09-20 18:14:53 +01:00
Andras Slemmer
2640e600c8
Merged in aslemmer-node-explorer (pull request #311 )
...
explorer ui v0.2
2016-09-20 12:02:09 +01:00
Patrick Kuo
9b4bf32fdc
client certificate signing utility
2016-09-20 10:51:09 +01:00
Andras Slemmer
01d879772d
client, explorer: Rearrange/add tx screen columns
2016-09-19 15:05:23 +01:00
Andras Slemmer
041c33a167
client, node: Handle snapshot in explorer
2016-09-19 15:05:23 +01:00
Andras Slemmer
4b74d94001
node: Fix compile after rebase, small typo fix
2016-09-19 15:05:22 +01:00
Andras Slemmer
a23c1d019c
node: Fix compile after rebase
2016-09-19 15:05:22 +01:00
Andras Slemmer
c04a3401c3
client, node: Fix compile error after rebase
2016-09-19 15:05:22 +01:00
Andras Slemmer
3042407250
node: Better diagnostics for exit generation in WalletMonitorService
2016-09-19 15:05:22 +01:00
Andras Slemmer
eb82e946d0
node: Expose LedgerTransactions instead of SignedTransactions in WalletMonitor
2016-09-19 15:05:22 +01:00
Clinton Alexander
7d7418095e
Increased timeout to avoid spurious timeouts. Added MVCC flag to allow
...
better concurrency and prevents deadlocks when multiple transactions are
occurring at once, as has happened on Vega.
2016-09-19 13:45:54 +01:00
Matthew Nesbit
478cb58dd6
Delay State Machine fiber start until network map cache is fully populated.
...
Add some unit tests of the late init behaviour.
Fix merge error
Change statemachine logic to use an in-memory only flag on checkpoints to track their materialisation during startup.
Add annotations for test method
Fix possible race condition on storing checkpoint objects
Correctly create checkpoint
Use then helper function
Cleanup imports
2016-09-19 12:15:33 +01:00
rick.parker
476db876d9
Move db commit to after "protocol completed" future is set.
...
Move db commit to after "protocol completed" future is set.
2016-09-16 13:56:49 +01:00
rick.parker
236a47104f
Persitent network map and key service. Temporary persistence workaround for scheduler.
2016-09-16 12:14:56 +01:00
Patrick Kuo
1388747484
Permissioning server: added new node properties in node config for certificate signing request
2016-09-16 11:42:33 +01:00
Mike Hearn
4d83f1489f
Add a client library that provides an RPC mechanism for talking to the Corda node.
...
The RPC mechanism uses message queues and is essentially conventional except for the fact that it supports marshalling observables. An observable encapsulates a stream of ongoing events, and server-side observables sent to the client are automatically bound to message queues and managed by Artemis.
2016-09-16 10:13:21 +01:00
rick.parker
17c9d231f4
Fix hanging test and fail fast on hang.
2016-09-15 16:39:58 +01:00
Shams Asari
8ea20dd0d2
Removed session IDs from the send and receive methods of ProtocolLogic and are now partially managed by HandshakeMessage
2016-09-14 15:26:55 +01:00
Shams Asari
f314bab6c8
Replacing the two params of AbstractNodeService with single ServiceHubInternal
2016-09-13 11:52:31 +01:00
Rick Parker
53de66a23d
Merged in cor-344-persistence-jdbc-transactions (pull request #353 )
...
Add database transactions ready for more widespread persistence.
2016-09-13 10:48:48 +01:00
rick.parker
27cb1c3597
Introduce database transactions around message handling, web API and in protocols.
2016-09-13 10:47:50 +01:00
Andrius Dagys
422a766c1a
Minor persistent uniqueness provider tweak
2016-09-13 10:37:53 +01:00
Mike Hearn
ee637b79e2
Merge branch 'mike-fix-wms-for-k104'
2016-09-12 16:40:11 +01:00
Mike Hearn
0e37547af0
Rename ArtemisMessagingClient to NodeMessagingClient to make the purpose clearer once we start landing the clientrpc framework.
2016-09-12 13:16:45 +01:00
Mike Hearn
f6def0ef8f
Minor: fix build for Kotlin 1.0.4 pre-release. It is stricter about some dubious code.
2016-09-12 12:18:35 +01:00
Andrius Dagys
0ed6a0ef4d
Added a persistent uniqueness provider, backed by a JDBCHashMap.
...
Enabled a single node persistent notary.
2016-09-12 10:15:03 +01:00
rick.parker
03a04d10ca
Remove use of interrupts to in ClockUtils
2016-09-09 16:45:49 +01:00
rick.parker
879802f7fd
JDBC backed persistent hash map implementation.
2016-09-09 14:01:05 +01:00
Matthew Nesbit
bf0721868e
Move Interest Rate related classes out of :node to reduce dependency of :node module on any specific contract. (Currently only WalletMonitorService and CashBalanceAsMetricsObserver stop me removing the compil dependency of :node on :contracts rather than :core). This has required that I modify fixing protocol to require information on what class of Oracle to use.
2016-09-09 11:31:08 +01:00
Andras Slemmer
0fc560d20a
node: Relax TwoPartyTradeProtocolTests so it only checks a subsequence of store accesses
2016-09-09 10:54:16 +01:00
Matthew Nesbit
9518c38f29
Ensure integration tests in modules are in separate configurations and not directly called from build or installDist.
2016-09-08 15:28:04 +01:00
Matthew Nesbit
245d6ce21f
Use standalone Corda main class and configuration in the Driver, rather than a separate class.
...
Better check for Notary services
2016-09-08 12:44:12 +01:00
Mike Hearn
d8d639f192
Merged in mike-small-tweaks (pull request #337 )
...
A few small tweaks
2016-09-08 12:40:14 +02:00
Matthew Nesbit
1f2a6d256e
Simplify the FullNodeConfiguration now that an explicit identity for the NetworkMapService isn't a problem.
...
Use consistent if style
Don't include NetworkMapAddress in config if hosting locally
2016-09-07 15:35:50 +01:00
Mike Hearn
fa4b503f81
Minor: rename UntrustworthyData.validate to UntrustworthyData.unwrap to better indicate its purpose and deprecate the old name.
2016-09-07 13:09:39 +02:00
Mike Hearn
49a0fd8fdd
Improve the usability of SignedTransaction.verifySignatures taking into account how it is typically used.
2016-09-07 13:09:39 +02:00
Mike Hearn
1d272f89c2
Check the tx type in NotaryChangeProtocol and add a TODO to write a test for this once the protocol framework propagates exceptions.
2016-09-07 13:09:39 +02:00
Matthew Nesbit
2e1952a8a7
Get rid of the fake NodeInfo used to identify the NetworkMapService node.
...
Remove old comment
2016-09-06 18:25:12 +01:00
rick.parker
35274cd15c
Refactor network map service in preparation for persistence.
...
Removed currently superfluous clock.
2016-09-06 18:21:06 +01:00
Mike Hearn
2d40c7e6dc
Minor: make the logger in the standalone node private to avoid accidental screwups due to name conflicts (mental or read)
2016-09-06 18:40:39 +02:00
Matthew Nesbit
58aa933307
My recent PR#325 contained a couple of mistakes. In particular on Unix, but not windows the shutdown hook unregister can give a non-fatal exception during some tests. Also, I got the point of client messaging service stop registration wrong, which was leading to the server shutting down teh client session ahead of the proper stop sequence.
2016-09-06 16:26:31 +01:00
Andras Slemmer
9e993c5b86
Merged in aslemmer-generators-fixes (pull request #300 )
...
Aslemmer generators fixes
2016-09-06 14:19:28 +01:00
Andras Slemmer
618f46cba4
node: Fix JsonSupportTest imports
2016-09-06 13:59:01 +01:00
Andras Slemmer
491b1abd4a
contracts, core, node: Use entropyToKeyPair in Generators instead of manually creating keys
2016-09-06 13:54:59 +01:00
Andras Slemmer
9ff1ad7769
node: Fix redelivery race
2016-09-06 13:54:58 +01:00
Andras Slemmer
cc556cde6f
ndoe: Fix message duping on redelivery
2016-09-06 13:54:58 +01:00
Andras Slemmer
89a5448c39
node, core: Add quickcheck generators for basic types, transactions
2016-09-06 13:54:58 +01:00
Mike Hearn
9d83a9b6d2
Minor: move transaction types out of the contracts package and into a new transactions package
2016-09-06 14:20:32 +02:00
Andras Slemmer
4923e33a7d
node: Remove unnecessary @Suppress
2016-09-06 09:52:43 +01:00
Andras Slemmer
737fc0589c
node: Add clock test for external interrupt on waiting strand
2016-09-06 09:52:43 +01:00
Andras Slemmer
fc7000c152
node: Fix race in Clock.doInterruptibly by not relying on version counter
2016-09-06 09:52:43 +01:00
Matthew Nesbit
11efe8ca1b
Extend Rick's closeOnShutdown so that all the shutdown that was being done manually is done through the same mechanism. Thus allowing for a consistent reverse ordering and hopefully preventing DB shutdown happening ahead of serverThread shutdown.
...
Follow Rick's PR suggestions
Preserve comment about abitrary timeout on serverThread stop
2016-09-06 09:18:59 +01:00
Andras Slemmer
d8ae07e771
node-driver: Use anyAddress for RandomFree port allication
2016-09-05 17:29:44 +01:00
Andras Slemmer
9836edd191
Revert reuseaddr
2016-09-05 16:08:58 +01:00
Andras Slemmer
6b37048a14
node-driver: Remove reuseAddress = true as it breaks tests on osx
2016-09-05 15:43:19 +01:00
Shams Asari
97e1a59770
Refactored FiberRequest into cleaner ProtocolIORequest and fixed checkpoint regression
2016-09-05 14:42:54 +01:00
Matthew Nesbit
eb8510e7cc
Some integration tests seem to be getting exceptions that suggest the ArtemisMQ session has been closed down already. Looking at the client code it is clear two threads can call stop and interfere with each other. Therefore this fixes the running flag logic.
2016-09-05 14:13:38 +01:00
Andras Slemmer
637a41401d
node-driver: Reuse address when polling for port, poll for correct condition\(!\)
2016-09-05 11:04:31 +01:00
Mike Hearn
3854fec17f
Testing: Make PortAllocation set SO_REUSEADDR to avoid CI conflicts
2016-09-05 11:22:00 +02:00
Andras Slemmer
ca1b0083ed
node: Clean up messy issue in test
2016-09-01 18:15:47 +01:00
Andras Slemmer
dded4c6e8f
node: FIx WalletMonitorService tests
2016-09-01 18:15:47 +01:00
Ross Nicoll
4d0b23ab6f
Add log4j-web to node
...
Add log4j-web to node so it stops complaining that it's running in a web environment without that option.
Longer term we may want to split the web parts into their own optional extra for node, but for now I think
this is a sensible solution.
2016-09-01 16:15:15 +01:00
Ross Nicoll
b913b18e02
Merged in rnicoll-simulations (pull request #314 )
...
Move test code from node to test-utils
2016-09-01 15:21:34 +01:00
Ross Nicoll
868b23a923
Move simulations to top level
2016-09-01 11:15:05 +01:00
Ross Nicoll
07f44e9e2a
Move test code from node to test-utils
2016-09-01 11:15:05 +01:00
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
Clinton Alexander
5410f8b228
Merged in demowebui (pull request #230 )
...
Added an IRS demo web interface
2016-07-28 13:19:32 +01:00
Ross Nicoll
ec726da7d0
Merged in rnicoll-warnings (pull request #246 )
...
Correct warnings
2016-07-28 13:03:55 +01:00
Matthew Nesbit
7d5ee8ba08
Create MessageServiceInternal interface to allow NetworkMapCache to register addresses with the network service.
...
Activate WhitelistTrustManager for now to secure the TLS messaging.
2016-07-28 11:25:57 +01:00
Clinton Alexander
188fc29436
Cleaned up build.gradle files.
2016-07-28 09:17:49 +01:00
Ross Nicoll
d54beca77e
Add wallet service for notifying remote nodes of transactions
2016-07-27 17:40:52 +01:00
Ross Nicoll
aaaf6ea4f6
Correct warnings
2016-07-27 17:11:46 +01:00
Matthew Nesbit
e3aef96b09
Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-261-artemis-over-ssl
...
# Conflicts:
# build.gradle
2016-07-27 15:43:01 +01:00
Ross Nicoll
8bdeda63ae
Merged in rnicoll-checkpoint-generic (pull request #241 )
...
Rework checkpoint storage to include the FiberRequest
2016-07-27 15:20:40 +01:00
Andrius Dagys
e8c84867cf
Merged in andrius-logging (pull request #240 )
...
Enable logging to file
2016-07-27 14:18:24 +01:00
Matthew Nesbit
e5777fd999
Fetch KeyStore passwords from NodeConfiguration
2016-07-26 10:35:57 +01:00
Matthew Nesbit
4c08141ce3
Tidy up based upon comments on PR
2016-07-26 10:35:56 +01:00
Matthew Nesbit
00f897d58d
Add X509 creation and manipulation utilities to core and enable SSL in ArtemisMQ
2016-07-26 10:35:54 +01:00
Matthew Nesbit
0d68523f5c
Validate protocol type and args via whitelist ahead of class loading. Also, push this work into another method on the Factory.
2016-07-25 16:35:45 +01:00
Matthew Nesbit
0542f7c509
Refactor APIServer to use the same whitelist controlled protocol gateway as the scheduler.
2016-07-25 13:46:40 +01:00
Clinton Alexander
67defe19cc
Small refactor of initWebServer to improve readability.
2016-07-25 10:36:37 +01:00
Clinton Alexander
93f4440c14
Moved IRS web folder up a level. Added support for static serving plugins.
2016-07-25 10:30:30 +01:00
Ross Nicoll
2f04d876ae
Move FiberRequest out to a top level class
...
Move FiberRequest out to a top level class, both because it is expanding as functionality is added,
and to enable alternative state machine implementations to share it.
2016-07-24 09:30:16 +01:00
Andrius Dagys
e7ff5b8f6f
Typo fix
2016-07-22 17:31:03 +01:00
Ross Nicoll
31ee8ab60b
Rework checkpoint storage to include the FiberRequest
...
Rework checkpoint storage to include the FiberRequest, so that different requests can be supported.
2016-07-22 16:40:15 +01:00
Andrius Dagys
2142bd1d8a
Added Log4j bindings for SLF4J. Test log output is redirected to the console, and demo output is now additionally stored in a rolling log file.
2016-07-22 16:15:00 +01:00
Mike Hearn
119813a36d
Minor: document the SMM.changes observable.
2016-07-22 15:50:21 +02:00
Ross Nicoll
2c139ae40c
Merged in rnicoll-state-machine-id (pull request #234 )
...
Add Fiber ID to state machine change events
2016-07-20 13:23:02 +01:00
Clinton Alexander
40a4623c51
Improved error handling when exceptions occur during suspend.
2016-07-20 11:50:23 +01:00
Ross Nicoll
f72d8ed9fb
Add Fiber ID to state machine change events
...
Where state machine change events are to be serialized for relay to external systems, serializing the entire
protocol is excessive. Instead being able to identify changes based on the ID of the fiber is a lot simpler
for these use-cases.
2016-07-19 14:58:54 +01:00
Ross Nicoll
c92d51a0b6
Correct processing of unhandled messages
...
Unhandled messages in the in memory messaging network can disrupt runNetwork(), as they
result in getNextQueue() returning null, irrespective of whether there is further work
which could be done. This modifies the flow to loop through the remaining transfers on
the queue before giving up, rather than stopping after the first.
2016-07-19 14:19:57 +01:00
Andrius Dagys
c442cd01a7
Merged in andrius-cleanup-tweaks (pull request #208 )
...
Remove the "verify correct notary has signed" check from TwoParty protocols
2016-07-18 10:40:25 +01:00
Matthew Nesbit
9d18234383
Consistently use an sl4j logger with timestamp, rather than console println within the node. Note that the current protocol events published via the ProgressTracker are sent to the console without a timestamp.
2016-07-13 11:28:52 +01:00
Mike Hearn
ead19c619a
Merged in mike-cp-issuance-fix (pull request #224 )
...
Disentangle the concept of CP issuer vs underlying redeemable asset issuer in the CP contract.
2016-07-13 11:13:23 +02:00
Ross Nicoll
254592dc54
Move protocols into correct package
2016-07-12 18:42:00 +01:00
Mike Hearn
f6789c93dd
Disentangle the concept of CP issuer vs underlying redeemable asset issuer in the CP contract.
...
This confusion was introduced by a previous refactoring.
2016-07-12 16:01:50 +02:00
Matthew Nesbit
dba2b980a5
Remove TODO as the usage of CheckpointStorage is only through ServiceHubInternal into the StateMachineManager. We don't restrict access to internal for now as this causes too much other change.
2016-07-12 13:43:43 +01:00
Andras Slemmer
d7cc34c9a5
all: Full stops in comments!
2016-07-11 17:58:53 +01:00
Mike Hearn
e28ecae8c0
Address review comments
2016-07-11 18:47:24 +02:00
Mike Hearn
0a2f313d40
Minor: run IntelliJ 'code cleanup'
2016-07-11 18:15:28 +02:00
Mike Hearn
41d092a169
Minor: optimize imports
2016-07-11 18:15:28 +02:00
Mike Hearn
cc22810b09
Testing cleanup:
...
- Move code out of ambiguously named TestUtils files (there were three). Sometimes it's simpler to just put these things into the contract source files directly.
- Remove JavaTestHelpers objects (there were three), in favour of just giving the top level kotlin file class better names.
- Misc other small tweaks and cleanups.
2016-07-11 16:22:02 +02:00
Ross Nicoll
6b775ebd4d
Replace named timestamping authority with notary
...
As the timestamping authority is now always the notary service, contracts should
no longer be using name-based lookup of the timestamping authority (as this will
generally be wrong). This introduces a new "timestamp" property on a transaction,
and updates most contracts to refer to it.
In some cases (IRS, CommercialPaper) there are transactions with no input states
to derive notary from, that use timestamps. In these cases a notary is specified
in the command.
2016-07-11 14:54:36 +01:00
Andras Slemmer
4324e33fea
testdsl: Removed R type parameter, unify verifies() interface
2016-07-11 14:25:27 +01:00
Andras Slemmer
9bb8439dc3
testdsl: Add failsWith to Ledger
2016-07-11 14:25:27 +01:00
Andras Slemmer
cd0299f650
testdsl: Javadoc comments
2016-07-11 14:25:27 +01:00
Clinton Alexander
208205e7f4
Fixed minor merge conflict.
2016-07-08 16:41:23 +01:00
Clinton Alexander
88fe562886
Removed dependency added in previous commit. Fixed upload code on IRS Demo
2016-07-08 16:41:23 +01:00
Clinton Alexander
2a59600b54
Error now occurs on upload if no files are sent. Added apache httpcomponents as a dependency.
2016-07-08 16:41:23 +01:00
Matthew Nesbit
eee049d66b
Add cacheing to ServiceLoader scanning of plugins and add a TODO on whitelisting
2016-07-08 10:38:23 +01:00
Matthew Nesbit
1557a82992
Make ServiceLoader results for CordaPlugins a protected property on the AbstractNode
2016-07-08 10:38:21 +01:00
Matthew Nesbit
51ba0cc8dd
Make the IRS Demo web api an api plugin (scanned from the Node classpath) and use the same permission checking entry point for web api's as the scheduler.
2016-07-08 10:38:18 +01:00
Matthew Nesbit
d9d4fb360f
Make the IRS Demo web api an api plugin (scanned from the Node classpath) and use the same permission checking entry point for web api's as the scheduler.
2016-07-08 10:34:32 +01:00
Matthew Nesbit
f0f2dc4eb5
Add missing import
2016-07-08 10:34:31 +01:00
Matthew Nesbit
1fb4371de9
Make the IRS Demo web api an api plugin (scanned from the Node classpath) and use the same permission checking entry point for web api's as the scheduler.
...
Fix whitespace
Change ProtocolLogicRefFactory to use Map<String, Set<String>> as whitelist definition
2016-07-08 10:34:30 +01:00
Mike Hearn
a1177f05c1
Merged in mike-add-gradle-versions (pull request #207 )
...
Add a version number to gradle and allow "gradle install" to install the core module to the local Maven repository.
2016-07-08 10:04:01 +01:00
Andrius Dagys
fb93b86d6b
Move test class into correct package
2016-07-07 15:51:47 +01:00
Mike Hearn
ad3e9be1c8
Add a version number to gradle and allow "gradle install" to install the core module to the local Maven repository.
2016-07-07 13:59:55 +01:00
Andrius Dagys
b498928f75
Remove the "verify correct notary has signed" check. This is no longed necessary as the required notary key is added to the "signers" list during transaction construction. We have general validation rules that check the correct notary was included in the signers list, and that we have signatures for all "signers".
2016-07-07 13:22:30 +01:00
Mike Hearn
bbc5c2e981
Merged in mike-july-dependency-upgrades (pull request #200 )
...
Upgrade dependencies, July edition.
2016-07-06 16:25:52 +01:00
Mike Hearn
f6e7ffdd31
Fix a race condition in the MockNode class that only shows up when used in thread-per-node mode. Witnessed in the unit tests.
2016-07-06 14:02:40 +01:00
Mike Hearn
6fb7e59b91
Upgrade dependencies, July edition.
2016-07-06 13:56:22 +01:00
Andras Slemmer
f177b1ffaa
test dsl: LastLineShouldTestForVerifiesOrFails->EnforceVerifyOrFail
2016-07-06 13:25:08 +01:00
Andras Slemmer
e31b769fef
test dsl: Dsl->DSL, add top-level transaction primitive, add ledger-embedded signAll, other cosmetics
2016-07-06 13:25:08 +01:00
Andras Slemmer
e3d6f51049
contracts, core, node: Port TransactionForTest tests to new DSL
2016-07-06 13:25:08 +01:00
Andras Slemmer
cde315aca9
contracts, node: Port CommercialPaperTests, TwoPartyTradeProtocolTests and GroupToGraphConversion to use new dsl
2016-07-06 13:25:08 +01:00
Shams Asari
5c0e7fbbf2
Moved topic parameter from send/receive methods to a ProtocolLogic property
2016-07-05 15:12:25 +01:00
Ross Nicoll
2121824662
Rename com.r3cord.contracts.cash package to ...asset
2016-06-30 13:31:59 +01:00
Shams Asari
a02263937c
send and sendAndReceive use Party for the destination
2016-06-30 12:04:39 +01:00
rick.parker
5271882dcd
Event scheduling and docs for event scheduling
2016-06-30 08:51:52 +01:00
Ross Nicoll
779034691e
Add AbstractTransactionSubstitutionProtocol
...
Abstracts the NotaryChangeProtocol to be extensible for other use-cases.
2016-06-29 17:16:46 +01:00
Andras Slemmer
e54dad9a8b
node: Add apiAddress constructor parameter
2016-06-28 14:03:32 +01:00
Andras Slemmer
429d8aab74
node, integtest: Code style
2016-06-28 14:03:32 +01:00
Clinton Alexander
ffa9ad1bc9
Added port argument for IRS demo to allow web servers to not have binding collisions during testing and to allow more granular control over demos.
2016-06-28 14:03:32 +01:00
Clinton Alexander
7a4a1363cb
Removed unnecessary changes.
2016-06-28 14:03:32 +01:00
Clinton Alexander
36a0ff0503
Added an endpoint that allows querying for status of node.
2016-06-28 14:03:32 +01:00
Clinton Alexander
60daf8059f
Removed dependency added in previous commit. Fixed upload code on IRS Demo
2016-06-28 14:03:32 +01:00
Clinton Alexander
f6069e1e15
Error now occurs on upload if no files are sent. Added apache httpcomponents as a dependency.
2016-06-28 14:03:32 +01:00
Clinton Alexander
507d9ea4ae
Added new integration test for the IRSDemo and refactored the demo to
...
run in integration tests.
2016-06-28 14:03:32 +01:00
Mike Hearn
2dfcff1f31
Testing: Fix the wallet filler code.
2016-06-24 17:13:27 +02:00
Andras Slemmer
ac69f566c9
node: Add another test testing correct LinearState sequencing
2016-06-23 18:06:57 +01:00
Andras Slemmer
3a84e2fe9d
node: Add test for LinearState thread clash
2016-06-23 18:06:57 +01:00
Andrius Dagys
aaeb99ac25
Validating notary: check for missing signatures. The notary can only sign if all other signatures are present
...
Please enter the commit message for your changes. Lines starting
2016-06-23 16:15:14 +01:00
Mike Hearn
7ee6bd05ce
Refactor the wallet code:
...
- Rename NodeWalletService to InMemoryWalletService and move into the core module where it's available for unit testing.
- Make a new NodeWalletService that just inherits from InMemoryWalletService and doesn't customise it at all, for now.
- Take the cash specific functionality out of Wallet and into an extension property in the Cash contract (this compiles as CashKt.getCashBalance(wallet) for java users).
- Return the generated states in the fillWalletWithTestCash function.
2016-06-22 14:49:52 +02:00
Mike Hearn
f3d4639059
Testing: make the WalletFiller code a file-level singleton and fillTestWithCash an extension method. For Java users not much changes, the class is still called WalletFiller and the signature remains the same. Re-order some arguments to make it easier to use when accepting the defaults.
2016-06-22 14:49:52 +02:00
Mike Hearn
cdb3e2f126
Minor: move WalletFiller from node.testing to contracts.testing
2016-06-22 14:49:52 +02:00
rick.parker
717a5ab197
Break out message handler changes
...
Special serializer for kotlin object definitions
2016-06-22 09:50:15 +01:00
Richard Green
859ee053d2
Merged in rg_todo_financetypes_242 (pull request #145 )
...
Changed DateOffset to be an integer instead of enum. Usages and examples also changed. Also renamed to fixingPeriodOffset
2016-06-21 18:18:44 +01:00
Richard Green
6b80530ac6
Changed DateOffset to be an integer instead of enum. Usages and examples also changed. Also renamed to fixingPeriodOffset
...
Renamed fixingPeriod -> fixingPeriodOffset in the .json files
2016-06-21 18:17:39 +01:00
rick.parker
3ea1090446
Support for moving TestClock to just beyond a specific instant (helpful for schedule related testing)
...
Added TimeWindow to PR
Review feedback
Review feedback
2016-06-21 16:49:25 +01:00
Clinton Alexander
3e82ee45f2
Merged in nodedircreate (pull request #139 )
...
Todo resolution: Moved node directory creation into the abstract node.
2016-06-21 11:02:29 +01:00
Andras Slemmer
e29a9b15c3
Revert "node: remove buffering logic from InMemoryMessagingNetwork"
...
This reverts commit bc7ea5f0c5a61e9c3f9d7825e2944e4d27141320.
2016-06-20 17:50:19 +01:00
Andras Slemmer
32b593671b
Merged in remove-warnings (pull request #169 )
...
Remove warnings
2016-06-20 14:45:04 +01:00
Shams Asari
411fd1aeb3
Upgraded to artemis 1.3.0 so that exceptions are thrown if something goes wrong on startup
2016-06-20 14:29:27 +01:00
Ross Nicoll
8f57213270
Merged in rnicoll-force-record-tx (pull request #152 )
...
Require all transactions are added via the ServiceHub.recordTransaction() function
2016-06-20 14:25:20 +01:00
Ross Nicoll
a5e07c2600
Require all transactions are added via the ServiceHub.recordTransaction() function
2016-06-20 14:24:55 +01:00
Andras Slemmer
5de6e3f965
node: Remove warnings
2016-06-20 14:16:13 +01:00
Andras Slemmer
c9cb024bb5
Merged in use-urandom-2 (pull request #166 )
...
Use urandom 3
2016-06-20 14:15:03 +01:00
Andras Slemmer
a7419b116d
Add newSecureRandom() that uses a non-blocking SecureRandom provider on Linux
2016-06-20 14:11:03 +01:00
Andras Slemmer
6eab61a6a1
node: fix hanging test
2016-06-20 12:37:42 +01:00
Andras Slemmer
08e6333284
node: Add sendManuallyPumped parameter to test
2016-06-20 12:37:42 +01:00
Andras Slemmer
fbbff9fad2
node: remove test that tested buffering logic in IMMN
2016-06-20 12:37:42 +01:00
Andras Slemmer
ccf362bb8a
node: fix IRSSimulation so it doesn't rely on buffering
2016-06-20 12:37:42 +01:00
Andras Slemmer
5323eb1073
node: remove buffering logic from InMemoryMessagingNetwork
2016-06-20 12:37:42 +01:00
Andras Slemmer
03c1550394
node: add ability to pump sending as well as receiving, expose both streams
2016-06-20 12:37:42 +01:00
Andras Slemmer
ea27910d51
node: Add JSON EdDSA pubkey serialisation/parsing
2016-06-20 11:48:40 +01:00
Andrius Dagys
30ca340b6e
Refactored NotaryChangeProtocol and tests: moved the proposal verification step into the protocol.
...
Added another proposal verification step in the NotaryChangeProtocol.
Added the cause exception message to the 'notary change refused' error.
2016-06-17 15:05:35 +01:00
Andrius Dagys
0a5b7ace35
Made TransactionBuilder abstract. Every transaction type now needs to implement and provide its own Builder. This is required since for specific types we need to run different logic when adding new items to the transaction. For example, when adding a new input state to a transaction of type NotaryChange we need to add all of the states participants to the signers list.
2016-06-17 15:05:35 +01:00
Andrius Dagys
9958b5c603
Added 'signers' property to the transaction data models. Signers holds the list of all public keys that need to be signed for (command keys and additional ones such as notary).
...
Removed Notary & ChangeNotary commands, keys to be signed for are added to the signers list during transaction build phase.
2016-06-17 15:05:35 +01:00
Andrius Dagys
70495a021e
Introduce TransactionState, which wraps ContractState and holds the notary pointer.
...
Remove notary from ContractState.
Introduce TransactionType, which specifies custom validation logic for a transaction.
2016-06-17 15:05:35 +01:00
Andrius Dagys
3b1e020082
Extended the data model so that every state has to define a set of 'participants' - parties that are able to consume that state in a valid transaction.
...
Added protocol for changing the notary for a state, which requires signatures from all participants
2016-06-17 15:05:35 +01:00
Andras Slemmer
0c325c31a2
Revert "Merged in use-urandom-2 (pull request #159 )"
...
This reverts commit 1a1ed3b9e6
, reversing
changes made to 09e2e49d44
.
2016-06-17 14:12:19 +01:00
Andras Slemmer
ba96282591
node: use newSecureRandom() instead of SecureRandom.getInstanceStrong()
2016-06-17 13:07:25 +01:00
Andras Slemmer
f06487aa4c
Merged in sort-of-incremental-quasarScan (pull request #154 )
...
Sort of incremental quasarscan
2016-06-17 10:38:39 +01:00
Shams Asari
7f3458803c
Protocols can use the serviceHub lazily in their constructors
2016-06-17 10:30:25 +01:00
Andras Slemmer
dc5da8e1ad
build: use QuasarPlugin instead of copypasta
2016-06-17 10:16:46 +01:00
Ross Nicoll
ad72f3e48f
Add issuer to cash amounts
...
Add issuer of a cash when referring to amounts of cash (except for the very few cases where
the issuer is not important, such as when referring to aggregated totals across a set of
issuers). Replaces CommonCashState with TokenDefinition, as a more accurate reflection of
what the class represents.
2016-06-16 15:05:49 +01:00
Ross Nicoll
d6a79b7bae
Minor: Pass reference into fillWithSomeTestCash()
...
Reference is now a parameter to fillWithSomeTestCash() so that the caller can be
clear on the reference to use.
2016-06-16 15:04:33 +01:00
Mike Hearn
7d09a09070
Place the long term identity key into the KMS for now. This will all change later.
2016-06-16 13:01:53 +02:00
Shams Asari
860353c4d4
Initial checkpoint when protocol is first added
2016-06-16 09:54:49 +01:00
Ross Nicoll
f831ffdf3d
Add tests for TransactionGraphSearch
2016-06-15 16:21:53 +01:00
Andras Slemmer
3d109252f5
node: add missing @Suspendable
2016-06-15 15:16:08 +01:00
rick.parker
b595b23ed7
Remove quasar scan related warnings of suspendable supers outside our project (in kotlin stdlib).
...
Suppressed two compiler warnings related to unused variables (seems to be compiler bug)
2016-06-15 14:30:00 +01:00
Shams Asari
853bc683f8
Simplify last checkpoint removal race condition fix
2016-06-15 10:01:33 +01:00
Shams Asari
aa153be6f0
moved methods in ChildrenProgressTrackers into ProgressTracker
2016-06-14 16:42:42 +01:00
Clinton Alexander
6b886bde4a
Nodes now need a setup step before running.
2016-06-14 16:07:29 +01:00
Andras Slemmer
56821c3a24
node: rename _networkMapRegistrationSettableFuture to _networkMapRegistrationFuture
2016-06-13 18:09:38 +01:00
Andras Slemmer
16465ba475
node: prefix private field with '_', use get() =
2016-06-13 18:09:38 +01:00
Andras Slemmer
50cd3c938a
node: hide writable networkMapRegistrationSettableFuture
2016-06-13 18:09:38 +01:00
Andras Slemmer
0dda3b2473
node: wait for last checkpoint remove before completing state machine future, fixes race in TwoPartyTradeProtocolTests
2016-06-13 18:09:38 +01:00
Andras Slemmer
fe83e41f52
node: use star projection instead of useless transform to hide type param
2016-06-13 18:09:38 +01:00
Andras Slemmer
5525487169
node: remove debug println
2016-06-13 18:09:38 +01:00
Andras Slemmer
3bf95429e9
node: change InMemoryMessagingNetwork so that the exposed allMessages stream is in sync with iterate()
2016-06-13 18:09:38 +01:00
Andras Slemmer
53bd5c2287
node: make AbstractNode's networkMapRegistrationFuture non-nullable
2016-06-13 18:09:38 +01:00
Clinton Alexander
86b5b7299a
Moved node directory creation into the abstract node.
2016-06-13 15:30:26 +01:00
rick.parker
73cbab0084
Pull out Wallet observable into it's own branch
...
Review feedback
Review feedback
Apply feedback from previous PR
Apply feedback from previous PR
Apply feedback from previous PR
PR feedback
PR feedback
PR feedback
2016-06-10 17:16:56 +01:00
rick.parker
82abc69046
Pull out StateMachineManager observable into it's own branch
...
Review feedback
Review feedback
Review feedback
2016-06-10 13:10:56 +01:00
Shams Asari
2365f9bca5
Persisting transactions to disk
2016-06-08 10:15:14 +01:00
rick.parker
97e04ba7d0
Fix registration of services due to Kryo not following synthetic fields by default
...
Review feedback
2016-06-07 16:29:59 +01:00
Andrius Dagys
49664b4b50
Assign platformClock in serviceHub directly to avoid serialization issues
2016-06-07 13:53:00 +01:00
Andrius Dagys
21f53a7d3e
Revert "Revert "Merged in validating-notary (pull request #123 )""
...
This reverts commit e64145991e
.
2016-06-07 13:53:00 +01:00
Ross Nicoll
f4f0e160d2
Genericise Cash contract to support non-Currency things
...
Split the verification and commands for the Cash contract into a new AbstractCashLike
class, and make Cash a concrete implementation of that class, specialised for dealing
with Currency as the underlying token.
2016-06-07 13:49:26 +01:00
Andrius Dagys
e64145991e
Revert "Merged in validating-notary (pull request #123 )"
...
This reverts commit d9f4e4da2e
, reversing
changes made to 654dc3f60a
.
2016-06-07 12:29:27 +01:00
Andrius Dagys
c45bc0df20
Split up Notary protocol into Client and Service parts. The Service protocol can be extended to provide additional transaction processing logic, e.g. validation.
...
Implemented a Simple and Validating Notary services.
2016-06-07 10:58:34 +01:00
Shams Asari
654dc3f60a
Resuming from checkpoints now working - seller (but not buyer) in trader demo can be restarted
2016-06-06 17:49:40 +01:00
rick.parker
8122e35a8a
Have ServiceHub entries implement SerializeAsToken so they are not copied into protocol checkpoints.
2016-06-06 16:55:46 +01:00
Ross Nicoll
d7b367965f
Genericise Amount class
...
Make the Amount class generic so it doesn't have to represent a quantity of a
currency, but can handle other things such as assets as well, or extended detail
(for example a currency-issuer tuple).
2016-06-01 11:58:13 +01:00
Ross Nicoll
fc62010da6
Move cash contract into its own package
2016-05-31 17:07:36 +01:00
Mike Hearn
fac38e1f3f
Attempt to fix AffinityExecutorTest and fix an IDE hint.
...
This test sometimes fails on Jenkins but I can't reproduce the failure here. There is a race in the tests though, I think this should fix it.
2016-05-25 12:27:57 +02:00
rick.parker
7982902e38
Added comment about use of Semaphore and CountDownLatch
2016-05-24 16:27:39 +01:00
rick.parker
4c75effe8c
First phase of updates based on feedback
2016-05-24 14:44:09 +01:00
rick.parker
0b2c16be67
Changes to packages after refactor
2016-05-24 11:48:04 +01:00
rick.parker
f8e610aa71
Re-apply changes
2016-05-24 09:41:00 +01:00
Matthew Nesbit
63a5fd1b9e
Add com.r3corda to all namespaces.
2016-05-23 14:53:56 +01:00
Matthew Nesbit
c6b788f792
Remove orphaned comment
2016-05-20 16:09:08 +01:00
Matthew Nesbit
06f4c6ab5b
Move test to core as part of tidy up.
2016-05-19 14:10:25 +01:00
Matthew Nesbit
5d054c8ab3
Rename node.core to node.internal from Rick's suggestion not to use core outside of the core package.
2016-05-19 12:07:14 +01:00
Matthew Nesbit
4ecc129b72
Kill test resource file that didn't move correctly
2016-05-19 10:59:11 +01:00
Matthew Nesbit
01e9536444
Refactor code into clear core, contracts and node namespaces. Move services into clear implementation and api sides. Push unit tests down to lowest level of dependency hierarchy possible.
2016-05-19 10:59:10 +01:00
Matthew Nesbit
c8130581a9
Push internal subsystems into node
2016-05-19 10:59:07 +01:00
Mike Hearn
e1f899647a
Modify the trader demo so it doesn't need a shell script to start it anymore. Now all configuration is in the driver program.
2016-05-17 18:13:24 +02:00
Mike Hearn
e475b146d9
Testing: add a unit test that runs the IRS simulation through to completion, to ensure some test coverage of TwoPartyDealProtocol until it's merged with TPTP. Fix an issue that was breaking the simulation.
2016-05-17 17:57:41 +02:00
Mike Hearn
f9920cbc28
Testing: expose a future from the Simulation.start method to let you find out when the simulation has finished (if it finishes at all).
...
Add a simple test that just forces the IRS simulation through to completion (no real checks on the output).
2016-05-17 17:57:40 +02:00
Mike Hearn
8bcc6bdf1c
Testing: expose the full message transfer record (with sender and recipients) when iterating a mock network and simulation.
...
This is useful for the visualiser to exclude uninteresting interactions.
2016-05-17 17:56:32 +02:00
Mike Hearn
5de2ba4ef9
Tweak the simulation so that the startup sequence of the network (with map registration etc) can be observed.
2016-05-17 17:56:31 +02:00
Mike Hearn
474054411d
Minor: expose a started getting on AbstractNode and check for double starts. Expose findMyLocation as public.
2016-05-17 17:55:52 +02:00
Mike Hearn
c5f7849689
Minor: delete dead field
2016-05-17 17:53:28 +02:00
Mike Hearn
b714a09881
A node that is exporting a network map service should not try to register with itself twice (one internally and once over the network).
...
Minor renamings and cleanups in the network map code.
Throw an exception if a production node isn't configured with any network map service at all.
2016-05-17 17:53:26 +02:00
Mike Hearn
883be19978
Testing: make the in memory messaging service support logging of all sent messages with useful text descriptions of each node
2016-05-17 17:50:27 +02:00
Mike Hearn
c5217412a4
Put the network map service into the list of network services in Simulation, and update the mock physical locations, so the visualiser tool looks better.
2016-05-17 17:50:26 +02:00
Andrius Dagys
8f9413115b
Added a TODO for combining the Notary verification logic with command sig verification
2016-05-17 12:14:14 +01:00
Andrius Dagys
4affe7271b
Seller: Verify that the Notary signature received from the Buyer is by the correct Notary
2016-05-17 12:14:14 +01:00
Matthew Nesbit
4fd32c3455
Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-174-reorganise-for-bank-developers
2016-05-16 15:27:44 +01:00
Matthew Nesbit
e8e909a5ff
Use simple for loop for api registration on node
2016-05-16 14:42:04 +01:00
Matthew Nesbit
f26178f602
Fix variable shadowing
2016-05-16 09:24:27 +01:00
Matthew Nesbit
6bdbc7925b
Fix IRS demo by allowing demos to optionally register JAX-RS classes on the node at construction time.
2016-05-14 19:26:20 +01:00
Matthew Nesbit
988e00099d
Capture file moves to separate Node implementation code into its own gradle module and leave only demo code in top level src folders.
...
I have to temporarily break\disable the IRS demo to which has a circular dependency. Will fix next.
2016-05-14 17:57:41 +01:00