Commit Graph

595 Commits

Author SHA1 Message Date
Ross Nicoll
3b8d696379 Add missing @Suspendable
Add missing @Suspendable to CashIssueFlow, as well as adding sanity
check to result of starting CashIssueFlow from
IntegrationTestingTutorial.
2017-02-20 10:41:31 +00:00
Mike Hearn
cc45121bea Merge pull request #248 from corda/clint-milestonedocsfix
Updated docs to refer to the latest milestone
2017-02-16 14:04:46 +00:00
Clinton Alexander
0e8d7fc2aa Updated docs to refer to the latest milestone and replaced a specific milestone reference with a generic one 2017-02-16 12:26:40 +00:00
josecoll
fa33336d38 Initial implementation of Vault Persistence using Requery (#191)
* 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
2017-02-16 11:02:36 +00:00
Shams Asari
40dde555e7 Added --logging-level cmd line arg to set the logging level, and improved flow logging 2017-02-14 09:56:50 +00:00
Patrick Kuo
28e83d1e66 Example code for contract upgrade using RPC. (#237)
* Added missing out modifier to UpgradedContract class
* Added ContractUpgradeFlow.Instigator to whitelist in AbstractNode
* Added test for contract upgrade using RPC
2017-02-13 15:39:48 +00:00
Ross Nicoll
98c30f6432 Remove CashFlow
Remove the CashFlow flow, replacing it with CashFlowCommand which can be used for the use-cases
with instructions passed around as an object.
2017-02-09 18:22:58 +00:00
Patrick Kuo
c054ffe719 Add support for contract upgrades (#165)
* Add support for contract upgrades
* Add interface for the upgraded contract to implement, which provides functionality for upgrading legacy states.
* Add shared upgrade command and verification code for it.
* Add DummyContractV2 to illustrate what an upgraded contract looks like.
* Add new functions to vault service to support upgrading state objects.
* Add contract upgrade flow
2017-02-09 17:14:31 +00:00
Ross Nicoll
9055c9d9b0 Split CashFlow into three flows
Split CashFlow into independent CashIssueFlow, CashExitFlow and CashPaymentFlow,
so that users can be given access to one but not the other(s).

Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-09 15:43:48 +00:00
Ross Nicoll
47d260625a Add AnonymousParty superclass of Party
Add AnonymousParty superclass of Party in preparation for anonymising parties stored in
contract states.

Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-09 11:37:32 +00:00
Joel Dudley
f9c4c6eba7 Rebuilds docs. 2017-02-08 16:08:46 +00:00
Mike Hearn
a058766298 Merge pull request #221 from gary-rowe/master
Fix incorrect port numbers in documentation for node explorer
2017-02-08 16:18:53 +01:00
Joel Dudley
b3e26b2022 Changes docs to point to cordapp-tutorial instead of cordapp-template as appropriate. 2017-02-08 10:34:54 +00:00
Andrius Dagys
f1025e999b Update notice on the docs index page to point to release M8
Regenerate docs
2017-02-07 17:18:21 +00:00
Andrius Dagys
8e6baa209f Release notes for M8 (#213) 2017-02-07 17:18:21 +00:00
Gary Rowe
e5d1b26a97 Fix the port numbers in the documentation to match actual values (build) 2017-02-06 16:23:11 +00:00
Gary Rowe
b1c5de1112 Fix the port numbers in the documentation to match actual values 2017-02-06 16:22:15 +00:00
Shams Asari
657cfa5d96 FlowException can be thrown from within UntrustworthyData.unwrap for better Java interop, and more checked exception annotations relating to flows 2017-02-06 16:00:52 +00:00
Mike Hearn
cc20a10225 Improve the flow commit API.
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.
2017-02-06 12:29:34 +01:00
Mike Hearn
f8c1996a48 Merge pull request #198 from corda/joel-tshooting-docs
Addresses RGB feedback on troubleshooting page.
2017-02-06 11:39:08 +01:00
kasiastreich
45d8e0f76d Tearoff fixes (#78)
* 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.
2017-02-03 14:02:51 +00:00
Shams Asari
b86c80691e FlowException serialised over RPC (subtypes are flattened), and improvement to startFlow RPC for correct exception handling 2017-02-03 11:21:10 +00:00
Ross Nicoll
2f9af7d7dc Revert Party.Full in preference for a less invasive change 2017-02-02 13:47:32 +00:00
Mike Hearn
f4b66536c2 Merge pull request #193 from corda/joel-rebuild-docs
Rebuilds docs.
2017-02-01 18:27:10 +01:00
Ross Nicoll
1b86ddfd6e Replace Party with Party.Full
Replace Party with Party.Full as an interim step to introducing the Party.Anonymised class.

Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-01 15:18:12 +00:00
Joel Dudley
a5c0e2426c Addresses RGB feedback. 2017-02-01 12:14:36 +00:00
Clinton
d376a902ad Merge pull request #180 from corda/clint-webserversplit
Split webserver from node
2017-02-01 12:13:31 +00:00
Andrius Dagys
6aa7e7a324 Update Network Simulator with new branding 2017-02-01 10:59:36 +00:00
Shams Asari
646ce8afe0 FlowException thrown by a flow is propagated to all counterparties 2017-01-31 13:30:33 +00:00
Joel Dudley
a52a107767 Rebuilds docs. 2017-01-31 13:02:43 +00:00
Joel Dudley
cfcfb30beb Provides clearer instructions on the 'Getting set up' page. Expands 'Troubleshooting' page. 2017-01-31 12:59:24 +00:00
Ross Nicoll
e383752995 Adapt Party comparison to use owningKey
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>
2017-01-30 15:46:51 +00:00
Clinton Alexander
d2ebcbfab0 Fixed whitespace and formatting with IntelliJ autoformat tool. 2017-01-30 12:05:22 +00:00
Clinton Alexander
65f5259ac9 Reverted docs change. 2017-01-30 11:15:23 +00:00
Clinton Alexander
3482452c8b Added webserver to runnodes. 2017-01-27 14:15:08 +00:00
josecoll
3676425781 Regen docsite with new Key Concepts section (#182) 2017-01-26 16:57:23 +00:00
josecoll
ac1d14464c Key Concepts rewrite for open source day (#7)
First draft

Re-structured Key Concepts; added plenty of diagrams; additional content.

Added references to other security docs.

Re-structured Key Concepts; added plenty of diagrams; additional content.

Added references to other security docs.

Updated information, indexes and images.

Incorporated feedback from PR review comments (RGB, RW)

Reformatted diagrams and incorporated feedback from PR reviewers.

Addressed formatting problems.

Updated Flow Framework diagram

Added colour coding to Flow Framework diagram to aid readibility.

Small clarification to vault unconsumed state usage.

Added tutorial reference as suggested by RGB

Updated TOC tree.

Updates following PR review comment from Roger

First pass updates following PR review comments from MH.

Further updates following PR review (including 2 edited diagrams)

Diagram changes and minor text edits following review with MGB

Remove unused diagrams.

Fixed spurious indentation errors.

Changes following review and feedback from JD.
Added clauses and merkle-trees back into TOC.
Added small sub-section on transaction representation in Data Model.
Added future work as note in Vault.

Minor updates to diagrams following MH review.

Updated Corda Ecosystem diagram.

Minor changes to Core & Financial docs following PR review by MH.

Updated following review by MBG.
2017-01-26 15:46:40 +00:00
Mike Hearn
97ca6e7d8b Fixup the docsite sidebar which is a copy of the non-docsite sidebar 2017-01-23 12:47:29 +01:00
Mike Hearn
2ec31781c1 Regen docsite with new JavaDoc format API reference 2017-01-19 18:11:56 +01:00
Mike Hearn
4e65200a04 Docs: some improvements and code samples for progress tracking in flows 2017-01-19 15:51:27 +01:00
S. Matthew English
82716b3fdb enforcing consistency of capitalization
changing outlying instances of "Notaries" to "notaries", reconciling them with the rest of the document
2017-01-18 14:02:21 +01:00
Mike Hearn
cbb66f87f3 Regen docsite with new JavaDoc format API reference 2017-01-18 13:42:22 +01:00
Mike Hearn
701f7adcab Docs: upgrade Dokka, start building a javadoc version of the API docs alongside the Kotlin API docs. Switch to using gradle to download/invoke it. 2017-01-18 13:18:04 +01:00
Shams Asari
c4e3b258c7 Introducing Observable.toFuture() extension method 2017-01-17 12:56:59 +00:00
Katarzyna Streich
429fbb3b97 Change clauses diagrams after clauses clean-up. 2017-01-17 11:34:21 +00:00
Ross Nicoll
2efd44d46b Clean up semantics of composite clauses
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).
2017-01-17 11:34:21 +00:00
Ross Nicoll
7c0ffc78f8 Use curl instead of wget
Use curl instead of wget, for compatibility with OS X.
2017-01-16 18:24:13 +00:00
Mike Hearn
d26c44d08c Configure Capsule/Driver to give Corda a relatively poxy 200mb heap by default: we don't seem to need more for development purposes. Switch to G1GC by default as well. 2017-01-12 11:37:10 +01:00
Shams Asari
7cd281364f Removed basedir from the config file as it's always overwritten by the --base-directory cmd line arg 2017-01-10 10:49:28 +00:00
Joel Dudley
d87c9eb9d2 Updates the docs landing page to give clear direction to new users. 2017-01-10 10:18:38 +00:00
Mike Hearn
5ae417fe49 Minor: typo fix in the technical whitepaper. 2017-01-09 20:20:10 +01:00
Joel Dudley
e55833d147 Details of First/AnyComposition. Expands on clause workings. Typos. 2017-01-09 16:09:32 +00:00
Clinton
af42bb389b Merge pull request #126 from corda/release-M7
Release notes for M7
2017-01-09 15:12:30 +00:00
Clinton Alexander
2d07014bf9 Fixed rendering of URLs on the release notes. 2017-01-09 15:03:53 +00:00
Joel Dudley
a8a371fcda Regens docs. 2017-01-06 17:38:23 +00:00
Clinton Alexander
b6a325e7c7 Updated M7 release notes. 2017-01-06 17:20:41 +00:00
Clinton Alexander
def621ad0d Release notes updated. 2017-01-06 17:09:37 +00:00
Clinton Alexander
4c566d086e Further improvements to the M7 release notes. 2017-01-06 17:00:59 +00:00
Clinton Alexander
e0197e8982 Updated release notes for M7. 2017-01-06 17:00:59 +00:00
Clinton Alexander
c40ada96f1 Improved release notes. 2017-01-06 17:00:59 +00:00
Clinton Alexander
9338a3c06a Added first version of M7 release nodes. 2017-01-06 17:00:59 +00:00
Clinton
60f72d4427 Merge pull request #127 from corda/clint-generatedocsitewinfix
The generate docsite script now works on both msys/cygwin systems and Unix systems
2017-01-06 16:29:14 +00:00
Katarzyna Streich
17beab06c2 Fix docs to reflect future date change. Add Kryo registration of PaymentEvent classes. 2017-01-06 16:22:27 +00:00
Clinton Alexander
71460d78b1 The generate docsite script now works on both msys/cygwin systems and Unix systems. 2017-01-06 16:16:10 +00:00
Mike Hearn
9a75adb0ab Simplify the attachments demo by getting rid of the web API and just using the RPC interface directly. The web API in this case wasn't actually adding anything that had to be server side. 2017-01-06 16:58:34 +01:00
Shams Asari
59456cb6b1 Added a method to NodeHandle to simplify using RPC in the Driver 2017-01-06 14:14:32 +00:00
kasiastreich
ee99d7e9d0 Simm demo fix (#122)
* Update main to match nodes in deployNodes configuration (no Bank C).

* Update simm-valuation-demo documentation and comments.
2017-01-06 13:50:18 +00:00
Joel Dudley
3d747ff663 General running-the-demos docs update. 2017-01-06 13:29:57 +00:00
Joel Dudley
b5c319aeca Unix vs Windows demo instructions. Duplicate SIMM page. Typos. Bad nesting. 2017-01-06 11:05:37 +00:00
josecoll
08047e7d72 Fixed gradle runnode config for Bank of Corda (RPC Client was failing). (#115)
Fixed doc mistake.
2017-01-05 18:37:54 +00:00
Andrius Dagys
b9d5081af6 Update notary change flow to support encumbrances (#101)
* Update notary change flow to support encumbrances.

Move encumbrance pointer from ContractState to TransactionState.

* Refactor & add new encumbrance tests
2017-01-05 17:44:31 +00:00
Shams Asari
08e391579c Node verifies the peer it connects to by checking its TLS common name 2017-01-05 14:22:11 +00:00
Clinton Alexander
8a33b6b223 Renamed distributed and notary demo to 'Raft Notary Demo' to improve consistency in naming. 2017-01-05 11:43:24 +00:00
Mike Hearn
119d00c384 Upgrade dependencies and centralise some more version numbers in the root gradle file 2017-01-04 15:44:56 +01:00
Clinton Alexander
f92ef3d9cf Regen docsite 2017-01-03 13:07:48 +00:00
josecoll
eac2cb1cc6 Bank of Corda integration with Trader Demo and Explorer
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
2016-12-22 15:55:50 +00:00
Joel Dudley
aa321c984e Fixes indent error. 2016-12-22 11:22:44 +00:00
David Lee
ffe1d234ca Added first draft documentation on the Azure VM (#67)
* Added first documentation on the Azure VM
2016-12-21 09:57:37 +00:00
kasiastreich
4ffad426c1 Writing contract tests docs (#17)
* Change tutorial-test-dsl to cover CommercialPaper instead of Cash contract.

* Address PR comments.

* Add Java code examples.

* Minor fixes.

* Add double spend example to the tutorial.

* Small grammar fixes for writing a contract test tutorial.
2016-12-19 13:14:36 +00:00
Clinton Alexander
adc70569b1 Regen docsite 2016-12-15 16:21:28 +00:00
exfalso
53bbb57345 Add ReceivedSessionMessage, DriverBasedTest re #57 2016-12-15 11:37:15 +00:00
Andras Slemmer
8ea4c258f1 Extend messaging.rst about service queues 2016-12-15 11:37:15 +00:00
Joel Dudley
1d1a067ead Adds a warning regarding vault access in @Suspendable functions 2016-12-14 15:23:09 +00:00
Shams Asari
7afa3346d6 Updated docs and TODOs to be inline with recent changes to the doorman 2016-12-13 17:03:15 +00:00
Joel Dudley
7d79f3d6d2 Updates CorDapp template docs to reflect inclusion of java source files and new info on running nodes across machines. (#52)
Updates CorDapp template docs to reflect inclusion of java source files.
2016-12-12 18:48:35 +00:00
Clinton
b43d940297 Merge pull request #35 from corda/clint-M6publishing
Corda can be published to bintray and reduced publishing boilerplate in build.gradle.
2016-12-09 15:07:46 +00:00
Jose Coll
453f7cd223 Bank of Corda demo - Issuer of Cash
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.
2016-12-08 17:38:21 +00:00
Clinton Alexander
2f61340945 Fixed review comments. 2016-12-08 16:58:22 +00:00
Rick Parker
70dcab6361 Merge pull request #33 from corda/parkri-external-observations
Buffer observations until database commit.
2016-12-08 16:34:50 +00:00
rick.parker
0378b8d785 Buffer observations until database commit. 2016-12-08 16:32:45 +00:00
Joel Dudley
c02077bdbc Updates the cordapp-template docs to reflect new structure. 2016-12-08 13:44:50 +00:00
Clinton Alexander
467e2fc4aa Added new documentation to the index. 2016-12-08 12:14:17 +00:00
Clinton Alexander
e4187c59e2 Added documentation on how to publish Corda. 2016-12-08 12:13:05 +00:00
Andras Slemmer
a601f0abf5 Local RPC, demos use RPC, NODE has special privileges 2016-12-08 11:58:31 +00:00
Clinton Alexander
d1a7a33581 Disabling flakey WorkflowTransactionBuildTutorialTest test because it has a race condition and is causing flakey build. PR is in flight to fix the actual cause. 2016-12-07 17:09:39 +00:00
Matthew Nesbit
f63e6cd2a6 Add some hooks to StateMachineManager and NodeSchedulerService so that unit tests of flows with scheduled actions can safely test for completion of their test activities. Typically this is done using a while loop whilst there are active fibers, or schedules and then blocking on the ReusuableLatches until the status changes and can be re-evaluated.
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
2016-12-07 16:11:55 +00:00
Shams Asari
bddb22db77 Further fixes to messaging.rst 2016-12-06 21:14:21 +00:00
Clinton Alexander
a0d5426ced Due to insurmountable issues with publishing the JARs when the project is called Corda it has been renamed back to capsule. 2016-12-06 16:06:16 +00:00
Clinton Alexander
1463cd2b37 Renamec capsule module to corda. 2016-12-06 16:06:16 +00:00
Clinton Alexander
810596927e Added a new capsule build.gradle to allow multiple bintray uploads from one build.gradle. 2016-12-06 16:06:16 +00:00