a7419b116d
Add newSecureRandom() that uses a non-blocking SecureRandom provider on Linux
2016-06-20 14:11:03 +01:00
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
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
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
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
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
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
1a1ed3b9e6
Merged in use-urandom-2 (pull request #159 )
...
Use /dev/urandom try no.2
2016-06-17 13:36:23 +01:00
9ec1ec786f
contracts: remove TODO
2016-06-17 13:27:35 +01:00
a72bab0fb7
contracts: make test compile
2016-06-17 13:27:35 +01:00
906c100c29
contracts: use newSecureRandom() instead of SecureRandom.getInstanceStrong()
2016-06-17 13:07:25 +01:00
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
eae3efdf02
Minor: Edit reference after copying amount
...
Edit reference after copying amount in cash tests, so that when the amount includes
a reference, the copying doesn't replace the changed reference.
2016-06-16 15:04:33 +01:00
860353c4d4
Initial checkpoint when protocol is first added
2016-06-16 09:54:49 +01:00
f831ffdf3d
Add tests for TransactionGraphSearch
2016-06-15 16:21:53 +01:00
7e15445ee9
Removed the CrowdFund contract since it is written in a style that is not typical of Corda contracts.
2016-06-15 12:32:36 +01:00
3ab3955213
.
2016-06-14 11:57:55 +01:00
2ce0dce0aa
.
2016-06-14 11:28:58 +01:00
86203709c0
Payment dates now are calculated as an offset to the period end date
2016-06-13 19:00:27 +01:00
12f3e4802c
Change to the comments that we have discussed the possibility of allowing code such as 0.1.percent
2016-06-13 16:24:49 +01:00
21f53a7d3e
Revert "Revert "Merged in validating-notary (pull request #123 )""
...
This reverts commit e64145991e
.
2016-06-07 13:53:00 +01:00
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
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
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
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
fc62010da6
Move cash contract into its own package
2016-05-31 17:07:36 +01:00
ee5088066c
Add unit tests covering cash sum methods
2016-05-31 14:21:29 +01:00
63a5fd1b9e
Add com.r3corda to all namespaces.
2016-05-23 14:53:56 +01:00
1d5f409c66
Remove unnecessary .Companion statements brought in during refactoring.
2016-05-20 16:43:03 +01:00
69cba98ddc
Push unit tests that needed some contract functionality into core by embedding the minimal contract support needed.
2016-05-20 16:43:02 +01:00
f6f56797ce
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-20 16:42:59 +01:00
a556dfb17d
Push internal subsystems into node
2016-05-20 16:42:56 +01:00
058ac986bd
Move contracts base files to namespace to make api aspect clearer in includes.
...
Move Party to core.crypto as Party is closely aligned with the signing and used in code areas unrelated to the contract code.
2016-05-14 13:47:07 +01:00
fa3f7e7fa6
Added a basic Notary service with protocol for signing transactions
2016-05-13 16:17:50 +01:00
539e23a0b1
Merged in plt-141-moves-only-part-3 (pull request #93 )
...
File and interface moves to core module for scheduler
2016-05-13 15:17:32 +01:00
25e2c4bc4d
Add issuance definition for cash contract
...
Add issuance definition for cash contract, as well as common interfaces to support later
extensions. The issuance definition encapsulates the core values for state objects when
issued, and essentially acts as the Ricardian contract for Corda states.
2016-05-13 14:55:12 +01:00
1ce8a64938
File and interface moves to core module
2016-05-13 14:03:28 +01:00
62e7dc583e
Expanded the verify() function for the IRS Contract
2016-05-10 15:32:08 +01:00
c6fab1c642
Remove superfluous semicolon
2016-05-09 18:16:40 +01:00
642b951bae
Rename PartyReference to PartyAndReference
2016-05-09 17:55:37 +01:00
252eb141a7
Require that a cash Issue command is the only command
...
Require that a cash Issue command is the only cash command in a transaction.
Although no problems are anticipated with other commands being present, they
could theoretically confuse other verification tools.
2016-05-09 16:55:44 +01:00
a205475ef0
Move cash contract Issue instruction verification into its own function
2016-05-05 11:12:58 +01:00
73f4803b72
Move common move command verification into a shared function
2016-05-05 11:12:25 +01:00
fcc36c472a
Improve the contracts API and Cash contract a bit, and beef up the unit tests.
...
Better usage of generics in groupStates so the group exposes the grouping key that was used, this avoids constructs like `val issuer = outputs[0].deposit.party` which is a bit ugly.
2016-04-20 14:36:14 +02:00
7a9f74ca79
Merge branch 'master' into dynamic-loading
2016-04-13 19:03:04 +02:00
eb3632b393
Minor: timestamping service is now named just "Timestamping Service" instead of "European Timestamping Service"
2016-04-13 15:20:27 +02:00
9a8b3bd1ef
Added interpolation functionality for the rates oracle. The oracle can be set up with different interpolation mechanisms, currently supported are: linear and cubic spline
2016-04-13 12:32:04 +01:00
d05e6bb6a4
Merge branch 'master' into dynamic-loading
2016-04-09 01:01:36 +02:00
6fe8107d27
Merge branch 'master' into dynamic-loading
2016-04-08 22:40:18 +02:00
49d5fb33c4
Remove copyright headers from the files and put the text in the README instead, per feedback from Jacob and external counsel.
2016-04-08 11:46:07 +02:00