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.
* Move merkle building extension functions on wire tx to WireTransaction class.
* Add timestamp, notary, transaction type and signers to wire transaction id calculation.
* Change construction of MerkleTree from duplicating last node on a given level to padding leaves' list with zero hash to size of the nearest power of 2 - so we always have a full binary tree.
The problem was that it was possible to construct 2 different transactions with the same ids. Trick worked for txs having number of leaves that were not power of 2.
* Update tear-offs documentation and diagrams to reflect changes in construction of Merkle trees - padding with zero hashes and including all WireTransaction fields in id computation.
* Change in filtering API of WireTransaction for partial Merkle trees calculation.
Instead of many filtering functions over a transaction only one needs to be provided.
Additional change to check and verification of FilteredTransaction.
* IRS demo change. Make filtering function a protected method of RatesFixFlow class.
Comment on situation when capturing too much scope and connected problems with checkpointing.
Change oracle and tear-offs documentation.
The IRS demo uses names of parties to identify them in flows, which introduces problems when a node may not
know who a party is, as well as being a poor choice of key generally. This switches to use the owning key
instead.
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>
This deprecates the existing composition clauses and adds new better named versions,
as well as changing 'AnyOf' to require at least one matching subclase (better matching
the name of the clause).
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
Resolve BankOfCorda through NMS in protocol
Fixes following Integration testing.
Register custom RPC Kryo classes.
Protocol -> Flow renaming
Bank of Corda demo - Issuer of Cash
Resolve BankOfCorda through NMS in protocol
Fixes following Integration testing.
Protocol -> Flow renaming
Addressed all comments in PR review.
Removed bank lines.
Updated minor inconsistency in README.md
All protocol references changed to flow.
changed protocol -> flow in TODO comment.
changed startProtocolPermission -> startFlowPermission in README.md
Added transaction id to IssuerFlow Success response.
Removed explicit call to record Cash Move transaction (as already recorded in subflow)
Removed quasar dependency.
Addressed comment in PR.
Updated to use CompositeKey.
Added arguments to pass in Currency and Amount.
Updated run configurations to pass in Currency and Amount values
Added additional parameter to IssuerFlow request: issueToPartyReference
Added Vault updates verification in RPC Integration test.
Fixed RPC Integration test (Vault assertions)
Updated run-time dependencies in line with other demos.
Applied changes following PR review (exception handling, party resolution handling, docs)
Updated gradle client run configs with new parameters.
Main driver app now uses standard out for display (was using logger info() but nothing was being displayed because of restrictive config)
Fixed formatting display problems.
Updated Web Api code to use new CordaRPCOps interface (and new partyFromName() exposed method)
Removed unused import.