From 1081e8d2ce8dc5182ed1bc7a0af9a7a416a9a30f Mon Sep 17 00:00:00 2001
From: Mike Hearn
Date: Mon, 1 Aug 2016 13:16:47 +0200
Subject: [PATCH] Regen docsite
---
.../html/_sources/contract-catalogue.txt | 64 ++
docs/build/html/_sources/contract-irs.txt | 8 +-
docs/build/html/_sources/index.txt | 8 +-
docs/build/html/_sources/release-notes.txt | 56 +-
docs/build/html/api/alltypes/index.html | 31 +-
.../-message/index.html | 4 +-
.../-message/topic-session.html | 15 +
.../add-message-handler.html | 30 +-
.../-messaging-service/create-message.html | 20 +-
.../-messaging-service/index.html | 45 +-
.../-topic-session/-blank.html | 15 +
.../-topic-session/-init-.html | 23 +
.../-topic-session/index.html | 80 ++
.../-topic-session/is-blank.html | 15 +
.../-topic-session/session-i-d.html | 15 +
.../-topic-session/to-string.html | 15 +
.../-topic-session/topic.html | 15 +
.../api/com.r3corda.core.messaging/index.html | 24 +-
.../run-on-next-message.html | 29 +-
.../api/com.r3corda.core.messaging/send.html | 6 +-
.../-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html | 17 +
.../com.r3corda.core.node.services/index.html | 5 +-
.../-corda-plugin-registry/-init-.html | 16 +
.../-corda-plugin-registry/index.html | 86 +-
.../required-protocols.html | 2 +-
.../service-plugins.html | 19 +
.../static-serve-dirs.html | 18 +
.../-corda-plugin-registry/web-apis.html | 6 +-
.../html/api/com.r3corda.core.node/index.html | 2 +-
.../-singleton-serialize-as-token/index.html | 12 +-
.../-c-h-a-r-l-i-e.html | 15 +
.../-c-h-a-r-l-i-e_-k-e-y.html | 15 +
.../-c-h-a-r-l-i-e_-p-u-b-k-e-y.html | 15 +
.../api/com.r3corda.core.testing/index.html | 18 +
.../-progress-tracker/-step/index.html | 4 +-
.../com.r3corda.core/log-elapsed-time.html | 2 +-
.../-auto-offer-protocol/-plugin/-init-.html | 14 +
.../-auto-offer-protocol/-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-requester/index.html | 4 +-
.../-service/-callback/-init-.html | 14 +
.../-service/-callback/index.html | 53 ++
.../-service/-callback/on-failure.html | 15 +
.../-service/-callback/on-success.html | 15 +
.../-service/-callback/success.html | 15 +
.../child-progress-tracker.html | 16 +
.../-service/-d-e-a-l-i-n-g/index.html | 42 +
.../-auto-offer-protocol/-service/-init-.html | 14 +
.../-service/-r-e-c-e-i-v-e-d.html | 42 +
.../-auto-offer-protocol/-service/index.html | 59 ++
.../-service/tracker.html | 15 +
.../-auto-offer-protocol/index.html | 10 +-
.../-exit-server-protocol/-plugin/-init-.html | 14 +
.../-exit-server-protocol/-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-service/-init-.html | 14 +
.../-exit-server-protocol/-service/index.html | 25 +
.../-exit-server-protocol/index.html | 10 +-
.../-plugin/-init-.html | 14 +
.../-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-service/-init-.html | 14 +
.../-service/index.html | 25 +
.../-update-business-day-protocol/index.html | 10 +-
.../-i-r-s-demo-plugin-registry/index.html | 28 +-
.../static-serve-dirs.html | 19 +
.../-i-r-s-demo-plugin-registry/web-apis.html | 4 +-
.../-mock-network/-mock-node/index.html | 35 +-
.../-mock-node/make-messaging-service.html | 2 +-
.../-simulation/-simulated-node/index.html | 2 +-
.../-abstract-node/-init-.html | 4 +
.../-abstract-node/custom-services.html | 15 +
.../-abstract-node/find-service.html | 16 +
.../-abstract-node/index.html | 52 +-
.../make-messaging-service.html | 2 +-
.../-abstract-node/net-map-cache.html | 15 +
.../-abstract-node/net.html | 2 +-
.../-node/index.html | 35 +-
.../-node/make-messaging-service.html | 2 +-
.../api/com.r3corda.node.internal/index.html | 2 +-
.../-abstract-node-service/index.html | 32 +-
.../-messaging-service-builder/index.html | 44 ++
.../-messaging-service-builder/start.html | 15 +
.../-messaging-service-internal/index.html | 133 ++++
.../register-trusted-address.html | 15 +
.../-messaging-service-internal/stop.html | 15 +
.../-service-hub-internal/index.html | 12 +-
.../network-service.html | 16 +
.../com.r3corda.node.services.api/index.html | 16 +
.../-plugin/-init-.html | 14 +
.../-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-service/-init-.html | 14 +
.../-service/index.html | 25 +
.../-fixing-session-initiation/index.html | 36 +
.../-node-interest-rates/-plugin/-init-.html | 15 +
.../-node-interest-rates/-plugin/index.html | 76 ++
.../-plugin/required-protocols.html | 21 +
.../-plugin/service-plugins.html | 20 +
.../-node-interest-rates/-service/-init-.html | 2 +-
.../-node-interest-rates/-service/index.html | 14 +-
.../-node-interest-rates/index.html | 7 +
.../index.html | 8 +
.../-handler/-init-.html | 2 +-
.../-handler/index.html | 6 +-
.../-handler/topic-session.html | 15 +
.../-s-e-s-s-i-o-n_-i-d_-p-r-o-p-e-r-t-y.html | 15 +
.../add-message-handler.html | 31 +-
.../create-message.html | 21 +-
.../-artemis-messaging-service/index.html | 36 +-
.../register-trusted-address.html | 16 +
.../-artemis-messaging-service/stop.html | 2 +-
.../index.html | 2 +-
.../-builder/index.html | 2 +-
.../-builder/start.html | 2 +-
.../-in-memory-messaging/-handler/-init-.html | 2 +-
.../-in-memory-messaging/-handler/index.html | 6 +-
.../-handler/topic-session.html | 15 +
.../add-message-handler.html | 31 +-
.../-in-memory-messaging/create-message.html | 9 +-
.../-in-memory-messaging/index.html | 17 +-
.../register-trusted-address.html | 16 +
.../-in-memory-messaging/stop.html | 2 +-
.../create-node-with-i-d.html | 2 +-
.../create-node.html | 2 +-
.../-in-memory-messaging-network/index.html | 8 +-
.../-in-memory-network-map-cache/-init-.html | 2 +-
.../-in-memory-network-map-cache/index.html | 8 +-
.../net-internal.html | 15 +
.../-mock-network-map-cache/index.html | 6 +
.../-data-vending/-plugin/-init-.html | 14 +
.../-data-vending/-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-data-vending/-service/-init-.html | 24 +
...-f-y_-t-x_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html | 16 +
.../-notify-tx-request-message/-init-.html | 14 +
.../-notify-tx-request-message/index.html | 59 ++
.../reply-to-party.html | 16 +
.../session-i-d.html | 16 +
.../-notify-tx-request-message/tx.html | 15 +
.../-notify-tx-response-message/-init-.html | 14 +
.../-notify-tx-response-message/accepted.html | 15 +
.../-notify-tx-response-message/index.html | 36 +
.../-data-vending/-service/index.html | 123 +++
.../-data-vending/-service/logger.html | 15 +
.../-data-vending/-service/services.html | 15 +
.../-data-vending/-service/storage.html | 15 +
.../-data-vending/index.html | 33 +
.../index.html | 6 +-
.../-expecting-response/index.html | 4 +-
.../-not-expecting-response/index.html | 4 +-
.../-fiber-request/index.html | 4 +-
.../-fiber-request/receive-topic-session.html | 15 +
.../-notary-change/-plugin/-init-.html | 14 +
.../-notary-change/-plugin/index.html | 74 ++
.../-plugin/service-plugins.html | 20 +
.../-notary-change/-service/-init-.html | 16 +
.../-notary-change/-service/index.html | 74 ++
.../-notary-change/-service/services.html | 15 +
.../-notary-change/index.html | 33 +
.../api/com.r3corda.node.services/index.html | 14 +-
.../-instigator/index.html | 4 +-
.../-notary-protocol/-service/index.html | 4 +-
.../-party-request-message/index.html | 2 +-
.../-resolve-transactions-protocol/index.html | 4 +-
.../-fixing-role-decider/index.html | 4 +-
.../-primary/index.html | 4 +-
.../-secondary/index.html | 4 +-
docs/build/html/api/index-outline.html | 745 +++++++++++++-----
docs/build/html/contract-catalogue.html | 295 +++++++
docs/build/html/contract-irs.html | 26 +-
docs/build/html/genindex.html | 6 +-
docs/build/html/index.html | 27 +-
docs/build/html/objects.inv | Bin 703 -> 728 bytes
docs/build/html/release-notes.html | 85 +-
docs/build/html/search.html | 6 +-
docs/build/html/searchindex.js | 2 +-
177 files changed, 4215 insertions(+), 506 deletions(-)
create mode 100644 docs/build/html/_sources/contract-catalogue.txt
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-message/topic-session.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/-blank.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/index.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/is-blank.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/session-i-d.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/to-string.html
create mode 100644 docs/build/html/api/com.r3corda.core.messaging/-topic-session/topic.html
create mode 100644 docs/build/html/api/com.r3corda.core.node.services/-d-e-f-a-u-l-t_-s-e-s-s-i-o-n_-i-d.html
create mode 100644 docs/build/html/api/com.r3corda.core.node/-corda-plugin-registry/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.core.node/-corda-plugin-registry/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.core.node/-corda-plugin-registry/static-serve-dirs.html
create mode 100644 docs/build/html/api/com.r3corda.core.testing/-c-h-a-r-l-i-e.html
create mode 100644 docs/build/html/api/com.r3corda.core.testing/-c-h-a-r-l-i-e_-k-e-y.html
create mode 100644 docs/build/html/api/com.r3corda.core.testing/-c-h-a-r-l-i-e_-p-u-b-k-e-y.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-failure.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-success.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/success.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-d-e-a-l-i-n-g/child-progress-tracker.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-d-e-a-l-i-n-g/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-r-e-c-e-i-v-e-d.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/tracker.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.demos/-i-r-s-demo-plugin-registry/static-serve-dirs.html
create mode 100644 docs/build/html/api/com.r3corda.node.internal/-abstract-node/custom-services.html
create mode 100644 docs/build/html/api/com.r3corda.node.internal/-abstract-node/find-service.html
create mode 100644 docs/build/html/api/com.r3corda.node.internal/-abstract-node/net-map-cache.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-messaging-service-builder/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-messaging-service-builder/start.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/register-trusted-address.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-messaging-service-internal/stop.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/network-service.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-plugin/required-protocols.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.clientapi/-node-interest-rates/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-service/-handler/topic-session.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-service/-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-service/register-trusted-address.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/-handler/topic-session.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.network/-in-memory-messaging-network/-in-memory-messaging/register-trusted-address.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.network/-in-memory-network-map-cache/net-internal.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-n-o-t-i-f-y_-t-x_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-request-message/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-request-message/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-request-message/reply-to-party.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-request-message/session-i-d.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-request-message/tx.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-response-message/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-response-message/accepted.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-tx-response-message/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/logger.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/services.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/storage.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services.statemachine/-fiber-request/receive-topic-session.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-plugin/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-plugin/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-plugin/service-plugins.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-service/-init-.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-service/index.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/-service/services.html
create mode 100644 docs/build/html/api/com.r3corda.node.services/-notary-change/index.html
create mode 100644 docs/build/html/contract-catalogue.html
diff --git a/docs/build/html/_sources/contract-catalogue.txt b/docs/build/html/_sources/contract-catalogue.txt
new file mode 100644
index 0000000000..11f3b1302b
--- /dev/null
+++ b/docs/build/html/_sources/contract-catalogue.txt
@@ -0,0 +1,64 @@
+Platform contracts
+==================
+
+There are a number of contracts supplied with Corda, which cover both core functionality (such as cash on ledger) and
+provide examples of how to model complex contracts (such as interest rate swaps). There is also a ``Dummy`` contract.
+However it does not provide any meaningful functionality, and is intended purely for testing purposes.
+
+Cash
+----
+
+The ``Cash`` contract's state objects represent an amount of some issued currency, owned by some party. Any currency
+can be issued by any party, and it is up to the recipient to determine whether they trust the issuer. Generally nodes
+are expected to have criteria (such as a whitelist) that issuers must fulfil for cash they issue to be accepted.
+
+Cash state objects implement the ``FungibleAsset`` interface, and can be used by the commercial paper and obligation
+contracts as part of settlement of an outstanding debt. The contracts' verification functions require that cash state
+objects of the correct value are received by the beneficiary as part of the settlement transaction.
+
+The cash contract supports issuing, moving and exiting (destroying) states. Note, however, that issuance cannot be part
+of the same transaction as other cash commands, in order to minimise complexity in balance verification.
+
+Commercial Paper
+----------------
+
+``CommercialPaper`` is a very simple obligation to pay an amount of cash at some future point in time (the maturity
+date), and exists primarily as a simplified contract for use in tutorials. Commercial paper supports issuing, moving
+and redeeming (settling) states. Unlike the full obligation contract it does not support locking the state so it cannot
+be settled if the obligor defaults on payment, or netting of state objects. All commands are exclusive of the other
+commercial paper commands. Use the ``Obligation`` contract for more advanced functionality.
+
+Interest Rate Swap
+------------------
+
+The Interest Rate Swap (IRS) contract is a bilateral contract to implement a vanilla fixed / floating same currency
+interest rate swap. In general, an IRS allows two counterparties to modify their exposure from changes in the underlying
+interest rate. They are often used as a hedging instrument, convert a fixed rate loan to a floating rate loan, vice
+versa etc.
+
+See ":doc:`contract-irs`" for full details on the IRS contract.
+
+Obligation
+----------
+
+The obligation contract's state objects represent an obligation to provide some asset, which would generally be a
+cash state object, but can be any contract state object fulfilling the ``FungibleAsset`` interface, including other
+obligations. The obligation contract uses objects referred to as ``Terms`` to group commands and state objects together.
+Terms are a subset of an obligation state object, including details of what should be paid, when, and to whom.
+
+Obligation state objects can be issued, moved and exited as with any fungible asset. The contract also supports state
+object netting and lifecycle changes (marking the obligation that a state object represents as having defaulted, or
+reverting it to the normal state after marking as having defaulted). The ``Net`` command cannot be included with any
+other obligation commands in the same transaction, as it applies to state objects with different beneficiaries, and
+as such applies across multiple terms.
+
+All other obligation contract commands specify obligation terms (what is to be delivered, by whom and by when)
+which are used as a grouping key for input/output states and commands. Issuance and lifecyle commands are mutually
+exclusive of other commands (move/exit) which apply to the same obligation terms, but multiple commands can be present
+in a single transaction if they apply to different terms. For example, a contract can have two different ``Issue``
+commands as long as they apply to different terms, but could not have an ``Issue`` and a ``Net``, or an ``Issue`` and
+``Move`` that apply to the same terms.
+
+Netting of obligations supports close-out netting (which can be triggered by either obligor or beneficiary, but is
+limited to bilateral netting), and payment netting (which requires signatures from all involved parties, but supports
+multilateral netting).
diff --git a/docs/build/html/_sources/contract-irs.txt b/docs/build/html/_sources/contract-irs.txt
index 105c1abb43..dbec7e166b 100644
--- a/docs/build/html/_sources/contract-irs.txt
+++ b/docs/build/html/_sources/contract-irs.txt
@@ -1,5 +1,5 @@
-The Interest Rate Swap Contract
-===============================
+Interest Rate Swaps
+===================
The Interest Rate Swap (IRS) Contract (source: IRS.kt, IRSUtils.kt, IRSExport.kt) is a bilateral contract to implement a
@@ -16,7 +16,7 @@ upon an amount that is not actually exchanged but notionally used for the calcul
amount), and a rate that is either fixed at the creation of the swap (for the fixed leg), or based upon a reference rate
that is retrieved during the swap (for the floating leg). An example reference rate might be something such as 'LIBOR 3M'.
-The fixed leg has its rate computed and set in advance, where as the floating leg has a fixing process whereas the rate
+The fixed leg has its rate computed and set in advance, whereas the floating leg has a fixing process whereas the rate
for the next period is fixed with relation to a reference rate. Then, a calculation is performed such that the interest
due over that period multiplied by the notional is paid (normally at the end of the period). If these two legs have the
same payment date, then these flows can be offset against each other (in reality there are normally a number of these
@@ -33,7 +33,7 @@ the view of the floating leg receiver / fixed leg payer. The enumerated document
it progresses (note that, the first version exists before the value date), the dots on the "y=0" represent an interest
rate value becoming available and then the curved arrow indicates to which period the fixing applies.
-.. image:: irs.png
+.. image:: contract-irs.png
Two days (by convention, although this can be modified), before the value date (ie the start of the swap) in the red
period the reference rate is observed from an oracle and fixed in the instance at 1.1%. At the end of the accrual period,
diff --git a/docs/build/html/_sources/index.txt b/docs/build/html/_sources/index.txt
index 6d0af3e9e5..6b1aa7cd0b 100644
--- a/docs/build/html/_sources/index.txt
+++ b/docs/build/html/_sources/index.txt
@@ -31,7 +31,13 @@ Read on to learn:
messaging
running-the-demos
node-administration
- irs
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contracts
+
+ contract-catalogue
+ contract-irs
.. toctree::
:maxdepth: 2
diff --git a/docs/build/html/_sources/release-notes.txt b/docs/build/html/_sources/release-notes.txt
index 0cb1df89cb..778691f8bc 100644
--- a/docs/build/html/_sources/release-notes.txt
+++ b/docs/build/html/_sources/release-notes.txt
@@ -3,11 +3,63 @@ Release notes
Here are brief summaries of what's changed between each snapshot release.
-Unreleased
-----------
+Milestone 2
+-----------
+
+* Big improvements to the interest rate swap app:
+
+ * A new web app demonstrating the IRS contract has been added. This can be used as an example for how to interact with
+ the Corda API from the web.
+ * Simplifications to the way the demo is used from the command line.
+ * :doc:`Detailed documentation on how the contract works and can be used ` has been written.
+ * Better integration testing of the app.
* Smart contracts have been redesigned around reusable components, referred to as "clauses". The cash, commercial paper
and obligation contracts now share a common issue clause.
+* New code in the experimental module (note that this module is a place for work-in-progress code which has not yet gone
+ through code review and which may, in general, not even function correctly):
+
+ * Thanks to the prolific Sofus Mortensen @ Nordea Bank, an experimental generic contract DSL that is based on the famous
+ 2001 "Composing contracts" paper has been added. We thank Sofus for this great and promising research, which is so
+ relevant in the wake of TheDAO hack.
+ * The contract code from the recent trade finance demos is now in experimental. This code comes thanks to a
+ collaboration of the members; all credit to:
+
+ * Mustafa Ozturk @ Natixis
+ * David Nee @ US Bank
+ * Johannes Albertsen @ Dankse Bank
+ * Rui Hu @ Nordea
+ * Daniele Barreca @ Unicredit
+ * Sukrit Handa @ Scotiabank
+ * Giuseppe Cardone @ Banco Intesa
+ * Robert Santiago @ BBVA
+
+* The usability of the command line demo programs has been improved.
+* All example code and existing contracts have been ported to use the new Java/Kotlin unit testing domain-specific
+ languages (DSLs) which make it easy to construct chains of transactions and verify them together. This cleans up
+ and unifies the previous ad-hoc set of similar DSLs. A tutorial on how to use it has been added to the documentation.
+ We believe this largely completes our testing story for now around smart contracts. Feedback from bank developers
+ during the Trade Finance project has indicated that the next thing to tackle is docs and usability improvements in
+ the protocols API.
+* Significant work done towards defining the "CorDapp" concept in code, with dynamic loading of API services and more to
+ come.
+* Inter-node communication now uses SSL/TLS and AMQP/1.0, albeit without all nodes self-signing at the moment. A real
+ PKI for the p2p network will come later.
+* Logging is now saved to files with log rotation provided by Log4J.
+
+API changes:
+
+* Some utility methods and extension functions that are specific to certain contract types have moved packages: just
+ delete the import lines that no longer work and let IntelliJ replace them with the correct package paths.
+* The ``arg`` method in the test DSL is now called ``command`` to be consistent with the rest of the data model.
+* The messaging APIs have changed somewhat to now use a new ``TopicSession`` object. These APIs will continue to change
+ in the upcoming releases.
+
+New documentation:
+
+* :doc:`contract-catalogue`
+* :doc:`contract-irs`
+* :doc:`tutorial-test-dsl`
Milestone 1
-----------
diff --git a/docs/build/html/api/alltypes/index.html b/docs/build/html/api/alltypes/index.html
index 43af238104..b987d5df90 100644
--- a/docs/build/html/api/alltypes/index.html
+++ b/docs/build/html/api/alltypes/index.html
@@ -439,10 +439,8 @@ to extend a Corda node with additional application services.
This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple
-glue that sits between the network layer and the database layer.
@@ -695,7 +693,7 @@ Assumes that the rate is valid.
This is a temporary handler required for establishing random sessionIDs for the Fixer and Floater as part of
running scheduled fixings for the InterestRateSwap contract.
@@ -1096,7 +1094,7 @@ specific messages can be defined, but use your domain name as the prefix e.g. "u
This class lets you start up a MessagingService. Its purpose is to stop you from getting access to the methods
on the messaging service interface until you have successfully started up the system. One of these objects should
@@ -1106,6 +1104,12 @@ may let you cast the returned future to an object that lets you get status info.
A service that monitors the network for requests for changing the notary of a state,
-and immediately runs the NotaryChangeProtocol if the auto-accept criteria are met.
+
A protocol to be used for changing a states Notary. This is required since all input states to a transaction
+must point to the same notary.
A singleton thats useful for validating topic strings
diff --git a/docs/build/html/api/com.r3corda.core.messaging/-message/index.html b/docs/build/html/api/com.r3corda.core.messaging/-message/index.html
index f6d9ec897c..5cbe9f5bed 100644
--- a/docs/build/html/api/com.r3corda.core.messaging/-message/index.html
+++ b/docs/build/html/api/com.r3corda.core.messaging/-message/index.html
@@ -42,9 +42,9 @@ the timestamp field they probably will be, even if an implementation just uses a
The provided function will be invoked for each received message whose topic matches the given string, on the given
-executor. The topic can be the empty string to match all messages.
+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.
@@ -18,6 +18,30 @@ The handle is passed to the callback as well, to avoid race conditions whereby t
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.
+
+
+
+abstractfun addMessageHandler(topicSession:TopicSession, executor:Executor?= null, callback:(Message,MessageHandlerRegistration)->Unit): MessageHandlerRegistration
+
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.
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.
+
+
+
+abstractfun createMessage(topicSession:TopicSession, data:ByteArray): Message
+
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.
diff --git a/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/index.html b/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/index.html
index 3cf433e633..7c84b54cfd 100644
--- a/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/index.html
+++ b/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/index.html
@@ -37,15 +37,18 @@ is reliable and as such messages may be stored to disk once queued.
The provided function will be invoked for each received message whose topic matches the given string, on the given
-executor. The topic can be the empty string to match all messages.
Returns an initialised Message with the current time, etc, already filled in.
@@ -66,12 +69,6 @@ available via type casting. Once this function returns the message is queued for
delivered: if the recipients are offline then the message could be queued hours or days later.
-fun MessagingService.runOnNextMessage(topic:String= "", executor:Executor?= null, callback:(Message)->Unit): Unit
Registers a handler for the given topic 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.
+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.
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.
An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage
-system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience
-when all entities on the network are being simulated in-process.