From 4e0468333df168a4ba0ec33fadef367579a75364 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Tue, 9 Aug 2016 12:21:07 +0200 Subject: [PATCH] Regen docsite --- docs/build/html/_sources/data-model.txt | 4 +- .../build/html/_sources/running-the-demos.txt | 53 +- .../html/_sources/transaction-data-types.txt | 25 + .../build/html/_sources/tutorial-test-dsl.txt | 11 +- docs/build/html/api/alltypes/index.html | 128 +- ...c-o-m-m-o-d-i-t-y_-p-r-o-g-r-a-m_-i-d.html | 15 + .../-cash/-clauses/-group/clauses.html | 2 +- .../-cash/-clauses/-group/if-matched.html | 3 - .../-cash/-clauses/-group/if-not-matched.html | 3 - .../-cash/-clauses/-group/index.html | 2 +- .../-cash/-clauses/-issue/index.html | 2 +- .../-clauses/-issue/required-commands.html | 5 +- .../-cash/-state/deposit.html | 4 - .../-cash/-state/exit-keys.html | 5 +- .../-cash/-state/index.html | 4 +- .../-cash/-state/participants.html | 11 +- .../-cash/clauses.html | 2 +- .../-cash/conserve-clause.html | 16 + .../-cash/derive-state.html | 18 + .../-cash/generate-exit-command.html | 15 + .../-cash/generate-issue-command.html | 16 + .../-cash/generate-move-command.html | 16 + .../-cash/index.html | 44 +- .../-clauses/-conserve-amount/-init-.html | 15 + .../-clauses/-conserve-amount/index.html | 53 + .../-clauses/-group/-init-.html | 16 + .../-clauses/-group/clauses.html | 16 + .../-clauses/-group/extract-groups.html | 17 + .../-clauses/-group/if-matched.html | 18 + .../-clauses/-group/if-not-matched.html | 18 + .../-clauses/-group/index.html | 94 ++ .../-clauses/-issue/-init-.html | 15 + .../-clauses/-issue/index.html | 70 + .../-clauses/-issue/required-commands.html | 17 + .../-commodity-contract/-clauses/index.html | 49 + .../-commands/-exit/-init-.html | 16 + .../-commands/-exit/amount.html | 16 + .../-commands/-exit/index.html | 40 + .../-commands/-issue/-init-.html | 16 + .../-commands/-issue/index.html | 40 + .../-commands/-issue/nonce.html | 16 + .../-commands/-move/-init-.html | 20 + .../-commands/-move/contract-hash.html | 18 + .../-commands/-move/index.html | 45 + .../-commodity-contract/-commands/index.html | 70 + .../-commodity-contract/-init-.html | 19 + .../-commodity-contract/-state/-init-.html | 18 + .../-commodity-contract/-state/amount.html | 16 + .../-commodity-contract/-state/contract.html | 43 + .../-commodity-contract/-state/deposit.html | 18 + .../-commodity-contract/-state/exit-keys.html | 17 + .../-commodity-contract/-state/index.html | 104 ++ .../-state/issuance-def.html | 16 + .../-commodity-contract/-state/move.html | 15 + .../-commodity-contract/-state/owner.html | 17 + .../-state/participants.html | 25 + .../-commodity-contract/-state/to-string.html | 15 + .../-state/with-new-owner.html | 17 + .../-commodity-contract/clauses.html | 16 + .../-commodity-contract/conserve-clause.html | 16 + .../-commodity-contract/derive-state.html | 18 + .../-commodity-contract/extract-commands.html | 16 + .../generate-exit-command.html | 15 + .../generate-issue-command.html | 16 + .../-commodity-contract/generate-issue.html | 21 + .../generate-move-command.html | 16 + .../-commodity-contract/index.html | 130 ++ .../legal-contract-reference.html | 25 + .../-commands/-exit/index.html | 8 + .../-fungible-asset/-commands/-issue.html | 8 + .../-fungible-asset/-commands/-move.html | 7 + .../-fungible-asset/-commands/index.html | 6 + .../-fungible-asset/index.html | 7 + .../-init-.html | 2 +- .../amount-missing.html | 2 +- .../index.html | 15 +- .../to-string.html | 15 + .../-obligation/-clauses/-group/clauses.html | 2 +- .../-clauses/-group/if-matched.html | 3 - .../-clauses/-group/if-not-matched.html | 3 - .../-obligation/-clauses/-group/index.html | 2 +- .../-obligation/-clauses/-issue/index.html | 2 +- .../-clauses/-issue/required-commands.html | 5 +- .../-clauses/-set-lifecycle/if-matched.html | 3 - .../-set-lifecycle/if-not-matched.html | 3 - .../-clauses/-set-lifecycle/index.html | 2 +- .../-set-lifecycle/required-commands.html | 5 +- .../-clauses/-settle/if-matched.html | 3 - .../-clauses/-settle/if-not-matched.html | 3 - .../-obligation/-clauses/-settle/index.html | 2 +- .../-clauses/-settle/required-commands.html | 5 +- .../-verify-lifecycle/if-matched.html | 3 - .../-verify-lifecycle/if-not-matched.html | 3 - .../-verify-lifecycle/required-commands.html | 3 - .../-obligation/clauses.html | 2 +- .../-obligation/generate-exit.html | 32 + .../-obligation/index.html | 16 +- .../-on-ledger-asset/-init-.html | 25 + .../-on-ledger-asset/conserve-clause.html | 15 + .../-on-ledger-asset/derive-state.html | 18 + .../generate-exit-command.html | 15 + .../-on-ledger-asset/generate-exit.html | 32 + .../generate-issue-command.html | 15 + .../generate-move-command.html | 15 + .../-on-ledger-asset/generate-spend.html | 22 + .../-on-ledger-asset/index.html | 156 ++ .../com.r3corda.contracts.asset/index.html | 29 +- .../kotlin.collections.-iterable/index.html | 34 +- .../sum-cash-by.html | 4 +- .../sum-cash-or-null.html | 2 +- .../sum-cash-or-zero.html | 4 +- .../sum-cash.html | 4 +- .../sum-commodities-or-null.html | 16 + .../sum-commodities-or-zero.html | 16 + .../sum-commodities.html | 17 + .../generate-exit.html | 32 + .../generate-spend.html | 22 + .../-abstract-conserve-amount/index.html | 22 + .../-abstract-issue/index.html | 9 +- .../-no-zero-sized-outputs/index.html | 2 +- .../com.r3corda.contracts.clause/index.html | 4 +- .../fill-with-some-test-cash.html | 10 +- .../com.r3corda.contracts.testing/index.html | 5 +- .../-abstract-group-clause/if-matched.html | 3 - .../if-not-matched.html | 3 - .../-clauses/-group/clauses.html | 2 +- .../-clauses/-group/if-matched.html | 3 - .../-clauses/-group/if-not-matched.html | 3 - .../-clauses/-group/index.html | 2 +- .../-clauses/-issue/required-commands.html | 3 - .../-clauses/-move/required-commands.html | 3 - .../-commercial-paper/clauses.html | 2 +- .../-commercial-paper/index.html | 2 +- .../-abstract-i-r-s-clause/if-matched.html | 3 - .../if-not-matched.html | 3 - .../-clause/-agree/index.html | 2 +- .../-clause/-agree/required-commands.html | 5 +- .../-clause/-fix/index.html | 2 +- .../-clause/-fix/required-commands.html | 5 +- .../-clause/-group/clauses.html | 2 +- .../-clause/-group/if-matched.html | 3 - .../-clause/-group/if-not-matched.html | 3 - .../-clause/-group/index.html | 2 +- .../-clause/-mature/index.html | 2 +- .../-clause/-mature/required-commands.html | 5 +- .../-clause/-pay/index.html | 2 +- .../-clause/-pay/required-commands.html | 5 +- .../-clause/-timestamped/if-matched.html | 3 - .../-clause/-timestamped/if-not-matched.html | 3 - .../-clause/-timestamped/index.html | 2 +- .../-timestamped/required-commands.html | 5 +- .../-interest-rate-swap/-state/index.html | 2 +- .../-state/pretty-print.html | 2 +- .../-interest-rate-swap/index.html | 2 +- .../legal-contract-reference.html | 2 +- .../-clause-verifier/index.html | 20 +- .../-clause/index.html | 2 +- .../-group-clause-verifier/index.html | 8 + .../-group-clause.html | 6 +- .../-group-verify/index.html | 2 +- .../index.html | 2 +- .../-amount/index.html | 9 + .../-business-calendar/calendars.html | 2 - .../-business-calendar/index.html | 6 - .../-commodity/-init-.html | 14 + .../-commodity/commodity-code.html | 15 + .../-commodity/default-fraction-digits.html | 15 + .../-commodity/display-name.html | 15 + .../-commodity/get-instance.html | 15 + .../-commodity/index.html | 82 + .../-commodity/symbol.html | 15 + .../com.r3corda.core.contracts/-f-c-o-j.html | 17 + .../-issued/index.html | 11 + .../-issued/to-string.html | 15 + .../-ledger-transaction/-init-.html | 5 +- .../-ledger-transaction/index.html | 24 +- .../-ledger-transaction/inputs.html | 2 +- .../-ledger-transaction/signers.html | 1 + .../to-transaction-for-contract.html | 16 + .../-ledger-transaction/verify.html | 23 + .../-multilateral-nettable-state/index.html | 2 +- .../-signed-transaction/index.html | 28 +- .../verify-signatures.html | 12 +- .../-transaction-for-contract/index.html | 12 - .../index.html | 11 + .../to-string.html | 15 + .../-general/get-required-signers.html | 4 +- .../-transaction-type/-general/index.html | 8 +- .../-general/verify-transaction.html | 4 +- .../-notary-change/get-required-signers.html | 4 +- .../-notary-change/index.html | 10 +- .../-notary-change/verify-transaction.html | 11 +- .../get-required-signers.html | 4 +- .../-transaction-type/index.html | 8 +- .../-transaction-type/verify-signers.html | 4 +- .../-transaction-type/verify-transaction.html | 4 +- .../-transaction-type/verify.html | 4 +- .../-contract-rejection/-init-.html | 2 +- .../-contract-rejection/index.html | 4 +- .../-invalid-notary-change/-init-.html | 2 +- .../-invalid-notary-change/index.html | 4 +- .../-more-than-one-notary/-init-.html | 2 +- .../-more-than-one-notary/index.html | 4 +- .../-signers-missing/-init-.html | 2 +- .../-signers-missing/index.html | 4 +- .../index.html | 2 +- .../tx.html | 2 +- .../-wire-transaction/index.html | 3 +- .../com.r3corda.core.contracts/commodity.html | 15 + .../api/com.r3corda.core.contracts/index.html | 66 +- .../com.r3corda.core.contracts/issued by.html | 2 + .../com.r3corda.core.contracts/issued-by.html | 2 + .../kotlin.-int/-f-c-o-j.html | 15 + .../kotlin.-int/index.html | 6 + .../to-ledger-transaction.html | 22 +- .../without-issuer.html | 18 + .../-digital-signature/-init-.html | 2 +- .../-digital-signature/-with-key/index.html | 18 +- .../-digital-signature/index.html | 13 +- .../-dummy-public-key/index.html | 6 + .../-null-public-key/index.html | 6 + .../-null-signature.html | 55 + .../index.html | 7 + .../register.html | 16 + .../ed25519-curve.html | 15 + .../entropy-to-key-pair.html | 17 + .../api/com.r3corda.core.crypto/index.html | 38 + .../java.security.-public-key/index.html | 6 + .../to-base58-string.html | 15 + .../kotlin.collections.-iterable/index.html | 21 + .../to-strings-short.html | 15 + .../parse-public-key-base58.html | 15 + .../-message-handler-registration.html | 4 +- .../-single-message-recipient.html | 6 + .../-mock-services/-init-.html | 16 + .../-mock-services/clock.html | 16 + .../-mock-services/identity-service.html | 16 + .../-mock-services/index.html | 142 ++ .../-mock-services/invoke-protocol-async.html | 20 + .../key-management-service.html | 16 + .../-mock-services/key.html | 15 + .../-mock-services/network-map-cache.html | 16 + .../-mock-services/network-service.html | 16 + .../-mock-services/record-transactions.html | 21 + .../-mock-services/scheduler-service.html | 16 + .../-mock-services/storage-service.html | 16 + .../-mock-services/wallet-service.html | 16 + .../index.html | 8 + .../-map-change-type/-added.html | 14 + .../-map-change-type/-removed.html | 14 + .../-map-change-type/index.html | 31 + .../-map-change/-init-.html | 14 + .../-network-map-cache/-map-change/index.html | 42 + .../-network-map-cache/-map-change/node.html | 15 + .../-network-map-cache/-map-change/type.html | 15 + .../-network-map-cache/changed.html | 16 + .../-network-map-cache/index.html | 24 + .../-service-hub/index.html | 24 +- .../-service-hub/load-state.html | 2 +- .../-protocol-logic/index.html | 10 +- .../index.html | 11 - .../-ed25519-public-key-serializer/index.html | 11 - .../-singleton-serialize-as-token/index.html | 7 +- .../-ledger-d-s-l/index.html | 7 - .../-init-.html | 2 +- .../-test-ledger-d-s-l-interpreter/index.html | 26 +- .../services.html | 15 + .../transactions-to-verify.html | 15 + .../transactions-unverified.html | 15 + .../index.html | 6 + .../services.html | 15 + .../api/com.r3corda.core.testing/index.html | 11 +- .../api/com.r3corda.core.testing/ledger.html | 16 +- .../com.r3corda.core.testing/sign-all.html | 4 +- .../-progress-tracker/index.html | 3 +- .../-progress-tracker/top-level-tracker.html | 1 - .../api/com.r3corda.core.utilities/index.html | 8 - .../kotlin.-int/checked-add.html | 16 + .../com.r3corda.core/kotlin.-int/index.html | 7 + .../kotlin.-long/checked-add.html | 16 + .../com.r3corda.core/kotlin.-long/index.html | 7 + .../-broadcast/index.html | 4 +- .../-states-query/index.html | 12 - .../-i-r-s-simulation/index.html | 12 - .../-simulation/index.html | 12 - .../-trade-simulation/index.html | 12 - .../-node/-init-.html | 5 +- .../-node/index.html | 17 +- .../-node/message-broker.html | 15 + .../-node/messaging-server-addr.html | 15 + .../-messaging-service-internal/index.html | 14 +- .../-service-hub-internal/index.html | 16 +- .../-fix-container/index.html | 6 - .../-interpolating-rate-map/index.html | 6 - .../-full-node-configuration/-init-.html | 14 + .../artemis-address.html | 15 + .../-full-node-configuration/basedir.html | 15 + .../-full-node-configuration/clock.html | 15 + .../-full-node-configuration/create-node.html | 15 + .../export-j-m-xto.html | 16 + .../extra-advertised-service-ids.html | 15 + .../host-notary-service-locally.html | 15 + .../-full-node-configuration/index.html | 119 ++ .../key-store-password.html | 16 + .../-full-node-configuration/map-service.html | 15 + .../messaging-server-address.html | 15 + .../my-legal-name.html | 16 + .../nearest-city.html | 16 + .../trust-store-password.html | 16 + .../-full-node-configuration/web-address.html | 15 + .../-name-service-config/-init-.html | 14 + .../-name-service-config/address.html | 15 + .../host-service-locally.html | 15 + .../-name-service-config/identity.html | 15 + .../-name-service-config/index.html | 48 + .../-node-configuration/index.html | 6 + .../get-value.html | 4 +- .../index.html | 14 +- .../-handler/-init-.html | 15 + .../-handler/callback.html | 15 + .../-handler/executor.html | 15 + .../-handler/index.html | 50 + .../-handler/topic-session.html | 15 + .../-artemis-messaging-client/-init-.html | 25 + .../-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html | 15 + .../-t-o-p-i-c_-p-r-o-p-e-r-t-y.html | 15 + .../add-message-handler.html | 50 + .../create-message.html | 34 + .../default-executor.html | 15 + .../-artemis-messaging-client/index.html | 235 +++ .../-artemis-messaging-client/log.html | 15 + .../make-recipient.html | 20 + .../-artemis-messaging-client/my-address.html | 17 + .../my-host-port.html | 15 + .../remove-message-handler.html | 24 + .../-artemis-messaging-client/send.html | 24 + .../server-host-port.html | 15 + .../-artemis-messaging-client/start.html | 15 + .../-artemis-messaging-client/stop.html | 16 + .../to-host-and-port.html | 15 + .../-address/-init-.html | 14 + .../-address/host-and-port.html | 15 + .../-address/index.html | 36 + .../-connection-direction/-i-n-b-o-u-n-d.html | 14 + .../-o-u-t-b-o-u-n-d.html | 14 + .../-connection-direction/index.html | 31 + .../-artemis-messaging-component/-init-.html | 21 + .../-artemis-messaging-component/config.html | 15 + .../configure-with-dev-s-s-l-certificate.html | 17 + .../directory.html | 15 + .../-artemis-messaging-component/index.html | 117 ++ .../tcp-transport.html | 15 + .../-artemis-messaging-server/-init-.html | 22 + .../-artemis-messaging-server/index.html | 115 ++ .../-artemis-messaging-server/log.html | 15 + .../-artemis-messaging-server/my-address.html | 15 + .../my-host-port.html | 15 + .../-artemis-messaging-server/start.html | 15 + .../-artemis-messaging-server/stop.html | 15 + .../index.html | 22 +- .../-in-memory-messaging/index.html | 30 - .../-in-memory-messaging-network/index.html | 6 +- .../received-messages.html | 1 - .../sent-messages.html | 1 - .../-in-memory-network-map-cache/-init-.html | 2 +- .../-in-memory-network-map-cache/changed.html | 17 + .../-in-memory-network-map-cache/index.html | 7 +- .../-mock-network-map-cache/changed.html | 17 + .../-mock-network-map-cache/index.html | 12 +- .../-transaction-rejected-error/-init-.html | 14 + .../-transaction-rejected-error/index.html | 25 + .../-data-vending/-service/index.html | 22 + .../-data-vending/-service/notify.html | 15 + .../-node-attachment-service/index.html | 6 - .../-a-n-s-i-progress-renderer/index.html | 4 +- .../-fiber-box/index.html | 2 +- .../api/com.r3corda.node.utilities/index.html | 2 +- .../-params-spec/base-directory-arg.html | 15 + .../-params-spec/config-file-arg.html | 15 + .../com.r3corda.node/-params-spec/index.html | 37 + .../com.r3corda.node/-params-spec/parser.html | 15 + .../html/api/com.r3corda.node/index.html | 44 + docs/build/html/api/com.r3corda.node/log.html | 15 + .../build/html/api/com.r3corda.node/main.html | 15 + .../-acceptor/index.html | 6 +- .../-instigator/index.html | 6 +- .../index.html | 4 +- .../-direct-request-message/get-reply-to.html | 16 + .../-direct-request-message/index.html | 51 + .../reply-to-recipient.html | 15 + .../-notary-protocol/-service/index.html | 4 +- .../-rates-fix-protocol/index.html | 4 +- .../-init-.html | 11 +- .../-resolve-transactions-protocol/call.html | 2 +- .../-resolve-transactions-protocol/index.html | 25 +- .../-service-request-message/index.html | 10 + .../-state-replacement-refused/-init-.html | 2 +- .../-state-replacement-refused/index.html | 4 +- .../-fixing-role-decider/index.html | 4 +- .../-instigator/index.html | 2 +- .../-primary/index.html | 2 +- .../-secondary/index.html | 4 +- .../-two-party-deal-protocol/index.html | 2 +- .../-buyer/-init-.html | 2 +- .../-buyer/acceptable-price.html | 2 +- .../-buyer/index.html | 8 +- .../-seller-trade-info/-init-.html | 2 +- .../-seller-trade-info/index.html | 4 +- .../-seller-trade-info/price.html | 2 +- .../-seller/-init-.html | 2 +- .../-seller/index.html | 4 +- .../-seller/price.html | 2 +- .../-unacceptable-price-exception/-init-.html | 2 +- .../given-price.html | 2 +- .../-unacceptable-price-exception/index.html | 4 +- .../html/api/com.r3corda.protocols/index.html | 18 +- docs/build/html/api/index-outline.html | 1486 ++++++++++++----- docs/build/html/api/index.html | 6 + docs/build/html/building-the-docs.html | 6 +- docs/build/html/codestyle.html | 6 +- docs/build/html/consensus.html | 6 +- docs/build/html/data-model.html | 10 +- docs/build/html/event-scheduling.html | 6 +- docs/build/html/getting-set-up.html | 6 +- docs/build/html/inthebox.html | 8 +- docs/build/html/messaging.html | 6 +- docs/build/html/node-administration.html | 10 +- docs/build/html/oracles.html | 6 +- docs/build/html/protocol-state-machines.html | 6 +- docs/build/html/release-process.html | 6 +- docs/build/html/running-the-demos.html | 54 +- docs/build/html/searchindex.js | 2 +- docs/build/html/transaction-data-types.html | 27 +- .../build/html/tutorial-contract-clauses.html | 6 +- docs/build/html/tutorial-contract.html | 6 +- docs/build/html/tutorial-test-dsl.html | 19 +- docs/build/html/visualiser.html | 6 +- docs/build/html/where-to-start.html | 10 +- 438 files changed, 7190 insertions(+), 1204 deletions(-) create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-c-o-m-m-o-d-i-t-y_-p-r-o-g-r-a-m_-i-d.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-cash/conserve-clause.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-cash/derive-state.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-exit-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-issue-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-move-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/clauses.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/extract-groups.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-matched.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-not-matched.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/required-commands.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/amount.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/nonce.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/contract-hash.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/amount.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/contract.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/deposit.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/exit-keys.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/issuance-def.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/move.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/owner.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/participants.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/to-string.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/with-new-owner.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/clauses.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/conserve-clause.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/derive-state.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/extract-commands.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-exit-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-move-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/legal-contract-reference.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/to-string.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-obligation/generate-exit.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/-init-.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/conserve-clause.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/derive-state.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-issue-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-move-command.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-spend.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/index.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-null.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-zero.html create mode 100644 docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities.html create mode 100644 docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-exit.html create mode 100644 docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-spend.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/-init-.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/commodity-code.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/default-fraction-digits.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/display-name.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/get-instance.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/index.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-commodity/symbol.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-f-c-o-j.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-issued/to-string.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/to-transaction-for-contract.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/verify.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/to-string.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/commodity.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/-f-c-o-j.html create mode 100644 docs/build/html/api/com.r3corda.core.contracts/without-issuer.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/-null-signature.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/register.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/ed25519-curve.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/entropy-to-key-pair.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/to-base58-string.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/index.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/to-strings-short.html create mode 100644 docs/build/html/api/com.r3corda.core.crypto/parse-public-key-base58.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/-init-.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/clock.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/identity-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/index.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/invoke-protocol-async.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key-management-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-map-cache.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/record-transactions.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/scheduler-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/storage-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/wallet-service.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-added.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-removed.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/index.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/-init-.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/index.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/node.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/type.html create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/changed.html create mode 100644 docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/services.html create mode 100644 docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-to-verify.html create mode 100644 docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-unverified.html create mode 100644 docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/services.html create mode 100644 docs/build/html/api/com.r3corda.core/kotlin.-int/checked-add.html create mode 100644 docs/build/html/api/com.r3corda.core/kotlin.-long/checked-add.html create mode 100644 docs/build/html/api/com.r3corda.node.internal/-node/message-broker.html create mode 100644 docs/build/html/api/com.r3corda.node.internal/-node/messaging-server-addr.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/artemis-address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/basedir.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/clock.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/create-node.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/export-j-m-xto.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/extra-advertised-service-ids.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/key-store-password.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/map-service.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/messaging-server-address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/my-legal-name.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/nearest-city.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/trust-store-password.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/web-address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-name-service-config/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-name-service-config/address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-name-service-config/host-service-locally.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-name-service-config/identity.html create mode 100644 docs/build/html/api/com.r3corda.node.services.config/-name-service-config/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/callback.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/executor.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/topic-session.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/add-message-handler.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/create-message.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/default-executor.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/log.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/make-recipient.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-host-port.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/remove-message-handler.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/send.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/server-host-port.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/start.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/stop.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/to-host-and-port.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/host-and-port.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/config.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/configure-with-dev-s-s-l-certificate.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/directory.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/log.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-address.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-host-port.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/start.html create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/stop.html create mode 100644 docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/changed.html create mode 100644 docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/changed.html create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/-init-.html create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/index.html create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/notify.html create mode 100644 docs/build/html/api/com.r3corda.node/-params-spec/base-directory-arg.html create mode 100644 docs/build/html/api/com.r3corda.node/-params-spec/config-file-arg.html create mode 100644 docs/build/html/api/com.r3corda.node/-params-spec/index.html create mode 100644 docs/build/html/api/com.r3corda.node/-params-spec/parser.html create mode 100644 docs/build/html/api/com.r3corda.node/index.html create mode 100644 docs/build/html/api/com.r3corda.node/log.html create mode 100644 docs/build/html/api/com.r3corda.node/main.html create mode 100644 docs/build/html/api/com.r3corda.protocols/-direct-request-message/get-reply-to.html create mode 100644 docs/build/html/api/com.r3corda.protocols/-direct-request-message/index.html create mode 100644 docs/build/html/api/com.r3corda.protocols/-direct-request-message/reply-to-recipient.html diff --git a/docs/build/html/_sources/data-model.txt b/docs/build/html/_sources/data-model.txt index 205ced41b7..ecc11db4c5 100644 --- a/docs/build/html/_sources/data-model.txt +++ b/docs/build/html/_sources/data-model.txt @@ -23,8 +23,8 @@ States contain arbitrary data, but they always contain at minimum a hash of the Contract code (or just "contracts" in the rest of this document) are globally shared pieces of business logic. Contracts define a **verify function**, which is a pure function given the entire transaction as input. To be considered -valid, the transaction must be **accepted** by the verify function of every contract pointed to by the -input and output states. +valid, the transaction must be **accepted** by the verify function of every contract pointed to by the input and output +states. Beyond inputs and outputs, transactions may also contain **commands**, small data packets that the platform does not interpret itself, but which can parameterise execution of the contracts. They can be thought of as diff --git a/docs/build/html/_sources/running-the-demos.txt b/docs/build/html/_sources/running-the-demos.txt index a064258f66..5c51afc789 100644 --- a/docs/build/html/_sources/running-the-demos.txt +++ b/docs/build/html/_sources/running-the-demos.txt @@ -8,6 +8,7 @@ so far. We have: how this works in :doc:`protocol-state-machines`. 2. The IRS demo, which shows two nodes establishing an interest rate swap between them and performing fixings with a rates oracle, all driven via the HTTP API. +3. The IRS demo web interface - a web interface to the IRS demo. The demos create node data directories in the root of the project. If something goes wrong with them, blow away the directories and try again. @@ -29,7 +30,7 @@ Open two terminals, and in the first run: **Other**:: - Other: ./gradlew installDist && ./build/install/r3prototyping/bin/trader-demo --role=BUYER + ./gradlew installDist && ./build/install/r3prototyping/bin/trader-demo --role=BUYER It will compile things, if necessary, then create a directory named trader-demo/buyer with a bunch of files inside and start the node. You should see it waiting for a trade to begin. @@ -96,3 +97,53 @@ can see the other terminals whilst you run this command!: **Other**:: ./build/install/r3prototyping/bin/irsdemo --role=Date 2017-01-30 + + +IRS web demo +------------ + +To install the web demo please follow these steps; + +1. Install Node: https://nodejs.org/en/download/ and ensure the npm executable is on your classpath +2. Open a terminal +3. Run `npm install -g bower` or `sudo npm install -g bower` if on a *nix system. +4. In the terminal navigate to `/src/main/resources/com/r3corda/demos/irswebdemo` +5. Run `bower install` + +To run the web demo, run the first two steps from the IRS Demo: + +Open two terminals and in the first: + +**Windows**:: + + gradlew.bat installDist & .\build\install\r3prototyping\bin\irsdemo.bat --role=NodeA + +**Other**:: + + ./gradlew installDist && ./build/install/r3prototyping/bin/irsdemo --role=NodeA + +And in the second run: + +**Windows**:: + + .\build\install\r3prototyping\bin\irsdemo.bat --role=NodeB + +**Other**:: + + ./build/install/r3prototyping/bin/irsdemo --role=NodeB + +Now open your web browser to this URL: + +.. note:: If using a custom node port address or port those must be used instead. + +**Node A**: + + http://localhost:31338/web/irsdemo + +**Node B**: + + http://localhost:31340/web/irsdemo + +To use the demos click the "Create Deal" button, fill in the form, then click the "Submit" button. Now you will be +able to use the time controls at the top left of the home page to run the fixings. Click any individual trade in the +blotter to view it. \ No newline at end of file diff --git a/docs/build/html/_sources/transaction-data-types.txt b/docs/build/html/_sources/transaction-data-types.txt index 49ea4e2ac8..b59e3a7792 100644 --- a/docs/build/html/_sources/transaction-data-types.txt +++ b/docs/build/html/_sources/transaction-data-types.txt @@ -77,6 +77,31 @@ in place of the attachments themselves (see also :doc:`data-model`). Once signed resolving the attachment references to the attachments. Commands with valid signatures are encapsulated in the ``AuthenticatedObject`` type. +When constructing a new transaction from scratch, you use ``TransactionBuilder``, which is a mutable transaction that +can be signed once modification of the internals is complete. It is typical for contract classes to expose helper +methods that can contribute to a ``TransactionBuilder``. + +Here's an example of building a transaction that creates an issuance of bananas (note that bananas are not a real +contract type in the library): + +.. container:: codeset + + .. sourcecode:: kotlin + + val notaryToUse: Party = ... + val txb = TransactionBuilder(notary = notaryToUse).withItems(BananaState(Amount(20, Bananas), fromCountry = "Elbonia")) + txb.signWith(myKey) + txb.setTime(Instant.now(), notaryToUse, 30.seconds) + // We must disable the check for sufficient signatures, because this transaction is not yet notarised. + val stx = txb.toSignedTransaction(checkSufficientSignatures = false) + // Alternatively, let's just check it verifies pretending it was fully signed. To do this, we get + // a WireTransaction, which is what the SignedTransaction wraps. Thus by verifying that directly we + // skip signature checking. + txb.toWireTransaction().toLedgerTransaction(services).verify() + +In a unit test, you would typically use a freshly created ``MockServices`` object, or more realistically, you would +write your tests using the :doc:`domain specific language for writing tests `. + Party and PublicKey ------------------- diff --git a/docs/build/html/_sources/tutorial-test-dsl.txt b/docs/build/html/_sources/tutorial-test-dsl.txt index 1899166f4d..dc2ad429db 100644 --- a/docs/build/html/_sources/tutorial-test-dsl.txt +++ b/docs/build/html/_sources/tutorial-test-dsl.txt @@ -43,7 +43,7 @@ We start with the empty ledger: } The DSL keyword ``ledger`` takes a closure that can build up several transactions and may verify their overall -correctness. +correctness. A ledger is effectively a fresh world with no pre-existing transactions or services within it. Let's add a Cash transaction: @@ -54,7 +54,7 @@ Let's add a Cash transaction: @Test fun simpleCashDoesntCompile() { val inState = Cash.State( - amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1), + amount = 1000.DOLLARS `issued by` DUMMY_CASH_ISSUER, owner = DUMMY_PUBKEY_1 ) ledger { @@ -69,7 +69,7 @@ Let's add a Cash transaction: @Test public void simpleCashDoesntCompile() { Cash.State inState = new Cash.State( - issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)), + issuedBy(DOLLARS(1000), getDUMMY_CASH_ISSUER()), getDUMMY_PUBKEY_1() ); ledger(l -> { @@ -139,7 +139,10 @@ last line of ``transaction``: The code finally compiles. When run, it produces the following error:: - com.r3corda.core.contracts.TransactionVerificationException$ContractRejection: java.lang.IllegalArgumentException: Failed requirement: for deposit [0101] at issuer MegaCorp the amounts balance + com.r3corda.core.contracts.TransactionVerificationException$ContractRejection: java.lang.IllegalArgumentException: Failed requirement: for deposit [01] at issuer Snake Oil Issuer the amounts balance + +.. note:: The reference here to the 'Snake Oil Issuer' is because we are using the pre-canned ``DUMMY_CASH_ISSUER`` + identity as the issuer of our cash. The transaction verification failed, because the sum of inputs does not equal the sum of outputs. We can specify that this is intended behaviour by changing ``this.verifies()`` to ``this `fails with` "the amounts balance"``: diff --git a/docs/build/html/api/alltypes/index.html b/docs/build/html/api/alltypes/index.html index b987d5df90..dc9d98bc4a 100644 --- a/docs/build/html/api/alltypes/index.html +++ b/docs/build/html/api/alltypes/index.html @@ -147,12 +147,24 @@ properties loaded from the attachments. And perhaps the authenticated user for -com.r3corda.node.services.messaging.ArtemisMessagingService +com.r3corda.node.services.messaging.ArtemisMessagingClient

This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. -Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate -with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 -as well for interop.

+Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

+ + + + +com.r3corda.node.services.messaging.ArtemisMessagingComponent + +

The base class for Artemis services that defines shared data structures and transport configuration

+ + + + +com.r3corda.node.services.messaging.ArtemisMessagingServer + +

This class configures and manages an Apache Artemis message queue broker.

@@ -357,6 +369,23 @@ that delegates to the supplied list of clauses.

+com.r3corda.core.contracts.Commodity + + + + + +com.r3corda.contracts.asset.CommodityContract + +

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+ + + + com.r3corda.node.servlets.Config

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work @@ -509,6 +538,16 @@ building partially signed transactions.

+com.r3corda.protocols.DirectRequestMessage + +

A message which specifies reply destination as a specific endpoint such as a monitoring client. This is of particular +use where we want to address a specific endpoint, not necessarily a specific user (for example if the same user logs +in on two machines, we want to consistently deliver messages as part of a session, to the same machine the session +started on).

+ + + + kotlin.Double (extensions in package com.r3corda.core.contracts) @@ -724,6 +763,12 @@ that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

+com.r3corda.node.services.config.FullNodeConfiguration + + + + + com.r3corda.contracts.asset.FungibleAsset

Interface for contract states representing assets which are fungible, countable and issued by a @@ -941,6 +986,12 @@ quantifiable with integer quantities.

+kotlin.collections.Iterable (extensions in package com.r3corda.core.crypto) + + + + + kotlin.collections.Iterable (extensions in package com.r3corda.core) @@ -1150,6 +1201,14 @@ Components that do IO are either swapped out for mocks, or pointed to a +com.r3corda.core.node.services.testing.MockServices + +

A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

+ + + + com.r3corda.core.node.services.testing.MockStorageService @@ -1204,6 +1263,12 @@ adjusted externally.

+com.r3corda.node.services.config.NameServiceConfig + + + + + com.r3corda.core.contracts.NamedByHash

Implemented by anything that can be named by a secure hash value (e.g. transactions, attachments).

@@ -1420,6 +1485,13 @@ must point to the same notary.

+com.r3corda.core.crypto.NullSignature + +

A signature with a key and value of zero. Useful when you want a signature object that you know wont ever be used.

+ + + + com.r3corda.contracts.asset.Obligation

An obligation contract commits the obligor to delivering a specified amount of a fungible asset (for example the @@ -1430,6 +1502,16 @@ to be netted/merged, with settlement only for any remainder amount.

+com.r3corda.contracts.asset.OnLedgerAsset + +

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+ + + + com.r3corda.core.serialization.OpaqueBytes

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. @@ -1454,6 +1536,12 @@ be looked up both in ledger{..} and transaction{..} blocks.

+com.r3corda.node.ParamsSpec + + + + + com.r3corda.core.crypto.Party

A Party is well known (name, pubkey) pair. In a real system this would probably be an X.509 certificate.

@@ -1658,14 +1746,6 @@ for each step.

-com.r3corda.core.utilities.RecordingMap - -

A RecordingMap wraps a regular Map<K, V> and records the sequence of gets and puts to it. This is useful in -white box unit tests to ensure that code is accessing a data store as much as you expect.

- - - - com.r3corda.contracts.ReferenceRate

So a reference rate is a rate that takes its value from a source at a given date @@ -1696,9 +1776,9 @@ e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value com.r3corda.protocols.ResolveTransactionsProtocol -

This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

+

This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

@@ -1961,7 +2041,7 @@ transaction defined the state and where in that transaction it was.

com.r3corda.protocols.StateReplacementRefused -

Thrown when a participant refuses proposed the state replacement

+

Thrown when a participant refuses the proposed state replacement

@@ -2131,13 +2211,6 @@ simplify verification logic in contracts.

-com.r3corda.core.contracts.TransactionForVerification - -

A transaction in fully resolved and sig-checked form, ready for passing as input to a verification function.

- - - - com.r3corda.core.contracts.TransactionGraphSearch

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from @@ -2146,15 +2219,6 @@ the starting point down in order to find transactions that match the given query -com.r3corda.core.contracts.TransactionGroup - -

A TransactionGroup defines a directed acyclic graph of transactions that can be resolved with each other and then -verified. Successful verification does not imply the non-existence of other conflicting transactions: simply that -this subgraph does not contain conflicts and is accepted by the involved contracts.

- - - - com.r3corda.core.contracts.TransactionResolutionException diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-c-o-m-m-o-d-i-t-y_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/com.r3corda.contracts.asset/-c-o-m-m-o-d-i-t-y_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..8f2d0529f6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-c-o-m-m-o-d-i-t-y_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,15 @@ + + +COMMODITY_PROGRAM_ID - + + + +com.r3corda.contracts.asset / COMMODITY_PROGRAM_ID
+
+

COMMODITY_PROGRAM_ID

+ +val COMMODITY_PROGRAM_ID: CommodityContract
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/clauses.html index 29e064de4a..6b66c6bda9 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<GroupClause<State, Issued<Currency>>>
+val clauses: <ERROR CLASS>
Overrides GroupClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-matched.html index a972f01760..f2e4556233 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-not-matched.html index 3ff645af3a..b8db5ef6cf 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/index.html index 038979b3d9..984860d83f 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-group/index.html @@ -28,7 +28,7 @@ clauses -val clauses: List<GroupClause<State, Issued<Currency>>> +val clauses: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/index.html index bb141bdacd..f3a0c53b8e 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/index.html @@ -28,7 +28,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/required-commands.html index 7c6684a46f..6c0436f30f 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-clauses/-issue/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/deposit.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/deposit.html index fa47c7addc..315d6ccceb 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/deposit.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/deposit.html @@ -12,10 +12,6 @@ Overrides FungibleAsset.deposit

Where the underlying asset backing this ledger entry can be found. The reference is only intended for use by the issuer, and is not intended to be meaningful to others.

-

Getter
-

Where the underlying asset backing this ledger entry can be found. The reference -is only intended for use by the issuer, and is not intended to be meaningful to others.

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/exit-keys.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/exit-keys.html index 51e7e7b7eb..ddaea07e8b 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/exit-keys.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/exit-keys.html @@ -8,12 +8,9 @@

exitKeys

-val exitKeys: Collection<PublicKey>
+val exitKeys: <ERROR CLASS>
Overrides FungibleAsset.exitKeys

There must be an ExitCommand signed by these keys to destroy the amount

-

Getter
-

There must be an ExitCommand signed by these keys to destroy the amount

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/index.html index fd2d43a154..e58cdbd7ab 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/index.html @@ -51,7 +51,7 @@ is only intended for use by the issuer, and is not intended to be meaningful to exitKeys -val exitKeys: Collection<PublicKey>

There must be an ExitCommand signed by these keys to destroy the amount

+val exitKeys: <ERROR CLASS>

There must be an ExitCommand signed by these keys to destroy the amount

@@ -71,7 +71,7 @@ is only intended for use by the issuer, and is not intended to be meaningful to participants -val participants: List<PublicKey>

A participant is any party that is able to consume this state in a valid transaction.

+val participants: <ERROR CLASS>

A participant is any party that is able to consume this state in a valid transaction.

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/participants.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/participants.html index 89388968a0..cffdc93834 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/participants.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/participants.html @@ -8,7 +8,7 @@

participants

-val participants: List<PublicKey>
+val participants: <ERROR CLASS>
Overrides ContractState.participants

A participant is any party that is able to consume this state in a valid transaction.

The list of participants is required for certain types of transactions. For example, when changing the notary @@ -19,15 +19,6 @@ they possess, since someone consumed that state during the notary change process list should just contain the owner.



-

Getter
-

A participant is any party that is able to consume this state in a valid transaction.

-

The list of participants is required for certain types of transactions. For example, when changing the notary -for this state (TransactionType.NotaryChange), every participants has to be involved and approve the transaction -so that they receive the updated state, and dont end up in a situation where they can no longer use a state -they possess, since someone consumed that state during the notary change process.

-

The participants list should normally be derived from the contents of the state. E.g. for Cash the participants -list should just contain the owner.

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/clauses.html index 57e2fff2d4..6e6f7bd988 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
Overrides ClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/conserve-clause.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/conserve-clause.html new file mode 100644 index 0000000000..0bef25ada9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/conserve-clause.html @@ -0,0 +1,16 @@ + + +Cash.conserveClause - + + + +com.r3corda.contracts.asset / Cash / conserveClause
+
+

conserveClause

+ +val conserveClause: AbstractConserveAmount<State, Currency>
+Overrides OnLedgerAsset.conserveClause
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/derive-state.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/derive-state.html new file mode 100644 index 0000000000..349e3bb39f --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/derive-state.html @@ -0,0 +1,18 @@ + + +Cash.deriveState - + + + +com.r3corda.contracts.asset / Cash / deriveState
+
+

deriveState

+ +fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Currency>>, owner: PublicKey): TransactionState<State>
+

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-exit-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-exit-command.html new file mode 100644 index 0000000000..98506a6dfb --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-exit-command.html @@ -0,0 +1,15 @@ + + +Cash.generateExitCommand - + + + +com.r3corda.contracts.asset / Cash / generateExitCommand
+
+

generateExitCommand

+ +fun generateExitCommand(amount: Amount<Issued<Currency>>): Exit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-issue-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-issue-command.html new file mode 100644 index 0000000000..4e822a608f --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-issue-command.html @@ -0,0 +1,16 @@ + + +Cash.generateIssueCommand - + + + +com.r3corda.contracts.asset / Cash / generateIssueCommand
+
+

generateIssueCommand

+ +fun generateIssueCommand(): Issue
+Overrides OnLedgerAsset.generateIssueCommand
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-move-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-move-command.html new file mode 100644 index 0000000000..31513aaf84 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/generate-move-command.html @@ -0,0 +1,16 @@ + + +Cash.generateMoveCommand - + + + +com.r3corda.contracts.asset / Cash / generateMoveCommand
+
+

generateMoveCommand

+ +fun generateMoveCommand(): Move
+Overrides OnLedgerAsset.generateMoveCommand
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/index.html index 053e37b137..7de2b579fe 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-cash/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/index.html @@ -7,7 +7,7 @@ com.r3corda.contracts.asset / Cash

Cash

-class Cash : ClauseVerifier
+class Cash : OnLedgerAsset<Currency, State>

A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in @@ -67,7 +67,13 @@ the same transaction.

clauses -val clauses: List<SingleClause> +val clauses: <ERROR CLASS> + + + +conserveClause + +val conserveClause: AbstractConserveAmount<State, Currency> @@ -83,16 +89,24 @@ the same transaction.

+deriveState + +fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Currency>>, owner: PublicKey): TransactionState<State>

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+ + + + extractCommands fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>> -generateExit +generateExitCommand -fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Currency>>, changeKey: PublicKey, cashStates: List<StateAndRef<State>>): PublicKey

Generate an transaction exiting cash from the ledger.

- +fun generateExitCommand(amount: Amount<Issued<Currency>>): Exit @@ -104,27 +118,15 @@ the same transaction.

-generateSpend +generateIssueCommand -fun generateSpend(tx: TransactionBuilder, amount: Amount<Issued<Currency>>, to: PublicKey, cashStates: List<StateAndRef<State>>): List<PublicKey>
-fun generateSpend(tx: TransactionBuilder, amount: Amount<Currency>, to: PublicKey, cashStates: List<StateAndRef<State>>, onlyFromParties: Set<Party>? = null): List<PublicKey>

Generate a transaction that consumes one or more of the given input states to move money to the given pubkey. -Note that the wallet list is not updated: its up to you to do that.

- +fun generateIssueCommand(): Issue - - -

Inherited Functions

- - +generateMoveCommand +fun generateMoveCommand(): Move
-verify -open fun verify(tx: TransactionForContract): Unit

Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense. -Must throw an exception if theres a problem that should prevent state transition. Takes a single object -rather than an argument so that additional data can be added without breaking binary compatibility with -existing contract code.

-
diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/-init-.html new file mode 100644 index 0000000000..b17deab31c --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/-init-.html @@ -0,0 +1,15 @@ + + +CommodityContract.Clauses.ConserveAmount.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / ConserveAmount / <init>
+
+

<init>

+ConserveAmount()
+

Standard clause for conserving the amount from input to output.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/index.html new file mode 100644 index 0000000000..32ce130022 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-conserve-amount/index.html @@ -0,0 +1,53 @@ + + +CommodityContract.Clauses.ConserveAmount - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / ConserveAmount
+
+

ConserveAmount

+class ConserveAmount : AbstractConserveAmount<State, Commodity>
+

Standard clause for conserving the amount from input to output.

+
+
+

Constructors

+ + + + + + + +
+<init> +ConserveAmount()

Standard clause for conserving the amount from input to output.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+ifMatched +open val ifMatched: MatchBehaviour

Behaviour if this clause is not matches

+
+ifNotMatched +open val ifNotMatched: MatchBehaviour

Behaviour if this clause is matched

+
+requiredCommands +open val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/-init-.html new file mode 100644 index 0000000000..0a1364c2fc --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/-init-.html @@ -0,0 +1,16 @@ + + +CommodityContract.Clauses.Group.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group / <init>
+
+

<init>

+Group()
+

Grouping clause to extract input and output states into matched groups and then run a set of clauses over +each group.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/clauses.html new file mode 100644 index 0000000000..0088c67b79 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/clauses.html @@ -0,0 +1,16 @@ + + +CommodityContract.Clauses.Group.clauses - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group / clauses
+
+

clauses

+ +val clauses: <ERROR CLASS>
+Overrides GroupClauseVerifier.clauses
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/extract-groups.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/extract-groups.html new file mode 100644 index 0000000000..6ee337e754 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/extract-groups.html @@ -0,0 +1,17 @@ + + +CommodityContract.Clauses.Group.extractGroups - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group / extractGroups
+
+

extractGroups

+ +fun extractGroups(tx: TransactionForContract): List<InOutGroup<State, Issued<Commodity>>>
+Overrides GroupClauseVerifier.extractGroups
+

Group commodity states by issuance definition (issuer and underlying commodity).

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-matched.html new file mode 100644 index 0000000000..05708f206c --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-matched.html @@ -0,0 +1,18 @@ + + +CommodityContract.Clauses.Group.ifMatched - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group / ifMatched
+
+

ifMatched

+ +val ifMatched: MatchBehaviour
+Overrides Clause.ifMatched
+

The group clause is the only top level clause, so end after processing it. If there are any commands left +after this clause has run, the clause verifier will trigger an error.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-not-matched.html new file mode 100644 index 0000000000..93823e60fa --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/if-not-matched.html @@ -0,0 +1,18 @@ + + +CommodityContract.Clauses.Group.ifNotMatched - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group / ifNotMatched
+
+

ifNotMatched

+ +val ifNotMatched: MatchBehaviour
+Overrides Clause.ifNotMatched
+

The group clause does not depend on any commands being present, so something has gone terribly wrong if +it doesnt match.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/index.html new file mode 100644 index 0000000000..9308def90a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-group/index.html @@ -0,0 +1,94 @@ + + +CommodityContract.Clauses.Group - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Group
+
+

Group

+class Group : GroupClauseVerifier<State, Issued<Commodity>>
+

Grouping clause to extract input and output states into matched groups and then run a set of clauses over +each group.

+
+
+

Constructors

+ + + + + + + +
+<init> +Group()

Grouping clause to extract input and output states into matched groups and then run a set of clauses over +each group.

+
+

Properties

+ + + + + + + + + + + + + + + +
+clauses +val clauses: <ERROR CLASS>
+ifMatched +val ifMatched: MatchBehaviour

The group clause is the only top level clause, so end after processing it. If there are any commands left +after this clause has run, the clause verifier will trigger an error.

+
+ifNotMatched +val ifNotMatched: MatchBehaviour

The group clause does not depend on any commands being present, so something has gone terribly wrong if +it doesnt match.

+
+

Inherited Properties

+ + + + + + + +
+requiredCommands +open val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+
+

Functions

+ + + + + + + +
+extractGroups +fun extractGroups(tx: TransactionForContract): List<InOutGroup<State, Issued<Commodity>>>

Group commodity states by issuance definition (issuer and underlying commodity).

+
+

Inherited Functions

+ + + + + + + +
+verify +open fun verify(tx: TransactionForContract, commands: Collection<AuthenticatedObject<CommandData>>): Set<CommandData>

Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause +would check each of the output states that it applies to, looking for a zero amount, and throw IllegalStateException +if any matched.

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/-init-.html new file mode 100644 index 0000000000..805f9b074a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/-init-.html @@ -0,0 +1,15 @@ + + +CommodityContract.Clauses.Issue.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Issue / <init>
+
+

<init>

+Issue()
+

Standard issue clause, specialised to match the commodity issue command.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/index.html new file mode 100644 index 0000000000..140d163d20 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/index.html @@ -0,0 +1,70 @@ + + +CommodityContract.Clauses.Issue - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Issue
+
+

Issue

+class Issue : AbstractIssue<State, Commodity>
+

Standard issue clause, specialised to match the commodity issue command.

+
+
+

Constructors

+ + + + + + + +
+<init> +Issue()

Standard issue clause, specialised to match the commodity issue command.

+
+

Properties

+ + + + + + + +
+requiredCommands +val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + +
+ifMatched +open val ifMatched: MatchBehaviour

Behaviour if this clause is not matches

+
+ifNotMatched +open val ifNotMatched: MatchBehaviour

Behaviour if this clause is matched

+
+sum +val sum: List<S>.() -> Amount<Issued<T>>
+sumOrZero +val sumOrZero: List<S>.(Issued<T>) -> Amount<Issued<T>>
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/required-commands.html new file mode 100644 index 0000000000..b7b2471375 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/-issue/required-commands.html @@ -0,0 +1,17 @@ + + +CommodityContract.Clauses.Issue.requiredCommands - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses / Issue / requiredCommands
+
+

requiredCommands

+ +val requiredCommands: <ERROR CLASS>
+Overrides Clause.requiredCommands
+

Classes for commands which must ALL be present in transaction for this clause to be triggered

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/index.html new file mode 100644 index 0000000000..3d53a83a11 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-clauses/index.html @@ -0,0 +1,49 @@ + + +CommodityContract.Clauses - + + + +com.r3corda.contracts.asset / CommodityContract / Clauses
+
+

Clauses

+interface Clauses
+

The clauses for this contract are essentially:

+
  1. Group all commodity input and output states in a transaction by issued commodity, and then for each group: +a. Check there are no zero sized output states in the group, and throw an error if so. +b. Check for an issuance command, and do standard issuance checks if so, THEN STOP. Otherwise: +c. Check for a move command (required) and an optional exit command, and that input and output totals are correctly +conserved (output = input - exit)

    +

+
+
+
+

Types

+ + + + + + + + + + + + + + + +
+ConserveAmount +class ConserveAmount : AbstractConserveAmount<State, Commodity>

Standard clause for conserving the amount from input to output.

+
+Group +class Group : GroupClauseVerifier<State, Issued<Commodity>>

Grouping clause to extract input and output states into matched groups and then run a set of clauses over +each group.

+
+Issue +class Issue : AbstractIssue<State, Commodity>

Standard issue clause, specialised to match the commodity issue command.

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/-init-.html new file mode 100644 index 0000000000..962aca91b2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/-init-.html @@ -0,0 +1,16 @@ + + +CommodityContract.Commands.Exit.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Exit / <init>
+
+

<init>

+Exit(amount: Amount<Issued<Commodity>>)
+

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/amount.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/amount.html new file mode 100644 index 0000000000..33162d55af --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/amount.html @@ -0,0 +1,16 @@ + + +CommodityContract.Commands.Exit.amount - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Exit / amount
+
+

amount

+ +val amount: Amount<Issued<Commodity>>
+Overrides Exit.amount
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/index.html new file mode 100644 index 0000000000..29947fa25a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-exit/index.html @@ -0,0 +1,40 @@ + + +CommodityContract.Commands.Exit - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Exit
+
+

Exit

+data class Exit : Commands, Exit<Commodity>
+

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+
+
+

Constructors

+ + + + + + + +
+<init> +Exit(amount: Amount<Issued<Commodity>>)

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+
+

Properties

+ + + + + + + +
+amount +val amount: Amount<Issued<Commodity>>
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/-init-.html new file mode 100644 index 0000000000..adb35892a8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/-init-.html @@ -0,0 +1,16 @@ + + +CommodityContract.Commands.Issue.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Issue / <init>
+
+

<init>

+Issue(nonce: Long = newSecureRandom().nextLong())
+

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/index.html new file mode 100644 index 0000000000..5f80f1ae05 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/index.html @@ -0,0 +1,40 @@ + + +CommodityContract.Commands.Issue - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Issue
+
+

Issue

+data class Issue : Issue, Commands
+

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+
+
+

Constructors

+ + + + + + + +
+<init> +Issue(nonce: Long = newSecureRandom().nextLong())

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+
+

Properties

+ + + + + + + +
+nonce +val nonce: Long
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/nonce.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/nonce.html new file mode 100644 index 0000000000..8b0c36f6ff --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-issue/nonce.html @@ -0,0 +1,16 @@ + + +CommodityContract.Commands.Issue.nonce - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Issue / nonce
+
+

nonce

+ +val nonce: Long
+Overrides IssueCommand.nonce
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/-init-.html new file mode 100644 index 0000000000..ec5af144bb --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/-init-.html @@ -0,0 +1,20 @@ + + +CommodityContract.Commands.Move.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Move / <init>
+
+

<init>

+Move(contractHash: SecureHash? = null)
+

A command stating that money has been moved, optionally to fulfil another contract.

+

Parameters

+ +contractHash - the contract this move is for the attention of. Only that contracts verify function +should take the moved states into account when considering whether it is valid. Typically this will be +null.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/contract-hash.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/contract-hash.html new file mode 100644 index 0000000000..f5474d1f04 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/contract-hash.html @@ -0,0 +1,18 @@ + + +CommodityContract.Commands.Move.contractHash - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Move / contractHash
+
+

contractHash

+ +val contractHash: SecureHash?
+Overrides MoveCommand.contractHash
+

Contract code the moved state(s) are for the attention of, for example to indicate that the states are moved in +order to settle an obligation contracts state object(s).

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/index.html new file mode 100644 index 0000000000..f315815565 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/-move/index.html @@ -0,0 +1,45 @@ + + +CommodityContract.Commands.Move - + + + +com.r3corda.contracts.asset / CommodityContract / Commands / Move
+
+

Move

+data class Move : Move, Commands
+

A command stating that money has been moved, optionally to fulfil another contract.

+

Parameters

+ +contractHash - the contract this move is for the attention of. Only that contracts verify function +should take the moved states into account when considering whether it is valid. Typically this will be +null.
+
+
+

Constructors

+ + + + + + + +
+<init> +Move(contractHash: SecureHash? = null)

A command stating that money has been moved, optionally to fulfil another contract.

+
+

Properties

+ + + + + + + +
+contractHash +val contractHash: SecureHash?

Contract code the moved state(s) are for the attention of, for example to indicate that the states are moved in +order to settle an obligation contracts state object(s).

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/index.html new file mode 100644 index 0000000000..0095c2b874 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-commands/index.html @@ -0,0 +1,70 @@ + + +CommodityContract.Commands - + + + +com.r3corda.contracts.asset / CommodityContract / Commands
+
+

Commands

+interface Commands : Commands
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Exit +data class Exit : Commands, Exit<Commodity>

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+
+Issue +data class Issue : Issue, Commands

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+
+Move +data class Move : Move, Commands

A command stating that money has been moved, optionally to fulfil another contract.

+
+

Inheritors

+ + + + + + + + + + + + + + + +
+Exit +data class Exit : Commands, Exit<Commodity>

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+
+Issue +data class Issue : Issue, Commands

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+
+Move +data class Move : Move, Commands

A command stating that money has been moved, optionally to fulfil another contract.

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-init-.html new file mode 100644 index 0000000000..3292d61c08 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-init-.html @@ -0,0 +1,19 @@ + + +CommodityContract.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / <init>
+
+

<init>

+CommodityContract()
+

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/-init-.html new file mode 100644 index 0000000000..076ed313f1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/-init-.html @@ -0,0 +1,18 @@ + + +CommodityContract.State.<init> - + + + +com.r3corda.contracts.asset / CommodityContract / State / <init>
+
+

<init>

+State(deposit: PartyAndReference, amount: Amount<Commodity>, owner: PublicKey)
+
+
+State(amount: Amount<Issued<Commodity>>, owner: PublicKey)
+

A state representing a commodity claim against some party

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/amount.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/amount.html new file mode 100644 index 0000000000..6a6141d1cd --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/amount.html @@ -0,0 +1,16 @@ + + +CommodityContract.State.amount - + + + +com.r3corda.contracts.asset / CommodityContract / State / amount
+
+

amount

+ +val amount: Amount<Issued<Commodity>>
+Overrides FungibleAsset.amount
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/contract.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/contract.html new file mode 100644 index 0000000000..58e92488ab --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/contract.html @@ -0,0 +1,43 @@ + + +CommodityContract.State.contract - + + + +com.r3corda.contracts.asset / CommodityContract / State / contract
+
+

contract

+ +val contract: CommodityContract
+Overrides ContractState.contract
+

An instance of the contract class that will verify this state.

+

Discussion

+

This field is not the final design, its just a piece of temporary scaffolding. Once the contract sandbox is +further along, this field will become a description of which attachments are acceptable for defining the +contract.

+

Recall that an attachment is a zip file that can be referenced from any transaction. The contents of the +attachments are merged together and cannot define any overlapping files, thus for any given transaction there +is a miniature file system in which each file can be precisely mapped to the defining attachment.

+

Attachments may contain many things (data files, legal documents, etc) but mostly they contain JVM bytecode. +The class files inside define not only Contract implementations but also the classes that define the states. +Within the rest of a transaction, user-providable components are referenced by name only.

+

This means that a smart contract in Corda does two things:

+
  1. Define the data structures that compose the ledger (the states)

    +
  2. Define the rules for updating those structures

    +

The first is merely a utility role ... in theory contract code could manually parse byte streams by hand. +The second is vital to the integrity of the ledger. So this field needs to be able to express constraints like:

+
  • Only attachment 733c350f396a727655be1363c06635ba355036bd54a5ed6e594fd0b5d05f42f6 may be used with this state.

    +
  • Any attachment signed by public key 2d1ce0e330c52b8055258d776c40 may be used with this state.

    +
  • Attachments (1, 2, 3) may all be used with this state.

    +

and so on. In this way it becomes possible for the business logic governing a state to be evolved, if the +constraints are flexible enough.

+

Because contract classes often also define utilities that generate relevant transactions, and because attachments +cannot know their own hashes, we will have to provide various utilities to assist with obtaining the right +code constraints from within the contract code itself.

+

TODO: Implement the above description. See COR-226

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/deposit.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/deposit.html new file mode 100644 index 0000000000..7e7dfdf948 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/deposit.html @@ -0,0 +1,18 @@ + + +CommodityContract.State.deposit - + + + +com.r3corda.contracts.asset / CommodityContract / State / deposit
+
+

deposit

+ +val deposit: PartyAndReference
+Overrides FungibleAsset.deposit
+

Where the underlying asset backing this ledger entry can be found. The reference +is only intended for use by the issuer, and is not intended to be meaningful to others.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/exit-keys.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/exit-keys.html new file mode 100644 index 0000000000..dc1fbc4953 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/exit-keys.html @@ -0,0 +1,17 @@ + + +CommodityContract.State.exitKeys - + + + +com.r3corda.contracts.asset / CommodityContract / State / exitKeys
+
+

exitKeys

+ +val exitKeys: MutableSet<PublicKey>
+Overrides FungibleAsset.exitKeys
+

There must be an ExitCommand signed by these keys to destroy the amount

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/index.html new file mode 100644 index 0000000000..5ca3c956ca --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/index.html @@ -0,0 +1,104 @@ + + +CommodityContract.State - + + + +com.r3corda.contracts.asset / CommodityContract / State
+
+

State

+data class State : FungibleAsset<Commodity>
+

A state representing a commodity claim against some party

+
+
+

Constructors

+ + + + + + + +
+<init> +State(deposit: PartyAndReference, amount: Amount<Commodity>, owner: PublicKey)State(amount: Amount<Issued<Commodity>>, owner: PublicKey)

A state representing a commodity claim against some party

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+amount +val amount: Amount<Issued<Commodity>>
+contract +val contract: CommodityContract

An instance of the contract class that will verify this state.

+
+deposit +val deposit: PartyAndReference

Where the underlying asset backing this ledger entry can be found. The reference +is only intended for use by the issuer, and is not intended to be meaningful to others.

+
+exitKeys +val exitKeys: MutableSet<PublicKey>

There must be an ExitCommand signed by these keys to destroy the amount

+
+issuanceDef +val issuanceDef: Issued<Commodity>
+owner +val owner: PublicKey

There must be a MoveCommand signed by this key to claim the amount

+
+participants +val participants: <ERROR CLASS>

A participant is any party that is able to consume this state in a valid transaction.

+
+

Functions

+ + + + + + + + + + + + + + + +
+move +fun move(newAmount: Amount<Issued<Commodity>>, newOwner: PublicKey): FungibleAsset<Commodity>
+toString +fun toString(): String
+withNewOwner +fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>

Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/issuance-def.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/issuance-def.html new file mode 100644 index 0000000000..9547bc027b --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/issuance-def.html @@ -0,0 +1,16 @@ + + +CommodityContract.State.issuanceDef - + + + +com.r3corda.contracts.asset / CommodityContract / State / issuanceDef
+
+

issuanceDef

+ +val issuanceDef: Issued<Commodity>
+Overrides FungibleAsset.issuanceDef
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/move.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/move.html new file mode 100644 index 0000000000..eda31f2433 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/move.html @@ -0,0 +1,15 @@ + + +CommodityContract.State.move - + + + +com.r3corda.contracts.asset / CommodityContract / State / move
+
+

move

+ +fun move(newAmount: Amount<Issued<Commodity>>, newOwner: PublicKey): FungibleAsset<Commodity>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/owner.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/owner.html new file mode 100644 index 0000000000..814c6c6069 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/owner.html @@ -0,0 +1,17 @@ + + +CommodityContract.State.owner - + + + +com.r3corda.contracts.asset / CommodityContract / State / owner
+
+

owner

+ +val owner: PublicKey
+Overrides FungibleAsset.owner
+

There must be a MoveCommand signed by this key to claim the amount

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/participants.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/participants.html new file mode 100644 index 0000000000..e21083acff --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/participants.html @@ -0,0 +1,25 @@ + + +CommodityContract.State.participants - + + + +com.r3corda.contracts.asset / CommodityContract / State / participants
+
+

participants

+ +val participants: <ERROR CLASS>
+Overrides ContractState.participants
+

A participant is any party that is able to consume this state in a valid transaction.

+

The list of participants is required for certain types of transactions. For example, when changing the notary +for this state (TransactionType.NotaryChange), every participants has to be involved and approve the transaction +so that they receive the updated state, and dont end up in a situation where they can no longer use a state +they possess, since someone consumed that state during the notary change process.

+

The participants list should normally be derived from the contents of the state. E.g. for Cash the participants +list should just contain the owner.

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/to-string.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/to-string.html new file mode 100644 index 0000000000..598c26042a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/to-string.html @@ -0,0 +1,15 @@ + + +CommodityContract.State.toString - + + + +com.r3corda.contracts.asset / CommodityContract / State / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/with-new-owner.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/with-new-owner.html new file mode 100644 index 0000000000..b4c2bc1589 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/-state/with-new-owner.html @@ -0,0 +1,17 @@ + + +CommodityContract.State.withNewOwner - + + + +com.r3corda.contracts.asset / CommodityContract / State / withNewOwner
+
+

withNewOwner

+ +fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>
+Overrides OwnableState.withNewOwner
+

Copies the underlying data structure, replacing the owner field with this new value and leaving the rest alone

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/clauses.html new file mode 100644 index 0000000000..ca25550276 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/clauses.html @@ -0,0 +1,16 @@ + + +CommodityContract.clauses - + + + +com.r3corda.contracts.asset / CommodityContract / clauses
+
+

clauses

+ +val clauses: <ERROR CLASS>
+Overrides ClauseVerifier.clauses
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/conserve-clause.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/conserve-clause.html new file mode 100644 index 0000000000..c320721b6c --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/conserve-clause.html @@ -0,0 +1,16 @@ + + +CommodityContract.conserveClause - + + + +com.r3corda.contracts.asset / CommodityContract / conserveClause
+
+

conserveClause

+ +val conserveClause: AbstractConserveAmount<State, Commodity>
+Overrides OnLedgerAsset.conserveClause
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/derive-state.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/derive-state.html new file mode 100644 index 0000000000..72fc8cd84d --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/derive-state.html @@ -0,0 +1,18 @@ + + +CommodityContract.deriveState - + + + +com.r3corda.contracts.asset / CommodityContract / deriveState
+
+

deriveState

+ +fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Commodity>>, owner: PublicKey): TransactionState<State>
+

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/extract-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/extract-commands.html new file mode 100644 index 0000000000..92c4273d8d --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/extract-commands.html @@ -0,0 +1,16 @@ + + +CommodityContract.extractCommands - + + + +com.r3corda.contracts.asset / CommodityContract / extractCommands
+
+

extractCommands

+ +fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
+Overrides ClauseVerifier.extractCommands
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-exit-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-exit-command.html new file mode 100644 index 0000000000..21ac5e8d7b --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-exit-command.html @@ -0,0 +1,15 @@ + + +CommodityContract.generateExitCommand - + + + +com.r3corda.contracts.asset / CommodityContract / generateExitCommand
+
+

generateExitCommand

+ +fun generateExitCommand(amount: Amount<Issued<Commodity>>): Exit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue-command.html new file mode 100644 index 0000000000..025f981cce --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue-command.html @@ -0,0 +1,16 @@ + + +CommodityContract.generateIssueCommand - + + + +com.r3corda.contracts.asset / CommodityContract / generateIssueCommand
+
+

generateIssueCommand

+ +fun generateIssueCommand(): Issue
+Overrides OnLedgerAsset.generateIssueCommand
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue.html new file mode 100644 index 0000000000..8a74449bfa --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-issue.html @@ -0,0 +1,21 @@ + + +CommodityContract.generateIssue - + + + +com.r3corda.contracts.asset / CommodityContract / generateIssue
+
+

generateIssue

+ +fun generateIssue(tx: TransactionBuilder, tokenDef: Issued<Commodity>, pennies: Long, owner: PublicKey, notary: Party): Unit
+

Puts together an issuance transaction from the given template, that starts out being owned by the given pubkey.

+
+
+ +fun generateIssue(tx: TransactionBuilder, amount: Amount<Issued<Commodity>>, owner: PublicKey, notary: Party): Unit
+

Puts together an issuance transaction for the specified amount that starts out being owned by the given pubkey.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-move-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-move-command.html new file mode 100644 index 0000000000..23cb597d1c --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/generate-move-command.html @@ -0,0 +1,16 @@ + + +CommodityContract.generateMoveCommand - + + + +com.r3corda.contracts.asset / CommodityContract / generateMoveCommand
+
+

generateMoveCommand

+ +fun generateMoveCommand(): Move
+Overrides OnLedgerAsset.generateMoveCommand
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/index.html new file mode 100644 index 0000000000..414acfc8a4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/index.html @@ -0,0 +1,130 @@ + + +CommodityContract - + + + +com.r3corda.contracts.asset / CommodityContract
+
+

CommodityContract

+class CommodityContract : OnLedgerAsset<Commodity, State>
+

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+
+
+

Types

+ + + + + + + + + + + + + + + +
+Clauses +interface Clauses

The clauses for this contract are essentially:

+
+Commands +interface Commands : Commands
+State +data class State : FungibleAsset<Commodity>

A state representing a commodity claim against some party

+
+

Constructors

+ + + + + + + +
+<init> +CommodityContract()

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+
+

Properties

+ + + + + + + + + + + + + + + +
+clauses +val clauses: <ERROR CLASS>
+conserveClause +val conserveClause: AbstractConserveAmount<State, Commodity>
+legalContractReference +val legalContractReference: SecureHash

TODO:

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+deriveState +fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Commodity>>, owner: PublicKey): TransactionState<State>

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+
+extractCommands +fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
+generateExitCommand +fun generateExitCommand(amount: Amount<Issued<Commodity>>): Exit
+generateIssue +fun generateIssue(tx: TransactionBuilder, tokenDef: Issued<Commodity>, pennies: Long, owner: PublicKey, notary: Party): Unit

Puts together an issuance transaction from the given template, that starts out being owned by the given pubkey.

+fun generateIssue(tx: TransactionBuilder, amount: Amount<Issued<Commodity>>, owner: PublicKey, notary: Party): Unit

Puts together an issuance transaction for the specified amount that starts out being owned by the given pubkey.

+
+generateIssueCommand +fun generateIssueCommand(): Issue
+generateMoveCommand +fun generateMoveCommand(): Move
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/legal-contract-reference.html b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/legal-contract-reference.html new file mode 100644 index 0000000000..f5d862ddb4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-commodity-contract/legal-contract-reference.html @@ -0,0 +1,25 @@ + + +CommodityContract.legalContractReference - + + + +com.r3corda.contracts.asset / CommodityContract / legalContractReference
+
+

legalContractReference

+ +val legalContractReference: SecureHash
+Overrides Contract.legalContractReference
+

TODO:

+
  1. hash should be of the contents, not the URI

    +
  2. allow the content to be specified at time of instance creation?

    +

Motivation: its the difference between a state object referencing a programRef, which references a +legalContractReference and a state object which directly references both. The latter allows the legal wording +to evolve without requiring code changes. But creates a risk that users create objects governed by a program +that is inconsistent with the legal contract

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-exit/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-exit/index.html index 9bf6810da7..424df973c8 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-exit/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-exit/index.html @@ -36,6 +36,14 @@ in some other way.

+Exit + +data class Exit : Commands, Exit<Commodity>

A command stating that money has been withdrawn from the shared ledger and is now accounted for +in some other way.

+ + + + Exit data class Exit<P> : Commands, Exit<Terms<P>>

A command stating that the debt is being released by the beneficiary. Normally would indicate diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-issue.html b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-issue.html index 280ccb0f70..89b9cb76f6 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-issue.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-issue.html @@ -36,6 +36,14 @@ has a unique ID even when there are no inputs.

+Issue + +data class Issue : Issue, Commands

Allows new commodity states to be issued into existence: the nonce ("number used once") ensures the transaction +has a unique ID even when there are no inputs.

+ + + + Issue data class Issue : Issue, Commands

Allows new obligation states to be issued into existence: the nonce ("number used once") ensures the diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-move.html b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-move.html index e329f4cd73..6747af2e99 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-move.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/-move.html @@ -35,6 +35,13 @@ order to settle an obligation contracts state object(s).

+Move + +data class Move : Move, Commands

A command stating that money has been moved, optionally to fulfil another contract.

+ + + + Move data class Move : Commands, Move

A command stating that a debt has been moved, optionally to fulfil another contract.

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/index.html index 65b1a10e14..f46f51888e 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/-commands/index.html @@ -48,6 +48,12 @@ has a unique ID even when there are no inputs.

+Commands + +interface Commands : Commands + + + Commands interface Commands : Commands diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/index.html index 393332da77..604557dd0c 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-fungible-asset/index.html @@ -121,6 +121,13 @@ is only intended for use by the issuer, and is not intended to be meaningful to +State + +data class State : FungibleAsset<Commodity>

A state representing a commodity claim against some party

+ + + + State data class State<P> : FungibleAsset<Terms<P>>, NettableState<State<P>, MultilateralNetState<P>>

A state representing the obligation of one party (obligor) to deliver a specified number of diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/-init-.html index 38477e2855..db5fc3d6c7 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/-init-.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/-init-.html @@ -7,7 +7,7 @@ com.r3corda.contracts.asset / InsufficientBalanceException / <init>

<init>

-InsufficientBalanceException(amountMissing: Amount<Currency>)
+InsufficientBalanceException(amountMissing: Amount<*>)


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/amount-missing.html b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/amount-missing.html index 749da1ee5d..9323ad1b72 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/amount-missing.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/amount-missing.html @@ -8,7 +8,7 @@

amountMissing

-val amountMissing: Amount<Currency>
+val amountMissing: Amount<*>


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/index.html index 8031d756a4..29be54f6e8 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/index.html @@ -17,7 +17,7 @@ <init> -InsufficientBalanceException(amountMissing: Amount<Currency>) +InsufficientBalanceException(amountMissing: Amount<*>) @@ -28,7 +28,18 @@ amountMissing -val amountMissing: Amount<Currency> +val amountMissing: Amount<*> + + + +

Functions

+ + + + +
+toString +fun toString(): String
diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/to-string.html b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/to-string.html new file mode 100644 index 0000000000..2aa3f6bc42 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-insufficient-balance-exception/to-string.html @@ -0,0 +1,15 @@ + + +InsufficientBalanceException.toString - + + + +com.r3corda.contracts.asset / InsufficientBalanceException / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/clauses.html index e118d6f62b..fe3fdb2e21 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<GroupClause<State<P>, Issued<Terms<P>>>>
+val clauses: <ERROR CLASS>
Overrides GroupClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-matched.html index b414d201fb..fa3710aacf 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-not-matched.html index 8fb39d39f3..6d1fe86f78 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/index.html index de611f5250..020e56afa2 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-group/index.html @@ -30,7 +30,7 @@ clauses -val clauses: List<GroupClause<State<P>, Issued<Terms<P>>>> +val clauses: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/index.html index 8cc87b3c1d..b031c93cb8 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/index.html @@ -30,7 +30,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/required-commands.html index 83c80527b6..4795724779 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-issue/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-matched.html index f21724e7b5..2238141d52 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-not-matched.html index 11b7b78d1e..86daecb85c 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/index.html index be2e9aa699..1bb5097161 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/index.html @@ -44,7 +44,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/required-commands.html index 537182c61f..df3a521777 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-set-lifecycle/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-matched.html index 4a440104c2..5929bb7e5d 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-not-matched.html index af76a62423..9833366a65 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/index.html index d2e0cb90a2..4f53b31f4d 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/index.html @@ -46,7 +46,7 @@ change of ownership of other states to fulfil

requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/required-commands.html index dc217ae674..e912df15c5 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-settle/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-matched.html index 1d009536c2..cec9f0a51f 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-not-matched.html index b3afeea719..78a260208c 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/required-commands.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/required-commands.html index f2ae358499..5910594d2b 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/-clauses/-verify-lifecycle/required-commands.html @@ -11,9 +11,6 @@ val requiredCommands: Set<Class<out CommandData>>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/clauses.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/clauses.html index 869ad06e74..570610c6dc 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
Overrides ClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/generate-exit.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/generate-exit.html new file mode 100644 index 0000000000..2b0c6b4212 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/generate-exit.html @@ -0,0 +1,32 @@ + + +Obligation.generateExit - + + + +com.r3corda.contracts.asset / Obligation / generateExit
+
+

generateExit

+ +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Terms<P>>>, changeKey: PublicKey, assetStates: List<StateAndRef<State<P>>>): PublicKey
+

Generate an transaction exiting an obligation from the ledger.

+

Parameters

+ +tx - transaction builder to add states and commands to.
+
+ +amountIssued - the amount to be exited, represented as a quantity of issued currency.
+
+ +changeKey - the key to send any change to. This needs to be explicitly stated as the input states are not +necessarily owned by us.
+
+ +assetStates - the asset states to take funds from. No checks are done about ownership of these states, it is +the responsibility of the caller to check that they do not exit funds held by others.
+

Return
+the public key of the assets issuer, who must sign the transaction for it to be valid.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/index.html index 6f47afea6c..10fb2493dc 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/-obligation/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/-obligation/index.html @@ -81,7 +81,7 @@ to be netted/merged, with settlement only for any remainder amount.

clauses -val clauses: List<SingleClause> +val clauses: <ERROR CLASS> @@ -110,6 +110,13 @@ to be netted/merged, with settlement only for any remainder amount.

+generateExit + +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Terms<P>>>, changeKey: PublicKey, assetStates: List<StateAndRef<State<P>>>): PublicKey

Generate an transaction exiting an obligation from the ledger.

+ + + + generateIssue fun generateIssue(tx: TransactionBuilder, obligor: Party, issuanceDef: Terms<P>, pennies: Long, beneficiary: PublicKey, notary: Party): Unit

Puts together an issuance transaction for the specified amount that starts out being owned by the given pubkey.

@@ -134,13 +141,6 @@ to be netted/merged, with settlement only for any remainder amount.

fun generateSettle(tx: TransactionBuilder, statesAndRefs: Iterable<StateAndRef<State<P>>>, assetStatesAndRefs: Iterable<StateAndRef<FungibleAsset<P>>>, moveCommand: MoveCommand, notary: Party): Unit - - -verifySetLifecycleCommand - -fun verifySetLifecycleCommand(inputs: List<FungibleAsset<Terms<P>>>, outputs: List<FungibleAsset<Terms<P>>>, tx: TransactionForContract, setLifecycleCommand: AuthenticatedObject<SetLifecycle>): Unit

A default command mutates inputs and produces identical outputs, except that the lifecycle changes.

- -

Inherited Functions

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/-init-.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/-init-.html new file mode 100644 index 0000000000..9a010e831e --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/-init-.html @@ -0,0 +1,25 @@ + + +OnLedgerAsset.<init> - + + + +com.r3corda.contracts.asset / OnLedgerAsset / <init>
+
+

<init>

+OnLedgerAsset()
+

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+

The goal of this design is to ensure that assets can be withdrawn from the ledger easily: if you receive some asset +via this contract, you always know where to go in order to extract it from the R3 ledger, no matter how many hands +it has passed through in the intervening time.

+

At the same time, other contracts that just want assets and dont care much who is currently holding it can ignore +the issuer/depositRefs and just examine the amount fields.

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/conserve-clause.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/conserve-clause.html new file mode 100644 index 0000000000..abcf9e108a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/conserve-clause.html @@ -0,0 +1,15 @@ + + +OnLedgerAsset.conserveClause - + + + +com.r3corda.contracts.asset / OnLedgerAsset / conserveClause
+
+

conserveClause

+ +abstract val conserveClause: AbstractConserveAmount<S, T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/derive-state.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/derive-state.html new file mode 100644 index 0000000000..bd9b77d5b3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/derive-state.html @@ -0,0 +1,18 @@ + + +OnLedgerAsset.deriveState - + + + +com.r3corda.contracts.asset / OnLedgerAsset / deriveState
+
+

deriveState

+ +abstract fun deriveState(txState: TransactionState<S>, amount: Amount<Issued<T>>, owner: PublicKey): TransactionState<S>
+

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit-command.html new file mode 100644 index 0000000000..247ce40d38 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit-command.html @@ -0,0 +1,15 @@ + + +OnLedgerAsset.generateExitCommand - + + + +com.r3corda.contracts.asset / OnLedgerAsset / generateExitCommand
+
+

generateExitCommand

+ +abstract fun generateExitCommand(amount: Amount<Issued<T>>): Exit<T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit.html new file mode 100644 index 0000000000..89fa7ec593 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-exit.html @@ -0,0 +1,32 @@ + + +OnLedgerAsset.generateExit - + + + +com.r3corda.contracts.asset / OnLedgerAsset / generateExit
+
+

generateExit

+ +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>): PublicKey
+

Generate an transaction exiting assets from the ledger.

+

Parameters

+ +tx - transaction builder to add states and commands to.
+
+ +amountIssued - the amount to be exited, represented as a quantity of issued currency.
+
+ +changeKey - the key to send any change to. This needs to be explicitly stated as the input states are not +necessarily owned by us.
+
+ +assetStates - the asset states to take funds from. No checks are done about ownership of these states, it is +the responsibility of the caller to check that they do not exit funds held by others.
+

Return
+the public key of the assets issuer, who must sign the transaction for it to be valid.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-issue-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-issue-command.html new file mode 100644 index 0000000000..74e420b029 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-issue-command.html @@ -0,0 +1,15 @@ + + +OnLedgerAsset.generateIssueCommand - + + + +com.r3corda.contracts.asset / OnLedgerAsset / generateIssueCommand
+
+

generateIssueCommand

+ +abstract fun generateIssueCommand(): Issue
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-move-command.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-move-command.html new file mode 100644 index 0000000000..cdb6e6648a --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-move-command.html @@ -0,0 +1,15 @@ + + +OnLedgerAsset.generateMoveCommand - + + + +com.r3corda.contracts.asset / OnLedgerAsset / generateMoveCommand
+
+

generateMoveCommand

+ +abstract fun generateMoveCommand(): Move
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-spend.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-spend.html new file mode 100644 index 0000000000..60c3b77ea9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/generate-spend.html @@ -0,0 +1,22 @@ + + +OnLedgerAsset.generateSpend - + + + +com.r3corda.contracts.asset / OnLedgerAsset / generateSpend
+
+

generateSpend

+ +fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null): List<PublicKey>
+

Generate a transaction that consumes one or more of the given input states to move assets to the given pubkey. +Note that the wallet list is not updated: its up to you to do that.

+

Parameters

+ +onlyFromParties - if non-null, the wallet will be filtered to only include asset states issued by the set +of given parties. This can be useful if the party youre trying to pay has expectations +about which type of asset claims they are willing to accept.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/index.html b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/index.html new file mode 100644 index 0000000000..782fbbaa6c --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-on-ledger-asset/index.html @@ -0,0 +1,156 @@ + + +OnLedgerAsset - + + + +com.r3corda.contracts.asset / OnLedgerAsset
+
+

OnLedgerAsset

+abstract class OnLedgerAsset<T : Any, S : FungibleAsset<T>> : ClauseVerifier
+

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+

The goal of this design is to ensure that assets can be withdrawn from the ledger easily: if you receive some asset +via this contract, you always know where to go in order to extract it from the R3 ledger, no matter how many hands +it has passed through in the intervening time.

+

At the same time, other contracts that just want assets and dont care much who is currently holding it can ignore +the issuer/depositRefs and just examine the amount fields.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +OnLedgerAsset()

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+
+

Properties

+ + + + + + + +
+conserveClause +abstract val conserveClause: AbstractConserveAmount<S, T>
+

Inherited Properties

+ + + + + + + +
+clauses +abstract val clauses: List<SingleClause>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+deriveState +abstract fun deriveState(txState: TransactionState<S>, amount: Amount<Issued<T>>, owner: PublicKey): TransactionState<S>

Derive a new transaction state based on the given example, with amount and owner modified. This allows concrete +implementations to have fields in their state which we dont know about here, and we simply leave them untouched +when sending out "change" from spending/exiting.

+
+generateExit +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>): PublicKey

Generate an transaction exiting assets from the ledger.

+
+generateExitCommand +abstract fun generateExitCommand(amount: Amount<Issued<T>>): Exit<T>
+generateIssueCommand +abstract fun generateIssueCommand(): Issue
+generateMoveCommand +abstract fun generateMoveCommand(): Move
+generateSpend +fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null): List<PublicKey>

Generate a transaction that consumes one or more of the given input states to move assets to the given pubkey. +Note that the wallet list is not updated: its up to you to do that.

+
+

Inherited Functions

+ + + + + + + + + + + +
+extractCommands +abstract fun extractCommands(tx: TransactionForContract): Collection<AuthenticatedObject<CommandData>>
+verify +open fun verify(tx: TransactionForContract): Unit

Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense. +Must throw an exception if theres a problem that should prevent state transition. Takes a single object +rather than an argument so that additional data can be added without breaking binary compatibility with +existing contract code.

+
+

Inheritors

+ + + + + + + + + + + +
+Cash +class Cash : OnLedgerAsset<Currency, State>

A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour +(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in +the same transaction.

+
+CommodityContract +class CommodityContract : OnLedgerAsset<Commodity, State>

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/index.html b/docs/build/html/api/com.r3corda.contracts.asset/index.html index b1404d082d..0a415e1599 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/index.html @@ -14,7 +14,7 @@ Cash -class Cash : ClauseVerifier

A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple +class Cash : OnLedgerAsset<Currency, State>

A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same transaction.

@@ -22,6 +22,17 @@ the same transaction.

+CommodityContract + +class CommodityContract : OnLedgerAsset<Commodity, State>

A commodity contract represents an amount of some commodity, tracked on a distributed ledger. The design of this +contract is intentionally similar to the Cash contract, and the same commands (issue, move, exit) apply, the +differences are in representation of the underlying commodity. Issuer in this context means the party who has the +commodity, or is otherwise responsible for delivering the commodity on demand, and the deposit reference is use for +internal accounting by the issuer (it might be, for example, a warehouse and/or location within a warehouse).

+ + + + FungibleAsset interface FungibleAsset<T> : OwnableState

Interface for contract states representing assets which are fungible, countable and issued by a @@ -42,6 +53,16 @@ multiple input and output states. The goal of this design is to handle amounts o to be netted/merged, with settlement only for any remainder amount.

+ + +OnLedgerAsset + +abstract class OnLedgerAsset<T : Any, S : FungibleAsset<T>> : ClauseVerifier

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+ +

Exceptions

@@ -84,6 +105,12 @@ to be netted/merged, with settlement only for any remainder amount.

+COMMODITY_PROGRAM_ID + +val COMMODITY_PROGRAM_ID: CommodityContract + + + DUMMY_CASH_ISSUER val DUMMY_CASH_ISSUER: <ERROR CLASS>

A dummy, randomly generated issuer party by the name of "Snake Oil Issuer"

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/index.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/index.html index cbcd58a3e9..a26ed55432 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/index.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/index.html @@ -13,31 +13,53 @@ sumCash -fun Iterable<ContractState>.sumCash(): <ERROR CLASS>

Sums the cash states in the list, throwing an exception if there are none, or if any of the cash -states cannot be added together (i.e. are different currencies).

+fun Iterable<ContractState>.sumCash(): Amount<Issued<Currency>>

Sums the cash states in the list, throwing an exception if there are none, or if any of the cash +states cannot be added together (i.e. are different currencies or issuers).

sumCashBy -fun Iterable<ContractState>.sumCashBy(owner: PublicKey): <ERROR CLASS>

Sums the cash states in the list belonging to a single owner, throwing an exception +fun Iterable<ContractState>.sumCashBy(owner: PublicKey): Amount<Issued<Currency>>

Sums the cash states in the list belonging to a single owner, throwing an exception if there are none, or if any of the cash states cannot be added together (i.e. are -different currencies).

+different currencies or issuers).

sumCashOrNull -fun Iterable<ContractState>.sumCashOrNull(): <ERROR CLASS>

Sums the cash states in the list, returning null if there are none.

+fun Iterable<ContractState>.sumCashOrNull(): Amount<Issued<Currency>>?

Sums the cash states in the list, returning null if there are none.

sumCashOrZero -fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): <ERROR CLASS>

Sums the cash states in the list, returning zero of the given currency if there are none.

+fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): Amount<Issued<Currency>>

Sums the cash states in the list, returning zero of the given currency+issuer if there are none.

+ + + + +sumCommodities + +fun Iterable<ContractState>.sumCommodities(): <ERROR CLASS>

Sums the cash states in the list, throwing an exception if there are none, or if any of the cash +states cannot be added together (i.e. are different currencies).

+ + + + +sumCommoditiesOrNull + +fun Iterable<ContractState>.sumCommoditiesOrNull(): <ERROR CLASS>

Sums the cash states in the list, returning null if there are none.

+ + + + +sumCommoditiesOrZero + +fun Iterable<ContractState>.sumCommoditiesOrZero(currency: Issued<Commodity>): <ERROR CLASS>

Sums the cash states in the list, returning zero of the given currency if there are none.

diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-by.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-by.html index 94c663004e..48c1690079 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-by.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-by.html @@ -8,10 +8,10 @@

sumCashBy

-fun Iterable<ContractState>.sumCashBy(owner: PublicKey): <ERROR CLASS>
+fun Iterable<ContractState>.sumCashBy(owner: PublicKey): Amount<Issued<Currency>>

Sums the cash states in the list belonging to a single owner, throwing an exception if there are none, or if any of the cash states cannot be added together (i.e. are -different currencies).

+different currencies or issuers).



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-null.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-null.html index 3503e531b1..4862db49a1 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-null.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-null.html @@ -8,7 +8,7 @@

sumCashOrNull

-fun Iterable<ContractState>.sumCashOrNull(): <ERROR CLASS>
+fun Iterable<ContractState>.sumCashOrNull(): Amount<Issued<Currency>>?

Sums the cash states in the list, returning null if there are none.



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-zero.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-zero.html index fa691bb37b..9399cdbf72 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-zero.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash-or-zero.html @@ -8,8 +8,8 @@

sumCashOrZero

-fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): <ERROR CLASS>
-

Sums the cash states in the list, returning zero of the given currency if there are none.

+fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): Amount<Issued<Currency>>
+

Sums the cash states in the list, returning zero of the given currency+issuer if there are none.



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash.html index 6283fb4e19..2acab78650 100644 --- a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash.html +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-cash.html @@ -8,9 +8,9 @@

sumCash

-fun Iterable<ContractState>.sumCash(): <ERROR CLASS>
+fun Iterable<ContractState>.sumCash(): Amount<Issued<Currency>>

Sums the cash states in the list, throwing an exception if there are none, or if any of the cash -states cannot be added together (i.e. are different currencies).

+states cannot be added together (i.e. are different currencies or issuers).



diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-null.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-null.html new file mode 100644 index 0000000000..f13a27ddfd --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-null.html @@ -0,0 +1,16 @@ + + +sumCommoditiesOrNull - + + + +com.r3corda.contracts.asset / kotlin.collections.Iterable / sumCommoditiesOrNull
+
+

sumCommoditiesOrNull

+ +fun Iterable<ContractState>.sumCommoditiesOrNull(): <ERROR CLASS>
+

Sums the cash states in the list, returning null if there are none.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-zero.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-zero.html new file mode 100644 index 0000000000..d89bbfb237 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities-or-zero.html @@ -0,0 +1,16 @@ + + +sumCommoditiesOrZero - + + + +com.r3corda.contracts.asset / kotlin.collections.Iterable / sumCommoditiesOrZero
+
+

sumCommoditiesOrZero

+ +fun Iterable<ContractState>.sumCommoditiesOrZero(currency: Issued<Commodity>): <ERROR CLASS>
+

Sums the cash states in the list, returning zero of the given currency if there are none.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities.html b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities.html new file mode 100644 index 0000000000..a0bfd56e0e --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/kotlin.collections.-iterable/sum-commodities.html @@ -0,0 +1,17 @@ + + +sumCommodities - + + + +com.r3corda.contracts.asset / kotlin.collections.Iterable / sumCommodities
+
+

sumCommodities

+ +fun Iterable<ContractState>.sumCommodities(): <ERROR CLASS>
+

Sums the cash states in the list, throwing an exception if there are none, or if any of the cash +states cannot be added together (i.e. are different currencies).

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-exit.html b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-exit.html new file mode 100644 index 0000000000..efa2fa4686 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-exit.html @@ -0,0 +1,32 @@ + + +AbstractConserveAmount.generateExit - + + + +com.r3corda.contracts.clause / AbstractConserveAmount / generateExit
+
+

generateExit

+ +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateExitCommand: (Amount<Issued<T>>) -> CommandData): PublicKey
+

Generate an transaction exiting fungible assets from the ledger.

+

Parameters

+ +tx - transaction builder to add states and commands to.
+
+ +amountIssued - the amount to be exited, represented as a quantity of issued currency.
+
+ +changeKey - the key to send any change to. This needs to be explicitly stated as the input states are not +necessarily owned by us.
+
+ +assetStates - the asset states to take funds from. No checks are done about ownership of these states, it is +the responsibility of the caller to check that they do not exit funds held by others.
+

Return
+the public key of the assets issuer, who must sign the transaction for it to be valid.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-spend.html b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-spend.html new file mode 100644 index 0000000000..7e279c2036 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/generate-spend.html @@ -0,0 +1,22 @@ + + +AbstractConserveAmount.generateSpend - + + + +com.r3corda.contracts.clause / AbstractConserveAmount / generateSpend
+
+

generateSpend

+ +fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateMoveCommand: () -> CommandData): List<PublicKey>
+

Generate a transaction that consumes one or more of the given input states to move assets to the given pubkey. +Note that the wallet list is not updated: its up to you to do that.

+

Parameters

+ +onlyFromParties - if non-null, the wallet will be filtered to only include asset states issued by the set +of given parties. This can be useful if the party youre trying to pay has expectations +about which type of asset claims they are willing to accept.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/index.html b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/index.html index 3c915e9af3..a0d69be2c2 100644 --- a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/index.html +++ b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-conserve-amount/index.html @@ -58,6 +58,21 @@ errors on no-match, ends on match.

+generateExit + +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateExitCommand: (Amount<Issued<T>>) -> CommandData): PublicKey

Generate an transaction exiting fungible assets from the ledger.

+ + + + +generateSpend + +fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateMoveCommand: () -> CommandData): List<PublicKey>

Generate a transaction that consumes one or more of the given input states to move assets to the given pubkey. +Note that the wallet list is not updated: its up to you to do that.

+ + + + verify open fun verify(tx: TransactionForContract, inputs: List<S>, outputs: List<S>, commands: Collection<AuthenticatedObject<CommandData>>, token: Issued<T>): Set<CommandData> @@ -75,6 +90,13 @@ errors on no-match, ends on match.

+ConserveAmount + +class ConserveAmount : AbstractConserveAmount<State, Commodity>

Standard clause for conserving the amount from input to output.

+ + + + ConserveAmount class ConserveAmount<P> : AbstractConserveAmount<State<P>, Terms<P>>

Generic move/exit clause for fungible assets

diff --git a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-issue/index.html b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-issue/index.html index 1716356a1d..90efe0a4ff 100644 --- a/docs/build/html/api/com.r3corda.contracts.clause/-abstract-issue/index.html +++ b/docs/build/html/api/com.r3corda.contracts.clause/-abstract-issue/index.html @@ -7,7 +7,7 @@ com.r3corda.contracts.clause / AbstractIssue

AbstractIssue

-abstract class AbstractIssue<S : ContractState, T : Any> : GroupClause<S, Issued<T>>
+abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

Parameters

@@ -90,6 +90,13 @@ no states in the list. Takes in an instance of the token definition for construc +Issue + +class Issue : AbstractIssue<State, Commodity>

Standard issue clause, specialised to match the commodity issue command.

+ + + + Issue class Issue<P> : AbstractIssue<State<P>, Terms<P>>

Generic issuance clause

diff --git a/docs/build/html/api/com.r3corda.contracts.clause/-no-zero-sized-outputs/index.html b/docs/build/html/api/com.r3corda.contracts.clause/-no-zero-sized-outputs/index.html index e43ac897d2..fbf824fce2 100644 --- a/docs/build/html/api/com.r3corda.contracts.clause/-no-zero-sized-outputs/index.html +++ b/docs/build/html/api/com.r3corda.contracts.clause/-no-zero-sized-outputs/index.html @@ -7,7 +7,7 @@ com.r3corda.contracts.clause / NoZeroSizedOutputs

NoZeroSizedOutputs

-open class NoZeroSizedOutputs<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>
+open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>

Clause for fungible asset contracts, which enforces that no output state should have a balance of zero.


diff --git a/docs/build/html/api/com.r3corda.contracts.clause/index.html b/docs/build/html/api/com.r3corda.contracts.clause/index.html index 616d8edb32..17a9374b71 100644 --- a/docs/build/html/api/com.r3corda.contracts.clause/index.html +++ b/docs/build/html/api/com.r3corda.contracts.clause/index.html @@ -23,7 +23,7 @@ errors on no-match, ends on match.

AbstractIssue -abstract class AbstractIssue<S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

+abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

@@ -66,7 +66,7 @@ underlying issued thing.

NoZeroSizedOutputs -open class NoZeroSizedOutputs<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>

Clause for fungible asset contracts, which enforces that no output state should have +open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>

Clause for fungible asset contracts, which enforces that no output state should have a balance of zero.

diff --git a/docs/build/html/api/com.r3corda.contracts.testing/fill-with-some-test-cash.html b/docs/build/html/api/com.r3corda.contracts.testing/fill-with-some-test-cash.html index bf9b1c91e1..a54cc00aa3 100644 --- a/docs/build/html/api/com.r3corda.contracts.testing/fill-with-some-test-cash.html +++ b/docs/build/html/api/com.r3corda.contracts.testing/fill-with-some-test-cash.html @@ -7,13 +7,11 @@ com.r3corda.contracts.testing / fillWithSomeTestCash

fillWithSomeTestCash

- -fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 0 }))): Wallet
+ +fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them -to the wallet. This is intended for unit tests.

-

The cash is self issued with the current nodes identity, as fetched from the storage service. Thus it -would not be trusted by any sensible market participant and is effectively an IOU. If it had been issued by -the central bank, well ... thatd be a different story altogether.

+to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal +identity key from the storage service.

The service hub needs to provide at least a key management service and a storage service.



diff --git a/docs/build/html/api/com.r3corda.contracts.testing/index.html b/docs/build/html/api/com.r3corda.contracts.testing/index.html index 460c37e463..e4dd334aae 100644 --- a/docs/build/html/api/com.r3corda.contracts.testing/index.html +++ b/docs/build/html/api/com.r3corda.contracts.testing/index.html @@ -14,8 +14,9 @@ fillWithSomeTestCash -fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 0 }))): Wallet

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them -to the wallet. This is intended for unit tests.

+fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal +identity key from the storage service.

diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-matched.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-matched.html index d6da500928..fa3e876630 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-matched.html @@ -11,9 +11,6 @@ open val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-not-matched.html index 8d9e3cd510..227deeb5f5 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-abstract-group-clause/if-not-matched.html @@ -11,9 +11,6 @@ open val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/clauses.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/clauses.html index 8a3d9992ce..6453f144dc 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<GroupClause<State, Issued<Terms>>>
+val clauses: <ERROR CLASS>
Overrides GroupClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-matched.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-matched.html index a7cf80242b..7545b37fd4 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-not-matched.html index bf4a9968c4..01151b2811 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/index.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/index.html index 1e15a71a19..6fa79f7782 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-group/index.html @@ -28,7 +28,7 @@ clauses -val clauses: List<GroupClause<State, Issued<Terms>>> +val clauses: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-issue/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-issue/required-commands.html index ffaa400d3e..3cb0370c70 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-issue/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-issue/required-commands.html @@ -11,9 +11,6 @@ val requiredCommands: Set<Class<out CommandData>>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-move/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-move/required-commands.html index b971937d63..206925ff0d 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-move/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-clauses/-move/required-commands.html @@ -11,9 +11,6 @@ val requiredCommands: Set<Class<out CommandData>>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/clauses.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/clauses.html index c58dc2aab7..93a7d8a737 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
Overrides ClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/index.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/index.html index 64e9a02554..874b74f229 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/index.html @@ -57,7 +57,7 @@ clauses -val clauses: List<SingleClause> +val clauses: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-matched.html index 2898e4ba49..6e2ec104ac 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-matched.html @@ -11,9 +11,6 @@ open val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-not-matched.html index cabeb0ab32..ff9b373577 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-abstract-i-r-s-clause/if-not-matched.html @@ -11,9 +11,6 @@ open val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/index.html index ce9ea5fc6c..6f07a9491f 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/index.html @@ -28,7 +28,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/required-commands.html index f35e62e50c..cfe6b9d13b 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-agree/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/index.html index c0429ad904..75b1696a5b 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/index.html @@ -28,7 +28,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/required-commands.html index ff5f4e19b9..6329c03201 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-fix/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/clauses.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/clauses.html index 4fa2da7e5e..a0b4fd0eab 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/clauses.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/clauses.html @@ -8,7 +8,7 @@

clauses

-val clauses: List<GroupClause<State, String>>
+val clauses: <ERROR CLASS>
Overrides GroupClauseVerifier.clauses


diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-matched.html index 565a1ebc54..a981e59c7e 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-not-matched.html index ad8174796d..dee69982b1 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/index.html index a5b818fc01..553cc3673d 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-group/index.html @@ -28,7 +28,7 @@ clauses -val clauses: List<GroupClause<State, String>> +val clauses: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/index.html index fed934d0f8..0ccf55fa03 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/index.html @@ -28,7 +28,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/required-commands.html index 5416835e66..b40f35b75f 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-mature/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/index.html index 6c5a3e0498..133c019c6d 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/index.html @@ -28,7 +28,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/required-commands.html index 9e92c07611..d69d45b5de 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-pay/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-matched.html index eb2b14c71a..659421b418 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-matched.html @@ -11,9 +11,6 @@ val ifMatched: MatchBehaviour
Overrides Clause.ifMatched

Behaviour if this clause is not matches

-

Getter
-

Behaviour if this clause is not matches

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-not-matched.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-not-matched.html index 45ac66874d..32994f4f21 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-not-matched.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/if-not-matched.html @@ -11,9 +11,6 @@ val ifNotMatched: MatchBehaviour
Overrides Clause.ifNotMatched

Behaviour if this clause is matched

-

Getter
-

Behaviour if this clause is matched

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/index.html index d81a8fae1c..6da9a43cc1 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/index.html @@ -42,7 +42,7 @@ requiredCommands -val requiredCommands: Set<Class<out CommandData>>

Classes for commands which must ALL be present in transaction for this clause to be triggered

+val requiredCommands: <ERROR CLASS>

Classes for commands which must ALL be present in transaction for this clause to be triggered

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/required-commands.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/required-commands.html index fe439a0e6c..84d613c22c 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/required-commands.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-clause/-timestamped/required-commands.html @@ -8,12 +8,9 @@

requiredCommands

-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
Overrides Clause.requiredCommands

Classes for commands which must ALL be present in transaction for this clause to be triggered

-

Getter
-

Classes for commands which must ALL be present in transaction for this clause to be triggered

-



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/index.html index 1cc2d0df5b..8c070c36b3 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/index.html @@ -139,7 +139,7 @@ This can be used to implement deadlines for payment or processing of financial i prettyPrint -fun prettyPrint(): String

Just makes printing it out a bit better for those who dont have 80000 column wide monitors.

+fun prettyPrint(): <ERROR CLASS>

Just makes printing it out a bit better for those who dont have 80000 column wide monitors.

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/pretty-print.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/pretty-print.html index d87a6330f7..d1020ccc5b 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/pretty-print.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/pretty-print.html @@ -8,7 +8,7 @@

prettyPrint

-fun prettyPrint(): String
+fun prettyPrint(): <ERROR CLASS>

Just makes printing it out a bit better for those who dont have 80000 column wide monitors.



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/index.html index 1e0db905db..05ac3a4144 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/index.html @@ -102,7 +102,7 @@ This is just a representation of a vanilla Fixed vs Floating (same currency) IRS legalContractReference -val legalContractReference: SecureHash

Unparsed reference to the natural language contract that this code is supposed to express (usually a hash of +val legalContractReference: <ERROR CLASS>

Unparsed reference to the natural language contract that this code is supposed to express (usually a hash of the contracts contents).

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/legal-contract-reference.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/legal-contract-reference.html index d8e179ffba..5854fe6030 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/legal-contract-reference.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/legal-contract-reference.html @@ -8,7 +8,7 @@

legalContractReference

-val legalContractReference: SecureHash
+val legalContractReference: <ERROR CLASS>
Overrides Contract.legalContractReference

Unparsed reference to the natural language contract that this code is supposed to express (usually a hash of the contracts contents).

diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause-verifier/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause-verifier/index.html index 5bb62c1197..71f5d4b516 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause-verifier/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause-verifier/index.html @@ -75,16 +75,6 @@ existing contract code.

-Cash - -class Cash : ClauseVerifier

A cash transaction may split and merge money represented by a set of (issuer, depositRef) pairs, across multiple -input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour -(a blend of issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in -the same transaction.

- - - - CommercialPaper class CommercialPaper : ClauseVerifier @@ -110,6 +100,16 @@ multiple input and output states. The goal of this design is to handle amounts o to be netted/merged, with settlement only for any remainder amount.

+ + +OnLedgerAsset + +abstract class OnLedgerAsset<T : Any, S : FungibleAsset<T>> : ClauseVerifier

An asset transaction may split and merge assets represented by a set of (issuer, depositRef) pairs, across multiple +input and output states. Imagine a Bitcoin transaction but in which all UTXOs had a colour (a blend of +issuer+depositRef) and you couldnt merge outputs of two colours together, but you COULD put them in the same +transaction.

+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause/index.html index 0aa651e5dc..e9becf86c6 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-clause/index.html @@ -43,7 +43,7 @@ GroupClause -interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T> +interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T> diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause-verifier/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause-verifier/index.html index 9b0cc1b698..ff3ffef1be 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause-verifier/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause-verifier/index.html @@ -70,6 +70,14 @@ if any matched.

+Group + +class Group : GroupClauseVerifier<State, Issued<Commodity>>

Grouping clause to extract input and output states into matched groups and then run a set of clauses over +each group.

+ + + + Group class Group<P> : GroupClauseVerifier<State<P>, Issued<Terms<P>>>

Parent clause for clauses that operate on grouped states (those which are fungible).

diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause.html index b3e5ba7ddf..aa537a0a41 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-clause.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts.clauses / GroupClause

GroupClause

-interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T>
+interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T>


Inherited Properties

@@ -66,14 +66,14 @@ helper functions for the clauses.

AbstractIssue -abstract class AbstractIssue<S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

+abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>

Standard issue clause for contracts that issue fungible assets.

NoZeroSizedOutputs -open class NoZeroSizedOutputs<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>

Clause for fungible asset contracts, which enforces that no output state should have +open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>

Clause for fungible asset contracts, which enforces that no output state should have a balance of zero.

diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-verify/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-verify/index.html index f03869e607..508364608c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-verify/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-group-verify/index.html @@ -28,7 +28,7 @@ GroupClause -interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T> +interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T> diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/index.html index ddbfac295d..770237f2ee 100644 --- a/docs/build/html/api/com.r3corda.core.contracts.clauses/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/index.html @@ -28,7 +28,7 @@ that delegates to the supplied list of clauses.

GroupClause -interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T> +interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T> diff --git a/docs/build/html/api/com.r3corda.core.contracts/-amount/index.html b/docs/build/html/api/com.r3corda.core.contracts/-amount/index.html index d80dc669d1..e29cb26a38 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-amount/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-amount/index.html @@ -147,6 +147,15 @@ amount used in whatever underlying thing the amount represents.

operator fun Amount<Currency>.times(other: RatioUnit): Amount<Currency> + + +withoutIssuer + +fun <T> Amount<Issued<T>>.withoutIssuer(): Amount<T>

Strips the issuer and returns an Amount of the raw token directly. This is useful when you are mixing code that +cares about specific issuers with code that will accept any, or which is imposing issuer constraints via some +other mechanism and the additional type safety is not wanted.

+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/calendars.html b/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/calendars.html index f555ea01e5..1ae8416775 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/calendars.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/calendars.html @@ -7,8 +7,6 @@ com.r3corda.core.contracts / BusinessCalendar / calendars

calendars

- -val calendars: Array<out String>
val calendars: <ERROR CLASS>

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/index.html b/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/index.html index 3cbb12c320..a5ca442bdf 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-business-calendar/index.html @@ -29,12 +29,6 @@ no staff are around to handle problems.

-calendars - -val calendars: Array<out String> - - - holidayDates val holidayDates: List<LocalDate> diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/-init-.html new file mode 100644 index 0000000000..20def35787 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/-init-.html @@ -0,0 +1,14 @@ + + +Commodity.<init> - + + + +com.r3corda.core.contracts / Commodity / <init>
+
+

<init>

+Commodity(symbol: String, displayName: String, commodityCode: String = symbol, defaultFractionDigits: Int = 0)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/commodity-code.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/commodity-code.html new file mode 100644 index 0000000000..b067544f3b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/commodity-code.html @@ -0,0 +1,15 @@ + + +Commodity.commodityCode - + + + +com.r3corda.core.contracts / Commodity / commodityCode
+
+

commodityCode

+ +val commodityCode: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/default-fraction-digits.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/default-fraction-digits.html new file mode 100644 index 0000000000..87dac29b10 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/default-fraction-digits.html @@ -0,0 +1,15 @@ + + +Commodity.defaultFractionDigits - + + + +com.r3corda.core.contracts / Commodity / defaultFractionDigits
+
+

defaultFractionDigits

+ +val defaultFractionDigits: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/display-name.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/display-name.html new file mode 100644 index 0000000000..9410976967 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/display-name.html @@ -0,0 +1,15 @@ + + +Commodity.displayName - + + + +com.r3corda.core.contracts / Commodity / displayName
+
+

displayName

+ +val displayName: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/get-instance.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/get-instance.html new file mode 100644 index 0000000000..479fbba16e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/get-instance.html @@ -0,0 +1,15 @@ + + +Commodity.getInstance - + + + +com.r3corda.core.contracts / Commodity / getInstance
+
+

getInstance

+ +fun getInstance(symbol: String): Commodity?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/index.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/index.html new file mode 100644 index 0000000000..abcea31f87 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/index.html @@ -0,0 +1,82 @@ + + +Commodity - + + + +com.r3corda.core.contracts / Commodity
+
+

Commodity

+data class Commodity
+
+
+

Constructors

+ + + + + + + +
+<init> +Commodity(symbol: String, displayName: String, commodityCode: String = symbol, defaultFractionDigits: Int = 0)
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+commodityCode +val commodityCode: String
+defaultFractionDigits +val defaultFractionDigits: Int
+displayName +val displayName: String
+symbol +val symbol: String
+

Companion Object Functions

+ + + + + + + +
+getInstance +fun getInstance(symbol: String): Commodity?
+

Extension Functions

+ + + + + + + + + + + +
+issued by +infix fun Commodity.issued by(deposit: PartyAndReference): Issued<Commodity>
+issuedBy +infix fun Commodity.issuedBy(deposit: PartyAndReference): Issued<Commodity>
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-commodity/symbol.html b/docs/build/html/api/com.r3corda.core.contracts/-commodity/symbol.html new file mode 100644 index 0000000000..87a191fa0a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-commodity/symbol.html @@ -0,0 +1,15 @@ + + +Commodity.symbol - + + + +com.r3corda.core.contracts / Commodity / symbol
+
+

symbol

+ +val symbol: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-f-c-o-j.html b/docs/build/html/api/com.r3corda.core.contracts/-f-c-o-j.html new file mode 100644 index 0000000000..2c1afe9e13 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-f-c-o-j.html @@ -0,0 +1,17 @@ + + +FCOJ - + + + +com.r3corda.core.contracts / FCOJ
+
+

FCOJ

+ +val FCOJ: Commodity
+ +fun FCOJ(amount: Int): Amount<Commodity>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-issued/index.html b/docs/build/html/api/com.r3corda.core.contracts/-issued/index.html index 90c0038272..619968bd97 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-issued/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-issued/index.html @@ -45,6 +45,17 @@ quantifiable with integer quantities.

+

Functions

+ + + + + + + +
+toString +fun toString(): String

Extension Properties

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-issued/to-string.html b/docs/build/html/api/com.r3corda.core.contracts/-issued/to-string.html new file mode 100644 index 0000000000..0474719773 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-issued/to-string.html @@ -0,0 +1,15 @@ + + +Issued.toString - + + + +com.r3corda.core.contracts / Issued / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/-init-.html index b43c213d2a..6f8191725c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/-init-.html @@ -7,13 +7,10 @@ com.r3corda.core.contracts / LedgerTransaction / <init>

<init>

-LedgerTransaction(inputs: List<StateRef>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)
+LedgerTransaction(inputs: List<StateAndRef<*>>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up with the commands from the wire, and verified/looked up.

-

TODO: This class needs a bit more thought. Should inputs be fully resolved by this point too?

-
-


diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/index.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/index.html index 66319c54e7..6566e059a6 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/index.html @@ -11,9 +11,6 @@

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up with the commands from the wire, and verified/looked up.

-

TODO: This class needs a bit more thought. Should inputs be fully resolved by this point too?

-
-


Constructors

@@ -23,7 +20,7 @@ with the commands from the wire, and verified/looked up.

@@ -58,7 +55,7 @@ with the commands from the wire, and verified/looked up.

@@ -72,7 +69,8 @@ with the commands from the wire, and verified/looked up.

+val signers: List<PublicKey>

The notary key and the command keys together: a signed transaction must provide signatures for all of these.

+ + + + + + + + +
<init> -LedgerTransaction(inputs: List<StateRef>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. +LedgerTransaction(inputs: List<StateAndRef<*>>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)

A LedgerTransaction wraps the data needed to calculate one or more successor states from a set of input states. It is the first step after extraction from a WireTransaction. The signatures at this point have been lined up with the commands from the wire, and verified/looked up.

inputs -val inputs: List<StateRef>

The input states which will be consumed/invalidated by the execution of this transaction.

+val inputs: List<StateAndRef<*>>

The input states which will be consumed/invalidated by the execution of this transaction.

signers -val signers: List<PublicKey>
@@ -91,6 +89,20 @@ with the commands from the wire, and verified/looked up.

fun <T : ContractState> outRef(index: Int): StateAndRef<T>
+toTransactionForContract +fun toTransactionForContract(): TransactionForContract

Strips the transaction down to a form that is usable by the contract verify functions

+
+verify +fun verify(): Unit

Verifies this transaction and throws an exception if not valid, depending on the type. For general transactions:

+
diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/inputs.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/inputs.html index ab915c235f..00de581b57 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/inputs.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/inputs.html @@ -8,7 +8,7 @@

inputs

-val inputs: List<StateRef>
+val inputs: List<StateAndRef<*>>

The input states which will be consumed/invalidated by the execution of this transaction.



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/signers.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/signers.html index a642a4a5b2..079a82f4c4 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/signers.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/signers.html @@ -9,6 +9,7 @@

signers

val signers: List<PublicKey>
+

The notary key and the command keys together: a signed transaction must provide signatures for all of these.



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/to-transaction-for-contract.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/to-transaction-for-contract.html new file mode 100644 index 0000000000..48ff8cd295 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/to-transaction-for-contract.html @@ -0,0 +1,16 @@ + + +LedgerTransaction.toTransactionForContract - + + + +com.r3corda.core.contracts / LedgerTransaction / toTransactionForContract
+
+

toTransactionForContract

+ +fun toTransactionForContract(): TransactionForContract
+

Strips the transaction down to a form that is usable by the contract verify functions

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/verify.html b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/verify.html new file mode 100644 index 0000000000..53f0c603c7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-ledger-transaction/verify.html @@ -0,0 +1,23 @@ + + +LedgerTransaction.verify - + + + +com.r3corda.core.contracts / LedgerTransaction / verify
+
+

verify

+ +fun verify(): Unit
+

Verifies this transaction and throws an exception if not valid, depending on the type. For general transactions:

+
  • The contracts are run with the transaction as the input.

    +
  • The list of keys mentioned in commands is compared against the signers list.

    +

+
+

Exceptions

+ +TransactionVerificationException - if anything goes wrong.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-multilateral-nettable-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-multilateral-nettable-state/index.html index 8d0b58f733..87e7c4473a 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-multilateral-nettable-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-multilateral-nettable-state/index.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / MultilateralNettableState

MultilateralNettableState

-interface MultilateralNettableState<T : Any>
+interface MultilateralNettableState<out T : Any>

Interface for state objects that support being netted with other state objects.



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/index.html b/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/index.html index d8ec9d2b82..1af017a5f4 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/index.html @@ -59,13 +59,6 @@ -getMissingSignatures - -fun getMissingSignatures(): Set<PublicKey>

Returns the set of missing signatures - a signature must be present for each signer public key.

- - - - plus operator fun plus(sig: WithKey): SignedTransaction

Alias for withAdditionalSignature to let you use Kotlin operator overloading.

@@ -73,20 +66,11 @@ -verify - -fun verify(throwIfSignaturesAreMissing: Boolean = true): Set<PublicKey>

Verify the signatures, deserialise the wire transaction and then check that the set of signatures found contains -the set of pubkeys in the signers list. If any signatures are missing, either throws an exception (by default) or -returns the list of keys that have missing signatures, depending on the parameter.

- - - - verifySignatures -fun verifySignatures(): Unit

Verifies the given signatures against the serialized transaction data. Does NOT deserialise or check the contents -to ensure there are no missing signatures: use verify() to do that. This weaker version can be useful for -checking a partially signed transaction being prepared by multiple co-operating parties.

+fun verifySignatures(throwIfSignaturesAreMissing: Boolean = true): Set<PublicKey>

Verify the signatures, deserialise the wire transaction and then check that the set of signatures found contains +the set of pubkeys in the signers list. If any signatures are missing, either throws an exception (by default) or +returns the list of keys that have missing signatures, depending on the parameter.

@@ -109,10 +93,10 @@ checking a partially signed transaction being prepared by multiple co-operating -verifyToLedgerTransaction +toLedgerTransaction -fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

Calls verify to check all required signatures are present, and then uses the passed IdentityService to call -WireTransaction.toLedgerTransaction to look up well known identities from pubkeys.

+fun SignedTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction

Calls verify to check all required signatures are present, and then calls WireTransaction.toLedgerTransaction +with the passed in ServiceHub to resolve the dependencies, returning an unverified LedgerTransaction.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/verify-signatures.html b/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/verify-signatures.html index efbcd1cf42..f313e0ee58 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/verify-signatures.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-signed-transaction/verify-signatures.html @@ -7,14 +7,14 @@ com.r3corda.core.contracts / SignedTransaction / verifySignatures

verifySignatures

- -fun verifySignatures(): Unit
-

Verifies the given signatures against the serialized transaction data. Does NOT deserialise or check the contents -to ensure there are no missing signatures: use verify() to do that. This weaker version can be useful for -checking a partially signed transaction being prepared by multiple co-operating parties.

+ +fun verifySignatures(throwIfSignaturesAreMissing: Boolean = true): Set<PublicKey>
+

Verify the signatures, deserialise the wire transaction and then check that the set of signatures found contains +the set of pubkeys in the signers list. If any signatures are missing, either throws an exception (by default) or +returns the list of keys that have missing signatures, depending on the parameter.

Exceptions

-SignatureException - if the signature is invalid or does not match.
+SignatureException - if a signature is invalid, does not match or if any signature is missing.


diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-for-contract/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-for-contract/index.html index 3089ae3710..67129a7023 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-for-contract/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-for-contract/index.html @@ -58,12 +58,6 @@ simplify verification logic in contracts.

-inStates - -val inStates: List<ContractState> - - - inputNotary val inputNotary: Party? @@ -82,12 +76,6 @@ simplify verification logic in contracts.

-outStates - -val outStates: List<ContractState> - - - outputs val outputs: List<ContractState> diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/index.html index fec1f4463c..fa1059688c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/index.html @@ -32,5 +32,16 @@ +

Functions

+ + + + + + + +
+toString +fun toString(): String
diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/to-string.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/to-string.html new file mode 100644 index 0000000000..fb2587f9f4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-resolution-exception/to-string.html @@ -0,0 +1,15 @@ + + +TransactionResolutionException.toString - + + + +com.r3corda.core.contracts / TransactionResolutionException / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/get-required-signers.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/get-required-signers.html index ebe2bef38b..ea44d34a59 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/get-required-signers.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/get-required-signers.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / General / getRequiredSigners

getRequiredSigners

- -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
+ +fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
Overrides TransactionType.getRequiredSigners

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/index.html index dabb5639c5..d08bb7cc8c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/index.html @@ -42,7 +42,7 @@ getRequiredSigners -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>

Return the list of public keys that that require signatures for the transaction type. +fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.

@@ -50,7 +50,7 @@ Note: the notary key is checked separately for all transactions and need not be verifyTransaction -fun verifyTransaction(tx: TransactionForVerification): Unit

Check the transaction is contract-valid by running the verify() for each input and output state contract. +fun verifyTransaction(tx: LedgerTransaction): Unit

Check the transaction is contract-valid by running the verify() for each input and output state contract. If any contract fails to verify, the whole transaction is considered to be invalid.

@@ -75,14 +75,14 @@ If any contract fails to verify, the whole transaction is considered to be inval verify -fun verify(tx: TransactionForVerification): Unit

Check that the transaction is valid based on:

+fun verify(tx: LedgerTransaction): Unit

Check that the transaction is valid based on:

verifySigners -fun verifySigners(tx: TransactionForVerification): Set<PublicKey>

Check that the list of signers includes all the necessary keys

+fun verifySigners(tx: LedgerTransaction): Set<PublicKey>

Check that the list of signers includes all the necessary keys

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/verify-transaction.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/verify-transaction.html index 8a9be5b01a..29b727c973 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/verify-transaction.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-general/verify-transaction.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / General / verifyTransaction

verifyTransaction

- -fun verifyTransaction(tx: TransactionForVerification): Unit
+ +fun verifyTransaction(tx: LedgerTransaction): Unit
Overrides TransactionType.verifyTransaction

Check the transaction is contract-valid by running the verify() for each input and output state contract. If any contract fails to verify, the whole transaction is considered to be invalid.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/get-required-signers.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/get-required-signers.html index b4d8517e7f..52f7b9a451 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/get-required-signers.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/get-required-signers.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / NotaryChange / getRequiredSigners

getRequiredSigners

- -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
+ +fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
Overrides TransactionType.getRequiredSigners

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/index.html index 9cb161d545..1228fdf343 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/index.html @@ -45,7 +45,7 @@ any contract code, it just checks that the states are unmodified apart from the getRequiredSigners -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>

Return the list of public keys that that require signatures for the transaction type. +fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.

@@ -53,8 +53,8 @@ Note: the notary key is checked separately for all transactions and need not be verifyTransaction -fun verifyTransaction(tx: TransactionForVerification): Unit

Check that the difference between inputs and outputs is only the notary field, -and that all required signing public keys are present.

+fun verifyTransaction(tx: LedgerTransaction): Unit

Check that the difference between inputs and outputs is only the notary field, and that all required signing +public keys are present.

@@ -78,14 +78,14 @@ and that all required signing public keys are present.

verify -fun verify(tx: TransactionForVerification): Unit

Check that the transaction is valid based on:

+fun verify(tx: LedgerTransaction): Unit

Check that the transaction is valid based on:

verifySigners -fun verifySigners(tx: TransactionForVerification): Set<PublicKey>

Check that the list of signers includes all the necessary keys

+fun verifySigners(tx: LedgerTransaction): Set<PublicKey>

Check that the list of signers includes all the necessary keys

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/verify-transaction.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/verify-transaction.html index 32b57daccc..28ce7e087c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/verify-transaction.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/-notary-change/verify-transaction.html @@ -7,11 +7,14 @@ com.r3corda.core.contracts / TransactionType / NotaryChange / verifyTransaction

verifyTransaction

- -fun verifyTransaction(tx: TransactionForVerification): Unit
+ +fun verifyTransaction(tx: LedgerTransaction): Unit
Overrides TransactionType.verifyTransaction
-

Check that the difference between inputs and outputs is only the notary field, -and that all required signing public keys are present.

+

Check that the difference between inputs and outputs is only the notary field, and that all required signing +public keys are present.

+

Exceptions

+ +TransactionVerificationException.InvalidNotaryChange - if the validity check fails.


diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/get-required-signers.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/get-required-signers.html index 6cb2bbe015..7b368226e8 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/get-required-signers.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/get-required-signers.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / getRequiredSigners

getRequiredSigners

- -abstract fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
+ +abstract fun getRequiredSigners(tx: LedgerTransaction): Set<PublicKey>

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.


diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/index.html index b78f91553c..8e4f28512a 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/index.html @@ -44,7 +44,7 @@ any contract code, it just checks that the states are unmodified apart from the getRequiredSigners -abstract fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>

Return the list of public keys that that require signatures for the transaction type. +abstract fun getRequiredSigners(tx: LedgerTransaction): Set<PublicKey>

Return the list of public keys that that require signatures for the transaction type. Note: the notary key is checked separately for all transactions and need not be included.

@@ -58,21 +58,21 @@ Note: the notary key is checked separately for all transactions and need not be verify -fun verify(tx: TransactionForVerification): Unit

Check that the transaction is valid based on:

+fun verify(tx: LedgerTransaction): Unit

Check that the transaction is valid based on:

verifySigners -fun verifySigners(tx: TransactionForVerification): Set<PublicKey>

Check that the list of signers includes all the necessary keys

+fun verifySigners(tx: LedgerTransaction): Set<PublicKey>

Check that the list of signers includes all the necessary keys

verifyTransaction -abstract fun verifyTransaction(tx: TransactionForVerification): Unit

Implement type specific transaction validation logic

+abstract fun verifyTransaction(tx: LedgerTransaction): Unit

Implement type specific transaction validation logic

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-signers.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-signers.html index 46b5b6f76e..1fce372d06 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-signers.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-signers.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / verifySigners

verifySigners

- -fun verifySigners(tx: TransactionForVerification): Set<PublicKey>
+ +fun verifySigners(tx: LedgerTransaction): Set<PublicKey>

Check that the list of signers includes all the necessary keys



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-transaction.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-transaction.html index 522e3fe365..e3f5eee634 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-transaction.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify-transaction.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / verifyTransaction

verifyTransaction

- -abstract fun verifyTransaction(tx: TransactionForVerification): Unit
+ +abstract fun verifyTransaction(tx: LedgerTransaction): Unit

Implement type specific transaction validation logic



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify.html index b12ac7e8c4..5523145743 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-type/verify.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / TransactionType / verify

verify

- -fun verify(tx: TransactionForVerification): Unit
+ +fun verify(tx: LedgerTransaction): Unit

Check that the transaction is valid based on:

  • General platform rules

  • Rules for the specific transaction type

    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/-init-.html index d2fbcee911..2bfba830b9 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / TransactionVerificationException / ContractRejection / <init>

    <init>

    -ContractRejection(tx: TransactionForVerification, contract: Contract, cause: Throwable?)
    +ContractRejection(tx: LedgerTransaction, contract: Contract, cause: Throwable?)


    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/index.html index 16c4f79552..eace426561 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-contract-rejection/index.html @@ -17,7 +17,7 @@ <init> -ContractRejection(tx: TransactionForVerification, contract: Contract, cause: Throwable?) +ContractRejection(tx: LedgerTransaction, contract: Contract, cause: Throwable?) @@ -39,7 +39,7 @@ tx -val tx: TransactionForVerification +val tx: LedgerTransaction diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/-init-.html index 53d5735b7f..b5c8350a99 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / TransactionVerificationException / InvalidNotaryChange / <init>

    <init>

    -InvalidNotaryChange(tx: TransactionForVerification)
    +InvalidNotaryChange(tx: LedgerTransaction)


    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/index.html index a4382418e2..b26131c71d 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-invalid-notary-change/index.html @@ -17,7 +17,7 @@ <init> -InvalidNotaryChange(tx: TransactionForVerification) +InvalidNotaryChange(tx: LedgerTransaction) @@ -28,7 +28,7 @@ tx -val tx: TransactionForVerification +val tx: LedgerTransaction diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/-init-.html index 90a9f9c2d3..4f2cb652f2 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / TransactionVerificationException / MoreThanOneNotary / <init>

    <init>

    -MoreThanOneNotary(tx: TransactionForVerification)
    +MoreThanOneNotary(tx: LedgerTransaction)


    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/index.html index ed802d3454..f2f39ca760 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-more-than-one-notary/index.html @@ -17,7 +17,7 @@ <init> -MoreThanOneNotary(tx: TransactionForVerification) +MoreThanOneNotary(tx: LedgerTransaction) @@ -28,7 +28,7 @@ tx -val tx: TransactionForVerification +val tx: LedgerTransaction diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/-init-.html index 1b23a7c3f6..6ac9aecef9 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / TransactionVerificationException / SignersMissing / <init>

    <init>

    -SignersMissing(tx: TransactionForVerification, missing: List<PublicKey>)
    +SignersMissing(tx: LedgerTransaction, missing: List<PublicKey>)


    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/index.html index 24d1e509cf..bb588e4c68 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/-signers-missing/index.html @@ -17,7 +17,7 @@ <init> -SignersMissing(tx: TransactionForVerification, missing: List<PublicKey>) +SignersMissing(tx: LedgerTransaction, missing: List<PublicKey>) @@ -39,7 +39,7 @@ tx -val tx: TransactionForVerification +val tx: LedgerTransaction diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/index.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/index.html index 2a2f62dd72..20571ab9b0 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/index.html @@ -46,7 +46,7 @@ tx -val tx: TransactionForVerification +val tx: LedgerTransaction diff --git a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/tx.html b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/tx.html index b7c9353da4..f46fdf2142 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/tx.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-transaction-verification-exception/tx.html @@ -8,7 +8,7 @@

    tx

    -val tx: TransactionForVerification
    +val tx: LedgerTransaction


    diff --git a/docs/build/html/api/com.r3corda.core.contracts/-wire-transaction/index.html b/docs/build/html/api/com.r3corda.core.contracts/-wire-transaction/index.html index 34d702e991..b15f620674 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-wire-transaction/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-wire-transaction/index.html @@ -113,7 +113,8 @@ toLedgerTransaction -fun WireTransaction.toLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

    Looks up identities and attachments from storage to generate a LedgerTransaction.

    +fun WireTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction

    Looks up identities and attachments from storage to generate a LedgerTransaction. A transaction is expected to +have been fully resolved using the resolution protocol by this point.

    diff --git a/docs/build/html/api/com.r3corda.core.contracts/commodity.html b/docs/build/html/api/com.r3corda.core.contracts/commodity.html new file mode 100644 index 0000000000..093d3f759e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/commodity.html @@ -0,0 +1,15 @@ + + +commodity - + + + +com.r3corda.core.contracts / commodity
    +
    +

    commodity

    + +fun commodity(code: String): Commodity
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.contracts/index.html b/docs/build/html/api/com.r3corda.core.contracts/index.html index 54e87872e9..40ec61c501 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/index.html @@ -75,6 +75,12 @@ no staff are around to handle problems.

    +Commodity + +data class Commodity + + + Contract interface Contract

    Implemented by a program that implements business logic on the shared ledger. All participants run this code for @@ -246,7 +252,7 @@ with the commands from the wire, and verified/looked up.

    MultilateralNettableState -interface MultilateralNettableState<T : Any>

    Interface for state objects that support being netted with other state objects.

    +interface MultilateralNettableState<out T : Any>

    Interface for state objects that support being netted with other state objects.

    @@ -383,13 +389,6 @@ simplify verification logic in contracts.

    -TransactionForVerification - -data class TransactionForVerification

    A transaction in fully resolved and sig-checked form, ready for passing as input to a verification function.

    - - - - TransactionGraphSearch class TransactionGraphSearch : Callable<List<WireTransaction>>

    Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from @@ -398,15 +397,6 @@ the starting point down in order to find transactions that match the given query -TransactionGroup - -class TransactionGroup

    A TransactionGroup defines a directed acyclic graph of transactions that can be resolved with each other and then -verified. Successful verification does not imply the non-existence of other conflicting transactions: simply that -this subgraph does not contain conflicts and is accepted by the involved contracts.

    - - - - TransactionState data class TransactionState<out T : ContractState>

    A wrapper for ContractState containing additional platform-level state information. @@ -523,6 +513,12 @@ This is the definitive state that is stored on the ledger and used in transactio +FCOJ + +val FCOJ: Commodity + + + GBP val GBP: Currency @@ -553,6 +549,12 @@ This is the definitive state that is stored on the ledger and used in transactio +FCOJ + +fun FCOJ(amount: Int): Amount<Commodity> + + + POUNDS fun POUNDS(amount: Int): Amount<Currency> @@ -571,6 +573,12 @@ This is the definitive state that is stored on the ledger and used in transactio +commodity + +fun commodity(code: String): Commodity + + + currency fun currency(code: String): Currency

    Defines a simple domain specific language for the specification of financial contracts. Currently covers:

    @@ -587,12 +595,14 @@ This is the definitive state that is stored on the ledger and used in transactio issued by +infix fun Commodity.issued by(deposit: PartyAndReference): Issued<Commodity>
    infix fun Amount<Currency>.issued by(deposit: PartyAndReference): Amount<Issued<Currency>> issuedBy +infix fun Commodity.issuedBy(deposit: PartyAndReference): Issued<Commodity>
    infix fun Amount<Currency>.issuedBy(deposit: PartyAndReference): Amount<Issued<Currency>> @@ -605,7 +615,10 @@ This is the definitive state that is stored on the ledger and used in transactio toLedgerTransaction -fun WireTransaction.toLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

    Looks up identities and attachments from storage to generate a LedgerTransaction.

    +fun WireTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction

    Looks up identities and attachments from storage to generate a LedgerTransaction. A transaction is expected to +have been fully resolved using the resolution protocol by this point.

    +fun SignedTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction

    Calls verify to check all required signatures are present, and then calls WireTransaction.toLedgerTransaction +with the passed in ServiceHub to resolve the dependencies, returning an unverified LedgerTransaction.

    @@ -618,14 +631,6 @@ This is the definitive state that is stored on the ledger and used in transactio -verifyToLedgerTransaction - -fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

    Calls verify to check all required signatures are present, and then uses the passed IdentityService to call -WireTransaction.toLedgerTransaction to look up well known identities from pubkeys.

    - - - - with notary infix fun <T : ContractState> T.with notary(newNotary: Party): TransactionState<T>

    Wraps the ContractState in a TransactionState object

    @@ -637,6 +642,15 @@ This is the definitive state that is stored on the ledger and used in transactio infix fun <T : ContractState> T.withNotary(newNotary: Party): TransactionState<T> + + +withoutIssuer + +fun <T> Amount<Issued<T>>.withoutIssuer(): Amount<T>

    Strips the issuer and returns an Amount of the raw token directly. This is useful when you are mixing code that +cares about specific issuers with code that will accept any, or which is imposing issuer constraints via some +other mechanism and the additional type safety is not wanted.

    + + diff --git a/docs/build/html/api/com.r3corda.core.contracts/issued by.html b/docs/build/html/api/com.r3corda.core.contracts/issued by.html index 15f0831011..e9c4158688 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/issued by.html +++ b/docs/build/html/api/com.r3corda.core.contracts/issued by.html @@ -7,6 +7,8 @@ com.r3corda.core.contracts / issued by

    issued by

    + +infix fun Commodity.issued by(deposit: PartyAndReference): Issued<Commodity>
    infix fun Amount<Currency>.issued by(deposit: PartyAndReference): Amount<Issued<Currency>>

    diff --git a/docs/build/html/api/com.r3corda.core.contracts/issued-by.html b/docs/build/html/api/com.r3corda.core.contracts/issued-by.html index 8abd5aca6f..aee53463b8 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/issued-by.html +++ b/docs/build/html/api/com.r3corda.core.contracts/issued-by.html @@ -7,6 +7,8 @@ com.r3corda.core.contracts / issuedBy

    issuedBy

    + +infix fun Commodity.issuedBy(deposit: PartyAndReference): Issued<Commodity>
    infix fun Amount<Currency>.issuedBy(deposit: PartyAndReference): Amount<Issued<Currency>>

    diff --git a/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/-f-c-o-j.html b/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/-f-c-o-j.html new file mode 100644 index 0000000000..bdf6ebf683 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/-f-c-o-j.html @@ -0,0 +1,15 @@ + + +FCOJ - + + + +com.r3corda.core.contracts / kotlin.Int / FCOJ
    +
    +

    FCOJ

    + +val Int.FCOJ: Amount<Commodity>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/index.html b/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/index.html index e5eaac3155..c280762c60 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/kotlin.-int/index.html @@ -17,6 +17,12 @@ +FCOJ + +val Int.FCOJ: Amount<Commodity> + + + POUNDS val Int.POUNDS: Amount<Currency> diff --git a/docs/build/html/api/com.r3corda.core.contracts/to-ledger-transaction.html b/docs/build/html/api/com.r3corda.core.contracts/to-ledger-transaction.html index 2b5aca353b..45c389b9f6 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/to-ledger-transaction.html +++ b/docs/build/html/api/com.r3corda.core.contracts/to-ledger-transaction.html @@ -7,13 +7,29 @@ com.r3corda.core.contracts / toLedgerTransaction

    toLedgerTransaction

    - -fun WireTransaction.toLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction
    -

    Looks up identities and attachments from storage to generate a LedgerTransaction.

    + +fun WireTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction
    +

    Looks up identities and attachments from storage to generate a LedgerTransaction. A transaction is expected to +have been fully resolved using the resolution protocol by this point.

    Exceptions

    FileNotFoundException - if a required attachment was not found in storage.

    + +TransactionResolutionException - if an input points to a transaction not found in storage.
    +
    +
    + +fun SignedTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction
    +

    Calls verify to check all required signatures are present, and then calls WireTransaction.toLedgerTransaction +with the passed in ServiceHub to resolve the dependencies, returning an unverified LedgerTransaction.

    +

    Exceptions

    + +FileNotFoundException - if a required attachment was not found in storage.
    +
    + +TransactionResolutionException - if an input points to a transaction not found in storage.
    +

    diff --git a/docs/build/html/api/com.r3corda.core.contracts/without-issuer.html b/docs/build/html/api/com.r3corda.core.contracts/without-issuer.html new file mode 100644 index 0000000000..9e5964b68f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/without-issuer.html @@ -0,0 +1,18 @@ + + +withoutIssuer - + + + +com.r3corda.core.contracts / withoutIssuer
    +
    +

    withoutIssuer

    + +fun <T> Amount<Issued<T>>.withoutIssuer(): Amount<T>
    +

    Strips the issuer and returns an Amount of the raw token directly. This is useful when you are mixing code that +cares about specific issuers with code that will accept any, or which is imposing issuer constraints via some +other mechanism and the additional type safety is not wanted.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-init-.html b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-init-.html index 703ef176fa..98dde7b814 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-init-.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.crypto / DigitalSignature / <init>

    <init>

    -DigitalSignature(bits: ByteArray, covering: Int = 0)
    +DigitalSignature(bits: ByteArray)

    A wrapper around a digital signature. The covering field is a generic tag usable by whatever is interpreting the signature. It isnt used currently, but experience from Bitcoin suggests such a feature is useful, especially when building partially signed transactions.

    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-with-key/index.html b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-with-key/index.html index 3db1ddb2d7..08338012b0 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-with-key/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/-with-key/index.html @@ -34,17 +34,6 @@ -

    Inherited Properties

    - - - - - - - -
    -covering -val covering: Int

    Functions

    @@ -66,6 +55,13 @@ + + + +
    class LegallyIdentifiable : WithKey
    +NullSignature +object NullSignature : WithKey

    A signature with a key and value of zero. Useful when you want a signature object that you know wont ever be used.

    +
    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/index.html b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/index.html index f68936c50b..868faf9069 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-digital-signature/index.html @@ -38,24 +38,13 @@ building partially signed transactions.

    <init> -DigitalSignature(bits: ByteArray, covering: Int = 0)

    A wrapper around a digital signature. The covering field is a generic tag usable by whatever is interpreting the +DigitalSignature(bits: ByteArray)

    A wrapper around a digital signature. The covering field is a generic tag usable by whatever is interpreting the signature. It isnt used currently, but experience from Bitcoin suggests such a feature is useful, especially when building partially signed transactions.

    -

    Properties

    - - - - - - - -
    -covering -val covering: Int

    Inherited Properties

    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-dummy-public-key/index.html b/docs/build/html/api/com.r3corda.core.crypto/-dummy-public-key/index.html index 5f851668ac..3169d042d2 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-dummy-public-key/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-dummy-public-key/index.html @@ -84,6 +84,12 @@ + + + + + + + + + + + +
    +toBase58String +fun PublicKey.toBase58String(): <ERROR CLASS>
    toStringShort fun PublicKey.toStringShort(): String

    Render a public key to a string, using a short form if its an elliptic curve public key

    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-null-public-key/index.html b/docs/build/html/api/com.r3corda.core.crypto/-null-public-key/index.html index 130b7a31aa..64caccd908 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-null-public-key/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-null-public-key/index.html @@ -50,6 +50,12 @@
    +toBase58String +fun PublicKey.toBase58String(): <ERROR CLASS>
    toStringShort fun PublicKey.toStringShort(): String

    Render a public key to a string, using a short form if its an elliptic curve public key

    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-null-signature.html b/docs/build/html/api/com.r3corda.core.crypto/-null-signature.html new file mode 100644 index 0000000000..a3dfdcfa1f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-null-signature.html @@ -0,0 +1,55 @@ + + +NullSignature - + + + +com.r3corda.core.crypto / NullSignature
    +
    +

    NullSignature

    +object NullSignature : WithKey
    +

    A signature with a key and value of zero. Useful when you want a signature object that you know wont ever be used.

    +
    +
    +

    Inherited Properties

    + + + + + + + +
    +by +val by: PublicKey
    +

    Inherited Functions

    + + + + + + + +
    +verifyWithECDSA +fun verifyWithECDSA(content: ByteArray): Unit
    +fun verifyWithECDSA(content: OpaqueBytes): Unit
    +

    Extension Functions

    + + + + + + + + + + + +
    +deserialize +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
    +sha256 +fun OpaqueBytes.sha256(): SHA256
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/index.html b/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/index.html index f3fe36f8a7..0b5309b80e 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/index.html @@ -53,6 +53,13 @@ The DNS request may block the calling thread.

    If this is a new entry it will internally request a DNS lookup which may block the calling thread.

    +register +fun register(): Unit

    Security provider registration function for WhitelistTrustManagerProvider

    +
    diff --git a/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/register.html b/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/register.html new file mode 100644 index 0000000000..4943dd5daf --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-whitelist-trust-manager-provider/register.html @@ -0,0 +1,16 @@ + + +WhitelistTrustManagerProvider.register - + + + +com.r3corda.core.crypto / WhitelistTrustManagerProvider / register
    +
    +

    register

    + +fun register(): Unit
    +

    Security provider registration function for WhitelistTrustManagerProvider

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/ed25519-curve.html b/docs/build/html/api/com.r3corda.core.crypto/ed25519-curve.html new file mode 100644 index 0000000000..f95fcaf679 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/ed25519-curve.html @@ -0,0 +1,15 @@ + + +ed25519Curve - + + + +com.r3corda.core.crypto / ed25519Curve
    +
    +

    ed25519Curve

    + +val ed25519Curve: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/entropy-to-key-pair.html b/docs/build/html/api/com.r3corda.core.crypto/entropy-to-key-pair.html new file mode 100644 index 0000000000..11f926829a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/entropy-to-key-pair.html @@ -0,0 +1,17 @@ + + +entropyToKeyPair - + + + +com.r3corda.core.crypto / entropyToKeyPair
    +
    +

    entropyToKeyPair

    + +fun entropyToKeyPair(entropy: BigInteger): KeyPair
    +

    Returns a keypair derived from the given private key entropy. This is useful for unit tests and other cases where +you want hard-coded private keys.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/index.html b/docs/build/html/api/com.r3corda.core.crypto/index.html index f12f4042e3..932b895e83 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/index.html @@ -33,6 +33,13 @@ building partially signed transactions.

    +NullSignature + +object NullSignature : WithKey

    A signature with a key and value of zero. Useful when you want a signature object that you know wont ever be used.

    + + + + Party data class Party

    A Party is well known (name, pubkey) pair. In a real system this would probably be an X.509 certificate.

    @@ -111,6 +118,23 @@ that we can delegate most of the checking to the proper Java code. We simply add + + +kotlin.collections.Iterable + + + + + +

    Properties

    + + + + + +
    +ed25519Curve +val ed25519Curve: <ERROR CLASS>

    Functions

    @@ -118,6 +142,14 @@ that we can delegate most of the checking to the proper Java code. We simply add +entropyToKeyPair + +fun entropyToKeyPair(entropy: BigInteger): KeyPair

    Returns a keypair derived from the given private key entropy. This is useful for unit tests and other cases where +you want hard-coded private keys.

    + + + + generateKeyPair fun generateKeyPair(): KeyPair

    A simple wrapper that will make it easier to swap out the EC algorithm we use in future

    @@ -131,6 +163,12 @@ that we can delegate most of the checking to the proper Java code. We simply add +parsePublicKeyBase58 + +fun parsePublicKeyBase58(base58String: String): <ERROR CLASS> + + + registerWhitelistTrustManager fun registerWhitelistTrustManager(): Unit

    Call this to change the default verification algorithm and this use the WhitelistTrustManager diff --git a/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/index.html b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/index.html index 6a33ba2c06..940991ada4 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/index.html @@ -11,6 +11,12 @@ +toBase58String + +fun PublicKey.toBase58String(): <ERROR CLASS> + + + toStringShort fun PublicKey.toStringShort(): String

    Render a public key to a string, using a short form if its an elliptic curve public key

    diff --git a/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/to-base58-string.html b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/to-base58-string.html new file mode 100644 index 0000000000..af0c5957ca --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/to-base58-string.html @@ -0,0 +1,15 @@ + + +toBase58String - + + + +com.r3corda.core.crypto / java.security.PublicKey / toBase58String
    +
    +

    toBase58String

    + +fun PublicKey.toBase58String(): <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/index.html b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/index.html new file mode 100644 index 0000000000..880c72fa27 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/index.html @@ -0,0 +1,21 @@ + + +com.r3corda.core.crypto.kotlin.collections.Iterable - + + + +com.r3corda.core.crypto / kotlin.collections.Iterable
    +
    +

    Extensions for kotlin.collections.Iterable

    + + + + + + + +
    +toStringsShort +fun Iterable<PublicKey>.toStringsShort(): String
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/to-strings-short.html b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/to-strings-short.html new file mode 100644 index 0000000000..b8c8e56b93 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/to-strings-short.html @@ -0,0 +1,15 @@ + + +toStringsShort - + + + +com.r3corda.core.crypto / kotlin.collections.Iterable / toStringsShort
    +
    +

    toStringsShort

    + +fun Iterable<PublicKey>.toStringsShort(): String
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.crypto/parse-public-key-base58.html b/docs/build/html/api/com.r3corda.core.crypto/parse-public-key-base58.html new file mode 100644 index 0000000000..8bce2f80fd --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/parse-public-key-base58.html @@ -0,0 +1,15 @@ + + +parsePublicKeyBase58 - + + + +com.r3corda.core.crypto / parsePublicKeyBase58
    +
    +

    parsePublicKeyBase58

    + +fun parsePublicKeyBase58(base58String: String): <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.messaging/-message-handler-registration.html b/docs/build/html/api/com.r3corda.core.messaging/-message-handler-registration.html index 11af46f4a1..cf259778ee 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/-message-handler-registration.html +++ b/docs/build/html/api/com.r3corda.core.messaging/-message-handler-registration.html @@ -15,9 +15,9 @@ -Handler +Handler -inner class Handler : MessageHandlerRegistration

    A registration to handle messages of different types

    +data class Handler : MessageHandlerRegistration

    A registration to handle messages of different types

    diff --git a/docs/build/html/api/com.r3corda.core.messaging/-single-message-recipient.html b/docs/build/html/api/com.r3corda.core.messaging/-single-message-recipient.html index 93996c990f..ed234eead5 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/-single-message-recipient.html +++ b/docs/build/html/api/com.r3corda.core.messaging/-single-message-recipient.html @@ -16,6 +16,12 @@ +Address + +data class Address : SingleMessageRecipient + + + Handle class Handle : SingleMessageRecipient diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/-init-.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/-init-.html new file mode 100644 index 0000000000..a5362cd93c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/-init-.html @@ -0,0 +1,16 @@ + + +MockServices.<init> - + + + +com.r3corda.core.node.services.testing / MockServices / <init>
    +
    +

    <init>

    +MockServices(key: KeyPair = generateKeyPair())
    +

    A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/clock.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/clock.html new file mode 100644 index 0000000000..16f049b198 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/clock.html @@ -0,0 +1,16 @@ + + +MockServices.clock - + + + +com.r3corda.core.node.services.testing / MockServices / clock
    +
    +

    clock

    + +open val clock: Clock
    +Overrides ServiceHub.clock
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/identity-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/identity-service.html new file mode 100644 index 0000000000..4826c70134 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/identity-service.html @@ -0,0 +1,16 @@ + + +MockServices.identityService - + + + +com.r3corda.core.node.services.testing / MockServices / identityService
    +
    +

    identityService

    + +open val identityService: MockIdentityService
    +Overrides ServiceHub.identityService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/index.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/index.html new file mode 100644 index 0000000000..ddc2e4dc0e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/index.html @@ -0,0 +1,142 @@ + + +MockServices - + + + +com.r3corda.core.node.services.testing / MockServices
    +
    +

    MockServices

    +open class MockServices : ServiceHub
    +

    A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +MockServices(key: KeyPair = generateKeyPair())

    A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

    +
    +

    Properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +clock +open val clock: Clock
    +identityService +open val identityService: MockIdentityService
    +key +val key: KeyPair
    +keyManagementService +open val keyManagementService: MockKeyManagementService
    +networkMapCache +open val networkMapCache: NetworkMapCache
    +networkService +open val networkService: MessagingService
    +schedulerService +open val schedulerService: SchedulerService
    +storageService +open val storageService: TxWritableStorageService
    +walletService +open val walletService: WalletService
    +

    Functions

    + + + + + + + + + + + +
    +invokeProtocolAsync +open fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>

    Will check logicType and args against a whitelist and if acceptable then construct and initiate the protocol.

    +
    +recordTransactions +open fun recordTransactions(txs: Iterable<SignedTransaction>): Unit

    Given a list of SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the wallet for further processing.

    +
    +

    Inherited Functions

    + + + + + + + + + + + +
    +loadState +open fun loadState(stateRef: StateRef): TransactionState<*>

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    +
    +recordTransactions +open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>

    Given some SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the wallet for further processing.

    +
    +

    Extension Functions

    + + + + + + + +
    +fillWithSomeTestCash +fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

    Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal +identity key from the storage service.

    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/invoke-protocol-async.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/invoke-protocol-async.html new file mode 100644 index 0000000000..c557defffd --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/invoke-protocol-async.html @@ -0,0 +1,20 @@ + + +MockServices.invokeProtocolAsync - + + + +com.r3corda.core.node.services.testing / MockServices / invokeProtocolAsync
    +
    +

    invokeProtocolAsync

    + +open fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>
    +Overrides ServiceHub.invokeProtocolAsync
    +

    Will check logicType and args against a whitelist and if acceptable then construct and initiate the protocol.

    +

    Exceptions

    + +IllegalProtocolLogicException - or IllegalArgumentException if there are problems with the logicType or args.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key-management-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key-management-service.html new file mode 100644 index 0000000000..f661e7fe9d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key-management-service.html @@ -0,0 +1,16 @@ + + +MockServices.keyManagementService - + + + +com.r3corda.core.node.services.testing / MockServices / keyManagementService
    +
    +

    keyManagementService

    + +open val keyManagementService: MockKeyManagementService
    +Overrides ServiceHub.keyManagementService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key.html new file mode 100644 index 0000000000..46cd4c6610 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/key.html @@ -0,0 +1,15 @@ + + +MockServices.key - + + + +com.r3corda.core.node.services.testing / MockServices / key
    +
    +

    key

    + +val key: KeyPair
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-map-cache.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-map-cache.html new file mode 100644 index 0000000000..72a56fe25b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-map-cache.html @@ -0,0 +1,16 @@ + + +MockServices.networkMapCache - + + + +com.r3corda.core.node.services.testing / MockServices / networkMapCache
    +
    +

    networkMapCache

    + +open val networkMapCache: NetworkMapCache
    +Overrides ServiceHub.networkMapCache
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-service.html new file mode 100644 index 0000000000..3eb734c488 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/network-service.html @@ -0,0 +1,16 @@ + + +MockServices.networkService - + + + +com.r3corda.core.node.services.testing / MockServices / networkService
    +
    +

    networkService

    + +open val networkService: MessagingService
    +Overrides ServiceHub.networkService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/record-transactions.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/record-transactions.html new file mode 100644 index 0000000000..168b4797e4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/record-transactions.html @@ -0,0 +1,21 @@ + + +MockServices.recordTransactions - + + + +com.r3corda.core.node.services.testing / MockServices / recordTransactions
    +
    +

    recordTransactions

    + +open fun recordTransactions(txs: Iterable<SignedTransaction>): Unit
    +Overrides ServiceHub.recordTransactions
    +

    Given a list of SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the wallet for further processing.

    +

    Parameters

    + +txs - The transactions to record.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/scheduler-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/scheduler-service.html new file mode 100644 index 0000000000..285fe047ce --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/scheduler-service.html @@ -0,0 +1,16 @@ + + +MockServices.schedulerService - + + + +com.r3corda.core.node.services.testing / MockServices / schedulerService
    +
    +

    schedulerService

    + +open val schedulerService: SchedulerService
    +Overrides ServiceHub.schedulerService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/storage-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/storage-service.html new file mode 100644 index 0000000000..f9fa981d15 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/storage-service.html @@ -0,0 +1,16 @@ + + +MockServices.storageService - + + + +com.r3corda.core.node.services.testing / MockServices / storageService
    +
    +

    storageService

    + +open val storageService: TxWritableStorageService
    +Overrides ServiceHub.storageService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/wallet-service.html b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/wallet-service.html new file mode 100644 index 0000000000..26631aa228 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/-mock-services/wallet-service.html @@ -0,0 +1,16 @@ + + +MockServices.walletService - + + + +com.r3corda.core.node.services.testing / MockServices / walletService
    +
    +

    walletService

    + +open val walletService: WalletService
    +Overrides ServiceHub.walletService
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services.testing/index.html b/docs/build/html/api/com.r3corda.core.node.services.testing/index.html index 435aae0e05..81453006ae 100644 --- a/docs/build/html/api/com.r3corda.core.node.services.testing/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services.testing/index.html @@ -30,6 +30,14 @@ +MockServices + +open class MockServices : ServiceHub

    A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

    + + + + MockStorageService class MockStorageService : SingletonSerializeAsToken, TxWritableStorageService diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-added.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-added.html new file mode 100644 index 0000000000..0a4a644c9f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-added.html @@ -0,0 +1,14 @@ + + +NetworkMapCache.MapChangeType.Added - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChangeType / Added
    +
    +

    Added

    +Added
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-removed.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-removed.html new file mode 100644 index 0000000000..09e1674a85 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/-removed.html @@ -0,0 +1,14 @@ + + +NetworkMapCache.MapChangeType.Removed - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChangeType / Removed
    +
    +

    Removed

    +Removed
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/index.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/index.html new file mode 100644 index 0000000000..5c7c99b8fa --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change-type/index.html @@ -0,0 +1,31 @@ + + +NetworkMapCache.MapChangeType - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChangeType
    +
    +

    MapChangeType

    +enum class MapChangeType
    +
    +
    +

    Enum Values

    + + + + + + + + + + + +
    +Added +
    +Removed +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/-init-.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/-init-.html new file mode 100644 index 0000000000..5a668de761 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapCache.MapChange.<init> - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChange / <init>
    +
    +

    <init>

    +MapChange(node: NodeInfo, type: MapChangeType)
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/index.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/index.html new file mode 100644 index 0000000000..f7124c3142 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/index.html @@ -0,0 +1,42 @@ + + +NetworkMapCache.MapChange - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChange
    +
    +

    MapChange

    +data class MapChange
    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +MapChange(node: NodeInfo, type: MapChangeType)
    +

    Properties

    + + + + + + + + + + + +
    +node +val node: NodeInfo
    +type +val type: MapChangeType
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/node.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/node.html new file mode 100644 index 0000000000..8db8e3bfe9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/node.html @@ -0,0 +1,15 @@ + + +NetworkMapCache.MapChange.node - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChange / node
    +
    +

    node

    + +val node: NodeInfo
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/type.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/type.html new file mode 100644 index 0000000000..49eb9e726e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/-map-change/type.html @@ -0,0 +1,15 @@ + + +NetworkMapCache.MapChange.type - + + + +com.r3corda.core.node.services / NetworkMapCache / MapChange / type
    +
    +

    type

    + +val type: MapChangeType
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/changed.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/changed.html new file mode 100644 index 0000000000..9ba11a363f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/changed.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.changed - + + + +com.r3corda.core.node.services / NetworkMapCache / changed
    +
    +

    changed

    + +abstract val changed: <ERROR CLASS><MapChange>
    +

    Tracks changes to the network map cache

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/index.html b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/index.html index 55e0568611..92f89da57e 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-network-map-cache/index.html @@ -14,11 +14,35 @@ from an authoritative service, and adds easy lookup of the data stored within it with a specified network map service, which it fetches data from and then subscribes to updates of.



    +

    Types

    + + + + + + + + + + + +
    +MapChange +data class MapChange
    +MapChangeType +enum class MapChangeType

    Properties

    + + + + @@ -97,15 +97,6 @@ sends them to the wallet for further processing.

    sends them to the wallet for further processing.

    - - - -
    +changed +abstract val changed: <ERROR CLASS><MapChange>

    Tracks changes to the network map cache

    +
    networkMapNodes abstract val networkMapNodes: List<NodeInfo>

    A list of nodes that advertise a network map service

    diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/index.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/index.html index 137c59832b..1256fb88cf 100644 --- a/docs/build/html/api/com.r3corda.core.node/-service-hub/index.html +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/index.html @@ -84,7 +84,7 @@ state from being serialized in checkpoints.

    loadState -open fun loadState(stateRef: StateRef): TransactionState<*>

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    +open fun loadState(stateRef: StateRef): TransactionState<*>

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    -verifyTransaction -open fun verifyTransaction(ltx: LedgerTransaction): Unit

    Given a LedgerTransaction, looks up all its dependencies in the local database, uses the identity service to map -the SignedTransactions the DB gives back into LedgerTransactions, and then runs the smart contracts for the -transaction. If no exception is thrown, the transaction is valid.

    -

    Extension Functions

    @@ -115,8 +106,9 @@ transaction. If no exception is thrown, the transaction is valid.

    fillWithSomeTestCash -fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 0 }))): Wallet

    Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them -to the wallet. This is intended for unit tests.

    +fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

    Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal +identity key from the storage service.

    @@ -126,6 +118,14 @@ to the wallet. This is intended for unit tests.

    +MockServices + +open class MockServices : ServiceHub

    A singleton utility that only provides a mock identity, key and storage service. However, this is sufficient for +building chains of transactions and verifying them. It isnt sufficient for testing protocols however.

    + + + + ServiceHubInternal abstract class ServiceHubInternal : ServiceHub diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/load-state.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/load-state.html index 755a19772e..508cbc72a1 100644 --- a/docs/build/html/api/com.r3corda.core.node/-service-hub/load-state.html +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/load-state.html @@ -9,7 +9,7 @@

    loadState

    open fun loadState(stateRef: StateRef): TransactionState<*>
    -

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    +

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    Exceptions

    TransactionResolutionException - if the StateRef points to a non-existent transaction.
    diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/index.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/index.html index 22382254da..6752138756 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/index.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/index.html @@ -130,7 +130,7 @@ Note that this is temporary until protocol sessions are properly implemented.

    Acceptor -abstract class Acceptor<T> : ProtocolLogic<Unit> +abstract class Acceptor<in T> : ProtocolLogic<Unit> @@ -178,7 +178,7 @@ timestamp is correct and none of its inputs have been used in another completed Instigator -abstract class Instigator<S : ContractState, T> : ProtocolLogic<StateAndRef<S>> +abstract class Instigator<out S : ContractState, T> : ProtocolLogic<StateAndRef<S>> @@ -207,9 +207,9 @@ for each step.

    ResolveTransactionsProtocol -class ResolveTransactionsProtocol : ProtocolLogic<Unit>

    This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

    +class ResolveTransactionsProtocol : ProtocolLogic<List<LedgerTransaction>>

    This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

    diff --git a/docs/build/html/api/com.r3corda.core.serialization/-ed25519-private-key-serializer/index.html b/docs/build/html/api/com.r3corda.core.serialization/-ed25519-private-key-serializer/index.html index d79a256142..f68da9097d 100644 --- a/docs/build/html/api/com.r3corda.core.serialization/-ed25519-private-key-serializer/index.html +++ b/docs/build/html/api/com.r3corda.core.serialization/-ed25519-private-key-serializer/index.html @@ -11,17 +11,6 @@

    For serialising an ed25519 private key



    -

    Properties

    - - - - - - - -
    -ed25519Curve -val ed25519Curve: <ERROR CLASS>

    Functions

    diff --git a/docs/build/html/api/com.r3corda.core.serialization/-ed25519-public-key-serializer/index.html b/docs/build/html/api/com.r3corda.core.serialization/-ed25519-public-key-serializer/index.html index f99f8480a9..ec982c85c0 100644 --- a/docs/build/html/api/com.r3corda.core.serialization/-ed25519-public-key-serializer/index.html +++ b/docs/build/html/api/com.r3corda.core.serialization/-ed25519-public-key-serializer/index.html @@ -11,17 +11,6 @@

    For serialising an ed25519 public key



    -

    Properties

    -
    - - - - - - -
    -ed25519Curve -val ed25519Curve: <ERROR CLASS>

    Functions

    diff --git a/docs/build/html/api/com.r3corda.core.serialization/-singleton-serialize-as-token/index.html b/docs/build/html/api/com.r3corda.core.serialization/-singleton-serialize-as-token/index.html index 0a5ba3f22f..1c6a85d72d 100644 --- a/docs/build/html/api/com.r3corda.core.serialization/-singleton-serialize-as-token/index.html +++ b/docs/build/html/api/com.r3corda.core.serialization/-singleton-serialize-as-token/index.html @@ -56,12 +56,9 @@ I/O), or a mock implementation suitable for unit test environments.

    +ArtemisMessagingComponent diff --git a/docs/build/html/api/com.r3corda.core.testing/-ledger-d-s-l/index.html b/docs/build/html/api/com.r3corda.core.testing/-ledger-d-s-l/index.html index 818f4aedbd..8fc0da363b 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-ledger-d-s-l/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/-ledger-d-s-l/index.html @@ -52,13 +52,6 @@ methods here.

    - - - - diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/-init-.html b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/-init-.html index f1df424c7b..4155cc2f8e 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/-init-.html +++ b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.testing / TestLedgerDSLInterpreter / <init>

    <init>

    -TestLedgerDSLInterpreter(identityService: IdentityService, storageService: StorageService)
    +TestLedgerDSLInterpreter(services: ServiceHub)


    diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/index.html b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/index.html index 40e7417192..c03bf38a0c 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/index.html @@ -34,7 +34,7 @@ +TestLedgerDSLInterpreter(services: ServiceHub)
    -ArtemisMessagingService -class ArtemisMessagingService : SingletonSerializeAsToken, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. -Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate -with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 -as well for interop.

    +abstract class ArtemisMessagingComponent : SingletonSerializeAsToken

    The base class for Artemis services that defines shared data structures and transport configuration

    -outputRef -fun String.outputRef(): StateRef

    Retrieves the output StateRef based on the label.

    -
    outputStateAndRef fun <S : ContractState> String.outputStateAndRef(): StateAndRef<S> <init> -TestLedgerDSLInterpreter(identityService: IdentityService, storageService: StorageService)
    @@ -43,6 +43,24 @@ +services + +val services: ServiceHub + + + +transactionsToVerify + +val transactionsToVerify: List<WireTransaction> + + + +transactionsUnverified + +val transactionsUnverified: List<WireTransaction> + + + wireTransactions val wireTransactions: List<WireTransaction> @@ -88,12 +106,6 @@ -toTransactionGroup - -fun toTransactionGroup(): TransactionGroup - - - transactionName fun transactionName(transactionHash: SecureHash): String? diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/services.html b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/services.html new file mode 100644 index 0000000000..d914ef4b8c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/services.html @@ -0,0 +1,15 @@ + + +TestLedgerDSLInterpreter.services - + + + +com.r3corda.core.testing / TestLedgerDSLInterpreter / services
    +
    +

    services

    + +val services: ServiceHub
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-to-verify.html b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-to-verify.html new file mode 100644 index 0000000000..8e3c21fbb6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-to-verify.html @@ -0,0 +1,15 @@ + + +TestLedgerDSLInterpreter.transactionsToVerify - + + + +com.r3corda.core.testing / TestLedgerDSLInterpreter / transactionsToVerify
    +
    +

    transactionsToVerify

    + +val transactionsToVerify: List<WireTransaction>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-unverified.html b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-unverified.html new file mode 100644 index 0000000000..a4e754d695 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-test-ledger-d-s-l-interpreter/transactions-unverified.html @@ -0,0 +1,15 @@ + + +TestLedgerDSLInterpreter.transactionsUnverified - + + + +com.r3corda.core.testing / TestLedgerDSLInterpreter / transactionsUnverified
    +
    +

    transactionsUnverified

    + +val transactionsUnverified: List<WireTransaction>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/index.html b/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/index.html index 4d01535a94..3bfa272287 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/index.html @@ -35,6 +35,12 @@ that transactions corresponding to input states are not verified. Use services + +val services: ServiceHub + + + transactionBuilder val transactionBuilder: TransactionBuilder diff --git a/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/services.html b/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/services.html new file mode 100644 index 0000000000..badeef5ad2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-test-transaction-d-s-l-interpreter/services.html @@ -0,0 +1,15 @@ + + +TestTransactionDSLInterpreter.services - + + + +com.r3corda.core.testing / TestTransactionDSLInterpreter / services
    +
    +

    services

    + +val services: ServiceHub
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core.testing/index.html b/docs/build/html/api/com.r3corda.core.testing/index.html index f48bf808a8..ae429ff801 100644 --- a/docs/build/html/api/com.r3corda.core.testing/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/index.html @@ -196,12 +196,6 @@ that transactions corresponding to input states are not verified. Use DUMMY_KEY_3 - -val DUMMY_KEY_3: KeyPair - - - DUMMY_NOTARY val DUMMY_NOTARY: Party @@ -305,7 +299,8 @@ that transactions corresponding to input states are not verified. Use ledger -fun ledger(identityService: IdentityService = MOCK_IDENTITY_SERVICE, storageService: StorageService = MockStorageService(), dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>

    Creates and tests a ledger built by the passed in dsl.

    +fun ledger(services: ServiceHub = MockServices(), dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>

    Creates and tests a ledger built by the passed in dsl. The provided services can be customised, otherwise a default +of a freshly built MockServices is used.

    fun TransactionDSLInterpreter.ledger(dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): Unit

    Here follows implementations of the LedgerDSLInterpreter and TransactionDSLInterpreter interfaces to be used in tests. Top level primitives ledger and transaction that bind the interpreter types are also defined here.

    fun LedgerDSLInterpreter<TransactionDSLInterpreter>.ledger(dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): Unit @@ -321,7 +316,7 @@ tests. Top level primitives ledger and signAll -fun signAll(transactionsToSign: List<WireTransaction>, extraKeys: Array<out KeyPair>): <ERROR CLASS>

    Signs all transactions passed in.

    +fun signAll(transactionsToSign: List<WireTransaction>, extraKeys: List<KeyPair>): <ERROR CLASS>

    Signs all transactions passed in.

    fun LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.signAll(vararg extraKeys: KeyPair): <ERROR CLASS>

    Signs all transactions in the ledger.

    diff --git a/docs/build/html/api/com.r3corda.core.testing/ledger.html b/docs/build/html/api/com.r3corda.core.testing/ledger.html index 0019508b9b..219eb550cc 100644 --- a/docs/build/html/api/com.r3corda.core.testing/ledger.html +++ b/docs/build/html/api/com.r3corda.core.testing/ledger.html @@ -7,18 +7,10 @@ com.r3corda.core.testing / ledger

    ledger

    - -fun ledger(identityService: IdentityService = MOCK_IDENTITY_SERVICE, storageService: StorageService = MockStorageService(), dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>
    -

    Creates and tests a ledger built by the passed in dsl.

    -

    Parameters

    - -identityService - : The IdentityService to be used while building the ledger.
    -
    - -storageService - : The StorageService to be used for storing e.g. Attachments.
    -
    - -dsl - : The dsl building the ledger.
    + +fun ledger(services: ServiceHub = MockServices(), dsl: LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>.() -> Unit): LedgerDSL<TestTransactionDSLInterpreter, TestLedgerDSLInterpreter>
    +

    Creates and tests a ledger built by the passed in dsl. The provided services can be customised, otherwise a default +of a freshly built MockServices is used.



    diff --git a/docs/build/html/api/com.r3corda.core.testing/sign-all.html b/docs/build/html/api/com.r3corda.core.testing/sign-all.html index 2689434575..431018692f 100644 --- a/docs/build/html/api/com.r3corda.core.testing/sign-all.html +++ b/docs/build/html/api/com.r3corda.core.testing/sign-all.html @@ -7,8 +7,8 @@ com.r3corda.core.testing / signAll

    signAll

    - -fun signAll(transactionsToSign: List<WireTransaction>, extraKeys: Array<out KeyPair>): <ERROR CLASS>
    + +fun signAll(transactionsToSign: List<WireTransaction>, extraKeys: List<KeyPair>): <ERROR CLASS>

    Signs all transactions passed in.

    Parameters

    diff --git a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/index.html b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/index.html index 3e378aea4f..2ce7b26096 100644 --- a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/index.html +++ b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/index.html @@ -138,8 +138,7 @@ the DONE state, this tracker is finished and t topLevelTracker -val topLevelTracker: ProgressTracker

    Walks up the tree to find the top level tracker. If this is the top level tracker, returns this

    - +val topLevelTracker: ProgressTracker diff --git a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/top-level-tracker.html b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/top-level-tracker.html index 96959aa7e2..6dea3b27d8 100644 --- a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/top-level-tracker.html +++ b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/top-level-tracker.html @@ -9,7 +9,6 @@

    topLevelTracker

    val topLevelTracker: ProgressTracker
    -

    Walks up the tree to find the top level tracker. If this is the top level tracker, returns this



    diff --git a/docs/build/html/api/com.r3corda.core.utilities/index.html b/docs/build/html/api/com.r3corda.core.utilities/index.html index 34d84d0b44..125e79da73 100644 --- a/docs/build/html/api/com.r3corda.core.utilities/index.html +++ b/docs/build/html/api/com.r3corda.core.utilities/index.html @@ -52,14 +52,6 @@ a singleton).

    -RecordingMap - -class RecordingMap<K, V> : MutableMap<K, V>

    A RecordingMap wraps a regular Map<K, V> and records the sequence of gets and puts to it. This is useful in -white box unit tests to ensure that code is accessing a data store as much as you expect.

    - - - - TimeWindow data class TimeWindow

    A class representing a window in time from a particular instant, lasting a specified duration.

    diff --git a/docs/build/html/api/com.r3corda.core/kotlin.-int/checked-add.html b/docs/build/html/api/com.r3corda.core/kotlin.-int/checked-add.html new file mode 100644 index 0000000000..9c32b2ae35 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core/kotlin.-int/checked-add.html @@ -0,0 +1,16 @@ + + +checkedAdd - + + + +com.r3corda.core / kotlin.Int / checkedAdd
    +
    +

    checkedAdd

    + +infix fun Int.checkedAdd(b: Int): Int
    +

    Like the + operator but throws an exception in case of integer overflow.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core/kotlin.-int/index.html b/docs/build/html/api/com.r3corda.core/kotlin.-int/index.html index b9e3175372..1b2b149590 100644 --- a/docs/build/html/api/com.r3corda.core/kotlin.-int/index.html +++ b/docs/build/html/api/com.r3corda.core/kotlin.-int/index.html @@ -17,6 +17,13 @@ +checkedAdd + +infix fun Int.checkedAdd(b: Int): Int

    Like the + operator but throws an exception in case of integer overflow.

    + + + + days val Int.days: Duration diff --git a/docs/build/html/api/com.r3corda.core/kotlin.-long/checked-add.html b/docs/build/html/api/com.r3corda.core/kotlin.-long/checked-add.html new file mode 100644 index 0000000000..05ec5b0075 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core/kotlin.-long/checked-add.html @@ -0,0 +1,16 @@ + + +checkedAdd - + + + +com.r3corda.core / kotlin.Long / checkedAdd
    +
    +

    checkedAdd

    + +infix fun Long.checkedAdd(b: Long): Long
    +

    Like the + operator but throws an exception in case of integer overflow.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.core/kotlin.-long/index.html b/docs/build/html/api/com.r3corda.core/kotlin.-long/index.html index 29d7da8512..7b5bcdf743 100644 --- a/docs/build/html/api/com.r3corda.core/kotlin.-long/index.html +++ b/docs/build/html/api/com.r3corda.core/kotlin.-long/index.html @@ -15,6 +15,13 @@ val Long.bd: BigDecimal + + +checkedAdd + +infix fun Long.checkedAdd(b: Long): Long

    Like the + operator but throws an exception in case of integer overflow.

    + + diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/index.html index a9d08f393e..2c38c30326 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/index.html @@ -101,8 +101,8 @@ access this lazily or from inside receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.node.api/-states-query/index.html b/docs/build/html/api/com.r3corda.node.api/-states-query/index.html index 0f192f82c1..f2f433109a 100644 --- a/docs/build/html/api/com.r3corda.node.api/-states-query/index.html +++ b/docs/build/html/api/com.r3corda.node.api/-states-query/index.html @@ -37,18 +37,6 @@ fun select(criteria: Criteria): Selection - - -selectAllDeals - -fun selectAllDeals(): Selection - - - -selectDeal - -fun selectDeal(ref: String): Selection -

    Inheritors

    diff --git a/docs/build/html/api/com.r3corda.node.internal.testing/-i-r-s-simulation/index.html b/docs/build/html/api/com.r3corda.node.internal.testing/-i-r-s-simulation/index.html index fc5808a6f4..ab9fb4286c 100644 --- a/docs/build/html/api/com.r3corda.node.internal.testing/-i-r-s-simulation/index.html +++ b/docs/build/html/api/com.r3corda.node.internal.testing/-i-r-s-simulation/index.html @@ -97,12 +97,6 @@ in the UI somewhere.

    -latencyInjector - -val latencyInjector: LatencyCalculator? - - - network val network: MockNetwork @@ -145,12 +139,6 @@ in the UI somewhere.

    -runAsync - -val runAsync: Boolean - - - serviceProviders val serviceProviders: List<SimulatedNode> diff --git a/docs/build/html/api/com.r3corda.node.internal.testing/-simulation/index.html b/docs/build/html/api/com.r3corda.node.internal.testing/-simulation/index.html index 52675fe3fc..eb958b7f55 100644 --- a/docs/build/html/api/com.r3corda.node.internal.testing/-simulation/index.html +++ b/docs/build/html/api/com.r3corda.node.internal.testing/-simulation/index.html @@ -131,12 +131,6 @@ in the UI somewhere.

    -latencyInjector - -val latencyInjector: LatencyCalculator? - - - network val network: MockNetwork @@ -179,12 +173,6 @@ in the UI somewhere.

    -runAsync - -val runAsync: Boolean - - - serviceProviders val serviceProviders: List<SimulatedNode> diff --git a/docs/build/html/api/com.r3corda.node.internal.testing/-trade-simulation/index.html b/docs/build/html/api/com.r3corda.node.internal.testing/-trade-simulation/index.html index cf9e1baae5..88f2b83719 100644 --- a/docs/build/html/api/com.r3corda.node.internal.testing/-trade-simulation/index.html +++ b/docs/build/html/api/com.r3corda.node.internal.testing/-trade-simulation/index.html @@ -88,12 +88,6 @@ in the UI somewhere.

    -latencyInjector - -val latencyInjector: LatencyCalculator? - - - network val network: MockNetwork @@ -136,12 +130,6 @@ in the UI somewhere.

    -runAsync - -val runAsync: Boolean - - - serviceProviders val serviceProviders: List<SimulatedNode> diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/-init-.html b/docs/build/html/api/com.r3corda.node.internal/-node/-init-.html index 5ed133d62a..0c38ab03cb 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-node/-init-.html +++ b/docs/build/html/api/com.r3corda.node.internal/-node/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.internal / Node / <init>

    <init>

    -Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock())
    +Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)

    A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, loads important data off disk and starts listening for connections.

    Parameters

    @@ -32,6 +32,9 @@ but nodes are not required to advertise services they run (hence subset).
    clock - The clock used within the node and by all protocols etc.

    + +messagingServerAddr - The address of the Artemis broker instance. If not provided the node will run one locally.
    +

    diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/index.html b/docs/build/html/api/com.r3corda.node.internal/-node/index.html index 55504e1cb1..ff61251896 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-node/index.html +++ b/docs/build/html/api/com.r3corda.node.internal/-node/index.html @@ -32,6 +32,9 @@ but nodes are not required to advertise services they run (hence subset).
    clock - The clock used within the node and by all protocols etc.

    + +messagingServerAddr - The address of the Artemis broker instance. If not provided the node will run one locally.
    +

    Constructors

    @@ -40,7 +43,7 @@ but nodes are not required to advertise services they run (hence subset).
    @@ -57,6 +60,18 @@ loads important data off disk and starts listening for connections.

    + + + + + + + + diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/message-broker.html b/docs/build/html/api/com.r3corda.node.internal/-node/message-broker.html new file mode 100644 index 0000000000..114d97b7e2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-node/message-broker.html @@ -0,0 +1,15 @@ + + +Node.messageBroker - + + + +com.r3corda.node.internal / Node / messageBroker
    +
    +

    messageBroker

    + +var messageBroker: ArtemisMessagingServer?
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/messaging-server-addr.html b/docs/build/html/api/com.r3corda.node.internal/-node/messaging-server-addr.html new file mode 100644 index 0000000000..cc4cc85baf --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-node/messaging-server-addr.html @@ -0,0 +1,15 @@ + + +Node.messagingServerAddr - + + + +com.r3corda.node.internal / Node / messagingServerAddr
    +
    +

    messagingServerAddr

    + +val messagingServerAddr: <ERROR CLASS>?
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/index.html b/docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/index.html index 7f8c85662d..cb43f4d9f1 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/index.html @@ -27,12 +27,6 @@ - - - - @@ -110,12 +104,10 @@ doesnt take the registration object, unlike the callback to ArtemisMessagingService +ArtemisMessagingClient diff --git a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/index.html b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/index.html index c18982248f..3a91805f65 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/index.html @@ -119,7 +119,7 @@ itself, at which point this method would not be needed (by the scheduler).

    @@ -132,15 +132,6 @@ sends them to the wallet for further processing.

    sends them to the wallet for further processing.

    - - - -
    <init> -Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock())

    A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)

    A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, loads important data off disk and starts listening for connections.

    +messageBroker +var messageBroker: ArtemisMessagingServer?
    +messagingServerAddr +val messagingServerAddr: <ERROR CLASS>?
    p2pAddr val p2pAddr: <ERROR CLASS>
    -registerTrustedAddress -abstract fun registerTrustedAddress(address: SingleMessageRecipient): Unit
    stop abstract fun stop(): Unit -class ArtemisMessagingService : SingletonSerializeAsToken, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. -Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate -with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 -as well for interop.

    +class ArtemisMessagingClient : ArtemisMessagingComponent, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    loadState -open fun loadState(stateRef: StateRef): TransactionState<*>

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    +open fun loadState(stateRef: StateRef): TransactionState<*>

    Given a StateRef loads the referenced transaction and looks up the specified output ContractState.

    -verifyTransaction -open fun verifyTransaction(ltx: LedgerTransaction): Unit

    Given a LedgerTransaction, looks up all its dependencies in the local database, uses the identity service to map -the SignedTransactions the DB gives back into LedgerTransactions, and then runs the smart contracts for the -transaction. If no exception is thrown, the transaction is valid.

    -

    Extension Functions

    @@ -150,8 +141,9 @@ transaction. If no exception is thrown, the transaction is valid.

    fillWithSomeTestCash -fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 0 }))): Wallet

    Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them -to the wallet. This is intended for unit tests.

    +fun ServiceHub.fillWithSomeTestCash(howMuch: Amount<Currency>, notary: Party = DUMMY_NOTARY, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random(), ref: OpaqueBytes = OpaqueBytes(ByteArray(1, { 1 })), ownedBy: PublicKey? = null): Wallet

    Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet. This is intended for unit tests. The cash is issued by DUMMY_CASH_ISSUER and owned by the legal +identity key from the storage service.

    diff --git a/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-fix-container/index.html b/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-fix-container/index.html index 4afcc41a9a..2e84f0810e 100644 --- a/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-fix-container/index.html +++ b/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-fix-container/index.html @@ -34,12 +34,6 @@ -fixes - -val fixes: List<Fix> - - - size val size: Int diff --git a/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-interpolating-rate-map/index.html b/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-interpolating-rate-map/index.html index c25136fe1c..81251a067e 100644 --- a/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-interpolating-rate-map/index.html +++ b/docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-interpolating-rate-map/index.html @@ -48,12 +48,6 @@ Interpolates missing values using the provided interpolation mechanism.

    -inputRates - -val inputRates: Map<Tenor, BigDecimal> - - - size val size: Int

    Number of rates excluding the interpolated ones

    diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/-init-.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/-init-.html new file mode 100644 index 0000000000..3b9491cbdd --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/-init-.html @@ -0,0 +1,14 @@ + + +FullNodeConfiguration.<init> - + + + +com.r3corda.node.services.config / FullNodeConfiguration / <init>
    +
    +

    <init>

    +FullNodeConfiguration(conf: <ERROR CLASS>)
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/artemis-address.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/artemis-address.html new file mode 100644 index 0000000000..37a2d95d10 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/artemis-address.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.artemisAddress - + + + +com.r3corda.node.services.config / FullNodeConfiguration / artemisAddress
    +
    +

    artemisAddress

    + +val artemisAddress: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/basedir.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/basedir.html new file mode 100644 index 0000000000..910183102c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/basedir.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.basedir - + + + +com.r3corda.node.services.config / FullNodeConfiguration / basedir
    +
    +

    basedir

    + +val basedir: Path
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/clock.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/clock.html new file mode 100644 index 0000000000..1f4dd4a5a9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/clock.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.clock - + + + +com.r3corda.node.services.config / FullNodeConfiguration / clock
    +
    +

    clock

    + +val clock: Clock
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/create-node.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/create-node.html new file mode 100644 index 0000000000..e3f9c8a214 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/create-node.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.createNode - + + + +com.r3corda.node.services.config / FullNodeConfiguration / createNode
    +
    +

    createNode

    + +fun createNode(): Node
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/export-j-m-xto.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/export-j-m-xto.html new file mode 100644 index 0000000000..c60ba0a872 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/export-j-m-xto.html @@ -0,0 +1,16 @@ + + +FullNodeConfiguration.exportJMXto - + + + +com.r3corda.node.services.config / FullNodeConfiguration / exportJMXto
    +
    +

    exportJMXto

    + +val exportJMXto: String
    +Overrides NodeConfiguration.exportJMXto
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/extra-advertised-service-ids.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/extra-advertised-service-ids.html new file mode 100644 index 0000000000..db432c9b37 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/extra-advertised-service-ids.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.extraAdvertisedServiceIds - + + + +com.r3corda.node.services.config / FullNodeConfiguration / extraAdvertisedServiceIds
    +
    +

    extraAdvertisedServiceIds

    + +val extraAdvertisedServiceIds: String
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html new file mode 100644 index 0000000000..b7b0e9b58d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.hostNotaryServiceLocally - + + + +com.r3corda.node.services.config / FullNodeConfiguration / hostNotaryServiceLocally
    +
    +

    hostNotaryServiceLocally

    + +val hostNotaryServiceLocally: Boolean
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/index.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/index.html new file mode 100644 index 0000000000..8884bf6c56 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/index.html @@ -0,0 +1,119 @@ + + +FullNodeConfiguration - + + + +com.r3corda.node.services.config / FullNodeConfiguration
    +
    +

    FullNodeConfiguration

    +class FullNodeConfiguration : NodeConfiguration
    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +FullNodeConfiguration(conf: <ERROR CLASS>)
    +

    Properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +artemisAddress +val artemisAddress: <ERROR CLASS>
    +basedir +val basedir: Path
    +clock +val clock: Clock
    +exportJMXto +val exportJMXto: String
    +extraAdvertisedServiceIds +val extraAdvertisedServiceIds: String
    +hostNotaryServiceLocally +val hostNotaryServiceLocally: Boolean
    +keyStorePassword +val keyStorePassword: String
    +mapService +val mapService: NameServiceConfig
    +messagingServerAddress +val messagingServerAddress: <ERROR CLASS>?
    +myLegalName +val myLegalName: String
    +nearestCity +val nearestCity: String
    +trustStorePassword +val trustStorePassword: String
    +webAddress +val webAddress: <ERROR CLASS>
    +

    Functions

    + + + + + + + +
    +createNode +fun createNode(): Node
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/key-store-password.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/key-store-password.html new file mode 100644 index 0000000000..8a2a9d746c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/key-store-password.html @@ -0,0 +1,16 @@ + + +FullNodeConfiguration.keyStorePassword - + + + +com.r3corda.node.services.config / FullNodeConfiguration / keyStorePassword
    +
    +

    keyStorePassword

    + +val keyStorePassword: String
    +Overrides NodeConfiguration.keyStorePassword
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/map-service.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/map-service.html new file mode 100644 index 0000000000..120ce8d846 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/map-service.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.mapService - + + + +com.r3corda.node.services.config / FullNodeConfiguration / mapService
    +
    +

    mapService

    + +val mapService: NameServiceConfig
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/messaging-server-address.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/messaging-server-address.html new file mode 100644 index 0000000000..fef35bad7b --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/messaging-server-address.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.messagingServerAddress - + + + +com.r3corda.node.services.config / FullNodeConfiguration / messagingServerAddress
    +
    +

    messagingServerAddress

    + +val messagingServerAddress: <ERROR CLASS>?
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/my-legal-name.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/my-legal-name.html new file mode 100644 index 0000000000..a5eb524fad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/my-legal-name.html @@ -0,0 +1,16 @@ + + +FullNodeConfiguration.myLegalName - + + + +com.r3corda.node.services.config / FullNodeConfiguration / myLegalName
    +
    +

    myLegalName

    + +val myLegalName: String
    +Overrides NodeConfiguration.myLegalName
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/nearest-city.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/nearest-city.html new file mode 100644 index 0000000000..db112c9988 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/nearest-city.html @@ -0,0 +1,16 @@ + + +FullNodeConfiguration.nearestCity - + + + +com.r3corda.node.services.config / FullNodeConfiguration / nearestCity
    +
    +

    nearestCity

    + +val nearestCity: String
    +Overrides NodeConfiguration.nearestCity
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/trust-store-password.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/trust-store-password.html new file mode 100644 index 0000000000..08671a27c9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/trust-store-password.html @@ -0,0 +1,16 @@ + + +FullNodeConfiguration.trustStorePassword - + + + +com.r3corda.node.services.config / FullNodeConfiguration / trustStorePassword
    +
    +

    trustStorePassword

    + +val trustStorePassword: String
    +Overrides NodeConfiguration.trustStorePassword
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/web-address.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/web-address.html new file mode 100644 index 0000000000..ce63085aee --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/web-address.html @@ -0,0 +1,15 @@ + + +FullNodeConfiguration.webAddress - + + + +com.r3corda.node.services.config / FullNodeConfiguration / webAddress
    +
    +

    webAddress

    + +val webAddress: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/-init-.html b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/-init-.html new file mode 100644 index 0000000000..a5c50cc366 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/-init-.html @@ -0,0 +1,14 @@ + + +NameServiceConfig.<init> - + + + +com.r3corda.node.services.config / NameServiceConfig / <init>
    +
    +

    <init>

    +NameServiceConfig(conf: <ERROR CLASS>)
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/address.html b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/address.html new file mode 100644 index 0000000000..ec00345677 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/address.html @@ -0,0 +1,15 @@ + + +NameServiceConfig.address - + + + +com.r3corda.node.services.config / NameServiceConfig / address
    +
    +

    address

    + +val address: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/host-service-locally.html b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/host-service-locally.html new file mode 100644 index 0000000000..72e983c02b --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/host-service-locally.html @@ -0,0 +1,15 @@ + + +NameServiceConfig.hostServiceLocally - + + + +com.r3corda.node.services.config / NameServiceConfig / hostServiceLocally
    +
    +

    hostServiceLocally

    + +val hostServiceLocally: Boolean
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/identity.html b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/identity.html new file mode 100644 index 0000000000..45114f17dc --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/identity.html @@ -0,0 +1,15 @@ + + +NameServiceConfig.identity - + + + +com.r3corda.node.services.config / NameServiceConfig / identity
    +
    +

    identity

    + +val identity: String
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/index.html b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/index.html new file mode 100644 index 0000000000..a646154f04 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-name-service-config/index.html @@ -0,0 +1,48 @@ + + +NameServiceConfig - + + + +com.r3corda.node.services.config / NameServiceConfig
    +
    +

    NameServiceConfig

    +class NameServiceConfig
    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +NameServiceConfig(conf: <ERROR CLASS>)
    +

    Properties

    + + + + + + + + + + + + + + + +
    +address +val address: <ERROR CLASS>
    +hostServiceLocally +val hostServiceLocally: Boolean
    +identity +val identity: String
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/index.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/index.html index ad2f1ccf18..3451dc8c0c 100644 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/index.html +++ b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/index.html @@ -50,6 +50,12 @@ +FullNodeConfiguration + +class FullNodeConfiguration : NodeConfiguration + + + NodeConfigurationFromConfig class NodeConfigurationFromConfig : NodeConfiguration diff --git a/docs/build/html/api/com.r3corda.node.services.config/get-value.html b/docs/build/html/api/com.r3corda.node.services.config/get-value.html index 88a0117ec4..b966f8f7d8 100644 --- a/docs/build/html/api/com.r3corda.node.services.config/get-value.html +++ b/docs/build/html/api/com.r3corda.node.services.config/get-value.html @@ -7,8 +7,8 @@ com.r3corda.node.services.config / getValue

    getValue

    - -operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS>
    + +operator fun <T> <ERROR CLASS>.getValue(receiver: Any, metadata: KProperty<*>): T


    diff --git a/docs/build/html/api/com.r3corda.node.services.config/index.html b/docs/build/html/api/com.r3corda.node.services.config/index.html index 706f1db5de..0707371d80 100644 --- a/docs/build/html/api/com.r3corda.node.services.config/index.html +++ b/docs/build/html/api/com.r3corda.node.services.config/index.html @@ -12,6 +12,18 @@ +FullNodeConfiguration + +class FullNodeConfiguration : NodeConfiguration + + + +NameServiceConfig + +class NameServiceConfig + + + NodeConfiguration interface NodeConfiguration @@ -31,7 +43,7 @@ getValue -operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS> +operator fun <T> <ERROR CLASS>.getValue(receiver: Any, metadata: KProperty<*>): T diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/-init-.html new file mode 100644 index 0000000000..4f466c7bca --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/-init-.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.Handler.<init> - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / Handler / <init>
    +
    +

    <init>

    +Handler(executor: Executor?, topicSession: TopicSession, callback: (Message, MessageHandlerRegistration) -> Unit)
    +

    A registration to handle messages of different types

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/callback.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/callback.html new file mode 100644 index 0000000000..25ca6b0dcd --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/callback.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.Handler.callback - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / Handler / callback
    +
    +

    callback

    + +val callback: (Message, MessageHandlerRegistration) -> Unit
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/executor.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/executor.html new file mode 100644 index 0000000000..97f6842558 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/executor.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.Handler.executor - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / Handler / executor
    +
    +

    executor

    + +val executor: Executor?
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/index.html new file mode 100644 index 0000000000..e76cca9ee7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/index.html @@ -0,0 +1,50 @@ + + +ArtemisMessagingClient.Handler - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / Handler
    +
    +

    Handler

    +data class Handler : MessageHandlerRegistration
    +

    A registration to handle messages of different types

    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +Handler(executor: Executor?, topicSession: TopicSession, callback: (Message, MessageHandlerRegistration) -> Unit)

    A registration to handle messages of different types

    +
    +

    Properties

    + + + + + + + + + + + + + + + +
    +callback +val callback: (Message, MessageHandlerRegistration) -> Unit
    +executor +val executor: Executor?
    +topicSession +val topicSession: TopicSession
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/topic-session.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/topic-session.html new file mode 100644 index 0000000000..5db5a30f19 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-handler/topic-session.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.Handler.topicSession - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / Handler / topicSession
    +
    +

    topicSession

    + +val topicSession: TopicSession
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-init-.html new file mode 100644 index 0000000000..4639aa4588 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-init-.html @@ -0,0 +1,25 @@ + + +ArtemisMessagingClient.<init> - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / <init>
    +
    +

    <init>

    +ArtemisMessagingClient(directory: Path, config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myHostPort: <ERROR CLASS>, defaultExecutor: Executor = RunOnCallerThread)
    +

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    +

    Parameters

    + +serverHostPort - The address of the broker instance to connect to (might be running in the same process)
    +
    + +myHostPort - What host and port to use as an address for incoming messages
    +
    + +defaultExecutor - This will be used as the default executor to run message handlers on, if no other is specified.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html new file mode 100644 index 0000000000..d2cae14b36 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.SESSION_ID_PROPERTY - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / SESSION_ID_PROPERTY
    +
    +

    SESSION_ID_PROPERTY

    + +val SESSION_ID_PROPERTY: String
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html new file mode 100644 index 0000000000..64f4d198ce --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.TOPIC_PROPERTY - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / TOPIC_PROPERTY
    +
    +

    TOPIC_PROPERTY

    + +val TOPIC_PROPERTY: String
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/add-message-handler.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/add-message-handler.html new file mode 100644 index 0000000000..fb3fd88b92 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/add-message-handler.html @@ -0,0 +1,50 @@ + + +ArtemisMessagingClient.addMessageHandler - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / addMessageHandler
    +
    +

    addMessageHandler

    + +fun addMessageHandler(topic: String, sessionID: Long, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
    +Overrides MessagingService.addMessageHandler
    +

    The provided function will be invoked for each received message whose topic matches the given string, on the given +executor.

    +

    If no executor is received then the callback will run on threads provided by the messaging service, and the +callback is expected to be thread safe as a result.

    +

    The returned object is an opaque handle that may be used to un-register handlers later with removeMessageHandler. +The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister +itself and yet addMessageHandler hasnt returned the handle yet.

    +
    +
    +

    Parameters

    + +topic - identifier for the general subject of the message, for example "platform.network_map.fetch". +The topic can be the empty string to match all messages (session ID must be DEFAULT_SESSION_ID).
    +
    + +sessionID - identifier for the session the message is part of. For services listening before +a session is established, use DEFAULT_SESSION_ID.
    +
    +
    + +fun addMessageHandler(topicSession: TopicSession, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
    +Overrides MessagingService.addMessageHandler
    +

    The provided function will be invoked for each received message whose topic and session matches, on the +given executor.

    +

    If no executor is received then the callback will run on threads provided by the messaging service, and the +callback is expected to be thread safe as a result.

    +

    The returned object is an opaque handle that may be used to un-register handlers later with removeMessageHandler. +The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister +itself and yet addMessageHandler hasnt returned the handle yet.

    +
    +
    +

    Parameters

    + +topicSession - identifier for the topic and session to listen for messages arriving on.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/create-message.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/create-message.html new file mode 100644 index 0000000000..566f400af4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/create-message.html @@ -0,0 +1,34 @@ + + +ArtemisMessagingClient.createMessage - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / createMessage
    +
    +

    createMessage

    + +fun createMessage(topicSession: TopicSession, data: ByteArray): Message
    +Overrides MessagingService.createMessage
    +

    Returns an initialised Message with the current time, etc, already filled in.

    +

    Parameters

    + +topicSession - identifier for the topic and session the message is sent to.
    +
    +
    + +fun createMessage(topic: String, sessionID: Long, data: ByteArray): Message
    +Overrides MessagingService.createMessage
    +

    Returns an initialised Message with the current time, etc, already filled in.

    +

    Parameters

    + +topic - identifier for the general subject of the message, for example "platform.network_map.fetch". +Must not be blank.
    +
    + +sessionID - identifier for the session the message is part of. For messages sent to services before the +construction of a session, use DEFAULT_SESSION_ID.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/default-executor.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/default-executor.html new file mode 100644 index 0000000000..ec5e614a62 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/default-executor.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.defaultExecutor - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / defaultExecutor
    +
    +

    defaultExecutor

    + +val defaultExecutor: Executor
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/index.html new file mode 100644 index 0000000000..365ea0f71d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/index.html @@ -0,0 +1,235 @@ + + +ArtemisMessagingClient - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient
    +
    +

    ArtemisMessagingClient

    +class ArtemisMessagingClient : ArtemisMessagingComponent, MessagingServiceInternal
    +

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    +

    Parameters

    + +serverHostPort - The address of the broker instance to connect to (might be running in the same process)
    +
    + +myHostPort - What host and port to use as an address for incoming messages
    +
    + +defaultExecutor - This will be used as the default executor to run message handlers on, if no other is specified.
    +
    +
    +

    Types

    + + + + + + + +
    +Handler +data class Handler : MessageHandlerRegistration

    A registration to handle messages of different types

    +
    +

    Constructors

    + + + + + + + +
    +<init> +ArtemisMessagingClient(directory: Path, config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myHostPort: <ERROR CLASS>, defaultExecutor: Executor = RunOnCallerThread)

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    +
    +

    Properties

    + + + + + + + + + + + + + + + + + + + +
    +defaultExecutor +val defaultExecutor: Executor
    +myAddress +val myAddress: SingleMessageRecipient

    Returns an address that refers to this node.

    +
    +myHostPort +val myHostPort: <ERROR CLASS>
    +serverHostPort +val serverHostPort: <ERROR CLASS>
    +

    Inherited Properties

    + + + + + + + + + + + +
    +config +val config: NodeConfiguration
    +directory +val directory: Path
    +

    Functions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +addMessageHandler +fun addMessageHandler(topic: String, sessionID: Long, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration

    The provided function will be invoked for each received message whose topic matches the given string, on the given +executor.

    +fun addMessageHandler(topicSession: TopicSession, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration

    The provided function will be invoked for each received message whose topic and session matches, on the +given executor.

    +
    +createMessage +fun createMessage(topicSession: TopicSession, data: ByteArray): Message
    +fun createMessage(topic: String, sessionID: Long, data: ByteArray): Message

    Returns an initialised Message with the current time, etc, already filled in.

    +
    +removeMessageHandler +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit

    Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

    +
    +send +fun send(message: Message, target: MessageRecipients): Unit

    Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

    +
    +start +fun start(): Unit
    +stop +fun stop(): Unit
    +

    Inherited Functions

    + + + + + + + + + + + +
    +configureWithDevSSLCertificate +fun configureWithDevSSLCertificate(): Unit

    Strictly for dev only automatically construct a server certificate/private key signed from +the CA certs in Node resources. Then provision KeyStores into certificates folder under node path.

    +
    +tcpTransport +fun tcpTransport(direction: ConnectionDirection, host: String, port: Int): <ERROR CLASS>
    +

    Companion Object Properties

    + + + + + + + + + + + + + + + +
    +SESSION_ID_PROPERTY +val SESSION_ID_PROPERTY: String
    +TOPIC_PROPERTY +val TOPIC_PROPERTY: String
    +log +val log: <ERROR CLASS>
    +

    Companion Object Functions

    + + + + + + + + + + + +
    +makeRecipient +fun makeRecipient(hostAndPort: <ERROR CLASS>): SingleMessageRecipient

    Temp helper until network map is established.

    +fun makeRecipient(hostname: String): <ERROR CLASS>
    +toHostAndPort +fun toHostAndPort(hostname: String): <ERROR CLASS>
    +

    Extension Functions

    + + + + + + + + + + + +
    +runOnNextMessage +fun MessagingService.runOnNextMessage(topic: String, sessionID: Long, executor: Executor? = null, callback: (Message) -> Unit): Unit

    Registers a handler for the given topic and session ID that runs the given callback with the message and then removes +itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback +doesnt take the registration object, unlike the callback to MessagingService.addMessageHandler, as the handler is +automatically deregistered before the callback runs.

    +fun MessagingService.runOnNextMessage(topicSession: TopicSession, executor: Executor? = null, callback: (Message) -> Unit): Unit

    Registers a handler for the given topic and session that runs the given callback with the message and then removes +itself. This is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback +doesnt take the registration object, unlike the callback to MessagingService.addMessageHandler.

    +
    +send +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
    +fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/log.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/log.html new file mode 100644 index 0000000000..99a407b60c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/log.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.log - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / log
    +
    +

    log

    + +val log: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/make-recipient.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/make-recipient.html new file mode 100644 index 0000000000..0c1b4916c0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/make-recipient.html @@ -0,0 +1,20 @@ + + +ArtemisMessagingClient.makeRecipient - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / makeRecipient
    +
    +

    makeRecipient

    + +fun makeRecipient(hostAndPort: <ERROR CLASS>): SingleMessageRecipient
    +

    Temp helper until network map is established.

    +
    +
    + +fun makeRecipient(hostname: String): <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-address.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-address.html new file mode 100644 index 0000000000..54f86ac166 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-address.html @@ -0,0 +1,17 @@ + + +ArtemisMessagingClient.myAddress - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / myAddress
    +
    +

    myAddress

    + +val myAddress: SingleMessageRecipient
    +Overrides MessagingService.myAddress
    +

    Returns an address that refers to this node.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-host-port.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-host-port.html new file mode 100644 index 0000000000..e486e00761 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/my-host-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.myHostPort - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / myHostPort
    +
    +

    myHostPort

    + +val myHostPort: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/remove-message-handler.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/remove-message-handler.html new file mode 100644 index 0000000000..d34e08f37c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/remove-message-handler.html @@ -0,0 +1,24 @@ + + +ArtemisMessagingClient.removeMessageHandler - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / removeMessageHandler
    +
    +

    removeMessageHandler

    + +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
    +Overrides MessagingService.removeMessageHandler
    +

    Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

    +

    Exceptions

    + +IllegalArgumentException - if the given registration isnt valid for this messaging service.
    +
    + +IllegalStateException - if the given registration was already de-registered.
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/send.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/send.html new file mode 100644 index 0000000000..ec93a20c48 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/send.html @@ -0,0 +1,24 @@ + + +ArtemisMessagingClient.send - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / send
    +
    +

    send

    + +fun send(message: Message, target: MessageRecipients): Unit
    +Overrides MessagingService.send
    +

    Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

    +

    There is no way to know if a message has been received. If your protocol requires this, you need the recipient +to send an ACK message back.

    +
    +
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/server-host-port.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/server-host-port.html new file mode 100644 index 0000000000..c7fde7880c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/server-host-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.serverHostPort - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / serverHostPort
    +
    +

    serverHostPort

    + +val serverHostPort: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/start.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/start.html new file mode 100644 index 0000000000..7e28565aa6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/start.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.start - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / start
    +
    +

    start

    + +fun start(): Unit
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/stop.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/stop.html new file mode 100644 index 0000000000..118a2b32d6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/stop.html @@ -0,0 +1,16 @@ + + +ArtemisMessagingClient.stop - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / stop
    +
    +

    stop

    + +fun stop(): Unit
    +Overrides MessagingServiceInternal.stop
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/to-host-and-port.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/to-host-and-port.html new file mode 100644 index 0000000000..08c1e3ffe5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-client/to-host-and-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingClient.toHostAndPort - + + + +com.r3corda.node.services.messaging / ArtemisMessagingClient / toHostAndPort
    +
    +

    toHostAndPort

    + +fun toHostAndPort(hostname: String): <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/-init-.html new file mode 100644 index 0000000000..896c2e0023 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/-init-.html @@ -0,0 +1,14 @@ + + +ArtemisMessagingComponent.Address.<init> - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / Address / <init>
    +
    +

    <init>

    +Address(hostAndPort: <ERROR CLASS>)
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/host-and-port.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/host-and-port.html new file mode 100644 index 0000000000..3cdce89a63 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/host-and-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingComponent.Address.hostAndPort - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / Address / hostAndPort
    +
    +

    hostAndPort

    + +val hostAndPort: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/index.html new file mode 100644 index 0000000000..19cbd04ef1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-address/index.html @@ -0,0 +1,36 @@ + + +ArtemisMessagingComponent.Address - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / Address
    +
    +

    Address

    +protected data class Address : SingleMessageRecipient
    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +Address(hostAndPort: <ERROR CLASS>)
    +

    Properties

    + + + + + + + +
    +hostAndPort +val hostAndPort: <ERROR CLASS>
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html new file mode 100644 index 0000000000..3d872aeb78 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html @@ -0,0 +1,14 @@ + + +ArtemisMessagingComponent.ConnectionDirection.INBOUND - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / ConnectionDirection / INBOUND
    +
    +

    INBOUND

    +INBOUND
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html new file mode 100644 index 0000000000..dff5a1d325 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html @@ -0,0 +1,14 @@ + + +ArtemisMessagingComponent.ConnectionDirection.OUTBOUND - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / ConnectionDirection / OUTBOUND
    +
    +

    OUTBOUND

    +OUTBOUND
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html new file mode 100644 index 0000000000..a8bf9f40c7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html @@ -0,0 +1,31 @@ + + +ArtemisMessagingComponent.ConnectionDirection - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / ConnectionDirection
    +
    +

    ConnectionDirection

    +protected enum class ConnectionDirection
    +
    +
    +

    Enum Values

    + + + + + + + + + + + +
    +INBOUND +
    +OUTBOUND +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-init-.html new file mode 100644 index 0000000000..7ccb2aaa26 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/-init-.html @@ -0,0 +1,21 @@ + + +ArtemisMessagingComponent.<init> - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / <init>
    +
    +

    <init>

    +ArtemisMessagingComponent(directory: Path, config: NodeConfiguration)
    +

    The base class for Artemis services that defines shared data structures and transport configuration

    +

    Parameters

    + +directory - A place where Artemis can stash its message journal and other files.
    +
    + +config - The config object is used to pass in the passwords for the certificate KeyStore and TrustStore
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/config.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/config.html new file mode 100644 index 0000000000..0137be5070 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/config.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingComponent.config - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / config
    +
    +

    config

    + +val config: NodeConfiguration
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/configure-with-dev-s-s-l-certificate.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/configure-with-dev-s-s-l-certificate.html new file mode 100644 index 0000000000..950cbf456f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/configure-with-dev-s-s-l-certificate.html @@ -0,0 +1,17 @@ + + +ArtemisMessagingComponent.configureWithDevSSLCertificate - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / configureWithDevSSLCertificate
    +
    +

    configureWithDevSSLCertificate

    + +fun configureWithDevSSLCertificate(): Unit
    +

    Strictly for dev only automatically construct a server certificate/private key signed from +the CA certs in Node resources. Then provision KeyStores into certificates folder under node path.

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/directory.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/directory.html new file mode 100644 index 0000000000..290d12190d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/directory.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingComponent.directory - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / directory
    +
    +

    directory

    + +val directory: Path
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/index.html new file mode 100644 index 0000000000..82464f162f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/index.html @@ -0,0 +1,117 @@ + + +ArtemisMessagingComponent - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent
    +
    +

    ArtemisMessagingComponent

    +abstract class ArtemisMessagingComponent : SingletonSerializeAsToken
    +

    The base class for Artemis services that defines shared data structures and transport configuration

    +

    Parameters

    + +directory - A place where Artemis can stash its message journal and other files.
    +
    + +config - The config object is used to pass in the passwords for the certificate KeyStore and TrustStore
    +
    +
    +

    Types

    + + + + + + + + + + + +
    +Address +data class Address : SingleMessageRecipient
    +ConnectionDirection +enum class ConnectionDirection
    +

    Constructors

    + + + + + + + +
    +<init> +ArtemisMessagingComponent(directory: Path, config: NodeConfiguration)

    The base class for Artemis services that defines shared data structures and transport configuration

    +
    +

    Properties

    + + + + + + + + + + + +
    +config +val config: NodeConfiguration
    +directory +val directory: Path
    +

    Functions

    + + + + + + + + + + + +
    +configureWithDevSSLCertificate +fun configureWithDevSSLCertificate(): Unit

    Strictly for dev only automatically construct a server certificate/private key signed from +the CA certs in Node resources. Then provision KeyStores into certificates folder under node path.

    +
    +tcpTransport +fun tcpTransport(direction: ConnectionDirection, host: String, port: Int): <ERROR CLASS>
    +

    Inherited Functions

    + + + + + + + +
    +toToken +open fun toToken(context: SerializeAsTokenContext): SerializationToken
    +

    Inheritors

    + + + + + + + + + + + +
    +ArtemisMessagingClient +class ArtemisMessagingClient : ArtemisMessagingComponent, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    +
    +ArtemisMessagingServer +class ArtemisMessagingServer : ArtemisMessagingComponent

    This class configures and manages an Apache Artemis message queue broker.

    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html new file mode 100644 index 0000000000..e49172c797 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingComponent.tcpTransport - + + + +com.r3corda.node.services.messaging / ArtemisMessagingComponent / tcpTransport
    +
    +

    tcpTransport

    + +protected fun tcpTransport(direction: ConnectionDirection, host: String, port: Int): <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/-init-.html new file mode 100644 index 0000000000..00fe845ae3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/-init-.html @@ -0,0 +1,22 @@ + + +ArtemisMessagingServer.<init> - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / <init>
    +
    +

    <init>

    +ArtemisMessagingServer(directory: Path, config: NodeConfiguration, myHostPort: <ERROR CLASS>)
    +

    This class configures and manages an Apache Artemis message queue broker.

    +

    Nodes communication is managed using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 +as well for interop.

    +

    The current implementation is skeletal and lacks features like security or firewall tunnelling (that is, you must +be able to receive TCP connections in order to receive messages). It is good enough for local communication within +a fully connected network, trusted network or on localhost.

    +
    +
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/index.html new file mode 100644 index 0000000000..ce2e79b384 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/index.html @@ -0,0 +1,115 @@ + + +ArtemisMessagingServer - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer
    +
    +

    ArtemisMessagingServer

    +class ArtemisMessagingServer : ArtemisMessagingComponent
    +

    This class configures and manages an Apache Artemis message queue broker.

    +

    Nodes communication is managed using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 +as well for interop.

    +

    The current implementation is skeletal and lacks features like security or firewall tunnelling (that is, you must +be able to receive TCP connections in order to receive messages). It is good enough for local communication within +a fully connected network, trusted network or on localhost.

    +
    +
    +
    +
    +

    Constructors

    + + + + + + + +
    +<init> +ArtemisMessagingServer(directory: Path, config: NodeConfiguration, myHostPort: <ERROR CLASS>)

    This class configures and manages an Apache Artemis message queue broker.

    +
    +

    Properties

    + + + + + + + + + + + +
    +myAddress +val myAddress: SingleMessageRecipient
    +myHostPort +val myHostPort: <ERROR CLASS>
    +

    Inherited Properties

    + + + + + + + + + + + +
    +config +val config: NodeConfiguration
    +directory +val directory: Path
    +

    Functions

    + + + + + + + + + + + +
    +start +fun start(): Unit
    +stop +fun stop(): Unit
    +

    Inherited Functions

    + + + + + + + + + + + +
    +configureWithDevSSLCertificate +fun configureWithDevSSLCertificate(): Unit

    Strictly for dev only automatically construct a server certificate/private key signed from +the CA certs in Node resources. Then provision KeyStores into certificates folder under node path.

    +
    +tcpTransport +fun tcpTransport(direction: ConnectionDirection, host: String, port: Int): <ERROR CLASS>
    +

    Companion Object Properties

    + + + + + + + +
    +log +val log: <ERROR CLASS>
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/log.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/log.html new file mode 100644 index 0000000000..354087ec9c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/log.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingServer.log - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / log
    +
    +

    log

    + +val log: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-address.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-address.html new file mode 100644 index 0000000000..f53ccb60bf --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-address.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingServer.myAddress - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / myAddress
    +
    +

    myAddress

    + +val myAddress: SingleMessageRecipient
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-host-port.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-host-port.html new file mode 100644 index 0000000000..f9f4ee3832 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/my-host-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingServer.myHostPort - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / myHostPort
    +
    +

    myHostPort

    + +val myHostPort: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/start.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/start.html new file mode 100644 index 0000000000..8d23dec872 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/start.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingServer.start - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / start
    +
    +

    start

    + +fun start(): Unit
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/stop.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/stop.html new file mode 100644 index 0000000000..6ecc309f72 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/stop.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingServer.stop - + + + +com.r3corda.node.services.messaging / ArtemisMessagingServer / stop
    +
    +

    stop

    + +fun stop(): Unit
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/index.html index df0d6f6eb1..778264fb42 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/index.html @@ -12,12 +12,24 @@ -ArtemisMessagingService +ArtemisMessagingClient -class ArtemisMessagingService : SingletonSerializeAsToken, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. -Artemis is a message queue broker and here, we embed the entire server inside our own process. Nodes communicate -with each other using an Artemis specific protocol, but it supports other protocols like AMQP/1.0 -as well for interop.

    +class ArtemisMessagingClient : ArtemisMessagingComponent, MessagingServiceInternal

    This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +Artemis is a message queue broker and here we run a client connecting to the specified broker instance ArtemisMessagingServer

    + + + + +ArtemisMessagingComponent + +abstract class ArtemisMessagingComponent : SingletonSerializeAsToken

    The base class for Artemis services that defines shared data structures and transport configuration

    + + + + +ArtemisMessagingServer + +class ArtemisMessagingServer : ArtemisMessagingComponent

    This class configures and manages an Apache Artemis message queue broker.

    diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html index d24576cb0a..038c99b832 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/index.html @@ -25,12 +25,6 @@ when all entities on the network are being simulated in-process.

    inner class Handler : MessageHandlerRegistration - - -InnerState - -inner class InnerState -

    Constructors

    @@ -52,29 +46,11 @@ when all entities on the network are being simulated in-process.

    -backgroundThread - -val backgroundThread: Nothing? - - - myAddress val myAddress: SingleMessageRecipient

    Returns an address that refers to this node.

    - - -running - -var running: Boolean - - - -state - -val state: ThreadBox<InnerState> -

    Functions

    @@ -109,12 +85,6 @@ result indicates whether a message was delivered or not.

    -registerTrustedAddress - -fun registerTrustedAddress(address: SingleMessageRecipient): Unit - - - removeMessageHandler fun removeMessageHandler(registration: MessageHandlerRegistration): Unit

    Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/index.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/index.html index 770421766a..142e32ec14 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/index.html @@ -95,8 +95,7 @@ testing).

    receivedMessages -val receivedMessages: <ERROR CLASS><MessageTransfer>

    A stream of (sender, message, recipients) triples

    - +val receivedMessages: <ERROR CLASS><MessageTransfer> @@ -108,8 +107,7 @@ testing).

    sentMessages -val sentMessages: <ERROR CLASS><MessageTransfer>

    A stream of (sender, message, recipients) triples

    - +val sentMessages: <ERROR CLASS><MessageTransfer> diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/received-messages.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/received-messages.html index ae8c94184d..3221e919a5 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/received-messages.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/received-messages.html @@ -9,7 +9,6 @@

    receivedMessages

    val receivedMessages: <ERROR CLASS><MessageTransfer>
    -

    A stream of (sender, message, recipients) triples



    diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/sent-messages.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/sent-messages.html index ebeec4eb72..856f1e1744 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/sent-messages.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/sent-messages.html @@ -9,7 +9,6 @@

    sentMessages

    val sentMessages: <ERROR CLASS><MessageTransfer>
    -

    A stream of (sender, message, recipients) triples



    diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/-init-.html index 38d5dcb250..73dca22ade 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / InMemoryNetworkMapCache / <init>

    <init>

    -InMemoryNetworkMapCache(netInternal: MessagingServiceInternal?)
    +InMemoryNetworkMapCache()

    Extremely simple in-memory cache of the network map.



    diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/changed.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/changed.html new file mode 100644 index 0000000000..3b51b8ff0a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/changed.html @@ -0,0 +1,17 @@ + + +InMemoryNetworkMapCache.changed - + + + +com.r3corda.node.services.network / InMemoryNetworkMapCache / changed
    +
    +

    changed

    + +open val changed: <ERROR CLASS><MapChange>
    +Overrides NetworkMapCache.changed
    +

    Tracks changes to the network map cache

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/index.html b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/index.html index d71f14a83a..bd3655a4c8 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/index.html @@ -18,7 +18,7 @@ <init> -InMemoryNetworkMapCache(netInternal: MessagingServiceInternal?)

    Extremely simple in-memory cache of the network map.

    +InMemoryNetworkMapCache()

    Extremely simple in-memory cache of the network map.

    @@ -28,9 +28,10 @@ -netInternal +changed -val netInternal: MessagingServiceInternal? +open val changed: <ERROR CLASS><MapChange>

    Tracks changes to the network map cache

    + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/changed.html b/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/changed.html new file mode 100644 index 0000000000..43e1f7b603 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/changed.html @@ -0,0 +1,17 @@ + + +MockNetworkMapCache.changed - + + + +com.r3corda.node.services.network / MockNetworkMapCache / changed
    +
    +

    changed

    + +val changed: <ERROR CLASS><MapChange>
    +Overrides InMemoryNetworkMapCache.changed
    +

    Tracks changes to the network map cache

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/index.html b/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/index.html index ca05980feb..c66f9c2431 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-mock-network-map-cache/index.html @@ -34,15 +34,21 @@ -

    Inherited Properties

    +

    Properties

    +changed +val changed: <ERROR CLASS><MapChange>

    Tracks changes to the network map cache

    + + +
    -netInternal -val netInternal: MessagingServiceInternal?
    +

    Inherited Properties

    + + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/-init-.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/-init-.html new file mode 100644 index 0000000000..fee5f13a63 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/-init-.html @@ -0,0 +1,14 @@ + + +DataVending.Service.TransactionRejectedError.<init> - + + + +com.r3corda.node.services.persistence / DataVending / Service / TransactionRejectedError / <init>
    +
    +

    <init>

    +TransactionRejectedError(msg: String)
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/index.html new file mode 100644 index 0000000000..ff7b8c99f5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-transaction-rejected-error/index.html @@ -0,0 +1,25 @@ + + +DataVending.Service.TransactionRejectedError - + + + +com.r3corda.node.services.persistence / DataVending / Service / TransactionRejectedError
    +
    +

    TransactionRejectedError

    +class TransactionRejectedError : Exception
    +
    +
    +

    Constructors

    +
    networkMapNodes
    + + + + + + +
    +<init> +TransactionRejectedError(msg: String)
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/index.html index b893865440..1463b69b6f 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/index.html @@ -37,6 +37,17 @@ such the hash of a piece of data can be seen as a type of password allowing acce +

    Exceptions

    + + + + + + + +
    +TransactionRejectedError +class TransactionRejectedError : Exception

    Constructors

    @@ -119,5 +130,16 @@ acknowledgement response with no content, use com.r3corda.core.messa
    +

    Companion Object Functions

    + + + + + + + +
    +notify +fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): <ERROR CLASS><Unit>
    diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/notify.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/notify.html new file mode 100644 index 0000000000..d8e9e9d8af --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/notify.html @@ -0,0 +1,15 @@ + + +DataVending.Service.notify - + + + +
    com.r3corda.node.services.persistence / DataVending / Service / notify
    +
    +

    notify

    + +fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): <ERROR CLASS><Unit>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-node-attachment-service/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-node-attachment-service/index.html index cd7b09ca62..c98102861b 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-node-attachment-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-node-attachment-service/index.html @@ -68,12 +68,6 @@ will not have any effect).

    -metrics - -val metrics: <ERROR CLASS> - - - storePath val storePath: Path diff --git a/docs/build/html/api/com.r3corda.node.utilities/-a-n-s-i-progress-renderer/index.html b/docs/build/html/api/com.r3corda.node.utilities/-a-n-s-i-progress-renderer/index.html index 8532533dd5..06d7121da8 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-a-n-s-i-progress-renderer/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-a-n-s-i-progress-renderer/index.html @@ -11,7 +11,9 @@

    Knows how to render a ProgressTracker to the terminal using coloured, emoji-fied output. Useful when writing small command line tools, demos, tests etc. Just set the progressTracker field and it will go ahead and start drawing if the terminal supports it. Otherwise it just prints out the name of the step whenever it changes.

    -

    TODO: Thread safety

    +

    When a progress tracker is on the screen, it takes over the bottom part and reconfigures logging so that, assuming +1 log event == 1 line, the progress tracker is always glued to the bottom and logging scrolls above it.

    +

    TODO: More thread safety




    diff --git a/docs/build/html/api/com.r3corda.node.utilities/-fiber-box/index.html b/docs/build/html/api/com.r3corda.node.utilities/-fiber-box/index.html index a61bcb5929..065ae2b524 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-fiber-box/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-fiber-box/index.html @@ -7,7 +7,7 @@ com.r3corda.node.utilities / FiberBox

    FiberBox

    -class FiberBox<T>
    +class FiberBox<out T>

    Modelled on ThreadBox, but with support for waiting that is compatible with Quasar Fibers and MutableClocks.

    It supports 3 main operations, all of which operate in a similar context to the locked method of ThreadBox. i.e. in the context of the content.

    diff --git a/docs/build/html/api/com.r3corda.node.utilities/index.html b/docs/build/html/api/com.r3corda.node.utilities/index.html index 766045150e..14cbbcd8ce 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/index.html @@ -46,7 +46,7 @@ for ensuring code runs on the right thread, and also for unit testing.

    FiberBox -class FiberBox<T>

    Modelled on ThreadBox, but with support for waiting that is compatible with Quasar Fibers and MutableClocks.

    +class FiberBox<out T>

    Modelled on ThreadBox, but with support for waiting that is compatible with Quasar Fibers and MutableClocks.

    diff --git a/docs/build/html/api/com.r3corda.node/-params-spec/base-directory-arg.html b/docs/build/html/api/com.r3corda.node/-params-spec/base-directory-arg.html new file mode 100644 index 0000000000..3dd62b120d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/-params-spec/base-directory-arg.html @@ -0,0 +1,15 @@ + + +ParamsSpec.baseDirectoryArg - + + + +com.r3corda.node / ParamsSpec / baseDirectoryArg
    +
    +

    baseDirectoryArg

    + +val baseDirectoryArg: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node/-params-spec/config-file-arg.html b/docs/build/html/api/com.r3corda.node/-params-spec/config-file-arg.html new file mode 100644 index 0000000000..54872ed9ea --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/-params-spec/config-file-arg.html @@ -0,0 +1,15 @@ + + +ParamsSpec.configFileArg - + + + +com.r3corda.node / ParamsSpec / configFileArg
    +
    +

    configFileArg

    + +val configFileArg: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node/-params-spec/index.html b/docs/build/html/api/com.r3corda.node/-params-spec/index.html new file mode 100644 index 0000000000..fff143b3a4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/-params-spec/index.html @@ -0,0 +1,37 @@ + + +ParamsSpec - + + + +com.r3corda.node / ParamsSpec
    +
    +

    ParamsSpec

    +object ParamsSpec
    +
    +
    +

    Properties

    + + + + + + + + + + + + + + + +
    +baseDirectoryArg +val baseDirectoryArg: <ERROR CLASS>
    +configFileArg +val configFileArg: <ERROR CLASS>
    +parser +val parser: <ERROR CLASS>
    + + diff --git a/docs/build/html/api/com.r3corda.node/-params-spec/parser.html b/docs/build/html/api/com.r3corda.node/-params-spec/parser.html new file mode 100644 index 0000000000..e4b95ebdad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/-params-spec/parser.html @@ -0,0 +1,15 @@ + + +ParamsSpec.parser - + + + +com.r3corda.node / ParamsSpec / parser
    +
    +

    parser

    + +val parser: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node/index.html b/docs/build/html/api/com.r3corda.node/index.html new file mode 100644 index 0000000000..de3cbe48a6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/index.html @@ -0,0 +1,44 @@ + + +com.r3corda.node - + + + +com.r3corda.node
    +
    +

    Package com.r3corda.node

    +

    Types

    + + + + + + + +
    +ParamsSpec +object ParamsSpec
    +

    Properties

    + + + + + + + +
    +log +val log: <ERROR CLASS>
    +

    Functions

    + + + + + + + +
    +main +fun main(args: Array<String>): Unit
    + + diff --git a/docs/build/html/api/com.r3corda.node/log.html b/docs/build/html/api/com.r3corda.node/log.html new file mode 100644 index 0000000000..0e74288987 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/log.html @@ -0,0 +1,15 @@ + + +log - + + + +com.r3corda.node / log
    +
    +

    log

    + +val log: <ERROR CLASS>
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node/main.html b/docs/build/html/api/com.r3corda.node/main.html new file mode 100644 index 0000000000..1996460bea --- /dev/null +++ b/docs/build/html/api/com.r3corda.node/main.html @@ -0,0 +1,15 @@ + + +main - + + + +com.r3corda.node / main
    +
    +

    main

    + +fun main(args: Array<String>): Unit
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/index.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/index.html index 9b4080d1b5..5596a07fd4 100644 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / AbstractStateReplacementProtocol / Acceptor

    Acceptor

    -abstract class Acceptor<T> : ProtocolLogic<Unit>
    +abstract class Acceptor<in T> : ProtocolLogic<Unit>


    Types

    @@ -132,8 +132,8 @@ Note that this is temporary until protocol sessions are properly implemented.

    receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/index.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/index.html index 19a1922b32..acfe7a59b2 100644 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / AbstractStateReplacementProtocol / Instigator

    Instigator

    -abstract class Instigator<S : ContractState, T> : ProtocolLogic<StateAndRef<S>>
    +abstract class Instigator<out S : ContractState, T> : ProtocolLogic<StateAndRef<S>>


    Types

    @@ -120,8 +120,8 @@ Note that this is temporary until protocol sessions are properly implemented.

    receive -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/index.html index 2ff1752eec..e6051c9fcb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/index.html @@ -26,7 +26,7 @@ use the new updated state for future transactions.

    Acceptor -abstract class Acceptor<T> : ProtocolLogic<Unit> +abstract class Acceptor<in T> : ProtocolLogic<Unit> @@ -38,7 +38,7 @@ use the new updated state for future transactions.

    Instigator -abstract class Instigator<S : ContractState, T> : ProtocolLogic<StateAndRef<S>> +abstract class Instigator<out S : ContractState, T> : ProtocolLogic<StateAndRef<S>> diff --git a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/get-reply-to.html b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/get-reply-to.html new file mode 100644 index 0000000000..1d35ae6271 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/get-reply-to.html @@ -0,0 +1,16 @@ + + +DirectRequestMessage.getReplyTo - + + + +com.r3corda.protocols / DirectRequestMessage / getReplyTo
    +
    +

    getReplyTo

    + +open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
    +Overrides ServiceRequestMessage.getReplyTo
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/index.html b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/index.html new file mode 100644 index 0000000000..f9dff3627b --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/index.html @@ -0,0 +1,51 @@ + + +DirectRequestMessage - + + + +com.r3corda.protocols / DirectRequestMessage
    +
    +

    DirectRequestMessage

    +interface DirectRequestMessage : ServiceRequestMessage
    +

    A message which specifies reply destination as a specific endpoint such as a monitoring client. This is of particular +use where we want to address a specific endpoint, not necessarily a specific user (for example if the same user logs +in on two machines, we want to consistently deliver messages as part of a session, to the same machine the session +started on).

    +
    +
    +

    Properties

    + + + + + + + +
    +replyToRecipient +abstract val replyToRecipient: SingleMessageRecipient
    +

    Inherited Properties

    + + + + + + + +
    +sessionID +abstract val sessionID: Long
    +

    Functions

    + + + + + + + +
    +getReplyTo +open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
    + + diff --git a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/reply-to-recipient.html b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/reply-to-recipient.html new file mode 100644 index 0000000000..7d65efa77a --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-direct-request-message/reply-to-recipient.html @@ -0,0 +1,15 @@ + + +DirectRequestMessage.replyToRecipient - + + + +com.r3corda.protocols / DirectRequestMessage / replyToRecipient
    +
    +

    replyToRecipient

    + +abstract val replyToRecipient: SingleMessageRecipient
    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/index.html index 4ad6af110c..15bfa6662b 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/index.html @@ -141,8 +141,8 @@ undo the commit of the input states (the exact mechanism still needs to be worke receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/index.html index 6fde7a8996..96c7b055d2 100644 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/index.html @@ -162,8 +162,8 @@ before its sent back to the oracle for signing (for example, adding output state receive -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/-init-.html b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/-init-.html index 15b0862b33..10a13cb82d 100644 --- a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/-init-.html @@ -13,14 +13,15 @@

    ResolveTransactionsProtocol(txHashes: Set<SecureHash>, otherSide: Party)
    -

    This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

    +

    This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

    A couple of constructors are provided that accept a single transaction. When these are used, the dependencies of that transaction are resolved and then the transaction itself is verified. Again, if successful, the results are inserted into the database as long as a SignedTransaction was provided. If only the WireTransaction form was provided -then this isnt enough to put into the local database, so only the dependencies are inserted. This way to use the -protocol is helpful when resolving and verifying a finished but partially signed transaction.

    +then this isnt enough to put into the local database, so only the dependencies are checked and inserted. This way +to use the protocol is helpful when resolving and verifying a finished but partially signed transaction.

    +

    The protocol returns a list of verified LedgerTransaction objects, in a depth-first order.




    diff --git a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/call.html b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/call.html index 1755b25faf..83d25c4560 100644 --- a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/call.html +++ b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/call.html @@ -8,7 +8,7 @@

    call

    -fun call(): Unit
    +fun call(): List<LedgerTransaction>
    Overrides ProtocolLogic.call

    This is where you fill out your business logic.


    diff --git a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/index.html index 7d47bfe409..668b113a59 100644 --- a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/index.html @@ -7,15 +7,16 @@ com.r3corda.protocols / ResolveTransactionsProtocol

    ResolveTransactionsProtocol

    -class ResolveTransactionsProtocol : ProtocolLogic<Unit>
    -

    This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

    +class ResolveTransactionsProtocol : ProtocolLogic<List<LedgerTransaction>>
    +

    This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

    A couple of constructors are provided that accept a single transaction. When these are used, the dependencies of that transaction are resolved and then the transaction itself is verified. Again, if successful, the results are inserted into the database as long as a SignedTransaction was provided. If only the WireTransaction form was provided -then this isnt enough to put into the local database, so only the dependencies are inserted. This way to use the -protocol is helpful when resolving and verifying a finished but partially signed transaction.

    +then this isnt enough to put into the local database, so only the dependencies are checked and inserted. This way +to use the protocol is helpful when resolving and verifying a finished but partially signed transaction.

    +

    The protocol returns a list of verified LedgerTransaction objects, in a depth-first order.




    @@ -40,9 +41,9 @@ protocol is helpful when resolving and verifying a finished but partially signed ResolveTransactionsProtocol(stx: SignedTransaction, otherSide: Party)
    ResolveTransactionsProtocol(wtx: WireTransaction, otherSide: Party)

    Resolve the full history of a transaction and verify it with its dependencies.

    -ResolveTransactionsProtocol(txHashes: Set<SecureHash>, otherSide: Party)

    This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

    +ResolveTransactionsProtocol(txHashes: Set<SecureHash>, otherSide: Party)

    This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

    @@ -105,7 +106,7 @@ access this lazily or from inside call -fun call(): Unit

    This is where you fill out your business logic.

    +fun call(): List<LedgerTransaction>

    This is where you fill out your business logic.

    @@ -117,8 +118,8 @@ access this lazily or from inside receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-service-request-message/index.html b/docs/build/html/api/com.r3corda.protocols/-service-request-message/index.html index 707224b1a4..e70f5f6eb0 100644 --- a/docs/build/html/api/com.r3corda.protocols/-service-request-message/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-service-request-message/index.html @@ -39,6 +39,16 @@ fields such as replyTo and sessionID.

    +DirectRequestMessage + +interface DirectRequestMessage : ServiceRequestMessage

    A message which specifies reply destination as a specific endpoint such as a monitoring client. This is of particular +use where we want to address a specific endpoint, not necessarily a specific user (for example if the same user logs +in on two machines, we want to consistently deliver messages as part of a session, to the same machine the session +started on).

    + + + + NetworkMapRequestMessage abstract class NetworkMapRequestMessage : ServiceRequestMessage diff --git a/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/-init-.html b/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/-init-.html index fdb529b96a..779d666f4a 100644 --- a/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/-init-.html @@ -8,7 +8,7 @@

    <init>

    StateReplacementRefused(identity: Party, state: StateRef, detail: String?)
    -

    Thrown when a participant refuses proposed the state replacement

    +

    Thrown when a participant refuses the proposed state replacement



    diff --git a/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/index.html b/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/index.html index e43c4231e5..7cb43a1c51 100644 --- a/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-state-replacement-refused/index.html @@ -8,7 +8,7 @@

    StateReplacementRefused

    class StateReplacementRefused
    -

    Thrown when a participant refuses proposed the state replacement

    +

    Thrown when a participant refuses the proposed state replacement



    Constructors

    @@ -18,7 +18,7 @@ <init> -StateReplacementRefused(identity: Party, state: StateRef, detail: String?)

    Thrown when a participant refuses proposed the state replacement

    +StateReplacementRefused(identity: Party, state: StateRef, detail: String?)

    Thrown when a participant refuses the proposed state replacement

    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/index.html index 9af29fbdd7..1511b0eceb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/index.html @@ -122,8 +122,8 @@ access this lazily or from inside receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/index.html index 2e1e924d18..2bcf4f4a40 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Instigator

    Instigator

    -class Instigator<T : DealState> : Primary<T>
    +class Instigator<out T : DealState> : Primary<T>

    One side of the protocol for inserting a pre-agreed deal.



    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/index.html index e27a93056c..fb8bf614f2 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/index.html @@ -242,7 +242,7 @@ access this lazily or from inside Instigator -class Instigator<T : DealState> : Primary<T>

    One side of the protocol for inserting a pre-agreed deal.

    +class Instigator<out T : DealState> : Primary<T>

    One side of the protocol for inserting a pre-agreed deal.

    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/index.html index eeb06a36ad..868d5b687e 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/index.html @@ -156,8 +156,8 @@ access this lazily or from inside receive -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/index.html index f639182fb0..3341f97057 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/index.html @@ -64,7 +64,7 @@ Instigator -class Instigator<T : DealState> : Primary<T>

    One side of the protocol for inserting a pre-agreed deal.

    +class Instigator<out T : DealState> : Primary<T>

    One side of the protocol for inserting a pre-agreed deal.

    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/-init-.html index 42f6a1c778..261358137d 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / Buyer / <init>

    <init>

    -Buyer(otherSide: Party, notary: Party, acceptablePrice: Amount<Issued<Currency>>, typeToBuy: Class<out OwnableState>, sessionID: Long)
    +Buyer(otherSide: Party, notary: Party, acceptablePrice: Amount<Currency>, typeToBuy: Class<out OwnableState>, sessionID: Long)


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/acceptable-price.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/acceptable-price.html index 7ba69e7380..e1a2083a67 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/acceptable-price.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/acceptable-price.html @@ -8,7 +8,7 @@

    acceptablePrice

    -val acceptablePrice: Amount<Issued<Currency>>
    +val acceptablePrice: Amount<Currency>


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/index.html index 298adbf61b..ebacb1b033 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/index.html @@ -46,7 +46,7 @@ <init> -Buyer(otherSide: Party, notary: Party, acceptablePrice: Amount<Issued<Currency>>, typeToBuy: Class<out OwnableState>, sessionID: Long) +Buyer(otherSide: Party, notary: Party, acceptablePrice: Amount<Currency>, typeToBuy: Class<out OwnableState>, sessionID: Long) @@ -57,7 +57,7 @@ acceptablePrice -val acceptablePrice: Amount<Issued<Currency>> +val acceptablePrice: Amount<Currency> @@ -150,8 +150,8 @@ access this lazily or from inside receive -fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
    -fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T> +fun <T : Any> receive(sessionIDForReceive: Long): UntrustworthyData<T>
    +fun <T : Any> receive(sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html index 689672cbf2..b3cc785c84 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / SellerTradeInfo / <init>

    <init>

    -SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount<Issued<Currency>>, sellerOwnerKey: PublicKey, sessionID: Long)
    +SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount<Currency>, sellerOwnerKey: PublicKey, sessionID: Long)


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/index.html index 43c71824c3..d3d152ecbb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/index.html @@ -17,7 +17,7 @@ <init> -SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount<Issued<Currency>>, sellerOwnerKey: PublicKey, sessionID: Long) +SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount<Currency>, sellerOwnerKey: PublicKey, sessionID: Long) @@ -34,7 +34,7 @@ price -val price: Amount<Issued<Currency>> +val price: Amount<Currency> diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/price.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/price.html index 9ecd3cdb4b..84ec81d400 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/price.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller-trade-info/price.html @@ -8,7 +8,7 @@

    price

    -val price: Amount<Issued<Currency>>
    +val price: Amount<Currency>


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/-init-.html index d385bb3b43..17388a3281 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / Seller / <init>

    <init>

    -Seller(otherSide: Party, notaryNode: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount<Issued<Currency>>, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker())
    +Seller(otherSide: Party, notaryNode: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount<Currency>, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker())


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/index.html index e101da847c..5f243c7a8d 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/index.html @@ -52,7 +52,7 @@ <init> -Seller(otherSide: Party, notaryNode: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount<Issued<Currency>>, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker()) +Seller(otherSide: Party, notaryNode: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount<Currency>, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker()) @@ -93,7 +93,7 @@ price -val price: Amount<Issued<Currency>> +val price: Amount<Currency> diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/price.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/price.html index 5e91b02f9b..b0d265cb45 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/price.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/price.html @@ -8,7 +8,7 @@

    price

    -val price: Amount<Issued<Currency>>
    +val price: Amount<Currency>


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html index a091a830a5..1ef7a02902 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / UnacceptablePriceException / <init>

    <init>

    -UnacceptablePriceException(givenPrice: Amount<Issued<Currency>>)
    +UnacceptablePriceException(givenPrice: Amount<Currency>)


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html index 9d05c61721..8c15078950 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html @@ -8,7 +8,7 @@

    givenPrice

    -val givenPrice: Amount<Issued<Currency>>
    +val givenPrice: Amount<Currency>


    diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html index 433ec403d0..e27ae2f1e3 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html @@ -17,7 +17,7 @@ <init> -UnacceptablePriceException(givenPrice: Amount<Issued<Currency>>) +UnacceptablePriceException(givenPrice: Amount<Currency>) @@ -28,7 +28,7 @@ givenPrice -val givenPrice: Amount<Issued<Currency>> +val givenPrice: Amount<Currency> diff --git a/docs/build/html/api/com.r3corda.protocols/index.html b/docs/build/html/api/com.r3corda.protocols/index.html index aa1a3c7114..786a8b40a5 100644 --- a/docs/build/html/api/com.r3corda.protocols/index.html +++ b/docs/build/html/api/com.r3corda.protocols/index.html @@ -21,6 +21,16 @@ protocols.

    +DirectRequestMessage + +interface DirectRequestMessage : ServiceRequestMessage

    A message which specifies reply destination as a specific endpoint such as a monitoring client. This is of particular +use where we want to address a specific endpoint, not necessarily a specific user (for example if the same user logs +in on two machines, we want to consistently deliver messages as part of a session, to the same machine the session +started on).

    + + + + FetchAttachmentsProtocol class FetchAttachmentsProtocol : FetchDataProtocol<Attachment, ByteArray>

    Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded @@ -81,9 +91,9 @@ for each step.

    ResolveTransactionsProtocol -class ResolveTransactionsProtocol : ProtocolLogic<Unit>

    This protocol fetches each transaction identified by the given hashes from either disk or network, along with all -their dependencies, and verifies them together using a single TransactionGroup. If no exception is thrown, then -all the transactions have been successfully verified and inserted into the local database.

    +class ResolveTransactionsProtocol : ProtocolLogic<List<LedgerTransaction>>

    This protocol is used to verify the validity of a transaction by recursively checking the validity of all the +dependencies. Once a transaction is checked its inserted into local storage so it can be relayed and wont be +checked again.

    @@ -98,7 +108,7 @@ fields such as replyTo and sessionID.

    StateReplacementRefused -class StateReplacementRefused

    Thrown when a participant refuses proposed the state replacement

    +class StateReplacementRefused

    Thrown when a participant refuses the proposed state replacement

    diff --git a/docs/build/html/api/index-outline.html b/docs/build/html/api/index-outline.html index d157a46956..0bf1a227f6 100644 --- a/docs/build/html/api/index-outline.html +++ b/docs/build/html/api/index-outline.html @@ -100,6 +100,8 @@ AbstractConserveAmount()
    +fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateExitCommand: (Amount<Issued<T>>) -> CommandData): PublicKey
    +fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateMoveCommand: () -> CommandData): List<PublicKey>
    open val ifMatched: MatchBehaviour
    open val ifNotMatched: MatchBehaviour
    open val requiredCommands: Set<Class<out CommandData>>
    @@ -107,7 +109,7 @@
-abstract class AbstractIssue<S : ContractState, T : Any> : GroupClause<S, Issued<T>>
+abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>
open fun applyRollConvention(testDate: LocalDate, dateRollConvention: DateRollConvention): LocalDate
-val calendars: Array<out String>
val calendars: <ERROR CLASS>
fun createGenericSchedule(startDate: LocalDate, period: Frequency, calendar: BusinessCalendar = getInstance(), dateRollConvention: DateRollConvention = DateRollConvention.Following, noOfAdditionalPeriods: Int = Integer.MAX_VALUE, endDate: LocalDate? = null, periodOffset: Int? = null): List<LocalDate>
open fun equals(other: Any?): Boolean
@@ -776,7 +833,7 @@ -class Cash : ClauseVerifier
+class Cash : OnLedgerAsset<Currency, State>
@@ -900,23 +957,25 @@ val amount: Amount<Issued<Currency>>
val contract: Cash
val deposit: PartyAndReference
-val exitKeys: Collection<PublicKey>
+val exitKeys: <ERROR CLASS>
val issuanceDef: Issued<Currency>
fun move(newAmount: Amount<Issued<Currency>>, newOwner: PublicKey): FungibleAsset<Currency>
val owner: PublicKey
-val participants: List<PublicKey>
+val participants: <ERROR CLASS>
fun toString(): String
fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>
-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
+val conserveClause: AbstractConserveAmount<State, Currency>
+fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Currency>>, owner: PublicKey): TransactionState<State>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
-fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Currency>>, changeKey: PublicKey, cashStates: List<StateAndRef<State>>): PublicKey
+fun generateExitCommand(amount: Amount<Issued<Currency>>): Exit
fun generateIssue(tx: TransactionBuilder, tokenDef: Issued<Currency>, pennies: Long, owner: PublicKey, notary: Party): Unit
fun generateIssue(tx: TransactionBuilder, amount: Amount<Issued<Currency>>, owner: PublicKey, notary: Party): Unit
-fun generateSpend(tx: TransactionBuilder, amount: Amount<Issued<Currency>>, to: PublicKey, cashStates: List<StateAndRef<State>>): List<PublicKey>
-fun generateSpend(tx: TransactionBuilder, amount: Amount<Currency>, to: PublicKey, cashStates: List<StateAndRef<State>>, onlyFromParties: Set<Party>? = null): List<PublicKey>
+fun generateIssueCommand(): Issue
+fun generateMoveCommand(): Move
val legalContractReference: SecureHash
@@ -1161,7 +1220,7 @@ Group()
-val clauses: List<GroupClause<State, Issued<Terms>>>
+val clauses: <ERROR CLASS>
fun extractGroups(tx: TransactionForContract): List<InOutGroup<State, Issued<Terms>>>
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
@@ -1302,7 +1361,7 @@ -val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<CommandData>>
fun generateIssue(issuance: PartyAndReference, faceValue: Amount<Issued<Currency>>, maturityDate: Instant, notary: Party): TransactionBuilder
fun generateMove(tx: TransactionBuilder, paper: StateAndRef<State>, newOwner: PublicKey): Unit
@@ -1399,6 +1458,170 @@ +data class Commodity
+ +class CommodityContract : OnLedgerAsset<Commodity, State>
+ class Config
    @@ -1581,7 +1804,20 @@
+class TransactionRejectedError : Exception
+ val logger: <ERROR CLASS>
+fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): <ERROR CLASS><Unit>
val services: ServiceHubInternal
val storage: StorageService
@@ -1769,7 +2005,7 @@ -DigitalSignature(bits: ByteArray, covering: Int = 0)
+DigitalSignature(bits: ByteArray)
class LegallyIdentifiable : WithKey
    @@ -1798,7 +2034,19 @@
-val covering: Int
+ + + +interface DirectRequestMessage : ServiceRequestMessage
+ @@ -1983,7 +2231,6 @@ -val ed25519Curve: <ERROR CLASS>
fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<<ERROR CLASS>>): <ERROR CLASS>
fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: <ERROR CLASS>): Unit
@@ -1997,7 +2244,6 @@ -val ed25519Curve: <ERROR CLASS>
fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<<ERROR CLASS>>): <ERROR CLASS>
fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: <ERROR CLASS>): Unit
@@ -2265,7 +2511,7 @@ -class FiberBox<T>
+class FiberBox<out T>
    @@ -2565,6 +2811,32 @@
+class FullNodeConfiguration : NodeConfiguration
+ interface FungibleAsset<T> : OwnableState
    @@ -2607,7 +2879,7 @@
-interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T>
+interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T>
abstract class GroupClauseVerifier<S : ContractState, T : Any> : SingleClause
    @@ -2821,32 +3093,14 @@
-protected inner class InnerState
- fun addMessageHandler(topic: String, sessionID: Long, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
fun addMessageHandler(topicSession: TopicSession, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
-protected val backgroundThread: Nothing?
fun createMessage(topic: String, sessionID: Long, data: ByteArray): Message
fun createMessage(topicSession: TopicSession, data: ByteArray): Message
val myAddress: SingleMessageRecipient
fun pumpReceive(block: Boolean): MessageTransfer?
-fun registerTrustedAddress(address: SingleMessageRecipient): Unit
fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
-protected var running: Boolean
fun send(message: Message, target: MessageRecipients): Unit
-protected val state: ThreadBox<InnerState>
fun stop(): Unit
@@ -2902,16 +3156,16 @@ -InMemoryNetworkMapCache(netInternal: MessagingServiceInternal?)
+InMemoryNetworkMapCache()
open fun addMapService(net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int?): <ERROR CLASS><Unit>
open fun addNode(node: NodeInfo): Unit
+open val changed: <ERROR CLASS><MapChange>
open fun deregisterForUpdates(net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>
open fun get(): <ERROR CLASS>
open fun get(serviceType: ServiceType): <ERROR CLASS>
open fun getNodeByLegalName(name: String): <ERROR CLASS>
open fun getNodeByPublicKey(publicKey: PublicKey): <ERROR CLASS>
open fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?
-val netInternal: MessagingServiceInternal?
open val networkMapNodes: List<NodeInfo>
open val notaryNodes: List<NodeInfo>
open val partyNodes: List<NodeInfo>
@@ -2996,8 +3250,9 @@ -InsufficientBalanceException(amountMissing: Amount<Currency>)
-val amountMissing: Amount<Currency>
+InsufficientBalanceException(amountMissing: Amount<*>)
+val amountMissing: Amount<*>
+fun toString(): String
@@ -3082,7 +3337,7 @@ Agree()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -3096,7 +3351,7 @@ Fix()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -3110,7 +3365,7 @@ Group()
-val clauses: List<GroupClause<State, String>>
+val clauses: <ERROR CLASS>
fun extractGroups(tx: TransactionForContract): List<InOutGroup<State, String>>
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
@@ -3126,7 +3381,7 @@ Mature()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -3140,7 +3395,7 @@ Pay()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -3156,7 +3411,7 @@ Timestamped()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, commands: Collection<AuthenticatedObject<CommandData>>): Set<CommandData>
@@ -3349,7 +3604,7 @@ fun nextScheduledActivity(thisStateRef: StateRef, protocolLogicRefFactory: ProtocolLogicRefFactory): ScheduledActivity?
val participants: List<PublicKey>
val parties: Array<Party>
-fun prettyPrint(): String
+fun prettyPrint(): <ERROR CLASS>
val ref: String
val thread: <ERROR CLASS>
fun withPublicKey(before: Party, after: PublicKey): DealState
@@ -3360,7 +3615,7 @@ fun extractCommands(tx: TransactionForContract): Collection<AuthenticatedObject<CommandData>>
fun generateAgreement(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common, notary: Party): TransactionBuilder
fun generateFix(tx: TransactionBuilder, irs: StateAndRef<State>, fixing: Fix): Unit
-val legalContractReference: SecureHash
+val legalContractReference: <ERROR CLASS>
@@ -3431,6 +3686,7 @@ Issued(issuer: PartyAndReference, product: P)
val issuer: PartyAndReference
val product: P
+fun toString(): String
@@ -3619,7 +3875,6 @@ LedgerDSL(interpreter: L)
val interpreter: L
inline fun <reified S : ContractState> String.output(): S
-fun String.outputRef(): StateRef
inline fun <reified S : ContractState> String.outputStateAndRef(): StateAndRef<S>
fun <S : ContractState> retrieveOutput(clazz: Class<S>, label: String): S
fun transaction(label: String? = null, transactionBuilder: TransactionBuilder = TransactionBuilder(), dsl: TransactionDSL<TransactionDSLInterpreter>.() -> EnforceVerifyOrFail): WireTransaction
@@ -3650,15 +3905,17 @@ -LedgerTransaction(inputs: List<StateRef>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)
+LedgerTransaction(inputs: List<StateAndRef<*>>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)
val attachments: List<Attachment>
val commands: List<AuthenticatedObject<CommandData>>
val id: SecureHash
-val inputs: List<StateRef>
+val inputs: List<StateAndRef<*>>
fun <T : ContractState> outRef(index: Int): StateAndRef<T>
val outputs: List<TransactionState<*>>
val signers: List<PublicKey>
+fun toTransactionForContract(): TransactionForContract
val type: TransactionType
+fun verify(): Unit
@@ -3760,7 +4017,6 @@ -abstract fun registerTrustedAddress(address: SingleMessageRecipient): Unit
abstract fun stop(): Unit
@@ -3920,10 +4176,34 @@ fun addRegistration(node: NodeInfo): Unit
+val changed: <ERROR CLASS><MapChange>
fun deleteRegistration(identity: Party): Boolean
+open class MockServices : ServiceHub
+ class MockStorageService : SingletonSerializeAsToken, TxWritableStorageService
    @@ -3992,7 +4272,7 @@
-interface MultilateralNettableState<T : Any>
+interface MultilateralNettableState<out T : Any>
    @@ -4019,6 +4299,21 @@
+class NameServiceConfig
+ interface NamedByHash
-open class NoZeroSizedOutputs<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>
+open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>
+object NullSignature : WithKey
class Obligation<P> : ClauseVerifier
@@ -5134,7 +5457,7 @@ SetLifecycle()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State<P>>, outputs: List<State<P>>, commands: Collection<AuthenticatedObject<CommandData>>, token: Issued<Terms<P>>): Set<CommandData>
@@ -5150,7 +5473,7 @@ Settle()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State<P>>, outputs: List<State<P>>, commands: Collection<AuthenticatedObject<CommandData>>, token: Issued<Terms<P>>): Set<CommandData>
@@ -5327,15 +5650,34 @@ -val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
fun generateCloseOutNetting(tx: TransactionBuilder, signer: PublicKey, vararg states: State<P>): Unit
+fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Terms<P>>>, changeKey: PublicKey, assetStates: List<StateAndRef<State<P>>>): PublicKey
fun generateIssue(tx: TransactionBuilder, obligor: Party, issuanceDef: Terms<P>, pennies: Long, beneficiary: PublicKey, notary: Party): Unit
fun generatePaymentNetting(tx: TransactionBuilder, issued: Issued<Terms<P>>, notary: Party, vararg states: State<P>): Unit
fun generateSetLifecycle(tx: TransactionBuilder, statesAndRefs: List<StateAndRef<State<P>>>, lifecycle: Lifecycle, notary: Party): Unit
fun generateSettle(tx: TransactionBuilder, statesAndRefs: Iterable<StateAndRef<State<P>>>, assetStatesAndRefs: Iterable<StateAndRef<FungibleAsset<P>>>, moveCommand: MoveCommand, notary: Party): Unit
val legalContractReference: SecureHash
-protected fun verifySetLifecycleCommand(inputs: List<FungibleAsset<Terms<P>>>, outputs: List<FungibleAsset<Terms<P>>>, tx: TransactionForContract, setLifecycleCommand: AuthenticatedObject<SetLifecycle>): Unit
+ + + +abstract class OnLedgerAsset<T : Any, S : FungibleAsset<T>> : ClauseVerifier
+ @@ -5382,6 +5724,20 @@ +object ParamsSpec
+ data class Party
    @@ -5941,52 +6297,6 @@
-class RecordingMap<K, V> : MutableMap<K, V>
- class ReferenceRate : FloatingRate
    @@ -6041,7 +6351,7 @@
-class ResolveTransactionsProtocol : ProtocolLogic<Unit>
+class ResolveTransactionsProtocol : ProtocolLogic<List<LedgerTransaction>>
    @@ -6064,7 +6374,7 @@
-fun call(): Unit
+fun call(): List<LedgerTransaction>
protected val topic: String
@@ -6315,7 +6625,6 @@ open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>
abstract val schedulerService: SchedulerService
abstract val storageService: StorageService
-open fun verifyTransaction(ltx: LedgerTransaction): Unit
abstract val walletService: WalletService
@@ -6392,15 +6701,13 @@ SignedTransaction(txBits: SerializedBytes<WireTransaction>, sigs: List<WithKey>)
-fun getMissingSignatures(): Set<PublicKey>
val id: SecureHash
operator fun plus(sig: WithKey): SignedTransaction
operator fun plus(sigList: Collection<WithKey>): SignedTransaction
val sigs: List<WithKey>
val tx: WireTransaction
val txBits: SerializedBytes<WireTransaction>
-fun verify(throwIfSignaturesAreMissing: Boolean = true): Set<PublicKey>
-fun verifySignatures(): Unit
+fun verifySignatures(throwIfSignaturesAreMissing: Boolean = true): Set<PublicKey>
fun withAdditionalSignature(sig: WithKey): SignedTransaction
fun withAdditionalSignatures(sigList: Iterable<WithKey>): SignedTransaction
@@ -6516,7 +6823,6 @@ val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
val extraNodeLabels: MutableMap<SimulatedNode, String>
open fun iterate(): MessageTransfer?
-val latencyInjector: LatencyCalculator?
val network: MockNetwork
val networkInitialisationFinished: <ERROR CLASS><out <ERROR CLASS>>
val networkMap: SimulatedNode
@@ -6524,7 +6830,6 @@ val notary: SimulatedNode
val ratesOracle: SimulatedNode
val regulators: List<SimulatedNode>
-val runAsync: Boolean
val serviceProviders: List<SimulatedNode>
protected fun showConsensusFor(nodes: List<SimulatedNode>): Unit
protected fun showProgressFor(nodes: List<SimulatedNode>): Unit
@@ -6739,8 +7044,6 @@ fun select(criteria: Criteria): Selection
-fun selectAllDeals(): Selection
-fun selectDeal(ref: String): Selection
@@ -6832,7 +7135,7 @@ -TestLedgerDSLInterpreter(identityService: IdentityService, storageService: StorageService)
+TestLedgerDSLInterpreter(services: ServiceHub)
class TypeMismatch : Exception
-data class TransactionForVerification
- class TransactionGraphSearch : Callable<List<WireTransaction>>
    @@ -7201,21 +7482,6 @@
-class TransactionGroup
- class TransactionResolutionException : Exception
@@ -7285,8 +7552,8 @@ -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
-fun verifyTransaction(tx: TransactionForVerification): Unit
+fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
+fun verifyTransaction(tx: LedgerTransaction): Unit
@@ -7312,17 +7579,17 @@ -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
-fun verifyTransaction(tx: TransactionForVerification): Unit
+fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
+fun verifyTransaction(tx: LedgerTransaction): Unit
open fun equals(other: Any?): Boolean
-abstract fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
+abstract fun getRequiredSigners(tx: LedgerTransaction): Set<PublicKey>
open fun hashCode(): <ERROR CLASS>
-fun verify(tx: TransactionForVerification): Unit
-fun verifySigners(tx: TransactionForVerification): Set<PublicKey>
-abstract fun verifyTransaction(tx: TransactionForVerification): Unit
+fun verify(tx: LedgerTransaction): Unit
+fun verifySigners(tx: LedgerTransaction): Set<PublicKey>
+abstract fun verifyTransaction(tx: LedgerTransaction): Unit
@@ -7342,7 +7609,7 @@ -ContractRejection(tx: TransactionForVerification, contract: Contract, cause: Throwable?)
+ContractRejection(tx: LedgerTransaction, contract: Contract, cause: Throwable?)
val contract: Contract
@@ -7355,7 +7622,7 @@ -InvalidNotaryChange(tx: TransactionForVerification)
+InvalidNotaryChange(tx: LedgerTransaction)
@@ -7367,7 +7634,7 @@ -MoreThanOneNotary(tx: TransactionForVerification)
+MoreThanOneNotary(tx: LedgerTransaction)
@@ -7379,13 +7646,13 @@ -SignersMissing(tx: TransactionForVerification, missing: List<PublicKey>)
+SignersMissing(tx: LedgerTransaction, missing: List<PublicKey>)
val missing: List<PublicKey>
fun toString(): String
-val tx: TransactionForVerification
+val tx: LedgerTransaction
@@ -7558,7 +7825,7 @@ -class Instigator<T : DealState> : Primary<T>
+class Instigator<out T : DealState> : Primary<T>
@@ -8071,6 +8338,7 @@ fun addWhitelistEntries(serverNames: List<String>): Unit
fun addWhitelistEntry(serverName: String): Unit
val originalTrustProviderAlgorithm: String
+fun register(): Unit
val whitelist: Set<String>
@@ -8255,6 +8523,7 @@ +fun PublicKey.toBase58String(): <ERROR CLASS>
fun PublicKey.toStringShort(): String
fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit
@@ -8367,6 +8636,7 @@ val Int.DOLLARS: Amount<Currency>
+val Int.FCOJ: Amount<Commodity>
val Int.POUNDS: Amount<Currency>
val Int.SWISS_FRANCS: Amount<Currency>
@@ -8381,6 +8651,7 @@ val Int.bd: BigDecimal
+infix fun Int.checkedAdd(b: Int): Int
val Int.days: Duration
val Int.hours: Duration
val Int.minutes: Duration
@@ -8411,6 +8682,7 @@ val Long.bd: BigDecimal
+infix fun Long.checkedAdd(b: Long): Long
@@ -8468,6 +8740,18 @@ +kotlin.collections.Iterable
+ kotlin.collections.Iterable
-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<CommandData>>
fun generateIssue(issuance: PartyAndReference, faceValue: Amount<Issued<Currency>>, maturityDate: Instant, notary: Party): TransactionBuilder
fun generateMove(tx: TransactionBuilder, paper: StateAndRef<State>, newOwner: PublicKey): Unit
@@ -8972,7 +9259,7 @@ Agree()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -8986,7 +9273,7 @@ Fix()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -9000,7 +9287,7 @@ Group()
-val clauses: List<GroupClause<State, String>>
+val clauses: <ERROR CLASS>
fun extractGroups(tx: TransactionForContract): List<InOutGroup<State, String>>
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
@@ -9016,7 +9303,7 @@ Mature()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -9030,7 +9317,7 @@ Pay()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State>, outputs: List<State>, commands: Collection<AuthenticatedObject<CommandData>>, token: String): Set<CommandData>
@@ -9046,7 +9333,7 @@ Timestamped()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, commands: Collection<AuthenticatedObject<CommandData>>): Set<CommandData>
@@ -9239,7 +9526,7 @@ fun nextScheduledActivity(thisStateRef: StateRef, protocolLogicRefFactory: ProtocolLogicRefFactory): ScheduledActivity?
val participants: List<PublicKey>
val parties: Array<Party>
-fun prettyPrint(): String
+fun prettyPrint(): <ERROR CLASS>
val ref: String
val thread: <ERROR CLASS>
fun withPublicKey(before: Party, after: PublicKey): DealState
@@ -9250,7 +9537,7 @@ fun extractCommands(tx: TransactionForContract): Collection<AuthenticatedObject<CommandData>>
fun generateAgreement(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common, notary: Party): TransactionBuilder
fun generateFix(tx: TransactionBuilder, irs: StateAndRef<State>, fixing: Fix): Unit
-val legalContractReference: SecureHash
+val legalContractReference: <ERROR CLASS>
@@ -9412,7 +9699,8 @@ val Amount<Currency>.CASH: State
val CASH_PROGRAM_ID: Cash
-class Cash : ClauseVerifier
+val COMMODITY_PROGRAM_ID: CommodityContract
+class Cash : OnLedgerAsset<Currency, State>
@@ -9536,27 +9824,176 @@ val amount: Amount<Issued<Currency>>
val contract: Cash
val deposit: PartyAndReference
-val exitKeys: Collection<PublicKey>
+val exitKeys: <ERROR CLASS>
val issuanceDef: Issued<Currency>
fun move(newAmount: Amount<Issued<Currency>>, newOwner: PublicKey): FungibleAsset<Currency>
val owner: PublicKey
-val participants: List<PublicKey>
+val participants: <ERROR CLASS>
fun toString(): String
fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>
-val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
+val conserveClause: AbstractConserveAmount<State, Currency>
+fun deriveState(txState: TransactionState<State>, amount: Amount<Issued<Currency>>, owner: PublicKey): TransactionState<State>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
-fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Currency>>, changeKey: PublicKey, cashStates: List<StateAndRef<State>>): PublicKey
+fun generateExitCommand(amount: Amount<Issued<Currency>>): Exit
fun generateIssue(tx: TransactionBuilder, tokenDef: Issued<Currency>, pennies: Long, owner: PublicKey, notary: Party): Unit
fun generateIssue(tx: TransactionBuilder, amount: Amount<Issued<Currency>>, owner: PublicKey, notary: Party): Unit
-fun generateSpend(tx: TransactionBuilder, amount: Amount<Issued<Currency>>, to: PublicKey, cashStates: List<StateAndRef<State>>): List<PublicKey>
-fun generateSpend(tx: TransactionBuilder, amount: Amount<Currency>, to: PublicKey, cashStates: List<StateAndRef<State>>, onlyFromParties: Set<Party>? = null): List<PublicKey>
+fun generateIssueCommand(): Issue
+fun generateMoveCommand(): Move
val legalContractReference: SecureHash
+class CommodityContract : OnLedgerAsset<Commodity, State>
+ val DUMMY_CASH_ISSUER: <ERROR CLASS>
val DUMMY_CASH_ISSUER_KEY: <ERROR CLASS>
interface FungibleAsset<T> : OwnableState
@@ -9609,8 +10046,9 @@ -InsufficientBalanceException(amountMissing: Amount<Currency>)
-val amountMissing: Amount<Currency>
+InsufficientBalanceException(amountMissing: Amount<*>)
+val amountMissing: Amount<*>
+fun toString(): String
@@ -9655,7 +10093,7 @@ Group()
-val clauses: List<GroupClause<State<P>, Issued<Terms<P>>>>
+val clauses: <ERROR CLASS>
fun extractGroups(tx: TransactionForContract): List<InOutGroup<State<P>, Issued<Terms<P>>>>
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
@@ -9671,7 +10109,7 @@ Issue()
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
@@ -9698,7 +10136,7 @@ SetLifecycle()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State<P>>, outputs: List<State<P>>, commands: Collection<AuthenticatedObject<CommandData>>, token: Issued<Terms<P>>): Set<CommandData>
@@ -9714,7 +10152,7 @@ Settle()
val ifMatched: MatchBehaviour
val ifNotMatched: MatchBehaviour
-val requiredCommands: Set<Class<out CommandData>>
+val requiredCommands: <ERROR CLASS>
fun verify(tx: TransactionForContract, inputs: List<State<P>>, outputs: List<State<P>>, commands: Collection<AuthenticatedObject<CommandData>>, token: Issued<Terms<P>>): Set<CommandData>
@@ -9891,15 +10329,34 @@ -val clauses: List<SingleClause>
+val clauses: <ERROR CLASS>
fun extractCommands(tx: TransactionForContract): List<AuthenticatedObject<Commands>>
fun generateCloseOutNetting(tx: TransactionBuilder, signer: PublicKey, vararg states: State<P>): Unit
+fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<Terms<P>>>, changeKey: PublicKey, assetStates: List<StateAndRef<State<P>>>): PublicKey
fun generateIssue(tx: TransactionBuilder, obligor: Party, issuanceDef: Terms<P>, pennies: Long, beneficiary: PublicKey, notary: Party): Unit
fun generatePaymentNetting(tx: TransactionBuilder, issued: Issued<Terms<P>>, notary: Party, vararg states: State<P>): Unit
fun generateSetLifecycle(tx: TransactionBuilder, statesAndRefs: List<StateAndRef<State<P>>>, lifecycle: Lifecycle, notary: Party): Unit
fun generateSettle(tx: TransactionBuilder, statesAndRefs: Iterable<StateAndRef<State<P>>>, assetStatesAndRefs: Iterable<StateAndRef<FungibleAsset<P>>>, moveCommand: MoveCommand, notary: Party): Unit
val legalContractReference: SecureHash
-protected fun verifySetLifecycleCommand(inputs: List<FungibleAsset<Terms<P>>>, outputs: List<FungibleAsset<Terms<P>>>, tx: TransactionForContract, setLifecycleCommand: AuthenticatedObject<SetLifecycle>): Unit
+ + + +abstract class OnLedgerAsset<T : Any, S : FungibleAsset<T>> : ClauseVerifier
+ @@ -9922,10 +10379,13 @@ -fun Iterable<ContractState>.sumCash(): <ERROR CLASS>
-fun Iterable<ContractState>.sumCashBy(owner: PublicKey): <ERROR CLASS>
-fun Iterable<ContractState>.sumCashOrNull(): <ERROR CLASS>
-fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): <ERROR CLASS>
+fun Iterable<ContractState>.sumCash(): Amount<Issued<Currency>>
+fun Iterable<ContractState>.sumCashBy(owner: PublicKey): Amount<Issued<Currency>>
+fun Iterable<ContractState>.sumCashOrNull(): Amount<Issued<Currency>>?
+fun Iterable<ContractState>.sumCashOrZero(currency: Issued<Currency>): Amount<Issued<Currency>>
+fun Iterable<ContractState>.sumCommodities(): <ERROR CLASS>
+fun Iterable<ContractState>.sumCommoditiesOrNull(): <ERROR CLASS>
+fun Iterable<ContractState>.sumCommoditiesOrZero(currency: Issued<Commodity>): <ERROR CLASS>
fun <T> Iterable<ContractState>.sumFungibleOrNull(): <ERROR CLASS>
fun <T> Iterable<ContractState>.sumFungibleOrZero(token: Issued<T>): <ERROR CLASS>
fun <P> Iterable<ContractState>.sumObligations(): Amount<Issued<Terms<P>>>
@@ -9962,6 +10422,8 @@ AbstractConserveAmount()
+fun generateExit(tx: TransactionBuilder, amountIssued: Amount<Issued<T>>, changeKey: PublicKey, assetStates: List<StateAndRef<S>>, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateExitCommand: (Amount<Issued<T>>) -> CommandData): PublicKey
+fun generateSpend(tx: TransactionBuilder, amount: Amount<T>, to: PublicKey, assetsStates: List<StateAndRef<S>>, onlyFromParties: Set<Party>? = null, deriveState: (TransactionState<S>, Amount<Issued<T>>, PublicKey) -> TransactionState<S>, generateMoveCommand: () -> CommandData): List<PublicKey>
open val ifMatched: MatchBehaviour
open val ifNotMatched: MatchBehaviour
open val requiredCommands: Set<Class<out CommandData>>
@@ -9969,7 +10431,7 @@ -abstract class AbstractIssue<S : ContractState, T : Any> : GroupClause<S, Issued<T>>
+abstract class AbstractIssue<in S : ContractState, T : Any> : GroupClause<S, Issued<T>>
    @@ -10042,7 +10504,7 @@
-open class NoZeroSizedOutputs<S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>
+open class NoZeroSizedOutputs<in S : FungibleAsset<T>, T : Any> : GroupClause<S, Issued<T>>
@@ -10171,6 +10633,7 @@ val Int.bd: BigDecimal
+infix fun Int.checkedAdd(b: Int): Int
val Int.days: Duration
val Int.hours: Duration
val Int.minutes: Duration
@@ -10187,6 +10650,7 @@ val Long.bd: BigDecimal
+infix fun Long.checkedAdd(b: Long): Long
@@ -10346,7 +10810,6 @@ open fun applyRollConvention(testDate: LocalDate, dateRollConvention: DateRollConvention): LocalDate
-val calendars: Array<out String>
val calendars: <ERROR CLASS>
fun createGenericSchedule(startDate: LocalDate, period: Frequency, calendar: BusinessCalendar = getInstance(), dateRollConvention: DateRollConvention = DateRollConvention.Following, noOfAdditionalPeriods: Int = Integer.MAX_VALUE, endDate: LocalDate? = null, periodOffset: Int? = null): List<LocalDate>
open fun equals(other: Any?): Boolean
@@ -10378,6 +10841,23 @@ interface CommandData
+data class Commodity
+ interface Contract
    @@ -10707,6 +11187,8 @@
+val FCOJ: Commodity
+fun FCOJ(amount: Int): Amount<Commodity>
data class Fix : CommandData
@@ -10882,15 +11365,17 @@ -LedgerTransaction(inputs: List<StateRef>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)
+LedgerTransaction(inputs: List<StateAndRef<*>>, outputs: List<TransactionState<*>>, commands: List<AuthenticatedObject<CommandData>>, attachments: List<Attachment>, id: SecureHash, signers: List<PublicKey>, type: TransactionType)
val attachments: List<Attachment>
val commands: List<AuthenticatedObject<CommandData>>
val id: SecureHash
-val inputs: List<StateRef>
+val inputs: List<StateAndRef<*>>
fun <T : ContractState> outRef(index: Int): StateAndRef<T>
val outputs: List<TransactionState<*>>
val signers: List<PublicKey>
+fun toTransactionForContract(): TransactionForContract
val type: TransactionType
+fun verify(): Unit
@@ -10919,7 +11404,7 @@ -interface MultilateralNettableState<T : Any>
+interface MultilateralNettableState<out T : Any>
-data class TransactionForVerification
- class TransactionGraphSearch : Callable<List<WireTransaction>>
    @@ -11318,21 +11776,6 @@
-class TransactionGroup
- class TransactionResolutionException : Exception
@@ -11390,8 +11834,8 @@ -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
-fun verifyTransaction(tx: TransactionForVerification): Unit
+fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
+fun verifyTransaction(tx: LedgerTransaction): Unit
@@ -11417,17 +11861,17 @@ -fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
-fun verifyTransaction(tx: TransactionForVerification): Unit
+fun getRequiredSigners(tx: LedgerTransaction): <ERROR CLASS>
+fun verifyTransaction(tx: LedgerTransaction): Unit
open fun equals(other: Any?): Boolean
-abstract fun getRequiredSigners(tx: TransactionForVerification): Set<PublicKey>
+abstract fun getRequiredSigners(tx: LedgerTransaction): Set<PublicKey>
open fun hashCode(): <ERROR CLASS>
-fun verify(tx: TransactionForVerification): Unit
-fun verifySigners(tx: TransactionForVerification): Set<PublicKey>
-abstract fun verifyTransaction(tx: TransactionForVerification): Unit
+fun verify(tx: LedgerTransaction): Unit
+fun verifySigners(tx: LedgerTransaction): Set<PublicKey>
+abstract fun verifyTransaction(tx: LedgerTransaction): Unit
@@ -11447,7 +11891,7 @@ -ContractRejection(tx: TransactionForVerification, contract: Contract, cause: Throwable?)
+ContractRejection(tx: LedgerTransaction, contract: Contract, cause: Throwable?)
val contract: Contract
@@ -11460,7 +11904,7 @@ -InvalidNotaryChange(tx: TransactionForVerification)
+InvalidNotaryChange(tx: LedgerTransaction)
@@ -11472,7 +11916,7 @@ -MoreThanOneNotary(tx: TransactionForVerification)
+MoreThanOneNotary(tx: LedgerTransaction)
@@ -11484,13 +11928,13 @@ -SignersMissing(tx: TransactionForVerification, missing: List<PublicKey>)
+SignersMissing(tx: LedgerTransaction, missing: List<PublicKey>)
val missing: List<PublicKey>
fun toString(): String
-val tx: TransactionForVerification
+val tx: LedgerTransaction
@@ -11534,9 +11978,12 @@ fun calculateDaysBetween(startDate: LocalDate, endDate: LocalDate, dcbYear: DayCountBasisYear, dcbDay: DayCountBasisDay): Int
+fun commodity(code: String): Commodity
fun currency(code: String): Currency
fun ContractState.hash(): SecureHash
+infix fun Commodity.issued by(deposit: PartyAndReference): Issued<Commodity>
infix fun Amount<Currency>.issued by(deposit: PartyAndReference): Amount<Issued<Currency>>
+infix fun Commodity.issuedBy(deposit: PartyAndReference): Issued<Commodity>
infix fun Amount<Currency>.issuedBy(deposit: PartyAndReference): Amount<Issued<Currency>>
java.time.LocalDate
inline fun <R> requireThat(body: Requirements.() -> R): R
-fun WireTransaction.toLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction
+fun WireTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction
+fun SignedTransaction.toLedgerTransaction(services: ServiceHub): LedgerTransaction
inline fun <reified T : MoveCommand> verifyMoveCommand(inputs: List<OwnableState>, tx: TransactionForContract): MoveCommand
inline fun <reified T : MoveCommand> verifyMoveCommand(inputs: List<OwnableState>, commands: List<AuthenticatedObject<CommandData>>): MoveCommand
-fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction
infix fun <T : ContractState> T.with notary(newNotary: Party): TransactionState<T>
infix fun <T : ContractState> T.withNotary(newNotary: Party): TransactionState<T>
+fun <T> Amount<Issued<T>>.withoutIssuer(): Amount<T>
@@ -11679,7 +12128,7 @@ -interface GroupClause<S : ContractState, T : Any> : Clause, GroupVerify<S, T>
+interface GroupClause<in S : ContractState, in T : Any> : Clause, GroupVerify<S, T>
abstract class GroupClauseVerifier<S : ContractState, T : Any> : SingleClause
@@ -11843,6 +12291,7 @@ +object NullSignature : WithKey
data class Party
+val ed25519Curve: <ERROR CLASS>
+fun entropyToKeyPair(entropy: BigInteger): KeyPair
fun generateKeyPair(): KeyPair
java.security.KeyPair
+kotlin.collections.Iterable
+ fun newSecureRandom(): SecureRandom
+fun parsePublicKeyBase58(base58String: String): <ERROR CLASS>
fun registerWhitelistTrustManager(): Unit
fun OpaqueBytes.sha256(): SHA256
@@ -12358,7 +12824,6 @@ open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>
abstract val schedulerService: SchedulerService
abstract val storageService: StorageService
-open fun verifyTransaction(ltx: LedgerTransaction): Unit
abstract val walletService: WalletService
@@ -12463,8 +12928,36 @@ +data class MapChange
+ +enum class MapChangeType
+ abstract fun addMapService(net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int? = null): <ERROR CLASS><Unit>
abstract fun addNode(node: NodeInfo): Unit
+abstract val changed: <ERROR CLASS><MapChange>
abstract fun deregisterForUpdates(net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>
abstract fun get(): Collection<NodeInfo>
abstract fun get(serviceType: ServiceType): Collection<NodeInfo>
@@ -12737,6 +13230,29 @@ +open class MockServices : ServiceHub
+ class MockStorageService : SingletonSerializeAsToken, TxWritableStorageService
-class RecordingMap<K, V> : MutableMap<K, V>
- data class TimeWindow
    @@ -14270,6 +14739,33 @@
+package com.r3corda.node
+ package com.r3corda.node.api
    @@ -14419,8 +14915,6 @@
fun select(criteria: Criteria): Selection
-fun selectAllDeals(): Selection
-fun selectDeal(ref: String): Selection
@@ -14553,10 +15047,12 @@ -Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock())
+Node(dir: Path, p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)
val DEFAULT_PORT: Int
protected val log: <ERROR CLASS>
protected fun makeMessagingService(): MessagingServiceInternal
+var messageBroker: ArtemisMessagingServer?
+val messagingServerAddr: <ERROR CLASS>?
val p2pAddr: <ERROR CLASS>
protected val serverThread: ServiceAffinityExecutor
fun setup(): Node
@@ -14762,7 +15258,6 @@ val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
val extraNodeLabels: MutableMap<SimulatedNode, String>
open fun iterate(): MessageTransfer?
-val latencyInjector: LatencyCalculator?
val network: MockNetwork
val networkInitialisationFinished: <ERROR CLASS><out <ERROR CLASS>>
val networkMap: SimulatedNode
@@ -14770,7 +15265,6 @@ val notary: SimulatedNode
val ratesOracle: SimulatedNode
val regulators: List<SimulatedNode>
-val runAsync: Boolean
val serviceProviders: List<SimulatedNode>
protected fun showConsensusFor(nodes: List<SimulatedNode>): Unit
protected fun showProgressFor(nodes: List<SimulatedNode>): Unit
@@ -14988,7 +15482,6 @@ -abstract fun registerTrustedAddress(address: SingleMessageRecipient): Unit
abstract fun stop(): Unit
@@ -15100,7 +15593,6 @@ FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
val factory: InterpolatorFactory
-val fixes: List<Fix>
operator fun get(fixOf: FixOf): Fix?
val size: Int
@@ -15119,7 +15611,6 @@ val date: LocalDate
val factory: InterpolatorFactory
fun getRate(tenor: Tenor): BigDecimal?
-val inputRates: Map<Tenor, BigDecimal>
val size: Int
@@ -15203,6 +15694,47 @@ +class FullNodeConfiguration : NodeConfiguration
+ +class NameServiceConfig
+ interface NodeConfiguration
    @@ -15237,7 +15769,7 @@
-operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS>
+operator fun <T> <ERROR CLASS>.getValue(receiver: Any, metadata: KProperty<*>): T
@@ -15338,7 +15870,7 @@ -class ArtemisMessagingService : SingletonSerializeAsToken, MessagingServiceInternal
+class ArtemisMessagingClient : ArtemisMessagingComponent, MessagingServiceInternal
+abstract class ArtemisMessagingComponent : SingletonSerializeAsToken
+ +class ArtemisMessagingServer : ArtemisMessagingComponent
+ @@ -15462,32 +16050,14 @@ -protected inner class InnerState
- fun addMessageHandler(topic: String, sessionID: Long, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
fun addMessageHandler(topicSession: TopicSession, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
-protected val backgroundThread: Nothing?
fun createMessage(topic: String, sessionID: Long, data: ByteArray): Message
fun createMessage(topicSession: TopicSession, data: ByteArray): Message
val myAddress: SingleMessageRecipient
fun pumpReceive(block: Boolean): MessageTransfer?
-fun registerTrustedAddress(address: SingleMessageRecipient): Unit
fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
-protected var running: Boolean
fun send(message: Message, target: MessageRecipients): Unit
-protected val state: ThreadBox<InnerState>
fun stop(): Unit
@@ -15543,16 +16113,16 @@ -InMemoryNetworkMapCache(netInternal: MessagingServiceInternal?)
+InMemoryNetworkMapCache()
open fun addMapService(net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int?): <ERROR CLASS><Unit>
open fun addNode(node: NodeInfo): Unit
+open val changed: <ERROR CLASS><MapChange>
open fun deregisterForUpdates(net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>
open fun get(): <ERROR CLASS>
open fun get(serviceType: ServiceType): <ERROR CLASS>
open fun getNodeByLegalName(name: String): <ERROR CLASS>
open fun getNodeByPublicKey(publicKey: PublicKey): <ERROR CLASS>
open fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?
-val netInternal: MessagingServiceInternal?
open val networkMapNodes: List<NodeInfo>
open val notaryNodes: List<NodeInfo>
open val partyNodes: List<NodeInfo>
@@ -15610,6 +16180,7 @@ fun addRegistration(node: NodeInfo): Unit
+val changed: <ERROR CLASS><MapChange>
fun deleteRegistration(identity: Party): Boolean
@@ -15935,7 +16506,20 @@ +class TransactionRejectedError : Exception
+ val logger: <ERROR CLASS>
+fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): <ERROR CLASS><Unit>
val services: ServiceHubInternal
val storage: StorageService
@@ -15973,7 +16557,6 @@ var checkAttachmentsOnLoad: Boolean
val dataTypePrefix: String
fun importAttachment(jar: InputStream): SecureHash
-val metrics: <ERROR CLASS>
fun openAttachment(id: SecureHash): Attachment?
val storePath: Path
fun upload(data: InputStream): <ERROR CLASS>
@@ -16421,7 +17004,7 @@ -class FiberBox<T>
+class FiberBox<out T>
-class Instigator<T : DealState> : Primary<T>
+class Instigator<out T : DealState> : Primary<T>
diff --git a/docs/build/html/api/index.html b/docs/build/html/api/index.html index cf25cbed6c..66399e3f3d 100644 --- a/docs/build/html/api/index.html +++ b/docs/build/html/api/index.html @@ -137,6 +137,12 @@ +com.r3corda.node + + + + + com.r3corda.node.api diff --git a/docs/build/html/building-the-docs.html b/docs/build/html/building-the-docs.html index 50d67c481c..897ffd6a19 100644 --- a/docs/build/html/building-the-docs.html +++ b/docs/build/html/building-the-docs.html @@ -94,7 +94,11 @@
  • Networking and messaging
  • Running the demos
  • Node administration
  • -
  • The Interest Rate Swap Contract
  • + +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

      @@ -187,8 +191,8 @@ consume/destroy, these are called inputs, and contains a set of contract code file, which is a program expressed in JVM byte code that runs sandboxed inside a Java virtual machine. Contract code (or just “contracts” in the rest of this document) are globally shared pieces of business logic.

      Contracts define a verify function, which is a pure function given the entire transaction as input. To be considered -valid, the transaction must be accepted by the verify function of every contract pointed to by the -input and output states.

      +valid, the transaction must be accepted by the verify function of every contract pointed to by the input and output +states.

      Beyond inputs and outputs, transactions may also contain commands, small data packets that the platform does not interpret itself, but which can parameterise execution of the contracts. They can be thought of as arguments to the verify function. Each command has a list of public keys associated with it. The platform ensures diff --git a/docs/build/html/event-scheduling.html b/docs/build/html/event-scheduling.html index 8f221062ea..ae8ae72d1c 100644 --- a/docs/build/html/event-scheduling.html +++ b/docs/build/html/event-scheduling.html @@ -95,7 +95,11 @@

    • Networking and messaging
    • Running the demos
    • Node administration
    • -
    • The Interest Rate Swap Contract
    • +
    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

      @@ -228,7 +232,7 @@ the issuing party after a certain time. Commercial paper states define the face at which they may be redeemed. The contract allows the paper to be issued, traded and redeemed. The commercial paper contract is implemented twice, once in Java and once in a language called Kotlin.

      InterestRateSwap implements a vanilla OTC same currency bilateral fixed / floating leg swap. For further details, -see The Interest Rate Swap Contract

      +see irs

      Obligation implements a bilaterally or multi-laterally nettable, fungible obligation that can default.

      Each contract comes with unit tests.

      diff --git a/docs/build/html/messaging.html b/docs/build/html/messaging.html index 6e02234002..3d5eb87b77 100644 --- a/docs/build/html/messaging.html +++ b/docs/build/html/messaging.html @@ -101,7 +101,11 @@
    • Running the demos
    • Node administration
    • -
    • The Interest Rate Swap Contract
    • +
    +

    Contracts

    +

    Tutorials

      diff --git a/docs/build/html/node-administration.html b/docs/build/html/node-administration.html index 2c7395a180..308dbe118a 100644 --- a/docs/build/html/node-administration.html +++ b/docs/build/html/node-administration.html @@ -31,7 +31,7 @@ - + @@ -100,7 +100,11 @@
    • Uploading interest rate fixes
    -
  • The Interest Rate Swap Contract
  • + +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

      @@ -172,6 +177,7 @@ so far. We have:

      how this works in Protocol state machines.
    • The IRS demo, which shows two nodes establishing an interest rate swap between them and performing fixings with a rates oracle, all driven via the HTTP API.
    • +
    • The IRS demo web interface - a web interface to the IRS demo.
    • The demos create node data directories in the root of the project. If something goes wrong with them, blow away the directories and try again.

      @@ -193,7 +199,7 @@ beforehand with the same parameters you plan to supply to the respective nodes.<

      Other:

      -
      Other: ./gradlew installDist && ./build/install/r3prototyping/bin/trader-demo --role=BUYER
      +
      ./gradlew installDist && ./build/install/r3prototyping/bin/trader-demo --role=BUYER
       

      It will compile things, if necessary, then create a directory named trader-demo/buyer with a bunch of files inside and @@ -253,6 +259,50 @@ can see the other terminals whilst you run this command!:

      +
      +

      IRS web demoΒΆ

      +

      To install the web demo please follow these steps;

      +
        +
      1. Install Node: https://nodejs.org/en/download/ and ensure the npm executable is on your classpath
      2. +
      3. Open a terminal
      4. +
      5. Run npm install -g bower or sudo npm install -g bower if on a *nix system.
      6. +
      7. In the terminal navigate to <corda>/src/main/resources/com/r3corda/demos/irswebdemo
      8. +
      9. Run bower install
      10. +
      +

      To run the web demo, run the first two steps from the IRS Demo:

      +

      Open two terminals and in the first:

      +

      Windows:

      +
      gradlew.bat installDist & .\build\install\r3prototyping\bin\irsdemo.bat --role=NodeA
      +
      +
      +

      Other:

      +
      ./gradlew installDist && ./build/install/r3prototyping/bin/irsdemo --role=NodeA
      +
      +
      +

      And in the second run:

      +

      Windows:

      +
      .\build\install\r3prototyping\bin\irsdemo.bat --role=NodeB
      +
      +
      +

      Other:

      +
      ./build/install/r3prototyping/bin/irsdemo --role=NodeB
      +
      +
      +

      Now open your web browser to this URL:

      +
      +

      Note

      +

      If using a custom node port address or port those must be used instead.

      +
      +

      Node A:

      +
      +
      +

      Node B:

      +
      +
      +

      To use the demos click the “Create Deal” button, fill in the form, then click the “Submit” button. Now you will be +able to use the time controls at the top left of the home page to run the fixings. Click any individual trade in the +blotter to view it.

      +
      diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 12c3e78410..7a26fc66ac 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:47,filenames:["building-the-docs","codestyle","consensus","contract-catalogue","contract-irs","data-model","event-scheduling","getting-set-up","index","inthebox","messaging","node-administration","oracles","protocol-state-machines","release-notes","release-process","running-the-demos","transaction-data-types","tutorial-contract","tutorial-contract-clauses","tutorial-test-dsl","visualiser","where-to-start"],objects:{},objnames:{},objtypes:{},terms:{"0_xx":7,"1mb":13,"8u45":7,"_before_":13,"_do_":13,"_foo":1,"_is_":13,"_mbeans_":11,"abstract":[5,13,14,18,19],"boolean":[5,18],"break":[12,15,18],"byte":[1,5,9,13,20],"case":[1,2,5,10,12,13,14,17,18,19],"catch":[1,7,13],"class":13,"default":[1,3,7,9,13,14,16,18],"enum":14,"export":[11,13,22],"final":[2,4,5,7,10,13,18,19,20],"float":[3,4,6,9],"function":13,"import":[1,5,6,7,10,13,14,15,18,19,20,22],"instanceof":[18,19],"int":[1,2,18],"long":[1,3,5,6,10,13,18],"new":[1,2,4,5,7,8,9,10,11,13,14,15,18,19,20,22],"null":[6,12,18],"public":[1,5,9,10,11,12,13,17,18,19,20],"return":[1,2,4,6,10,11,12,13,14,18,19,20,22],"short":[6,10,15,18],"static":[5,12,13,18,20,22],"super":1,"switch":[9,13,14,18],"throw":[1,2,12,13,18,19],"transient":13,"true":[5,10,12,18,21],"try":[1,5,13,16,18,21,22],"var":18,"void":[18,20],"while":[17,18],abil:[5,10],abl:[2,5,10,12,14],abort:2,about:[],abov:[1,4,5,10,13,18,19,20],absolut:5,abstractnod:12,accept:[1,2,3,5,10,13,18],acceptablepric:13,access:[1,5,7,10,11,12,13,18],accid:13,accident:1,accompani:1,accord:22,accordingli:[10,19],account:[5,17],accrual:4,accur:12,accuraci:5,achiev:[2,5,10],ack:14,acknowledg:13,across:[3,5,13,14],act:[2,5,10,12,13],action:[6,18,22],activ:[4,6,16],actor:[1,5,13],actual:[4,7,10,12,13,18,20],adapt:[1,12,13],add:[1,10,11,13,17,18,19,20],addarg:18,addcommand:13,addinputst:[13,18],addit:[1,2,5,17,18],addition:[12,13,15],addmessagehandl:[10,14],addoutputst:[13,18],address:[2,5,10,13,18],adjust:[1,4,15,22],admin:7,administr:[],advanc:[3,4,8],advantag:5,adventur:22,advertis:12,advertisedservic:2,advic:15,affect:[7,12],affection:18,affinityexecutor:1,afraid:1,after:[2,3,4,5,6,7,9,12,13,18,19,21],again:[4,5,10,12,13,16,18],against:[4,5,6,13,18,19],agent:11,aggreg:[5,18,19],agre:[4,6,13],agreement:[4,5,17],ahead:13,aim:[1,5],albeit:14,albertsen:14,algorithm:[5,9,14,18,21],alic:[18,21],aliceaddr:10,alicegetsback:[18,21],alicenod:10,aliv:13,all:[0,1,2,3,4,5,7,10,11,12,13,14,15,16,18,19,22],allevi:2,allow:[1,2,3,4,5,6,9,12,13,17,18,20,22],allpossiblerecipi:10,almost:[13,18],along:[2,9,10,12,13,18],alreadi:[1,6,12,13,14,18,19,20],alright:13,also:[1,2,3,4,5,6,7,10,11,13,16,17,18,19,20,22],alt:18,alter:[13,18],altern:[0,1,11],although:[4,5,9,10,18,19,22],alwai:[1,5,6,11,13,18,19],amounnt:13,amount:13,amqp:[9,14],analysi:5,andresen:5,ani:[1,2,3,4,5,6,10,11,12,13,15,17,18,19,22],annot:[1,13,18],announc:15,anonym:5,anoth:[1,2,7,11,12,13,18,20],answer:[1,12],anticip:1,anybodi:5,anyon:[2,18],anyth:[2,5,10,12,13,18,19],anywher:[10,12,18],apach:[9,10],apart:2,api:13,app:[11,14,15,22],appear:18,append:11,appendix:8,appli:[1,3,4,5,18,19],applic:[5,12,19,22],applyfix:4,appoint:2,approach:[],appropri:[1,10,19],approv:[5,6,13],arbitrari:[1,5,12,13,18],arbitrarili:9,architectur:[8,12],area:[10,17],aren:[13,18,22],arg:[14,18,21],arguabl:12,argument:[1,5,10,13,18],aris:5,around:[5,10,12,13,14,15,17,18,21],arrai:[5,9,13],arrang:13,arraylist:19,arriv:[12,13],arrow:[4,7],artemi:9,articl:[2,5,6,10,12,13,22],artifact:18,ask:[1,13,18],aspect:[6,13,22],assembl:5,assemblesharedtx:13,asset:13,assetforsal:13,assetmismatchexcept:13,assettosel:13,assettypenam:13,assign:12,assist:[6,13,18,21],associ:[2,5,6,10,17,18],assum:[5,12,13,18],assumpt:13,atom:[5,12,13,16,18],attach:[],attack:2,attempt:[5,7,8,10,13],attent:13,attest:[2,12],attribut:1,audit:[5,13],authent:2,authenticatedobject:[17,18,19],author:[1,2,5,10,13,15,22],authoris:13,auto:[1,18],autom:[5,6,18,22],automat:[0,6,10,13,14,18,22],avail:[0,4,6,10,11,12,15,18],avoid:[1,5,13],awai:[5,13,16],awar:[1,13],awg:15,awkward:[1,13],axi:4,back:[1,5,12,13,17,18],backend:10,background:[1,5,10],backport:15,backtick:18,backward:[13,15],bad:[1,13,18,20],balanc:[2,3,5,18,20],banco:14,band:13,bandwidth:1,bank:[4,5,14,17,22],bankrupt:18,bankruptci:[5,12],barreca:14,barrel:14,base:[],basi:[4,6,11],basic:[],bat:16,bbva:14,bear:[13,18],beauti:21,becaus:[1,5,7,10,11,12,13,18,19,20],becom:[1,4,5,6,13,15],been:[2,4,5,7,12,13,14,15,18],befor:[2,4,5,6,9,12,13,14,15,17,18],beforehand:16,begin:[1,5,16,18,22],behav:18,behaviour:[2,11,19,20],behind:[13,18],believ:14,below:[1,4,5,6,13,22],beneficiari:3,benefit:[2,13,18],best:[1,16,22],bet:12,better:[1,8,9,14,18,21],between:[1,4,5,6,10,12,13,14,15,16,17,18],beyond:[5,18],big:[1,5,13,14,18],bigdecim:12,bilater:[3,4,9,14],bill:18,bin:16,binari:[5,12],bind:[2,5,12],bip:5,bit:[13,18,20,21,22],bitbucket:7,bitcoinj:13,blah:1,blank:[1,18],block:[1,2,5,8,10,12,13,14,18],blockchain:[5,9,13],bloom:1,bloomfilt:1,blow:16,blue:[4,21],bob:18,bobaddr:10,bobnod:10,bodi:1,boil:5,bond:18,bookkeep:[9,18],boost:9,borrow:21,both:[2,3,4,5,9,10,12,13,16,18],bottom:13,bound:[12,13],box:[9,22],branch:15,breach:5,bread:22,breadth:13,breviti:19,brief:14,briefli:[10,21],bring:5,broadcast:[5,10],broke:1,broken:18,bug:[1,14,15],bugfix:15,bui:[13,22],builder:[14,18],built:[13,18],bulk:[5,19],bullet:1,bunch:[16,18],bundl:5,busi:[5,6,9,10,12,13,17,18,22],businesscalendar:17,butter:22,buyer:[],buyersessionid:13,bytearrai:10,bytecod:[5,13,18],cach:10,calcul:[4,6,13,17,18],calendar:[4,12,17],calibr:5,call:[1,2,4,5,9,10,11,13,14,15,18,20],callback:[1,10,13],caller:[2,18],came:13,camel:1,can:[0,1,2,3,4,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,22],cannot:[2,3,5,7,12,14,18],capabl:18,capit:1,capitan:0,captur:6,cardon:14,care:[1,5,10,12,13,20],carefulli:9,cash:13,cashkt:18,cashsigningpubkei:13,cashstat:13,caus:[1,18],center:18,certain:[1,9,14,18],certainti:2,cev:7,chain:13,chaincash:20,chaincashdoublespend:20,chaincashdoublespendfailswith:20,challeng:5,chanc:[1,13],chang:[],changenotari:2,channel:13,charact:1,charg:12,check:13,checkabl:12,checkdepend:13,checksufficientsignatur:13,chf:17,child:13,children:13,childrenfor:13,choic:[1,2,5],choos:[2,7,18],chosen:[2,5],chronolog:6,chunk:[18,22],circl:21,claim:[5,9,18],clash:1,claus:[],clauseverifi:[18,19],clean:[13,14],cleanup:14,clear:[13,17],clearer:[10,13],clearli:1,click:[7,21],client:[2,11,12],clock:[6,12,16],clone:[1,7],close:[3,12],closer:2,closur:[1,20],cloud:11,cluster:2,cmd:[18,19],coars:5,code:[],codebas:[1,18],cognit:5,coin:5,collabor:14,colleagu:1,collect:[1,11,14,19],collector:[1,11,13,19],collis:1,colour:16,column:11,com:[0,7,14,19,20],combin:[5,8,18,19],come:[5,9,13,14,15],command:13,commanddata:[12,19],commerci:13,commercial_pap:[18,19],commercialpap:[3,9,18,19,21],commercialpaperlegaci:18,commercialpapertest:[18,21],commit:[2,13,15],commod:17,common:[4,5,13,14,17,18,20],commonleg:4,commonli:18,commun:[7,14],compani:12,companion:[13,18,19],compar:[5,10],compat:15,compel:2,complementari:6,complet:[5,6,10,13,14,16,18,19,20],complex:[1,3,5,17,18],complic:[13,18],compon:[6,10,14],compos:[13,14,17,18,19],compris:4,comput:[4,12,13],concept:[2,5,6,12,13,14,18],conceptu:13,concern:[5,13,18],conclus:[5,12],concurrenthashmap:1,condit:[2,12,13,20],config:11,configur:[7,11,13,16],confirm:[2,7,10],conflict:[2,5,8],confus:13,connect:[11,18],consid:[1,4,5,12,14,15,18],consist:[4,5,13,14,19],constant:[1,18],constantli:12,constraint:12,construct:[1,2,10,12,13,14,18,20,22],constructor:[6,12,18],consult:12,consum:[2,5,6,14],consumingtx:2,consumpt:[6,12],contact:[7,13],contain:[2,4,5,10,11,12,13,15,16,17,18,19,20,22],content:[1,2,5,6,7,10,11,12,18],context:[1,5,11,12,17],continu:[],contract:[],contractreject:20,contractst:[2,6,14,17,18,21],contractstateref:18,contrast:[5,12,13],control:[1,2,5,7,11,13,14,18,22],conveni:[1,5,18],convent:[4,13,19],convers:17,convert:[3,4,17,18],convinc:13,copi:[1,5,10,13,18,20,22],copyonwritearraylist:1,copyright:1,corda:[],cordapp:14,core:[3,10,14,17,18,19,20],corner:7,correct:[2,3,5,14,15,18,20],correctli:[5,12,14,18],correspond:18,correspondingli:1,cost:[12,18],could:[1,2,3,5,12,13,17,18],count:4,countabl:14,counter:[1,13],counterparti:[3,4],countri:[12,17],coupl:[12,13],cours:[11,12,18,22],cover:[2,3,5,12,13,17,18,22],cp_program_id:18,creat:[],createdummyir:4,createmessag:10,creation:[4,5,8,18],creator:12,credit:14,crisp:18,criteria:3,critic:[5,15],crop:5,curl:11,currenc:[3,4,9,14,17,18],current:[1,2,4,5,6,9,10,12,13,14,15,17,18,20,21],currentwallet:13,curv:4,custom:[2,11,14,16,17],customis:22,cut:[],cycl:1,dai:[4,6,11,12,15,17,18,21],daniel:14,danks:14,dashboard:11,data:[],databas:[5,9,13],dataset:4,date:[],dateoffset:14,daterollconvent:17,david:14,deadlin:17,deal:[1,12,16,17],dealstat:17,debt:3,debug:13,decd098666b9657314870e192ced0c3519c2c9d395507a238338f8d003929de9:11,decd:11,decentralis:12,decid:[7,12,18],decis:[2,5],declar:[1,10,18,20],dedic:1,defin:[1,2,5,9,10,11,12,13,14,17,18,19,20,21,22],definit:[2,13,17,18,19],delai:[4,12],delet:[1,5,13,14,18],deliber:[5,20],deliv:[3,10,17],deliveri:[9,10,13,16,18],demand:[5,17],demo:[],demonstr:[14,16,22],denial:2,denomin:9,dens:1,depend:[1,2,5,6,7,12,13,14,18,19],dependencytxid:13,deposit:[9,18,20],depth:18,deregist:10,deriv:[4,13,18],describ:[1,2,5,6,8,13,17,18],descript:1,deserv:15,design:[1,2,5,8,9,12,18,19,22],desir:[13,17,18],desktop:11,despit:[13,18],destin:10,destroi:[3,5,18],destroypaperatredempt:[18,21],destructur:18,detail:[],detect:1,determin:[3,4,6],develop:[1,5,9,10,13,14,15,16,18],devic:5,devis:5,diagram:[4,21],diamond:21,didn:[1,13,15,18],differ:[1,3,4,5,6,12,13,14,17,18,19,20],difficult:[10,13],digest:2,digit:[5,12,13,14,18],digitalsignatur:[2,12,13],direct:1,directli:[1,11,17,18],directori:[0,16,18,22],directthreadexecutor:1,dirti:18,disadvantag:5,discov:5,discuss:[5,10,17,18],disk:[13,14,17],disobei:12,disprov:8,disput:[2,4,18],disrupt:10,distinct:1,distinguish:18,distribut:[2,5,8,9,12,13],distrust:[2,13],divid:2,dlg:13,doc:[0,1,14,18],docker:11,docsit:[0,15],doe:[1,2,3,4,5,6,9,10,11,12,13,18,20,22],doesn:[1,2,5,7,10,11,12,13,16,18,20],dokka:0,dollar:[18,20,21],domain:[14,18,21],don:[1,5,7,9,10,13,15,18,19,20],done:[0,5,13,14,18],dot:4,doubl:[5,9,16,18],doubt:[1,9],down:[1,5,12,18,19],download:[],downsid:[1,5],drag:21,drive:[5,22],driven:16,driver:[14,22],drm:12,dsl:[14,18,20,21],due:[1,4,5,6,9,12,13,18,19],dummi:[3,18,20],dummy_pubkey_1:[18,20],dummy_pubkey_2:20,duplic:18,durat:[6,12,18],dure:[1,4,6,14],dynam:[14,18,22],each:[1,2,4,5,6,9,10,12,13,14,15,18,19,20,22],earli:[1,18,21,22],earliest:[4,6],eas:10,easi:[1,5,9,12,14,18],easier:[1,13,18],easiest:18,easili:[1,12,13,16],econom:4,ed25519:14,edit:7,editor:7,effect:[4,5],either:[1,2,3,4,5,12,13,18,19,20,22],element:[1,5,19],elimin:9,els:[2,5,18,19],emb:[6,18],embed:[5,11,12],emit:18,empti:[14,18,20],emptyledg:20,enabl:18,encapsul:[1,17],enclos:1,encod:12,encount:9,encrypt:9,end:[1,4,9,12,13,15,19,22],endpoint:11,enforc:[1,5,18],enforceverifyorfail:20,engin:18,english:[1,18],enorm:13,enough:[1,7,10,13,18,22],ensur:[1,2,5,7,10,13,15,17,18],enter:[18,20,22],entir:[2,4,5,10,12,18],entireti:4,entiti:[2,5,12,18],entri:[4,5,13,18],enumer:4,environ:[1,12,13],envisag:18,equal:[2,13,18,19,20],equival:[1,4,17,18],especi:[17,21],essenti:[11,12,17,18,19],establish:[6,16],etc:[1,3,4,12,13,14,15,17,18],euribor:[11,12],evalu:[4,12],even:[5,9,10,12,13,14,18,20],event:[],eventu:15,ever:[1,5],everi:[2,5,12,13,14,15,18,22],everybodi:[5,12],everyon:[2,12],everyth:[2,10,18,22],evid:12,evolut:5,evolv:[18,22],exact:[12,18],exactli:[5,10,18],examin:[1,5,12,18],exampl:[],excel:12,except:[1,13,18,19],excess:1,exchang:[4,13,17,18],exclus:3,execut:[5,6,12,17,18],executor:[1,10],exercis:18,exhaust:14,exist:[1,2,3,4,5,6,8,14,18,22],exit:[3,18],expect:[1,3,6,10,13,15,18,20],expectedtypenam:13,expectfailureoftx:18,expens:1,experi:[5,15,22],experiment:[1,6,13,14],explain:[1,6,10,13,14],explan:1,explicit:[1,5,12,13],explicitli:[1,5,18,20],explor:[1,5,7,8,9,11,18,22],exploratori:10,expos:[1,6,10,11,12,13,17],exposur:[3,4],express:[4,5,9,12,13,14,18,20],extend:[1,2,9,17,18,19],extens:[1,14,17,18],extent:5,extern:[13,22],extract:[5,11,12,13,17,18,19],extractcommand:19,extractgroup:19,extrem:[5,12,18],face:[9,18,21],facevalu:18,fact:[1,2,4,5,12,13,18,20],factor:[4,5],factori:6,fail:[10,18,20],failswith:20,failur:[13,18,20],fairli:[1,13],fake:[16,18,22],fals:[1,10,12,13,18],familiar:[5,18],famou:14,far:[13,16,18],fashion:1,fast:[5,10,16],fault:13,featur:[1,13,14,15,18,21],feed:12,feedback:14,feel:[18,22],fetch:[10,11,12],few:[1,9,10,11,12,13,15,16,18],fiber:13,field:[1,4,12,13,14,18,19,21],file:[0,1,5,10,11,13,14,15,16,17,18,22],fill:[1,13,18],filter:[1,19],filterisinst:18,finalis:[4,13],financ:[13,14,22],financi:[5,6,8,13,14],find:[0,5,11,13],fine:[5,20],finish:[10,13],firm:18,first:[1,2,4,6,7,10,11,12,13,14,16,17,18,19,22],firstli:18,fit:[1,5],fix:[],fixabledealst:17,fixedleg:4,fixedlegpaymentschedul:4,fixedratepaymentev:4,fixingroledecid:6,fixingsessioninitiationhandl:6,fixof:12,flag:[11,22],flexibl:[2,5],flight:5,floatingleg:[4,6],floatinglegpaymentschedul:4,floatingratepaymentev:4,flow:[1,4,18,19],flux:22,fly:13,fold:1,folder:0,follow:[0,1,2,5,6,7,8,10,11,12,13,17,18,19,20,21],font:1,foo:[1,10],foobrokenexcept:1,fooutil:18,forc:[5,11,14,20],fordai:[6,12],forev:15,forget:[13,18],form:[2,5,6,13,18,19],formal:[10,18],format:[0,1,5,11],forth:13,forward:[10,12,13,15,16],found:[7,11,12,13,15,19,22],four:[9,18],frame:[1,13],framework:[],free:[5,12,13],freeform:18,freeli:12,frequenc:4,frequent:13,fresh:[12,18],freshkei:13,freshli:18,from:[0,1,2,3,4,5,7,9,10,11,12,13,14,15,17,18,19,20,21,22],front:18,frustrat:5,fulfil:3,full:[1,2,3,10,13,18,19],fulli:[1,5,10,13,14,18],fullysign:13,fun:[2,6,12,13,18,19,20],fund:5,fundament:[2,5,8,18],fungibl:[3,9,17,18,19],fungibleasset:[],funni:13,further:[4,5,9,17],futur:[2,3,5,12,13,17,18,21,22],gain:9,game:13,garbag:[1,11,13],gather:18,gavin:5,gbp:17,gcd:5,gear:15,gener:[],generateirsandfixsom:4,generateissu:18,generatemov:18,generateredeem:18,generatespend:[13,18],genuin:1,get:[],getamount:20,getbefor:18,getbloomfilters:1,getclass:18,getclaus:19,getcommand:[18,19],getdummy_pubkey_1:20,getdummy_pubkey_2:20,getfacevalu:18,getfix:4,getifmatch:19,getifnotmatch:19,getinput:[14,18],getinst:14,getissu:18,getkei:18,getlegalcontractrefer:[18,19],getmaturityd:18,getmega_corp:20,getmega_corp_pubkei:20,getnotarysignatur:2,getoutput:[14,18],getoutst:14,getown:[18,19],getprogramref:18,getprotocoltrack:13,getrequiredcommand:19,getsign:[18,19],getter:18,gettim:18,gettimestampbi:18,getvalu:[18,19],git:[7,15],github:0,giusepp:14,give:[2,5,18],given:[2,5,10,12,13,18],givenpric:13,global:[1,5,12,14],glue:13,gnu:0,goal:[1,5,8,9,13,15],goe:16,gone:[13,14,18],good:[1,7,13,18,20,21,22],got:[11,13],gover:18,grade:17,gradl:[7,15],gradlew:[7,16],grammar:1,granular:5,graph:[5,9,11,13,18,21],graphit:11,great:14,greater:1,greatest:5,green:7,groom:5,group:[],groupclaus:19,groupclauseverifi:19,groupstat:[18,19],guarante:15,guava:1,gui:13,hack:[5,14],had:[2,14,18],hand:[6,13,18],handa:14,handl:[1,2,5,10,13,14,18,19],handler:[6,10,13],happen:[1,2,5,6,12,13,15,18,20],happi:16,hard:[1,5,13,15],harder:[5,18],hase:4,hash:[2,5,9,11,12,13,17,18],hashcod:18,hasn:7,hassl:13,hat:15,have:[1,2,3,4,5,6,7,9,10,12,13,14,15,16,18,19,20,22],haven:18,heap:13,hearn:5,heart:18,heavi:15,heavili:5,hedg:[3,4],heirarchi:1,held:18,hell:13,hello:13,help:[1,5,6,10,13],helper:[4,10,18],henc:[2,4,5],her:[18,21],here:[1,5,9,10,11,12,13,14,17,18,21,22],hierarch:13,hierarchi:13,high:[5,12,13],higher:[1,2,7,18],highlight:[14,18],histori:[2,13],hit:[5,7],hoc:14,hold:[5,10],holder:[1,5,18],holidai:[4,12,17],home:7,hood:[13,20],hopefulli:22,hotspot:1,how:[],howev:[2,3,4,5,10,12,13,17,18,19,20],html:[0,1],http:[0,7,11,12,16,18,19,22],hub:13,human:[5,12,13],hundr:13,hurt:13,hypothesi:8,idea:[1,5,7,9,13,18,22],ideal:[13,18],ident:[2,5,12,13,17,18,19,20],identifi:[4,5,9,10,11,12,13,17],identityless:5,identityservic:13,ifmatch:19,ifnotmatch:19,ignor:[18,19],illeg:12,illegalargumentexcept:[1,12,13,18,20],illegalstateexcept:1,illustr:1,imagin:[1,13,18],immedi:[5,18],immut:[1,4,5,12,18],imper:1,implement:[],impli:13,implic:[2,5],implicitli:4,impos:[12,13,18],imposs:[5,12],improv:[5,14,15,18,19,21],inbackground:10,includ:[],incompat:20,incorpor:12,increas:[1,10],indent:1,independ:[2,12],index:[4,5,6,7,18],indexsourc:6,indic:[1,4,6,10,13,14,18],individu:[1,10,18,20],industri:[8,9,11],infer:[18,20],infix:18,influenc:11,info:13,inform:[1,2,5,13,17,18,19],infrastructur:[5,9,11],inher:5,inherit:[1,10,18],init:12,initi:[2,10,13,14,18,22],initialis:2,inmemorymessagingtest:10,inner:19,inoutgroup:[18,19],input:[2,3,5,12,13,14,17,18,19,20,21],inputcash:20,inputindex:2,insert:[1,10,11,12],insid:[5,10,13,16,18],instal:[0,6,7,16],installdist:16,instanc:[],instant:[1,6,12,13,18],instanti:[5,6,13,14],instat:20,instead:[1,5,6,9,14,18,22],instig:2,institut:[5,9],institutionrefer:18,instruct:[11,18],instrument:[3,4,6],insuffici:5,insufficientbalanceexcept:18,integ:[14,18],integr:[1,12,13,14,21],intellig:1,intend:[1,3,5,11,12,13,17,20],intent:[12,18,21],intention:1,inter:[9,14],interact:[1,5,12,13,14],interchang:17,interest:[],interestrateswap:9,interfac:[],intern:[1,9,10,18],internalis:1,interop:[9,18],interpret:[1,5,18],intersect:18,interv:17,intesa:14,introduc:[1,2,6,12,14,17,18],intuit:1,invalid:[2,12,13,18],invari:18,investig:13,invoc:10,invok:[1,5,6,10,11,13,14,18],involv:[2,3,5,10,12,13,17,18,22],ipsa:12,irrelev:6,irsdemo:16,irsexport:4,irstest:4,irsutil:4,isbefor:18,isempti:18,isinst:13,isn:[1,13,18,22],issu:[2,3,5,9,10,12,14,15,17,18,19,20,21,22],issuanc:[3,13,17,18,19,21],issuedbi:20,issuer:[3,5,18,20],item:18,iter:[13,15,18],itself:[2,4,5,6,10,11,12,13,18,20],jar:[0,5,11],jarinputstream:5,java:[1,5,6,9,10,11,13,14,18,19,20,22],javaclass:13,javacommercialpap:[18,19],javadoc:1,javatesthelp:20,jdk1:7,jdk:[7,13,14,18],jetbrain:[7,9],jmx2graphit:11,jmx:11,jmxtran:11,job:22,johann:14,join:[10,18],joint:18,jolokia:11,json:[11,22],judgement:1,jump:16,junit:18,just:[1,5,7,10,11,13,14,18,20,22],justifi:8,jvm:[5,9,11,13,22],kafka:10,kdoc:1,keep:[5,13,18,21],kei:[1,3,5,9,10,12,13,17,18,19,20],kept:13,key_mismatch_at_issu:18,keymanagementservic:13,keypair:[13,18],keyword:[1,18,20],kick:13,kind:[5,9,10,12,13,18,22],know:[2,5,6,9,12,13,16,20],knowledg:12,known:[],kotin:18,kotlin:[],kryo:[10,13],label:[13,18,20,21],labori:18,lack:[],lambda:20,land:4,lang:20,languag:[1,5,7,8,9,14,18,21,22],larg:[5,12,13,14,17,18,22],larger:[1,5],last:[15,20],latenc:[2,12],later:[1,5,9,10,12,13,14,17,18,19],latest:[1,7,14],latter:[1,18],launch:6,layer:[5,10,13],layout:21,lead:[1,5,18],leak:[2,5,13],learn:[5,8,13,16,18,22],least:[12,18],leav:[1,13],ledger:[2,3,4,5,8,11,12,13,14,18,20,21],ledgertransact:17,left:[10,13,19,20],leg:[4,6,9],legal:[2,5,12,17,18],legalcontractrefer:[18,19],legallyidentifi:[2,12,13],legallyidentifiablenod:13,less:[13,18,21],let:[1,5,6,11,12,13,14,16,18,19,20],letter:1,level:[1,2,4,7,10,12,13,17,18,19,20],lib:0,liber:1,libor:[4,11,12],librari:[1,11,12,13,17,18],licens:1,life:22,lifecycl:[],lifecyl:3,lifetim:4,like:[1,2,4,5,6,7,10,11,12,13,15,17,18,19,22],likewis:18,limit:[3,5,8,18],line:[],linearst:17,liner:1,link:[1,5,12,13,17,18],linkabl:5,linux:[11,14],list:[0,5,10,12,13,14,15,16,17,18,19],listen:1,listenablefutur:13,listof:19,liter:5,littl:[1,18,20],live:4,livelock:5,load:[2,5,14,16,17,18,22],loan:[3,4,12],local:[0,5,7,11,12,13,20],locald:12,localhost:11,locat:[17,18],lock:[1,3,18],log4j:14,log:[13,14,16],logger:13,logic:[2,5,6,9,10,13,14,18,19,22],longer:[1,4,12,13,14],look:[1,4,10,11,12,13,15,18,19,20,22],loop:[1,4,18],loquitur:12,loss:12,lot:[1,4,5,16,22],low:[2,13],lower:[1,12],lurch:13,mac:11,machin:[],maco:16,made:[1,4,5,8,13,14,15,19],mai:[1,5,9,10,11,12,13,14,15,18,19,20,22],mail:[15,16],main:[6,13,18,21,22],maintain:[2,5],maintan:12,mainten:10,major:15,make:[0,1,2,4,5,10,12,13,14,15,16,18],makenod:10,maker:9,malici:13,manag:[],mani:[1,5,6,9,10,12,13,14,17,18],manipul:17,manner:13,manual:[6,10],map:[],mappabl:18,mark:[1,3,13,18],markdown:1,marker:[13,18],market:8,master:15,match:[5,10,12,13,18,19],matchbehaviour:19,matter:18,matur:[3,4,11,12,18],maturityd:18,maven:7,maximis:5,maximum:5,maybestx:13,maybetraderequest:13,mbean:11,mean:[1,5,6,10,12,13,17],meaning:[2,3],measur:[4,18],mechan:[14,18],meet:18,mega_corp:[18,20],mega_corp_kei:18,mega_corp_pubkei:[20,21],megacorp:[18,20,21],member:[4,14],memori:[],menlo:1,mention:[6,13],menu:7,mere:[4,18],merg:[5,9,14,17,18],mess:13,messag:[],messagehandlerregistr:10,messagerecipi:10,messagerecipientgroup:10,messagingservic:[10,13],method:[],metric:11,middl:[1,10,13],might:[1,4,5,7,13,18],mike:5,mileston:[],mind:[1,12,13,18],mine:5,mini:19,minim:[5,13],minimis:[2,3,5,10],minimum:[4,5],minor:15,minu:18,minut:[9,12],misc:10,mismatch:20,miss:[1,13,18,20,22],missingsig:13,mission:11,mix:[1,13,18],mock:10,mode:10,model:[],modest:5,modif:18,modifi:[2,3,4,7,13,17,18,19],modul:[1,10,14,18],moment:[10,14],monei:[12,18],monetari:18,monitor:[],month:[4,13,15],more:[1,2,3,4,5,9,10,11,12,13,14,16,17,18],moreexecutor:1,mortensen:14,most:[1,4,5,10,11,12,13,18],mostli:18,move:[3,13,14,15,18,19,20,21],movement:[13,18],much:[1,5,9,13,14,18,22],multi:[1,9,13,18],multilater:[3,14],multipli:4,must:[1,2,3,5,6,10,11,12,13,18,19,22],mustafa:14,mutabl:[1,5,18],mutat:5,mutual:[2,3,13],myfil:11,mykeypair:13,nail:1,namedbyhash:17,namespac:13,narrow:1,nativ:13,natixi:14,natur:18,naval:[5,12],navistar:12,neat:20,necessari:[1,2,15,16],nee:14,need:[0,1,2,4,5,6,8,10,11,13,15,16,17,18,19,20,22],negoti:[5,17],neither:[13,18],nest:13,net:[3,4,14,18,21],nettabl:9,network:[],neutral:9,never:[1,5,12,18,19],newli:[6,13],newnotari:2,newown:18,newsecurerandom:14,next:[1,4,6,7,13,14,18],nextfixingof:6,nextscheduledact:6,nice:16,nio:1,noddi:11,node:[],nodea:16,nodeb:16,nodeinterestr:12,nodeservic:12,non:13,none:[6,13],nonemptyset:14,nordea:14,normal:[3,4,13,17,18,19],not_matured_at_redempt:18,notabl:1,notaris:2,notarychang:14,notarychangeprotocol:2,notaryexcept:2,notaryprotocol:2,notaryservic:14,notat:13,note:13,noth:[1,5,6,14,18],notic:[1,18],notif:10,notifi:10,notion:[4,5,18],notnul:[18,19],now:[1,5,7,10,12,13,14,16,18,20,21,22],nugget:18,nullpublickei:18,number:[1,3,4,5,10,12,13,15,16,17,18],numer:5,obj:18,object:[1,3,4,5,6,9,10,11,12,13,14,17,18,19,21,22],oblig:[9,17],obligor:3,observ:[4,5,6,12,13],observatori:[5,12],obsolet:6,obtain:[],obviou:[1,2,5,12],obvious:[4,18],occasion:[],occur:[2,6,12,13,18],occurr:12,odd:[13,18],off:[10,13,18,21],offer:13,offlin:10,offset:4,often:[1,3,4,5,12,13,18],oftenor:12,oil:14,old:2,omit:6,onc:[0,1,2,4,6,9,10,12,13,15,17,18,22],onli:[1,2,4,5,9,10,11,12,13,14,18,19,21,22],onto:[1,13,18,21],opaqu:[9,10],opaquebyt:18,open:[2,5,7,12,13,16,21],openjdk:7,oper:[4,6,10,11,12,13,18],optim:1,option:[0,1,4,6,10,12,13,18,19,22],oracl:[],orchestr:[8,9,14,22],ordain:4,order:[0,1,2,3,4,5,9,10,13,17,18,19,21],ordinari:[5,13,18],org:[0,7,18,19],orient:[],origin:[17,18],originalst:2,otc:9,other:[1,2,3,4,5,6,9,10,12,13,16,17,18,20],othersid:13,otherwis:[1,6,13,18,19],our:[1,2,5,6,13,14,15,18],ourselv:[13,18,22],oursignatur:13,out:[1,2,3,5,6,7,9,11,12,13,15,18,19],outag:10,outcom:13,outer:19,outermost:19,outlin:[5,13],outpoint:5,output:[2,3,5,12,13,14,16,17,18,19,20,21],outsid:[5,10,12,13,18,22],outstand:3,outstat:18,over:[1,2,4,5,10,11,12,13,17,18],overal:[2,6,10,20],overdu:6,overflow:1,overload:13,overnight:17,overrid:[6,13,18,19],overwhelm:5,own:[1,2,3,10,11,12,13,14,15,18,20,21,22],ownablest:[13,17],owned_bi:18,owner:[13,17,18,19,20],ownership:[13,18],owningkei:[13,18],ozturk:14,p2p:[13,14],pack:18,packag:14,packet:5,page:[7,12,18],pai:[3,12,13,18,21],paid:[3,4,5],pair:[5,13,18],paper:13,paper_1:[18,21],parallel:[5,10,13],parallelis:5,paramet:[1,6,13,16,18,19],parameteris:5,parent:13,pars:[12,22],part:[1,2,3,5,6,12,13,14,17,18,19,22],parti:[],partial:[2,13,18,20],partialtx:13,particip:[2,5,14,18,22],particular:[1,2,5,11,13,14],partyandrefer:1,partyrefer:[1,18],pascal:1,pass:[2,10,13,18,19,21],past:[1,12,16,18,22],patch:1,path:[1,6,11,14,18],pattern:[1,5,18],paye:5,payer:[4,5],payment:[3,4,5,6,12,13,16,18,21],pdf:12,peer:[9,10,12,13],penni:18,peopl:[1,5,9,18],per:[1,5,6,22],perform:[1,2,4,5,6,12,13,16,18],perhap:[1,5,6,18],period:4,perman:18,persist:[9,10,13,14],perspect:[5,13,18],phrase:12,physic:[2,12,14],pick:[10,13,14,15,18,22],piec:[1,2,5,10,13,18,20],ping:10,pip:0,pki:[5,14],place:[0,1,4,5,6,9,10,12,13,14,15,17,18,22],plai:13,plan:[10,16],platform:[2,5,6,9,10,12,13,17,18],pleas:[1,5,7,14,18],pluggabl:14,plugin:[7,11],point:[1,2,3,5,6,11,12,13,15,18],pointer:[2,13,17],pointless:1,pong:10,pool:[1,5,13],poor:5,pop:[7,10],popular:9,popup:7,port:[14,15],posess:13,posit:[1,2,5,13],possess:2,possibl:[5,10,12,13,18],post:19,potenti:[1,2,9,13,18],pound:18,power:[5,8],practic:[5,18],pre:[0,4,5,13,18,22],preced:18,precis:[5,9,12],precondit:1,prefer:[1,5],prefix:[1,13],preliminari:10,prepar:[5,18],present:[2,3,4,8,12,17,18,19],preserv:[2,5],press:18,pretend:11,pretti:[5,13,18],prevent:18,previou:[5,14,17,20],previous:[4,6,12,14],price:[5,12,13],primari:[9,12],primarili:3,primit:[18,20],print:16,priv:13,privaci:[1,2,5,13,14,18],privat:[1,5,13,18,22],privatefoo:1,probabl:[7,12,18,22],problem:[2,5,12,13],proce:13,procedur:13,process:[],processor:5,produc:[0,6,18,20,21],product:[1,6,8,9,15,17,18],profit:[18,21],profound:5,program:[1,5,10,11,13,14,16,17,18,22],programref:18,progress:[],progresstrack:13,project:[7,14,16],prolif:14,promis:14,proof:[5,8],propag:[8,11,18,19],properli:13,propos:[8,13],prose:[12,17],protect:13,protocol:[],protocollog:[6,13],protocollogicref:6,protocollogicreffactori:6,protocolstatemachin:13,protocoltrack:13,prototyp:[1,5,8,9,12,18],prove:[2,5,8,18],provid:[0,1,2,3,4,5,10,11,12,13,14,17,18,19,22],provision:17,pseudo:12,ptx:13,pubkei:20,publicfoo:1,publickei:13,publicli:[],pull:7,pump:10,punish:12,purchas:[13,16],pure:[3,5,12],purpos:[3,9,13,18],push:15,put:[1,13,15,18,22],python:0,qualiti:8,quantiti:[5,9,18],quasar:13,queri:[4,6,12],question:[1,2,6,7,12],queu:10,queue:[1,10,13],quick:12,quickli:[5,10,18],quit:[1,12,13,18],r3corda:[14,19,20],r3dlg:15,r3prototyp:[0,7,16],r3repositori:7,rais:2,random63bitvalu:13,random:[5,6,13,14],rang:12,rapid:[1,9,15],rate:[],ratefixprotocol:12,rather:[1,5,13,14,18],raw:[11,13],reach:[2,4,5,6,12],reachabl:13,read:[1,5,8,9,11,12,13,18,22],readabl:[9,13],reader:18,readi:[15,18],readili:17,readm:1,real:[1,10,12,14,18,22],realis:13,realism:10,realiti:4,realli:[1,2,5,13,18],reason:[1,4,5,13,17,18],reassign:18,recal:4,receiv:[3,4,5,10,12,13,15,18,21],receiveandcheckproposedtransact:13,receiveandvalidatetraderequest:13,recent:14,recipi:[3,5,10,18],recognis:[5,12,18],recommend:[1,10,22],record:[2,6,10],recordtransact:6,recov:10,recreat:13,red:[4,7],redeem:[3,9,18,19,21],redempt:[18,21],redemptiontim:[18,21],redesign:14,reduc:1,redund:1,ref:[13,18,20],refactor:14,refer:[1,2,3,4,5,6,9,12,13,14,17,18,20],referenc:2,refin:9,reflect:[18,19],refus:7,regard:2,regardless:13,regener:[4,15],regist:[1,10,11,13,22],registr:10,regular:[11,13,18],reissuanc:[5,18],reject:18,rel:[5,10,19],relabelablestep:13,relat:[4,18],relationship:18,releas:[],relev:[5,14,17,19],reli:5,reliabl:10,relianc:5,relic:11,religi:1,remain:[6,18,21],remeb:7,rememb:[1,6,7,13,18],remind:13,remot:7,remov:[10,13,18],renam:14,render:[1,13,21],repeat:[1,4,10,13],replac:[2,4,7,11,14,15,17,18],replic:5,repoint:2,report:[10,19],repositori:[],repres:[1,3,4,5,10,12,13,17,18],represent:4,request:[2,5,10,12,13,14],requestingparti:2,requiredcommand:19,requiresinglecommand:[18,19],requirethat:[18,19],research:14,resel:12,reserv:13,reset:4,reshap:5,resolut:[2,5,8,13],resolv:[1,13,17],resolvetransactionsprotocol:13,resourc:13,respect:[1,5,13,16,18],respend:5,respons:[2,5,6,10,12,13],rest:[2,5,9,10,11,13,14,22],restart:[7,13],restor:13,restrict:1,restructur:19,restructuredtext:0,result:[1,2,4,5,12,13,18,19],resultfutur:13,resum:[13,14],resurrect:13,retain:10,retri:[9,10,13],retriev:[2,4],retrieveoutput:20,reus:[5,13,20],reusabl:[12,14,18,19],reveal:[2,5,13,18],revers:13,revert:3,review:[1,14,15],revis:4,rewrit:13,right:[1,7,10,11,13,15,22],rigid:5,rigidli:1,risk:13,robert:14,robust:14,role:[6,16,22],roll:[4,13,16],rollov:[17,18],root:[15,16,18,21],rotat:14,roughli:[12,15],rout:13,router:10,rui:14,ruin:20,rule:[1,12,13,14,18],run:[],runbuy:13,runnetwork:10,runsel:13,runtim:[1,13],safe:[1,5,13,18],safeti:1,sai:[1,2,5,18],sale:[16,18],same:[1,2,3,4,5,6,9,10,12,13,16,18,19,20,21],sandbox:[5,6,9,18],saniti:13,santiago:14,satisfi:18,save:[1,14,18],scala:[9,18],scalabl:[1,5],scale:4,scenario:[5,22],scene:[13,18],schedulablest:6,scheduledact:6,scope:[5,18,19],scotiabank:14,scrape:11,scratch:22,screen:[1,7],script:[0,5,18],scroll:16,scrub:13,seamless:9,search:[7,13,18],second:[4,13,16,18],secondari:13,secp256r1:14,section:[5,15,18],secur:[5,6,10,13],securehash:[2,18,19],securerandom:14,see:[0,1,2,3,4,6,9,10,12,13,16,17,18,19,22],seed:13,seek:5,seem:5,seen:[1,4,12,13,18,21],select:[2,7,14,18,19],self:14,sell:[13,18,22],seller:[],sellerownerkei:13,sellersig:13,sellertradeinfo:13,semi:[5,12],send:[1,5,10,11,12,13,15,18,20],sendandrec:13,sender:5,sendsignatur:13,sens:[4,12,13,18],sensit:6,sent:[6,10,13,18],separ:[2,5,11,12,13,16,17,18],sequenc:[5,10],sequenti:[10,13],seri:13,serial:[9,10,18],serialis:[1,5,9,10,13,18],serializablewithkryo:18,serializeablewithkryo:18,seriou:[5,15],serious:22,server:[11,12,22],servicehub:[6,13],session:[6,10,13],sessionid:[6,13],set:[],setof:[13,19],setter:18,settim:13,settl:[3,10,12,17],settlement:[3,13],setup:6,setupa:16,setupb:16,sever:[5,13,18,20,22],sha256:[18,19],sha256sum:11,sha:[5,11],shape:5,share:[4,5,12,13,14,18,19,22],shasum:11,she:18,shortcut:9,shorthand:[18,20],shot:10,should:[1,2,3,5,6,7,9,10,13,14,16,17,18,19,20,22],shoulder:1,shouldn:[13,18],show:[5,7,9,16,18,21],shown:[13,18],shutdown:13,side:[12,13],sig:18,sign:[2,4,5,9,10,12,13,14,17,18,19,20],signatureexcept:13,signaturesfromsel:13,signedtransact:[13,17,18],signer:[12,18,19],signific:[5,14],significantli:4,signoff:12,signwith:[13,18],signwithecdsa:13,signwithourkei:13,silver:1,similar:[1,5,10,12,14,18,19],simpl:[1,3,4,5,9,10,11,13,18,19,21],simplecash:20,simplecashdoesntcompil:20,simplecashfailswith:20,simplecashsuccess:20,simplecashtweaksuccess:20,simplecashtweaksuccesstopleveltransact:20,simplenotaryservic:2,simpler:[5,9],simplest:[5,13,18,22],simpli:[1,2,5,10,13,17,18,20],simplif:14,simplifi:[1,3,5,10,17,18,22],simultan:[5,10,13,18],singl:13,singleclaus:19,singlemessagerecipi:[10,13],singleton:[13,18,19],singletonlist:19,sit:10,site:[1,15],situat:[1,5],size:[1,4,5,13,18,19],skip:13,slight:18,slightli:18,slip:15,slow:[1,5],slowest:5,small:[5,6,12,13,16,18,21],smaller:14,smart:[],smm:13,smooth:18,snapshot:[5,14,15],snide:0,snippet:[2,13,18],softwar:[13,15,22],sofu:14,sold:[13,18,21],solv:[5,12,13],solvenc:12,some:[1,2,3,5,6,9,10,11,12,13,14,16,17,18,19,20,21,22],somed:18,someon:[2,5,10,18],someprofit:[18,21],someth:[1,4,5,7,16,17,18,19,22],sometim:[5,10,11,12,13,18],somewhat:[5,13,14],somewher:[18,21],sophist:5,sort:[12,13],sound:[1,13,18,21],sourc:[4,6,7,12,13],sparingli:1,special:[2,5,20],specialis:[13,19],specif:[2,5,6,10,11,12,13,14,17,18,19,21],specifi:[0,1,2,3,5,9,10,12,13,14,18,19,20,22],speed:[5,13],spend:[5,9,13,18],spent:[5,20],sphinx:0,sphinx_rtd_them:0,spirit:14,split:[5,9,14,17,18],spread:[2,10,13],spreadsheet:12,squar:21,src:[18,21,22],ssl:[9,14],stabilis:15,stabl:15,stack:13,stage:[1,13,18,22],stai:[5,18],stake:5,standalon:12,standard:[1,8,11,13,17,18,19],standardis:[5,17,18],start:13,state:[],stateandref:[2,13,17,18],statehistori:2,stateless:5,statemachinemanag:13,statement:[1,5,12,13,18],stateref:[2,5,6,17],statesoftyp:13,statist:11,status:5,step:13,still:[2,5,6,13,14,18,22],stock:[5,12],stop:[1,10,13],storag:5,store:[2,13,14,17,18],stori:[1,14],straightforward:[13,18],stream:[13,19],stress:1,strictli:[4,5],string:[10,12,13,18],strong:9,structur:[1,5,7,9,12,13,18],studi:18,stuff:[1,13],stx:13,sub:[1,13],subclass:[13,17],subclaus:19,subgroup:5,submiss:12,submit:[1,2,10,13],subprotocol:[2,13],subscrib:10,subsequ:20,subset:3,subtask:13,subtl:[1,5],successor:[2,6,9],succinct:1,sudo:0,suffer:5,suffic:12,suffici:[5,8,10,12,15],suffix:18,suggest:[10,18],suggestinterestrateannouncementtimewindow:6,suit:14,suitabl:[6,10,15],sukrit:14,sum:[18,20],sumcashbi:[13,18],sumcashornul:18,summari:[],summaris:5,sun:1,superclass:[13,14,17],superior:1,supersed:5,supertyp:18,suppli:[3,16],support:13,suppos:[13,18],suppress:[1,14],suppresswarn:1,sure:[2,14,15,16,18,22],surfac:13,surround:[1,18],surviv:13,suspend:[],swap:[],swapsignatureswithsel:13,symbol:7,synchronis:[1,5,12],syntax:[9,18],system:[2,5,9,11,12,13,14,16,18],tab:[1,7],tackl:[14,19],tag:[1,15],tailor:8,take:[1,4,6,9,13,15,17,18,19,20,21],tamper:13,target:[0,1,5,9,11],targetrecipi:10,task:[5,6,13],team:7,technic:[],techniqu:[1,5,12,18],tell:[0,10,13],templat:17,tempor:12,temporari:5,temporarili:[13,15],tempt:18,temptat:13,ten:18,tenor:[4,11,12,17],term:[3,5,6,17,18,19],termin:[4,11,13,16],terminolog:5,test:13,test_tx_tim:18,testutil:18,testwithinmemorynetwork:10,text:[1,7,11,20],than:[1,2,5,8,11,13,14,18,21],thank:14,thedao:14,thei:[1,3,4,5,6,9,10,11,12,13,15,16,17,18,19],theirsessionid:13,them:[1,4,5,6,7,9,10,11,13,14,15,16,17,18,20,22],themselv:[10,12,13,17,18],theori:[],therefor:[5,7,9,13,15,18],thi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],thing:[1,5,6,9,12,13,14,16,17,18,22],think:[1,5,7,13,18],third:[5,16,18],thisstateref:6,those:[5,6,10,11,12,13,17,18],though:[10,11,13,18],thought:[5,9],thousand:20,threadsaf:1,three:[16,17,18],threshold:18,through:[4,5,6,11,13,14,18,19,20,22],throughput:[2,5],throwifsignaturesaremiss:13,thrown:[18,19],thu:[1,5,6,11,12,18],tighten:18,tightli:13,time:[1,2,3,4,5,6,9,11,12,13,14,17,18,21],timelin:18,timestamp:[],timestampauthoritysig:13,timestampcommand:[12,18],timestampercli:18,timestamperservic:12,timestampingauthor:13,timestampingprotocol:13,titl:7,todo:[1,13,18],togeth:[3,5,13,14,18,19],token:[17,19],told:1,toledgertransact:13,toler:[2,6,12],tolist:19,too:[1,13,18,21],took:13,tool:[9,11],toolbar:7,top:[1,5,7,13,18,19],topic:[10,13,22],topicsess:14,toplevel:20,topriv:13,toset:13,tosignedtransact:[13,18],tostr:[1,13,18],total:[5,18],toward:[14,15],trace:13,track:[],tracker:13,trade1:16,trade:[],trade_top:13,tradeoff:[],trader:[],traderdemo:22,traderequest:13,tradit:[5,18],traffic:[5,13],transact:13,transactionbuild:[13,14,18],transactionforcontract:19,transactionforverif:18,transactiongroup:18,transactiongroupdsl:21,transactiongroupfor:21,transactiongroupfortest:18,transactionst:[2,14,17],transactiontyp:14,transactionverificationexcept:20,transfer:[18,20],transit:[8,18,22],treat:18,tree:13,tri:[5,18],tricki:[5,13],trigger:[3,6,12,16,19],trim:19,trivial:[1,5],trust:[3,5,13],truth:13,tsa:[5,13],tsasig:13,tupl:1,ture:5,turn:[5,13,17,18,19,20,22],tutori:[3,8,9,12,13,14,18,19,20,22],tweak:20,twice:[9,20],two:[],twopartydealprotocol:6,twopartytradeprotocol:13,txbit:13,txhash:[5,13,18],txt:11,type:13,typenam:13,typetobui:13,typic:[5,6,10,11,13,17,18,22],unacceptablepriceexcept:13,under:[0,13,15,18,20,22],underli:[3,4,5,13,17],underscor:[1,18],understand:[5,10,11,18,21,22],unexecut:18,unexpect:13,unfinish:13,unfortun:[13,18],unguess:13,unicredit:14,unifi:[14,22],uniform:6,unindex:7,uniqu:[2,5,12,13,14],unit:[2,5,7,9,10,13,14,18,19,20,21,22],unix:[11,16],unknow:12,unless:[1,12,13,15,18,22],unlik:[3,7,18],unmatch:19,unnatur:5,unnecessari:18,unpack:[13,18],unprocess:19,unqiu:6,unread:13,unrecognis:18,unrel:18,unreleas:[],unschedul:6,unserialis:13,unset:4,unspent:5,unstart:13,unsupportedoperationexcept:[18,19],until:[2,4,5,6,10,13,15,19,20,22],untrustworthydata:13,unus:10,unusu:18,unverifiedtransact:20,upcom:[6,14],updat:[5,7,10,13,14,15,18],upgrad:[7,8,14],upload:[],upon:[4,13,18],upward:15,url:7,usabl:[9,14,15],usag:[1,12,13,18],usd:17,useless:18,user:[0,1,5,7,9,10,12,13,14],usr:0,usual:[1,5,15],utc:6,util:[10,14,18],vagu:1,val:[1,2,6,10,12,13,18,19,20,21],validatingnotaryservic:2,valu:[1,3,4,5,9,12,18,19,20,21],valuabl:12,valuat:4,vanilla:[3,4,9],vari:[],variabl:[1,4,5,13,18],variant:18,variou:[1,5,9,11,13,18],vehicl:5,vendor:[9,11],verbos:18,veri:[1,3,5,9,12,20,21,22],verif:[3,5,9,19,20],verifi:13,verifytransact:13,versa:[3,4,13,17],version:[4,7,10,13,14,15,17,18],versu:13,vertic:1,via:[0,1,4,5,6,11,12,13,16,18,22],vice:[3,4,13,17],view:[1,4],virtual:[5,8],visibl:[2,5],visualis:[],vital:13,wai:[1,5,6,9,11,12,13,14,18,19,20,22],wait:[6,7,10,13,16],wake:14,wallet:[5,6,13,14,18],walletservic:13,want:[1,5,7,10,11,12,13,14,18,20,22],weak:12,wear:15,web:[8,11,12,14],websit:18,weekend:4,well:[0,1,4,5,6,9,11,12,13,17,18,19],went:1,were:[1,5,12,13,18],what:[],whatev:[1,13,17],when:[1,2,3,4,5,6,10,11,12,13,14,18,20],whenev:1,where:13,wherea:4,wherev:11,whether:[2,3,10,12,13,19],which:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,22],whilst:[5,12,13,16,18],whitelist:[3,6],who:[1,5,9,10,13,14,18],whole:[2,18,20],whom:[3,5,10],whose:[11,17],why:[1,5,9,18],wide:[1,10,18],widescreen:1,widespread:1,width:1,wiki:[5,18,19],wikipedia:[18,19],window:[5,7,13,16,21],wire:22,wirecommand:18,wiretransact:[2,12,13,17],wish:[5,10,12,13,14,18,22],within:[0,1,2,5,11,16],withkei:13,withnewown:13,without:[],withoutown:[18,19],won:[10,12,13,16,18,20],word:[1,2],work:[1,2,4,5,6,7,8,9,10,11,12,13,14,16,17,18],worker:1,world:[5,12,13,18],worn:18,worri:[1,9,13],worst:5,worth:[1,18],worthless:12,would:[1,3,4,5,9,10,11,12,13,17,18,22],wouldn:[12,18],wrap:[1,11,13,14,17,18,19,22],wrapper:[1,2,13],write:[],written:[0,4,5,9,14,18],wrong:[1,13,16,20],wrote:5,wtx:[2,12,13],www:[0,7],year:4,yet:[1,4,5,9,13,14,18],yield:[5,13],you:[0,1,5,6,7,9,10,11,12,13,14,16,18,19,20,21,22],your:[],your_usernam:7,yourself:5,zero:[5,18],zip:[5,11],zone:6,zoneddatetim:6},titles:["Building the documentation","Code style guide","Consensus model","Platform contracts","Interest Rate Swaps","Data model","Event scheduling","Getting set up","Welcome to the Corda repository!","What’s included?","Networking and messaging","Node administration","Writing oracle services","Protocol state machines","Release notes","Release process","Running the demos","Data types","Writing a contract","Writing a contract using clauses","Writing a contract test","Using the visualiser","Where to start"],titleterms:{"class":[18,19],"function":18,about:7,administr:11,adopt:5,amount:17,api:18,approach:12,assert:[1,12],asset:18,attach:11,base:18,basic:12,bitcoin:5,build:0,buyer:13,cash:[3,17],chain:20,chang:2,check:18,claus:[18,19],code:1,command:18,comment:1,commerci:[3,18,19],comparison:5,compil:1,complain:7,con:5,consensu:2,continu:12,contract:[3,9,18,19,20],corda:8,creat:4,cut:15,data:[5,12,17],date:17,demo:[16,22],detail:4,document:0,download:11,error:1,ethereum:5,event:6,exampl:6,fix:11,framework:12,fungibleasset:17,gener:[1,18],get:7,group:[18,19],guid:1,how:[6,18],implement:[6,10,12,13],includ:9,instanc:4,intellij:7,interest:[3,4,11],interfac:10,introduct:[6,12,13],known:12,kotlin:9,lack:7,length:1,lifecycl:[4,17],line:1,machin:13,manag:13,map:10,memori:10,messag:10,method:13,mileston:14,model:[2,5],monitor:11,multipl:2,name:1,network:10,node:11,non:18,notari:2,note:14,oblig:3,obtain:2,occasion:12,oracl:12,orient:18,overview:5,paper:[3,18,19],parti:[13,17],platform:3,pro:5,process:15,progress:13,properti:1,protocol:13,publickei:17,publicli:12,rate:[3,4,11],rational:5,releas:[14,15],repositori:8,requir:[0,18],run:[2,16],schedul:6,sdk:7,seller:13,servic:[2,10,12],set:7,signatur:2,singl:20,smart:18,space:1,start:[18,22],state:[13,17,18],step:15,style:[1,5],summari:19,support:17,suspend:13,swap:[3,4],technic:4,test:[18,20],theori:13,thread:1,timestamp:2,track:13,trade:13,tradeoff:5,trader:[16,22],transact:[17,20],two:[12,13],type:17,unreleas:[],upload:11,utxo:5,valid:2,vari:12,verifi:18,visualis:21,warn:1,welcom:8,what:9,where:22,without:7,write:[12,18,19,20],your:[11,18]}}) \ No newline at end of file +Search.setIndex({envversion:47,filenames:["building-the-docs","codestyle","consensus","contract-catalogue","contract-irs","data-model","event-scheduling","getting-set-up","index","inthebox","messaging","node-administration","oracles","protocol-state-machines","release-notes","release-process","running-the-demos","transaction-data-types","tutorial-contract","tutorial-contract-clauses","tutorial-test-dsl","visualiser","where-to-start"],objects:{},objnames:{},objtypes:{},terms:{"0_xx":7,"1mb":13,"8u45":7,"_before_":13,"_do_":13,"_foo":1,"_is_":13,"_mbeans_":11,"abstract":[5,13,14,18,19],"boolean":[5,18],"break":[12,15,18],"byte":[1,5,9,13,20],"case":[1,2,5,10,12,13,14,17,18,19],"catch":[1,7,13],"class":[],"default":[1,3,7,9,13,14,16,18],"enum":14,"export":[11,13,22],"final":[2,4,5,7,10,13,18,19,20],"float":[3,4,6,9],"function":[],"import":[1,5,6,7,10,13,14,15,18,19,20,22],"instanceof":[18,19],"int":[1,2,18],"long":[1,3,5,6,10,13,18],"new":[1,2,4,5,7,8,9,10,11,13,14,15,17,18,19,20,22],"null":[6,12,18],"public":[1,5,9,10,11,12,13,17,18,19,20],"return":[1,2,4,6,10,11,12,13,14,18,19,20,22],"short":[6,10,15,18],"static":[5,12,13,18,20,22],"super":1,"switch":[9,13,14,18],"throw":[1,2,12,13,18,19],"transient":13,"true":[5,10,12,18,21],"try":[1,5,13,16,18,21,22],"var":18,"void":[18,20],"while":[17,18],abil:[5,10],abl:[2,5,10,12,14,16],abort:2,about:[],abov:[1,4,5,10,13,18,19,20],absolut:5,abstractnod:12,accept:[1,2,3,5,10,13,18],acceptablepric:13,access:[1,5,7,10,11,12,13,18],accid:13,accident:1,accompani:1,accord:22,accordingli:[10,19],account:[5,17],accrual:4,accur:12,accuraci:5,achiev:[2,5,10],ack:14,acknowledg:13,across:[3,5,13,14],act:[2,5,10,12,13],action:[6,18,22],activ:[4,6,16],actor:[1,5,13],actual:[4,7,10,12,13,18,20],adapt:[1,12,13],add:[1,10,11,13,17,18,19,20],addarg:18,addcommand:13,addinputst:[13,18],addit:[1,2,5,17,18],addition:[12,13,15],addmessagehandl:[10,14],addoutputst:[13,18],address:[2,5,10,13,16,18],adjust:[1,4,15,22],admin:7,administr:[],advanc:[3,4,8],advantag:5,adventur:22,advertis:12,advertisedservic:2,advic:15,affect:[7,12],affection:18,affinityexecutor:1,afraid:1,after:[2,3,4,5,6,7,9,12,13,18,19,21],again:[4,5,10,12,13,16,18],against:[4,5,6,13,18,19],agent:11,aggreg:[5,18,19],agre:[4,6,13],agreement:[4,5,17],ahead:13,aim:[1,5],albeit:14,albertsen:14,algorithm:[5,9,14,18,21],alic:[18,21],aliceaddr:10,alicegetsback:[18,21],alicenod:10,aliv:13,all:[0,1,2,3,4,5,7,10,11,12,13,14,15,16,18,19,22],allevi:2,allow:[1,2,3,4,5,6,9,12,13,17,18,20,22],allpossiblerecipi:10,almost:[13,18],along:[2,9,10,12,13,18],alreadi:[1,6,12,13,14,18,19,20],alright:13,also:[1,2,3,4,5,6,7,10,11,13,16,17,18,19,20,22],alt:18,alter:[13,18],altern:[0,1,11,17],although:[4,5,9,10,18,19,22],alwai:[1,5,6,11,13,18,19],amounnt:13,amount:[],amqp:[9,14],analysi:5,andresen:5,ani:[1,2,3,4,5,6,10,11,12,13,15,16,17,18,19,22],annot:[1,13,18],announc:15,anonym:5,anoth:[1,2,7,11,12,13,18,20],answer:[1,12],anticip:1,anybodi:5,anyon:[2,18],anyth:[2,5,10,12,13,18,19],anywher:[10,12,18],apach:[9,10],apart:2,api:[],app:[11,14,15,22],appear:18,append:11,appendix:8,appli:[1,3,4,5,18,19],applic:[5,12,19,22],applyfix:4,appoint:2,approach:[],appropri:[1,10,19],approv:[5,6,13],arbitrari:[1,5,12,13,18],arbitrarili:9,architectur:[8,12],area:[10,17],aren:[13,18,22],arg:[14,18,21],arguabl:12,argument:[1,5,10,13,18],aris:5,around:[5,10,12,13,14,15,17,18,21],arrai:[5,9,13],arrang:13,arraylist:19,arriv:[12,13],arrow:[4,7],artemi:9,articl:[2,5,6,10,12,13,22],artifact:18,ask:[1,13,18],aspect:[6,13,22],assembl:5,assemblesharedtx:13,asset:[],assetforsal:13,assetmismatchexcept:13,assettosel:13,assettypenam:13,assign:12,assist:[6,13,18,21],associ:[2,5,6,10,17,18],assum:[5,12,13,18],assumpt:13,atom:[5,12,13,16,18],attach:[],attack:2,attempt:[5,7,8,10,13],attent:13,attest:[2,12],attribut:1,audit:[5,13],authent:2,authenticatedobject:[17,18,19],author:[1,2,5,10,13,15,22],authoris:13,auto:[1,18],autom:[5,6,18,22],automat:[0,6,10,13,14,18,22],avail:[0,4,6,10,11,12,15,18],avoid:[1,5,13],awai:[5,13,16],awar:[1,13],awg:15,awkward:[1,13],axi:4,back:[1,5,12,13,17,18],backend:10,background:[1,5,10],backport:15,backtick:18,backward:[13,15],bad:[1,13,18,20],balanc:[2,3,5,18,20],banana:17,bananast:17,banco:14,band:13,bandwidth:1,bank:[4,5,14,17,22],bankrupt:18,bankruptci:[5,12],barreca:14,barrel:14,base:[],basi:[4,6,11],basic:[],bat:16,bbva:14,bear:[13,18],beauti:21,becaus:[1,5,7,10,11,12,13,17,18,19,20],becom:[1,4,5,6,13,15],been:[2,4,5,7,12,13,14,15,18],befor:[2,4,5,6,9,12,13,14,15,17,18],beforehand:16,begin:[1,5,16,18,22],behav:18,behaviour:[2,11,19,20],behind:[13,18],believ:14,below:[1,4,5,6,13,22],beneficiari:3,benefit:[2,13,18],best:[1,16,22],bet:12,better:[1,8,9,14,18,21],between:[1,4,5,6,10,12,13,14,15,16,17,18],beyond:[5,18],big:[1,5,13,14,18],bigdecim:12,bilater:[3,4,9,14],bill:18,bin:16,binari:[5,12],bind:[2,5,12],bip:5,bit:[13,18,20,21,22],bitbucket:7,bitcoinj:13,blah:1,blank:[1,18],block:[1,2,5,8,10,12,13,14,18],blockchain:[5,9,13],bloom:1,bloomfilt:1,blotter:16,blow:16,blue:[4,21],bob:18,bobaddr:10,bobnod:10,bodi:1,boil:5,bond:18,bookkeep:[9,18],boost:9,borrow:21,both:[2,3,4,5,9,10,12,13,16,18],bottom:13,bound:[12,13],bower:16,box:[9,22],branch:15,breach:5,bread:22,breadth:13,breviti:19,brief:14,briefli:[10,21],bring:5,broadcast:[5,10],broke:1,broken:18,browser:16,bug:[1,14,15],bugfix:15,bui:[13,22],builder:[14,18],built:[13,18],bulk:[5,19],bullet:1,bunch:[16,18],bundl:5,busi:[5,6,9,10,12,13,17,18,22],businesscalendar:17,butter:22,button:16,buyer:[],buyersessionid:13,bytearrai:10,bytecod:[5,13,18],cach:10,calcul:[4,6,13,17,18],calendar:[4,12,17],calibr:5,call:[1,2,4,5,9,10,11,13,14,15,18,20],callback:[1,10,13],caller:[2,18],came:13,camel:1,can:[0,1,2,3,4,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,22],cannot:[2,3,5,7,12,14,18],capabl:18,capit:1,capitan:0,captur:6,cardon:14,care:[1,5,10,12,13,20],carefulli:9,cash:[],cashkt:18,cashsigningpubkei:13,cashstat:13,caus:[1,18],center:18,certain:[1,9,14,18],certainti:2,cev:7,chain:[],chaincash:20,chaincashdoublespend:20,chaincashdoublespendfailswith:20,challeng:5,chanc:[1,13],chang:[],changenotari:2,channel:13,charact:1,charg:12,check:[],checkabl:12,checkdepend:13,checksufficientsignatur:[13,17],chf:17,child:13,children:13,childrenfor:13,choic:[1,2,5],choos:[2,7,18],chosen:[2,5],chronolog:6,chunk:[18,22],circl:21,claim:[5,9,18],clash:1,classpath:16,claus:[],clauseverifi:[18,19],clean:[13,14],cleanup:14,clear:[13,17],clearer:[10,13],clearli:1,click:[7,16,21],client:[2,11,12],clock:[6,12,16],clone:[1,7],close:[3,12],closer:2,closur:[1,20],cloud:11,cluster:2,cmd:[18,19],coars:5,code:[],codebas:[1,18],cognit:5,coin:5,collabor:14,colleagu:1,collect:[1,11,14,19],collector:[1,11,13,19],collis:1,colour:16,column:11,com:[0,7,14,16,19,20],combin:[5,8,18,19],come:[5,9,13,14,15],command:[],commanddata:[12,19],commerci:[],commercial_pap:[18,19],commercialpap:[3,9,18,19,21],commercialpaperlegaci:18,commercialpapertest:[18,21],commit:[2,13,15],commod:17,common:[4,5,13,14,17,18,20],commonleg:4,commonli:18,commun:[7,14],compani:12,companion:[13,18,19],compar:[5,10],compat:15,compel:2,complementari:6,complet:[5,6,10,13,14,16,17,18,19,20],complex:[1,3,5,17,18],complic:[13,18],compon:[6,10,14],compos:[13,14,17,18,19],compris:4,comput:[4,12,13],concept:[2,5,6,12,13,14,18],conceptu:13,concern:[5,13,18],conclus:[5,12],concurrenthashmap:1,condit:[2,12,13,20],config:11,configur:[7,11,13,16],confirm:[2,7,10],conflict:[2,5,8],confus:13,connect:[11,18],consid:[1,4,5,12,14,15,18],consist:[4,5,13,14,19],constant:[1,18],constantli:12,constraint:12,construct:[1,2,10,12,13,14,17,18,20,22],constructor:[6,12,18],consult:12,consum:[2,5,6,14],consumingtx:2,consumpt:[6,12],contact:[7,13],contain:[2,4,5,10,11,12,13,15,16,17,18,19,20,22],content:[1,2,5,6,7,10,11,12,18],context:[1,5,11,12,17],continu:[],contract:[],contractreject:20,contractst:[2,6,14,17,18,21],contractstateref:18,contrast:[5,12,13],contribut:17,control:[1,2,5,7,11,13,14,16,18,22],conveni:[1,5,18],convent:[4,13,19],convers:17,convert:[3,4,17,18],convinc:13,copi:[1,5,10,13,18,20,22],copyonwritearraylist:1,copyright:1,corda:[],cordapp:14,core:[3,10,14,17,18,19,20],corner:7,correct:[2,3,5,14,15,18,20],correctli:[5,12,14,18],correspond:18,correspondingli:1,cost:[12,18],could:[1,2,3,5,12,13,17,18],count:4,countabl:14,counter:[1,13],counterparti:[3,4],countri:[12,17],coupl:[12,13],cours:[11,12,18,22],cover:[2,3,5,12,13,17,18,22],cp_program_id:18,creat:[],createdummyir:4,createmessag:10,creation:[4,5,8,18],creator:12,credit:14,crisp:18,criteria:3,critic:[5,15],crop:5,curl:11,currenc:[3,4,9,14,17,18],current:[1,2,4,5,6,9,10,12,13,14,15,17,18,20,21],currentwallet:13,curv:4,custom:[2,11,14,16,17],customis:22,cut:[],cycl:1,dai:[4,6,11,12,15,17,18,21],daniel:14,danks:14,dashboard:11,data:[],databas:[5,9,13],dataset:4,date:[],dateoffset:14,daterollconvent:17,david:14,deadlin:17,deal:[1,12,16,17],dealstat:17,debt:3,debug:13,decd098666b9657314870e192ced0c3519c2c9d395507a238338f8d003929de9:11,decd:11,decentralis:12,decid:[7,12,18],decis:[2,5],declar:[1,10,18,20],dedic:1,defin:[1,2,5,9,10,11,12,13,14,17,18,19,20,21,22],definit:[2,13,17,18,19],delai:[4,12],delet:[1,5,13,14,18],deliber:[5,20],deliv:[3,10,17],deliveri:[9,10,13,16,18],demand:[5,17],demo:[],demonstr:[14,16,22],denial:2,denomin:9,dens:1,depend:[1,2,5,6,7,12,13,14,18,19],dependencytxid:13,deposit:[9,18,20],depth:18,deregist:10,deriv:[4,13,18],describ:[1,2,5,6,8,13,17,18],descript:1,deserv:15,design:[1,2,5,8,9,12,18,19,22],desir:[13,17,18],desktop:11,despit:[13,18],destin:10,destroi:[3,5,18],destroypaperatredempt:[18,21],destructur:18,detail:[],detect:1,determin:[3,4,6],develop:[1,5,9,10,13,14,15,16,18],devic:5,devis:5,diagram:[4,21],diamond:21,didn:[1,13,15,18],differ:[1,3,4,5,6,12,13,14,17,18,19,20],difficult:[10,13],digest:2,digit:[5,12,13,14,18],digitalsignatur:[2,12,13],direct:1,directli:[1,11,17,18],directori:[0,16,18,22],directthreadexecutor:1,dirti:18,disabl:17,disadvantag:5,discov:5,discuss:[5,10,17,18],disk:[13,14,17],disobei:12,disprov:8,disput:[2,4,18],disrupt:10,distinct:1,distinguish:18,distribut:[2,5,8,9,12,13],distrust:[2,13],divid:2,dlg:13,doc:[0,1,14,18],docker:11,docsit:[0,15],doe:[1,2,3,4,5,6,9,10,11,12,13,18,20,22],doesn:[1,2,5,7,10,11,12,13,16,18,20],dokka:0,dollar:[18,20,21],domain:[14,17,18,21],don:[1,5,7,9,10,13,15,18,19,20],done:[0,5,13,14,18],dot:4,doubl:[5,9,16,18],doubt:[1,9],down:[1,5,12,18,19],download:[],downsid:[1,5],drag:21,drive:[5,22],driven:16,driver:[14,22],drm:12,dsl:[14,18,20,21],due:[1,4,5,6,9,12,13,18,19],dummi:[3,18,20],dummy_cash_issu:20,dummy_pubkey_1:[18,20],dummy_pubkey_2:20,duplic:18,durat:[6,12,18],dure:[1,4,6,14],dynam:[14,18,22],each:[1,2,4,5,6,9,10,12,13,14,15,18,19,20,22],earli:[1,18,21,22],earliest:[4,6],eas:10,easi:[1,5,9,12,14,18],easier:[1,13,18],easiest:18,easili:[1,12,13,16],econom:4,ed25519:14,edit:7,editor:7,effect:[4,5,20],either:[1,2,3,4,5,12,13,18,19,20,22],elbonia:17,element:[1,5,19],elimin:9,els:[2,5,18,19],emb:[6,18],embed:[5,11,12],emit:18,empti:[14,18,20],emptyledg:20,enabl:18,encapsul:[1,17],enclos:1,encod:12,encount:9,encrypt:9,end:[1,4,9,12,13,15,19,22],endpoint:11,enforc:[1,5,18],enforceverifyorfail:20,engin:18,english:[1,18],enorm:13,enough:[1,7,10,13,18,22],ensur:[1,2,5,7,10,13,15,16,17,18],enter:[18,20,22],entir:[2,4,5,10,12,18],entireti:4,entiti:[2,5,12,18],entri:[4,5,13,18],enumer:4,environ:[1,12,13],envisag:18,equal:[2,13,18,19,20],equival:[1,4,17,18],especi:[17,21],essenti:[11,12,17,18,19],establish:[6,16],etc:[1,3,4,12,13,14,15,17,18],euribor:[11,12],evalu:[4,12],even:[5,9,10,12,13,14,18,20],event:[],eventu:15,ever:[1,5],everi:[2,5,12,13,14,15,18,22],everybodi:[5,12],everyon:[2,12],everyth:[2,10,18,22],evid:12,evolut:5,evolv:[18,22],exact:[12,18],exactli:[5,10,18],examin:[1,5,12,18],exampl:[],excel:12,except:[1,13,18,19],excess:1,exchang:[4,13,17,18],exclus:3,execut:[5,6,12,16,17,18],executor:[1,10],exercis:18,exhaust:14,exist:[1,2,3,4,5,6,8,14,18,20,22],exit:[3,18],expect:[1,3,6,10,13,15,18,20],expectedtypenam:13,expectfailureoftx:18,expens:1,experi:[5,15,22],experiment:[1,6,13,14],explain:[1,6,10,13,14],explan:1,explicit:[1,5,12,13],explicitli:[1,5,18,20],explor:[1,5,7,8,9,11,18,22],exploratori:10,expos:[1,6,10,11,12,13,17],exposur:[3,4],express:[4,5,9,12,13,14,18,20],extend:[1,2,9,17,18,19],extens:[1,14,17,18],extent:5,extern:[13,22],extract:[5,11,12,13,17,18,19],extractcommand:19,extractgroup:19,extrem:[5,12,18],face:[9,18,21],facevalu:18,fact:[1,2,4,5,12,13,18,20],factor:[4,5],factori:6,fail:[10,18,20],failswith:20,failur:[13,18,20],fairli:[1,13],fake:[16,18,22],fals:[1,10,12,13,17,18],familiar:[5,18],famou:14,far:[13,16,18],fashion:1,fast:[5,10,16],fault:13,featur:[1,13,14,15,18,21],feed:12,feedback:14,feel:[18,22],fetch:[10,11,12],few:[1,9,10,11,12,13,15,16,18],fiber:13,field:[1,4,12,13,14,18,19,21],file:[0,1,5,10,11,13,14,15,16,17,18,22],fill:[1,13,16,18],filter:[1,19],filterisinst:18,finalis:[4,13],financ:[13,14,22],financi:[5,6,8,13,14],find:[0,5,11,13],fine:[5,20],finish:[10,13],firm:18,first:[1,2,4,6,7,10,11,12,13,14,16,17,18,19,22],firstli:18,fit:[1,5],fix:[],fixabledealst:17,fixedleg:4,fixedlegpaymentschedul:4,fixedratepaymentev:4,fixingroledecid:6,fixingsessioninitiationhandl:6,fixof:12,flag:[11,22],flexibl:[2,5],flight:5,floatingleg:[4,6],floatinglegpaymentschedul:4,floatingratepaymentev:4,flow:[1,4,18,19],flux:22,fly:13,fold:1,folder:0,follow:[0,1,2,5,6,7,8,10,11,12,13,16,17,18,19,20,21],font:1,foo:[1,10],foobrokenexcept:1,fooutil:18,forc:[5,11,14,20],fordai:[6,12],forev:15,forget:[13,18],form:[2,5,6,13,16,18,19],formal:[10,18],format:[0,1,5,11],forth:13,forward:[10,12,13,15,16],found:[7,11,12,13,15,19,22],four:[9,18],frame:[1,13],framework:[],free:[5,12,13],freeform:18,freeli:12,frequenc:4,frequent:13,fresh:[12,18,20],freshkei:13,freshli:[17,18],from:[0,1,2,3,4,5,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22],fromcountri:17,front:18,frustrat:5,fulfil:3,full:[1,2,3,10,13,18,19],fulli:[1,5,10,13,14,17,18],fullysign:13,fun:[2,6,12,13,18,19,20],fund:5,fundament:[2,5,8,18],fungibl:[3,9,17,18,19],fungibleasset:[],funni:13,further:[4,5,9,17],futur:[2,3,5,12,13,17,18,21,22],gain:9,game:13,garbag:[1,11,13],gather:18,gavin:5,gbp:17,gcd:5,gear:15,gener:[],generateirsandfixsom:4,generateissu:18,generatemov:18,generateredeem:18,generatespend:[13,18],genuin:1,get:[],getamount:20,getbefor:18,getbloomfilters:1,getclass:18,getclaus:19,getcommand:[18,19],getdummy_cash_issu:20,getdummy_pubkey_1:20,getdummy_pubkey_2:20,getfacevalu:18,getfix:4,getifmatch:19,getifnotmatch:19,getinput:[14,18],getinst:14,getissu:18,getkei:18,getlegalcontractrefer:[18,19],getmaturityd:18,getmega_corp:20,getmega_corp_pubkei:20,getnotarysignatur:2,getoutput:[14,18],getoutst:14,getown:[18,19],getprogramref:18,getprotocoltrack:13,getrequiredcommand:19,getsign:[18,19],getter:18,gettim:18,gettimestampbi:18,getvalu:[18,19],git:[7,15],github:0,giusepp:14,give:[2,5,18],given:[2,5,10,12,13,18],givenpric:13,global:[1,5,12,14],glue:13,gnu:0,goal:[1,5,8,9,13,15],goe:16,gone:[13,14,18],good:[1,7,13,18,20,21,22],got:[11,13],gover:18,grade:17,gradl:[7,15],gradlew:[7,16],grammar:1,granular:5,graph:[5,9,11,13,18,21],graphit:11,great:14,greater:1,greatest:5,green:7,groom:5,group:[],groupclaus:19,groupclauseverifi:19,groupstat:[18,19],guarante:15,guava:1,gui:13,hack:[5,14],had:[2,14,18],hand:[6,13,18],handa:14,handl:[1,2,5,10,13,14,18,19],handler:[6,10,13],happen:[1,2,5,6,12,13,15,18,20],happi:16,hard:[1,5,13,15],harder:[5,18],hase:4,hash:[2,5,9,11,12,13,17,18],hashcod:18,hasn:7,hassl:13,hat:15,have:[1,2,3,4,5,6,7,9,10,12,13,14,15,16,18,19,20,22],haven:18,heap:13,hearn:5,heart:18,heavi:15,heavili:5,hedg:[3,4],heirarchi:1,held:18,hell:13,hello:13,help:[1,5,6,10,13],helper:[4,10,17,18],henc:[2,4,5],her:[18,21],here:[1,5,9,10,11,12,13,14,17,18,20,21,22],hierarch:13,hierarchi:13,high:[5,12,13],higher:[1,2,7,18],highlight:[14,18],histori:[2,13],hit:[5,7],hoc:14,hold:[5,10],holder:[1,5,18],holidai:[4,12,17],home:[7,16],hood:[13,20],hopefulli:22,hotspot:1,how:[],howev:[2,3,4,5,10,12,13,17,18,19,20],html:[0,1],http:[0,7,11,12,16,18,19,22],hub:13,human:[5,12,13],hundr:13,hurt:13,hypothesi:8,idea:[1,5,7,9,13,18,22],ideal:[13,18],ident:[2,5,12,13,17,18,19,20],identifi:[4,5,9,10,11,12,13,17],identityless:5,identityservic:13,ifmatch:19,ifnotmatch:19,ignor:[18,19],illeg:12,illegalargumentexcept:[1,12,13,18,20],illegalstateexcept:1,illustr:1,imagin:[1,13,18],immedi:[5,18],immut:[1,4,5,12,18],imper:1,implement:[],impli:13,implic:[2,5],implicitli:4,impos:[12,13,18],imposs:[5,12],improv:[5,14,15,18,19,21],inbackground:10,includ:[],incompat:20,incorpor:12,increas:[1,10],indent:1,independ:[2,12],index:[4,5,6,7,18],indexsourc:6,indic:[1,4,6,10,13,14,18],individu:[1,10,16,18,20],industri:[8,9,11],infer:[18,20],infix:18,influenc:11,info:13,inform:[1,2,5,13,17,18,19],infrastructur:[5,9,11],inher:5,inherit:[1,10,18],init:12,initi:[2,10,13,14,18,22],initialis:2,inmemorymessagingtest:10,inner:19,inoutgroup:[18,19],input:[2,3,5,12,13,14,17,18,19,20,21],inputcash:20,inputindex:2,insert:[1,10,11,12],insid:[5,10,13,16,18],instal:[0,6,7,16],installdist:16,instanc:[],instant:[1,6,12,13,17,18],instanti:[5,6,13,14],instat:20,instead:[1,5,6,9,14,16,18,22],instig:2,institut:[5,9],institutionrefer:18,instruct:[11,18],instrument:[3,4,6],insuffici:5,insufficientbalanceexcept:18,integ:[14,18],integr:[1,12,13,14,21],intellig:1,intend:[1,3,5,11,12,13,17,20],intent:[12,18,21],intention:1,inter:[9,14],interact:[1,5,12,13,14],interchang:17,interest:[],interestrateswap:9,interfac:[],intern:[1,9,10,17,18],internalis:1,interop:[9,18],interpret:[1,5,18],intersect:18,interv:17,intesa:14,introduc:[1,2,6,12,14,17,18],intuit:1,invalid:[2,12,13,18],invari:18,investig:13,invoc:10,invok:[1,5,6,10,11,13,14,18],involv:[2,3,5,10,12,13,17,18,22],ipsa:12,irrelev:6,irsdemo:16,irsexport:4,irstest:4,irsutil:4,irswebdemo:16,isbefor:18,isempti:18,isinst:13,isn:[1,13,18,22],issu:[2,3,5,9,10,12,14,15,17,18,19,20,21,22],issuanc:[3,13,17,18,19,21],issuedbi:20,issuer:[3,5,18,20],item:18,iter:[13,15,18],itself:[2,4,5,6,10,11,12,13,18,20],jar:[0,5,11],jarinputstream:5,java:[1,5,6,9,10,11,13,14,18,19,20,22],javaclass:13,javacommercialpap:[18,19],javadoc:1,javatesthelp:20,jdk1:7,jdk:[7,13,14,18],jetbrain:[7,9],jmx2graphit:11,jmx:11,jmxtran:11,job:22,johann:14,join:[10,18],joint:18,jolokia:11,json:[11,22],judgement:1,jump:16,junit:18,just:[1,5,7,10,11,13,14,17,18,20,22],justifi:8,jvm:[5,9,11,13,22],kafka:10,kdoc:1,keep:[5,13,18,21],kei:[1,3,5,9,10,12,13,17,18,19,20],kept:13,key_mismatch_at_issu:18,keymanagementservic:13,keypair:[13,18],keyword:[1,18,20],kick:13,kind:[5,9,10,12,13,18,22],know:[2,5,6,9,12,13,16,20],knowledg:12,known:[],kotin:18,kotlin:[],kryo:[10,13],label:[13,18,20,21],labori:18,lack:[],lambda:20,land:4,lang:20,languag:[1,5,7,8,9,14,17,18,21,22],larg:[5,12,13,14,17,18,22],larger:[1,5],last:[15,20],latenc:[2,12],later:[1,5,9,10,12,13,14,17,18,19],latest:[1,7,14],latter:[1,18],launch:6,layer:[5,10,13],layout:21,lead:[1,5,18],leak:[2,5,13],learn:[5,8,13,16,18,22],least:[12,18],leav:[1,13],ledger:[2,3,4,5,8,11,12,13,14,18,20,21],ledgertransact:17,left:[10,13,16,19,20],leg:[4,6,9],legal:[2,5,12,17,18],legalcontractrefer:[18,19],legallyidentifi:[2,12,13],legallyidentifiablenod:13,less:[13,18,21],let:[1,5,6,11,12,13,14,16,17,18,19,20],letter:1,level:[1,2,4,7,10,12,13,17,18,19,20],lib:0,liber:1,libor:[4,11,12],librari:[1,11,12,13,17,18],licens:1,life:22,lifecycl:[],lifecyl:3,lifetim:4,like:[1,2,4,5,6,7,10,11,12,13,15,17,18,19,22],likewis:18,limit:[3,5,8,18],line:[],linearst:17,liner:1,link:[1,5,12,13,17,18],linkabl:5,linux:[11,14],list:[0,5,10,12,13,14,15,16,17,18,19],listen:1,listenablefutur:13,listof:19,liter:5,littl:[1,18,20],live:4,livelock:5,load:[2,5,14,16,17,18,22],loan:[3,4,12],local:[0,5,7,11,12,13,20],locald:12,localhost:[11,16],locat:[17,18],lock:[1,3,18],log4j:14,log:[13,14,16],logger:13,logic:[2,5,6,9,10,13,14,18,19,22],longer:[1,4,12,13,14],look:[1,4,10,11,12,13,15,18,19,20,22],loop:[1,4,18],loquitur:12,loss:12,lot:[1,4,5,16,22],low:[2,13],lower:[1,12],lurch:13,mac:11,machin:[],maco:16,made:[1,4,5,8,13,14,15,19],mai:[1,5,9,10,11,12,13,14,15,18,19,20,22],mail:[15,16],main:[6,13,16,18,21,22],maintain:[2,5],maintan:12,mainten:10,major:15,make:[0,1,2,4,5,10,12,13,14,15,16,18],makenod:10,maker:9,malici:13,manag:[],mani:[1,5,6,9,10,12,13,14,17,18],manipul:17,manner:13,manual:[6,10],map:[],mappabl:18,mark:[1,3,13,18],markdown:1,marker:[13,18],market:8,master:15,match:[5,10,12,13,18,19],matchbehaviour:19,matter:18,matur:[3,4,11,12,18],maturityd:18,maven:7,maximis:5,maximum:5,maybestx:13,maybetraderequest:13,mbean:11,mean:[1,5,6,10,12,13,17],meaning:[2,3],measur:[4,18],mechan:[14,18],meet:18,mega_corp:[18,20],mega_corp_kei:18,mega_corp_pubkei:[20,21],megacorp:[18,21],member:[4,14],memori:[],menlo:1,mention:[6,13],menu:7,mere:[4,18],merg:[5,9,14,17,18],mess:13,messag:[],messagehandlerregistr:10,messagerecipi:10,messagerecipientgroup:10,messagingservic:[10,13],method:[],metric:11,middl:[1,10,13],might:[1,4,5,7,13,18],mike:5,mileston:[],mind:[1,12,13,18],mine:5,mini:19,minim:[5,13],minimis:[2,3,5,10],minimum:[4,5],minor:15,minu:18,minut:[9,12],misc:10,mismatch:20,miss:[1,13,18,20,22],missingsig:13,mission:11,mix:[1,13,18],mock:10,mockservic:17,mode:10,model:[],modest:5,modif:[17,18],modifi:[2,3,4,7,13,17,18,19],modul:[1,10,14,18],moment:[10,14],monei:[12,18],monetari:18,monitor:[],month:[4,13,15],more:[1,2,3,4,5,9,10,11,12,13,14,16,17,18],moreexecutor:1,mortensen:14,most:[1,4,5,10,11,12,13,18],mostli:18,move:[3,13,14,15,18,19,20,21],movement:[13,18],much:[1,5,9,13,14,18,22],multi:[1,9,13,18],multilater:[3,14],multipli:4,must:[1,2,3,5,6,10,11,12,13,16,17,18,19,22],mustafa:14,mutabl:[1,5,17,18],mutat:5,mutual:[2,3,13],myfil:11,mykei:17,mykeypair:13,nail:1,namedbyhash:17,namespac:13,narrow:1,nativ:13,natixi:14,natur:18,naval:[5,12],navig:16,navistar:12,neat:20,necessari:[1,2,15,16],nee:14,need:[0,1,2,4,5,6,8,10,11,13,15,16,17,18,19,20,22],negoti:[5,17],neither:[13,18],nest:13,net:[3,4,14,18,21],nettabl:9,network:[],neutral:9,never:[1,5,12,18,19],newli:[6,13],newnotari:2,newown:18,newsecurerandom:14,next:[1,4,6,7,13,14,18],nextfixingof:6,nextscheduledact:6,nice:16,nio:1,nix:16,noddi:11,node:[],nodea:16,nodeb:16,nodeinterestr:12,nodej:16,nodeservic:12,non:[],none:[6,13],nonemptyset:14,nordea:14,normal:[3,4,13,17,18,19],not_matured_at_redempt:18,notabl:1,notaris:[2,17],notarychang:14,notarychangeprotocol:2,notaryexcept:2,notaryprotocol:2,notaryservic:14,notarytous:17,notat:13,note:[],noth:[1,5,6,14,18],notic:[1,18],notif:10,notifi:10,notion:[4,5,18],notnul:[18,19],now:[1,5,7,10,12,13,14,16,17,18,20,21,22],npm:16,nugget:18,nullpublickei:18,number:[1,3,4,5,10,12,13,15,16,17,18],numer:5,obj:18,object:[1,3,4,5,6,9,10,11,12,13,14,17,18,19,21,22],oblig:[],obligor:3,observ:[4,5,6,12,13],observatori:[5,12],obsolet:6,obtain:[],obviou:[1,2,5,12],obvious:[4,18],occasion:[],occur:[2,6,12,13,18],occurr:12,odd:[13,18],off:[10,13,18,21],offer:13,offlin:10,offset:4,often:[1,3,4,5,12,13,18],oftenor:12,oil:[14,20],old:2,omit:6,onc:[0,1,2,4,6,9,10,12,13,15,17,18,22],onli:[1,2,4,5,9,10,11,12,13,14,18,19,21,22],onto:[1,13,18,21],opaqu:[9,10],opaquebyt:18,open:[2,5,7,12,13,16,21],openjdk:7,oper:[4,6,10,11,12,13,18],optim:1,option:[0,1,4,6,10,12,13,18,19,22],oracl:[],orchestr:[8,9,14,22],ordain:4,order:[0,1,2,3,4,5,9,10,13,17,18,19,21],ordinari:[5,13,18],org:[0,7,16,18,19],orient:[],origin:[17,18],originalst:2,otc:9,other:[1,2,3,4,5,6,9,10,12,13,16,17,18,20],othersid:13,otherwis:[1,6,13,18,19],our:[1,2,5,6,13,14,15,18,20],ourselv:[13,18,22],oursignatur:13,out:[1,2,3,5,6,7,9,11,12,13,15,18,19],outag:10,outcom:13,outer:19,outermost:19,outlin:[5,13],outpoint:5,output:[2,3,5,12,13,14,16,17,18,19,20,21],outsid:[5,10,12,13,18,22],outstand:3,outstat:18,over:[1,2,4,5,10,11,12,13,17,18],overal:[2,6,10,20],overdu:6,overflow:1,overload:13,overnight:17,overrid:[6,13,18,19],overwhelm:5,own:[1,2,3,10,11,12,13,14,15,18,20,21,22],ownablest:[13,17],owned_bi:18,owner:[13,17,18,19,20],ownership:[13,18],owningkei:[13,18],ozturk:14,p2p:[13,14],pack:18,packag:14,packet:5,page:[7,12,16,18],pai:[3,12,13,18,21],paid:[3,4,5],pair:[5,13,18],paper:[],paper_1:[18,21],parallel:[5,10,13],parallelis:5,paramet:[1,6,13,16,18,19],parameteris:5,parent:13,pars:[12,22],part:[1,2,3,5,6,12,13,14,17,18,19,22],parti:[],partial:[2,13,18,20],partialtx:13,particip:[2,5,14,18,22],particular:[1,2,5,11,13,14],partyandrefer:1,partyrefer:[1,18],pascal:1,pass:[2,10,13,18,19,21],past:[1,12,16,18,22],patch:1,path:[1,6,11,14,18],pattern:[1,5,18],paye:5,payer:[4,5],payment:[3,4,5,6,12,13,16,18,21],pdf:12,peer:[9,10,12,13],penni:18,peopl:[1,5,9,18],per:[1,5,6,22],perform:[1,2,4,5,6,12,13,16,18],perhap:[1,5,6,18],period:4,perman:18,persist:[9,10,13,14],perspect:[5,13,18],phrase:12,physic:[2,12,14],pick:[10,13,14,15,18,22],piec:[1,2,5,10,13,18,20],ping:10,pip:0,pki:[5,14],place:[0,1,4,5,6,9,10,12,13,14,15,17,18,22],plai:13,plan:[10,16],platform:[],pleas:[1,5,7,14,16,18],pluggabl:14,plugin:[7,11],point:[1,2,3,5,6,11,12,13,15,18],pointer:[2,13,17],pointless:1,pong:10,pool:[1,5,13],poor:5,pop:[7,10],popular:9,popup:7,port:[14,15,16],posess:13,posit:[1,2,5,13],possess:2,possibl:[5,10,12,13,18],post:19,potenti:[1,2,9,13,18],pound:18,power:[5,8],practic:[5,18],pre:[0,4,5,13,18,20,22],preced:18,precis:[5,9,12],precondit:1,prefer:[1,5],prefix:[1,13],preliminari:10,prepar:[5,18],present:[2,3,4,8,12,17,18,19],preserv:[2,5],press:18,pretend:[11,17],pretti:[5,13,18],prevent:18,previou:[5,14,17,20],previous:[4,6,12,14],price:[5,12,13],primari:[9,12],primarili:3,primit:[18,20],print:16,priv:13,privaci:[1,2,5,13,14,18],privat:[1,5,13,18,22],privatefoo:1,probabl:[7,12,18,22],problem:[2,5,12,13],proce:13,procedur:13,process:[],processor:5,produc:[0,6,18,20,21],product:[1,6,8,9,15,17,18],profit:[18,21],profound:5,program:[1,5,10,11,13,14,16,17,18,22],programref:18,progress:[],progresstrack:13,project:[7,14,16],prolif:14,promis:14,proof:[5,8],propag:[8,11,18,19],properli:13,propos:[8,13],prose:[12,17],protect:13,protocol:[],protocollog:[6,13],protocollogicref:6,protocollogicreffactori:6,protocolstatemachin:13,protocoltrack:13,prototyp:[1,5,8,9,12,18],prove:[2,5,8,18],provid:[0,1,2,3,4,5,10,11,12,13,14,17,18,19,22],provision:17,pseudo:12,ptx:13,pubkei:20,publicfoo:1,publickei:[],publicli:[],pull:7,pump:10,punish:12,purchas:[13,16],pure:[3,5,12],purpos:[3,9,13,18],push:15,put:[1,13,15,18,22],python:0,qualiti:8,quantiti:[5,9,18],quasar:13,queri:[4,6,12],question:[1,2,6,7,12],queu:10,queue:[1,10,13],quick:12,quickli:[5,10,18],quit:[1,12,13,18],r3corda:[14,16,19,20],r3dlg:15,r3prototyp:[0,7,16],r3repositori:7,rais:2,random63bitvalu:13,random:[5,6,13,14],rang:12,rapid:[1,9,15],rate:[],ratefixprotocol:12,rather:[1,5,13,14,18],raw:[11,13],reach:[2,4,5,6,12],reachabl:13,read:[1,5,8,9,11,12,13,18,22],readabl:[9,13],reader:18,readi:[15,18],readili:17,readm:1,real:[1,10,12,14,17,18,22],realis:13,realism:10,realist:17,realiti:4,realli:[1,2,5,13,18],reason:[1,4,5,13,17,18],reassign:18,recal:4,receiv:[3,4,5,10,12,13,15,18,21],receiveandcheckproposedtransact:13,receiveandvalidatetraderequest:13,recent:14,recipi:[3,5,10,18],recognis:[5,12,18],recommend:[1,10,22],record:[2,6,10],recordtransact:6,recov:10,recreat:13,red:[4,7],redeem:[3,9,18,19,21],redempt:[18,21],redemptiontim:[18,21],redesign:14,reduc:1,redund:1,ref:[13,18,20],refactor:14,refer:[1,2,3,4,5,6,9,12,13,14,17,18,20],referenc:2,refin:9,reflect:[18,19],refus:7,regard:2,regardless:13,regener:[4,15],regist:[1,10,11,13,22],registr:10,regular:[11,13,18],reissuanc:[5,18],reject:18,rel:[5,10,19],relabelablestep:13,relat:[4,18],relationship:18,releas:[],relev:[5,14,17,19],reli:5,reliabl:10,relianc:5,relic:11,religi:1,remain:[6,18,21],remeb:7,rememb:[1,6,7,13,18],remind:13,remot:7,remov:[10,13,18],renam:14,render:[1,13,21],repeat:[1,4,10,13],replac:[2,4,7,11,14,15,17,18],replic:5,repoint:2,report:[10,19],repositori:[],repres:[1,3,4,5,10,12,13,17,18],represent:4,request:[2,5,10,12,13,14],requestingparti:2,requiredcommand:19,requiresinglecommand:[18,19],requirethat:[18,19],research:14,resel:12,reserv:13,reset:4,reshap:5,resolut:[2,5,8,13],resolv:[1,13,17],resolvetransactionsprotocol:13,resourc:[13,16],respect:[1,5,13,16,18],respend:5,respons:[2,5,6,10,12,13],rest:[2,5,9,10,11,13,14,22],restart:[7,13],restor:13,restrict:1,restructur:19,restructuredtext:0,result:[1,2,4,5,12,13,18,19],resultfutur:13,resum:[13,14],resurrect:13,retain:10,retri:[9,10,13],retriev:[2,4],retrieveoutput:20,reus:[5,13,20],reusabl:[12,14,18,19],reveal:[2,5,13,18],revers:13,revert:3,review:[1,14,15],revis:4,rewrit:13,right:[1,7,10,11,13,15,22],rigid:5,rigidli:1,risk:13,robert:14,robust:14,role:[6,16,22],roll:[4,13,16],rollov:[17,18],root:[15,16,18,21],rotat:14,roughli:[12,15],rout:13,router:10,rui:14,ruin:20,rule:[1,12,13,14,18],run:[],runbuy:13,runnetwork:10,runsel:13,runtim:[1,13],safe:[1,5,13,18],safeti:1,sai:[1,2,5,18],sale:[16,18],same:[1,2,3,4,5,6,9,10,12,13,16,18,19,20,21],sandbox:[5,6,9,18],saniti:13,santiago:14,satisfi:18,save:[1,14,18],scala:[9,18],scalabl:[1,5],scale:4,scenario:[5,22],scene:[13,18],schedulablest:6,scheduledact:6,scope:[5,18,19],scotiabank:14,scrape:11,scratch:[17,22],screen:[1,7],script:[0,5,18],scroll:16,scrub:13,seamless:9,search:[7,13,18],second:[4,13,16,17,18],secondari:13,secp256r1:14,section:[5,15,18],secur:[5,6,10,13],securehash:[2,18,19],securerandom:14,see:[0,1,2,3,4,6,9,10,12,13,16,17,18,19,22],seed:13,seek:5,seem:5,seen:[1,4,12,13,18,21],select:[2,7,14,18,19],self:14,sell:[13,18,22],seller:[],sellerownerkei:13,sellersig:13,sellertradeinfo:13,semi:[5,12],send:[1,5,10,11,12,13,15,18,20],sendandrec:13,sender:5,sendsignatur:13,sens:[4,12,13,18],sensit:6,sent:[6,10,13,18],separ:[2,5,11,12,13,16,17,18],sequenc:[5,10],sequenti:[10,13],seri:13,serial:[9,10,18],serialis:[1,5,9,10,13,18],serializablewithkryo:18,serializeablewithkryo:18,seriou:[5,15],serious:22,server:[11,12,22],servicehub:[6,13],session:[6,10,13],sessionid:[6,13],set:[],setof:[13,19],setter:18,settim:[13,17],settl:[3,10,12,17],settlement:[3,13],setup:6,setupa:16,setupb:16,sever:[5,13,18,20,22],sha256:[18,19],sha256sum:11,sha:[5,11],shape:5,share:[4,5,12,13,14,18,19,22],shasum:11,she:18,shortcut:9,shorthand:[18,20],shot:10,should:[1,2,3,5,6,7,9,10,13,14,16,17,18,19,20,22],shoulder:1,shouldn:[13,18],show:[5,7,9,16,18,21],shown:[13,18],shutdown:13,side:[12,13],sig:18,sign:[2,4,5,9,10,12,13,14,17,18,19,20],signatureexcept:13,signaturesfromsel:13,signedtransact:[13,17,18],signer:[12,18,19],signific:[5,14],significantli:4,signoff:12,signwith:[13,17,18],signwithecdsa:13,signwithourkei:13,silver:1,similar:[1,5,10,12,14,18,19],simpl:[1,3,4,5,9,10,11,13,18,19,21],simplecash:20,simplecashdoesntcompil:20,simplecashfailswith:20,simplecashsuccess:20,simplecashtweaksuccess:20,simplecashtweaksuccesstopleveltransact:20,simplenotaryservic:2,simpler:[5,9],simplest:[5,13,18,22],simpli:[1,2,5,10,13,17,18,20],simplif:14,simplifi:[1,3,5,10,17,18,22],simultan:[5,10,13,18],singl:[],singleclaus:19,singlemessagerecipi:[10,13],singleton:[13,18,19],singletonlist:19,sit:10,site:[1,15],situat:[1,5],size:[1,4,5,13,18,19],skip:[13,17],slight:18,slightli:18,slip:15,slow:[1,5],slowest:5,small:[5,6,12,13,16,18,21],smaller:14,smart:[],smm:13,smooth:18,snake:20,snapshot:[5,14,15],snide:0,snippet:[2,13,18],softwar:[13,15,22],sofu:14,sold:[13,18,21],solv:[5,12,13],solvenc:12,some:[1,2,3,5,6,9,10,11,12,13,14,16,17,18,19,20,21,22],somed:18,someon:[2,5,10,18],someprofit:[18,21],someth:[1,4,5,7,16,17,18,19,22],sometim:[5,10,11,12,13,18],somewhat:[5,13,14],somewher:[18,21],sophist:5,sort:[12,13],sound:[1,13,18,21],sourc:[4,6,7,12,13],sparingli:1,special:[2,5,20],specialis:[13,19],specif:[2,5,6,10,11,12,13,14,17,18,19,21],specifi:[0,1,2,3,5,9,10,12,13,14,18,19,20,22],speed:[5,13],spend:[5,9,13,18],spent:[5,20],sphinx:0,sphinx_rtd_them:0,spirit:14,split:[5,9,14,17,18],spread:[2,10,13],spreadsheet:12,squar:21,src:[16,18,21,22],ssl:[9,14],stabilis:15,stabl:15,stack:13,stage:[1,13,18,22],stai:[5,18],stake:5,standalon:12,standard:[1,8,11,13,17,18,19],standardis:[5,17,18],start:[],state:[],stateandref:[2,13,17,18],statehistori:2,stateless:5,statemachinemanag:13,statement:[1,5,12,13,18],stateref:[2,5,6,17],statesoftyp:13,statist:11,status:5,step:[],still:[2,5,6,13,14,18,22],stock:[5,12],stop:[1,10,13],storag:5,store:[2,13,14,17,18],stori:[1,14],straightforward:[13,18],stream:[13,19],stress:1,strictli:[4,5],string:[10,12,13,18],strong:9,structur:[1,5,7,9,12,13,18],studi:18,stuff:[1,13],stx:[13,17],sub:[1,13],subclass:[13,17],subclaus:19,subgroup:5,submiss:12,submit:[1,2,10,13,16],subprotocol:[2,13],subscrib:10,subsequ:20,subset:3,subtask:13,subtl:[1,5],successor:[2,6,9],succinct:1,sudo:[0,16],suffer:5,suffic:12,suffici:[5,8,10,12,15,17],suffix:18,suggest:[10,18],suggestinterestrateannouncementtimewindow:6,suit:14,suitabl:[6,10,15],sukrit:14,sum:[18,20],sumcashbi:[13,18],sumcashornul:18,summari:[],summaris:5,sun:1,superclass:[13,14,17],superior:1,supersed:5,supertyp:18,suppli:[3,16],support:[],suppos:[13,18],suppress:[1,14],suppresswarn:1,sure:[2,14,15,16,18,22],surfac:13,surround:[1,18],surviv:13,suspend:[],swap:[],swapsignatureswithsel:13,symbol:7,synchronis:[1,5,12],syntax:[9,18],system:[2,5,9,11,12,13,14,16,18],tab:[1,7],tackl:[14,19],tag:[1,15],tailor:8,take:[1,4,6,9,13,15,17,18,19,20,21],tamper:13,target:[0,1,5,9,11],targetrecipi:10,task:[5,6,13],team:7,technic:[],techniqu:[1,5,12,18],tell:[0,10,13],templat:17,tempor:12,temporari:5,temporarili:[13,15],tempt:18,temptat:13,ten:18,tenor:[4,11,12,17],term:[3,5,6,17,18,19],termin:[4,11,13,16],terminolog:5,test:[],test_tx_tim:18,testutil:18,testwithinmemorynetwork:10,text:[1,7,11,20],than:[1,2,5,8,11,13,14,18,21],thank:14,thedao:14,thei:[1,3,4,5,6,9,10,11,12,13,15,16,17,18,19],theirsessionid:13,them:[1,4,5,6,7,9,10,11,13,14,15,16,17,18,20,22],themselv:[10,12,13,17,18],theori:[],therefor:[5,7,9,13,15,18],thi:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],thing:[1,5,6,9,12,13,14,16,17,18,22],think:[1,5,7,13,18],third:[5,16,18],thisstateref:6,those:[5,6,10,11,12,13,16,17,18],though:[10,11,13,18],thought:[5,9],thousand:20,threadsaf:1,three:[16,17,18],threshold:18,through:[4,5,6,11,13,14,18,19,20,22],throughput:[2,5],throwifsignaturesaremiss:13,thrown:[18,19],thu:[1,5,6,11,12,17,18],tighten:18,tightli:13,time:[1,2,3,4,5,6,9,11,12,13,14,16,17,18,21],timelin:18,timestamp:[],timestampauthoritysig:13,timestampcommand:[12,18],timestampercli:18,timestamperservic:12,timestampingauthor:13,timestampingprotocol:13,titl:7,todo:[1,13,18],togeth:[3,5,13,14,18,19],token:[17,19],told:1,toledgertransact:[13,17],toler:[2,6,12],tolist:19,too:[1,13,18,21],took:13,tool:[9,11],toolbar:7,top:[1,5,7,13,16,18,19],topic:[10,13,22],topicsess:14,toplevel:20,topriv:13,toset:13,tosignedtransact:[13,17,18],tostr:[1,13,18],total:[5,18],toward:[14,15],towiretransact:17,trace:13,track:[],tracker:13,trade1:16,trade:[],trade_top:13,tradeoff:[],trader:[],traderdemo:22,traderequest:13,tradit:[5,18],traffic:[5,13],transact:[],transactionbuild:[13,14,17,18],transactionforcontract:19,transactionforverif:18,transactiongroup:18,transactiongroupdsl:21,transactiongroupfor:21,transactiongroupfortest:18,transactionst:[2,14,17],transactiontyp:14,transactionverificationexcept:20,transfer:[18,20],transit:[8,18,22],treat:18,tree:13,tri:[5,18],tricki:[5,13],trigger:[3,6,12,16,19],trim:19,trivial:[1,5],trust:[3,5,13],truth:13,tsa:[5,13],tsasig:13,tupl:1,ture:5,turn:[5,13,17,18,19,20,22],tutori:[3,8,9,12,13,14,18,19,20,22],tweak:20,twice:[9,20],two:[],twopartydealprotocol:6,twopartytradeprotocol:13,txb:17,txbit:13,txhash:[5,13,18],txt:11,type:[],typenam:13,typetobui:13,typic:[5,6,10,11,13,17,18,22],unacceptablepriceexcept:13,under:[0,13,15,18,20,22],underli:[3,4,5,13,17],underscor:[1,18],understand:[5,10,11,18,21,22],unexecut:18,unexpect:13,unfinish:13,unfortun:[13,18],unguess:13,unicredit:14,unifi:[14,22],uniform:6,unindex:7,uniqu:[2,5,12,13,14],unit:[2,5,7,9,10,13,14,17,18,19,20,21,22],unix:[11,16],unknow:12,unless:[1,12,13,15,18,22],unlik:[3,7,18],unmatch:19,unnatur:5,unnecessari:18,unpack:[13,18],unprocess:19,unqiu:6,unread:13,unrecognis:18,unrel:18,unreleas:[],unschedul:6,unserialis:13,unset:4,unspent:5,unstart:13,unsupportedoperationexcept:[18,19],until:[2,4,5,6,10,13,15,19,20,22],untrustworthydata:13,unus:10,unusu:18,unverifiedtransact:20,upcom:[6,14],updat:[5,7,10,13,14,15,18],upgrad:[7,8,14],upload:[],upon:[4,13,18],upward:15,url:[7,16],usabl:[9,14,15],usag:[1,12,13,18],usd:17,useless:18,user:[0,1,5,7,9,10,12,13,14],usr:0,usual:[1,5,15],utc:6,util:[10,14,18],vagu:1,val:[1,2,6,10,12,13,17,18,19,20,21],validatingnotaryservic:2,valu:[1,3,4,5,9,12,18,19,20,21],valuabl:12,valuat:4,vanilla:[3,4,9],vari:[],variabl:[1,4,5,13,18],variant:18,variou:[1,5,9,11,13,18],vehicl:5,vendor:[9,11],verbos:18,veri:[1,3,5,9,12,20,21,22],verif:[3,5,9,19,20],verifi:[],verifytransact:13,versa:[3,4,13,17],version:[4,7,10,13,14,15,17,18],versu:13,vertic:1,via:[0,1,4,5,6,11,12,13,16,18,22],vice:[3,4,13,17],view:[1,4,16],virtual:[5,8],visibl:[2,5],visualis:[],vital:13,wai:[1,5,6,9,11,12,13,14,18,19,20,22],wait:[6,7,10,13,16],wake:14,wallet:[5,6,13,14,18],walletservic:13,want:[1,5,7,10,11,12,13,14,18,20,22],weak:12,wear:15,web:[8,11,12,14],websit:18,weekend:4,well:[0,1,4,5,6,9,11,12,13,17,18,19],went:1,were:[1,5,12,13,18],what:[],whatev:[1,13,17],when:[1,2,3,4,5,6,10,11,12,13,14,17,18,20],whenev:1,where:[],wherea:4,wherev:11,whether:[2,3,10,12,13,19],which:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,22],whilst:[5,12,13,16,18],whitelist:[3,6],who:[1,5,9,10,13,14,18],whole:[2,18,20],whom:[3,5,10],whose:[11,17],why:[1,5,9,18],wide:[1,10,18],widescreen:1,widespread:1,width:1,wiki:[5,18,19],wikipedia:[18,19],window:[5,7,13,16,21],wire:22,wirecommand:18,wiretransact:[2,12,13,17],wish:[5,10,12,13,14,18,22],within:[0,1,2,5,11,16,20],withitem:17,withkei:13,withnewown:13,without:[],withoutown:[18,19],won:[10,12,13,16,18,20],word:[1,2],work:[1,2,4,5,6,7,8,9,10,11,12,13,14,16,17,18],worker:1,world:[5,12,13,18,20],worn:18,worri:[1,9,13],worst:5,worth:[1,18],worthless:12,would:[1,3,4,5,9,10,11,12,13,17,18,22],wouldn:[12,18],wrap:[1,11,13,14,17,18,19,22],wrapper:[1,2,13],write:[],written:[0,4,5,9,14,18],wrong:[1,13,16,20],wrote:5,wtx:[2,12,13],www:[0,7],year:4,yet:[1,4,5,9,13,14,17,18],yield:[5,13],you:[0,1,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,22],your:[],your_usernam:7,yourself:5,zero:[5,18],zip:[5,11],zone:6,zoneddatetim:6},titles:["Building the documentation","Code style guide","Consensus model","Platform contracts","Interest Rate Swaps","Data model","Event scheduling","Getting set up","Welcome to the Corda repository!","What’s included?","Networking and messaging","Node administration","Writing oracle services","Protocol state machines","Release notes","Release process","Running the demos","Data types","Writing a contract","Writing a contract using clauses","Writing a contract test","Using the visualiser","Where to start"],titleterms:{"class":[18,19],"function":18,about:7,administr:11,adopt:5,amount:17,api:18,approach:12,assert:[1,12],asset:18,attach:11,base:18,basic:12,bitcoin:5,build:0,buyer:13,cash:[3,17],chain:20,chang:2,check:18,claus:[18,19],code:1,command:18,comment:1,commerci:[3,18,19],comparison:5,compil:1,complain:7,con:5,consensu:2,continu:12,contract:[3,9,18,19,20],corda:8,creat:4,cut:15,data:[5,12,17],date:17,demo:[16,22],detail:4,document:0,download:11,error:1,ethereum:5,event:6,exampl:6,fix:11,framework:12,fungibleasset:17,gener:[1,18],get:7,group:[18,19],guid:1,how:[6,18],implement:[6,10,12,13],includ:9,instanc:4,intellij:7,interest:[3,4,11],interfac:10,introduct:[6,12,13],known:12,kotlin:9,lack:7,length:1,lifecycl:[4,17],line:1,machin:13,manag:13,map:10,memori:10,messag:10,method:13,mileston:14,model:[2,5],monitor:11,multipl:2,name:1,network:10,node:11,non:18,notari:2,note:14,oblig:3,obtain:2,occasion:12,oracl:12,orient:18,overview:5,paper:[3,18,19],parti:[13,17],platform:3,pro:5,process:15,progress:13,properti:1,protocol:13,publickei:17,publicli:12,rate:[3,4,11],rational:5,releas:[14,15],repositori:8,requir:[0,18],run:[2,16],schedul:6,sdk:7,seller:13,servic:[2,10,12],set:7,signatur:2,singl:20,smart:18,space:1,start:[18,22],state:[13,17,18],step:15,style:[1,5],summari:19,support:17,suspend:13,swap:[3,4],technic:4,test:[18,20],theori:13,thread:1,timestamp:2,track:13,trade:13,tradeoff:5,trader:[16,22],transact:[17,20],two:[12,13],type:17,unreleas:[],upload:11,utxo:5,valid:2,vari:12,verifi:18,visualis:21,warn:1,web:16,welcom:8,what:9,where:22,without:7,write:[12,18,19,20],your:[11,18]}}) \ No newline at end of file diff --git a/docs/build/html/transaction-data-types.html b/docs/build/html/transaction-data-types.html index 1a84e9952a..98582a2338 100644 --- a/docs/build/html/transaction-data-types.html +++ b/docs/build/html/transaction-data-types.html @@ -103,7 +103,11 @@
    • Networking and messaging
    • Running the demos
    • Node administration
    • -
    • The Interest Rate Swap Contract
    • +
    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

      @@ -193,13 +197,13 @@ verifying their correctness.

      The DSL keyword ledger takes a closure that can build up several transactions and may verify their overall -correctness.

      +correctness. A ledger is effectively a fresh world with no pre-existing transactions or services within it.

      Let’s add a Cash transaction:

      @Test
       fun simpleCashDoesntCompile() {
           val inState = Cash.State(
      -            amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
      +            amount = 1000.DOLLARS `issued by` DUMMY_CASH_ISSUER,
                   owner = DUMMY_PUBKEY_1
           )
           ledger {
      @@ -213,7 +217,7 @@ fun simpleCashDoesntCompile() {
       
      @Test
       public void simpleCashDoesntCompile() {
           Cash.State inState = new Cash.State(
      -            issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
      +            issuedBy(DOLLARS(1000), getDUMMY_CASH_ISSUER()),
                   getDUMMY_PUBKEY_1()
           );
           ledger(l -> {
      @@ -276,9 +280,14 @@ fun simpleCash() {
       

      The code finally compiles. When run, it produces the following error:

      -
      com.r3corda.core.contracts.TransactionVerificationException$ContractRejection: java.lang.IllegalArgumentException: Failed requirement: for deposit [0101] at issuer MegaCorp the amounts balance
      +
      com.r3corda.core.contracts.TransactionVerificationException$ContractRejection: java.lang.IllegalArgumentException: Failed requirement: for deposit [01] at issuer Snake Oil Issuer the amounts balance
       
      +
      +

      Note

      +

      The reference here to the ‘Snake Oil Issuer’ is because we are using the pre-canned DUMMY_CASH_ISSUER +identity as the issuer of our cash.

      +

      The transaction verification failed, because the sum of inputs does not equal the sum of outputs. We can specify that this is intended behaviour by changing this.verifies() to this `fails with` "the amounts balance":

      diff --git a/docs/build/html/visualiser.html b/docs/build/html/visualiser.html index aa5df49f70..4bc9586291 100644 --- a/docs/build/html/visualiser.html +++ b/docs/build/html/visualiser.html @@ -95,7 +95,11 @@
    • Networking and messaging
    • Running the demos
    • Node administration
    • -
    • The Interest Rate Swap Contract
    • +
    +

    Contracts

    +

    Tutorials

    +

    Contracts

    +

    Tutorials

      @@ -229,7 +233,7 @@ we do not recommend you try this as part of your initial explorations unless you Next - Previous + Previous