- 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.
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.
This makes the error messages when verifying state issuance consistent between
Cash, CommercialPaper and Obligation contracts, in preparation for introducing
a common issue clause between the contracts.
* Rename AggregateCommands to IssuanceCommands
* Reorder comparisons to be consistent
* Rename verifyDefaultCommand to verifySetLifecycleCommand
* Rename currency to issued/product
* Add note about needing to rethink timestamping
* Rename issuer to obligor, and owner to beneficiary
* Move lifecycle inversion code into SetLifecycle command
* Correct comments regarding cash states
* Rework description of contractHash parameter
* Fixes 'netting equal balances due between parties', and add further netting tests
* Separate calculations involving issued products and the underlying product
* Use signed transactions in obligation tests
* Add verification tests for changing lifecycle
- 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.
* Add common Issue command to encourage presence of a nonce value when issuing state objects.
* Add common Move command for contracts which support being moved in order to fulfil other contracts.