* * generate distributed service certificate properly in keystre instead of saving key in flat file when using `generateToDisk`
* move composite key loading hack to devSSL keystore generation process.
* fix and distributed service un-ignore test
* update comment to clarify the composite key certificate creation process.
* fixup after rebase
* Remove advertisedServices from NodeInfo.
Introduce notaryIdentities in NetworkMapCache, that will be filled in
later from NetworkParameters. Clean up NetworkMapCache API. Expose
notaryIdentities through RPC. For now we assume as temporary solution
that notaries in NetworkMap have to contain "notary" in name.
* Further clean up of NetworkMapCache API
Remve partyNodes. Introduce getAllNodeInfos function
* Remove notaryIdentity from ServiceHub
* Address Shams review comments
* Address Andrius review comments
* Add comments, cleanup
* Fixes
* Address comments
* Yet another commit with comments addressed
* Move ServiceType and ServiceInfo to node-api
Add changelog entry. Address rest of comments.
* Minor comments
Updated code base to make use of these instead of chooseIdentity(). Also improved the serialisation of fiber checkpoints so that it doesn't store the entire cert parth of this identity.
* Remove node's main identitiy from NodeInfo.
Preparation for getting rid of services + supporting multiple identities
on the node.
NodeInfo keeps multiple identities as a list. For now the first one is treated as a special one.
Introduced function chooseIdentity in CoreTestUtils as a preparation for proper handling of multiple identities in the future.
Remove legalIdentityKey from ServiceHub, add extension function - chooseIdentity on ServiceHub.
Add `me` field on FlowStateMachineImplemetation, flows should know what the calling identity is.
Remove SERVICES_PREFIX in artemis messaging layer.
* Address minor comments.
* Fixes after rebase.
Remove chooseIdentity from ServiceHub
* Rename me to ourIdentity on FlowLogic
* Fixes after rebase
* Address Ross comments, fixes
* Fix after rebase
* Fix services certificate paths
Apply Patrick's patch.
* Introduce FlowSession, startCounterFlow, Deprecate send/receive expecting a Party
* FlowSessionImpl
* Change flow construtors to accept FlowSession
* Add some docs and a small guide to porting
* otherParty -> counterparty
* minor kdoc fixes
* Change to using strings in CordformContext; X500Name is an external API dependency we're trying to avoid, X500Principal rearranges the order of the elements in a way we don't want, and trying to put CordaX500Name into Groovy in the time available is impractical. As such having pre-formatted strings used in the Cordform plugin makes most sense right now.
* Remove uses of CordaX500Name.x500
* Remove old X.500 parsing tools
* Move CordaX500Name.x500 into X500NameUtils
* Move X500NameUtils into internal
Introduced a Cordapp class which contains all relevant information about a Cordapp. The Cordapp loader now produces Cordapps instead of lists of classes and services without any relation to the original Cordapp.
Added new static constructor to CordappLoader to be able to take arbitrary paths to load cordapps from in dev mode.
Moved the CordappLoader into the cordapp package.
* Improved support for testing custom schemas using a MockNetwork.
* Removed `requiredSchemas` from CordaPluginREgistry configuration
Custom schema registration now uses classpath scanning (CorDapps) and explicit registration (tests) following same mechanisms as flow registration.
* Updated following PR review feedback.
* Helper function to return Kotlin object instance fixed and moved to core InternalUtils class.
* Fixed auto-scanning Unit test to assert correct registration of custom schema.
* cleanup comment.
* Changes following rebase from master.
CordappLoader - Added a new cordapp loader class to encapsulate loading of cordapp classes. Added a utils for classloading. Moved a lot of code out of abstract node into the new loader.
* ContractState's contract type has been moved to TransactionState and is now a string representing the class name of the contract class to allow classloading of arbitrary contracts from custom classloaders.
* Upgraded isolated JAR to new version.
* Enabled confidential identities in:
** IssuerFlow
** Trader demo
** Two party deal flows
** Two party trade flows
** Corda RPC tests
** Cash flows
** Integration testing tutorial
** Node monitor model tests
** CollectSignatureFlow
* Relay local node's confidential identities to counterparties when requesting transaction
signatures, so counterparties know where the inputs come from.
* Require all identities are known in finality flow
* Ensure all identities in FxTransactionBuildTutorial are known to each other
* Add flow for syncing identities to a number of counterparties
* Address PR comments
* Disable anonymisation in example code
* Revert unnecessary changes remaining from earlier rebases
* Corrections after rebase
* Remove unneeded identity registration
Remove unneeded identity registrations from tests, which sometimes cause duplicated entries in the database
* Revert accidental change in examples
* Revert unneeded imports
* Revert changes to CoreFlowHandlers.kt
Fixup tests after rebase
Add unit tests of Persistent Identity. Fix bugs in PersistentMap.
Wrap identity and network map RPC calls in database transaction
Address PR comments
* Enable RPC start of Flows that return nothing (eg. Void).
* Fix blocking test (caused by not running mockNetwork).
Improve execution times by moving redundant setup() initialisation to only tests that use it.
* Rename KeyFactory to CompositeKeyFactory
* Move expandedCompositeKeys into TestDSL as the only place that uses it
* Move NullKeys out of their own package
* Move remaining crypto classes into superpackage
* Move utility classes out of crypto and into utilities package
* Remove notify/notifyAll from public Vault Service API.
* 1st pass - remove ContractUpgrade public API calls from VaultService into self contained ContractUpgradeService.
* Fix compile error caused by cut'n'paste refactoring.
Work on database backed NetworkMapCache
Make NodeInfo JPA entity.
Enable node startup with it's database network map cache. Fix schema.
Make node not wait for finishing network map service registration if it
successfully loaded data from database.
Add tests for startup without NetworkMapService.
* Rename networkMapRegistrationFuture
Change networkMapRegistrationFuture to nodeReadyFuture, it no longer
indicates the NetworkMapService registration, because we are able to run
network without map service configured.
* Partially integrate database into NetworkMapCache
Full integrtion will come with service removal.
Move MockServiceHubInternal to net.corda.node.testing
* Add workaround to transaction scope race
Temporary workaround to force isolated transaction (otherwise it causes race conditions when processing
network map registration on network map node).
* Remove WorldMapLocation from NodeInfo
Infer the node's location based on X500 name
Add serial number on NodeInfo
For tests of running without NetworkMap, start nodes with nonexistent NetworkMap address
Make clearNetworkMapCache callable via RPC.
Move default session ID into messaging service to clean up the API. This means it no longer shows up in a Java class (ServiceHubInternalKt) as its only member, and is instead scoped into the service that actually uses the value. This does result in a MessagingService.Companion object (as MessagingService is an interface), however this is probably the most sensible solution.
* Performance fix: prevent self joins on VaultStates table (was occurring when Sort specified).
* Enrichment and overriding of Common attributes (eg. Vault.StateStatus and Contract State Types) using composite query criteria.
Remove unnecessary QueryEditor implementation from NodeVaultService.
* Updated documentation and changelog.
* Misc fixes to broken documentation code snippets.
* Incorporating changes from PR review feedback.