* 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
* 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
Add AnonymousParty superclass of Party in preparation for anonymising parties stored in
contract states.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
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>
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>
* Update notary change flow to support encumbrances.
Move encumbrance pointer from ContractState to TransactionState.
* Refactor & add new encumbrance tests
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
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
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.
Added ApiUtils - a library for managing api lifecycles with less boilerplate.
Added default values to http api and improved the api utils.
Fixed spacing and comments.
Removed withName and added a bad request response to handle error cases.
Replaced use of 400 error with a 404 and error message as per HTTP spec.
# 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)
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
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
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
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
waitForNodeStartup should now throw after 2 minutes rather than 20 seconds. Some bank devs were finding integration tests failing as nodes had still not started...
Added getFreeLocalPorts() for grabbing more than one port. Fixes bug in freeLocalHostAndPort() where the same port can be picked multiple times.
In README.md instruct users to grab IntelliJ16 instead of 15.
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.