* Test nested generics case
* Recursively resolve type parameters
* Comment and ensure type variables are resolved
* Only upper-bounding needs to be done recursively
1) TwoPartyTradeFlowTests - restructured - saving transaction just after creating a state, as it's needed for the next TransactionState to be verified (for non-downgrade rule), enable more tests which were set as @Ignored, left 3 TODOs as 2 tests were slightly modified, need further investigation
2) MockService method loadContractAttachment always returns a dummy Attachment which means it has a default Contract Class Version number 1 used for signature constraints non-downgrade rule.
3) TransactionSerializationTests - added a fake transaction which created fake stated used as input state and using real (not mocked one) implementation of loadContractAttachment
* Modify toString of DBCheckPoint
Fix toString of object DBCheckPoint to remove printing of array in DEBUG log
* Update DBCheckpointStorage.kt
Fix for Code Style Guideline
There was a parallel work done on PersistentKeyManagementService (new table added) while this service has been superseded by BasicHSMKeyManagementService.
Move new table change for the former class to the later one and did some minor cleanup.
* ENT-2835: handle uncaught exception when bridge tries to send a message using a disconnected amqp client
* ENT-2835: remove emptyline
* ENT-2835: added comment explaining the exception handling
Contract class version non-downgrade rule is check by LedgerTransaction.verify().
TransactionBuilder.toWireTransaction(services: ServicesForResolution) selects attachments for the transaction which obey non downgrade rule.
New ServiceHub method loadAttachmentConstraint(stateRef: StateRef, forContractClassName: ContractClassName? = null) retrieves the attachment contract related to transaction output states of given contract class name.
Finance CorDapp v3.0 and core node 3.0 database tables doesn't have Liquibase migration scripts, now in Corda v4.0 the Liquibase has been introduced. Allow older Finance Cordapp v3.0 which doesn't have Liquibase to run in node v4.0 and create Liquibase log entries for FinanceApp only if it has schema migration (so it’s of v4.0).
At implementation level: there is new case when database has already Liquibase control tables however it doesn’t contains entries related to tables created by FInnaceApp and if the FinaceApp has Liquibase scheme it means it needs to be added to Liquibase logs.
* Create seperate webserver caplet
* Revert "Create seperate webserver caplet"
This reverts commit 7e1f01d576.
* Make sure cordapps are scanned for web server plugins
The build process creates new version fo Cordapp JAR in post 'jar' task.
So far JAR signing was integral part of the jar task, now it's also available as a separate task signJar (gradle-plugins PR corda/corda-gradle-plugins#130).
Using signJar to re-sign Cordapp shrinked JAR.
Note: similar sort of changes already made in Ent codebase that fix execution against external DBs.
it will make sense to backport those change to OS to avoid merge conflicts in the future.
It exposed the internal SerializationEnvironment class. It previously documented that the SerializationEnvironmentRule JUnit rule should be used instead.
TransactionBuilder loads attachment using attachment storage instead of CordappLoader,
contract class version is now Integer (format and stored in db as Integer).
Or else tests:
AttachmentsClassLoaderTests.Test valid overlapping contract jar
ConstraintsPropagationTests.Happy path for Hash to Signature Constraint migration
are failing.
* Include notary identity in network parameters in smoke test
* Notary is required for smoketesting
* Address comments
* Cleanup
* Using milliseconds in parent dir name to avoid conflict
* Address comments
* Fix creation of network params
* Address comments
* [WIP] Workaround to enable serialisation of network parameters
* Cleanup
* Address comments