Commit Graph

81 Commits

Author SHA1 Message Date
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
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
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
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