Commit Graph

1635 Commits

Author SHA1 Message Date
f8026e9775 Docs: address review comments from Richard. 2018-12-21 12:56:21 +01:00
ee5536da14 Docs: add more info on target/min versioning to the app-upgrade-notes. 2018-12-21 12:56:21 +01:00
323effa236 Docs: release notes and improvements to upgrade notes for Corda 4.
Move release/app upgrade notes to the top of the toctree.

Authors: Kat Baker, Jose Coll, Mike Hearn, Tommy Lillehagen.
2018-12-21 12:56:21 +01:00
8ac32f52f6 CORDA-1839 - Remove race condition between trackBy and notifyAll (#4412)
* CORDA-1839 - Remove race condition between trackBy and notifyAll

* Fix null check

* Improve filtering

* Switch equality test to refs

* Refine filtering of seen updates

* Add entry in the changelog

* Address comments
2018-12-21 09:40:07 +00:00
39e5dc5749 [CORDA-1828] Documentation update for observer nodes (#4443)
CORDA-1828 Documentation update for observer nodes

* Update observer node documentation

* Added test to catch original issue if seen again
2018-12-21 08:18:14 +00:00
830959c9f7 CORDA-2345: Simplified TestCordapp to make it inline with the recent CorDapp versioning changes (#4434)
TestCordapp has now two implementations to clearly separate the two use cases it has in the Corda repo:

* TestCordappImpl which implements the revised public API of TestCordapp; namely that a TestCordapp instance references a real CorDapp jar on the classpath. This is either an external dependency jar in which case it’s taken as is and given to the node, or it’s a local gradle project in which case it’s compiled using the gradle “jar” task to generate the CorDapp jar. This approach means the jar has all the original CorDapp versioning information, which is important that it’s correct when testing. To this end, TestCordapp only needs to expose the ability to specify the app’s config. All the remaining properties have moved to CustomCordapp.

* CustomCordapp for creating arbitrary custom CorDapps, including specifying the jar’s MANIFEST values. This is internal API and only used for testing the platform. Technically this shouldn’t implement TestCordapp but does so to reduce the complexity of the driver and mock network.
2018-12-20 09:49:58 +00:00
4aaefb4fe9 CORDA-2331 Split Workflow and contracts of Finance App into separate Cordapps (#4422)
* Split Workflow and contracts of Finance App into separate Cordapps, part 1 - content which is different between OS and ENT is still in contract Cordapp.

* Move CashSelection implementations to workflow module.

* Move CashSelection implmentations to workflow module.

* Move finance module to finance-flows, top level finance module is empty.

* Move finance module to finance-flows, top level finance module is empty.

* Updated build comment.

* Revert publication of combined (contracts and flows) corda-finance.jar (to maintain backwards compatibility with 3rd party cordapps dependent on finance)

* Added backwards compatibility clarification comment.

* Re-instate new cordapp metadata.

* Global rename of `finance-flows` to `finance-workflows` to follow adopted naming conventions.

* Addressed final review comments.

* Rename application to "Corda Finance Demo"

* Generation of original corda-finance jar from new sub-modules.

* Fixed and tested demobench with new split finance contract and workflow jars.

* Renamed finance sub-modules to contracts and workflows.

* Remove Michele!!!

* Minor fix to filtering logic.

* Align CorDapp configuration filename with workflows jar.

* Fix breaks caused by finance module naming changes.

* Final alignment between OS/ENT of finance contract code.
2018-12-19 18:02:51 +00:00
17e7a3ad7c Remove documentation of building container images with jib (#4430)
This is not inline with the official container image.
2018-12-18 12:27:33 +00:00
43f241cb8b Docs: mention the new no-downgrade rule in the upgrade notes. 2018-12-18 12:48:51 +01:00
579b312237 Docs: give the "upgrading cordapps" page a slightly more compact name to improve toctree formatting. 2018-12-18 12:48:51 +01:00
d309fae2b4 Docs: demonstrate usage of the contracts/workflows jar split. 2018-12-18 12:48:51 +01:00
4f9a4a2c2b Docs: address more review comments, add mention of some new features. 2018-12-18 12:48:51 +01:00
fb89ab3151 Address review comment: mention that SwapIdentitiesFlow was adjusted in the same way. 2018-12-18 12:48:51 +01:00
cd0fd628e6 Address review comments 2018-12-18 12:48:51 +01:00
43e4279250 Docs: improve upgrade notes 2018-12-18 12:48:51 +01:00
d5169304cd Docs: add min/target version design doc to the toctree. Refresh versioning doc page. 2018-12-18 12:48:51 +01:00
d108517099 Docs: move the versioning page to the building a cordapp section, as it's more relevant to app devs than network operators. 2018-12-18 12:48:51 +01:00
e8a467cab8 CORDA-2304 Never give up on notarisations (#4420)
* Make TimedFlows retry forever, and cap the growth of the time out interval.

* Only time flows for restart if that is sensible (i.e. notary flows that actually have an alternative node to talk to).

* Move check for multi node notary into getter so it the `canBeRestarted` attribute can't be set too late.

* Make restartable timed flow a concept on SubFlow metadata and the relevant events so we can handle it properly for subflows based on their metadata.

* Addressing review comments.

* Consistent naming

* Update documentation

* Addressing documentation comments.
2018-12-18 09:18:12 +00:00
e70670368c CORDA-2301 JVM args documentation (#4417)
* Document the ways and behaviours of setting JVM args on a corda node process.

* Small review fixes

* Clarification, removing outdated jvmArgs documentation
2018-12-17 16:43:22 +00:00
5cf64e5c23 Document the messagingServerExternal property on the OS node. (#4428) 2018-12-17 16:09:44 +00:00
2acd973cb0 Trival change to improve search hits for log4j2
Make log4j2 consistence - to make docs search easier (log4 2) wasn't
catch by 'log4j2' search.
2018-12-14 16:34:19 +00:00
9cdda3bd77 CORDA-2149 CorDapp Contract and Workflow version identifiers (#4363)
* Implementation of Contract and Workflow attribute identifiers.

* Fixes following rebase from master.

* Fix broken JUnit test.

* Fix broken JUnit test.

* Fix broken JUnit test.

* Added missing constants.

* Further clean-up.

* Updated documentation.

* Added changelog entry.

* Updated all samples (using new Gradle Plugin 4.0.37 functionality)

* Temporarily resolve gradle plugins from latest published snapshot.

* Temporarily resolve gradle plugins from latest published snapshot.

* Updates following feedback from PR review.

* Move constants into CordappInfo companion object.

* Contract and Workflow attribute `version` to `versionId` (as version is a reserved gradle variable)

* Clarified warning message on incorrect version identifier.

* Align version identifier processing logic with gradle cordapp plugin.

* Updated comment.

* Minor fixes following rebase from master.

* Fixed broken unit test.

* Improved exception reporting.

* Update to use 4.0.37 of Gradle Plugins.

* Added support for combined Contract and Workflow CorDapp info.

* Updated following discussions with Shams + cleanup.

* Updated following Shams PR review.

* Minor API improvements.

* Added missing cordapp info causing deployNodes to fail.
2018-12-14 09:39:23 +00:00
870058e72d Change IOU Example docs (#4408) 2018-12-13 14:56:53 +00:00
eb4a33e438 Corda-3941: initialiseSchema property couples corda node and cordapp ddl handling (#4277)
New property database.initialiseAppSchema introduced that allows to turn-off Hibernate DDL generation while leaving Node-specific Liquibase handling enabled.
2018-12-13 14:34:58 +01:00
0c880fb7a7 Reverted incorrect deprecation of JacksonSupport.createInMemoryMapper (#4393) 2018-12-13 10:20:48 +00:00
b70740cf2e ENT-2785 Create clearer separation between RPC and P2P classes to make it easier to adjust logging levels independently. (P2P remained as is, some internal node RPC classes moved to existing node RPC package from generic messaging package, which is now just for P2P). (#4401) 2018-12-12 17:36:44 +00:00
ccaf9dfbfa [CORDA-2323]: Make detectPublicIp disabled by default. (#4404) 2018-12-12 13:38:57 +00:00
08b4e4bd2d In docs:key-concepts, transactions should come before contracts (#4352) 2018-12-11 14:59:11 +00:00
6b1dc2ef27 [CORDA-2162]: Cash.generateSpend cannot be used twice to generate two cash moves in the same tx (fix). (#4394) 2018-12-11 14:42:41 +00:00
4799df9b80 CORDA-2150 signature constraints non-downgrade rule (#4262)
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.
2018-12-11 10:23:07 +00:00
b14f3d61b3 Update note at the top of the Kafka notary design doc
We don't currently plan to ship this notary.
2018-12-11 11:16:06 +01:00
c31da13c70 [CORDA-2213]: IRS Demo is unable to simulate future dates (fix). (#4384)
* [CORDA-2213]: IRS Demo is unable to simulate future dates (fix).

* [CORDA-2213]: IRS Demo is unable to simulate future dates (fix).
2018-12-07 16:59:52 +00:00
e2ea97bae7 [CORDA-2265]: Nodes hangs when using AppServiceHub to start a flow in a blocking way (fix) (#4376) 2018-12-06 15:13:32 +00:00
f78c464d86 CORDA-2289 changelog entry for transaction mapping table. (#4371) 2018-12-06 13:17:33 +00:00
2833013119 [CORDA-2294]: Improved exception thrown by AttachmentsClassLoader when attachment uploader is not trusted. (#4373) 2018-12-06 11:19:40 +00:00
ad48301149 [CORDA-2247]: Fixed a bug causing Hibernate to produce cross joins. (#4366) 2018-12-06 10:50:47 +00:00
63e326aedb CORDA-2157 - Hash to Signature constraints migration V2 (#4261)
* Hash to signature constraints migration #1

* After rebase from Attachments Classloader commit.

* Simplified implementation without CZ whitelisting and relaxing the no-overlap rule slightly.

* Further simplification.

* Detailed implementation.

* Use fully loaded Cash contract jar for hash to signature constraints migration test.
Additional debug logging.

* Minor cleanup.

* Address PR review feedback.

* Minor fix.

* Fixes following rebase from master.

* Implemented `calculateEntriesHashes` to improve classloader validation performance.

* Address minor PR review comments.

* Added integration tests and some minor fixes.

* Minor fixes following rebase from master.

* Updates and fixes following integration testing.

* Added changelog entry.

* Fix broken unit tests.

* Fix compilation errors in DriverDSL tests after rebase from master.

* Minor fix to test cordapp jar signing using explicit keystore.

* Run hash-to-signature constraints integration test out of process using a non-validating notary.

* Address PR review feedback: contract version from database + other minor changes.

* Address final PR review feedback: remove signed attachment field from attachmentWithContext

* Resolve conflicts following rebase from master.

* Fix failing junit test.

* Fix Kryo serialization error (forgot to write new `version` identifier field)

* Removed redundant query carried over from previous commit.

* Added documentation.

* Fix test case where explicit Hash Constraint input and Signature Constraint output explicitly configured.

* Addressing PR review comments from SA.

* AttachmentQueryCriteria API: added wither methods and Java Unit tests.

* Fixed compilation error caused by Unit tests being in wrong module.

* Added @CordaInternal to canBeTransitionedFrom function.

* Minimized AttachmentClassloader overlap duplicates checking.

* Moved JarSignatureTestUtils and ContractJarTestUtils to internal pending clean-up and documentation before public release.

* Minor fix following rebase from master.

* Removed redundant checkNotNull(networkParameters) checks now that these are always passed into the main (non-deprecated) constructor.

* Remove capitalization.
2018-12-04 18:45:29 +00:00
9232b3637b Fix typos (#4317) 2018-12-03 22:30:15 +00:00
11e7bf5bbc CORDA-1456: Change output format in the shell (#4318)
* [CORDA-1456] Add support and switch for JSON/YAML output format
2018-11-30 10:14:26 +00:00
b51c398ebe Fix docs on branching verify with commands 2018-11-28 22:25:21 +00:00
994afcfef7 [CORDA-2055] [CORDA-2236]: Bootstrapper cordapp copying (#4309) 2018-11-28 13:28:56 +00:00
9d748e7b0c Document standalone signJar task (related to CORDA-1915). (#4171) 2018-11-28 12:48:50 +00:00
95cf4d9310 Remove incorrect info that enums could not be evolved. (#4304) 2018-11-27 17:25:23 +00:00
b7d04b1c6e [CORDA-2235]: Add overrides for network parameters via command line and file (#4279)
* Temp commit

* Print the error message first by default, makes error output more natural.

* Polishing

* Further modifications after testing

* Documentation updates

* Couple of fixes after review

* Removing unnecessary tests

* Fix broken test

* Add interface to bootstrapper for testign

* Added unit tests

* Remove unused class

* Fix up bootstrapper unit tests and add a couple more

* Refactor the tests slightly

* Review comments

* Couple of minor tweaks
2018-11-26 17:11:05 +00:00
d399e3c242 CORDA-2232 external id to pub key mapping - fixes
Fixes in PersistentKeyManagementService.kt, VaultSchema.kt, and vault-schema.changelog-v8.xml. (#4295)
2018-11-26 16:03:06 +00:00
88fbb47f67 ENT-2320 state contract identification (#4285)
* Enforce state/contract agreement validation

* Fix some broken tests

* Ascertain targetVersion by inspecting the jar source of the ContractState

* Docs added and rebased against master

* contextLogger doesn't work here

* Java examples in docs

* Label IRSState with owning contract

* Fix rst formatting

* Add @BelongsToContract annotation to PortfolioState
2018-11-26 16:02:32 +00:00
5d43f3139e Finance CorDapp jar includes confidential-identities (#4296)
https://github.com/corda/corda/pull/4260 removed the dependency that node had to confidential-identities which means CorDapps using it must now use compile and not cordaCompile. This resolves the failing smoke test.
2018-11-26 14:59:24 +00:00
3b8a74fe44 CORDA-2114: SwapIdentitiesFlow is now inlined (#4260)
This is to fix the security issue whereby any counterparty is able to generate anonymous identities with a node at will without checks.
2018-11-26 09:41:14 +00:00
2c182dd158 Use a wrapper over StateRef for references (#4286) 2018-11-23 15:20:10 +00:00
51adf9b678 LedgerTransaction no longer a data class to prevent more copy methods and fixed serialisation issue (CORDA-2231) (#4287)
LedgerTransaction is not meant to be created directly from client code, but it being a data class means we will expose new copy methods as new properties are added. The existing copy methods that we've exposed since V3 are deprecated, and equals and hashCode have been updated to be based just on id.

The primary c'tor has been clearly marked as the class' wire format, and so the internal stuff has been moved out. The references property cannot be made nullable and so DeprecatedConstructorForDeserialization is used instead.
2018-11-22 22:53:24 +00:00