diff --git a/docs/build/html/_images/public-key-tree-2.png b/docs/build/html/_images/public-key-tree-2.png new file mode 100644 index 0000000000..5dc70e11e2 Binary files /dev/null and b/docs/build/html/_images/public-key-tree-2.png differ diff --git a/docs/build/html/_images/public-key-tree.png b/docs/build/html/_images/public-key-tree.png new file mode 100644 index 0000000000..66909de006 Binary files /dev/null and b/docs/build/html/_images/public-key-tree.png differ diff --git a/docs/build/html/_sources/clientrpc.txt b/docs/build/html/_sources/clientrpc.txt index b691610450..63f83845f2 100644 --- a/docs/build/html/_sources/clientrpc.txt +++ b/docs/build/html/_sources/clientrpc.txt @@ -15,6 +15,8 @@ detail on how to use this is provided in the docs for the proxy method. resources. When you're done with it, cast it to ``Closeable`` or ``AutoCloseable`` and close it. Don't create one for every call you make - create a proxy and reuse it. +For a brief tutorial on how one can use the RPC API see :doc:`tutorial-clientrpc-api`. + Observables ----------- @@ -72,4 +74,4 @@ The client RPC wire protocol is not currently documented. To use it you must use This is likely to change in a future release. .. _CordaRPCClient: api/com.r3corda.client/-corda-r-p-c-client/index.html -.. _CordaRPCOps: api/com.r3corda.node.services.messaging/-corda-r-p-c-ops.html +.. _CordaRPCOps: api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/index.html diff --git a/docs/build/html/_sources/consensus.txt b/docs/build/html/_sources/consensus.txt index 8b2da03b7d..d0be66fa03 100644 --- a/docs/build/html/_sources/consensus.txt +++ b/docs/build/html/_sources/consensus.txt @@ -42,7 +42,7 @@ will not be regarded as confirmed. After the signature is obtained, the parties Hence it is the point at which we can say finality has occurred. Multiple notaries ------------------ +~~~~~~~~~~~~~~~~~ More than one notary can exist in the network. This gives the following benefits: @@ -56,6 +56,32 @@ This is achieved by using a special type of transaction that doesn't modify anyt Ensuring that all input states point to the same notary is the responsibility of each involved party (it is another condition for an output state of the transaction to be **valid**) +Changing notaries +~~~~~~~~~~~~~~~~~ + +To change the notary for an input state, use the ``NotaryChangeProtocol``. For example: + +.. sourcecode:: kotlin + + @Suspendable + fun changeNotary(originalState: StateAndRef, + newNotary: Party): StateAndRef { + val protocol = NotaryChangeProtocol.Instigator(originalState, newNotary) + return subProtocol(protocol) + } + +The protocol will: + +1. Construct a transaction with the old state as the input and the new state as the output + +2. Obtain signatures from all *participants* (a participant is any party that is able to consume this state in a valid transaction, as defined by the state itself) + +3. Obtain the *old* notary signature + +4. Record and distribute the final transaction to the participants so that everyone possesses the new state + +.. note:: Eventually this will be handled automatically on demand. + Validation ---------- @@ -114,7 +140,7 @@ By creating a range that can be either closed or open at one end, we allow all o .. note:: It is assumed that the time feed for a notary is GPS/NaviStar time as defined by the atomic clocks at the US Naval Observatory. This time feed is extremely accurate and available globally for free. -Running a Notary Service +Running a notary service ------------------------ At present we have two basic implementations that store committed input states in memory: @@ -167,28 +193,3 @@ On conflict the ``NotaryProtocol`` with throw a ``NotaryException`` containing t data class ConsumingTx(val id: SecureHash, val inputIndex: Int, val requestingParty: Party) Conflict handling and resolution is currently the responsibility of the protocol author. - -Changing notaries ------------------ - -To change the notary for an input state, use the ``NotaryChangeProtocol``. For example: - -.. sourcecode:: kotlin - - fun changeNotary(originalState: StateAndRef, - newNotary: Party): StateAndRef { - val protocol = NotaryChangeProtocol.Instigator(originalState, newNotary) - return subProtocol(protocol) - } - -The protocol will: - -1. Construct a transaction with the old state as the input and the new state as the output - -2. Obtain signatures from all *participants* (a participant is any party that is able to consume this state in a valid transaction, as defined by the state itself) - -3. Obtain the *old* notary signature - -4. Record and distribute the final transaction to the participants so that everyone possesses the new state - -.. note:: Eventually this will be handled automatically on demand. \ No newline at end of file diff --git a/docs/build/html/_sources/corda-configuration-files.txt b/docs/build/html/_sources/corda-configuration-files.txt index adc412f0b2..f4111f1073 100644 --- a/docs/build/html/_sources/corda-configuration-files.txt +++ b/docs/build/html/_sources/corda-configuration-files.txt @@ -38,7 +38,6 @@ General node configuration file for hosting the IRSDemo services. } artemisAddress : "localhost:31337" webAddress : "localhost:31339" - hostNotaryServiceLocally: false extraAdvertisedServiceIds: "corda.interest_rates" networkMapAddress : "localhost:12345" useHTTPS : false @@ -54,7 +53,6 @@ NetworkMapService plus Simple Notary configuration file. trustStorePassword : "trustpass" artemisAddress : "localhost:12345" webAddress : "localhost:12346" - hostNotaryServiceLocally: true extraAdvertisedServiceIds: "" useHTTPS : false @@ -85,14 +83,15 @@ Configuration File Fields .. note:: In practice the ArtemisMQ messaging services bind to all local addresses on the specified port. However, note that the host is the included as the advertised entry in the NetworkMapService. As a result the value listed here must be externally accessible when running nodes across a cluster of machines. +:messagingServerAddress: + The address of the ArtemisMQ broker instance. If not provided the node will run one locally. + :webAddress: The host and port on which the node is available for web operations. .. note:: If HTTPS is enabled then the browser security checks will require that the accessing url host name is one of either the machine name, fully qualified machine name, or server IP address to line up with the Subject Alternative Names contained within the development certificates. This is addition to requiring the ``/config/dev/corda_dev_ca.cer`` root certificate be installed as a Trusted CA. -:hostNotaryServiceLocally: If true the Node will host and advertise a verifying Notary service. - -:extraAdvertisedServiceIds: A list of ServiceType id strings to be advertised to the NetworkMapService and thus be available when other nodes query the NetworkMapCache for supporting nodes. This can also include plugin services loaded from .jar files in the +:extraAdvertisedServiceIds: A list of ServiceType id strings to be advertised to the NetworkMapService and thus be available when other nodes query the NetworkMapCache for supporting nodes. This can also include plugin services loaded from .jar files in the plugins folder. :networkMapAddress: If `null`, or missing the node is declaring itself as the NetworkMapService host. Otherwise the configuration value is the remote HostAndPort string for the ArtemisMQ service on the hosting node. diff --git a/docs/build/html/_sources/creating-a-cordapp.txt b/docs/build/html/_sources/creating-a-cordapp.txt index 87d2b7b3eb..8f67960851 100644 --- a/docs/build/html/_sources/creating-a-cordapp.txt +++ b/docs/build/html/_sources/creating-a-cordapp.txt @@ -75,6 +75,50 @@ To enable remote debugging of the corda process use a command line such as: This command line will start the debugger on port 5005 and pause the process awaiting debugger attachment. +Viewing persisted state of your Node +------------------------------------ + +To make examining the persisted contract states of your node or the internal node database tables easier, and providing you are +using the default database configuration used for demos, you should be able to connect to the internal node database over +a JDBC connection at the URL that is output to the logs at node start up. That URL will be of the form ``jdbc:h2:tcp://:/node``. + +The user name and password for the login are as per the node data source configuration. + +The name and column layout of the internal node tables is in a state of flux and should not be relied upon to remain static +at the present time, and should certainly be treated as read-only. + .. _CordaPluginRegistry: api/com.r3corda.core.node/-corda-plugin-registry/index.html .. _ServiceHubInternal: api/com.r3corda.node.services.api/-service-hub-internal/index.html -.. _ServiceHub: api/com.r3corda.node.services.api/-service-hub/index.html \ No newline at end of file +.. _ServiceHub: api/com.r3corda.node.services.api/-service-hub/index.html + +Building Against Corda +---------------------- + +.. warning:: This feature is subject to rapid change + +Corda now supports publishing to Maven local to build against it. To publish to Maven local run the following in the +root directory of Corda + +.. code-block:: shell + + ./gradlew publishToMavenLocal + +This will publish corda-$version.jar, contracts-$version.jar, core-$version.jar and node-$version.jar to the +group com.r3corda. You can now depend on these as you normally would a Maven dependency. + +In Gradle you can depend on these by adding/modifying your build.gradle file to contain the following: + +.. code-block:: groovy + + repositories { + mavenLocal() + ... other repositories here ... + } + + dependencies { + compile "com.r3corda:core:$corda_version" + compile "com.r3corda:contracts:$corda_version" + compile "com.r3corda:node:$corda_version" + compile "com.r3corda:corda:$corda_version" + ... other dependencies here ... + } diff --git a/docs/build/html/_sources/index.txt b/docs/build/html/_sources/index.txt index e1372461c4..54de8d4cf9 100644 --- a/docs/build/html/_sources/index.txt +++ b/docs/build/html/_sources/index.txt @@ -34,6 +34,7 @@ Read on to learn: transaction-data-types consensus messaging + persistence creating-a-cordapp running-the-demos node-administration @@ -47,8 +48,10 @@ Read on to learn: tutorial-contract tutorial-contract-clauses tutorial-test-dsl + tutorial-clientrpc-api protocol-state-machines oracles + tutorial-attachments event-scheduling secure-coding-guidelines @@ -74,4 +77,3 @@ Read on to learn: network-simulator codestyle building-the-docs - diff --git a/docs/build/html/_sources/node-administration.txt b/docs/build/html/_sources/node-administration.txt index 32cb71f587..7cf0211341 100644 --- a/docs/build/html/_sources/node-administration.txt +++ b/docs/build/html/_sources/node-administration.txt @@ -1,8 +1,23 @@ Node administration =================== -When a node is running, it exposes an embedded web server that lets you monitor it, upload and download attachments, -access a REST API and so on. +When a node is running, it exposes an embedded database server, an embedded web server that lets you monitor it, +you can upload and download attachments, access a REST API and so on. + +Database access +--------------- + +The node exposes its internal database over a socket which can be browsed using any tool that can use JDBC drivers. +The JDBC URL is printed during node startup to the log and will typically look like this: + + ``jdbc:h2:tcp://192.168.0.31:31339/node`` + +The username and password can be altered in the :doc:`corda-config-files` but default to username "sa" and a blank +password. + +Any database browsing tool that supports JDBC can be used, but if you have IntelliJ Ultimate edition then there is +a tool integrated with your IDE. Just open the database window and add an H2 data source with the above details. +You will now be able to browse the tables and row data within them. Monitoring your node -------------------- @@ -15,7 +30,7 @@ some monitoring systems provide a "Java Agent", which is essentially a JVM plugi them out to a statistics collector over the network. For those systems, follow the instructions provided by the vendor. Sometimes though, you just want raw access to the data and operations itself. So nodes export them over HTTP on the -`/monitoring/json` HTTP endpoint, using a program called `Jolokia `_. Jolokia defines the JSON +``/monitoring/json`` HTTP endpoint, using a program called `Jolokia `_. Jolokia defines the JSON and REST formats for accessing MBeans, and provides client libraries to work with that protocol as well. Here are a few ways to build dashboards and extract monitoring data for a node: diff --git a/docs/build/html/_sources/persistence.txt b/docs/build/html/_sources/persistence.txt new file mode 100644 index 0000000000..ab8163b465 --- /dev/null +++ b/docs/build/html/_sources/persistence.txt @@ -0,0 +1,89 @@ +Persistence +=========== + +Corda offers developers the option to expose all or some part of a contract state to an *Object Relational Mapping* (ORM) tool +to be persisted in a RDBMS. The purpose of this is to assist *vault* development by effectively indexing +persisted contract states held in the vault for the purpose of running queries over them and to allow relational joins +between Corda data and private data local to the organisation owning a node. + +The ORM mapping is specified using the `Java Persistence API `_ (JPA) +as annotations and is converted to database table rows by the node automatically every time a state is recorded in the +node's local vault as part of a transaction. + +.. note:: Presently the node includes an instance of the H2 database but any database that supports JDBC is a candidate and + the node will in the future support a range of database implementations via their JDBC drivers. Much of the node + internal state is also persisted there. You can access the internal H2 database via JDBC, please see the info + in ":doc:`node-administration`" for details. + +Schemas +------- + +Every ``ContractState`` can implement the ``QueryableState`` interface if it wishes to be inserted into the node's local +database and accessible using SQL. + +.. literalinclude:: ../../core/src/main/kotlin/com/r3corda/core/schemas/PersistentTypes.kt + :language: kotlin + :start-after: DOCSTART QueryableState + :end-before: DOCEND QueryableState + +The ``QueryableState`` interface requires the state to enumerate the different relational schemas it supports, for instance in +cases where the schema has evolved, with each one being represented by a ``MappedSchema`` object return by the +``supportedSchemas()`` method. Once a schema is selected it must generate that representation when requested via the +``generateMappedObject()`` method which is then passed to the ORM. + +Nodes have an internal ``SchemaService`` which decides what to persist and what not by selecting the ``MappedSchema`` +to use. + +.. literalinclude:: ../../node/src/main/kotlin/com/r3corda/node/services/api/SchemaService.kt + :language: kotlin + :start-after: DOCSTART SchemaService + :end-before: DOCEND SchemaService + +.. literalinclude:: ../../core/src/main/kotlin/com/r3corda/core/schemas/PersistentTypes.kt + :language: kotlin + :start-after: DOCSTART MappedSchema + :end-before: DOCEND MappedSchema + +The ``SchemaService`` can be configured by a node administrator to select the schemas used by each app. In this way the +relational view of ledger states can evolve in a controlled fashion in lock-step with internal systems or other +integration points and not necessarily with every upgrade to the contract code. +It can select from the ``MappedSchema`` offered by a ``QueryableState``, automatically upgrade to a +later version of a schema or even provide a ``MappedSchema`` not originally offered by the ``QueryableState``. + +It is expected that multiple different contract state implementations might provide mappings to some common schema. +For example an Interest Rate Swap contract and an Equity OTC Option contract might both provide a mapping to a common +Derivative schema. The schemas should typically not be part of the contract itself and should exist independently of it +to encourage re-use of a common set within a particular business area or Cordapp. + +``MappedSchema`` offer a family name that is disambiguated using Java package style name-spacing derived from the class name +of a *schema family* class that is constant across versions, allowing the ``SchemaService`` to select a preferred version +of a schema. + +The ``SchemaService`` is also responsible for the ``SchemaOptions`` that can be configured for a particular ``MappedSchema`` +which allow the configuration of a database schema or table name prefixes to avoid any clash with other ``MappedSchema``. + +.. note:: It is intended that there should be plugin support for the ``SchemaService`` to offer the version upgrading and + additional schemas as part of Cordapps, and that the active schemas be confgurable. However the present implementation + offers none of this and simply results in all versions of all schemas supported by a ``QueryableState`` being persisted. + This will change in due course. Similarly, it does not currently support configuring ``SchemaOptions`` but will do so in + the future. + +Object Relational Mapping +------------------------- + +The persisted representation of a ``QueryableState`` should be an instance of a ``PersistentState`` subclass, constructed +either by the state itself or a plugin to the ``SchemaService``. This allows the ORM layer to always associate a +``StateRef`` with a persisted representation of a ``ContractState`` and allows joining with the set of unconsumed states +in the vault. + +The ``PersistentState`` subclass should be marked up as a JPA 2.1 *Entity* with a defined table name and having +properties (in Kotlin, getters/setters in Java) annotated to map to the appropriate columns and SQL types. Additional +entities can be included to model these properties where they are more complex, for example collections, so the mapping +does not have to be *flat*. The ``MappedSchema`` must provide a list of all of the JPA entity classes for that schema in order +to initialise the ORM layer. + +Several examples of entities and mappings are provided in the codebase, including ``Cash.State`` and +``CommercialPaper.State``. For example, here's the first version of the cash schema. + +.. literalinclude:: ../../contracts/src/main/kotlin/com/r3corda/schemas/CashSchemaV1.kt + :language: kotlin \ No newline at end of file diff --git a/docs/build/html/_sources/protocol-state-machines.txt b/docs/build/html/_sources/protocol-state-machines.txt index b5bce9a70b..1da9d0f7cc 100644 --- a/docs/build/html/_sources/protocol-state-machines.txt +++ b/docs/build/html/_sources/protocol-state-machines.txt @@ -91,7 +91,7 @@ Our protocol has two parties (B and S for buyer and seller) and will proceed as it lacks a signature from S authorising movement of the asset. 3. S signs it and hands the now finalised ``SignedTransaction`` back to B. -You can find the implementation of this protocol in the file ``contracts/protocols/TwoPartyTradeProtocol.kt``. +You can find the implementation of this protocol in the file ``contracts/src/main/kotlin/com/r3corda/protocols/TwoPartyTradeProtocol.kt``. Assuming no malicious termination, they both end the protocol being in posession of a valid, signed transaction that represents an atomic asset swap. @@ -110,7 +110,6 @@ each side. .. sourcecode:: kotlin object TwoPartyTradeProtocol { - val TOPIC = "platform.trade" class UnacceptablePriceException(val givenPrice: Amount) : Exception("Unacceptable price: $givenPrice") class AssetMismatchException(val expectedTypeName: String, val typeName: String) : Exception() { @@ -118,21 +117,20 @@ each side. } // This object is serialised to the network and is the first protocol message the seller sends to the buyer. - class SellerTradeInfo( + data class SellerTradeInfo( val assetForSale: StateAndRef, - val price: Amount, - val sellerOwnerKey: PublicKey, - val sessionID: Long + val price: Amount, + val sellerOwnerKey: PublicKey ) - class SignaturesFromSeller(val timestampAuthoritySig: DigitalSignature.WithKey, val sellerSig: DigitalSignature.WithKey) + data class SignaturesFromSeller(val sellerSig: DigitalSignature.WithKey, + val notarySig: DigitalSignature.LegallyIdentifiable) open class Seller(val otherSide: Party, val notaryNode: NodeInfo, val assetToSell: StateAndRef, val price: Amount, val myKeyPair: KeyPair, - val buyerSessionID: Long, override val progressTracker: ProgressTracker = Seller.tracker()) : ProtocolLogic() { @Suspendable override fun call(): SignedTransaction { @@ -143,8 +141,7 @@ each side. open class Buyer(val otherSide: Party, val notary: Party, val acceptablePrice: Amount, - val typeToBuy: Class, - val sessionID: Long) : ProtocolLogic() { + val typeToBuy: Class) : ProtocolLogic() { @Suspendable override fun call(): SignedTransaction { TODO() @@ -152,25 +149,17 @@ each side. } } -Let's unpack what this code does: - -- It defines a several classes nested inside the main ``TwoPartyTradeProtocol`` singleton. Some of the classes - are simply protocol messages or exceptions. The other two represent the buyer and seller side of the protocol. -- It defines the "trade topic", which is just a string that namespaces this protocol. The prefix "platform." is reserved - by Corda, but you can define your own protocol namespaces using standard Java-style reverse DNS notation. +This code defines several classes nested inside the main ``TwoPartyTradeProtocol`` singleton. Some of the classes are +simply protocol messages or exceptions. The other two represent the buyer and seller side of the protocol. Going through the data needed to become a seller, we have: -- ``otherSide: SingleMessageRecipient`` - the network address of the node with which you are trading. +- ``otherSide: Party`` - the party with which you are trading. - ``notaryNode: NodeInfo`` - the entry in the network map for the chosen notary. See ":doc:`consensus`" for more information on notaries. - ``assetToSell: StateAndRef`` - a pointer to the ledger entry that represents the thing being sold. - ``price: Amount`` - the agreed on price that the asset is being sold for (without an issuer constraint). - ``myKeyPair: KeyPair`` - the key pair that controls the asset being sold. It will be used to sign the transaction. -- ``buyerSessionID: Long`` - a unique number that identifies this trade to the buyer. It is expected that the buyer - knows that the trade is going to take place and has sent you such a number already. - -.. note:: Session IDs will be automatically handled in a future version of the framework. And for the buyer: @@ -178,7 +167,6 @@ And for the buyer: a price less than or equal to this, then the trade will go ahead. - ``typeToBuy: Class`` - the type of state that is being purchased. This is used to check that the sell side of the protocol isn't trying to sell us the wrong thing, whether by accident or on purpose. -- ``sessionID: Long`` - the session ID that was handed to the seller in order to start the protocol. Alright, so using this protocol shouldn't be too hard: in the simplest case we can just create a Buyer or Seller with the details of the trade, depending on who we are. We then have to start the protocol in some way. Just @@ -221,6 +209,27 @@ protocol are checked against a whitelist, which can be extended by apps themselv The process of starting a protocol returns a ``ListenableFuture`` that you can use to either block waiting for the result, or register a callback that will be invoked when the result is ready. +In a two party protocol only one side is to be manually started using ``ServiceHub.invokeProtocolAsync``. The other side +has to be registered by its node to respond to the initiating protocol via ``ServiceHubInternal.registerProtocolInitiator``. +In our example it doesn't matter which protocol is the initiator and which is the initiated. For example, if we are to +take the seller as the initiator then we would register the buyer as such: + +.. container:: codeset + + .. sourcecode:: kotlin + + val services: ServiceHubInternal = TODO() + + services.registerProtocolInitiator(Seller::class) { otherParty -> + val notary = services.networkMapCache.notaryNodes[0] + val acceptablePrice = TODO() + val typeToBuy = TODO() + Buyer(otherParty, notary, acceptablePrice, typeToBuy) + } + +This is telling the buyer node to fire up an instance of ``Buyer`` (the code in the lambda) when the initiating protocol +is a seller (``Seller::class``). + Implementing the seller ----------------------- @@ -253,12 +262,10 @@ Let's fill out the ``receiveAndCheckProposedTransaction()`` method. @Suspendable private fun receiveAndCheckProposedTransaction(): SignedTransaction { - val sessionID = random63BitValue() - // Make the first message we'll send to kick off the protocol. - val hello = SellerTradeInfo(assetToSell, price, myKeyPair.public, sessionID) + val hello = SellerTradeInfo(assetToSell, price, myKeyPair.public) - val maybeSTX = sendAndReceive(otherSide, buyerSessionID, sessionID, hello) + val maybeSTX = sendAndReceive(otherSide, hello) maybeSTX.unwrap { // Check that the tx proposed by the buyer is valid. @@ -281,11 +288,10 @@ Let's fill out the ``receiveAndCheckProposedTransaction()`` method. } } -Let's break this down. We generate a session ID to identify what's happening on the seller side, fill out -the initial protocol message, and then call ``sendAndReceive``. This function takes a few arguments: +Let's break this down. We fill out the initial protocol message with the trade info, and then call ``sendAndReceive``. +This function takes a few arguments: -- The topic string that ensures the message is routed to the right bit of code in the other side's node. -- The session IDs that ensure the messages don't get mixed up with other simultaneous trades. +- The party on the other side. - The thing to send. It'll be serialised and sent automatically. - Finally a type argument, which is the kind of object we're expecting to receive from the other side. If we get back something else an exception is thrown. @@ -370,7 +376,7 @@ Here's the rest of the code: notarySignature: DigitalSignature.LegallyIdentifiable): SignedTransaction { val fullySigned = partialTX + ourSignature + notarySignature logger.trace { "Built finished transaction, sending back to secondary!" } - send(otherSide, buyerSessionID, SignaturesFromSeller(ourSignature, notarySignature)) + send(otherSide, SignaturesFromSeller(ourSignature, notarySignature)) return fullySigned } @@ -406,7 +412,7 @@ OK, let's do the same for the buyer side: val (ptx, cashSigningPubKeys) = assembleSharedTX(tradeRequest) val stx = signWithOurKeys(cashSigningPubKeys, ptx) - val signatures = swapSignaturesWithSeller(stx, tradeRequest.sessionID) + val signatures = swapSignaturesWithSeller(stx) logger.trace { "Got signatures from seller, verifying ... " } @@ -419,16 +425,14 @@ OK, let's do the same for the buyer side: @Suspendable private fun receiveAndValidateTradeRequest(): SellerTradeInfo { - // Wait for a trade request to come in on our pre-provided session ID. - val maybeTradeRequest = receive(sessionID) + // Wait for a trade request to come in from the other side + val maybeTradeRequest = receive(otherParty) maybeTradeRequest.unwrap { // What is the seller trying to sell us? val asset = it.assetForSale.state.data val assetTypeName = asset.javaClass.name logger.trace { "Got trade request for a $assetTypeName: ${it.assetForSale}" } - // Check the start message for acceptability. - check(it.sessionID > 0) if (it.price > acceptablePrice) throw UnacceptablePriceException(it.price) if (!typeToBuy.isInstance(asset)) @@ -443,13 +447,13 @@ OK, let's do the same for the buyer side: } @Suspendable - private fun swapSignaturesWithSeller(stx: SignedTransaction, theirSessionID: Long): SignaturesFromSeller { + private fun swapSignaturesWithSeller(stx: SignedTransaction): SignaturesFromSeller { progressTracker.currentStep = SWAPPING_SIGNATURES logger.trace { "Sending partially signed transaction to seller" } // TODO: Protect against the seller terminating here and leaving us in the lurch without the final tx. - return sendAndReceive(otherSide, theirSessionID, sessionID, stx).unwrap { it } + return sendAndReceive(otherSide, stx).unwrap { it } } private fun signWithOurKeys(cashSigningPubKeys: List, ptx: TransactionBuilder): SignedTransaction { @@ -676,7 +680,6 @@ Future features The protocol framework is a key part of the platform and will be extended in major ways in future. Here are some of the features we have planned: -* Automatic session ID management * Identity based addressing * Exposing progress trackers to local (inside the firewall) clients using message queues and/or WebSockets * Exception propagation and management, with a "protocol hospital" tool to manually provide solutions to unavoidable diff --git a/docs/build/html/_sources/release-notes.txt b/docs/build/html/_sources/release-notes.txt index 5eabaed1fe..28ca4a2467 100644 --- a/docs/build/html/_sources/release-notes.txt +++ b/docs/build/html/_sources/release-notes.txt @@ -3,8 +3,95 @@ Release notes Here are brief summaries of what's changed between each snapshot release. -Unreleased ----------- +Milestone 4 +----------- + +New features in this release: + +* Persistence: + + * States can now be written into a relational database and queried using JDBC. The schemas are defined by the + smart contracts and schema versioning is supported. It is reasonable to write an app that stores data in a mix + of global ledger transactions and local database tables which are joined on demand, using join key slots that + are present in many state definitions. Read more about :doc:`persistence`. + * The embedded H2 SQL database is now exposed by default to any tool that can speak JDBC. The database URL is + printed during node startup and can be used to explore the database, which contains both node internal data + and tables generated from ledger states. + * Protocol checkpoints are now stored in the database as well. Message processing is now atomic with protocol + checkpointing and run under the same RDBMS transaction. + * MQ message deduplication is now handled at the app layer and performed under the RDMS transaction, so + ensuring messages are only replayed if the RDMS transaction rolled back. + * "The wallet" has been renamed to "the vault". + +* Client RPC: + + * New RPCs added to subscribe to snapshots and update streams state of the vault, currently executing protocols + and other important node information. + * New tutorial added that shows how to use the RPC API to draw live transaction graphs on screen. + +* Protocol framework: + + * Large simplifications to the API. Session management is now handled automatically. Messages are now routed + based on identities rather than node IP addresses. + +* Decentralised consensus: + + * A standalone one-node notary backed by a JDBC store has been added. + * A prototype RAFT based notary composed of multiple nodes is available on a branch. + +* Data model: + + * Compound keys have been added as preparation for merging a distributed RAFT based notary. Compound keys + are trees of public keys in which interior nodes can have validity thresholds attached, thus allowing + boolean formulas of keys to be created. This is similar to Bitcoin's multi-sig support and the data model + is the same as the InterLedger Crypto-Conditions spec, which should aid interop in future. Read more about + key trees in the ":doc:`transaction-data-types`" article. + * A new tutorial has been added showing how to use transaction attachments in more detail. + +* Testnet + + * Permissioning infrastructure phase one is built out. The node now has a notion of developer mode vs normal + mode. In developer mode it works like M3 and the SSL certificates used by nodes running on your local + machine all self-sign using a developer key included in the source tree. When developer mode is not active, + the node won't start until it has a signed certificate. Such a certificate can be obtained by simply running + an included command line utility which generates a CSR and submits it to a permissioning service, then waits + for the signed certificate to be returned. Note that currently there is no public Corda testnet, so we are + not currently running a permissioning service. + +* Standalone app development: + + * The Corda libraries that app developers need to link against can now be installed into your local Maven + repository, where they can then be used like any other JAR. See :doc:`creating-a-cordapp`. + +* User interfaces: + + * Infrastructure work on the node explorer is now complete: it is fully switched to using the MQ based RPC system. + * A library of additional reactive collections has been added. This API builds on top of Rx and the observable + collections API in Java 8 to give "live" data structures in which the state of the node and ledger can be + viewed as an ordinary Java ``List``, ``Map`` and ``Set``, but which also emit callbacks when these views + change, and which can have additional views derived in a functional manner (filtered, mapped, sorted, etc). + Finally, these views can then be bound directly into JavaFX UIs. This makes for a concise and functional + way of building application UIs that render data from the node, and the API is available for third party + app developers to use as well. We believe this will be highly productive and enjoyable for developers who + have the option of building JavaFX apps (vs web apps). + * The visual network simulator tool that was demoed back in April as part of the first Corda live demo has + been merged into the main repository. + +* Documentation + + * New secure coding guidelines. Corda tries to eliminate as many security mistakes as practical via the type + system and other mechanically checkable processes, but there are still things that one must be aware of. + * New attachments tutorial. + * New Client RPC tutorial. + * More tutorials on how to build a standalone CorDapp. + +* Testing + + * More integration testing support + * New micro-DSLs for expressing expected sequences of operations with more or less relaxed ordering constraints. + * QuickCheck generators to create streams of randomised transactions and other basic types. QuickCheck is a way + of writing unit tests that perform randomised fuzz testing of code, originally developed by the Haskell + community and now also available in Java. API changes: @@ -15,6 +102,8 @@ API changes: * The ``UntrustworthyData.validate`` method has been renamed to ``unwrap`` - the old name is now deprecated. * The wallet, wallet service, etc. are now vault, vault service, etc. These better reflect the intent that they are a generic secure data store, rather than something which holds cash. +* The protocol send/receive APIs have changed to no longer require a session id. Please check the current version + of the protocol framework tutorial for more details. Milestone 3 ----------- @@ -49,7 +138,7 @@ Milestone 2 * Big improvements to the interest rate swap app: - * A new web app demonstrating the IRS contract has been added. This can x``be used as an example for how to interact with + * 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. diff --git a/docs/build/html/_sources/running-the-demos.txt b/docs/build/html/_sources/running-the-demos.txt index 1544f58e13..3d87db6e32 100644 --- a/docs/build/html/_sources/running-the-demos.txt +++ b/docs/build/html/_sources/running-the-demos.txt @@ -143,4 +143,34 @@ Now open your web browser to this URL: 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 +blotter to view it. + + + +Attachment demo +---------------- + +Open two terminals, and in the first run: + +**Windows**:: + + gradlew.bat & .\build\install\r3prototyping\bin\attachment-demo --role=RECIPIENT + +**Other**:: + + ./gradlew installDist && ./build/install/r3prototyping/bin/attachment-demo --role=RECIPIENT + +It will compile things, if necessary, then create a directory named attachment-demo/buyer with a bunch of files inside and +start the node. You should see it waiting for a trade to begin. + +In the second terminal, run: + +**Windows**:: + + .\build\install\r3prototyping\bin\attachment-demo --role=SENDER + +**Other**:: + + ./build/install/r3prototyping/bin/attachment-demo --role=SENDER + +You should see some log lines scroll past, and within a few seconds the message "File received - we're happy!" should be printed. diff --git a/docs/build/html/_sources/secure-coding-guidelines.txt b/docs/build/html/_sources/secure-coding-guidelines.txt index afa6e5b2e3..d3c9e26d4a 100644 --- a/docs/build/html/_sources/secure-coding-guidelines.txt +++ b/docs/build/html/_sources/secure-coding-guidelines.txt @@ -1,5 +1,5 @@ Secure coding guidelines ------------------------- +======================== The platform does what it can to be secure by default and safe by design. Unfortunately the platform cannot prevent every kind of security mistake. This document describes what to think about when writing applications diff --git a/docs/build/html/_sources/transaction-data-types.txt b/docs/build/html/_sources/transaction-data-types.txt index 9b179df7c5..18bbd8f1cb 100644 --- a/docs/build/html/_sources/transaction-data-types.txt +++ b/docs/build/html/_sources/transaction-data-types.txt @@ -145,6 +145,40 @@ that has been signed by a set of parties. .. note:: These types are provisional and will change significantly in future as the identity framework becomes more fleshed out. +Multi-signature support +----------------------- + +Corda supports scenarios where more than one key or party is required to authorise a state object transition, for example: +"Either the CEO or 3 out of 5 of his assistants need to provide signatures". + +Key Trees +^^^^^^^^^ + +This is achieved by public key composition, using a tree data structure ``PublicKeyTree``. A ``PublicKeyTree`` stores the +cryptographic public key primitives in its leaves and the composition logic in the intermediary nodes. Every intermediary +node specifies a *threshold* of how many child signatures it requires. + +An illustration of an *"either Alice and Bob, or Charlie"* public key tree: + +.. image:: resources/public-key-tree.png +:width: 300px + +To allow further flexibility, each child node can have an associated custom *weight* (the default is 1). The *threshold* +then specifies the minimum total weight of all children required. Our previous example can also be expressed as: + +.. image:: resources/public-key-tree-2.png +:width: 300px + +Verification +^^^^^^^^^^^^ + +Signature verification is performed in two stages: + + 1. Given a list of signatures, each signature is verified against the expected content. + 2. The public keys corresponding to the signatures are matched against the leaves of the public key tree in question, + and the total combined weight of all children is calculated for every intermediary node. If all thresholds are satisfied, + the public key tree requirement is considered to be met. + Date support ------------ diff --git a/docs/build/html/_sources/tutorial-attachments.txt b/docs/build/html/_sources/tutorial-attachments.txt new file mode 100644 index 0000000000..5f503d5ab2 --- /dev/null +++ b/docs/build/html/_sources/tutorial-attachments.txt @@ -0,0 +1,99 @@ +.. highlight:: kotlin +.. raw:: html + +Using attachments +================= + +Attachments are (typically large) Zip/Jar files referenced within a transaction, but not included in the transaction +itself. These files can be requested from the originating node as needed, although in many cases will be cached within +nodes already. Examples include: + +* Contract executable code +* Metadata about a transaction, such as PDF version of an invoice being settled +* Shared information to be permanently recorded on the ledger + +To add attachments the file must first be added to the node's storage service using ``StorageService.importAttachment()``, +which returns a unique ID that can be added using ``TransactionBuilder.addAttachment()``. Attachments can also be +uploaded and downloaded via HTTP, to enable integration with external systems. For instructions on HTTP upload/download +please see ":doc:`node-administration`". + +Normally attachments on transactions are fetched automatically via the ``ResolveTransactionsProtocol`` when verifying +received transactions. Attachments are needed in order to validate a transaction (they include, for example, the +contract code), so must be fetched before the validation process can run. ``ResolveTransactionsProtocol`` calls +``FetchTransactionsProtocol`` to perform the actual retrieval. + +It is encouraged that where possible attachments are reusable data, so that nodes can meaningfully cache them. + +Attachments demo +---------------- + +There is a worked example of attachments, which relays a simple document from one node to another. The "two party +trade protocol" also includes an attachment, however it is a significantly more complex demo, and less well suited +for a tutorial. + +The demo code is in the file "src/main/kotlin/com/r3corda/demos/attachment/AttachmentDemo.kt", with the core logic +contained within the two functions ``runRecipient()`` and ``runSender()``. We'll look at the recipient function first; +this subscribes to notifications of new validated transactions, and if it receives a transaction containing attachments, +loads the first attachment from storage, and checks it matches the expected attachment ID. ``ResolveTransactionsProtocol`` +has already fetched all attachments from the remote node, and as such the attachments are available from the node's +storage service. Once the attachment is verified, the node shuts itself down. + +.. sourcecode:: kotlin + + private fun runRecipient(node: Node) { + val serviceHub = node.services + + // Normally we would receive the transaction from a more specific protocol, but in this case we let [FinalityProtocol] + // handle receiving it for us. + serviceHub.storageService.validatedTransactions.updates.subscribe { event -> + // When the transaction is received, it's passed through [ResolveTransactionsProtocol], which first fetches any + // attachments for us, then verifies the transaction. As such, by the time it hits the validated transaction store, + // we have a copy of the attachment. + val tx = event.tx + if (tx.attachments.isNotEmpty()) { + val attachment = serviceHub.storageService.attachments.openAttachment(tx.attachments.first()) + assertEquals(PROSPECTUS_HASH, attachment?.id) + + println("File received - we're happy!\n\nFinal transaction is:\n\n${Emoji.renderIfSupported(event.tx)}") + thread { + node.stop() + } + } + } + } + +The sender correspondingly builds a transaction with the attachment, then calls ``FinalityProtocol`` to complete the +transaction and send it to the recipient node: + + +.. sourcecode:: kotlin + + private fun runSender(node: Node, otherSide: Party) { + val serviceHub = node.services + // Make sure we have the file in storage + if (serviceHub.storageService.attachments.openAttachment(PROSPECTUS_HASH) == null) { + com.r3corda.demos.Role::class.java.getResourceAsStream("bank-of-london-cp.jar").use { + val id = node.storage.attachments.importAttachment(it) + assertEquals(PROSPECTUS_HASH, id) + } + } + + // Create a trivial transaction that just passes across the attachment - in normal cases there would be + // inputs, outputs and commands that refer to this attachment. + val ptx = TransactionType.General.Builder(notary = null) + ptx.addAttachment(serviceHub.storageService.attachments.openAttachment(PROSPECTUS_HASH)!!.id) + + // Despite not having any states, we have to have at least one signature on the transaction + ptx.signWith(ALICE_KEY) + + // Send the transaction to the other recipient + val tx = ptx.toSignedTransaction() + serviceHub.startProtocol(LOG_SENDER, FinalityProtocol(tx, emptySet(), setOf(otherSide))).success { + thread { + Thread.sleep(1000L) // Give the other side time to request the attachment + node.stop() + } + }.failure { + println("Failed to relay message ") + } + } \ No newline at end of file diff --git a/docs/build/html/_sources/tutorial-clientrpc-api.txt b/docs/build/html/_sources/tutorial-clientrpc-api.txt new file mode 100644 index 0000000000..dad8d13fc0 --- /dev/null +++ b/docs/build/html/_sources/tutorial-clientrpc-api.txt @@ -0,0 +1,83 @@ +.. _graphstream: http://graphstream-project.org/ + +Client RPC API +============== + +In this tutorial we will build a simple command line utility that connects to a node and dumps the transaction graph to +the standard output. We will then put some simple visualisation on top. For an explanation on how the RPC works see +:doc:`clientrpc`. + +We start off by connecting to the node itself. For the purposes of the tutorial we will run the Trader demo on some +local port and connect to the Buyer side. We will pass in the address as a command line argument. To connect to the node +we also need to access the certificates of the node, we will access the node's ``certificates`` directory directly. + +.. literalinclude:: example-code/src/main/kotlin/com/r3corda/docs/ClientRpcTutorial.kt + :language: kotlin + :start-after: START 1 + :end-before: END 1 + +Now we can connect to the node itself: + +.. literalinclude:: example-code/src/main/kotlin/com/r3corda/docs/ClientRpcTutorial.kt + :language: kotlin + :start-after: START 2 + :end-before: END 2 + +``proxy`` now exposes the full RPC interface of the node: + +.. literalinclude:: ../../node/src/main/kotlin/com/r3corda/node/services/messaging/CordaRPCOps.kt + :language: kotlin + :start-after: interface CordaRPCOps + :end-before: } + +The one we need in order to dump the transaction graph is ``verifiedTransactions``. The type signature tells us that the +RPC will return a list of transactions and an Observable stream. This is a general pattern, we query some data and the +node will return the current snapshot and future updates done to it. + +.. literalinclude:: example-code/src/main/kotlin/com/r3corda/docs/ClientRpcTutorial.kt + :language: kotlin + :start-after: START 3 + :end-before: END 3 + +The graph will be defined by nodes and edges between them. Each node represents a transaction and edges represent +output-input relations. For now let's just print ``NODE `` for the former and ``EDGE `` for the +latter. + +.. literalinclude:: example-code/src/main/kotlin/com/r3corda/docs/ClientRpcTutorial.kt + :language: kotlin + :start-after: START 4 + :end-before: END 4 + +Now we can start the trader demo as per described in :doc:`running-the-demos`:: + + # Build the demo + ./gradlew installDist + # Start the buyer + ./build/install/r3prototyping/bin/trader-demo --role=BUYER + +In another terminal we can connect to it with our client:: + + # Connect to localhost:31337 + ./docs/source/example-code/build/install/docs/source/example-code/bin/client-rpc-tutorial localhost:31337 Print + +We should see some ``NODE``-s printed. This is because the buyer self-issues some cash for the demo. +Unless we ran the seller before we shouldn't see any ``EDGE``-s because the cash hasn't been spent yet. + +In another terminal we can now start the seller:: + + # Start sellers in a loop + for i in {0..9} ; do ./build/install/r3prototyping/bin/trader-demo --role=SELLER ; done + +We should start seeing new ``NODE``-s and ``EDGE``-s appearing. + +Now let's try to visualise the transaction graph. We will use a graph drawing library called graphstream_ + +.. literalinclude:: example-code/src/main/kotlin/com/r3corda/docs/ClientRpcTutorial.kt + :language: kotlin + :start-after: START 5 + :end-before: END 5 + +If we run the client with ``Visualise`` we should see a simple graph being drawn as new transactions are being created +by the seller runs. + +That's it! We saw how to connect to the node and stream data from it. diff --git a/docs/build/html/api/alltypes/index.html b/docs/build/html/api/alltypes/index.html index bd7b8b236a..c664978d66 100644 --- a/docs/build/html/api/alltypes/index.html +++ b/docs/build/html/api/alltypes/index.html @@ -214,6 +214,14 @@ properties loaded from the attachments. And perhaps the authenticated user for +com.r3corda.client.fxutils.AssociatedList + +

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+ + + + com.r3corda.core.contracts.Attachment

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to @@ -331,6 +339,21 @@ the same transaction.

+com.r3corda.schemas.CashSchema + +

An object used to fully qualify the CashSchema family name (i.e. independent of version).

+ + + + +com.r3corda.schemas.CashSchemaV1 + +

First version of a cash contract ORM schema that maps all fields of the Cash contract state as it stood +at the time of writing.

+ + + + com.r3corda.node.utilities.certsigning.CertificateSigner

This check the certificatePath for certificates required to connect to the Corda network. @@ -410,12 +433,6 @@ provided directly by this clause.

-com.r3corda.node.services.monitor.ClientToServiceCommandMessage - - - - - java.time.Clock (extensions in package com.r3corda.node.utilities) @@ -428,6 +445,12 @@ provided directly by this clause.

+kotlin.collections.Collection (extensions in package com.r3corda.client.fxutils) + + + + + com.r3corda.core.contracts.Command

Command data/content plus pubkey pair: the signature is stored at the end of the serialized bytes

@@ -466,6 +489,21 @@ provided directly by this clause.

+com.r3corda.schemas.CommercialPaperSchema + +

An object used to fully qualify the CommercialPaperSchema family name (i.e. independent of version).

+ + + + +com.r3corda.schemas.CommercialPaperSchemaV1 + +

First version of a commercial paper contract ORM schema that maps all fields of the CommercialPaper contract state +as it stood at the time of writing.

+ + + + com.r3corda.core.contracts.Commodity

Class representing a commodity, as an equivalent to the Currency class. This exists purely to enable the @@ -492,6 +530,14 @@ internal accounting by the issuer (it might be, for example, a warehouse and/or +com.r3corda.client.fxutils.ConcatenatedList + +

ConcatenatedList takes a list of lists and concatenates them. Any change to the underlying lists or the outer list +is propagated as expected.

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

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work @@ -500,6 +546,12 @@ and to organise serializers / deserializers for java.time.* classes as necessary +com.r3corda.node.services.config.ConfigHelper + + + + + com.r3corda.node.internal.ConfigurationException @@ -578,7 +630,7 @@ useful tasks. See the documentation for com.r3corda.node.services.messaging.CordaRPCOps +com.r3corda.node.services.messaging.CordaRPCOps

RPC operations that the node exposes to clients using the Java client library. These can be called from client apps and are implemented by the node in the ServerRPCOps class.

@@ -605,6 +657,13 @@ client apps and are implemented by the node in the ServerRPCOps +com.r3corda.node.services.persistence.DBCheckpointStorage + +

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+ + + + com.r3corda.node.servlets.DataUploadServlet

Accepts binary streams, finds the right AcceptsFileUpload implementor and hands the stream off to it.

@@ -666,18 +725,6 @@ implementation of general protocols that manipulate many agreement types.

-com.r3corda.node.services.monitor.DeregisterRequest - - - - - -com.r3corda.node.services.monitor.DeregisterResponse - - - - - com.r3corda.core.serialization.DeserializeAsKotlinObjectDef

Marker interface for kotlin object definitions so that they are deserialized as the singleton instance.

@@ -685,6 +732,12 @@ implementation of general protocols that manipulate many agreement types.

+com.r3corda.client.model.Diff + + + + + com.r3corda.core.crypto.DigitalSignature

A wrapper around a digital signature. The covering field is a generic tag usable by whatever is interpreting the @@ -694,16 +747,6 @@ 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) @@ -884,6 +927,13 @@ attachments are saved to local storage automatically.

+com.r3corda.core.contracts.clauses.FilterOn + +

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+ + + + com.r3corda.protocols.FinalityProtocol

Finalise a transaction by notarising it, then recording it locally, and then sending it to all involved parties.

@@ -936,7 +986,7 @@ Assumes that the rate is valid.

com.r3corda.node.services.clientapi.FixingSessionInitiation -

This is a temporary handler required for establishing random sessionIDs for the Fixer and Floater as part of +

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.

@@ -1015,12 +1065,6 @@ container), shares of the same class in a specific company are fungible and coun -java.util.concurrent.Future (extensions in package com.r3corda.core) - - - - - com.r3corda.client.model.GatheredTransactionData @@ -1029,13 +1073,7 @@ container), shares of the same class in a specific company are fungible and coun com.r3corda.client.model.GatheredTransactionDataModel -

This model provides an observable list of states relating to the creation of a transaction not yet on ledger.

- - - - -com.r3corda.client.model.GatheredTransactionDataWritable - +

This model provides an observable list of transactions and what state machines/protocols recorded them

@@ -1059,11 +1097,9 @@ container), shares of the same class in a specific company are fungible and coun -com.r3corda.protocols.HandshakeMessage +com.r3corda.node.services.schema.HibernateObserver -

A Handshake message is sent to initiate communication between two protocol instances. It contains the two session IDs -the two protocols will need to communicate. -Note: This is a temperary interface and will be removed once the protocol session work is implemented.

+

A vault observer that extracts Object Relational Mappings for contract states that support it, and persists them with Hibernate.

@@ -1137,6 +1173,13 @@ set via the constructor and the class is immutable.

+com.r3corda.node.services.persistence.InMemoryStateMachineRecordedTransactionMappingStorage + +

This is a temporary in-memory storage of a state machine id -> txhash mapping

+ + + + com.r3corda.node.services.transactions.InMemoryUniquenessProvider

A dummy Uniqueness provider that stores the whole history of consumed states in memory

@@ -1260,6 +1303,12 @@ quantifiable with integer quantities.

+kotlin.collections.Iterable (extensions in package com.r3corda.core.node.services) + + + + + kotlin.collections.Iterable (extensions in package com.r3corda.core) @@ -1336,6 +1385,14 @@ call out to a hardware security module that enforces various auditing and freque +com.r3corda.client.fxutils.LeftOuterJoinedMap + +

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+ + + + com.r3corda.core.math.LinearInterpolator

Interpolates values between the given data points using straight lines.

@@ -1362,6 +1419,13 @@ call out to a hardware security module that enforces various auditing and freque +com.r3corda.node.utilities.LocalDateColumnType + +

ColumnType for marshalling to/from database on behalf of java.time.LocalDate.

+ + + + com.r3corda.core.utilities.LogHelper

A configuration helper that allows modifying the log level for specific loggers

@@ -1375,6 +1439,31 @@ call out to a hardware security module that enforces various auditing and freque +com.r3corda.client.fxutils.MapValuesList + +

MapValuesList takes an ObservableMap and returns its values as an ObservableList. +The order of returned elements is deterministic but unspecified.

+ + + + +com.r3corda.client.fxutils.MappedList + +

This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run +when an element is inserted or updated. +Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.

+ + + + +com.r3corda.core.schemas.MappedSchema + +

A database schema that might be configured for this node. As well as a name and version for identifying the schema, +also list the classes that may be used in the generated object graph in order to configure the ORM tool.

+ + + + com.r3corda.node.services.messaging.MarshalledObservation

Used in the RPC wire protocol to wrap an observation with the handle of the observable its intended for.

@@ -1606,12 +1695,6 @@ loads important data off disk and starts listening for connections.

-com.r3corda.node.services.config.NodeConfigurationFromConfig - - - - - com.r3corda.core.node.NodeInfo

Info about a network node that acts on behalf of some form of contract party.

@@ -1642,24 +1725,9 @@ Artemis is a message queue broker and here we run a client connecting to the spe -com.r3corda.client.NodeMonitorClient - - - - - com.r3corda.client.model.NodeMonitorModel -

This model exposes raw event streams to and from the NodeMonitorService through a NodeMonitorClient

- - - - -com.r3corda.node.services.monitor.NodeMonitorService - -

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

+

This model exposes raw event streams to and from the node.

@@ -1691,6 +1759,13 @@ that also encompasses the Vault observer for processing transact +com.r3corda.node.services.schema.NodeSchemaService + +

Most basic implementation of SchemaService.

+ + + + com.r3corda.node.services.vault.NodeVaultService

Currently, the node vault service is a very simple RDBMS backed implementation. It will change significantly when @@ -1784,6 +1859,12 @@ to be netted/merged, with settlement only for any remainder amount.

+javafx.collections.ObservableMap (extensions in package com.r3corda.client.fxutils) + + + + + javafx.beans.value.ObservableValue (extensions in package com.r3corda.client.fxutils) @@ -1835,6 +1916,15 @@ functionality to Java, but it wont arrive for a few years yet

+com.r3corda.client.model.PartiallyResolvedTransaction + +

PartiallyResolvedTransaction holds a SignedTransaction that has zero or more inputs resolved. The intent is +to prepare clients for cases where an input can only be resolved in the future/cannot be resolved at all (for example +because of permissioning)

+ + + + 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.

@@ -1856,13 +1946,13 @@ ledger. The reference is intended to be encrypted so its meaningless to anyone o -com.r3corda.core.testing.PartyGenerator +com.r3corda.node.utilities.PartyColumns -com.r3corda.protocols.PartyRequestMessage +com.r3corda.core.testing.PartyGenerator @@ -1923,6 +2013,21 @@ ledger. The reference is intended to be encrypted so its meaningless to anyone o +com.r3corda.core.schemas.PersistentState + +

A super class for all mapped states exported to a schema that ensures the StateRef appears on the database row. The +StateRef will be set to the correct value by the framework (theres no need to set during mapping generation by the state itself).

+ + + + +com.r3corda.core.schemas.PersistentStateRef + +

Embedded StateRef representation used in state mapping.

+ + + + com.r3corda.node.services.transactions.PersistentUniquenessProvider

A RDBMS backed Uniqueness provider

@@ -1972,6 +2077,12 @@ a singleton).

+com.r3corda.client.model.ProgressTrackingEvent + + + + + com.r3corda.node.api.ProtocolClassRef @@ -2027,17 +2138,22 @@ a node crash, how many instances of your protocol there are running and so on. +com.r3corda.core.protocols.ProtocolSessionException + + + + + com.r3corda.core.protocols.ProtocolStateMachine -

The interface of ProtocolStateMachineImpl exposing methods and properties required by ProtocolLogic for compilation.

+

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. +For any given flow there is only one PSM, even if that protocol invokes subprotocols.

com.r3corda.node.services.statemachine.ProtocolStateMachineImpl -

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

@@ -2054,12 +2170,34 @@ For any given flow there is only one PSM, even if that protocol invokes subproto +com.r3corda.node.utilities.PublicKeyColumnType + +

ColumnType for marshalling to/from database on behalf of PublicKey.

+ + + + com.r3corda.core.testing.PublicKeyGenerator +com.r3corda.core.crypto.PublicKeyTree + +

A tree data structure that enables the representation of composite public keys.

+ + + + +com.r3corda.core.schemas.QueryableState + +

A contract state that may be mapped to database schemas configured for this node to support querying for, +or filtering of, states.

+ + + + com.r3corda.node.services.messaging.RPCDispatcher

Intended to service transient clients only (not p2p nodes) for short-lived, transient request/response pairs. @@ -2137,6 +2275,14 @@ for each step.

+com.r3corda.client.fxutils.ReadOnlyBackedObservableMapBase + +

ReadOnlyBackedObservableMapBase is a base class implementing all abstract functions required for an ObservableMap +using a backing HashMap that subclasses should modify.

+ + + + com.r3corda.core.node.services.ReadOnlyTransactionStorage

Thread-safe storage of transactions.

@@ -2171,18 +2317,6 @@ e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value -com.r3corda.node.services.monitor.RegisterRequest - - - - - -com.r3corda.node.services.monitor.RegisterResponse - - - - - com.r3corda.node.services.api.RegulatorService

Placeholder interface for regulator services.

@@ -2190,6 +2324,14 @@ e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value +com.r3corda.client.fxutils.ReplayedList + +

This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a +non-backed observable

+ + + + com.r3corda.core.contracts.Requirements @@ -2220,6 +2362,12 @@ again.

+com.r3corda.demos.attachment.Role + + + + + com.r3corda.demos.Role @@ -2271,6 +2419,13 @@ increase the feature set in the future.

+com.r3corda.node.services.api.SchemaService + +

A configuration and customisation point for Object Relational Mapping of contract state objects.

+ + + + com.r3corda.core.crypto.SecureHash

Container for a cryptographically secure hash value. @@ -2279,6 +2434,13 @@ Provides utilities for generating a cryptographic hash using different algorithm +com.r3corda.node.utilities.SecureHashColumnType + +

ColumnType for marshalling to/from database on behalf of SecureHash.

+ + + + com.r3corda.core.testing.SecureHashGenerator @@ -2356,6 +2518,14 @@ thread (i.e. serially). Arguments are serialised and deserialised automatically. +com.r3corda.core.node.ServiceEntry + +

Information for an advertised service including the service specific identity information. +The identity can be used in protocols and is distinct from the Nodes legalIdentity

+ + + + com.r3corda.core.node.ServiceHub

A service hub simply vends references to the other services a node has. Some of those services may be missing or @@ -2371,17 +2541,16 @@ functionality and you dont want to hard-code which types in the interface.

-com.r3corda.protocols.ServiceRequestMessage +com.r3corda.core.node.services.ServiceInfo -

Abstract superclass for request messages sent to services, which includes common -fields such as replyTo and sessionID.

+

A container for additional information for an advertised service.

-com.r3corda.node.services.monitor.ServiceToClientEvent +com.r3corda.protocols.ServiceRequestMessage -

Events triggered by changes in the node, and sent to monitoring client(s).

+

Abstract superclass for request messages sent to services which expect a reply.

@@ -2479,6 +2648,18 @@ Points at which polynomial pieces connect are known as knots.

+com.r3corda.client.model.StateMachineData + + + + + +com.r3corda.node.services.messaging.StateMachineInfo + + + + + com.r3corda.node.services.statemachine.StateMachineManager

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. @@ -2487,12 +2668,38 @@ Each such object represents an instantiation of a (two-party) protocol that has +com.r3corda.core.node.services.StateMachineRecordedTransactionMappingStorage + +

This is the interface to storage storing state machine -> recorded tx mappings. Any time a transaction is recorded +during a protocol run addMapping should be called.

+ + + + +com.r3corda.core.protocols.StateMachineRunId + + + + + com.r3corda.client.model.StateMachineStatus +com.r3corda.core.node.services.StateMachineTransactionMapping + + + + + +com.r3corda.node.services.messaging.StateMachineUpdate + + + + + com.r3corda.core.contracts.StateRef

A stateref is a pointer (reference) to a state, this is an equivalent of an "outpoint" in Bitcoin. It records which @@ -2501,6 +2708,12 @@ transaction defined the state and where in that transaction it was.

+com.r3corda.node.utilities.StateRefColumns + + + + + com.r3corda.core.testing.StateRefGenerator @@ -2520,18 +2733,6 @@ transaction defined the state and where in that transaction it was.

-com.r3corda.node.services.monitor.StateSnapshotMessage - - - - - -com.r3corda.client.model.StatesModification - - - - - com.r3corda.node.api.StatesQuery

Extremely rudimentary query language which should most likely be replaced with a product.

@@ -2554,6 +2755,20 @@ anything like that, this interface is only big enough to support the prototyping +com.r3corda.node.utilities.StrandLocalTransactionManager + +

A relatively close copy of the ThreadLocalTransactionManager in Exposed but with the following adjustments to suit +our environment:

+ + + + +kotlin.String (extensions in package com.r3corda.core.serialization) + + + + + kotlin.String (extensions in package com.r3corda.core) @@ -2651,7 +2866,7 @@ then B and C trade with each other, then C and A etc).

-com.r3corda.node.services.monitor.TransactionBuildResult +com.r3corda.node.services.messaging.TransactionBuildResult @@ -2779,6 +2994,13 @@ and seller) and the following steps:

+com.r3corda.node.utilities.UUIDStringColumnType + +

ColumnType for marshalling to/from database on behalf of UUID, always using a string representation.

+ + + + com.r3corda.core.contracts.UniqueIdentifier

This class provides a truly unique identifier of a trade, state, or other business object.

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/-init-.html index 1d84b729d6..de1cb3e24b 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/-init-.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/-init-.html @@ -13,7 +13,10 @@

Changes done to elements of the input list are reflected in the observable list of the respective group, whereas additions/removals of elements in the underlying list are reflected in the exposed ObservableList<A> by adding/deleting aggregations as expected.

-

The ordering of the exposed list is based on the hashCode of keys.

+

The ordering of the exposed list is based on the hashCode of keys. +The ordering of the groups themselves is based on the hashCode of elements.

+

Warning: If there are two elements E in the source list that have the same hashCode then it is not deterministic +which one will be removed if one is removed from the source list

Example: val statesGroupedByCurrency = AggregatedList(states, { state -> state.currency }) { currency, group -> object { diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/index.html index f84492aa58..42f9902162 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/-aggregated-list/index.html @@ -7,13 +7,16 @@ com.r3corda.client.fxutils / AggregatedList

AggregatedList

-class AggregatedList<A, E, K : Any> : TransformationList<A, E>
+class AggregatedList<A, E : Any, K : Any> : TransformationList<A, E>

Given an ObservableList<E> and a grouping key K, AggregatedList groups the elements by the key into a fresh ObservableList<E> for each group and exposes the groups as an observable list of As by calling assemble on each.

Changes done to elements of the input list are reflected in the observable list of the respective group, whereas additions/removals of elements in the underlying list are reflected in the exposed ObservableList<A> by adding/deleting aggregations as expected.

-

The ordering of the exposed list is based on the hashCode of keys.

+

The ordering of the exposed list is based on the hashCode of keys. +The ordering of the groups themselves is based on the hashCode of elements.

+

Warning: If there are two elements E in the source list that have the same hashCode then it is not deterministic +which one will be removed if one is removed from the source list

Example: val statesGroupedByCurrency = AggregatedList(states, { state -> state.currency }) { currency, group -> object { @@ -102,9 +105,30 @@ TODO Should we handle this case? It requires additional bookkeeping of sourceInd +associateBy + +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+ + + + +associateByAggregation + +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+ + + + filter -fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<out A>

enum class FilterCriterion { HEIGHT, NAME } +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } val filterCriterion: ObservableValue = (..) val people: ObservableList = (..) fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

@@ -112,15 +136,36 @@ fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { . -fold +filterNotNull -fun <A, B> ObservableList<out A>.fold(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) -val concatenatedNames = people.fold("", { names, person -> names + person.name }) +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+ + + + +first + +fun <A> ObservableList<A>.first(): ObservableValue<A?> + + + +foldObservable + +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+getValueAt + +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?> + + + indexOfOrThrow fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

@@ -128,9 +173,39 @@ val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+ + + + +last + +fun <A> ObservableList<A>.last(): ObservableValue<A?> + + + +leftOuterJoin + +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+ + + + map -fun <A, B> ObservableList<out A>.map(function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) val dogOwners: ObservableList = dogs.map { it.owner }

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/-init-.html new file mode 100644 index 0000000000..845ecb35d2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/-init-.html @@ -0,0 +1,25 @@ + + +AssociatedList.<init> - + + + +com.r3corda.client.fxutils / AssociatedList / <init>
+
+

<init>

+AssociatedList(sourceList: ObservableList<out A>, toKey: (A) -> K, assemble: (K, A) -> B)
+

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+

Parameters

+ +sourceList - The source list.
+
+ +toKey - Function returning the key.
+
+ +assemble - The function to assemble the final map element from the list element and the associated key.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/index.html new file mode 100644 index 0000000000..e08292d15c --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/index.html @@ -0,0 +1,148 @@ + + +AssociatedList - + + + +com.r3corda.client.fxutils / AssociatedList
+
+

AssociatedList

+class AssociatedList<K, out A, B> : ReadOnlyBackedObservableMapBase<K, B, Unit>
+

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+

Parameters

+ +sourceList - The source list.
+
+ +toKey - Function returning the key.
+
+ +assemble - The function to assemble the final map element from the list element and the associated key.
+
+
+

Constructors

+ + + + + + + +
+<init> +AssociatedList(sourceList: ObservableList<out A>, toKey: (A) -> K, assemble: (K, A) -> B)

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+
+

Properties

+ + + + + + + +
+sourceList +val sourceList: ObservableList<out A>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+backingMap +val backingMap: HashMap<K, <ERROR CLASS><A, B>>
+entries +open val entries: MutableSet<MutableEntry<K, A>>
+keys +open val keys: MutableSet<K>
+size +open val size: Int
+values +open val values: MutableCollection<A>
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+addListener +open fun addListener(listener: InvalidationListener): Unit
+clear +open fun clear(): Unit
+isEmpty +open fun isEmpty(): Boolean
+removeListener +open fun removeListener(listener: InvalidationListener?): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + +
+createMapChange +fun <A, K> ObservableMap<K, A>.createMapChange(key: K, removedValue: A?, addedValue: A?): Change<K, A>
+getObservableEntries +fun <K, V> ObservableMap<K, V>.getObservableEntries(): ObservableList<Entry<K, V>>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+getObservableValue +fun <K, V> ObservableMap<K, V>.getObservableValue(key: K): ObservableValue<V?>

val nameToPerson: ObservableMap<String, Person> = (..) +val john: ObservableValue<Person?> = nameToPerson.getObservableValue("John")

+
+getObservableValues +fun <K, V> ObservableMap<K, V>.getObservableValues(): ObservableList<V>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/source-list.html b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/source-list.html new file mode 100644 index 0000000000..92a85f9309 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-associated-list/source-list.html @@ -0,0 +1,15 @@ + + +AssociatedList.sourceList - + + + +com.r3corda.client.fxutils / AssociatedList / sourceList
+
+

sourceList

+ +val sourceList: ObservableList<out A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-chosen-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-chosen-list/index.html index d2afecca81..85179aa248 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/-chosen-list/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/-chosen-list/index.html @@ -62,9 +62,30 @@ is (ByIssuer) -> statesFilteredByIssuer +associateBy + +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+ + + + +associateByAggregation + +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+ + + + filter -fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<out A>

enum class FilterCriterion { HEIGHT, NAME } +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } val filterCriterion: ObservableValue = (..) val people: ObservableList = (..) fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

@@ -72,15 +93,36 @@ fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { . -fold +filterNotNull -fun <A, B> ObservableList<out A>.fold(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) -val concatenatedNames = people.fold("", { names, person -> names + person.name }) +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+ + + + +first + +fun <A> ObservableList<A>.first(): ObservableValue<A?> + + + +foldObservable + +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+getValueAt + +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?> + + + indexOfOrThrow fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

@@ -88,9 +130,39 @@ val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+ + + + +last + +fun <A> ObservableList<A>.last(): ObservableValue<A?> + + + +leftOuterJoin + +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+ + + + map -fun <A, B> ObservableList<out A>.map(function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) val dogOwners: ObservableList = dogs.map { it.owner }

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/-init-.html new file mode 100644 index 0000000000..54390810e7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/-init-.html @@ -0,0 +1,16 @@ + + +ConcatenatedList.<init> - + + + +com.r3corda.client.fxutils / ConcatenatedList / <init>
+
+

<init>

+ConcatenatedList(sourceList: ObservableList<ObservableList<A>>)
+

ConcatenatedList takes a list of lists and concatenates them. Any change to the underlying lists or the outer list +is propagated as expected.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get-source-index.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get-source-index.html new file mode 100644 index 0000000000..e2ccaf8263 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get-source-index.html @@ -0,0 +1,15 @@ + + +ConcatenatedList.getSourceIndex - + + + +com.r3corda.client.fxutils / ConcatenatedList / getSourceIndex
+
+

getSourceIndex

+ +fun getSourceIndex(index: Int): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get.html new file mode 100644 index 0000000000..c1a2b5f485 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/get.html @@ -0,0 +1,15 @@ + + +ConcatenatedList.get - + + + +com.r3corda.client.fxutils / ConcatenatedList / get
+
+

get

+ +fun get(index: Int): A
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/index.html new file mode 100644 index 0000000000..72f9513566 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/index.html @@ -0,0 +1,183 @@ + + +ConcatenatedList - + + + +com.r3corda.client.fxutils / ConcatenatedList
+
+

ConcatenatedList

+class ConcatenatedList<A> : TransformationList<A, ObservableList<A>>
+

ConcatenatedList takes a list of lists and concatenates them. Any change to the underlying lists or the outer list +is propagated as expected.

+
+
+

Constructors

+ + + + + + + +
+<init> +ConcatenatedList(sourceList: ObservableList<ObservableList<A>>)

ConcatenatedList takes a list of lists and concatenates them. Any change to the underlying lists or the outer list +is propagated as expected.

+
+

Properties

+ + + + + + + +
+size +val size: Int
+

Functions

+ + + + + + + + + + + + + + + +
+get +fun get(index: Int): A
+getSourceIndex +fun getSourceIndex(index: Int): Int
+sourceChanged +fun sourceChanged(change: Change<out ObservableList<A>>): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+associateBy +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+
+associateByAggregation +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+
+filter +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } +val filterCriterion: ObservableValue = (..) +val people: ObservableList = (..) +fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

+
+filterNotNull +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+
+first +fun <A> ObservableList<A>.first(): ObservableValue<A?>
+foldObservable +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) +val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+
+getValueAt +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?>
+indexOfOrThrow +fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

+
+isOrderedAndUnique +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+
+last +fun <A> ObservableList<A>.last(): ObservableValue<A?>
+leftOuterJoin +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+
+map +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +val dogOwners: ObservableList = dogs.map { it.owner }

+
+noneOrSingle +fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, +or throws if more than one element was found.

+fun <T> Iterable<T>.noneOrSingle(): T?

Returns single element, or null if element was not found, or throws if more than one element was found.

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/size.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/size.html new file mode 100644 index 0000000000..e4f6b4c114 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/size.html @@ -0,0 +1,15 @@ + + +ConcatenatedList.size - + + + +com.r3corda.client.fxutils / ConcatenatedList / size
+
+

size

+ +val size: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/source-changed.html b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/source-changed.html new file mode 100644 index 0000000000..ee2acb6d55 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-concatenated-list/source-changed.html @@ -0,0 +1,15 @@ + + +ConcatenatedList.sourceChanged - + + + +com.r3corda.client.fxutils / ConcatenatedList / sourceChanged
+
+

sourceChanged

+ +protected fun sourceChanged(change: Change<out ObservableList<A>>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-flattened-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-flattened-list/index.html index 62f1f3d6b8..a7e4a8baf6 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/-flattened-list/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/-flattened-list/index.html @@ -90,9 +90,30 @@ are reflected in the exposed list as expected.

+associateBy + +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+ + + + +associateByAggregation + +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+ + + + filter -fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<out A>

enum class FilterCriterion { HEIGHT, NAME } +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } val filterCriterion: ObservableValue = (..) val people: ObservableList = (..) fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

@@ -100,15 +121,36 @@ fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { . -fold +filterNotNull -fun <A, B> ObservableList<out A>.fold(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) -val concatenatedNames = people.fold("", { names, person -> names + person.name }) +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+ + + + +first + +fun <A> ObservableList<A>.first(): ObservableValue<A?> + + + +foldObservable + +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+getValueAt + +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?> + + + indexOfOrThrow fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

@@ -116,9 +158,39 @@ val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+ + + + +last + +fun <A> ObservableList<A>.last(): ObservableValue<A?> + + + +leftOuterJoin + +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+ + + + map -fun <A, B> ObservableList<out A>.map(function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) val dogOwners: ObservableList = dogs.map { it.owner }

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/-init-.html new file mode 100644 index 0000000000..121945b462 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/-init-.html @@ -0,0 +1,16 @@ + + +LeftOuterJoinedMap.<init> - + + + +com.r3corda.client.fxutils / LeftOuterJoinedMap / <init>
+
+

<init>

+LeftOuterJoinedMap(leftTable: ObservableMap<K, out A>, rightTable: ObservableMap<K, out B>, assemble: (K, A, ObservableValue<B?>) -> C)
+

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/index.html new file mode 100644 index 0000000000..633a532d3b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/index.html @@ -0,0 +1,145 @@ + + +LeftOuterJoinedMap - + + + +com.r3corda.client.fxutils / LeftOuterJoinedMap
+
+

LeftOuterJoinedMap

+class LeftOuterJoinedMap<K : Any, A, B, C> : ReadOnlyBackedObservableMapBase<K, C, SimpleObjectProperty<B?>>
+

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+
+
+

Constructors

+ + + + + + + +
+<init> +LeftOuterJoinedMap(leftTable: ObservableMap<K, out A>, rightTable: ObservableMap<K, out B>, assemble: (K, A, ObservableValue<B?>) -> C)

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+
+

Properties

+ + + + + + + + + + + +
+leftTable +val leftTable: ObservableMap<K, out A>
+rightTable +val rightTable: ObservableMap<K, out B>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+backingMap +val backingMap: HashMap<K, <ERROR CLASS><A, B>>
+entries +open val entries: MutableSet<MutableEntry<K, A>>
+keys +open val keys: MutableSet<K>
+size +open val size: Int
+values +open val values: MutableCollection<A>
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+addListener +open fun addListener(listener: InvalidationListener): Unit
+clear +open fun clear(): Unit
+isEmpty +open fun isEmpty(): Boolean
+removeListener +open fun removeListener(listener: InvalidationListener?): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + +
+createMapChange +fun <A, K> ObservableMap<K, A>.createMapChange(key: K, removedValue: A?, addedValue: A?): Change<K, A>
+getObservableEntries +fun <K, V> ObservableMap<K, V>.getObservableEntries(): ObservableList<Entry<K, V>>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+getObservableValue +fun <K, V> ObservableMap<K, V>.getObservableValue(key: K): ObservableValue<V?>

val nameToPerson: ObservableMap<String, Person> = (..) +val john: ObservableValue<Person?> = nameToPerson.getObservableValue("John")

+
+getObservableValues +fun <K, V> ObservableMap<K, V>.getObservableValues(): ObservableList<V>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/left-table.html b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/left-table.html new file mode 100644 index 0000000000..82426386d5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/left-table.html @@ -0,0 +1,15 @@ + + +LeftOuterJoinedMap.leftTable - + + + +com.r3corda.client.fxutils / LeftOuterJoinedMap / leftTable
+
+

leftTable

+ +val leftTable: ObservableMap<K, out A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/right-table.html b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/right-table.html new file mode 100644 index 0000000000..ddc7cc58c7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-left-outer-joined-map/right-table.html @@ -0,0 +1,15 @@ + + +LeftOuterJoinedMap.rightTable - + + + +com.r3corda.client.fxutils / LeftOuterJoinedMap / rightTable
+
+

rightTable

+ +val rightTable: ObservableMap<K, out B>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/create.html b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/create.html new file mode 100644 index 0000000000..a56d0ae972 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/create.html @@ -0,0 +1,22 @@ + + +MapValuesList.create - + + + +com.r3corda.client.fxutils / MapValuesList / create
+
+

create

+ +fun <K, A, C> create(sourceMap: ObservableMap<K, A>, assemble: (Entry<K, A>) -> C): MapValuesList<K, A, C>
+

create is the factory of MapValuesList.

+

Parameters

+ +sourceMap - The source map.
+
+ +assemble - The function to be called for map each entry to construct the final list elements.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/index.html new file mode 100644 index 0000000000..b1bc4bd2d7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/index.html @@ -0,0 +1,159 @@ + + +MapValuesList - + + + +com.r3corda.client.fxutils / MapValuesList
+
+

MapValuesList

+class MapValuesList<K, A, C> : ObservableList<C>
+

MapValuesList takes an ObservableMap and returns its values as an ObservableList. +The order of returned elements is deterministic but unspecified.

+
+
+

Properties

+ + + + + + + +
+sourceMap +val sourceMap: ObservableMap<K, A>
+

Companion Object Functions

+ + + + + + + +
+create +fun <K, A, C> create(sourceMap: ObservableMap<K, A>, assemble: (Entry<K, A>) -> C): MapValuesList<K, A, C>

create is the factory of MapValuesList.

+
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+associateBy +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+
+associateByAggregation +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+
+filter +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } +val filterCriterion: ObservableValue = (..) +val people: ObservableList = (..) +fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

+
+filterNotNull +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+
+first +fun <A> ObservableList<A>.first(): ObservableValue<A?>
+foldObservable +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) +val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+
+getValueAt +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?>
+indexOfOrThrow +fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

+
+isOrderedAndUnique +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+
+last +fun <A> ObservableList<A>.last(): ObservableValue<A?>
+leftOuterJoin +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+
+map +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +val dogOwners: ObservableList = dogs.map { it.owner }

+
+noneOrSingle +fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, +or throws if more than one element was found.

+fun <T> Iterable<T>.noneOrSingle(): T?

Returns single element, or null if element was not found, or throws if more than one element was found.

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/source-map.html b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/source-map.html new file mode 100644 index 0000000000..d1f34ab1c9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-map-values-list/source-map.html @@ -0,0 +1,15 @@ + + +MapValuesList.sourceMap - + + + +com.r3corda.client.fxutils / MapValuesList / sourceMap
+
+

sourceMap

+ +val sourceMap: ObservableMap<K, A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/-init-.html new file mode 100644 index 0000000000..ae6b5ca2d0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/-init-.html @@ -0,0 +1,17 @@ + + +MappedList.<init> - + + + +com.r3corda.client.fxutils / MappedList / <init>
+
+

<init>

+MappedList(list: ObservableList<A>, function: (A) -> B)
+

This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run +when an element is inserted or updated. +Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/function.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/function.html new file mode 100644 index 0000000000..1e16ea9031 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/function.html @@ -0,0 +1,15 @@ + + +MappedList.function - + + + +com.r3corda.client.fxutils / MappedList / function
+
+

function

+ +val function: (A) -> B
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get-source-index.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get-source-index.html new file mode 100644 index 0000000000..18c04c44a1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get-source-index.html @@ -0,0 +1,15 @@ + + +MappedList.getSourceIndex - + + + +com.r3corda.client.fxutils / MappedList / getSourceIndex
+
+

getSourceIndex

+ +fun getSourceIndex(index: Int): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get.html new file mode 100644 index 0000000000..c43192447c --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/get.html @@ -0,0 +1,15 @@ + + +MappedList.get - + + + +com.r3corda.client.fxutils / MappedList / get
+
+

get

+ +fun get(index: Int): B
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/index.html new file mode 100644 index 0000000000..9277dc173b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/index.html @@ -0,0 +1,191 @@ + + +MappedList - + + + +com.r3corda.client.fxutils / MappedList
+
+

MappedList

+class MappedList<A, B> : TransformationList<B, A>
+

This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run +when an element is inserted or updated. +Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.

+
+
+

Constructors

+ + + + + + + +
+<init> +MappedList(list: ObservableList<A>, function: (A) -> B)

This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run +when an element is inserted or updated. +Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.

+
+

Properties

+ + + + + + + + + + + +
+function +val function: (A) -> B
+size +val size: Int
+

Functions

+ + + + + + + + + + + + + + + +
+get +fun get(index: Int): B
+getSourceIndex +fun getSourceIndex(index: Int): Int
+sourceChanged +fun sourceChanged(change: Change<out A>): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+associateBy +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+
+associateByAggregation +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+
+filter +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } +val filterCriterion: ObservableValue = (..) +val people: ObservableList = (..) +fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

+
+filterNotNull +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+
+first +fun <A> ObservableList<A>.first(): ObservableValue<A?>
+foldObservable +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) +val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+
+getValueAt +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?>
+indexOfOrThrow +fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

+
+isOrderedAndUnique +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+
+last +fun <A> ObservableList<A>.last(): ObservableValue<A?>
+leftOuterJoin +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+
+map +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +val dogOwners: ObservableList = dogs.map { it.owner }

+
+noneOrSingle +fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, +or throws if more than one element was found.

+fun <T> Iterable<T>.noneOrSingle(): T?

Returns single element, or null if element was not found, or throws if more than one element was found.

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/size.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/size.html new file mode 100644 index 0000000000..e0f522d5ca --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/size.html @@ -0,0 +1,15 @@ + + +MappedList.size - + + + +com.r3corda.client.fxutils / MappedList / size
+
+

size

+ +val size: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/source-changed.html b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/source-changed.html new file mode 100644 index 0000000000..f0258641d2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-mapped-list/source-changed.html @@ -0,0 +1,15 @@ + + +MappedList.sourceChanged - + + + +com.r3corda.client.fxutils / MappedList / sourceChanged
+
+

sourceChanged

+ +protected fun sourceChanged(change: Change<out A>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/-init-.html new file mode 100644 index 0000000000..cb4ec325b2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/-init-.html @@ -0,0 +1,28 @@ + + +ReadOnlyBackedObservableMapBase.<init> - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / <init>
+
+

<init>

+ReadOnlyBackedObservableMapBase()
+

ReadOnlyBackedObservableMapBase is a base class implementing all abstract functions required for an ObservableMap +using a backing HashMap that subclasses should modify.

+

Non-read-only API calls throw.

+
+
+

Parameters

+ +K - The key type.
+
+ +A - The exposed map element type.
+
+ +B - Auxiliary data subclasses may wish to store in the backing map.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/add-listener.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/add-listener.html new file mode 100644 index 0000000000..fca8ad859b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/add-listener.html @@ -0,0 +1,17 @@ + + +ReadOnlyBackedObservableMapBase.addListener - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / addListener
+
+

addListener

+ +open fun addListener(listener: InvalidationListener): Unit
+ +open fun addListener(listener: MapChangeListener<in K, in A>?): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/backing-map.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/backing-map.html new file mode 100644 index 0000000000..30df8010aa --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/backing-map.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.backingMap - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / backingMap
+
+

backingMap

+ +protected val backingMap: HashMap<K, <ERROR CLASS><A, B>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/clear.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/clear.html new file mode 100644 index 0000000000..8b1fe3782e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/clear.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.clear - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / clear
+
+

clear

+ +open fun clear(): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-key.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-key.html new file mode 100644 index 0000000000..677a4b2e9e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-key.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.containsKey - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / containsKey
+
+

containsKey

+ +open fun containsKey(key: K): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-value.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-value.html new file mode 100644 index 0000000000..b90e036509 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/contains-value.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.containsValue - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / containsValue
+
+

containsValue

+ +open fun containsValue(value: A): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/entries.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/entries.html new file mode 100644 index 0000000000..86b20bf1e4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/entries.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.entries - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / entries
+
+

entries

+ +open val entries: MutableSet<MutableEntry<K, A>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/fire-change.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/fire-change.html new file mode 100644 index 0000000000..dfbf846731 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/fire-change.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.fireChange - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / fireChange
+
+

fireChange

+ +protected fun fireChange(change: Change<out K, out A>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/get.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/get.html new file mode 100644 index 0000000000..71cb488ac1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/get.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.get - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / get
+
+

get

+ +open fun get(key: K): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/index.html new file mode 100644 index 0000000000..39651a0702 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/index.html @@ -0,0 +1,205 @@ + + +ReadOnlyBackedObservableMapBase - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase
+
+

ReadOnlyBackedObservableMapBase

+open class ReadOnlyBackedObservableMapBase<K, A, B> : ObservableMap<K, A>
+

ReadOnlyBackedObservableMapBase is a base class implementing all abstract functions required for an ObservableMap +using a backing HashMap that subclasses should modify.

+

Non-read-only API calls throw.

+
+
+

Parameters

+ +K - The key type.
+
+ +A - The exposed map element type.
+
+ +B - Auxiliary data subclasses may wish to store in the backing map.
+
+
+

Constructors

+ + + + + + + +
+<init> +ReadOnlyBackedObservableMapBase()

ReadOnlyBackedObservableMapBase is a base class implementing all abstract functions required for an ObservableMap +using a backing HashMap that subclasses should modify.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+backingMap +val backingMap: HashMap<K, <ERROR CLASS><A, B>>
+entries +open val entries: MutableSet<MutableEntry<K, A>>
+keys +open val keys: MutableSet<K>
+size +open val size: Int
+values +open val values: MutableCollection<A>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addListener +open fun addListener(listener: InvalidationListener): Unit
+open fun addListener(listener: MapChangeListener<in K, in A>?): Unit
+clear +open fun clear(): Unit
+containsKey +open fun containsKey(key: K): Boolean
+containsValue +open fun containsValue(value: A): <ERROR CLASS>
+fireChange +fun fireChange(change: Change<out K, out A>): Unit
+get +open fun get(key: K): <ERROR CLASS>
+isEmpty +open fun isEmpty(): Boolean
+put +open fun put(key: K, value: A): A
+putAll +open fun putAll(from: Map<out K, A>): Unit
+remove +open fun remove(key: K): A
+removeListener +open fun removeListener(listener: InvalidationListener?): Unit
+open fun removeListener(listener: MapChangeListener<in K, in A>?): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + +
+createMapChange +fun <A, K> ObservableMap<K, A>.createMapChange(key: K, removedValue: A?, addedValue: A?): Change<K, A>
+getObservableEntries +fun <K, V> ObservableMap<K, V>.getObservableEntries(): ObservableList<Entry<K, V>>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+getObservableValue +fun <K, V> ObservableMap<K, V>.getObservableValue(key: K): ObservableValue<V?>

val nameToPerson: ObservableMap<String, Person> = (..) +val john: ObservableValue<Person?> = nameToPerson.getObservableValue("John")

+
+getObservableValues +fun <K, V> ObservableMap<K, V>.getObservableValues(): ObservableList<V>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+

Inheritors

+ + + + + + + + + + + +
+AssociatedList +class AssociatedList<K, out A, B> : ReadOnlyBackedObservableMapBase<K, B, Unit>

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+
+LeftOuterJoinedMap +class LeftOuterJoinedMap<K : Any, A, B, C> : ReadOnlyBackedObservableMapBase<K, C, SimpleObjectProperty<B?>>

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/is-empty.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/is-empty.html new file mode 100644 index 0000000000..5c4bc6d2be --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/is-empty.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.isEmpty - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / isEmpty
+
+

isEmpty

+ +open fun isEmpty(): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/keys.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/keys.html new file mode 100644 index 0000000000..c7bab0a12c --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/keys.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.keys - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / keys
+
+

keys

+ +open val keys: MutableSet<K>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put-all.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put-all.html new file mode 100644 index 0000000000..fd540a1134 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put-all.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.putAll - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / putAll
+
+

putAll

+ +open fun putAll(from: Map<out K, A>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put.html new file mode 100644 index 0000000000..c1c9419cad --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/put.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.put - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / put
+
+

put

+ +open fun put(key: K, value: A): A
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove-listener.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove-listener.html new file mode 100644 index 0000000000..f9eb0cdb9a --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove-listener.html @@ -0,0 +1,17 @@ + + +ReadOnlyBackedObservableMapBase.removeListener - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / removeListener
+
+

removeListener

+ +open fun removeListener(listener: InvalidationListener?): Unit
+ +open fun removeListener(listener: MapChangeListener<in K, in A>?): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove.html new file mode 100644 index 0000000000..29a660deaa --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/remove.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.remove - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / remove
+
+

remove

+ +open fun remove(key: K): A
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/size.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/size.html new file mode 100644 index 0000000000..2efac80c33 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/size.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.size - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / size
+
+

size

+ +open val size: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/values.html b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/values.html new file mode 100644 index 0000000000..c5e29e048a --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-read-only-backed-observable-map-base/values.html @@ -0,0 +1,15 @@ + + +ReadOnlyBackedObservableMapBase.values - + + + +com.r3corda.client.fxutils / ReadOnlyBackedObservableMapBase / values
+
+

values

+ +open val values: MutableCollection<A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/-init-.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/-init-.html new file mode 100644 index 0000000000..e6e0c4947d --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/-init-.html @@ -0,0 +1,16 @@ + + +ReplayedList.<init> - + + + +com.r3corda.client.fxutils / ReplayedList / <init>
+
+

<init>

+ReplayedList(sourceList: ObservableList<A>)
+

This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a +non-backed observable

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get-source-index.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get-source-index.html new file mode 100644 index 0000000000..8d9db83324 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get-source-index.html @@ -0,0 +1,15 @@ + + +ReplayedList.getSourceIndex - + + + +com.r3corda.client.fxutils / ReplayedList / getSourceIndex
+
+

getSourceIndex

+ +fun getSourceIndex(index: Int): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get.html new file mode 100644 index 0000000000..f77a8078b1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/get.html @@ -0,0 +1,15 @@ + + +ReplayedList.get - + + + +com.r3corda.client.fxutils / ReplayedList / get
+
+

get

+ +fun get(index: Int): A
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/index.html new file mode 100644 index 0000000000..4a2b44ad6b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/index.html @@ -0,0 +1,189 @@ + + +ReplayedList - + + + +com.r3corda.client.fxutils / ReplayedList
+
+

ReplayedList

+class ReplayedList<A> : TransformationList<A, A>
+

This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a +non-backed observable

+
+
+

Constructors

+ + + + + + + +
+<init> +ReplayedList(sourceList: ObservableList<A>)

This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a +non-backed observable

+
+

Properties

+ + + + + + + + + + + +
+replayedList +val replayedList: ArrayList<A>
+size +val size: Int
+

Functions

+ + + + + + + + + + + + + + + +
+get +fun get(index: Int): A
+getSourceIndex +fun getSourceIndex(index: Int): Int
+sourceChanged +fun sourceChanged(c: Change<out A>): Unit
+

Extension Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+associateBy +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+
+associateByAggregation +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+
+filter +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } +val filterCriterion: ObservableValue = (..) +val people: ObservableList = (..) +fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

+
+filterNotNull +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+
+first +fun <A> ObservableList<A>.first(): ObservableValue<A?>
+foldObservable +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) +val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+
+getValueAt +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?>
+indexOfOrThrow +fun <T> List<T>.indexOfOrThrow(item: T): Int

Returns the index of the given item or throws IllegalArgumentException if not found.

+
+isOrderedAndUnique +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+
+last +fun <A> ObservableList<A>.last(): ObservableValue<A?>
+leftOuterJoin +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+
+map +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +val dogOwners: ObservableList = dogs.map { it.owner }

+
+noneOrSingle +fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, +or throws if more than one element was found.

+fun <T> Iterable<T>.noneOrSingle(): T?

Returns single element, or null if element was not found, or throws if more than one element was found.

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/replayed-list.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/replayed-list.html new file mode 100644 index 0000000000..a79cdad2c1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/replayed-list.html @@ -0,0 +1,15 @@ + + +ReplayedList.replayedList - + + + +com.r3corda.client.fxutils / ReplayedList / replayedList
+
+

replayedList

+ +val replayedList: ArrayList<A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/size.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/size.html new file mode 100644 index 0000000000..5dea1ac945 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/size.html @@ -0,0 +1,15 @@ + + +ReplayedList.size - + + + +com.r3corda.client.fxutils / ReplayedList / size
+
+

size

+ +val size: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/source-changed.html b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/source-changed.html new file mode 100644 index 0000000000..89d55df9e0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/-replayed-list/source-changed.html @@ -0,0 +1,15 @@ + + +ReplayedList.sourceChanged - + + + +com.r3corda.client.fxutils / ReplayedList / sourceChanged
+
+

sourceChanged

+ +protected fun sourceChanged(c: Change<out A>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-list.html b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-list.html index 96f288dc57..e629c7247c 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-list.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-list.html @@ -9,6 +9,15 @@

foldToObservableList

fun <A, B, C> <ERROR CLASS><A>.foldToObservableList(initialAccumulator: C, folderFun: (A, C, ObservableList<B>) -> C): ObservableList<B>
+

foldToObservableList takes an rx.Observable stream and creates an ObservableList out of it, while maintaining +an accumulator.

+

Parameters

+ +initialAccumulator - The initial value of the accumulator.
+
+ +folderFun - The transformation function to be called on the observable list when a new element is emitted on +the stream, which should modify the list as needed.


diff --git a/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-map.html b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-map.html new file mode 100644 index 0000000000..a743509bc3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-map.html @@ -0,0 +1,24 @@ + + +foldToObservableMap - + + + +com.r3corda.client.fxutils / foldToObservableMap
+
+

foldToObservableMap

+ +fun <A, B, K, C> <ERROR CLASS><A>.foldToObservableMap(initialAccumulator: C, folderFun: (A, C, ObservableMap<K, B>) -> C): ObservableMap<K, out B>
+

foldToObservableMap takes an rx.Observable stream and creates an ObservableMap out of it, while maintaining +an accumulator.

+

Parameters

+ +initialAccumulator - The initial value of the accumulator.
+
+ +folderFun - The transformation function to be called on the observable map when a new element is emitted on +the stream, which should modify the map as needed.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-value.html b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-value.html index 3820eb5975..90a1938478 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-value.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/fold-to-observable-value.html @@ -9,7 +9,14 @@

foldToObservableValue

fun <A, B> <ERROR CLASS><A>.foldToObservableValue(initial: B, folderFun: (A, B) -> B): ObservableValue<B>
-

Simple utilities for converting an rx.Observable into a javafx ObservableValue/ObservableList

+

foldToObservableValue takes an rx.Observable stream and creates an ObservableValue out of it.

+

Parameters

+ +initial - The initial value of the returned observable.
+
+ +folderFun - The transformation function to be called on the observable value when a new element is emitted on +the stream.


diff --git a/docs/build/html/api/com.r3corda.client.fxutils/index.html b/docs/build/html/api/com.r3corda.client.fxutils/index.html index fdf8671af6..36905e0d11 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/index.html @@ -14,7 +14,7 @@ AggregatedList -class AggregatedList<A, E, K : Any> : TransformationList<A, E>

Given an ObservableList<E> and a grouping key K, AggregatedList groups the elements by the key into a fresh +class AggregatedList<A, E : Any, K : Any> : TransformationList<A, E>

Given an ObservableList<E> and a grouping key K, AggregatedList groups the elements by the key into a fresh ObservableList<E> for each group and exposes the groups as an observable list of As by calling assemble on each.

@@ -27,6 +27,14 @@ +AssociatedList + +class AssociatedList<K, out A, B> : ReadOnlyBackedObservableMapBase<K, B, Unit>

AssociatedList creates an ObservableMap from an ObservableList by associating each list element with a unique key. +It is not allowed to have several elements map to the same value

+ + + + ChosenList class ChosenList<E> : ObservableListBase<E>

ChosenList manages an ObservableList that may be changed by the wrapping ObservableValue. Whenever the underlying @@ -35,12 +43,61 @@ +ConcatenatedList + +class ConcatenatedList<A> : TransformationList<A, ObservableList<A>>

ConcatenatedList takes a list of lists and concatenates them. Any change to the underlying lists or the outer list +is propagated as expected.

+ + + + FlattenedList class FlattenedList<A> : TransformationList<A, ObservableValue<out A>>

FlattenedList flattens the passed in list of ObservableValues so that changes in individual updates to the values are reflected in the exposed list as expected.

+ + +LeftOuterJoinedMap + +class LeftOuterJoinedMap<K : Any, A, B, C> : ReadOnlyBackedObservableMapBase<K, C, SimpleObjectProperty<B?>>

LeftOuterJoinedMap implements a special case of a left outer join where were matching on primary keys of both +tables.

+ + + + +MapValuesList + +class MapValuesList<K, A, C> : ObservableList<C>

MapValuesList takes an ObservableMap and returns its values as an ObservableList. +The order of returned elements is deterministic but unspecified.

+ + + + +MappedList + +class MappedList<A, B> : TransformationList<B, A>

This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run +when an element is inserted or updated. +Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.

+ + + + +ReadOnlyBackedObservableMapBase + +open class ReadOnlyBackedObservableMapBase<K, A, B> : ObservableMap<K, A>

ReadOnlyBackedObservableMapBase is a base class implementing all abstract functions required for an ObservableMap +using a backing HashMap that subclasses should modify.

+ + + + +ReplayedList + +class ReplayedList<A> : TransformationList<A, A>

This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a +non-backed observable

+ +

Extensions for External Classes

@@ -60,6 +117,12 @@ are reflected in the exposed list as expected.

+javafx.collections.ObservableMap + + + + + kotlin.Function1 @@ -82,6 +145,12 @@ are reflected in the exposed list as expected.

+ + +kotlin.collections.Collection + + +

Functions

@@ -91,13 +160,23 @@ are reflected in the exposed list as expected.

foldToObservableList -fun <A, B, C> <ERROR CLASS><A>.foldToObservableList(initialAccumulator: C, folderFun: (A, C, ObservableList<B>) -> C): ObservableList<B> +fun <A, B, C> <ERROR CLASS><A>.foldToObservableList(initialAccumulator: C, folderFun: (A, C, ObservableList<B>) -> C): ObservableList<B>

foldToObservableList takes an rx.Observable stream and creates an ObservableList out of it, while maintaining +an accumulator.

+ + + + +foldToObservableMap + +fun <A, B, K, C> <ERROR CLASS><A>.foldToObservableMap(initialAccumulator: C, folderFun: (A, C, ObservableMap<K, B>) -> C): ObservableMap<K, out B>

foldToObservableMap takes an rx.Observable stream and creates an ObservableMap out of it, while maintaining +an accumulator.

+ foldToObservableValue -fun <A, B> <ERROR CLASS><A>.foldToObservableValue(initial: B, folderFun: (A, B) -> B): ObservableValue<B>

Simple utilities for converting an rx.Observable into a javafx ObservableValue/ObservableList

+fun <A, B> <ERROR CLASS><A>.foldToObservableValue(initial: B, folderFun: (A, B) -> B): ObservableValue<B>

foldToObservableValue takes an rx.Observable stream and creates an ObservableValue out of it.

@@ -109,6 +188,20 @@ val bobHeight: ObservableValue = (..) fun sumHeight(a: Long, b: Long): Long { .. }

+ + +recordAsAssociation + +fun <A, K> <ERROR CLASS><A>.recordAsAssociation(toKey: (A) -> K, merge: (K, A, A) -> A = { _key, _oldValue, newValue -> newValue }): ObservableMap<K, out A>

This variant simply associates each event with its key.

+ + + + +recordInSequence + +fun <A> <ERROR CLASS><A>.recordInSequence(): ObservableList<A>

recordInSequence records incoming events on the rx.Observable in sequence.

+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind-out.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind-out.html new file mode 100644 index 0000000000..502b852556 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind-out.html @@ -0,0 +1,17 @@ + + +bindOut - + + + +com.r3corda.client.fxutils / javafx.beans.value.ObservableValue / bindOut
+
+

bindOut

+ +fun <A, B> ObservableValue<out A>.bindOut(function: (A) -> ObservableValue<out B>): ObservableValue<out B>
+

A variant of bind that has out variance on the output type. This is sometimes useful when kotlin is too eager to +propagate variance constraints and type inference fails.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind.html index 6f79f3ffaf..827b77faec 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/bind.html @@ -8,7 +8,7 @@

bind

-fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<out B>): ObservableValue<out B>
+fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<B>): ObservableValue<B>

data class Person(val height: ObservableValue) val person: ObservableValue = (..) val personHeight: ObservableValue = person.bind { it.height }

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/index.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/index.html index 5d95970617..691ea90a2d 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.beans.value.-observable-value/index.html @@ -13,13 +13,21 @@ bind -fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<out B>): ObservableValue<out B>

data class Person(val height: ObservableValue) +fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<B>): ObservableValue<B>

data class Person(val height: ObservableValue) val person: ObservableValue = (..) val personHeight: ObservableValue = person.bind { it.height }

+bindOut + +fun <A, B> ObservableValue<out A>.bindOut(function: (A) -> ObservableValue<out B>): ObservableValue<out B>

A variant of bind that has out variance on the output type. This is sometimes useful when kotlin is too eager to +propagate variance constraints and type inference fails.

+ + + + map fun <A, B> ObservableValue<out A>.map(function: (A) -> B): ObservableValue<B>

val person: ObservableValue = (..) diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by-aggregation.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by-aggregation.html new file mode 100644 index 0000000000..b1665da7a2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by-aggregation.html @@ -0,0 +1,23 @@ + + +associateByAggregation - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / associateByAggregation
+
+

associateByAggregation

+ +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>
+

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+
+
+ +fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>
+

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by.html new file mode 100644 index 0000000000..647bed9dc9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/associate-by.html @@ -0,0 +1,24 @@ + + +associateBy - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / associateBy
+
+

associateBy

+ +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>
+

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+
+
+ +fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>
+

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/concatenate.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/concatenate.html new file mode 100644 index 0000000000..4668dbfd70 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/concatenate.html @@ -0,0 +1,17 @@ + + +concatenate - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / concatenate
+
+

concatenate

+ +fun <A> ObservableList<ObservableList<A>>.concatenate(): ObservableList<A>
+

val groups: ObservableList<ObservableList> = (..) +val allPeople: ObservableList = groups.concatenate()

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter-not-null.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter-not-null.html new file mode 100644 index 0000000000..62dec42579 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter-not-null.html @@ -0,0 +1,18 @@ + + +filterNotNull - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / filterNotNull
+
+

filterNotNull

+ +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>
+

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter.html index 13bfc8c74f..dbd08f3906 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/filter.html @@ -8,7 +8,7 @@

filter

-fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<out A>
+fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } val filterCriterion: ObservableValue = (..) val people: ObservableList = (..) diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/first.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/first.html new file mode 100644 index 0000000000..ec5e2c92b1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/first.html @@ -0,0 +1,15 @@ + + +first - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / first
+
+

first

+ +fun <A> ObservableList<A>.first(): ObservableValue<A?>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/flatten.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/flatten.html index aee90c96a0..07b88451f4 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/flatten.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/flatten.html @@ -8,7 +8,7 @@

flatten

-fun <A> ObservableList<out ObservableValue<out A>>.flatten(): ObservableList<out A>
+fun <A> ObservableList<out ObservableValue<out A>>.flatten(): ObservableList<A>

data class Person(val height: ObservableValue) val people: ObservableList = (..) val heights: ObservableList = people.map(Person::height).flatten()

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold-observable.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold-observable.html new file mode 100644 index 0000000000..6bd2544eee --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold-observable.html @@ -0,0 +1,18 @@ + + +foldObservable - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / foldObservable
+
+

foldObservable

+ +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>
+

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) +val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold.html deleted file mode 100644 index 976823f0a9..0000000000 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/fold.html +++ /dev/null @@ -1,18 +0,0 @@ - - -fold - - - - -com.r3corda.client.fxutils / javafx.collections.ObservableList / fold
-
-

fold

- -fun <A, B> ObservableList<out A>.fold(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>
-

val people: ObservableList = (..) -val concatenatedNames = people.fold("", { names, person -> names + person.name }) -val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/get-value-at.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/get-value-at.html new file mode 100644 index 0000000000..d7b5311763 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/get-value-at.html @@ -0,0 +1,15 @@ + + +getValueAt - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / getValueAt
+
+

getValueAt

+ +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/index.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/index.html index 347b455435..fa8ab422dc 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/index.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/index.html @@ -11,9 +11,38 @@ +associateBy + +fun <K, A, B> ObservableList<out A>.associateBy(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, B>

data class Person(val height: Long) +val people: ObservableList = (..) +val nameToHeight: ObservableMap<String, Long> = people.associateBy(Person::name) { name, person -> person.height }

+fun <K, A> ObservableList<out A>.associateBy(toKey: (A) -> K): ObservableMap<K, A>

val people: ObservableList = (..) +val nameToPerson: ObservableMap<String, Person> = people.associateBy(Person::name)

+ + + + +associateByAggregation + +fun <K : Any, A : Any, B> ObservableList<out A>.associateByAggregation(toKey: (A) -> K, assemble: (K, A) -> B): ObservableMap<K, ObservableList<B>>

val people: ObservableList = (..) +val heightToNames: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height) { name, person -> person.name }

+fun <K : Any, A : Any> ObservableList<out A>.associateByAggregation(toKey: (A) -> K): ObservableMap<K, ObservableList<A>>

val people: ObservableList = (..) +val heightToPeople: ObservableMap<Long, ObservableList> = people.associateByAggregation(Person::height)

+ + + + +concatenate + +fun <A> ObservableList<ObservableList<A>>.concatenate(): ObservableList<A>

val groups: ObservableList<ObservableList> = (..) +val allPeople: ObservableList = groups.concatenate()

+ + + + filter -fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<out A>

enum class FilterCriterion { HEIGHT, NAME } +fun <A> ObservableList<out A>.filter(predicate: ObservableValue<(A) -> Boolean>): ObservableList<A>

enum class FilterCriterion { HEIGHT, NAME } val filterCriterion: ObservableValue = (..) val people: ObservableList = (..) fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { .. }

@@ -21,27 +50,70 @@ fun filterFunction(filterCriterion: FilterCriterion): (Person) -> Boolean { . +filterNotNull + +fun <A> ObservableList<out A?>.filterNotNull(): ObservableList<A>

data class Dog(val owner: Person?) +val dogs: ObservableList = (..) +val owners: ObservableList = dogs.map(Dog::owner).filterNotNull()

+ + + + +first + +fun <A> ObservableList<A>.first(): ObservableValue<A?> + + + flatten -fun <A> ObservableList<out ObservableValue<out A>>.flatten(): ObservableList<out A>

data class Person(val height: ObservableValue) +fun <A> ObservableList<out ObservableValue<out A>>.flatten(): ObservableList<A>

data class Person(val height: ObservableValue) val people: ObservableList = (..) val heights: ObservableList = people.map(Person::height).flatten()

-fold +foldObservable -fun <A, B> ObservableList<out A>.fold(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) -val concatenatedNames = people.fold("", { names, person -> names + person.name }) +fun <A, B> ObservableList<out A>.foldObservable(initial: B, folderFunction: (B, A) -> B): ObservableValue<B>

val people: ObservableList = (..) +val concatenatedNames = people.foldObservable("", { names, person -> names + person.name }) val concatenatedNames2 = people.map(Person::name).fold("", String::plus)

+getValueAt + +fun <A> ObservableList<A>.getValueAt(index: Int): ObservableValue<A?> + + + +last + +fun <A> ObservableList<A>.last(): ObservableValue<A?> + + + +leftOuterJoin + +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+ + + + map -fun <A, B> ObservableList<out A>.map(function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) val dogOwners: ObservableList = dogs.map { it.owner }

diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/last.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/last.html new file mode 100644 index 0000000000..ae2ebd8444 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/last.html @@ -0,0 +1,15 @@ + + +last - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / last
+
+

last

+ +fun <A> ObservableList<A>.last(): ObservableValue<A?>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/left-outer-join.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/left-outer-join.html new file mode 100644 index 0000000000..04cae0d3be --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/left-outer-join.html @@ -0,0 +1,34 @@ + + +leftOuterJoin - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableList / leftOuterJoin
+
+

leftOuterJoin

+ +fun <A : Any, B : Any, C, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K, assemble: (A, ObservableList<B>) -> C): ObservableList<C>
+

data class Person(val name: String, val managerName: String) +val people: ObservableList = (..) +val managerEmployeeMapping: ObservableList<Pair<Person, ObservableList>> = +people.leftOuterJoin(people, Person::name, Person::managerName) { manager, employees -> Pair(manager, employees) }

+
+
+ +fun <A : Any, B : Any, K : Any> ObservableList<A>.leftOuterJoin(rightTable: ObservableList<B>, leftToJoinKey: (A) -> K, rightToJoinKey: (B) -> K): ObservableMap<K, <ERROR CLASS><ObservableList<A>, ObservableList<B>>>
+

data class Person(name: String, favouriteSpecies: Species) +data class Animal(name: String, species: Species) +val people: ObservableList = (..) +val animals: ObservableList = (..) +val peopleToFavouriteAnimals: ObservableMap<Species, Pair<ObservableList, ObservableList>> = +people.leftOuterJoin(animals, Person::favouriteSpecies, Animal::species)

+

This is the most general left join, given a joining key it returns for each key a pair of relevant elements from the +left and right tables. It is "left outer" in the sense that all members of the left table are guaranteed to be in +the result, but this may not be the case for the right table.

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/map.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/map.html index 8362b4b10f..0e13660e1c 100644 --- a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/map.html +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-list/map.html @@ -7,10 +7,14 @@ com.r3corda.client.fxutils / javafx.collections.ObservableList / map

map

- -fun <A, B> ObservableList<out A>.map(function: (A) -> B): ObservableList<B>
+ +fun <A, B> ObservableList<out A>.map(cached: Boolean = true, function: (A) -> B): ObservableList<B>

val dogs: ObservableList = (..) val dogOwners: ObservableList = dogs.map { it.owner }

+

Parameters

+ +cached - If true the results of the mapped function are cached in a backing list. If false each get() will +re-run the function.


diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/create-map-change.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/create-map-change.html new file mode 100644 index 0000000000..2bc064acf9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/create-map-change.html @@ -0,0 +1,15 @@ + + +createMapChange - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableMap / createMapChange
+
+

createMapChange

+ +fun <A, K> ObservableMap<K, A>.createMapChange(key: K, removedValue: A?, addedValue: A?): Change<K, A>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-entries.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-entries.html new file mode 100644 index 0000000000..b6be48dd90 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-entries.html @@ -0,0 +1,17 @@ + + +getObservableEntries - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableMap / getObservableEntries
+
+

getObservableEntries

+ +fun <K, V> ObservableMap<K, V>.getObservableEntries(): ObservableList<Entry<K, V>>
+

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-value.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-value.html new file mode 100644 index 0000000000..b8e1e33e0e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-value.html @@ -0,0 +1,17 @@ + + +getObservableValue - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableMap / getObservableValue
+
+

getObservableValue

+ +fun <K, V> ObservableMap<K, V>.getObservableValue(key: K): ObservableValue<V?>
+

val nameToPerson: ObservableMap<String, Person> = (..) +val john: ObservableValue<Person?> = nameToPerson.getObservableValue("John")

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-values.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-values.html new file mode 100644 index 0000000000..4bc65322f9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/get-observable-values.html @@ -0,0 +1,17 @@ + + +getObservableValues - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableMap / getObservableValues
+
+

getObservableValues

+ +fun <K, V> ObservableMap<K, V>.getObservableValues(): ObservableList<V>
+

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/index.html b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/index.html new file mode 100644 index 0000000000..22547f629e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/javafx.collections.-observable-map/index.html @@ -0,0 +1,45 @@ + + +com.r3corda.client.fxutils.javafx.collections.ObservableMap - + + + +com.r3corda.client.fxutils / javafx.collections.ObservableMap
+
+

Extensions for javafx.collections.ObservableMap

+ + + + + + + + + + + + + + + + + + + +
+createMapChange +fun <A, K> ObservableMap<K, A>.createMapChange(key: K, removedValue: A?, addedValue: A?): Change<K, A>
+getObservableEntries +fun <K, V> ObservableMap<K, V>.getObservableEntries(): ObservableList<Entry<K, V>>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+getObservableValue +fun <K, V> ObservableMap<K, V>.getObservableValue(key: K): ObservableValue<V?>

val nameToPerson: ObservableMap<String, Person> = (..) +val john: ObservableValue<Person?> = nameToPerson.getObservableValue("John")

+
+getObservableValues +fun <K, V> ObservableMap<K, V>.getObservableValues(): ObservableList<V>

val nameToPerson: ObservableMap<String, Person> = (..) +val people: ObservableList = nameToPerson.getObservableValues()

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/index.html b/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/index.html new file mode 100644 index 0000000000..54db896e21 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/index.html @@ -0,0 +1,24 @@ + + +com.r3corda.client.fxutils.kotlin.collections.Collection - + + + +com.r3corda.client.fxutils / kotlin.collections.Collection
+
+

Extensions for kotlin.collections.Collection

+ + + + + + + +
+sequence +fun <A> Collection<ObservableValue<out A>>.sequence(): ObservableList<A>

data class Person(val height: ObservableValue) +val people: List = listOf(alice, bob) +val heights: ObservableList = people.map(Person::height).sequence()

+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/sequence.html b/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/sequence.html new file mode 100644 index 0000000000..883dc02dc3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/kotlin.collections.-collection/sequence.html @@ -0,0 +1,18 @@ + + +sequence - + + + +com.r3corda.client.fxutils / kotlin.collections.Collection / sequence
+
+

sequence

+ +fun <A> Collection<ObservableValue<out A>>.sequence(): ObservableList<A>
+

data class Person(val height: ObservableValue) +val people: List = listOf(alice, bob) +val heights: ObservableList = people.map(Person::height).sequence()

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/record-as-association.html b/docs/build/html/api/com.r3corda.client.fxutils/record-as-association.html new file mode 100644 index 0000000000..3fb47cac97 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/record-as-association.html @@ -0,0 +1,22 @@ + + +recordAsAssociation - + + + +com.r3corda.client.fxutils / recordAsAssociation
+
+

recordAsAssociation

+ +fun <A, K> <ERROR CLASS><A>.recordAsAssociation(toKey: (A) -> K, merge: (K, A, A) -> A = { _key, _oldValue, newValue -> newValue }): ObservableMap<K, out A>
+

This variant simply associates each event with its key.

+

Parameters

+ +toKey - Function retrieving the key to associate with.
+
+ +merge - The function to be called if there is an existing element at the key.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.fxutils/record-in-sequence.html b/docs/build/html/api/com.r3corda.client.fxutils/record-in-sequence.html new file mode 100644 index 0000000000..21dfd937ca --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.fxutils/record-in-sequence.html @@ -0,0 +1,16 @@ + + +recordInSequence - + + + +com.r3corda.client.fxutils / recordInSequence
+
+

recordInSequence

+ +fun <A> <ERROR CLASS><A>.recordInSequence(): ObservableList<A>
+

recordInSequence records incoming events on the rx.Observable in sequence.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.mock/-event-generator/index.html b/docs/build/html/api/com.r3corda.client.mock/-event-generator/index.html index 944fcb5d78..ac464901b8 100644 --- a/docs/build/html/api/com.r3corda.client.mock/-event-generator/index.html +++ b/docs/build/html/api/com.r3corda.client.mock/-event-generator/index.html @@ -108,12 +108,6 @@ state/ref pairs, but it doesnt necessarily generate "correct" events

-outputStateGenerator - -val outputStateGenerator: Generator<OutputState> - - - parties val parties: List<Party> @@ -136,12 +130,6 @@ state/ref pairs, but it doesnt necessarily generate "correct" events

val publicKeyGenerator: <ERROR CLASS> - - -serviceToClientEventGenerator - -val serviceToClientEventGenerator: Generator<ServiceToClientEvent> - diff --git a/docs/build/html/api/com.r3corda.client.mock/-event-generator/output-state-generator.html b/docs/build/html/api/com.r3corda.client.mock/-event-generator/output-state-generator.html deleted file mode 100644 index db1bc4e8d0..0000000000 --- a/docs/build/html/api/com.r3corda.client.mock/-event-generator/output-state-generator.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EventGenerator.outputStateGenerator - - - - -com.r3corda.client.mock / EventGenerator / outputStateGenerator
-
-

outputStateGenerator

- -val outputStateGenerator: Generator<OutputState>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.mock/-event-generator/service-to-client-event-generator.html b/docs/build/html/api/com.r3corda.client.mock/-event-generator/service-to-client-event-generator.html deleted file mode 100644 index daca269538..0000000000 --- a/docs/build/html/api/com.r3corda.client.mock/-event-generator/service-to-client-event-generator.html +++ /dev/null @@ -1,15 +0,0 @@ - - -EventGenerator.serviceToClientEventGenerator - - - - -com.r3corda.client.mock / EventGenerator / serviceToClientEventGenerator
-
-

serviceToClientEventGenerator

- -val serviceToClientEventGenerator: Generator<ServiceToClientEvent>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-diff.html b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-diff.html new file mode 100644 index 0000000000..cbf29dfb3c --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-diff.html @@ -0,0 +1,15 @@ + + +ContractStateModel.cashStatesDiff - + + + +com.r3corda.client.model / ContractStateModel / cashStatesDiff
+
+

cashStatesDiff

+ +val cashStatesDiff: <ERROR CLASS><Diff<State>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-modification.html b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-modification.html deleted file mode 100644 index 256200005c..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/cash-states-modification.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ContractStateModel.cashStatesModification - - - - -com.r3corda.client.model / ContractStateModel / cashStatesModification
-
-

cashStatesModification

- -val cashStatesModification: <ERROR CLASS><StatesModification<State>>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/contract-states-diff.html b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/contract-states-diff.html index fc870df8bc..272b2c7afb 100644 --- a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/contract-states-diff.html +++ b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/contract-states-diff.html @@ -8,7 +8,7 @@

contractStatesDiff

-val contractStatesDiff: <ERROR CLASS><Diff<ContractState>>
+val contractStatesDiff: <ERROR CLASS><Diff<ContractState>>


diff --git a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/index.html b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/index.html index a3b9e33e3c..fc58c93206 100644 --- a/docs/build/html/api/com.r3corda.client.model/-contract-state-model/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-contract-state-model/index.html @@ -34,15 +34,15 @@ -cashStatesModification +cashStatesDiff -val cashStatesModification: <ERROR CLASS><StatesModification<State>> +val cashStatesDiff: <ERROR CLASS><Diff<State>> contractStatesDiff -val contractStatesDiff: <ERROR CLASS><Diff<ContractState>> +val contractStatesDiff: <ERROR CLASS><Diff<ContractState>> diff --git a/docs/build/html/api/com.r3corda.client.model/-diff/-init-.html b/docs/build/html/api/com.r3corda.client.model/-diff/-init-.html new file mode 100644 index 0000000000..9df5478983 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-diff/-init-.html @@ -0,0 +1,14 @@ + + +Diff.<init> - + + + +com.r3corda.client.model / Diff / <init>
+
+

<init>

+Diff(added: Collection<StateAndRef<T>>, removed: Collection<StateRef>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-diff/added.html b/docs/build/html/api/com.r3corda.client.model/-diff/added.html new file mode 100644 index 0000000000..ce7216b2fc --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-diff/added.html @@ -0,0 +1,15 @@ + + +Diff.added - + + + +com.r3corda.client.model / Diff / added
+
+

added

+ +val added: Collection<StateAndRef<T>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-diff/index.html b/docs/build/html/api/com.r3corda.client.model/-diff/index.html new file mode 100644 index 0000000000..6b4567c42f --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-diff/index.html @@ -0,0 +1,42 @@ + + +Diff - + + + +com.r3corda.client.model / Diff
+
+

Diff

+data class Diff<out T : ContractState>
+
+
+

Constructors

+ + + + + + + +
+<init> +Diff(added: Collection<StateAndRef<T>>, removed: Collection<StateRef>)
+

Properties

+ + + + + + + + + + + +
+added +val added: Collection<StateAndRef<T>>
+removed +val removed: Collection<StateRef>
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-diff/removed.html b/docs/build/html/api/com.r3corda.client.model/-diff/removed.html new file mode 100644 index 0000000000..df49afa9c0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-diff/removed.html @@ -0,0 +1,15 @@ + + +Diff.removed - + + + +com.r3corda.client.model / Diff / removed
+
+

removed

+ +val removed: Collection<StateRef>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/-init-.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/-init-.html index 9570181a49..9d613f9ea6 100644 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/-init-.html +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/-init-.html @@ -8,7 +8,7 @@

<init>

GatheredTransactionDataModel()
-

This model provides an observable list of states relating to the creation of a transaction not yet on ledger.

+

This model provides an observable list of transactions and what state machines/protocols recorded them



diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/collected-transactions.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/collected-transactions.html new file mode 100644 index 0000000000..3b139d1077 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/collected-transactions.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.collectedTransactions - + + + +com.r3corda.client.model / GatheredTransactionDataModel / collectedTransactions
+
+

collectedTransactions

+ +val collectedTransactions: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/gathered-transaction-data-list.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/gathered-transaction-data-list.html index 17a1964e50..2a5d7e272f 100644 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/gathered-transaction-data-list.html +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/gathered-transaction-data-list.html @@ -9,16 +9,7 @@

gatheredTransactionDataList

val gatheredTransactionDataList: ObservableList<out GatheredTransactionData>
-

Aggregation of updates to transactions. We use the observable list as the only container and do linear search for -matching transactions because we have three keys(fiber ID, UUID, tx id) and this way its easier to avoid syncing issues.

-

The Fiber ID is used to identify events that relate to the same transaction server-side, whereas the UUID is -generated on the UI and is used to identify events with the UI action that triggered them. Currently a UUID is -generated for each outgoing ClientToServiceCommand.

-

TODO: Make this more efficient by maintaining and syncing two maps (for the two keys) in the accumulator -(Note that a transaction may be mapped by one or both) -TODO: Expose a writable stream to combine serviceToClient with to allow recording of transactions made locally(UUID)

-
-
+

We JOIN the transaction list with state machines



diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/index.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/index.html index 671e3af34a..6bd8d77821 100644 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/index.html @@ -8,7 +8,7 @@

GatheredTransactionDataModel

class GatheredTransactionDataModel
-

This model provides an observable list of states relating to the creation of a transaction not yet on ledger.

+

This model provides an observable list of transactions and what state machines/protocols recorded them



Constructors

@@ -18,7 +18,7 @@ <init> -GatheredTransactionDataModel()

This model provides an observable list of states relating to the creation of a transaction not yet on ledger.

+GatheredTransactionDataModel()

This model provides an observable list of transactions and what state machines/protocols recorded them

@@ -28,12 +28,59 @@ +collectedTransactions + +val collectedTransactions: <ERROR CLASS> + + + gatheredTransactionDataList -val gatheredTransactionDataList: ObservableList<out GatheredTransactionData>

Aggregation of updates to transactions. We use the observable list as the only container and do linear search for -matching transactions because we have three keys(fiber ID, UUID, tx id) and this way its easier to avoid syncing issues.

+val gatheredTransactionDataList: ObservableList<out GatheredTransactionData>

We JOIN the transaction list with state machines

+ + +partiallyResolvedTransactions + +val partiallyResolvedTransactions: <ERROR CLASS> + + + +progressEvents + +val progressEvents: <ERROR CLASS> + + + +smTxMappingList + +val smTxMappingList: <ERROR CLASS> + + + +stateMachineDataList + +val stateMachineDataList: ObservableList<StateMachineData> + + + +stateMachineDataMap + +val stateMachineDataMap: ObservableMap<StateMachineRunId, StateMachineData> + + + +stateMachineStatus + +val stateMachineStatus: ObservableMap<StateMachineRunId, out ObservableValue<StateMachineStatus>> + + + +transactionMap + +val transactionMap: <ERROR CLASS> + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/partially-resolved-transactions.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/partially-resolved-transactions.html new file mode 100644 index 0000000000..ec7b343b93 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/partially-resolved-transactions.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.partiallyResolvedTransactions - + + + +com.r3corda.client.model / GatheredTransactionDataModel / partiallyResolvedTransactions
+
+

partiallyResolvedTransactions

+ +val partiallyResolvedTransactions: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/progress-events.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/progress-events.html new file mode 100644 index 0000000000..d09838245a --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/progress-events.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.progressEvents - + + + +com.r3corda.client.model / GatheredTransactionDataModel / progressEvents
+
+

progressEvents

+ +val progressEvents: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/sm-tx-mapping-list.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/sm-tx-mapping-list.html new file mode 100644 index 0000000000..d7536aff4f --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/sm-tx-mapping-list.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.smTxMappingList - + + + +com.r3corda.client.model / GatheredTransactionDataModel / smTxMappingList
+
+

smTxMappingList

+ +val smTxMappingList: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-list.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-list.html new file mode 100644 index 0000000000..50e42ee478 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-list.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.stateMachineDataList - + + + +com.r3corda.client.model / GatheredTransactionDataModel / stateMachineDataList
+
+

stateMachineDataList

+ +val stateMachineDataList: ObservableList<StateMachineData>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-map.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-map.html new file mode 100644 index 0000000000..d293fb1950 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-data-map.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.stateMachineDataMap - + + + +com.r3corda.client.model / GatheredTransactionDataModel / stateMachineDataMap
+
+

stateMachineDataMap

+ +val stateMachineDataMap: ObservableMap<StateMachineRunId, StateMachineData>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-status.html new file mode 100644 index 0000000000..38fee3e3da --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/state-machine-status.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.stateMachineStatus - + + + +com.r3corda.client.model / GatheredTransactionDataModel / stateMachineStatus
+
+

stateMachineStatus

+ +val stateMachineStatus: ObservableMap<StateMachineRunId, out ObservableValue<StateMachineStatus>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/transaction-map.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/transaction-map.html new file mode 100644 index 0000000000..ed266dbc56 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-model/transaction-map.html @@ -0,0 +1,15 @@ + + +GatheredTransactionDataModel.transactionMap - + + + +com.r3corda.client.model / GatheredTransactionDataModel / transactionMap
+
+

transactionMap

+ +val transactionMap: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/-init-.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/-init-.html deleted file mode 100644 index cb16d5738c..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -GatheredTransactionDataWritable.<init> - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / <init>
-
-

<init>

-GatheredTransactionDataWritable(fiberId: SimpleObjectProperty<Long?> = SimpleObjectProperty(null), uuid: SimpleObjectProperty<UUID?> = SimpleObjectProperty(null), stateMachineStatus: SimpleObjectProperty<StateMachineStatus?> = SimpleObjectProperty(null), protocolStatus: SimpleObjectProperty<ProtocolStatus?> = SimpleObjectProperty(null), transaction: SimpleObjectProperty<LedgerTransaction?> = SimpleObjectProperty(null), status: SimpleObjectProperty<TransactionCreateStatus?> = SimpleObjectProperty(null), lastUpdate: SimpleObjectProperty<Instant>, allEvents: ObservableList<ServiceToClientEvent> = FXCollections.observableArrayList())
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/all-events.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/all-events.html deleted file mode 100644 index 30dc2951ce..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/all-events.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.allEvents - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / allEvents
-
-

allEvents

- -val allEvents: ObservableList<ServiceToClientEvent>
-Overrides GatheredTransactionData.allEvents
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/fiber-id.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/fiber-id.html deleted file mode 100644 index 1dd1a7696f..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/fiber-id.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.fiberId - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / fiberId
-
-

fiberId

- -val fiberId: SimpleObjectProperty<Long?>
-Overrides GatheredTransactionData.fiberId
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/index.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/index.html deleted file mode 100644 index 5aaa5d00ff..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/index.html +++ /dev/null @@ -1,78 +0,0 @@ - - -GatheredTransactionDataWritable - - - - -com.r3corda.client.model / GatheredTransactionDataWritable
-
-

GatheredTransactionDataWritable

-data class GatheredTransactionDataWritable : GatheredTransactionData
-
-
-

Constructors

- - - - - - - -
-<init> -GatheredTransactionDataWritable(fiberId: SimpleObjectProperty<Long?> = SimpleObjectProperty(null), uuid: SimpleObjectProperty<UUID?> = SimpleObjectProperty(null), stateMachineStatus: SimpleObjectProperty<StateMachineStatus?> = SimpleObjectProperty(null), protocolStatus: SimpleObjectProperty<ProtocolStatus?> = SimpleObjectProperty(null), transaction: SimpleObjectProperty<LedgerTransaction?> = SimpleObjectProperty(null), status: SimpleObjectProperty<TransactionCreateStatus?> = SimpleObjectProperty(null), lastUpdate: SimpleObjectProperty<Instant>, allEvents: ObservableList<ServiceToClientEvent> = FXCollections.observableArrayList())
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-allEvents -val allEvents: ObservableList<ServiceToClientEvent>
-fiberId -val fiberId: SimpleObjectProperty<Long?>
-lastUpdate -val lastUpdate: SimpleObjectProperty<Instant>
-protocolStatus -val protocolStatus: SimpleObjectProperty<ProtocolStatus?>
-stateMachineStatus -val stateMachineStatus: SimpleObjectProperty<StateMachineStatus?>
-status -val status: SimpleObjectProperty<TransactionCreateStatus?>
-transaction -val transaction: SimpleObjectProperty<LedgerTransaction?>
-uuid -val uuid: SimpleObjectProperty<UUID?>
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/last-update.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/last-update.html deleted file mode 100644 index 1904278cd5..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/last-update.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.lastUpdate - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / lastUpdate
-
-

lastUpdate

- -val lastUpdate: SimpleObjectProperty<Instant>
-Overrides GatheredTransactionData.lastUpdate
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/protocol-status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/protocol-status.html deleted file mode 100644 index 4023706ea2..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/protocol-status.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.protocolStatus - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / protocolStatus
-
-

protocolStatus

- -val protocolStatus: SimpleObjectProperty<ProtocolStatus?>
-Overrides GatheredTransactionData.protocolStatus
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/state-machine-status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/state-machine-status.html deleted file mode 100644 index e9eb28fef6..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/state-machine-status.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.stateMachineStatus - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / stateMachineStatus
-
-

stateMachineStatus

- -val stateMachineStatus: SimpleObjectProperty<StateMachineStatus?>
-Overrides GatheredTransactionData.stateMachineStatus
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/status.html deleted file mode 100644 index cd55037bc0..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/status.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.status - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / status
-
-

status

- -val status: SimpleObjectProperty<TransactionCreateStatus?>
-Overrides GatheredTransactionData.status
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/transaction.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/transaction.html deleted file mode 100644 index 3e0f2525d8..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/transaction.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.transaction - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / transaction
-
-

transaction

- -val transaction: SimpleObjectProperty<LedgerTransaction?>
-Overrides GatheredTransactionData.transaction
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/uuid.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/uuid.html deleted file mode 100644 index 0ea0899912..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data-writable/uuid.html +++ /dev/null @@ -1,16 +0,0 @@ - - -GatheredTransactionDataWritable.uuid - - - - -com.r3corda.client.model / GatheredTransactionDataWritable / uuid
-
-

uuid

- -val uuid: SimpleObjectProperty<UUID?>
-Overrides GatheredTransactionData.uuid
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/-init-.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/-init-.html new file mode 100644 index 0000000000..fb7437b6cc --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/-init-.html @@ -0,0 +1,14 @@ + + +GatheredTransactionData.<init> - + + + +com.r3corda.client.model / GatheredTransactionData / <init>
+
+

<init>

+GatheredTransactionData(transaction: PartiallyResolvedTransaction, stateMachines: ObservableList<out StateMachineData>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/all-events.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/all-events.html deleted file mode 100644 index 9624faeb96..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/all-events.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.allEvents - - - - -com.r3corda.client.model / GatheredTransactionData / allEvents
-
-

allEvents

- -abstract val allEvents: ObservableList<out ServiceToClientEvent>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/fiber-id.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/fiber-id.html deleted file mode 100644 index 8d30eac3d0..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/fiber-id.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.fiberId - - - - -com.r3corda.client.model / GatheredTransactionData / fiberId
-
-

fiberId

- -abstract val fiberId: ObservableValue<Long?>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/index.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/index.html index 6ac1754eae..0afb786974 100644 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/index.html @@ -7,70 +7,34 @@ com.r3corda.client.model / GatheredTransactionData

GatheredTransactionData

-interface GatheredTransactionData
+data class GatheredTransactionData


+

Constructors

+ + + + + + + +
+<init> +GatheredTransactionData(transaction: PartiallyResolvedTransaction, stateMachines: ObservableList<out StateMachineData>)

Properties

+stateMachines - - - - - - - - - - - - - - - - - - - - +val stateMachines: ObservableList<out StateMachineData> - - - - - - -
-allEvents -abstract val allEvents: ObservableList<out ServiceToClientEvent>
-fiberId -abstract val fiberId: ObservableValue<Long?>
-lastUpdate -abstract val lastUpdate: ObservableValue<Instant>
-protocolStatus -abstract val protocolStatus: ObservableValue<ProtocolStatus?>
-stateMachineStatus -abstract val stateMachineStatus: ObservableValue<StateMachineStatus?>
-status -abstract val status: ObservableValue<TransactionCreateStatus?>
transaction -abstract val transaction: ObservableValue<LedgerTransaction?>
-uuid -abstract val uuid: ObservableValue<UUID?>
-

Inheritors

- - - - - +val transaction: PartiallyResolvedTransaction
-GatheredTransactionDataWritable -data class GatheredTransactionDataWritable : GatheredTransactionData
diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/last-update.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/last-update.html deleted file mode 100644 index 12bf4c684c..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/last-update.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.lastUpdate - - - - -com.r3corda.client.model / GatheredTransactionData / lastUpdate
-
-

lastUpdate

- -abstract val lastUpdate: ObservableValue<Instant>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/protocol-status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/protocol-status.html deleted file mode 100644 index 927688245f..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/protocol-status.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.protocolStatus - - - - -com.r3corda.client.model / GatheredTransactionData / protocolStatus
-
-

protocolStatus

- -abstract val protocolStatus: ObservableValue<ProtocolStatus?>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machine-status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machine-status.html deleted file mode 100644 index 68f12ac75c..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machine-status.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.stateMachineStatus - - - - -com.r3corda.client.model / GatheredTransactionData / stateMachineStatus
-
-

stateMachineStatus

- -abstract val stateMachineStatus: ObservableValue<StateMachineStatus?>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machines.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machines.html new file mode 100644 index 0000000000..5d544c6ac0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/state-machines.html @@ -0,0 +1,15 @@ + + +GatheredTransactionData.stateMachines - + + + +com.r3corda.client.model / GatheredTransactionData / stateMachines
+
+

stateMachines

+ +val stateMachines: ObservableList<out StateMachineData>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/status.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/status.html deleted file mode 100644 index 42a98a171c..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/status.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.status - - - - -com.r3corda.client.model / GatheredTransactionData / status
-
-

status

- -abstract val status: ObservableValue<TransactionCreateStatus?>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/transaction.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/transaction.html index ba92add77e..b37248f276 100644 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/transaction.html +++ b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/transaction.html @@ -8,7 +8,7 @@

transaction

-abstract val transaction: ObservableValue<LedgerTransaction?>
+val transaction: PartiallyResolvedTransaction


diff --git a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/uuid.html b/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/uuid.html deleted file mode 100644 index c3a139b6a0..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-gathered-transaction-data/uuid.html +++ /dev/null @@ -1,15 +0,0 @@ - - -GatheredTransactionData.uuid - - - - -com.r3corda.client.model / GatheredTransactionData / uuid
-
-

uuid

- -abstract val uuid: ObservableValue<UUID?>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/-init-.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/-init-.html index 1ab2ec4145..10318e3942 100644 --- a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/-init-.html +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/-init-.html @@ -8,7 +8,7 @@

<init>

NodeMonitorModel()
-

This model exposes raw event streams to and from the NodeMonitorService through a NodeMonitorClient

+

This model exposes raw event streams to and from the node.



diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/index.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/index.html index 97e10efeb6..cd7e6d14ac 100644 --- a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/index.html @@ -8,7 +8,7 @@

NodeMonitorModel

class NodeMonitorModel
-

This model exposes raw event streams to and from the NodeMonitorService through a NodeMonitorClient

+

This model exposes raw event streams to and from the node.



Constructors

@@ -18,7 +18,7 @@ <init> -NodeMonitorModel()

This model exposes raw event streams to and from the NodeMonitorService through a NodeMonitorClient

+NodeMonitorModel()

This model exposes raw event streams to and from the node.

@@ -34,15 +34,33 @@ -serviceToClient +progressTracking -val serviceToClient: <ERROR CLASS><ServiceToClientEvent> +val progressTracking: <ERROR CLASS><ProgressTrackingEvent> -snapshot +stateMachineTransactionMapping -val snapshot: <ERROR CLASS><StateSnapshotMessage> +val stateMachineTransactionMapping: <ERROR CLASS><StateMachineTransactionMapping> + + + +stateMachineUpdates + +val stateMachineUpdates: <ERROR CLASS><StateMachineUpdate> + + + +transactions + +val transactions: <ERROR CLASS><SignedTransaction> + + + +vaultUpdates + +val vaultUpdates: <ERROR CLASS><Update> @@ -53,7 +71,7 @@ register -fun register(messagingService: MessagingService, monitorNodeInfo: NodeInfo): Unit

Register for updates to/from a given wallet.

+fun register(vaultMonitorNodeInfo: NodeInfo, certificatesPath: Path): Unit

Register for updates to/from a given vault.

diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/progress-tracking.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/progress-tracking.html new file mode 100644 index 0000000000..acf4268418 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/progress-tracking.html @@ -0,0 +1,15 @@ + + +NodeMonitorModel.progressTracking - + + + +com.r3corda.client.model / NodeMonitorModel / progressTracking
+
+

progressTracking

+ +val progressTracking: <ERROR CLASS><ProgressTrackingEvent>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/register.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/register.html index 346ef7c937..d21c89602e 100644 --- a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/register.html +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/register.html @@ -7,9 +7,9 @@ com.r3corda.client.model / NodeMonitorModel / register

register

- -fun register(messagingService: MessagingService, monitorNodeInfo: NodeInfo): Unit
-

Register for updates to/from a given wallet.

+ +fun register(vaultMonitorNodeInfo: NodeInfo, certificatesPath: Path): Unit
+

Register for updates to/from a given vault.

Parameters

messagingService - The messaging to use for communication.
diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/service-to-client.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/service-to-client.html deleted file mode 100644 index 9d920fe710..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/service-to-client.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorModel.serviceToClient - - - - -com.r3corda.client.model / NodeMonitorModel / serviceToClient
-
-

serviceToClient

- -val serviceToClient: <ERROR CLASS><ServiceToClientEvent>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/snapshot.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/snapshot.html deleted file mode 100644 index 871df09e71..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/snapshot.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorModel.snapshot - - - - -com.r3corda.client.model / NodeMonitorModel / snapshot
-
-

snapshot

- -val snapshot: <ERROR CLASS><StateSnapshotMessage>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-transaction-mapping.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-transaction-mapping.html new file mode 100644 index 0000000000..23e499f908 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-transaction-mapping.html @@ -0,0 +1,15 @@ + + +NodeMonitorModel.stateMachineTransactionMapping - + + + +com.r3corda.client.model / NodeMonitorModel / stateMachineTransactionMapping
+
+

stateMachineTransactionMapping

+ +val stateMachineTransactionMapping: <ERROR CLASS><StateMachineTransactionMapping>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-updates.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-updates.html new file mode 100644 index 0000000000..7211d0b67e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/state-machine-updates.html @@ -0,0 +1,15 @@ + + +NodeMonitorModel.stateMachineUpdates - + + + +com.r3corda.client.model / NodeMonitorModel / stateMachineUpdates
+
+

stateMachineUpdates

+ +val stateMachineUpdates: <ERROR CLASS><StateMachineUpdate>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/transactions.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/transactions.html new file mode 100644 index 0000000000..29dbf35868 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/transactions.html @@ -0,0 +1,15 @@ + + +NodeMonitorModel.transactions - + + + +com.r3corda.client.model / NodeMonitorModel / transactions
+
+

transactions

+ +val transactions: <ERROR CLASS><SignedTransaction>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/vault-updates.html b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/vault-updates.html new file mode 100644 index 0000000000..d5e659757d --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-node-monitor-model/vault-updates.html @@ -0,0 +1,15 @@ + + +NodeMonitorModel.vaultUpdates - + + + +com.r3corda.client.model / NodeMonitorModel / vaultUpdates
+
+

vaultUpdates

+ +val vaultUpdates: <ERROR CLASS><Update>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-init-.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-init-.html new file mode 100644 index 0000000000..93a119e69a --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-init-.html @@ -0,0 +1,17 @@ + + +PartiallyResolvedTransaction.<init> - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / <init>
+
+

<init>

+PartiallyResolvedTransaction(transaction: SignedTransaction, inputs: List<ObservableValue<InputResolution>>)
+

PartiallyResolvedTransaction holds a SignedTransaction that has zero or more inputs resolved. The intent is +to prepare clients for cases where an input can only be resolved in the future/cannot be resolved at all (for example +because of permissioning)

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/-init-.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/-init-.html new file mode 100644 index 0000000000..c59f7f9e05 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/-init-.html @@ -0,0 +1,14 @@ + + +PartiallyResolvedTransaction.InputResolution.Resolved.<init> - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / Resolved / <init>
+
+

<init>

+Resolved(stateAndRef: StateAndRef<ContractState>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/index.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/index.html new file mode 100644 index 0000000000..d9164b4d15 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/index.html @@ -0,0 +1,47 @@ + + +PartiallyResolvedTransaction.InputResolution.Resolved - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / Resolved
+
+

Resolved

+class Resolved : InputResolution
+
+
+

Constructors

+ + + + + + + +
+<init> +Resolved(stateAndRef: StateAndRef<ContractState>)
+

Properties

+ + + + + + + +
+stateAndRef +val stateAndRef: StateAndRef<ContractState>
+

Inherited Properties

+ + + + + + + +
+stateRef +val stateRef: StateRef
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/state-and-ref.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/state-and-ref.html new file mode 100644 index 0000000000..e126ceb445 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-resolved/state-and-ref.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.InputResolution.Resolved.stateAndRef - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / Resolved / stateAndRef
+
+

stateAndRef

+ +val stateAndRef: StateAndRef<ContractState>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/-init-.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/-init-.html new file mode 100644 index 0000000000..d3447ea684 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/-init-.html @@ -0,0 +1,14 @@ + + +PartiallyResolvedTransaction.InputResolution.Unresolved.<init> - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / Unresolved / <init>
+
+

<init>

+Unresolved(stateRef: StateRef)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/index.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/index.html new file mode 100644 index 0000000000..6f2712ef60 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/-unresolved/index.html @@ -0,0 +1,36 @@ + + +PartiallyResolvedTransaction.InputResolution.Unresolved - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / Unresolved
+
+

Unresolved

+class Unresolved : InputResolution
+
+
+

Constructors

+ + + + + + + +
+<init> +Unresolved(stateRef: StateRef)
+

Inherited Properties

+ + + + + + + +
+stateRef +val stateRef: StateRef
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/index.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/index.html new file mode 100644 index 0000000000..03737695be --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/index.html @@ -0,0 +1,59 @@ + + +PartiallyResolvedTransaction.InputResolution - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution
+
+

InputResolution

+sealed class InputResolution
+
+
+

Types

+ + + + + + + + + + + +
+Resolved +class Resolved : InputResolution
+Unresolved +class Unresolved : InputResolution
+

Properties

+ + + + + + + +
+stateRef +val stateRef: StateRef
+

Inheritors

+ + + + + + + + + + + +
+Resolved +class Resolved : InputResolution
+Unresolved +class Unresolved : InputResolution
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/state-ref.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/state-ref.html new file mode 100644 index 0000000000..874e56bedc --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/-input-resolution/state-ref.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.InputResolution.stateRef - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / InputResolution / stateRef
+
+

stateRef

+ +val stateRef: StateRef
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/from-signed-transaction.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/from-signed-transaction.html new file mode 100644 index 0000000000..1e5a8617e2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/from-signed-transaction.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.fromSignedTransaction - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / fromSignedTransaction
+
+

fromSignedTransaction

+ +fun fromSignedTransaction(transaction: SignedTransaction, transactions: ObservableMap<SecureHash, SignedTransaction>): PartiallyResolvedTransaction
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/id.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/id.html new file mode 100644 index 0000000000..0182e8ea54 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/id.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.id - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / id
+
+

id

+ +val id: SecureHash
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/index.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/index.html new file mode 100644 index 0000000000..d1f54ffe28 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/index.html @@ -0,0 +1,76 @@ + + +PartiallyResolvedTransaction - + + + +com.r3corda.client.model / PartiallyResolvedTransaction
+
+

PartiallyResolvedTransaction

+data class PartiallyResolvedTransaction
+

PartiallyResolvedTransaction holds a SignedTransaction that has zero or more inputs resolved. The intent is +to prepare clients for cases where an input can only be resolved in the future/cannot be resolved at all (for example +because of permissioning)

+
+
+

Types

+ + + + + + + +
+InputResolution +sealed class InputResolution
+

Constructors

+ + + + + + + +
+<init> +PartiallyResolvedTransaction(transaction: SignedTransaction, inputs: List<ObservableValue<InputResolution>>)

PartiallyResolvedTransaction holds a SignedTransaction that has zero or more inputs resolved. The intent is +to prepare clients for cases where an input can only be resolved in the future/cannot be resolved at all (for example +because of permissioning)

+
+

Properties

+ + + + + + + + + + + + + + + +
+id +val id: SecureHash
+inputs +val inputs: List<ObservableValue<InputResolution>>
+transaction +val transaction: SignedTransaction
+

Companion Object Functions

+ + + + + + + +
+fromSignedTransaction +fun fromSignedTransaction(transaction: SignedTransaction, transactions: ObservableMap<SecureHash, SignedTransaction>): PartiallyResolvedTransaction
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/inputs.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/inputs.html new file mode 100644 index 0000000000..96e12d037e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/inputs.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.inputs - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / inputs
+
+

inputs

+ +val inputs: List<ObservableValue<InputResolution>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/transaction.html b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/transaction.html new file mode 100644 index 0000000000..d3da5d44db --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-partially-resolved-transaction/transaction.html @@ -0,0 +1,15 @@ + + +PartiallyResolvedTransaction.transaction - + + + +com.r3corda.client.model / PartiallyResolvedTransaction / transaction
+
+

transaction

+ +val transaction: SignedTransaction
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/-init-.html b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/-init-.html new file mode 100644 index 0000000000..a317c4d21b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/-init-.html @@ -0,0 +1,14 @@ + + +ProgressTrackingEvent.<init> - + + + +com.r3corda.client.model / ProgressTrackingEvent / <init>
+
+

<init>

+ProgressTrackingEvent(stateMachineId: StateMachineRunId, message: String)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/create-stream-from-state-machine-info.html b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/create-stream-from-state-machine-info.html new file mode 100644 index 0000000000..755468c0e4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/create-stream-from-state-machine-info.html @@ -0,0 +1,15 @@ + + +ProgressTrackingEvent.createStreamFromStateMachineInfo - + + + +com.r3corda.client.model / ProgressTrackingEvent / createStreamFromStateMachineInfo
+
+

createStreamFromStateMachineInfo

+ +fun createStreamFromStateMachineInfo(stateMachine: StateMachineInfo): <ERROR CLASS><ProgressTrackingEvent>?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/index.html b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/index.html new file mode 100644 index 0000000000..c4f7698f72 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/index.html @@ -0,0 +1,53 @@ + + +ProgressTrackingEvent - + + + +com.r3corda.client.model / ProgressTrackingEvent
+
+

ProgressTrackingEvent

+data class ProgressTrackingEvent
+
+
+

Constructors

+ + + + + + + +
+<init> +ProgressTrackingEvent(stateMachineId: StateMachineRunId, message: String)
+

Properties

+ + + + + + + + + + + +
+message +val message: String
+stateMachineId +val stateMachineId: StateMachineRunId
+

Companion Object Functions

+ + + + + + + +
+createStreamFromStateMachineInfo +fun createStreamFromStateMachineInfo(stateMachine: StateMachineInfo): <ERROR CLASS><ProgressTrackingEvent>?
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/message.html b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/message.html new file mode 100644 index 0000000000..a39c717a2c --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/message.html @@ -0,0 +1,15 @@ + + +ProgressTrackingEvent.message - + + + +com.r3corda.client.model / ProgressTrackingEvent / message
+
+

message

+ +val message: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/state-machine-id.html b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/state-machine-id.html new file mode 100644 index 0000000000..3c7bca5810 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-progress-tracking-event/state-machine-id.html @@ -0,0 +1,15 @@ + + +ProgressTrackingEvent.stateMachineId - + + + +com.r3corda.client.model / ProgressTrackingEvent / stateMachineId
+
+

stateMachineId

+ +val stateMachineId: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-state-machine-data/-init-.html b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/-init-.html new file mode 100644 index 0000000000..b66fc88ac6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineData.<init> - + + + +com.r3corda.client.model / StateMachineData / <init>
+
+

<init>

+StateMachineData(id: StateMachineRunId, protocolStatus: ObservableValue<ProtocolStatus?>, stateMachineStatus: ObservableValue<StateMachineStatus>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-state-machine-data/id.html b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/id.html new file mode 100644 index 0000000000..d3abee4f35 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/id.html @@ -0,0 +1,15 @@ + + +StateMachineData.id - + + + +com.r3corda.client.model / StateMachineData / id
+
+

id

+ +val id: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-state-machine-data/index.html b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/index.html new file mode 100644 index 0000000000..c764befacf --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/index.html @@ -0,0 +1,48 @@ + + +StateMachineData - + + + +com.r3corda.client.model / StateMachineData
+
+

StateMachineData

+data class StateMachineData
+
+
+

Constructors

+ + + + + + + +
+<init> +StateMachineData(id: StateMachineRunId, protocolStatus: ObservableValue<ProtocolStatus?>, stateMachineStatus: ObservableValue<StateMachineStatus>)
+

Properties

+ + + + + + + + + + + + + + + +
+id +val id: StateMachineRunId
+protocolStatus +val protocolStatus: ObservableValue<ProtocolStatus?>
+stateMachineStatus +val stateMachineStatus: ObservableValue<StateMachineStatus>
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-state-machine-data/protocol-status.html b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/protocol-status.html new file mode 100644 index 0000000000..4221118bff --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/protocol-status.html @@ -0,0 +1,15 @@ + + +StateMachineData.protocolStatus - + + + +com.r3corda.client.model / StateMachineData / protocolStatus
+
+

protocolStatus

+ +val protocolStatus: ObservableValue<ProtocolStatus?>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-state-machine-data/state-machine-status.html b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/state-machine-status.html new file mode 100644 index 0000000000..8e63205bad --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-state-machine-data/state-machine-status.html @@ -0,0 +1,15 @@ + + +StateMachineData.stateMachineStatus - + + + +com.r3corda.client.model / StateMachineData / stateMachineStatus
+
+

stateMachineStatus

+ +val stateMachineStatus: ObservableValue<StateMachineStatus>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/-init-.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/-init-.html deleted file mode 100644 index eba35cb8a8..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -StatesModification.Diff.<init> - - - - -com.r3corda.client.model / StatesModification / Diff / <init>
-
-

<init>

-Diff(added: Collection<StateAndRef<T>>, removed: Collection<StateRef>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/added.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/added.html deleted file mode 100644 index dc3e40a4f7..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/added.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StatesModification.Diff.added - - - - -com.r3corda.client.model / StatesModification / Diff / added
-
-

added

- -val added: Collection<StateAndRef<T>>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/index.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/index.html deleted file mode 100644 index 5909fccfca..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - -StatesModification.Diff - - - - -com.r3corda.client.model / StatesModification / Diff
-
-

Diff

-class Diff<out T : ContractState> : StatesModification<T>
-
-
-

Constructors

- - - - - - - -
-<init> -Diff(added: Collection<StateAndRef<T>>, removed: Collection<StateRef>)
-

Properties

- - - - - - - - - - - -
-added -val added: Collection<StateAndRef<T>>
-removed -val removed: Collection<StateRef>
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/removed.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/removed.html deleted file mode 100644 index 2b7279c334..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-diff/removed.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StatesModification.Diff.removed - - - - -com.r3corda.client.model / StatesModification / Diff / removed
-
-

removed

- -val removed: Collection<StateRef>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/-init-.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/-init-.html deleted file mode 100644 index 858ed508d7..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -StatesModification.Reset.<init> - - - - -com.r3corda.client.model / StatesModification / Reset / <init>
-
-

<init>

-Reset(states: Collection<StateAndRef<T>>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/index.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/index.html deleted file mode 100644 index 317a2bafde..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - -StatesModification.Reset - - - - -com.r3corda.client.model / StatesModification / Reset
-
-

Reset

-class Reset<out T : ContractState> : StatesModification<T>
-
-
-

Constructors

- - - - - - - -
-<init> -Reset(states: Collection<StateAndRef<T>>)
-

Properties

- - - - - - - -
-states -val states: Collection<StateAndRef<T>>
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/states.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/states.html deleted file mode 100644 index 616e8f7c77..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/-reset/states.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StatesModification.Reset.states - - - - -com.r3corda.client.model / StatesModification / Reset / states
-
-

states

- -val states: Collection<StateAndRef<T>>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-states-modification/index.html b/docs/build/html/api/com.r3corda.client.model/-states-modification/index.html deleted file mode 100644 index ce77ecaea2..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-states-modification/index.html +++ /dev/null @@ -1,48 +0,0 @@ - - -StatesModification - - - - -com.r3corda.client.model / StatesModification
-
-

StatesModification

-sealed class StatesModification<out T : ContractState>
-
-
-

Types

- - - - - - - - - - - -
-Diff -class Diff<out T : ContractState> : StatesModification<T>
-Reset -class Reset<out T : ContractState> : StatesModification<T>
-

Inheritors

- - - - - - - - - - - -
-Diff -class Diff<out T : ContractState> : StatesModification<T>
-Reset -class Reset<out T : ContractState> : StatesModification<T>
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/-init-.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/-init-.html index 15b4d6e7ab..a6bb581859 100644 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/-init-.html +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/-init-.html @@ -7,7 +7,7 @@ com.r3corda.client.model / TrackedDelegate / ObservableDelegate / <init>

<init>

-ObservableDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>)
+ObservableDelegate(klass: KClass<M>, observableProperty: (M) -> <ERROR CLASS><T>)


diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/event-stream-property.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/event-stream-property.html deleted file mode 100644 index 0617179219..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/event-stream-property.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TrackedDelegate.ObservableDelegate.eventStreamProperty - - - - -com.r3corda.client.model / TrackedDelegate / ObservableDelegate / eventStreamProperty
-
-

eventStreamProperty

- -val eventStreamProperty: (M) -> <ERROR CLASS><T>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/index.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/index.html index a36cf8f738..eefe8dbe3a 100644 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/index.html @@ -17,7 +17,7 @@ <init> -ObservableDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>) +ObservableDelegate(klass: KClass<M>, observableProperty: (M) -> <ERROR CLASS><T>) @@ -26,9 +26,9 @@ -eventStreamProperty +observableProperty -val eventStreamProperty: (M) -> <ERROR CLASS><T> +val observableProperty: (M) -> <ERROR CLASS><T> diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/observable-property.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/observable-property.html new file mode 100644 index 0000000000..a106ef814b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observable-delegate/observable-property.html @@ -0,0 +1,15 @@ + + +TrackedDelegate.ObservableDelegate.observableProperty - + + + +com.r3corda.client.model / TrackedDelegate / ObservableDelegate / observableProperty
+
+

observableProperty

+ +val observableProperty: (M) -> <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/-init-.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/-init-.html index d0fc7e7884..285ee1efb2 100644 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/-init-.html +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/-init-.html @@ -7,7 +7,7 @@ com.r3corda.client.model / TrackedDelegate / ObserverDelegate / <init>

<init>

-ObserverDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>)
+ObserverDelegate(klass: KClass<M>, observerProperty: (M) -> <ERROR CLASS><T>)


diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/event-stream-property.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/event-stream-property.html deleted file mode 100644 index b928ceea20..0000000000 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/event-stream-property.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TrackedDelegate.ObserverDelegate.eventStreamProperty - - - - -com.r3corda.client.model / TrackedDelegate / ObserverDelegate / eventStreamProperty
-
-

eventStreamProperty

- -val eventStreamProperty: (M) -> <ERROR CLASS><T>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/index.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/index.html index 98d7034c85..57578b95ce 100644 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/index.html @@ -17,7 +17,7 @@ <init> -ObserverDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>) +ObserverDelegate(klass: KClass<M>, observerProperty: (M) -> <ERROR CLASS><T>) @@ -26,9 +26,9 @@ -eventStreamProperty +observerProperty -val eventStreamProperty: (M) -> <ERROR CLASS><T> +val observerProperty: (M) -> <ERROR CLASS><T> diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/observer-property.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/observer-property.html new file mode 100644 index 0000000000..619fe4d80d --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-observer-delegate/observer-property.html @@ -0,0 +1,15 @@ + + +TrackedDelegate.ObserverDelegate.observerProperty - + + + +com.r3corda.client.model / TrackedDelegate / ObserverDelegate / observerProperty
+
+

observerProperty

+ +val observerProperty: (M) -> <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/-init-.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/-init-.html new file mode 100644 index 0000000000..9367c14aaf --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/-init-.html @@ -0,0 +1,14 @@ + + +TrackedDelegate.SubjectDelegate.<init> - + + + +com.r3corda.client.model / TrackedDelegate / SubjectDelegate / <init>
+
+

<init>

+SubjectDelegate(klass: KClass<M>, subjectProperty: (M) -> <ERROR CLASS><T, T>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/get-value.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/get-value.html new file mode 100644 index 0000000000..06f9284b6b --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/get-value.html @@ -0,0 +1,15 @@ + + +TrackedDelegate.SubjectDelegate.getValue - + + + +com.r3corda.client.model / TrackedDelegate / SubjectDelegate / getValue
+
+

getValue

+ +operator fun getValue(thisRef: Any, property: KProperty<*>): <ERROR CLASS><T, T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/index.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/index.html new file mode 100644 index 0000000000..be2f64680e --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/index.html @@ -0,0 +1,58 @@ + + +TrackedDelegate.SubjectDelegate - + + + +com.r3corda.client.model / TrackedDelegate / SubjectDelegate
+
+

SubjectDelegate

+class SubjectDelegate<M : Any, T> : TrackedDelegate<M>
+
+
+

Constructors

+ + + + + + + +
+<init> +SubjectDelegate(klass: KClass<M>, subjectProperty: (M) -> <ERROR CLASS><T, T>)
+

Properties

+ + + + + + + +
+subjectProperty +val subjectProperty: (M) -> <ERROR CLASS><T, T>
+

Inherited Properties

+ + + + + + + +
+klass +val klass: KClass<M>
+

Functions

+ + + + + + + +
+getValue +operator fun getValue(thisRef: Any, property: KProperty<*>): <ERROR CLASS><T, T>
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/subject-property.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/subject-property.html new file mode 100644 index 0000000000..87c570d9ac --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/-subject-delegate/subject-property.html @@ -0,0 +1,15 @@ + + +TrackedDelegate.SubjectDelegate.subjectProperty - + + + +com.r3corda.client.model / TrackedDelegate / SubjectDelegate / subjectProperty
+
+

subjectProperty

+ +val subjectProperty: (M) -> <ERROR CLASS><T, T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/index.html b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/index.html index f5fefe8d83..ab9850edd6 100644 --- a/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/index.html +++ b/docs/build/html/api/com.r3corda.client.model/-tracked-delegate/index.html @@ -63,6 +63,12 @@ +SubjectDelegate + +class SubjectDelegate<M : Any, T> : TrackedDelegate<M> + + + WritableValueDelegate class WritableValueDelegate<M : Any, T> : TrackedDelegate<M> @@ -133,6 +139,12 @@ +SubjectDelegate + +class SubjectDelegate<M : Any, T> : TrackedDelegate<M> + + + WritableValueDelegate class WritableValueDelegate<M : Any, T> : TrackedDelegate<M> diff --git a/docs/build/html/api/com.r3corda.client.model/index.html b/docs/build/html/api/com.r3corda.client.model/index.html index dd1ad5f9f3..56de40375e 100644 --- a/docs/build/html/api/com.r3corda.client.model/index.html +++ b/docs/build/html/api/com.r3corda.client.model/index.html @@ -19,6 +19,12 @@ +Diff + +data class Diff<out T : ContractState> + + + ExchangeRate interface ExchangeRate @@ -35,23 +41,17 @@ TODO hook up an actual oracle

GatheredTransactionData -interface GatheredTransactionData +data class GatheredTransactionData GatheredTransactionDataModel -class GatheredTransactionDataModel

This model provides an observable list of states relating to the creation of a transaction not yet on ledger.

+class GatheredTransactionDataModel

This model provides an observable list of transactions and what state machines/protocols recorded them

-GatheredTransactionDataWritable - -data class GatheredTransactionDataWritable : GatheredTransactionData - - - Models object Models @@ -60,26 +60,41 @@ TODO hook up an actual oracle

NodeMonitorModel -class NodeMonitorModel

This model exposes raw event streams to and from the NodeMonitorService through a NodeMonitorClient

+class NodeMonitorModel

This model exposes raw event streams to and from the node.

+PartiallyResolvedTransaction + +data class PartiallyResolvedTransaction

PartiallyResolvedTransaction holds a SignedTransaction that has zero or more inputs resolved. The intent is +to prepare clients for cases where an input can only be resolved in the future/cannot be resolved at all (for example +because of permissioning)

+ + + + +ProgressTrackingEvent + +data class ProgressTrackingEvent + + + ProtocolStatus data class ProtocolStatus -StateMachineStatus +StateMachineData -sealed class StateMachineStatus +data class StateMachineData -StatesModification +StateMachineStatus -sealed class StatesModification<out T : ContractState> +sealed class StateMachineStatus @@ -162,6 +177,12 @@ are global.

+subject + +fun <M : Any, T> subject(subjectProperty: (M) -> <ERROR CLASS><T, T>): <ERROR CLASS> + + + writableValue fun <M : Any, T> writableValue(writableValueProperty: (M) -> WritableValue<T>): WritableValueDelegate<M, T> diff --git a/docs/build/html/api/com.r3corda.client.model/subject.html b/docs/build/html/api/com.r3corda.client.model/subject.html new file mode 100644 index 0000000000..81145162a0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.client.model/subject.html @@ -0,0 +1,15 @@ + + +subject - + + + +com.r3corda.client.model / subject
+
+

subject

+ +inline fun <reified M : Any, T> subject(noinline subjectProperty: (M) -> <ERROR CLASS><T, T>): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/index.html b/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/index.html index 0fc5985170..7fc3343fd3 100644 --- a/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/index.html +++ b/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/index.html @@ -70,7 +70,7 @@ until start is called.

proxy -fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps

Returns a fresh proxy that lets you invoke RPCs on the server. Calls on it block, and if the server throws an +fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps

Returns a fresh proxy that lets you invoke RPCs on the server. Calls on it block, and if the server throws an exception then it will be rethrown on the client. Proxies are thread safe but only one RPC can be in flight at once. If youd like to perform multiple RPCs in parallel, use this function multiple times to get multiple proxies.

@@ -100,9 +100,7 @@ unfortunately Artemis tends to bury the exception when the password is wrong.

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.

- +fun configureWithDevSSLCertificate(): Unit diff --git a/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/proxy.html b/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/proxy.html index 0ac2191379..cb1a71441c 100644 --- a/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/proxy.html +++ b/docs/build/html/api/com.r3corda.client/-corda-r-p-c-client/proxy.html @@ -8,7 +8,7 @@

proxy

-fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps
+fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps

Returns a fresh proxy that lets you invoke RPCs on the server. Calls on it block, and if the server throws an exception then it will be rethrown on the client. Proxies are thread safe but only one RPC can be in flight at once. If youd like to perform multiple RPCs in parallel, use this function multiple times to get multiple @@ -20,7 +20,7 @@ thread safe though so requires no extra synchronisation.

By default there are no timeouts on calls. RPCs can survive temporary losses or changes in connectivity, like switching between wifi networks. You can specify a timeout on the level of a proxy. If a call times out it will throw RPCException.Deadline.

-

The CordaRPCOps defines what client RPCs are available. If an RPC returns an Observable anywhere in the +

The CordaRPCOps defines what client RPCs are available. If an RPC returns an Observable anywhere in the object graph returned then the server-side observable is transparently linked to a messaging queue, and that queue linked to another observable on the client side here. You are expected to use it. The server will begin buffering messages immediately that it will expect you to drain by subscribing to the returned observer. You can diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/-init-.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/-init-.html deleted file mode 100644 index ea7e480028..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NodeMonitorClient.<init> - - - - -com.r3corda.client / NodeMonitorClient / <init>
-
-

<init>

-NodeMonitorClient(net: MessagingService, node: NodeInfo, outEvents: <ERROR CLASS><ClientToServiceCommand>, inEvents: <ERROR CLASS><ServiceToClientEvent>, snapshot: <ERROR CLASS><StateSnapshotMessage>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/in-events.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/in-events.html deleted file mode 100644 index d8d790153e..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/in-events.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.inEvents - - - - -com.r3corda.client / NodeMonitorClient / inEvents
-
-

inEvents

- -val inEvents: <ERROR CLASS><ServiceToClientEvent>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/index.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/index.html deleted file mode 100644 index 6119ec0b37..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - -NodeMonitorClient - - - - -com.r3corda.client / NodeMonitorClient
-
-

NodeMonitorClient

-class NodeMonitorClient
-
-
-

Constructors

- - - - - - - -
-<init> -NodeMonitorClient(net: MessagingService, node: NodeInfo, outEvents: <ERROR CLASS><ClientToServiceCommand>, inEvents: <ERROR CLASS><ServiceToClientEvent>, snapshot: <ERROR CLASS><StateSnapshotMessage>)
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - -
-inEvents -val inEvents: <ERROR CLASS><ServiceToClientEvent>
-net -val net: MessagingService
-node -val node: NodeInfo
-outEvents -val outEvents: <ERROR CLASS><ClientToServiceCommand>
-snapshot -val snapshot: <ERROR CLASS><StateSnapshotMessage>
-

Functions

- - - - - - - -
-register -fun register(): <ERROR CLASS><Boolean>
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/net.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/net.html deleted file mode 100644 index ad9601eaf5..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/net.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.net - - - - -com.r3corda.client / NodeMonitorClient / net
-
-

net

- -val net: MessagingService
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/node.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/node.html deleted file mode 100644 index 1a11532642..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/node.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.node - - - - -com.r3corda.client / NodeMonitorClient / node
-
-

node

- -val node: NodeInfo
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/out-events.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/out-events.html deleted file mode 100644 index c584e11fe8..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/out-events.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.outEvents - - - - -com.r3corda.client / NodeMonitorClient / outEvents
-
-

outEvents

- -val outEvents: <ERROR CLASS><ClientToServiceCommand>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/register.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/register.html deleted file mode 100644 index 79a38c644c..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/register.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.register - - - - -com.r3corda.client / NodeMonitorClient / register
-
-

register

- -fun register(): <ERROR CLASS><Boolean>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/-node-monitor-client/snapshot.html b/docs/build/html/api/com.r3corda.client/-node-monitor-client/snapshot.html deleted file mode 100644 index b430fe72e6..0000000000 --- a/docs/build/html/api/com.r3corda.client/-node-monitor-client/snapshot.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorClient.snapshot - - - - -com.r3corda.client / NodeMonitorClient / snapshot
-
-

snapshot

- -val snapshot: <ERROR CLASS><StateSnapshotMessage>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.client/index.html b/docs/build/html/api/com.r3corda.client/index.html index e7839c24f7..a474d7350a 100644 --- a/docs/build/html/api/com.r3corda.client/index.html +++ b/docs/build/html/api/com.r3corda.client/index.html @@ -18,12 +18,6 @@ useful tasks. See the documentation for proxy or review the docsite to learn more about how this API works.

- - -NodeMonitorClient - -class NodeMonitorClient - diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/generate-mapped-object.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/generate-mapped-object.html new file mode 100644 index 0000000000..24b04d51b0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/generate-mapped-object.html @@ -0,0 +1,17 @@ + + +Cash.State.generateMappedObject - + + + +com.r3corda.contracts.asset / Cash / State / generateMappedObject
+
+

generateMappedObject

+ +fun generateMappedObject(schema: MappedSchema): PersistentState
+Overrides QueryableState.generateMappedObject
+

Object Relational Mapping support.

+
+
+ + 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 1f94703120..1a2fba2adf 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 @@ -7,7 +7,7 @@ com.r3corda.contracts.asset / Cash / State

State

-data class State : FungibleAsset<Currency>
+data class State : FungibleAsset<Currency>, QueryableState

A state representing a cash claim against some party.



@@ -89,12 +89,26 @@ owner to sign, some (i.e. cash) also require the issuer.

+generateMappedObject + +fun generateMappedObject(schema: MappedSchema): PersistentState

Object Relational Mapping support.

+ + + + move fun move(newAmount: Amount<Issued<Currency>>, newOwner: PublicKey): FungibleAsset<Currency> +supportedSchemas + +fun supportedSchemas(): Iterable<MappedSchema>

Object Relational Mapping support.

+ + + + toString fun toString(): String diff --git a/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/supported-schemas.html b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/supported-schemas.html new file mode 100644 index 0000000000..2c3b758a86 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts.asset/-cash/-state/supported-schemas.html @@ -0,0 +1,17 @@ + + +Cash.State.supportedSchemas - + + + +com.r3corda.contracts.asset / Cash / State / supportedSchemas
+
+

supportedSchemas

+ +fun supportedSchemas(): Iterable<MappedSchema>
+Overrides QueryableState.supportedSchemas
+

Object Relational Mapping support.

+
+
+ + 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 48af0e15b4..a694883e83 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 @@ -40,7 +40,7 @@ vaults can ignore the issuer/depositRefs and just examine the amount fields.

State -data class State : FungibleAsset<Currency>

A state representing a cash claim against some party.

+data class State : FungibleAsset<Currency>, QueryableState

A state representing a cash claim against some party.

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 923cf2cc2c..8c7fbe78aa 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 @@ -117,7 +117,7 @@ owner to sign, some (i.e. cash) also require the issuer.

State -data class State : FungibleAsset<Currency>

A state representing a cash claim against some party.

+data class State : FungibleAsset<Currency>, QueryableState

A state representing a cash claim against some party.

diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/generate-mapped-object.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/generate-mapped-object.html new file mode 100644 index 0000000000..2d34eee918 --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/generate-mapped-object.html @@ -0,0 +1,17 @@ + + +CommercialPaper.State.generateMappedObject - + + + +com.r3corda.contracts / CommercialPaper / State / generateMappedObject
+
+

generateMappedObject

+ +fun generateMappedObject(schema: MappedSchema): PersistentState
+Overrides QueryableState.generateMappedObject
+

Object Relational Mapping support.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/index.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/index.html index 38aad1d541..c2b5f745f8 100644 --- a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/index.html @@ -7,7 +7,7 @@ com.r3corda.contracts / CommercialPaper / State

State

-data class State : OwnableState
+data class State : OwnableState, QueryableState


Constructors

@@ -76,6 +76,20 @@ +generateMappedObject + +fun generateMappedObject(schema: MappedSchema): PersistentState

Object Relational Mapping support.

+ + + + +supportedSchemas + +fun supportedSchemas(): Iterable<MappedSchema>

Object Relational Mapping support.

+ + + + toString fun toString(): String diff --git a/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/supported-schemas.html b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/supported-schemas.html new file mode 100644 index 0000000000..af0f2e9cee --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts/-commercial-paper/-state/supported-schemas.html @@ -0,0 +1,17 @@ + + +CommercialPaper.State.supportedSchemas - + + + +com.r3corda.contracts / CommercialPaper / State / supportedSchemas
+
+

supportedSchemas

+ +fun supportedSchemas(): Iterable<MappedSchema>
+Overrides QueryableState.supportedSchemas
+

Object Relational Mapping support.

+
+
+ + 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 38de4c84b0..9a38ed24c0 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 @@ -29,7 +29,7 @@ State -data class State : OwnableState +data class State : OwnableState, QueryableState diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/-init-.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/-init-.html index 2d763a585b..6abb3a7cea 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/-init-.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/-init-.html @@ -7,7 +7,7 @@ com.r3corda.contracts / InterestRateSwap / Common / <init>

<init>

-Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount<Currency>, threshold: Amount<Currency>, minimumTransferAmount: Amount<Currency>, rounding: Amount<Currency>, valuationDate: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)
+Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount<Currency>, threshold: Amount<Currency>, minimumTransferAmount: Amount<Currency>, rounding: Amount<Currency>, valuationDateDescription: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)

This Common area contains all the information that is not leg specific.



diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/index.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/index.html index f427267c58..36fd7601f5 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/index.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/index.html @@ -18,7 +18,7 @@ <init> -Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount<Currency>, threshold: Amount<Currency>, minimumTransferAmount: Amount<Currency>, rounding: Amount<Currency>, valuationDate: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)

This Common area contains all the information that is not leg specific.

+Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount<Currency>, threshold: Amount<Currency>, minimumTransferAmount: Amount<Currency>, rounding: Amount<Currency>, valuationDateDescription: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)

This Common area contains all the information that is not leg specific.

@@ -124,9 +124,9 @@ -valuationDate +valuationDateDescription -val valuationDate: String +val valuationDateDescription: String diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date-description.html similarity index 53% rename from docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date.html rename to docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date-description.html index 582fc1d79c..a0ee312307 100644 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date.html +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-common/valuation-date-description.html @@ -1,14 +1,14 @@ -InterestRateSwap.Common.valuationDate - +InterestRateSwap.Common.valuationDateDescription - -com.r3corda.contracts / InterestRateSwap / Common / valuationDate
+com.r3corda.contracts / InterestRateSwap / Common / valuationDateDescription

-

valuationDate

- -val valuationDate: String
+

valuationDateDescription

+ +val valuationDateDescription: String


diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-oracle-type.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-oracle-type.html deleted file mode 100644 index b262502454..0000000000 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-oracle-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -InterestRateSwap.OracleType - - - - -com.r3corda.contracts / InterestRateSwap / OracleType
-
-

OracleType

-object OracleType : ServiceType
-
-
-

Inherited Properties

- - - - - - - -
-id -val id: String
-

Inherited Functions

- - - - - - - - - - - - - - - - - - - -
-equals -open operator fun equals(other: Any?): Boolean
-hashCode -open fun hashCode(): Int
-isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
-toString -open fun toString(): String
- - 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 1762163b6a..a6eddddb00 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 @@ -151,12 +151,6 @@ This can be used to implement deadlines for payment or processing of financial i fun prettyPrint(): <ERROR CLASS>

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

- - -withPublicKey - -fun withPublicKey(before: Party, after: PublicKey): DealState -

Extension Functions

diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/with-public-key.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/with-public-key.html deleted file mode 100644 index 314160faa3..0000000000 --- a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/-state/with-public-key.html +++ /dev/null @@ -1,16 +0,0 @@ - - -InterestRateSwap.State.withPublicKey - - - - -com.r3corda.contracts / InterestRateSwap / State / withPublicKey
-
-

withPublicKey

- -fun withPublicKey(before: Party, after: PublicKey): DealState
-Overrides DealState.withPublicKey
-
-
- - 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 f75f3481a5..0cf4f9c932 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 @@ -66,12 +66,6 @@ copy / update for each transition).

-OracleType - -object OracleType : ServiceType - - - State data class State : FixableDealState, SchedulableState

The state class contains the 4 major data classes.

@@ -137,5 +131,16 @@ existing contract code.

+

Companion Object Properties

+ + + + + + + +
+oracleType +val oracleType: ServiceType
diff --git a/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/oracle-type.html b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/oracle-type.html new file mode 100644 index 0000000000..023983471d --- /dev/null +++ b/docs/build/html/api/com.r3corda.contracts/-interest-rate-swap/oracle-type.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.oracleType - + + + +com.r3corda.contracts / InterestRateSwap / oracleType
+
+

oracleType

+ +val oracleType: ServiceType
+
+
+ + 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 117ca2fbd5..59f410d313 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 @@ -124,7 +124,7 @@ helper functions for the clauses.

ClauseVerifier -class ClauseVerifier<S : LinearState> : Clause<ContractState, CommandData, Unit>

Standard clause to verify the LinearState safety properties.

+class ClauseVerifier<S : LinearState, C : CommandData> : Clause<S, C, Unit>

Standard clause to verify the LinearState safety properties.

@@ -136,6 +136,13 @@ helper functions for the clauses.

+FilterOn + +class FilterOn<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, K>

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+ + + + GroupClauseVerifier abstract class GroupClauseVerifier<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, Unit> diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/-init-.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/-init-.html new file mode 100644 index 0000000000..2e9ace4731 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/-init-.html @@ -0,0 +1,15 @@ + + +FilterOn.<init> - + + + +com.r3corda.core.contracts.clauses / FilterOn / <init>
+
+

<init>

+FilterOn(clause: Clause<S, C, K>, filterStates: (List<ContractState>) -> List<S>)
+

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/clause.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/clause.html new file mode 100644 index 0000000000..dca2445bf3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/clause.html @@ -0,0 +1,15 @@ + + +FilterOn.clause - + + + +com.r3corda.core.contracts.clauses / FilterOn / clause
+
+

clause

+ +val clause: Clause<S, C, K>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/filter-states.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/filter-states.html new file mode 100644 index 0000000000..0c09dcc7a6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/filter-states.html @@ -0,0 +1,15 @@ + + +FilterOn.filterStates - + + + +com.r3corda.core.contracts.clauses / FilterOn / filterStates
+
+

filterStates

+ +val filterStates: (List<ContractState>) -> List<S>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/get-execution-path.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/get-execution-path.html new file mode 100644 index 0000000000..ccdb246f00 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/get-execution-path.html @@ -0,0 +1,16 @@ + + +FilterOn.getExecutionPath - + + + +com.r3corda.core.contracts.clauses / FilterOn / getExecutionPath
+
+

getExecutionPath

+ +fun getExecutionPath(commands: List<AuthenticatedObject<C>>): List<Clause<*, *, *>>
+

Determine the subclauses which will be verified as a result of verifying this clause.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/index.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/index.html new file mode 100644 index 0000000000..ee144c8090 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/index.html @@ -0,0 +1,84 @@ + + +FilterOn - + + + +com.r3corda.core.contracts.clauses / FilterOn
+
+

FilterOn

+class FilterOn<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, K>
+

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+
+
+

Constructors

+ + + + + + + +
+<init> +FilterOn(clause: Clause<S, C, K>, filterStates: (List<ContractState>) -> List<S>)

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+
+

Properties

+ + + + + + + + + + + + + + + +
+clause +val clause: Clause<S, C, K>
+filterStates +val filterStates: (List<ContractState>) -> List<S>
+requiredCommands +val requiredCommands: Set<Class<out CommandData>>

Determine whether this clause runs or not

+
+

Functions

+ + + + + + + + + + + +
+getExecutionPath +fun getExecutionPath(commands: List<AuthenticatedObject<C>>): List<Clause<*, *, *>>

Determine the subclauses which will be verified as a result of verifying this clause.

+
+verify +fun verify(tx: TransactionForContract, inputs: List<ContractState>, outputs: List<ContractState>, commands: List<AuthenticatedObject<C>>, groupingKey: K?): Set<C>

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.

+
+

Extension Functions

+ + + + + + + +
+matches +fun <C : CommandData> Clause<*, C, *>.matches(commands: List<AuthenticatedObject<C>>): Boolean

Determine if the given list of commands matches the required commands for a clause to trigger.

+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/required-commands.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/required-commands.html new file mode 100644 index 0000000000..adadebb936 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/required-commands.html @@ -0,0 +1,17 @@ + + +FilterOn.requiredCommands - + + + +com.r3corda.core.contracts.clauses / FilterOn / requiredCommands
+
+

requiredCommands

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

Determine whether this clause runs or not

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/verify.html b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/verify.html new file mode 100644 index 0000000000..e86e2f89b7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts.clauses/-filter-on/verify.html @@ -0,0 +1,43 @@ + + +FilterOn.verify - + + + +com.r3corda.core.contracts.clauses / FilterOn / verify
+
+

verify

+ +fun verify(tx: TransactionForContract, inputs: List<ContractState>, outputs: List<ContractState>, commands: List<AuthenticatedObject<C>>, groupingKey: K?): Set<C>
+

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.

+

Parameters

+ +tx - the full transaction being verified. This is provided for cases where clauses need to access +states or commands outside of their normal scope.
+
+ +inputs - input states which are relevant to this clause. By default this is the set passed into verifyClause, +but may be further reduced by clauses such as GroupClauseVerifier.
+
+ +outputs - output states which are relevant to this clause. By default this is the set passed into verifyClause, +but may be further reduced by clauses such as GroupClauseVerifier.
+
+ +commands - commands which are relevant to this clause. By default this is the set passed into verifyClause, +but may be further reduced by clauses such as GroupClauseVerifier.
+
+ +groupingKey - a grouping key applied to states and commands, where applicable. Taken from +TransactionForContract.InOutGroup.
+

Return
+the set of commands that are consumed IF this clause is matched, and cannot be used to match a +later clause. This would normally be all commands matching "requiredCommands" for this clause, but some +verify() functions may do further filtering on possible matches, and return a subset. This may also include +commands that were not required (for example the Exit command for fungible assets is optional).

+
+
+ + 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 d04a0a2f9f..ee71dd1ee2 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 @@ -41,6 +41,13 @@ provided directly by this clause.

+FilterOn + +class FilterOn<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, K>

Filter the states that are passed through to the wrapped clause, to restrict them to a specific type.

+ + + + FirstComposition class FirstComposition<S : ContractState, C : CommandData, K : Any> : CompositeClause<S, C, K>

Compose a number of clauses, such that the first match is run, and it errors if none is run.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-contract-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-contract-state/index.html index 5e71491ca7..254b40f3b6 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-contract-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-contract-state/index.html @@ -101,6 +101,14 @@ in a different field, however this is a good example of a contract with multiple +QueryableState + +interface QueryableState : ContractState

A contract state that may be mapped to database schemas configured for this node to support querying for, +or filtering of, states.

+ + + + SchedulableState interface SchedulableState : ContractState diff --git a/docs/build/html/api/com.r3corda.core.contracts/-deal-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-deal-state/index.html index 4999a66f66..bad88a24f8 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-deal-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-deal-state/index.html @@ -56,12 +56,6 @@ except at issuance/termination.

deal/agreement protocol to generate the necessary transaction for potential implementations.

- - -withPublicKey - -abstract fun withPublicKey(before: Party, after: PublicKey): DealState -

Inherited Functions

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-deal-state/with-public-key.html b/docs/build/html/api/com.r3corda.core.contracts/-deal-state/with-public-key.html deleted file mode 100644 index 08010a35a8..0000000000 --- a/docs/build/html/api/com.r3corda.core.contracts/-deal-state/with-public-key.html +++ /dev/null @@ -1,15 +0,0 @@ - - -DealState.withPublicKey - - - - -com.r3corda.core.contracts / DealState / withPublicKey
-
-

withPublicKey

- -abstract fun withPublicKey(before: Party, after: PublicKey): DealState
-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.contracts/-e-u-r.html b/docs/build/html/api/com.r3corda.core.contracts/-e-u-r.html new file mode 100644 index 0000000000..6303125536 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-e-u-r.html @@ -0,0 +1,15 @@ + + +EUR - + + + +com.r3corda.core.contracts / EUR
+
+

EUR

+ +val EUR: Currency
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-fixable-deal-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-fixable-deal-state/index.html index 338cbb7aa5..1c248b234f 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-fixable-deal-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-fixable-deal-state/index.html @@ -72,12 +72,6 @@ deal/agreement protocol to generate the necessary transaction for potential implementations.

- - -withPublicKey - -abstract fun withPublicKey(before: Party, after: PublicKey): DealState -

Extension Functions

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/-init-.html index f9f163707d..82bb8ad247 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / LinearState / ClauseVerifier / <init>

<init>

-ClauseVerifier(stateClass: Class<S>)
+ClauseVerifier()

Standard clause to verify the LinearState safety properties.



diff --git a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/index.html b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/index.html index 9be62c7955..1ab5e6d3c5 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/index.html @@ -7,7 +7,7 @@ com.r3corda.core.contracts / LinearState / ClauseVerifier

ClauseVerifier

-class ClauseVerifier<S : LinearState> : Clause<ContractState, CommandData, Unit>
+class ClauseVerifier<S : LinearState, C : CommandData> : Clause<S, C, Unit>

Standard clause to verify the LinearState safety properties.



@@ -18,22 +18,11 @@ <init> -ClauseVerifier(stateClass: Class<S>)

Standard clause to verify the LinearState safety properties.

+ClauseVerifier()

Standard clause to verify the LinearState safety properties.

-

Properties

- - - - - - - -
-stateClass -val stateClass: Class<S>

Inherited Properties

@@ -53,7 +42,7 @@ diff --git a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/state-class.html b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/state-class.html deleted file mode 100644 index ff2ec90a11..0000000000 --- a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/state-class.html +++ /dev/null @@ -1,15 +0,0 @@ - - -LinearState.ClauseVerifier.stateClass - - - - -com.r3corda.core.contracts / LinearState / ClauseVerifier / stateClass
-
-

stateClass

- -val stateClass: Class<S>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/verify.html b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/verify.html index 3cd40ca17f..77bccb9f3c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/verify.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/-clause-verifier/verify.html @@ -7,8 +7,8 @@ com.r3corda.core.contracts / LinearState / ClauseVerifier / verify

verify

- -fun verify(tx: TransactionForContract, inputs: List<ContractState>, outputs: List<ContractState>, commands: List<AuthenticatedObject<CommandData>>, groupingKey: Unit?): Set<CommandData>
+ +fun verify(tx: TransactionForContract, inputs: List<S>, outputs: List<S>, commands: List<AuthenticatedObject<C>>, groupingKey: Unit?): Set<C>

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.core.contracts/-linear-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/index.html index 532cd720fd..b88deac43d 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-linear-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-linear-state/index.html @@ -21,7 +21,7 @@ diff --git a/docs/build/html/api/com.r3corda.core.contracts/-ownable-state/index.html b/docs/build/html/api/com.r3corda.core.contracts/-ownable-state/index.html index 2ed51bbd9b..676d6a6b5e 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-ownable-state/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-ownable-state/index.html @@ -98,7 +98,7 @@ container), shares of the same class in a specific company are fungible and coun +data class State : OwnableState, QueryableState + + + +
verify -fun verify(tx: TransactionForContract, inputs: List<ContractState>, outputs: List<ContractState>, commands: List<AuthenticatedObject<CommandData>>, groupingKey: Unit?): Set<CommandData>

Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause +fun verify(tx: TransactionForContract, inputs: List<S>, outputs: List<S>, commands: List<AuthenticatedObject<C>>, groupingKey: Unit?): Set<C>

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.

ClauseVerifier -class ClauseVerifier<S : LinearState> : Clause<ContractState, CommandData, Unit>

Standard clause to verify the LinearState safety properties.

+class ClauseVerifier<S : LinearState, C : CommandData> : Clause<S, C, Unit>

Standard clause to verify the LinearState safety properties.

State -data class State : OwnableState
diff --git a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/-init-.html b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/-init-.html index cedda35e24..40abe954bd 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/-init-.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/-init-.html @@ -11,7 +11,7 @@

This class provides a truly unique identifier of a trade, state, or other business object.

Parameters

-externalId - If there is an existing weak identifer e.g. trade reference id. +externalId - If there is an existing weak identifier e.g. trade reference id. This should be set here the first time a UniqueIdentifier identifier is created as part of an issue, or ledger on-boarding activity. This ensure that the human readable identity is paired with the strong id.

diff --git a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/compare-to.html b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/compare-to.html new file mode 100644 index 0000000000..9f61551e1b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/compare-to.html @@ -0,0 +1,15 @@ + + +UniqueIdentifier.compareTo - + + + +com.r3corda.core.contracts / UniqueIdentifier / compareTo
+
+

compareTo

+ +fun compareTo(other: UniqueIdentifier): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/from-string.html b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/from-string.html new file mode 100644 index 0000000000..1caae19822 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/from-string.html @@ -0,0 +1,15 @@ + + +UniqueIdentifier.fromString - + + + +com.r3corda.core.contracts / UniqueIdentifier / fromString
+
+

fromString

+ +fun fromString(name: String): UniqueIdentifier
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/index.html b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/index.html index 3894a32731..31909f645c 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/-unique-identifier/index.html @@ -7,11 +7,11 @@ com.r3corda.core.contracts / UniqueIdentifier

UniqueIdentifier

-data class UniqueIdentifier
+data class UniqueIdentifier : Comparable<UniqueIdentifier>

This class provides a truly unique identifier of a trade, state, or other business object.

Parameters

-externalId - If there is an existing weak identifer e.g. trade reference id. +externalId - If there is an existing weak identifier e.g. trade reference id. This should be set here the first time a UniqueIdentifier identifier is created as part of an issue, or ledger on-boarding activity. This ensure that the human readable identity is paired with the strong id.

@@ -55,11 +55,28 @@ Subsequent copies and evolutions of a state should just copy the externalId and
+compareTo +fun compareTo(other: UniqueIdentifier): Int
toString fun toString(): String
+

Companion Object Functions

+ + + + + + + +
+fromString +fun fromString(name: String): UniqueIdentifier
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 f209c417eb..cd5156bdcc 100644 --- a/docs/build/html/api/com.r3corda.core.contracts/index.html +++ b/docs/build/html/api/com.r3corda.core.contracts/index.html @@ -412,7 +412,7 @@ This is the definitive state that is stored on the ledger and used in transactio UniqueIdentifier -data class UniqueIdentifier

This class provides a truly unique identifier of a trade, state, or other business object.

+data class UniqueIdentifier : Comparable<UniqueIdentifier>

This class provides a truly unique identifier of a trade, state, or other business object.

@@ -498,6 +498,12 @@ This is the definitive state that is stored on the ledger and used in transactio +EUR + +val EUR: Currency + + + FCOJ val FCOJ: Commodity 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 3169d042d2..c1a3c5ac28 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 @@ -79,6 +79,18 @@ +

Extension Properties

+ + + + + + + +
+tree +val PublicKey.tree: PublicKeyTree

Creates a PublicKeyTree with a single leaf node containing the public key

+

Extension Functions

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 64caccd908..11cf686de3 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 @@ -45,6 +45,18 @@
+

Extension Properties

+ + + + + + + +
+tree +val PublicKey.tree: PublicKeyTree

Creates a PublicKeyTree with a single leaf node containing the public key

+

Extension Functions

diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/-init-.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/-init-.html new file mode 100644 index 0000000000..270bbc6495 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/-init-.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Builder.<init> - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder / <init>
+
+

<init>

+Builder()
+

A helper class for building a PublicKeyTree.Node.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-key.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-key.html new file mode 100644 index 0000000000..55e1e63d00 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-key.html @@ -0,0 +1,16 @@ + + +PublicKeyTree.Builder.addKey - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder / addKey
+
+

addKey

+ +fun addKey(publicKey: PublicKeyTree, weight: Int = 1): Builder
+

Adds a child PublicKeyTree node. Specifying a weight for the child is optional and will default to 1.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-keys.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-keys.html new file mode 100644 index 0000000000..d3bb00a5a3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-keys.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Builder.addKeys - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder / addKeys
+
+

addKeys

+ +fun addKeys(vararg publicKeys: PublicKeyTree): Builder
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-leaves.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-leaves.html new file mode 100644 index 0000000000..0cff04477b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/add-leaves.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Builder.addLeaves - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder / addLeaves
+
+

addLeaves

+ +fun addLeaves(publicKeys: List<PublicKey>): Builder
+ +fun addLeaves(vararg publicKeys: PublicKey): Builder
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/build.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/build.html new file mode 100644 index 0000000000..e508348881 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/build.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Builder.build - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder / build
+
+

build

+ +fun build(threshold: Int? = null): PublicKeyTree
+

Builds the PublicKeyTree.Node. If threshold is not specified, it will default to +the size of the children, effectively generating an "N of N" requirement.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/index.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/index.html new file mode 100644 index 0000000000..567064680d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-builder/index.html @@ -0,0 +1,60 @@ + + +PublicKeyTree.Builder - + + + +com.r3corda.core.crypto / PublicKeyTree / Builder
+
+

Builder

+class Builder
+

A helper class for building a PublicKeyTree.Node.

+
+
+

Constructors

+
+ + + + + + +
+<init> +Builder()

A helper class for building a PublicKeyTree.Node.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+addKey +fun addKey(publicKey: PublicKeyTree, weight: Int = 1): Builder

Adds a child PublicKeyTree node. Specifying a weight for the child is optional and will default to 1.

+
+addKeys +fun addKeys(vararg publicKeys: PublicKeyTree): Builder
+addLeaves +fun addLeaves(publicKeys: List<PublicKey>): Builder
+fun addLeaves(vararg publicKeys: PublicKey): Builder
+build +fun build(threshold: Int? = null): PublicKeyTree

Builds the PublicKeyTree.Node. If threshold is not specified, it will default to +the size of the children, effectively generating an "N of N" requirement.

+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/-init-.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/-init-.html new file mode 100644 index 0000000000..48df8ada4f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/-init-.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Leaf.<init> - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / <init>
+
+

<init>

+Leaf(publicKey: PublicKey)
+

The leaf node of the public key tree – a wrapper around a PublicKey primitive

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/equals.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/equals.html new file mode 100644 index 0000000000..37448f9841 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/equals.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Leaf.equals - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/get-keys.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/get-keys.html new file mode 100644 index 0000000000..216ec71c60 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/get-keys.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Leaf.getKeys - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / getKeys
+
+

getKeys

+ +fun getKeys(): Set<PublicKey>
+Overrides PublicKeyTree.getKeys
+

Returns all PublicKeys contained within the tree leaves

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/hash-code.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/hash-code.html new file mode 100644 index 0000000000..e0c59112af --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/hash-code.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Leaf.hashCode - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/index.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/index.html new file mode 100644 index 0000000000..c1cefae298 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/index.html @@ -0,0 +1,93 @@ + + +PublicKeyTree.Leaf - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf
+
+

Leaf

+class Leaf : PublicKeyTree
+

The leaf node of the public key tree – a wrapper around a PublicKey primitive

+
+
+

Constructors

+ + + + + + + +
+<init> +Leaf(publicKey: PublicKey)

The leaf node of the public key tree – a wrapper around a PublicKey primitive

+
+

Properties

+ + + + + + + +
+publicKey +val publicKey: PublicKey
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+equals +fun equals(other: Any?): Boolean
+getKeys +fun getKeys(): Set<PublicKey>

Returns all PublicKeys contained within the tree leaves

+
+hashCode +fun hashCode(): Int
+isFulfilledBy +fun isFulfilledBy(keys: Iterable<PublicKey>): <ERROR CLASS>

Checks whether keys match a sufficient amount of leaf nodes

+
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+containsAny +fun containsAny(keys: Iterable<PublicKey>): <ERROR CLASS>

Checks whether any of the given keys matches a leaf on the tree

+
+isFulfilledBy +fun isFulfilledBy(key: PublicKey): <ERROR CLASS>
+toBase58String +fun toBase58String(): String
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/is-fulfilled-by.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/is-fulfilled-by.html new file mode 100644 index 0000000000..00528afcbd --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/is-fulfilled-by.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Leaf.isFulfilledBy - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / isFulfilledBy
+
+

isFulfilledBy

+ +fun isFulfilledBy(keys: Iterable<PublicKey>): <ERROR CLASS>
+Overrides PublicKeyTree.isFulfilledBy
+

Checks whether keys match a sufficient amount of leaf nodes

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/public-key.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/public-key.html new file mode 100644 index 0000000000..e3e7aac16b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-leaf/public-key.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Leaf.publicKey - + + + +com.r3corda.core.crypto / PublicKeyTree / Leaf / publicKey
+
+

publicKey

+ +val publicKey: PublicKey
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/-init-.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/-init-.html new file mode 100644 index 0000000000..08e3eb7fe3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/-init-.html @@ -0,0 +1,20 @@ + + +PublicKeyTree.Node.<init> - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / <init>
+
+

<init>

+Node(threshold: Int, children: List<PublicKeyTree>, weights: List<Int>)
+

Represents a node in the PublicKeyTree. It maintains a list of child nodes – sub-trees, and associated +weights carried by child node signatures.

+

The threshold specifies the minimum total weight required (in the simple case – the minimum number of child +signatures required) to satisfy the public key sub-tree rooted at this node.

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/children.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/children.html new file mode 100644 index 0000000000..42160152bf --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/children.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Node.children - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / children
+
+

children

+ +val children: List<PublicKeyTree>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/equals.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/equals.html new file mode 100644 index 0000000000..7ca31e692c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/equals.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Node.equals - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/get-keys.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/get-keys.html new file mode 100644 index 0000000000..de80bb3962 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/get-keys.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Node.getKeys - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / getKeys
+
+

getKeys

+ +fun getKeys(): Set<PublicKey>
+Overrides PublicKeyTree.getKeys
+

Returns all PublicKeys contained within the tree leaves

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/hash-code.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/hash-code.html new file mode 100644 index 0000000000..fdb82c555a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/hash-code.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Node.hashCode - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/index.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/index.html new file mode 100644 index 0000000000..1fbb56c980 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/index.html @@ -0,0 +1,111 @@ + + +PublicKeyTree.Node - + + + +com.r3corda.core.crypto / PublicKeyTree / Node
+
+

Node

+class Node : PublicKeyTree
+

Represents a node in the PublicKeyTree. It maintains a list of child nodes – sub-trees, and associated +weights carried by child node signatures.

+

The threshold specifies the minimum total weight required (in the simple case – the minimum number of child +signatures required) to satisfy the public key sub-tree rooted at this node.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +Node(threshold: Int, children: List<PublicKeyTree>, weights: List<Int>)

Represents a node in the PublicKeyTree. It maintains a list of child nodes – sub-trees, and associated +weights carried by child node signatures.

+
+

Properties

+ + + + + + + + + + + + + + + +
+children +val children: List<PublicKeyTree>
+threshold +val threshold: Int
+weights +val weights: List<Int>
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+equals +fun equals(other: Any?): Boolean
+getKeys +fun getKeys(): Set<PublicKey>

Returns all PublicKeys contained within the tree leaves

+
+hashCode +fun hashCode(): Int
+isFulfilledBy +fun isFulfilledBy(keys: Iterable<PublicKey>): Boolean

Checks whether keys match a sufficient amount of leaf nodes

+
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+containsAny +fun containsAny(keys: Iterable<PublicKey>): <ERROR CLASS>

Checks whether any of the given keys matches a leaf on the tree

+
+isFulfilledBy +fun isFulfilledBy(key: PublicKey): <ERROR CLASS>
+toBase58String +fun toBase58String(): String
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/is-fulfilled-by.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/is-fulfilled-by.html new file mode 100644 index 0000000000..c17543152d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/is-fulfilled-by.html @@ -0,0 +1,17 @@ + + +PublicKeyTree.Node.isFulfilledBy - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / isFulfilledBy
+
+

isFulfilledBy

+ +fun isFulfilledBy(keys: Iterable<PublicKey>): Boolean
+Overrides PublicKeyTree.isFulfilledBy
+

Checks whether keys match a sufficient amount of leaf nodes

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/threshold.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/threshold.html new file mode 100644 index 0000000000..b0a13e2b79 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/threshold.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Node.threshold - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / threshold
+
+

threshold

+ +val threshold: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/weights.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/weights.html new file mode 100644 index 0000000000..5f361d27a4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/-node/weights.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.Node.weights - + + + +com.r3corda.core.crypto / PublicKeyTree / Node / weights
+
+

weights

+ +val weights: List<Int>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/contains-any.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/contains-any.html new file mode 100644 index 0000000000..f80909315f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/contains-any.html @@ -0,0 +1,16 @@ + + +PublicKeyTree.containsAny - + + + +com.r3corda.core.crypto / PublicKeyTree / containsAny
+
+

containsAny

+ +fun containsAny(keys: Iterable<PublicKey>): <ERROR CLASS>
+

Checks whether any of the given keys matches a leaf on the tree

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/get-keys.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/get-keys.html new file mode 100644 index 0000000000..f206b9c339 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/get-keys.html @@ -0,0 +1,16 @@ + + +PublicKeyTree.getKeys - + + + +com.r3corda.core.crypto / PublicKeyTree / getKeys
+
+

getKeys

+ +abstract fun getKeys(): Set<PublicKey>
+

Returns all PublicKeys contained within the tree leaves

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/index.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/index.html new file mode 100644 index 0000000000..85e21e6f9a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/index.html @@ -0,0 +1,114 @@ + + +PublicKeyTree - + + + +com.r3corda.core.crypto / PublicKeyTree
+
+

PublicKeyTree

+sealed class PublicKeyTree
+

A tree data structure that enables the representation of composite public keys.

+

In the simplest case it may just contain a single node encapsulating a PublicKey – a Leaf.

+

For more complex scenarios, such as "Both Alice and Bob need to sign to consume a state S", we can represent +the requirement by creating a tree with a root Node, and Alice and Bob as children – Leafs. +The root node would specify weights for each of its children and a threshold – the minimum total weight required +(e.g. the minimum number of child signatures required) to satisfy the tree signature requirement.

+

Using these constructs we can express e.g. 1 of N (OR) or N of N (AND) signature requirements. By nesting we can +create multi-level requirements such as "either the CEO or 3 of 5 of his assistants need to sign".

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Builder +class Builder

A helper class for building a PublicKeyTree.Node.

+
+Leaf +class Leaf : PublicKeyTree

The leaf node of the public key tree – a wrapper around a PublicKey primitive

+
+Node +class Node : PublicKeyTree

Represents a node in the PublicKeyTree. It maintains a list of child nodes – sub-trees, and associated +weights carried by child node signatures.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+containsAny +fun containsAny(keys: Iterable<PublicKey>): <ERROR CLASS>

Checks whether any of the given keys matches a leaf on the tree

+
+getKeys +abstract fun getKeys(): Set<PublicKey>

Returns all PublicKeys contained within the tree leaves

+
+isFulfilledBy +abstract fun isFulfilledBy(keys: Iterable<PublicKey>): Boolean

Checks whether keys match a sufficient amount of leaf nodes

+fun isFulfilledBy(key: PublicKey): <ERROR CLASS>
+toBase58String +fun toBase58String(): String
+

Companion Object Functions

+ + + + + + + +
+parseFromBase58 +fun parseFromBase58(encoded: String): <ERROR CLASS>
+

Inheritors

+ + + + + + + + + + + +
+Leaf +class Leaf : PublicKeyTree

The leaf node of the public key tree – a wrapper around a PublicKey primitive

+
+Node +class Node : PublicKeyTree

Represents a node in the PublicKeyTree. It maintains a list of child nodes – sub-trees, and associated +weights carried by child node signatures.

+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/is-fulfilled-by.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/is-fulfilled-by.html new file mode 100644 index 0000000000..46e6b5f366 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/is-fulfilled-by.html @@ -0,0 +1,20 @@ + + +PublicKeyTree.isFulfilledBy - + + + +com.r3corda.core.crypto / PublicKeyTree / isFulfilledBy
+
+

isFulfilledBy

+ +abstract fun isFulfilledBy(keys: Iterable<PublicKey>): Boolean
+

Checks whether keys match a sufficient amount of leaf nodes

+
+
+ +fun isFulfilledBy(key: PublicKey): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/parse-from-base58.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/parse-from-base58.html new file mode 100644 index 0000000000..e5b976ecb0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/parse-from-base58.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.parseFromBase58 - + + + +com.r3corda.core.crypto / PublicKeyTree / parseFromBase58
+
+

parseFromBase58

+ +fun parseFromBase58(encoded: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/to-base58-string.html b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/to-base58-string.html new file mode 100644 index 0000000000..26b31941e8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/-public-key-tree/to-base58-string.html @@ -0,0 +1,15 @@ + + +PublicKeyTree.toBase58String - + + + +com.r3corda.core.crypto / PublicKeyTree / toBase58String
+
+

toBase58String

+ +fun toBase58String(): String
+
+
+ + 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 1defe380f8..1214e483ed 100644 --- a/docs/build/html/api/com.r3corda.core.crypto/index.html +++ b/docs/build/html/api/com.r3corda.core.crypto/index.html @@ -47,6 +47,13 @@ building partially signed transactions.

+PublicKeyTree + +sealed class PublicKeyTree

A tree data structure that enables the representation of composite public keys.

+ + + + SecureHash sealed class SecureHash : OpaqueBytes

Container for a cryptographically secure hash value. 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 940991ada4..64be859059 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 @@ -24,6 +24,13 @@ +tree + +val PublicKey.tree: PublicKeyTree

Creates a PublicKeyTree with a single leaf node containing the public key

+ + + + verifyWithECDSA fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit

Utility to simplify the act of verifying a signature

diff --git a/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/tree.html b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/tree.html new file mode 100644 index 0000000000..3914edd268 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/java.security.-public-key/tree.html @@ -0,0 +1,16 @@ + + +tree - + + + +com.r3corda.core.crypto / java.security.PublicKey / tree
+
+

tree

+ +val PublicKey.tree: PublicKeyTree
+

Creates a PublicKeyTree with a single leaf node containing the public key

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/by-keys.html b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/by-keys.html new file mode 100644 index 0000000000..286f5948e9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/by-keys.html @@ -0,0 +1,16 @@ + + +byKeys - + + + +com.r3corda.core.crypto / kotlin.collections.Iterable / byKeys
+
+

byKeys

+ +fun Iterable<WithKey>.byKeys(): <ERROR CLASS>
+

Returns the set of all PublicKeys of the signatures

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/get-keys.html b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/get-keys.html new file mode 100644 index 0000000000..537ed038f7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.crypto/kotlin.collections.-iterable/get-keys.html @@ -0,0 +1,16 @@ + + +getKeys - + + + +com.r3corda.core.crypto / kotlin.collections.Iterable / getKeys
+
+

getKeys

+ +fun Iterable<PublicKeyTree>.getKeys(): <ERROR CLASS>
+

Returns the set of all PublicKeys contained in the leaves of the PublicKeyTrees

+
+
+ + 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 index 880c72fa27..c0a8340b07 100644 --- 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 @@ -11,6 +11,20 @@ +byKeys + +fun Iterable<WithKey>.byKeys(): <ERROR CLASS>

Returns the set of all PublicKeys of the signatures

+ + + + +getKeys + +fun Iterable<PublicKeyTree>.getKeys(): <ERROR CLASS>

Returns the set of all PublicKeys contained in the leaves of the PublicKeyTrees

+ + + + toStringsShort fun Iterable<PublicKey>.toStringsShort(): String diff --git a/docs/build/html/api/com.r3corda.core.messaging/-message/debug-message-i-d.html b/docs/build/html/api/com.r3corda.core.messaging/-message/debug-message-i-d.html deleted file mode 100644 index e232837892..0000000000 --- a/docs/build/html/api/com.r3corda.core.messaging/-message/debug-message-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Message.debugMessageID - - - - -com.r3corda.core.messaging / Message / debugMessageID
-
-

debugMessageID

- -abstract val debugMessageID: String
-
-
- - 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 5cbe9f5bed..8a0ed0f720 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 @@ -30,12 +30,6 @@ the timestamp field they probably will be, even if an implementation just uses a -debugMessageID - -abstract val debugMessageID: String - - - debugTimestamp abstract val debugTimestamp: Instant @@ -46,6 +40,12 @@ the timestamp field they probably will be, even if an implementation just uses a abstract val topicSession: TopicSession + + +uniqueMessageId + +abstract val uniqueMessageId: UUID +

Functions

diff --git a/docs/build/html/api/com.r3corda.core.messaging/-message/unique-message-id.html b/docs/build/html/api/com.r3corda.core.messaging/-message/unique-message-id.html new file mode 100644 index 0000000000..00c0d79329 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.messaging/-message/unique-message-id.html @@ -0,0 +1,15 @@ + + +Message.uniqueMessageId - + + + +com.r3corda.core.messaging / Message / uniqueMessageId
+
+

uniqueMessageId

+ +abstract val uniqueMessageId: UUID
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/create-message.html b/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/create-message.html index 8a7865dc12..a3ca3b37ac 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/create-message.html +++ b/docs/build/html/api/com.r3corda.core.messaging/-messaging-service/create-message.html @@ -7,21 +7,8 @@ com.r3corda.core.messaging / MessagingService / createMessage

createMessage

- -abstract fun createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
-

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.
-
-
- -abstract fun createMessage(topicSession: TopicSession, data: ByteArray): Message
+ +abstract fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID = UUID.randomUUID()): Message

Returns an initialised Message with the current time, etc, already filled in.

Parameters

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 7c84b54cfd..bd881872a7 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 @@ -47,8 +47,7 @@ given executor.

createMessage -abstract fun createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
-abstract fun createMessage(topicSession: TopicSession, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+abstract fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID = UUID.randomUUID()): Message

Returns an initialised Message with the current time, etc, already filled in.

@@ -76,6 +75,21 @@ delivered: if the recipients are offline then the message could be queued hours +createMessage + +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+ + + + +onNext + +fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>

Returns a ListenableFuture of the next message payload (Message.data) which is received on the given topic and sessionId. +The payload is deserilaized to an object of type M. Any exceptions thrown will be captured by the future.

+ + + + 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 @@ -91,8 +105,15 @@ doesnt take the registration object, unlike the callback to send -fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
-fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit + + + +sendRequest + +fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>

Sends a ServiceRequestMessage to target and returns a ListenableFuture of the response.

+ diff --git a/docs/build/html/api/com.r3corda.core.messaging/create-message.html b/docs/build/html/api/com.r3corda.core.messaging/create-message.html new file mode 100644 index 0000000000..ab639c622e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.messaging/create-message.html @@ -0,0 +1,24 @@ + + +createMessage - + + + +com.r3corda.core.messaging / createMessage
+
+

createMessage

+ +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
+

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.core.messaging/index.html b/docs/build/html/api/com.r3corda.core.messaging/index.html index f844c69aab..09030179d7 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/index.html +++ b/docs/build/html/api/com.r3corda.core.messaging/index.html @@ -89,6 +89,21 @@ specific messages can be defined, but use your domain name as the prefix e.g. "u +createMessage + +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+ + + + +onNext + +fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>

Returns a ListenableFuture of the next message payload (Message.data) which is received on the given topic and sessionId. +The payload is deserilaized to an object of type M. Any exceptions thrown will be captured by the future.

+ + + + 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 @@ -104,8 +119,8 @@ doesnt take the registration object, unlike the callback to send -fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
-fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit diff --git a/docs/build/html/api/com.r3corda.core.messaging/on-next.html b/docs/build/html/api/com.r3corda.core.messaging/on-next.html new file mode 100644 index 0000000000..e0afaddcea --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.messaging/on-next.html @@ -0,0 +1,17 @@ + + +onNext - + + + +com.r3corda.core.messaging / onNext
+
+

onNext

+ +fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>
+

Returns a ListenableFuture of the next message payload (Message.data) which is received on the given topic and sessionId. +The payload is deserilaized to an object of type M. Any exceptions thrown will be captured by the future.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.messaging/run-on-next-message.html b/docs/build/html/api/com.r3corda.core.messaging/run-on-next-message.html index 970a238062..180b3c9fa8 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/run-on-next-message.html +++ b/docs/build/html/api/com.r3corda.core.messaging/run-on-next-message.html @@ -24,7 +24,7 @@ a session is established, use -fun MessagingService.runOnNextMessage(topicSession: TopicSession, executor: Executor? = null, callback: (Message) -> Unit): Unit
+inline fun MessagingService.runOnNextMessage(topicSession: TopicSession, executor: Executor? = null, crossinline 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.

diff --git a/docs/build/html/api/com.r3corda.core.messaging/send.html b/docs/build/html/api/com.r3corda.core.messaging/send.html index 5a9c173003..dc58993329 100644 --- a/docs/build/html/api/com.r3corda.core.messaging/send.html +++ b/docs/build/html/api/com.r3corda.core.messaging/send.html @@ -7,10 +7,10 @@ com.r3corda.core.messaging / send

send

- -fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
- -fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit
+ +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+ +fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit


diff --git a/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/index.html b/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/index.html index ece721c71d..32f1dcc67e 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/index.html @@ -34,6 +34,13 @@ incorporate the update.

abstract fun getTransaction(id: SecureHash): SignedTransaction?

Return the transaction with the given id, or null if no such transaction exists.

+ + +track + +abstract fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns all currently stored transactions and further fresh ones.

+ +

Inheritors

diff --git a/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/track.html b/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/track.html new file mode 100644 index 0000000000..b2f2836930 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-read-only-transaction-storage/track.html @@ -0,0 +1,16 @@ + + +ReadOnlyTransactionStorage.track - + + + +com.r3corda.core.node.services / ReadOnlyTransactionStorage / track
+
+

track

+ +abstract fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>
+

Returns all currently stored transactions and further fresh ones.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/-init-.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/-init-.html new file mode 100644 index 0000000000..d22a4994c9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/-init-.html @@ -0,0 +1,22 @@ + + +ServiceInfo.<init> - + + + +com.r3corda.core.node.services / ServiceInfo / <init>
+
+

<init>

+ServiceInfo(type: ServiceType, name: String? = null)
+

A container for additional information for an advertised service.

+

Parameters

+ +type - the ServiceType identifier
+
+ +name - the service name, used for differentiating multiple services of the same type. Can also be used as a +grouping identifier for nodes collectively running a distributed service.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/index.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/index.html new file mode 100644 index 0000000000..3e01b1e53f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/index.html @@ -0,0 +1,73 @@ + + +ServiceInfo - + + + +com.r3corda.core.node.services / ServiceInfo
+
+

ServiceInfo

+data class ServiceInfo
+

A container for additional information for an advertised service.

+

Parameters

+ +type - the ServiceType identifier
+
+ +name - the service name, used for differentiating multiple services of the same type. Can also be used as a +grouping identifier for nodes collectively running a distributed service.
+
+
+

Constructors

+ + + + + + + +
+<init> +ServiceInfo(type: ServiceType, name: String? = null)

A container for additional information for an advertised service.

+
+

Properties

+ + + + + + + + + + + +
+name +val name: String?
+type +val type: ServiceType
+

Functions

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

Companion Object Functions

+ + + + + + + +
+parse +fun parse(encoded: String): ServiceInfo
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/name.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/name.html new file mode 100644 index 0000000000..07f577d749 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/name.html @@ -0,0 +1,15 @@ + + +ServiceInfo.name - + + + +com.r3corda.core.node.services / ServiceInfo / name
+
+

name

+ +val name: String?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/parse.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/parse.html new file mode 100644 index 0000000000..849b6f17a6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/parse.html @@ -0,0 +1,15 @@ + + +ServiceInfo.parse - + + + +com.r3corda.core.node.services / ServiceInfo / parse
+
+

parse

+ +fun parse(encoded: String): ServiceInfo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/to-string.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/to-string.html new file mode 100644 index 0000000000..53b3d3050f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/to-string.html @@ -0,0 +1,15 @@ + + +ServiceInfo.toString - + + + +com.r3corda.core.node.services / ServiceInfo / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-info/type.html b/docs/build/html/api/com.r3corda.core.node.services/-service-info/type.html new file mode 100644 index 0000000000..4e4bc9e471 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-info/type.html @@ -0,0 +1,15 @@ + + +ServiceInfo.type - + + + +com.r3corda.core.node.services / ServiceInfo / type
+
+

type

+ +val type: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/-init-.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/-init-.html deleted file mode 100644 index 96913a7846..0000000000 --- a/docs/build/html/api/com.r3corda.core.node.services/-service-type/-init-.html +++ /dev/null @@ -1,17 +0,0 @@ - - -ServiceType.<init> - - - - -com.r3corda.core.node.services / ServiceType / <init>
-
-

<init>

-ServiceType(id: String)
-

Identifier for service types a node can expose over the network to other peers. These types are placed into network -map advertisements. Services that are purely local and are not providing functionality to other parts of the network -dont need a declared service type.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/corda.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/corda.html new file mode 100644 index 0000000000..065c1cb20a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/corda.html @@ -0,0 +1,15 @@ + + +ServiceType.corda - + + + +com.r3corda.core.node.services / ServiceType / corda
+
+

corda

+ +val corda: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-service-type.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-service-type.html new file mode 100644 index 0000000000..0e73cf2b90 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-service-type.html @@ -0,0 +1,15 @@ + + +ServiceType.getServiceType - + + + +com.r3corda.core.node.services / ServiceType / getServiceType
+
+

getServiceType

+ +fun getServiceType(namespace: String, typeId: String): ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-sub-type.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-sub-type.html new file mode 100644 index 0000000000..825ace3930 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/get-sub-type.html @@ -0,0 +1,15 @@ + + +ServiceType.getSubType - + + + +com.r3corda.core.node.services / ServiceType / getSubType
+
+

getSubType

+ +fun getSubType(subTypeId: String): ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/index.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/index.html index d5e8c41a31..147256cbeb 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-service-type/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/index.html @@ -7,26 +7,12 @@ com.r3corda.core.node.services / ServiceType

ServiceType

-abstract class ServiceType
+sealed class ServiceType

Identifier for service types a node can expose over the network to other peers. These types are placed into network map advertisements. Services that are purely local and are not providing functionality to other parts of the network dont need a declared service type.



-

Constructors

- - - - - - - -
-<init> -ServiceType(id: String)

Identifier for service types a node can expose over the network to other peers. These types are placed into network -map advertisements. Services that are purely local and are not providing functionality to other parts of the network -dont need a declared service type.

-

Properties

@@ -49,12 +35,24 @@ dont need a declared service type.

+ + + + + + + + @@ -67,50 +65,43 @@ dont need a declared service type.

+getSubType +fun getSubType(subTypeId: String): ServiceType
hashCode open fun hashCode(): Int
+isNotary +fun isNotary(): Boolean
isSubTypeOf fun isSubTypeOf(superType: ServiceType): Boolean
-

Inheritors

+

Companion Object Properties

+corda +val corda: ServiceType +notary +val notary: ServiceType +regulator +val regulator: ServiceType + + +
-OracleType -object OracleType : ServiceType
-Type -object Type : ServiceType
-Type -object Type : ServiceType
+

Companion Object Functions

+ + + + + +parse - - - - - - - - - - - - +fun parse(id: String): ServiceType
+getServiceType +fun getServiceType(namespace: String, typeId: String): ServiceType
-Type -object Type : ServiceType
-Type -object Type : ServiceType
-Type -object Type : ServiceType
-Type -object Type : ServiceType
diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/is-notary.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/is-notary.html new file mode 100644 index 0000000000..e871505118 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/is-notary.html @@ -0,0 +1,15 @@ + + +ServiceType.isNotary - + + + +com.r3corda.core.node.services / ServiceType / isNotary
+
+

isNotary

+ +fun isNotary(): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/notary.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/notary.html new file mode 100644 index 0000000000..c67a66c8d9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/notary.html @@ -0,0 +1,15 @@ + + +ServiceType.notary - + + + +com.r3corda.core.node.services / ServiceType / notary
+
+

notary

+ +val notary: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/parse.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/parse.html new file mode 100644 index 0000000000..8d12187505 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/parse.html @@ -0,0 +1,15 @@ + + +ServiceType.parse - + + + +com.r3corda.core.node.services / ServiceType / parse
+
+

parse

+ +fun parse(id: String): ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-service-type/regulator.html b/docs/build/html/api/com.r3corda.core.node.services/-service-type/regulator.html new file mode 100644 index 0000000000..84662990aa --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-service-type/regulator.html @@ -0,0 +1,15 @@ + + +ServiceType.regulator - + + + +com.r3corda.core.node.services / ServiceType / regulator
+
+

regulator

+ +val regulator: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/add-mapping.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/add-mapping.html new file mode 100644 index 0000000000..edf7156692 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/add-mapping.html @@ -0,0 +1,15 @@ + + +StateMachineRecordedTransactionMappingStorage.addMapping - + + + +com.r3corda.core.node.services / StateMachineRecordedTransactionMappingStorage / addMapping
+
+

addMapping

+ +abstract fun addMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/index.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/index.html new file mode 100644 index 0000000000..f98651322c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/index.html @@ -0,0 +1,45 @@ + + +StateMachineRecordedTransactionMappingStorage - + + + +com.r3corda.core.node.services / StateMachineRecordedTransactionMappingStorage
+
+

StateMachineRecordedTransactionMappingStorage

+interface StateMachineRecordedTransactionMappingStorage
+

This is the interface to storage storing state machine -> recorded tx mappings. Any time a transaction is recorded +during a protocol run addMapping should be called.

+
+
+

Functions

+ + + + + + + + + + + +
+addMapping +abstract fun addMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash): Unit
+track +abstract fun track(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+

Inheritors

+ + + + + + + +
+InMemoryStateMachineRecordedTransactionMappingStorage +class InMemoryStateMachineRecordedTransactionMappingStorage : StateMachineRecordedTransactionMappingStorage

This is a temporary in-memory storage of a state machine id -> txhash mapping

+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/track.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/track.html new file mode 100644 index 0000000000..f8bb71232d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-recorded-transaction-mapping-storage/track.html @@ -0,0 +1,15 @@ + + +StateMachineRecordedTransactionMappingStorage.track - + + + +com.r3corda.core.node.services / StateMachineRecordedTransactionMappingStorage / track
+
+

track

+ +abstract fun track(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/-init-.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/-init-.html new file mode 100644 index 0000000000..85af922703 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineTransactionMapping.<init> - + + + +com.r3corda.core.node.services / StateMachineTransactionMapping / <init>
+
+

<init>

+StateMachineTransactionMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/index.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/index.html new file mode 100644 index 0000000000..431f5c8793 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/index.html @@ -0,0 +1,42 @@ + + +StateMachineTransactionMapping - + + + +com.r3corda.core.node.services / StateMachineTransactionMapping
+
+

StateMachineTransactionMapping

+data class StateMachineTransactionMapping
+
+
+

Constructors

+ + + + + + + +
+<init> +StateMachineTransactionMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash)
+

Properties

+ + + + + + + + + + + +
+stateMachineRunId +val stateMachineRunId: StateMachineRunId
+transactionId +val transactionId: SecureHash
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/state-machine-run-id.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/state-machine-run-id.html new file mode 100644 index 0000000000..22d3355310 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/state-machine-run-id.html @@ -0,0 +1,15 @@ + + +StateMachineTransactionMapping.stateMachineRunId - + + + +com.r3corda.core.node.services / StateMachineTransactionMapping / stateMachineRunId
+
+

stateMachineRunId

+ +val stateMachineRunId: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/transaction-id.html b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/transaction-id.html new file mode 100644 index 0000000000..b8d1ab42ac --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-state-machine-transaction-mapping/transaction-id.html @@ -0,0 +1,15 @@ + + +StateMachineTransactionMapping.transactionId - + + + +com.r3corda.core.node.services / StateMachineTransactionMapping / transactionId
+
+

transactionId

+ +val transactionId: SecureHash
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/index.html b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/index.html index 31570ced80..c1e8296e5b 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/index.html @@ -25,17 +25,9 @@ anything like that, this interface is only big enough to support the prototyping -myLegalIdentity +stateMachineRecordedTransactionMapping -abstract val myLegalIdentity: Party

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is -first installed.

- - - - -myLegalIdentityKey - -abstract val myLegalIdentityKey: KeyPair +abstract val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage diff --git a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity-key.html b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity-key.html deleted file mode 100644 index 3096ada19b..0000000000 --- a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity-key.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StorageService.myLegalIdentityKey - - - - -com.r3corda.core.node.services / StorageService / myLegalIdentityKey
-
-

myLegalIdentityKey

- -abstract val myLegalIdentityKey: KeyPair
-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity.html b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity.html deleted file mode 100644 index 2e76a74304..0000000000 --- a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/my-legal-identity.html +++ /dev/null @@ -1,17 +0,0 @@ - - -StorageService.myLegalIdentity - - - - -com.r3corda.core.node.services / StorageService / myLegalIdentity
-
-

myLegalIdentity

- -abstract val myLegalIdentity: Party
-

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is -first installed.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.node.services/-storage-service/state-machine-recorded-transaction-mapping.html b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/state-machine-recorded-transaction-mapping.html new file mode 100644 index 0000000000..8db6a4ae35 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-storage-service/state-machine-recorded-transaction-mapping.html @@ -0,0 +1,15 @@ + + +StorageService.stateMachineRecordedTransactionMapping - + + + +com.r3corda.core.node.services / StorageService / stateMachineRecordedTransactionMapping
+
+

stateMachineRecordedTransactionMapping

+ +abstract val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-transaction-storage/index.html b/docs/build/html/api/com.r3corda.core.node.services/-transaction-storage/index.html index a4eb2e6fcd..fceeff38e3 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-transaction-storage/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-transaction-storage/index.html @@ -47,6 +47,13 @@ overwritten.

abstract fun getTransaction(id: SecureHash): SignedTransaction?

Return the transaction with the given id, or null if no such transaction exists.

+ + +track + +abstract fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns all currently stored transactions and further fresh ones.

+ +

Inheritors

diff --git a/docs/build/html/api/com.r3corda.core.node.services/-tx-writable-storage-service/index.html b/docs/build/html/api/com.r3corda.core.node.services/-tx-writable-storage-service/index.html index 1155efbb28..81ed3c9223 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-tx-writable-storage-service/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-tx-writable-storage-service/index.html @@ -37,17 +37,9 @@ the transaction data to other nodes that need it.

-myLegalIdentity +stateMachineRecordedTransactionMapping -abstract val myLegalIdentity: Party

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is -first installed.

- - - - -myLegalIdentityKey - -abstract val myLegalIdentityKey: KeyPair +abstract val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage diff --git a/docs/build/html/api/com.r3corda.core.node.services/-vault-service/index.html b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/index.html index 60a176f12d..d469b2beb9 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-vault-service/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/index.html @@ -39,8 +39,8 @@ keys in this vault, you must inform the vault service so it can update its inter updates -abstract val updates: <ERROR CLASS><Update>

Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

+abstract val updates: <ERROR CLASS><Update>

Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.

@@ -78,6 +78,14 @@ new states that they create. You should only insert transactions that have been +track + +abstract fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>

Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

+ + + + whenConsumed open fun whenConsumed(ref: StateRef): <ERROR CLASS><Update>

Provide a Future for when a StateRef is consumed, which can be very useful in building tests.

@@ -90,6 +98,12 @@ new states that they create. You should only insert transactions that have been +dealsWith + +fun <T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS> + + + linearHeadsOfType fun <T : LinearState> VaultService.linearHeadsOfType(): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.core.node.services/-vault-service/track.html b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/track.html new file mode 100644 index 0000000000..217f88cc5f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/track.html @@ -0,0 +1,17 @@ + + +VaultService.track - + + + +com.r3corda.core.node.services / VaultService / track
+
+

track

+ +abstract fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
+

Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/-vault-service/updates.html b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/updates.html index e712cb3528..47c568d5af 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/-vault-service/updates.html +++ b/docs/build/html/api/com.r3corda.core.node.services/-vault-service/updates.html @@ -9,8 +9,8 @@

updates

abstract val updates: <ERROR CLASS><Update>
-

Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

+

Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.



diff --git a/docs/build/html/api/com.r3corda.core.node.services/deals-with.html b/docs/build/html/api/com.r3corda.core.node.services/deals-with.html new file mode 100644 index 0000000000..7a122eba9f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/deals-with.html @@ -0,0 +1,15 @@ + + +dealsWith - + + + +com.r3corda.core.node.services / dealsWith
+
+

dealsWith

+ +inline fun <reified T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/index.html b/docs/build/html/api/com.r3corda.core.node.services/index.html index 3113d6277e..2a935beb42 100644 --- a/docs/build/html/api/com.r3corda.core.node.services/index.html +++ b/docs/build/html/api/com.r3corda.core.node.services/index.html @@ -61,15 +61,36 @@ increase the feature set in the future.

+ServiceInfo + +data class ServiceInfo

A container for additional information for an advertised service.

+ + + + ServiceType -abstract class ServiceType

Identifier for service types a node can expose over the network to other peers. These types are placed into network +sealed class ServiceType

Identifier for service types a node can expose over the network to other peers. These types are placed into network map advertisements. Services that are purely local and are not providing functionality to other parts of the network dont need a declared service type.

+StateMachineRecordedTransactionMappingStorage + +interface StateMachineRecordedTransactionMappingStorage

This is the interface to storage storing state machine -> recorded tx mappings. Any time a transaction is recorded +during a protocol run addMapping should be called.

+ + + + +StateMachineTransactionMapping + +data class StateMachineTransactionMapping + + + StorageService interface StorageService

A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like @@ -145,6 +166,17 @@ consumed by someone else first

+

Extensions for External Classes

+ + + + + + + +
+kotlin.collections.Iterable +

Properties

@@ -163,6 +195,12 @@ specific session ID has been established).

+ + + + diff --git a/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/contains-type.html b/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/contains-type.html new file mode 100644 index 0000000000..cf923a6de7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/contains-type.html @@ -0,0 +1,15 @@ + + +containsType - + + + +com.r3corda.core.node.services / kotlin.collections.Iterable / containsType
+
+

containsType

+ +fun Iterable<ServiceInfo>.containsType(type: ServiceType): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/index.html b/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/index.html new file mode 100644 index 0000000000..3dad9c469f --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node.services/kotlin.collections.-iterable/index.html @@ -0,0 +1,21 @@ + + +com.r3corda.core.node.services.kotlin.collections.Iterable - + + + +com.r3corda.core.node.services / kotlin.collections.Iterable
+
+

Extensions for kotlin.collections.Iterable

+
+dealsWith +fun <T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS>
linearHeadsOfType fun <T : LinearState> VaultService.linearHeadsOfType(): <ERROR CLASS>
+ + + + + + +
+containsType +fun Iterable<ServiceInfo>.containsType(type: ServiceType): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/-init-.html b/docs/build/html/api/com.r3corda.core.node/-node-info/-init-.html index 2aac1ae7ef..6e6b47ee52 100644 --- a/docs/build/html/api/com.r3corda.core.node/-node-info/-init-.html +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/-init-.html @@ -7,7 +7,7 @@ com.r3corda.core.node / NodeInfo / <init>

<init>

-NodeInfo(address: SingleMessageRecipient, identity: Party, advertisedServices: Set<ServiceType> = emptySet(), physicalLocation: PhysicalLocation? = null)
+NodeInfo(address: SingleMessageRecipient, legalIdentity: Party, advertisedServices: List<ServiceEntry> = emptyList(), physicalLocation: PhysicalLocation? = null)

Info about a network node that acts on behalf of some form of contract party.



diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/advertised-services.html b/docs/build/html/api/com.r3corda.core.node/-node-info/advertised-services.html index a12792980c..c079dc9c70 100644 --- a/docs/build/html/api/com.r3corda.core.node/-node-info/advertised-services.html +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/advertised-services.html @@ -8,7 +8,7 @@

advertisedServices

-var advertisedServices: Set<ServiceType>
+var advertisedServices: List<ServiceEntry>


diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/index.html b/docs/build/html/api/com.r3corda.core.node/-node-info/index.html index 36736b4ffa..0c3d73968f 100644 --- a/docs/build/html/api/com.r3corda.core.node/-node-info/index.html +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/index.html @@ -18,7 +18,7 @@ <init> -NodeInfo(address: SingleMessageRecipient, identity: Party, advertisedServices: Set<ServiceType> = emptySet(), physicalLocation: PhysicalLocation? = null)

Info about a network node that acts on behalf of some form of contract party.

+NodeInfo(address: SingleMessageRecipient, legalIdentity: Party, advertisedServices: List<ServiceEntry> = emptyList(), physicalLocation: PhysicalLocation? = null)

Info about a network node that acts on behalf of some form of contract party.

@@ -36,13 +36,19 @@ advertisedServices -var advertisedServices: Set<ServiceType> +var advertisedServices: List<ServiceEntry> -identity +legalIdentity -val identity: Party +val legalIdentity: Party + + + +notaryIdentity + +val notaryIdentity: Party @@ -52,5 +58,16 @@ +

Functions

+ + + + + + + +
+serviceIdentities +fun serviceIdentities(type: ServiceType): List<Party>
diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/legal-identity.html b/docs/build/html/api/com.r3corda.core.node/-node-info/legal-identity.html new file mode 100644 index 0000000000..fc9cacf69e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/legal-identity.html @@ -0,0 +1,15 @@ + + +NodeInfo.legalIdentity - + + + +com.r3corda.core.node / NodeInfo / legalIdentity
+
+

legalIdentity

+ +val legalIdentity: Party
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/notary-identity.html b/docs/build/html/api/com.r3corda.core.node/-node-info/notary-identity.html new file mode 100644 index 0000000000..55c6c89541 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/notary-identity.html @@ -0,0 +1,15 @@ + + +NodeInfo.notaryIdentity - + + + +com.r3corda.core.node / NodeInfo / notaryIdentity
+
+

notaryIdentity

+ +val notaryIdentity: Party
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/service-identities.html b/docs/build/html/api/com.r3corda.core.node/-node-info/service-identities.html new file mode 100644 index 0000000000..4329bff336 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-node-info/service-identities.html @@ -0,0 +1,15 @@ + + +NodeInfo.serviceIdentities - + + + +com.r3corda.core.node / NodeInfo / serviceIdentities
+
+

serviceIdentities

+ +fun serviceIdentities(type: ServiceType): List<Party>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-service-entry/-init-.html b/docs/build/html/api/com.r3corda.core.node/-service-entry/-init-.html new file mode 100644 index 0000000000..992fe94fd6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-entry/-init-.html @@ -0,0 +1,16 @@ + + +ServiceEntry.<init> - + + + +com.r3corda.core.node / ServiceEntry / <init>
+
+

<init>

+ServiceEntry(info: ServiceInfo, identity: Party)
+

Information for an advertised service including the service specific identity information. +The identity can be used in protocols and is distinct from the Nodes legalIdentity

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-node-info/identity.html b/docs/build/html/api/com.r3corda.core.node/-service-entry/identity.html similarity index 70% rename from docs/build/html/api/com.r3corda.core.node/-node-info/identity.html rename to docs/build/html/api/com.r3corda.core.node/-service-entry/identity.html index 2d24dad745..49665e9edb 100644 --- a/docs/build/html/api/com.r3corda.core.node/-node-info/identity.html +++ b/docs/build/html/api/com.r3corda.core.node/-service-entry/identity.html @@ -1,13 +1,13 @@ -NodeInfo.identity - +ServiceEntry.identity - -com.r3corda.core.node / NodeInfo / identity
+com.r3corda.core.node / ServiceEntry / identity

identity

- + val identity: Party


diff --git a/docs/build/html/api/com.r3corda.core.node/-service-entry/index.html b/docs/build/html/api/com.r3corda.core.node/-service-entry/index.html new file mode 100644 index 0000000000..56d2cb6ead --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-entry/index.html @@ -0,0 +1,46 @@ + + +ServiceEntry - + + + +com.r3corda.core.node / ServiceEntry
+
+

ServiceEntry

+data class ServiceEntry
+

Information for an advertised service including the service specific identity information. +The identity can be used in protocols and is distinct from the Nodes legalIdentity

+
+
+

Constructors

+ + + + + + + +
+<init> +ServiceEntry(info: ServiceInfo, identity: Party)

Information for an advertised service including the service specific identity information. +The identity can be used in protocols and is distinct from the Nodes legalIdentity

+
+

Properties

+ + + + + + + + + + + +
+identity +val identity: Party
+info +val info: ServiceInfo
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-service-entry/info.html b/docs/build/html/api/com.r3corda.core.node/-service-entry/info.html new file mode 100644 index 0000000000..0a4cbb4eac --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-entry/info.html @@ -0,0 +1,15 @@ + + +ServiceEntry.info - + + + +com.r3corda.core.node / ServiceEntry / info
+
+

info

+ +val info: ServiceInfo
+
+
+ + 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 a49b538cdf..ce6fbf319e 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 @@ -40,6 +40,21 @@ state from being serialized in checkpoints.

+legalIdentityKey + +open val legalIdentityKey: KeyPair

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public legalIdentity Party from the key management service. +Typical use is during signing in protocols and for unit test signing.

+ + + + +myInfo + +abstract val myInfo: NodeInfo + + + networkMapCache abstract val networkMapCache: NetworkMapCache @@ -52,6 +67,17 @@ state from being serialized in checkpoints.

+notaryIdentityKey + +open val notaryIdentityKey: KeyPair

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public notaryIdentity Party from the key management service. It is assumed that this is only +used in contexts where the Node knows it is hosting a Notary Service. Otherwise, it will throw +an IllegalArgumentException. +Typical use is during signing in protocols and for unit test signing.

+ + + + schedulerService abstract val schedulerService: SchedulerService @@ -93,8 +119,6 @@ state from being serialized in checkpoints.

abstract 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 vault for further processing.

-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 vault for further processing.

@@ -111,6 +135,14 @@ to the vault. This is intended for unit tests. The cash is issued by recordTransactions + +fun ServiceHub.recordTransactions(vararg txs: SignedTransaction): Unit

Given some SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the vault for further processing.

+ +

Inheritors

diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/legal-identity-key.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/legal-identity-key.html new file mode 100644 index 0000000000..1b0626cb3a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/legal-identity-key.html @@ -0,0 +1,18 @@ + + +ServiceHub.legalIdentityKey - + + + +com.r3corda.core.node / ServiceHub / legalIdentityKey
+
+

legalIdentityKey

+ +open val legalIdentityKey: KeyPair
+

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public legalIdentity Party from the key management service. +Typical use is during signing in protocols and for unit test signing.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/my-info.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/my-info.html new file mode 100644 index 0000000000..ce5db24a01 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/my-info.html @@ -0,0 +1,15 @@ + + +ServiceHub.myInfo - + + + +com.r3corda.core.node / ServiceHub / myInfo
+
+

myInfo

+ +abstract val myInfo: NodeInfo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/notary-identity-key.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/notary-identity-key.html new file mode 100644 index 0000000000..ac1dcadb99 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/notary-identity-key.html @@ -0,0 +1,20 @@ + + +ServiceHub.notaryIdentityKey - + + + +com.r3corda.core.node / ServiceHub / notaryIdentityKey
+
+

notaryIdentityKey

+ +open val notaryIdentityKey: KeyPair
+

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public notaryIdentity Party from the key management service. It is assumed that this is only +used in contexts where the Node knows it is hosting a Notary Service. Otherwise, it will throw +an IllegalArgumentException. +Typical use is during signing in protocols and for unit test signing.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.node/-service-hub/record-transactions.html b/docs/build/html/api/com.r3corda.core.node/-service-hub/record-transactions.html index 475717e713..18892c82b9 100644 --- a/docs/build/html/api/com.r3corda.core.node/-service-hub/record-transactions.html +++ b/docs/build/html/api/com.r3corda.core.node/-service-hub/record-transactions.html @@ -16,14 +16,5 @@ sends them to the vault for further processing.

txs - The transactions to record.


- -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 vault for further processing.

-

Parameters

- -txs - The transactions to record.
-
-
diff --git a/docs/build/html/api/com.r3corda.core.node/index.html b/docs/build/html/api/com.r3corda.core.node/index.html index 4f819d6249..167352bce4 100644 --- a/docs/build/html/api/com.r3corda.core.node/index.html +++ b/docs/build/html/api/com.r3corda.core.node/index.html @@ -52,6 +52,14 @@ Labels should not refer to non-landmarks, for example, they should not contain t +ServiceEntry + +data class ServiceEntry

Information for an advertised service including the service specific identity information. +The identity can be used in protocols and is distinct from the Nodes legalIdentity

+ + + + ServiceHub interface ServiceHub

A service hub simply vends references to the other services a node has. Some of those services may be missing or @@ -68,5 +76,18 @@ functionality and you dont want to hard-code which types in the interface.

+

Functions

+ + + + + + + +
+recordTransactions +fun ServiceHub.recordTransactions(vararg txs: SignedTransaction): Unit

Given some SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the vault for further processing.

+
diff --git a/docs/build/html/api/com.r3corda.core.node/record-transactions.html b/docs/build/html/api/com.r3corda.core.node/record-transactions.html new file mode 100644 index 0000000000..04e5484c85 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.node/record-transactions.html @@ -0,0 +1,20 @@ + + +recordTransactions - + + + +com.r3corda.core.node / recordTransactions
+
+

recordTransactions

+ +fun ServiceHub.recordTransactions(vararg txs: SignedTransaction): Unit
+

Given some SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the vault for further processing.

+

Parameters

+ +txs - The transactions to record.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/get-counterparty-marker.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/get-counterparty-marker.html new file mode 100644 index 0000000000..92e87f1f04 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/get-counterparty-marker.html @@ -0,0 +1,18 @@ + + +ProtocolLogic.getCounterpartyMarker - + + + +com.r3corda.core.protocols / ProtocolLogic / getCounterpartyMarker
+
+

getCounterpartyMarker

+ +open fun getCounterpartyMarker(party: Party): Class<*>
+

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+
+
+ + 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 92c10216e2..79556e3c36 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 @@ -74,14 +74,6 @@ only available once the protocol has started, which means it cannnot be accessed access this lazily or from inside call.

- - -topic - -abstract val topic: String

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

- -

Functions

@@ -96,6 +88,15 @@ Note that this is temporary until protocol sessions are properly implemented.

+getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+ + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
@@ -103,15 +104,6 @@ Note that this is temporary until protocol sessions are properly implemented.

-registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

- - - - send fun send(otherParty: Party, payload: Any): Unit @@ -127,10 +119,16 @@ handled by AbstractNodeService.addProtocolHandler.

subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

+ + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

Inheritors

@@ -194,6 +192,18 @@ timestamp is correct and none of its inputs have been used in another completed +FixQueryProtocol + +class FixQueryProtocol : ProtocolLogic<Fix> + + + +FixSignProtocol + +class FixSignProtocol : ProtocolLogic<LegallyIdentifiable> + + + FixingRoleDecider class FixingRoleDecider : ProtocolLogic<Unit>

This protocol looks at the deal and decides whether to be the Fixer or Floater role in agreeing a fixing.

@@ -207,9 +217,15 @@ timestamp is correct and none of its inputs have been used in another completed +NotifyTransactionHandler + +class NotifyTransactionHandler : ProtocolLogic<Unit> + + + Primary -abstract class Primary<out U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+abstract class Primary : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that initiates communication/handshake.

diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/register-session.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/register-session.html deleted file mode 100644 index 51704308ac..0000000000 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/register-session.html +++ /dev/null @@ -1,18 +0,0 @@ - - -ProtocolLogic.registerSession - - - - -com.r3corda.core.protocols / ProtocolLogic / registerSession
-
-

registerSession

- -fun registerSession(receivedHandshake: HandshakeMessage): Unit
-

If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/sub-protocol.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/sub-protocol.html index a778101449..4cb132a0f1 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/sub-protocol.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/sub-protocol.html @@ -8,14 +8,14 @@

subProtocol

-fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R
+fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

Parameters

- -inheritParentSessions - In certain situations the subprotocol needs to inherit and use the same open -sessions of the parent. However in most cases this is not desirable as it prevents the subprotocol from -communicating with the same party on a different topic. For this reason the default value is false.
+ +shareParentSessions - In certain situations the need arises to use the same sessions the parent protocol has +already established. However this also prevents the subprotocol from creating new sessions with those parties. +For this reason the default value is false.


diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/topic.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/topic.html deleted file mode 100644 index 821839b29c..0000000000 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/topic.html +++ /dev/null @@ -1,17 +0,0 @@ - - -ProtocolLogic.topic - - - - -com.r3corda.core.protocols / ProtocolLogic / topic
-
-

topic

- -protected abstract val topic: String
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/track.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/track.html new file mode 100644 index 0000000000..32d203c60c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-logic/track.html @@ -0,0 +1,15 @@ + + +ProtocolLogic.track - + + + +com.r3corda.core.protocols / ProtocolLogic / track
+
+

track

+ +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/-init-.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/-init-.html new file mode 100644 index 0000000000..6601f5cd64 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/-init-.html @@ -0,0 +1,14 @@ + + +ProtocolSessionException.<init> - + + + +com.r3corda.core.protocols / ProtocolSessionException / <init>
+
+

<init>

+ProtocolSessionException(message: String)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/index.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/index.html new file mode 100644 index 0000000000..fa434a6ddb --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-session-exception/index.html @@ -0,0 +1,36 @@ + + +ProtocolSessionException - + + + +com.r3corda.core.protocols / ProtocolSessionException
+
+

ProtocolSessionException

+class ProtocolSessionException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolSessionException(message: String)
+

Extension Properties

+ + + + + + + +
+rootCause +val Throwable.rootCause: Throwable
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/id.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/id.html new file mode 100644 index 0000000000..cff8c7551b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/id.html @@ -0,0 +1,16 @@ + + +ProtocolStateMachine.id - + + + +com.r3corda.core.protocols / ProtocolStateMachine / id
+
+

id

+ +abstract val id: StateMachineRunId
+

Unique ID for this machine run, valid across restarts

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/index.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/index.html index 42c43fc744..461c7141f1 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/index.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/index.html @@ -8,7 +8,13 @@

ProtocolStateMachine

interface ProtocolStateMachine<R>
-

The interface of ProtocolStateMachineImpl exposing methods and properties required by ProtocolLogic for compilation.

+

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. +For any given flow there is only one PSM, even if that protocol invokes subprotocols.

+

These classes are created by the StateMachineManager when a new protocol is started at the topmost level. If +a protocol invokes a sub-protocol, then it will pass along the PSM to the child. The call method of the topmost +logic element gets to return the value that the entire state machine resolves to.

+
+


Properties

@@ -16,16 +22,16 @@ -logger +id -abstract val logger: <ERROR CLASS> +abstract val id: StateMachineRunId

Unique ID for this machine run, valid across restarts

+ -machineId +logger -abstract val machineId: Long

Unique ID for this machine, valid only while it is in memory.

- +abstract val logger: <ERROR CLASS> @@ -49,19 +55,19 @@ receive -abstract fun <T : Any> receive(topic: String, sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> +abstract fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T> send -abstract fun send(topic: String, destination: Party, sessionID: Long, payload: Any): Unit +abstract fun send(otherParty: Party, payload: Any, sessionProtocol: ProtocolLogic<*>): Unit sendAndReceive -abstract fun <T : Any> sendAndReceive(topic: String, destination: Party, sessionIDForSend: Long, sessionIDForReceive: Long, payload: Any, receiveType: Class<T>): UntrustworthyData<T> +abstract fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T> @@ -72,9 +78,7 @@ ProtocolStateMachineImpl -class ProtocolStateMachineImpl<R> : ProtocolStateMachine<R>

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

- +class ProtocolStateMachineImpl<R> : ProtocolStateMachine<R> diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/machine-id.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/machine-id.html deleted file mode 100644 index ebedcf3b62..0000000000 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/machine-id.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ProtocolStateMachine.machineId - - - - -com.r3corda.core.protocols / ProtocolStateMachine / machineId
-
-

machineId

- -abstract val machineId: Long
-

Unique ID for this machine, valid only while it is in memory.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/receive.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/receive.html index efb99054b3..4eb41dfbae 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/receive.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/receive.html @@ -7,8 +7,8 @@ com.r3corda.core.protocols / ProtocolStateMachine / receive

receive

- -abstract fun <T : Any> receive(topic: String, sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
+ +abstract fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>


diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send-and-receive.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send-and-receive.html index 5d193f113f..64f1fa9114 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send-and-receive.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send-and-receive.html @@ -7,8 +7,8 @@ com.r3corda.core.protocols / ProtocolStateMachine / sendAndReceive

sendAndReceive

- -abstract fun <T : Any> sendAndReceive(topic: String, destination: Party, sessionIDForSend: Long, sessionIDForReceive: Long, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
+ +abstract fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>


diff --git a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send.html b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send.html index 9f38e34e50..91126bd362 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send.html +++ b/docs/build/html/api/com.r3corda.core.protocols/-protocol-state-machine/send.html @@ -7,8 +7,8 @@ com.r3corda.core.protocols / ProtocolStateMachine / send

send

- -abstract fun send(topic: String, destination: Party, sessionID: Long, payload: Any): Unit
+ +abstract fun send(otherParty: Party, payload: Any, sessionProtocol: ProtocolLogic<*>): Unit


diff --git a/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/create-random.html b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/create-random.html new file mode 100644 index 0000000000..38d46af2e1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/create-random.html @@ -0,0 +1,15 @@ + + +StateMachineRunId.createRandom - + + + +com.r3corda.core.protocols / StateMachineRunId / createRandom
+
+

createRandom

+ +fun createRandom(): StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/index.html b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/index.html new file mode 100644 index 0000000000..ca11b21728 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/index.html @@ -0,0 +1,47 @@ + + +StateMachineRunId - + + + +com.r3corda.core.protocols / StateMachineRunId
+
+

StateMachineRunId

+data class StateMachineRunId
+
+
+

Properties

+ + + + + + + +
+uuid +val uuid: UUID
+

Functions

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

Companion Object Functions

+ + + + + + + +
+createRandom +fun createRandom(): StateMachineRunId
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/to-string.html b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/to-string.html new file mode 100644 index 0000000000..f34fd18ae0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/to-string.html @@ -0,0 +1,15 @@ + + +StateMachineRunId.toString - + + + +com.r3corda.core.protocols / StateMachineRunId / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/uuid.html b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/uuid.html new file mode 100644 index 0000000000..f747c7580c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.protocols/-state-machine-run-id/uuid.html @@ -0,0 +1,15 @@ + + +StateMachineRunId.uuid - + + + +com.r3corda.core.protocols / StateMachineRunId / uuid
+
+

uuid

+ +val uuid: UUID
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.protocols/index.html b/docs/build/html/api/com.r3corda.core.protocols/index.html index 737ad13173..05e281c3ed 100644 --- a/docs/build/html/api/com.r3corda.core.protocols/index.html +++ b/docs/build/html/api/com.r3corda.core.protocols/index.html @@ -45,9 +45,16 @@ a node crash, how many instances of your protocol there are running and so on. ProtocolStateMachine -interface ProtocolStateMachine<R>

The interface of ProtocolStateMachineImpl exposing methods and properties required by ProtocolLogic for compilation.

+interface ProtocolStateMachine<R>

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. +For any given flow there is only one PSM, even if that protocol invokes subprotocols.

+ + +StateMachineRunId + +data class StateMachineRunId +

Exceptions

@@ -59,6 +66,12 @@ a node crash, how many instances of your protocol there are running and so on. class IllegalProtocolLogicException : IllegalArgumentException + + +ProtocolSessionException + +class ProtocolSessionException : Exception + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/-init-.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/-init-.html new file mode 100644 index 0000000000..1d4e35ef31 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/-init-.html @@ -0,0 +1,25 @@ + + +MappedSchema.<init> - + + + +com.r3corda.core.schemas / MappedSchema / <init>
+
+

<init>

+MappedSchema(schemaFamily: Class<*>, version: Int, mappedTypes: Iterable<Class<*>>)
+

A database schema that might be configured for this node. As well as a name and version for identifying the schema, +also list the classes that may be used in the generated object graph in order to configure the ORM tool.

+

Parameters

+ +schemaFamily - A class to fully qualify the name of a schema family (i.e. excludes version)
+
+ +version - The version number of this instance within the family.
+
+ +mappedTypes - The JPA entity classes that the ORM layer needs to be configure with for this schema.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/index.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/index.html new file mode 100644 index 0000000000..d2923f3197 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/index.html @@ -0,0 +1,93 @@ + + +MappedSchema - + + + +com.r3corda.core.schemas / MappedSchema
+
+

MappedSchema

+abstract class MappedSchema
+

A database schema that might be configured for this node. As well as a name and version for identifying the schema, +also list the classes that may be used in the generated object graph in order to configure the ORM tool.

+

Parameters

+ +schemaFamily - A class to fully qualify the name of a schema family (i.e. excludes version)
+
+ +version - The version number of this instance within the family.
+
+ +mappedTypes - The JPA entity classes that the ORM layer needs to be configure with for this schema.
+
+
+

Constructors

+ + + + + + + +
+<init> +MappedSchema(schemaFamily: Class<*>, version: Int, mappedTypes: Iterable<Class<*>>)

A database schema that might be configured for this node. As well as a name and version for identifying the schema, +also list the classes that may be used in the generated object graph in order to configure the ORM tool.

+
+

Properties

+ + + + + + + + + + + + + + + +
+mappedTypes +val mappedTypes: Iterable<Class<*>>
+name +val name: String
+version +val version: Int
+

Functions

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

Inheritors

+ + + + + + + + + + + +
+CashSchemaV1 +object CashSchemaV1 : MappedSchema

First version of a cash contract ORM schema that maps all fields of the Cash contract state as it stood +at the time of writing.

+
+CommercialPaperSchemaV1 +object CommercialPaperSchemaV1 : MappedSchema

First version of a commercial paper contract ORM schema that maps all fields of the CommercialPaper contract state +as it stood at the time of writing.

+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/mapped-types.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/mapped-types.html new file mode 100644 index 0000000000..e917de2186 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/mapped-types.html @@ -0,0 +1,15 @@ + + +MappedSchema.mappedTypes - + + + +com.r3corda.core.schemas / MappedSchema / mappedTypes
+
+

mappedTypes

+ +val mappedTypes: Iterable<Class<*>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/name.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/name.html new file mode 100644 index 0000000000..b653bd964c --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/name.html @@ -0,0 +1,15 @@ + + +MappedSchema.name - + + + +com.r3corda.core.schemas / MappedSchema / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/to-string.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/to-string.html new file mode 100644 index 0000000000..b3eb150f8a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/to-string.html @@ -0,0 +1,15 @@ + + +MappedSchema.toString - + + + +com.r3corda.core.schemas / MappedSchema / toString
+
+

toString

+ +open fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/version.html b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/version.html new file mode 100644 index 0000000000..52e359e13d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-mapped-schema/version.html @@ -0,0 +1,15 @@ + + +MappedSchema.version - + + + +com.r3corda.core.schemas / MappedSchema / version
+
+

version

+ +val version: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/--index--.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/--index--.html new file mode 100644 index 0000000000..ab5c04a09d --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/--index--.html @@ -0,0 +1,15 @@ + + +PersistentStateRef.index - + + + +com.r3corda.core.schemas / PersistentStateRef / index
+
+

index

+ +var index: Int?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/-init-.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/-init-.html new file mode 100644 index 0000000000..369066d323 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/-init-.html @@ -0,0 +1,19 @@ + + +PersistentStateRef.<init> - + + + +com.r3corda.core.schemas / PersistentStateRef / <init>
+
+

<init>

+PersistentStateRef(stateRef: StateRef)
+PersistentStateRef()
+
+
+PersistentStateRef(txId: String?, index: Int?)
+

Embedded StateRef representation used in state mapping.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/index.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/index.html new file mode 100644 index 0000000000..4958d1ec0b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/index.html @@ -0,0 +1,45 @@ + + +PersistentStateRef - + + + +com.r3corda.core.schemas / PersistentStateRef
+
+

PersistentStateRef

+data class PersistentStateRef : Serializable
+

Embedded StateRef representation used in state mapping.

+
+
+

Constructors

+ + + + + + + +
+<init> +PersistentStateRef(stateRef: StateRef)
+PersistentStateRef()PersistentStateRef(txId: String?, index: Int?)

Embedded StateRef representation used in state mapping.

+
+

Properties

+ + + + + + + + + + + +
+index +var index: Int?
+txId +var txId: String?
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/tx-id.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/tx-id.html new file mode 100644 index 0000000000..4098978169 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state-ref/tx-id.html @@ -0,0 +1,15 @@ + + +PersistentStateRef.txId - + + + +com.r3corda.core.schemas / PersistentStateRef / txId
+
+

txId

+ +var txId: String?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/-init-.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/-init-.html new file mode 100644 index 0000000000..d0186acc51 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/-init-.html @@ -0,0 +1,16 @@ + + +PersistentState.<init> - + + + +com.r3corda.core.schemas / PersistentState / <init>
+
+

<init>

+PersistentState(stateRef: PersistentStateRef? = null)
+

A super class for all mapped states exported to a schema that ensures the StateRef appears on the database row. The +StateRef will be set to the correct value by the framework (theres no need to set during mapping generation by the state itself).

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/index.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/index.html new file mode 100644 index 0000000000..4a1d3f1670 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/index.html @@ -0,0 +1,57 @@ + + +PersistentState - + + + +com.r3corda.core.schemas / PersistentState
+
+

PersistentState

+open class PersistentState
+

A super class for all mapped states exported to a schema that ensures the StateRef appears on the database row. The +StateRef will be set to the correct value by the framework (theres no need to set during mapping generation by the state itself).

+
+
+

Constructors

+ + + + + + + +
+<init> +PersistentState(stateRef: PersistentStateRef? = null)

A super class for all mapped states exported to a schema that ensures the StateRef appears on the database row. The +StateRef will be set to the correct value by the framework (theres no need to set during mapping generation by the state itself).

+
+

Properties

+ + + + + + + +
+stateRef +var stateRef: PersistentStateRef?
+

Inheritors

+ + + + + + + + + + + +
+PersistentCashState +class PersistentCashState : PersistentState
+PersistentCommericalPaperState +class PersistentCommericalPaperState : PersistentState
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/state-ref.html b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/state-ref.html new file mode 100644 index 0000000000..3efb886108 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-persistent-state/state-ref.html @@ -0,0 +1,15 @@ + + +PersistentState.stateRef - + + + +com.r3corda.core.schemas / PersistentState / stateRef
+
+

stateRef

+ +var stateRef: PersistentStateRef?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/generate-mapped-object.html b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/generate-mapped-object.html new file mode 100644 index 0000000000..f894bd9807 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/generate-mapped-object.html @@ -0,0 +1,16 @@ + + +QueryableState.generateMappedObject - + + + +com.r3corda.core.schemas / QueryableState / generateMappedObject
+
+

generateMappedObject

+ +abstract fun generateMappedObject(schema: MappedSchema): PersistentState
+

Export a representation for the given schema.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/index.html b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/index.html new file mode 100644 index 0000000000..1a4d9485c2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/index.html @@ -0,0 +1,91 @@ + + +QueryableState - + + + +com.r3corda.core.schemas / QueryableState
+
+

QueryableState

+interface QueryableState : ContractState
+

A contract state that may be mapped to database schemas configured for this node to support querying for, +or filtering of, states.

+
+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+contract +abstract val contract: Contract

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

+
+encumbrance +open val encumbrance: Int?

All contract states may be encumbered by up to one other state.

+
+participants +abstract val participants: List<PublicKey>

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

+
+

Functions

+ + + + + + + + + + + +
+generateMappedObject +abstract fun generateMappedObject(schema: MappedSchema): PersistentState

Export a representation for the given schema.

+
+supportedSchemas +abstract fun supportedSchemas(): Iterable<MappedSchema>

Enumerate the schemas this state can export representations of itself as.

+
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + + + + + +
+State +data class State : FungibleAsset<Currency>, QueryableState

A state representing a cash claim against some party.

+
+State +data class State : OwnableState, QueryableState
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/supported-schemas.html b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/supported-schemas.html new file mode 100644 index 0000000000..ce1c01dcd5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/-queryable-state/supported-schemas.html @@ -0,0 +1,16 @@ + + +QueryableState.supportedSchemas - + + + +com.r3corda.core.schemas / QueryableState / supportedSchemas
+
+

supportedSchemas

+ +abstract fun supportedSchemas(): Iterable<MappedSchema>
+

Enumerate the schemas this state can export representations of itself as.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.schemas/index.html b/docs/build/html/api/com.r3corda.core.schemas/index.html new file mode 100644 index 0000000000..d9f7e72811 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.schemas/index.html @@ -0,0 +1,47 @@ + + +com.r3corda.core.schemas - + + + +com.r3corda.core.schemas
+
+

Package com.r3corda.core.schemas

+

Types

+ + + + + + + + + + + + + + + + + + + +
+MappedSchema +abstract class MappedSchema

A database schema that might be configured for this node. As well as a name and version for identifying the schema, +also list the classes that may be used in the generated object graph in order to configure the ORM tool.

+
+PersistentState +open class PersistentState

A super class for all mapped states exported to a schema that ensures the StateRef appears on the database row. The +StateRef will be set to the correct value by the framework (theres no need to set during mapping generation by the state itself).

+
+PersistentStateRef +data class PersistentStateRef : Serializable

Embedded StateRef representation used in state mapping.

+
+QueryableState +interface QueryableState : ContractState

A contract state that may be mapped to database schemas configured for this node to support querying for, +or filtering of, states.

+
+ + 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 52b76f9ebb..eae1f9c3c8 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 @@ -109,6 +109,13 @@ that also encompasses the Vault observer for processing transact +NodeSchemaService + +class NodeSchemaService : SchemaService, SingletonSerializeAsToken

Most basic implementation of SchemaService.

+ + + + NodeVaultService class NodeVaultService : SingletonSerializeAsToken, VaultService

Currently, the node vault service is a very simple RDBMS backed implementation. It will change significantly when @@ -117,6 +124,13 @@ we add further functionality as the design for the vault and vault service matur +NotaryService + +abstract class NotaryService : SingletonSerializeAsToken

A Notary service acts as the final signer of a transaction ensuring two things:

+ + + + PersistentKeyManagementService class PersistentKeyManagementService : SingletonSerializeAsToken, KeyManagementService

A persistent re-implementation of E2ETestKeyManagementService to support node re-start.

@@ -138,6 +152,41 @@ we add further functionality as the design for the vault and vault service matur +Service + +class Service : SingletonSerializeAsToken + + + +Service + +class Service : SingletonSerializeAsToken

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.

+ + + + +Service + +class Service : SingletonSerializeAsToken

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.

+ + + + +Service + +class Service : AcceptsFileUpload, SingletonSerializeAsToken

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+ + + + +Service + +class Service : SingletonSerializeAsToken + + + StorageServiceImpl open class StorageServiceImpl : SingletonSerializeAsToken, TxWritableStorageService diff --git a/docs/build/html/api/com.r3corda.core.serialization/index.html b/docs/build/html/api/com.r3corda.core.serialization/index.html index d5a7772e3b..3a2a7cec1f 100644 --- a/docs/build/html/api/com.r3corda.core.serialization/index.html +++ b/docs/build/html/api/com.r3corda.core.serialization/index.html @@ -159,6 +159,12 @@ to indicate which instance the token is a serialized form of.

+ + +kotlin.String + + +

Properties

diff --git a/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/index.html b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/index.html index 692147c992..b367bfdbf1 100644 --- a/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/index.html +++ b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/index.html @@ -21,6 +21,12 @@ fun ByteArray.opaque(): OpaqueBytes + + +toHexString + +fun ByteArray.toHexString(): <ERROR CLASS> + diff --git a/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/to-hex-string.html b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/to-hex-string.html new file mode 100644 index 0000000000..01b8c1e0bf --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-byte-array/to-hex-string.html @@ -0,0 +1,15 @@ + + +toHexString - + + + +com.r3corda.core.serialization / kotlin.ByteArray / toHexString
+
+

toHexString

+ +fun ByteArray.toHexString(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/index.html b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/index.html new file mode 100644 index 0000000000..d92dd831c5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/index.html @@ -0,0 +1,21 @@ + + +com.r3corda.core.serialization.kotlin.String - + + + +com.r3corda.core.serialization / kotlin.String
+
+

Extensions for kotlin.String

+ + + + + + + +
+parseAsHex +fun String.parseAsHex(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/parse-as-hex.html b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/parse-as-hex.html new file mode 100644 index 0000000000..4d7b6ccb77 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.serialization/kotlin.-string/parse-as-hex.html @@ -0,0 +1,15 @@ + + +parseAsHex - + + + +com.r3corda.core.serialization / kotlin.String / parseAsHex
+
+

parseAsHex

+ +fun String.parseAsHex(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/_updates-publisher.html b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/_updates-publisher.html new file mode 100644 index 0000000000..d226d4be92 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/_updates-publisher.html @@ -0,0 +1,15 @@ + + +InMemoryVaultService.InnerState._updatesPublisher - + + + +com.r3corda.core.testing / InMemoryVaultService / InnerState / _updatesPublisher
+
+

_updatesPublisher

+ +val _updatesPublisher: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/index.html b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/index.html index 1983c6657a..eca2b1ae29 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/-inner-state/index.html @@ -26,6 +26,12 @@ +_updatesPublisher + +val _updatesPublisher: <ERROR CLASS> + + + vault var vault: Vault diff --git a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/index.html b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/index.html index 969a887f42..3659d92153 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/index.html +++ b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/index.html @@ -78,8 +78,8 @@ keys in this vault, you must inform the vault service so it can update its inter updates -open val updates: <ERROR CLASS><Update>

Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

+open val updates: <ERROR CLASS><Update>

Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.

@@ -95,6 +95,14 @@ incorporate the update.

new states that they create. You should only insert transactions that have been successfully verified here

+ + +track + +open fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>

Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

+ +

Inherited Functions

@@ -140,6 +148,12 @@ new states that they create. You should only insert transactions that have been +dealsWith + +fun <T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS> + + + linearHeadsOfType fun <T : LinearState> VaultService.linearHeadsOfType(): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/track.html b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/track.html new file mode 100644 index 0000000000..46ca0dd430 --- /dev/null +++ b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/track.html @@ -0,0 +1,18 @@ + + +InMemoryVaultService.track - + + + +com.r3corda.core.testing / InMemoryVaultService / track
+
+

track

+ +open fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
+Overrides VaultService.track
+

Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/updates.html b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/updates.html index b0d42ed140..6e182eabd1 100644 --- a/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/updates.html +++ b/docs/build/html/api/com.r3corda.core.testing/-in-memory-vault-service/updates.html @@ -10,11 +10,11 @@ open val updates: <ERROR CLASS><Update>
Overrides VaultService.updates
-

Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

+

Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.

Getter
-

Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

+

Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.



diff --git a/docs/build/html/api/com.r3corda.core.utilities/-non-empty-set/index.html b/docs/build/html/api/com.r3corda.core.utilities/-non-empty-set/index.html index c3c651c54a..fd0b0fd164 100644 --- a/docs/build/html/api/com.r3corda.core.utilities/-non-empty-set/index.html +++ b/docs/build/html/api/com.r3corda.core.utilities/-non-empty-set/index.html @@ -137,6 +137,14 @@ The underlying set is exposed for Kryo to access, but should not be accessed dir +isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+ + + + noneOrSingle fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, diff --git a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/-step/index.html b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/-step/index.html index 39216ce5d7..26143e4e33 100644 --- a/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/-step/index.html +++ b/docs/build/html/api/com.r3corda.core.utilities/-progress-tracker/-step/index.html @@ -56,12 +56,6 @@ -ANNOUNCING - -object ANNOUNCING : Step - - - APPROVING object APPROVING : Step diff --git a/docs/build/html/api/com.r3corda.core/catch.html b/docs/build/html/api/com.r3corda.core/catch.html new file mode 100644 index 0000000000..d0c356298b --- /dev/null +++ b/docs/build/html/api/com.r3corda.core/catch.html @@ -0,0 +1,16 @@ + + +catch - + + + +com.r3corda.core / catch
+
+

catch

+ +inline fun <T> <ERROR CLASS><T>.catch(block: () -> T): Unit
+

Executes the given block and sets the future to either the result, or any exception that was thrown.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core/flat-map.html b/docs/build/html/api/com.r3corda.core/flat-map.html new file mode 100644 index 0000000000..854d85902e --- /dev/null +++ b/docs/build/html/api/com.r3corda.core/flat-map.html @@ -0,0 +1,15 @@ + + +flatMap - + + + +com.r3corda.core / flatMap
+
+

flatMap

+ +infix fun <F, T> <ERROR CLASS><F>.flatMap(mapper: (F) -> <ERROR CLASS><T>): <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core/index.html b/docs/build/html/api/com.r3corda.core/index.html index 222163b058..2744d2f45f 100644 --- a/docs/build/html/api/com.r3corda.core/index.html +++ b/docs/build/html/api/com.r3corda.core/index.html @@ -68,12 +68,6 @@ again.

-java.util.concurrent.Future - - - - - kotlin.Double @@ -139,6 +133,13 @@ again.

+catch + +fun <T> <ERROR CLASS><T>.catch(block: () -> T): Unit

Executes the given block and sets the future to either the result, or any exception that was thrown.

+ + + + extractZipFile fun extractZipFile(zipPath: Path, toPath: Path): Unit

Given a path to a zip file, extracts it to the given directory.

@@ -153,12 +154,24 @@ again.

+flatMap + +infix fun <F, T> <ERROR CLASS><F>.flatMap(mapper: (F) -> <ERROR CLASS><T>): <ERROR CLASS><T> + + + logElapsedTime fun <T> logElapsedTime(label: String, logger: <ERROR CLASS>? = null, body: () -> T): T +map + +infix fun <F, T> <ERROR CLASS><F>.map(mapper: (F) -> T): <ERROR CLASS><T> + + + random63BitValue fun random63BitValue(): Long

Returns a random positive long generated using a secure RNG. This function sacrifies a bit of entropy in order to @@ -167,13 +180,6 @@ avoid potential bugs where the value is used in a context where negative numbers -setFrom - -fun <T> <ERROR CLASS><T>.setFrom(logger: <ERROR CLASS>? = null, block: () -> T): <ERROR CLASS><T>

Executes the given block and sets the future to either the result, or any exception that was thrown.

- - - - success fun <T> <ERROR CLASS><T>.success(executor: Executor, body: (T) -> Unit): <ERROR CLASS>
diff --git a/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/index.html b/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/index.html deleted file mode 100644 index 4e9dea5304..0000000000 --- a/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - -com.r3corda.core.java.util.concurrent.Future - - - - -com.r3corda.core / java.util.concurrent.Future
-
-

Extensions for java.util.concurrent.Future

- - - - - - - -
-map -infix fun <F, T> Future<F>.map(mapper: (F) -> T): Future<T>
- - diff --git a/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/map.html b/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/map.html deleted file mode 100644 index 5c3ec8a4e3..0000000000 --- a/docs/build/html/api/com.r3corda.core/java.util.concurrent.-future/map.html +++ /dev/null @@ -1,15 +0,0 @@ - - -map - - - - -com.r3corda.core / java.util.concurrent.Future / map
-
-

map

- -infix fun <F, T> Future<F>.map(mapper: (F) -> T): Future<T>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/index.html b/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/index.html index c2dc05ae4d..bae6a4003b 100644 --- a/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/index.html +++ b/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/index.html @@ -11,6 +11,14 @@ +isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

+ + + + noneOrSingle fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

Returns the single element matching the given predicate, or null if element was not found, diff --git a/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/is-ordered-and-unique.html b/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/is-ordered-and-unique.html new file mode 100644 index 0000000000..71f19be63a --- /dev/null +++ b/docs/build/html/api/com.r3corda.core/kotlin.collections.-iterable/is-ordered-and-unique.html @@ -0,0 +1,17 @@ + + +isOrderedAndUnique - + + + +com.r3corda.core / kotlin.collections.Iterable / isOrderedAndUnique
+
+

isOrderedAndUnique

+ +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean
+

Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

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

map

+ +infix fun <F, T> <ERROR CLASS><F>.map(mapper: (F) -> T): <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.core/set-from.html b/docs/build/html/api/com.r3corda.core/set-from.html deleted file mode 100644 index afe0fbc112..0000000000 --- a/docs/build/html/api/com.r3corda.core/set-from.html +++ /dev/null @@ -1,16 +0,0 @@ - - -setFrom - - - - -com.r3corda.core / setFrom
-
-

setFrom

- -fun <T> <ERROR CLASS><T>.setFrom(logger: <ERROR CLASS>? = null, block: () -> T): <ERROR CLASS><T>
-

Executes the given block and sets the future to either the result, or any exception that was thrown.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/-init-.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/-init-.html index eb568371f4..98daaf5d54 100644 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/-init-.html +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/-init-.html @@ -7,7 +7,7 @@ com.r3corda.demos.api / NodeInterestRates / FixContainer / <init>

<init>

-FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
+FixContainer(fixes: Set<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap



diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/fixes.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/fixes.html new file mode 100644 index 0000000000..ff79e4611c --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/fixes.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.fixes - + + + +com.r3corda.demos.api / NodeInterestRates / FixContainer / fixes
+
+

fixes

+ +val fixes: Set<Fix>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/index.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/index.html index 2ace2db3f5..628e402474 100644 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/index.html +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-fix-container/index.html @@ -18,7 +18,7 @@ <init> -FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

+FixContainer(fixes: Set<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

@@ -34,6 +34,12 @@ +fixes + +val fixes: Set<Fix> + + + size val size: Int diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/index.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/index.html index 0dc1b973d8..fc7912d2c2 100644 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/index.html +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/index.html @@ -7,7 +7,7 @@ com.r3corda.demos.api / NodeInterestRates / Service

Service

-class Service : AcceptsFileUpload, AbstractNodeService
+class Service : AcceptsFileUpload, SingletonSerializeAsToken

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.



@@ -48,24 +48,7 @@ -ss - -val ss: StorageService - - - -

Inherited Properties

- - - - - - - - +services @@ -89,23 +72,9 @@ back to the user in the response.

+toToken - - - - +open fun toToken(context: SerializeAsTokenContext): SerializationToken
-net -val net: MessagingServiceInternal
-services val services: ServiceHubInternal
-addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-
-addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/services.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/services.html new file mode 100644 index 0000000000..141885ba71 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/services.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Service.services - + + + +com.r3corda.demos.api / NodeInterestRates / Service / services
+
+

services

+ +val services: ServiceHubInternal
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/ss.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/ss.html deleted file mode 100644 index 7ca5aea130..0000000000 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-service/ss.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeInterestRates.Service.ss - - - - -com.r3corda.demos.api / NodeInterestRates / Service / ss
-
-

ss

- -val ss: StorageService
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-type.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-type.html deleted file mode 100644 index 2294415cb1..0000000000 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -NodeInterestRates.Type - - - - -com.r3corda.demos.api / NodeInterestRates / Type
-
-

Type

-object Type : ServiceType
-
-
-

Inherited Properties

- - - - - - - -
-id -val id: String
-

Inherited Functions

- - - - - - - - - - - - - - - - - - - -
-equals -open operator fun equals(other: Any?): Boolean
-hashCode -open fun hashCode(): Int
-isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
-toString -open fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/index.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/index.html index 5724a767a5..85d43de2af 100644 --- a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/index.html +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/index.html @@ -54,15 +54,9 @@ Interpolates missing values using the provided interpolation mechanism.

Service -class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+class Service : AcceptsFileUpload, SingletonSerializeAsToken

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

- - -Type - -object Type : ServiceType -

Exceptions

@@ -76,6 +70,17 @@ Interpolates missing values using the provided interpolation mechanism.

+

Properties

+ + + + + + + +
+type +val type: ServiceType

Functions

diff --git a/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/type.html b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/type.html new file mode 100644 index 0000000000..1ca407d56f --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.api/-node-interest-rates/type.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.type - + + + +com.r3corda.demos.api / NodeInterestRates / type
+
+

type

+ +val type: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-d-e-f-a-u-l-t_-b-a-s-e_-d-i-r-e-c-t-o-r-y.html b/docs/build/html/api/com.r3corda.demos.attachment/-d-e-f-a-u-l-t_-b-a-s-e_-d-i-r-e-c-t-o-r-y.html new file mode 100644 index 0000000000..9b295b2cf8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-d-e-f-a-u-l-t_-b-a-s-e_-d-i-r-e-c-t-o-r-y.html @@ -0,0 +1,15 @@ + + +DEFAULT_BASE_DIRECTORY - + + + +com.r3corda.demos.attachment / DEFAULT_BASE_DIRECTORY
+
+

DEFAULT_BASE_DIRECTORY

+ +val DEFAULT_BASE_DIRECTORY: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html b/docs/build/html/api/com.r3corda.demos.attachment/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html new file mode 100644 index 0000000000..d91ab0b0af --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html @@ -0,0 +1,15 @@ + + +PROSPECTUS_HASH - + + + +com.r3corda.demos.attachment / PROSPECTUS_HASH
+
+

PROSPECTUS_HASH

+ +val PROSPECTUS_HASH: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/-r-e-c-i-p-i-e-n-t.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/-r-e-c-i-p-i-e-n-t.html new file mode 100644 index 0000000000..cd3e1d79e9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/-r-e-c-i-p-i-e-n-t.html @@ -0,0 +1,37 @@ + + +Role.RECIPIENT - + + + +com.r3corda.demos.attachment / Role / RECIPIENT
+
+

RECIPIENT

+RECIPIENT
+
+
+

Inherited Properties

+
+ + + + + + + + + + + + + + +
+legalName +val legalName: String
+other +val other: Role
+port +val port: Int
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/-s-e-n-d-e-r.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/-s-e-n-d-e-r.html new file mode 100644 index 0000000000..7db6cbb4a2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/-s-e-n-d-e-r.html @@ -0,0 +1,37 @@ + + +Role.SENDER - + + + +com.r3corda.demos.attachment / Role / SENDER
+
+

SENDER

+SENDER
+
+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+legalName +val legalName: String
+other +val other: Role
+port +val port: Int
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/index.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/index.html new file mode 100644 index 0000000000..1384968577 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/index.html @@ -0,0 +1,54 @@ + + +Role - + + + +com.r3corda.demos.attachment / Role
+
+

Role

+enum class Role
+
+
+

Enum Values

+ + + + + + + + + + + +
+SENDER +
+RECIPIENT +
+

Properties

+ + + + + + + + + + + + + + + +
+legalName +val legalName: String
+other +val other: Role
+port +val port: Int
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/legal-name.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/legal-name.html new file mode 100644 index 0000000000..2a1b42b193 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/legal-name.html @@ -0,0 +1,15 @@ + + +Role.legalName - + + + +com.r3corda.demos.attachment / Role / legalName
+
+

legalName

+ +val legalName: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/other.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/other.html new file mode 100644 index 0000000000..76c7a7be0d --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/other.html @@ -0,0 +1,15 @@ + + +Role.other - + + + +com.r3corda.demos.attachment / Role / other
+
+

other

+ +val other: Role
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/-role/port.html b/docs/build/html/api/com.r3corda.demos.attachment/-role/port.html new file mode 100644 index 0000000000..d410119bde --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/-role/port.html @@ -0,0 +1,15 @@ + + +Role.port - + + + +com.r3corda.demos.attachment / Role / port
+
+

port

+ +val port: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/index.html b/docs/build/html/api/com.r3corda.demos.attachment/index.html new file mode 100644 index 0000000000..89ddf8c9df --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/index.html @@ -0,0 +1,50 @@ + + +com.r3corda.demos.attachment - + + + +com.r3corda.demos.attachment
+
+

Package com.r3corda.demos.attachment

+

Types

+ + + + + + + +
+Role +enum class Role
+

Properties

+ + + + + + + + + + + +
+DEFAULT_BASE_DIRECTORY +val DEFAULT_BASE_DIRECTORY: String
+PROSPECTUS_HASH +val PROSPECTUS_HASH: <ERROR CLASS>
+

Functions

+ + + + + + + +
+main +fun main(args: Array<String>): Unit
+ + diff --git a/docs/build/html/api/com.r3corda.demos.attachment/main.html b/docs/build/html/api/com.r3corda.demos.attachment/main.html new file mode 100644 index 0000000000..e5f7429d09 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos.attachment/main.html @@ -0,0 +1,15 @@ + + +main - + + + +com.r3corda.demos.attachment / main
+
+

main

+ +fun main(args: Array<String>): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html deleted file mode 100644 index 6bc82cae8d..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.<init> - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / <init>
-
-

<init>

-AutoOfferMessage(notary: Party, dealBeingOffered: DealState, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html deleted file mode 100644 index e31bbcb143..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.dealBeingOffered - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / dealBeingOffered
-
-

dealBeingOffered

- -val dealBeingOffered: DealState
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html deleted file mode 100644 index 63d1d5b015..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage
-
-

AutoOfferMessage

-data class AutoOfferMessage : HandshakeMessage
-
-
-

Constructors

- - - - - - - -
-<init> -AutoOfferMessage(notary: Party, dealBeingOffered: DealState, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - -
-dealBeingOffered -val dealBeingOffered: DealState
-notary -val notary: Party
-receiveSessionID -val receiveSessionID: Long
-replyToParty -val replyToParty: Party
-sendSessionID -val sendSessionID: Long
-

Inherited Properties

- - - - - - - -
-sessionID -open val sessionID: Long
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/notary.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/notary.html deleted file mode 100644 index 5bdd0c04c9..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/notary.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.notary - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / notary
-
-

notary

- -val notary: Party
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/receive-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/receive-session-i-d.html deleted file mode 100644 index 1791bf8d05..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.receiveSessionID - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / receiveSessionID
-
-

receiveSessionID

- -val receiveSessionID: Long
-Overrides HandshakeMessage.receiveSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/reply-to-party.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/reply-to-party.html deleted file mode 100644 index 16529194d5..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.replyToParty - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / replyToParty
-
-

replyToParty

- -val replyToParty: Party
-Overrides PartyRequestMessage.replyToParty
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/send-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/send-session-i-d.html deleted file mode 100644 index 0c41226d69..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-auto-offer-message/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AutoOfferProtocol.AutoOfferMessage.sendSessionID - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / AutoOfferMessage / sendSessionID
-
-

sendSessionID

- -val sendSessionID: Long
-Overrides HandshakeMessage.sendSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html deleted file mode 100644 index b16f69d0b1..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html +++ /dev/null @@ -1,42 +0,0 @@ - - -AutoOfferProtocol.Requester.ANNOUNCING - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Requester / ANNOUNCING
-
-

ANNOUNCING

-object ANNOUNCING : Step
-
-
-

Inherited Properties

- - - - - - - - - - - -
-changes -open val changes: <ERROR CLASS><Change>
-label -open val label: String
-

Inherited Functions

- - - - - - - -
-childProgressTracker -open fun childProgressTracker(): ProgressTracker?
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/index.html index 4192f163fe..629488c56d 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/index.html @@ -15,12 +15,6 @@ -ANNOUNCING - -object ANNOUNCING : Step - - - DEALING object DEALING : Step @@ -63,14 +57,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

- - -topic - -val topic: String

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

- -

Inherited Properties

@@ -118,19 +104,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
-fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+ -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

- +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
+fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -149,10 +135,16 @@ handled by AbstractNodeService.addProtocolHandler.

subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

+ + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

Companion Object Functions

diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/topic.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/topic.html deleted file mode 100644 index 5b21e03fc4..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-requester/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -AutoOfferProtocol.Requester.topic - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Requester / topic
-
-

topic

- -protected val topic: String
-Overrides ProtocolLogic.topic
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

Getter
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/-init-.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/-init-.html deleted file mode 100644 index 06ba739b6c..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -AutoOfferProtocol.Service.Callback.<init> - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / Callback / <init>
-
-

<init>

-Callback(success: (SignedTransaction) -> Unit)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/index.html deleted file mode 100644 index 2b7ce559d2..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/index.html +++ /dev/null @@ -1,53 +0,0 @@ - - -AutoOfferProtocol.Service.Callback - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / Callback
-
-

Callback

-class Callback
-
-
-

Constructors

- - - - - - - -
-<init> -Callback(success: (SignedTransaction) -> Unit)
-

Properties

- - - - - - - -
-success -val success: (SignedTransaction) -> Unit
-

Functions

- - - - - - - - - - - -
-onFailure -fun onFailure(t: Throwable?): Unit
-onSuccess -fun onSuccess(st: SignedTransaction?): Unit
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-failure.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-failure.html deleted file mode 100644 index df8cb3df67..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-failure.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.Service.Callback.onFailure - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / Callback / onFailure
-
-

onFailure

- -fun onFailure(t: Throwable?): Unit
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-success.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-success.html deleted file mode 100644 index ed134fa619..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/on-success.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.Service.Callback.onSuccess - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / Callback / onSuccess
-
-

onSuccess

- -fun onSuccess(st: SignedTransaction?): Unit
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/success.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/success.html deleted file mode 100644 index 206adfcd98..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/-callback/success.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.Service.Callback.success - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / Callback / success
-
-

success

- -val success: (SignedTransaction) -> Unit
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/index.html index 93895d459c..58fe8c7b00 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/index.html @@ -7,7 +7,7 @@ com.r3corda.demos.protocols / AutoOfferProtocol / Service

Service

-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken


Types

@@ -15,12 +15,6 @@ -Callback - -class Callback - - - DEALING object DEALING : Step @@ -38,56 +32,14 @@ -

Inherited Properties

- - - - - - - - - - - -
-net -val net: MessagingServiceInternal
-services -val services: ServiceHubInternal
-

Functions

- - - - - - - -
-tracker -fun tracker(): ProgressTracker

Inherited Functions

+toToken - - - - +open fun toToken(context: SerializeAsTokenContext): SerializationToken
-addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-
-addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/tracker.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/tracker.html deleted file mode 100644 index 6b32ed50bf..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-service/tracker.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.Service.tracker - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / Service / tracker
-
-

tracker

- -fun tracker(): ProgressTracker
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html deleted file mode 100644 index 5ac1d0332f..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AutoOfferProtocol.TOPIC - - - - -com.r3corda.demos.protocols / AutoOfferProtocol / TOPIC
-
-

TOPIC

- -val TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/index.html index 8da7ea2057..5f74af8af1 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-auto-offer-protocol/index.html @@ -21,12 +21,6 @@ or the protocol would have to reach out to external systems (or users) to verify -AutoOfferMessage - -data class AutoOfferMessage : HandshakeMessage - - - Plugin class Plugin : CordaPluginRegistry @@ -41,18 +35,7 @@ or the protocol would have to reach out to external systems (or users) to verify Service -class Service : AbstractNodeService - - - -

Properties

- - - - - +class Service : SingletonSerializeAsToken
-TOPIC -val TOPIC: String
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 1d186f7057..b041d85261 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 @@ -34,14 +34,6 @@ we do not support coercing numeric types in the reflective search for matching c val exitCode: Int - - -topic - -val topic: String

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

- -

Inherited Properties

@@ -99,6 +91,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+ + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
@@ -106,15 +107,6 @@ access this lazily or from inside registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

- - - - send fun send(otherParty: Party, payload: Any): Unit @@ -123,17 +115,23 @@ handled by AbstractNodeService.addProtocolHandler.

sendAndReceive -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
-fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
+fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T> subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

+ + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? + diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/topic.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/topic.html deleted file mode 100644 index 6994a65f20..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-broadcast/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -ExitServerProtocol.Broadcast.topic - - - - -com.r3corda.demos.protocols / ExitServerProtocol / Broadcast / topic
-
-

topic

- -protected val topic: String
-Overrides ProtocolLogic.topic
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

Getter
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/-init-.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/-init-.html index a4d6cbbb41..614450eadb 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/-init-.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/-init-.html @@ -7,7 +7,7 @@ com.r3corda.demos.protocols / ExitServerProtocol / ExitMessage / <init>

<init>

-ExitMessage(exitCode: Int, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
+ExitMessage(exitCode: Int)


diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/index.html index 6bdd6ea4e1..0e68332f30 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/index.html @@ -7,7 +7,7 @@ com.r3corda.demos.protocols / ExitServerProtocol / ExitMessage

ExitMessage

-data class ExitMessage : HandshakeMessage
+data class ExitMessage


Constructors

@@ -17,7 +17,7 @@ <init> -ExitMessage(exitCode: Int, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue()) +ExitMessage(exitCode: Int) @@ -30,35 +30,6 @@ val exitCode: Int - - -receiveSessionID - -val receiveSessionID: Long - - - -replyToParty - -val replyToParty: Party - - - -sendSessionID - -val sendSessionID: Long - - - -

Inherited Properties

- - - - - -
-sessionID -open val sessionID: Long
diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/receive-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/receive-session-i-d.html deleted file mode 100644 index e6745ca61e..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ExitServerProtocol.ExitMessage.receiveSessionID - - - - -com.r3corda.demos.protocols / ExitServerProtocol / ExitMessage / receiveSessionID
-
-

receiveSessionID

- -val receiveSessionID: Long
-Overrides HandshakeMessage.receiveSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/reply-to-party.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/reply-to-party.html deleted file mode 100644 index 6041fda2c2..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ExitServerProtocol.ExitMessage.replyToParty - - - - -com.r3corda.demos.protocols / ExitServerProtocol / ExitMessage / replyToParty
-
-

replyToParty

- -val replyToParty: Party
-Overrides PartyRequestMessage.replyToParty
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/send-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/send-session-i-d.html deleted file mode 100644 index 66467ccf15..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-exit-message/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ExitServerProtocol.ExitMessage.sendSessionID - - - - -com.r3corda.demos.protocols / ExitServerProtocol / ExitMessage / sendSessionID
-
-

sendSessionID

- -val sendSessionID: Long
-Overrides HandshakeMessage.sendSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-t-o-p-i-c.html deleted file mode 100644 index fbb62c04f8..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ExitServerProtocol.TOPIC - - - - -com.r3corda.demos.protocols / ExitServerProtocol / TOPIC
-
-

TOPIC

- -val TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/index.html index 3169ca58ad..7b5d8f6a95 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-exit-server-protocol/index.html @@ -25,7 +25,7 @@ we do not support coercing numeric types in the reflective search for matching c ExitMessage -data class ExitMessage : HandshakeMessage +data class ExitMessage @@ -41,16 +41,5 @@ we do not support coercing numeric types in the reflective search for matching c -

Properties

- - - - - - - -
-TOPIC -val TOPIC: String
diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/index.html index ba459d84f9..130deb7391 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/index.html @@ -51,14 +51,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

- - -topic - -val topic: String

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

- -

Inherited Properties

@@ -106,19 +98,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
-fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+ -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

- +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> @@ -137,10 +129,16 @@ handled by AbstractNodeService.addProtocolHandler.

subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

+ + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

Companion Object Functions

diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/topic.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/topic.html deleted file mode 100644 index a4652bcf1f..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-broadcast/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -UpdateBusinessDayProtocol.Broadcast.topic - - - - -com.r3corda.demos.protocols / UpdateBusinessDayProtocol / Broadcast / topic
-
-

topic

- -protected val topic: String
-Overrides ProtocolLogic.topic
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

Getter
-

The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

-

-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html deleted file mode 100644 index 73729f98e5..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -UpdateBusinessDayProtocol.TOPIC - - - - -com.r3corda.demos.protocols / UpdateBusinessDayProtocol / TOPIC
-
-

TOPIC

- -val TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html index dc510e5d87..98068af277 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html @@ -7,7 +7,7 @@ com.r3corda.demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / <init>

<init>

-UpdateBusinessDayMessage(date: LocalDate, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
+UpdateBusinessDayMessage(date: LocalDate)


diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html index 3dc0d52c4e..f02aafc24d 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html @@ -7,7 +7,7 @@ com.r3corda.demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage

UpdateBusinessDayMessage

-data class UpdateBusinessDayMessage : HandshakeMessage
+data class UpdateBusinessDayMessage


Constructors

@@ -17,7 +17,7 @@ <init> -UpdateBusinessDayMessage(date: LocalDate, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue()) +UpdateBusinessDayMessage(date: LocalDate) @@ -30,35 +30,6 @@ val date: LocalDate - - -receiveSessionID - -val receiveSessionID: Long - - - -replyToParty - -val replyToParty: Party - - - -sendSessionID - -val sendSessionID: Long - - - -

Inherited Properties

- - - - - -
-sessionID -open val sessionID: Long
diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/receive-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/receive-session-i-d.html deleted file mode 100644 index b5c1d37c18..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -UpdateBusinessDayProtocol.UpdateBusinessDayMessage.receiveSessionID - - - - -com.r3corda.demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / receiveSessionID
-
-

receiveSessionID

- -val receiveSessionID: Long
-Overrides HandshakeMessage.receiveSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/reply-to-party.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/reply-to-party.html deleted file mode 100644 index ea10853187..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -UpdateBusinessDayProtocol.UpdateBusinessDayMessage.replyToParty - - - - -com.r3corda.demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / replyToParty
-
-

replyToParty

- -val replyToParty: Party
-Overrides PartyRequestMessage.replyToParty
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/send-session-i-d.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/send-session-i-d.html deleted file mode 100644 index ccdda6dc24..0000000000 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/-update-business-day-message/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -UpdateBusinessDayProtocol.UpdateBusinessDayMessage.sendSessionID - - - - -com.r3corda.demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / sendSessionID
-
-

sendSessionID

- -val sendSessionID: Long
-Overrides HandshakeMessage.sendSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/index.html b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/index.html index 937d264684..e5c4f3810f 100644 --- a/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/index.html +++ b/docs/build/html/api/com.r3corda.demos.protocols/-update-business-day-protocol/index.html @@ -36,18 +36,7 @@ UpdateBusinessDayMessage -data class UpdateBusinessDayMessage : HandshakeMessage - - - -

Properties

- - - - - +data class UpdateBusinessDayMessage
-TOPIC -val TOPIC: String
diff --git a/docs/build/html/api/com.r3corda.demos/-cli-params-spec/h2-port-arg.html b/docs/build/html/api/com.r3corda.demos/-cli-params-spec/h2-port-arg.html new file mode 100644 index 0000000000..ac0c52a5c0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos/-cli-params-spec/h2-port-arg.html @@ -0,0 +1,15 @@ + + +CliParamsSpec.h2PortArg - + + + +com.r3corda.demos / CliParamsSpec / h2PortArg
+
+

h2PortArg

+ +val h2PortArg: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos/-cli-params-spec/index.html b/docs/build/html/api/com.r3corda.demos/-cli-params-spec/index.html index 31924450c6..3bfc220aa9 100644 --- a/docs/build/html/api/com.r3corda.demos/-cli-params-spec/index.html +++ b/docs/build/html/api/com.r3corda.demos/-cli-params-spec/index.html @@ -33,6 +33,12 @@ +h2PortArg + +val h2PortArg: <ERROR CLASS> + + + help val help: <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/-init-.html b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/-init-.html index 9542ea7360..448a449249 100644 --- a/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/-init-.html +++ b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/-init-.html @@ -7,7 +7,7 @@ com.r3corda.demos / CliParams / RunNode / <init>

<init>

-RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean)
+RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean, h2Port: Int)

Corresponds to roles NodeA and NodeB.



diff --git a/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/h2-port.html b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/h2-port.html new file mode 100644 index 0000000000..82f365f462 --- /dev/null +++ b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/h2-port.html @@ -0,0 +1,15 @@ + + +CliParams.RunNode.h2Port - + + + +com.r3corda.demos / CliParams / RunNode / h2Port
+
+

h2Port

+ +val h2Port: Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/index.html b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/index.html index 86c6f4d992..367bc86ea1 100644 --- a/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/index.html +++ b/docs/build/html/api/com.r3corda.demos/-cli-params/-run-node/index.html @@ -18,7 +18,7 @@ <init> -RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean)

Corresponds to roles NodeA and NodeB.

+RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean, h2Port: Int)

Corresponds to roles NodeA and NodeB.

@@ -52,6 +52,12 @@ +h2Port + +val h2Port: Int + + + mapAddress val mapAddress: String diff --git a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/index.html b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/index.html index a0a705a58a..24948bdd2c 100644 --- a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/index.html +++ b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/index.html @@ -43,7 +43,7 @@ startNode -abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceType> = setOf()): Future<NodeInfo>

Starts a Node in a separate process.

+abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceInfo> = setOf()): Future<NodeInfo>

Starts a Node in a separate process.

diff --git a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/start-node.html b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/start-node.html index a862779818..442531e81b 100644 --- a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/start-node.html +++ b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-exposed-interface/start-node.html @@ -7,8 +7,8 @@ com.r3corda.node.driver / DriverDSLExposedInterface / startNode

startNode

- -abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceType> = setOf()): Future<NodeInfo>
+ +abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceInfo> = setOf()): Future<NodeInfo>

Starts a Node in a separate process.

Parameters

diff --git a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-internal-interface/index.html b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-internal-interface/index.html index 374f56c76e..094a704316 100644 --- a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-internal-interface/index.html +++ b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l-internal-interface/index.html @@ -59,7 +59,7 @@ startNode -abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceType> = setOf()): Future<NodeInfo>

Starts a Node in a separate process.

+abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceInfo> = setOf()): Future<NodeInfo>

Starts a Node in a separate process.

diff --git a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/index.html b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/index.html index 3add46ce20..db1d5c4ae9 100644 --- a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/index.html +++ b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/index.html @@ -106,7 +106,7 @@ startNode -fun startNode(providedName: String?, advertisedServices: Set<ServiceType>): Future<NodeInfo>

Starts a Node in a separate process.

+fun startNode(providedName: String?, advertisedServices: Set<ServiceInfo>): Future<NodeInfo>

Starts a Node in a separate process.

diff --git a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/start-node.html b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/start-node.html index 84700f8058..10dc446c9c 100644 --- a/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/start-node.html +++ b/docs/build/html/api/com.r3corda.node.driver/-driver-d-s-l/start-node.html @@ -7,8 +7,8 @@ com.r3corda.node.driver / DriverDSL / startNode

startNode

- -fun startNode(providedName: String?, advertisedServices: Set<ServiceType>): Future<NodeInfo>
+ +fun startNode(providedName: String?, advertisedServices: Set<ServiceInfo>): Future<NodeInfo>
Overrides DriverDSLExposedInterface.startNode

Starts a Node in a separate process.

Parameters

diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/-init-.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/-init-.html index 49018c31ee..7852776575 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/-init-.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.internal / AbstractNode / <init>

<init>

-AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, platformClock: Clock)
+AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, platformClock: Clock)

A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.

Marked as SingletonSerializeAsToken to prevent the invisible reference to AbstractNode in the ServiceHub accidentally diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/advertised-services.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/advertised-services.html index 81e17aeaa9..86afb24a57 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/advertised-services.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/advertised-services.html @@ -8,7 +8,7 @@

advertisedServices

-val advertisedServices: Set<ServiceType>
+val advertisedServices: Set<ServiceInfo>


diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/configuration.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/configuration.html index f09977fde4..ced2bd75f0 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/configuration.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/configuration.html @@ -8,7 +8,7 @@

configuration

-val configuration: NodeConfiguration
+open val configuration: NodeConfiguration


diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/construct-storage-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/construct-storage-service.html index 1785eff762..ccca8bd526 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/construct-storage-service.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/construct-storage-service.html @@ -7,8 +7,8 @@ com.r3corda.node.internal / AbstractNode / constructStorageService

constructStorageService

- -protected open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keyPair: KeyPair, identity: Party): StorageServiceImpl
+ +protected open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, stateMachineRecordedTransactionMappingStorage: StateMachineRecordedTransactionMappingStorage): StorageServiceImpl


diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/database.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/database.html new file mode 100644 index 0000000000..f024dd9f3f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/database.html @@ -0,0 +1,15 @@ + + +AbstractNode.database - + + + +com.r3corda.node.internal / AbstractNode / database
+
+

database

+ +lateinit var database: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/db-closer.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/db-closer.html new file mode 100644 index 0000000000..5cb388fca9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/db-closer.html @@ -0,0 +1,15 @@ + + +AbstractNode.dbCloser - + + + +com.r3corda.node.internal / AbstractNode / dbCloser
+
+

dbCloser

+ +protected var dbCloser: Runnable?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/in-node-monitor-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/in-node-monitor-service.html deleted file mode 100644 index 25d3d5e89f..0000000000 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/in-node-monitor-service.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AbstractNode.inNodeMonitorService - - - - -com.r3corda.node.internal / AbstractNode / inNodeMonitorService
-
-

inNodeMonitorService

- -var inNodeMonitorService: NodeMonitorService?
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/index.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/index.html index 2e9d790f51..1a06605e6c 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/index.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/index.html @@ -34,7 +34,7 @@ sweeping up the Node into the Kryo checkpoint serialization via any protocols ho <init> -AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, platformClock: Clock)

A base node implementation that can be customised either for production (with real implementations that do real +AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, platformClock: Clock)

A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.

@@ -53,7 +53,7 @@ I/O), or a mock implementation suitable for unit test environments.

advertisedServices -val advertisedServices: Set<ServiceType> +val advertisedServices: Set<ServiceInfo> @@ -71,7 +71,7 @@ I/O), or a mock implementation suitable for unit test environments.

configuration -val configuration: NodeConfiguration +open val configuration: NodeConfiguration @@ -81,15 +81,21 @@ I/O), or a mock implementation suitable for unit test environments.

-identity +database -lateinit var identity: IdentityService +lateinit var database: <ERROR CLASS> -inNodeMonitorService +dbCloser -var inNodeMonitorService: NodeMonitorService? +var dbCloser: Runnable? + + + +identity + +lateinit var identity: IdentityService @@ -160,6 +166,12 @@ I/O), or a mock implementation suitable for unit test environments.

+partyKeys + +val partyKeys: <ERROR CLASS> + + + platformClock val platformClock: Clock @@ -191,6 +203,12 @@ I/O), or a mock implementation suitable for unit test environments.

+schemas + +lateinit var schemas: SchemaService + + + serverThread abstract val serverThread: AffinityExecutor @@ -247,7 +265,7 @@ I/O), or a mock implementation suitable for unit test environments.

constructStorageService -open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keyPair: KeyPair, identity: Party): StorageServiceImpl +open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, stateMachineRecordedTransactionMappingStorage: StateMachineRecordedTransactionMappingStorage): StorageServiceImpl @@ -276,6 +294,12 @@ I/O), or a mock implementation suitable for unit test environments.

+initialiseCheckpointService + +open fun initialiseCheckpointService(dir: Path): CheckpointStorage + + + initialiseDatabasePersistence open fun initialiseDatabasePersistence(insideTransaction: () -> Unit): Unit @@ -312,12 +336,6 @@ I/O), or a mock implementation suitable for unit test environments.

-makeMonitorService - -open fun makeMonitorService(): NodeMonitorService - - - makeNetworkMapService open fun makeNetworkMapService(): Unit @@ -330,6 +348,12 @@ I/O), or a mock implementation suitable for unit test environments.

+makeSchemaService + +open fun makeSchemaService(): SchemaService + + + makeUniquenessProvider abstract fun makeUniquenessProvider(): UniquenessProvider @@ -349,6 +373,18 @@ I/O), or a mock implementation suitable for unit test environments.

+obtainLegalIdentity + +fun obtainLegalIdentity(): Party + + + +obtainLegalIdentityKey + +fun obtainLegalIdentityKey(): KeyPair + + + setup open fun setup(): AbstractNode

Run any tasks that are needed to ensure the node is in a correct state before running start().

@@ -364,7 +400,7 @@ I/O), or a mock implementation suitable for unit test environments.

startMessagingService -abstract fun startMessagingService(): Unit +abstract fun startMessagingService(cordaRPCOps: CordaRPCOps?): Unit diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/initialise-checkpoint-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/initialise-checkpoint-service.html new file mode 100644 index 0000000000..49284d75f9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/initialise-checkpoint-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.initialiseCheckpointService - + + + +com.r3corda.node.internal / AbstractNode / initialiseCheckpointService
+
+

initialiseCheckpointService

+ +protected open fun initialiseCheckpointService(dir: Path): CheckpointStorage
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-monitor-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-monitor-service.html deleted file mode 100644 index a7f424256a..0000000000 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-monitor-service.html +++ /dev/null @@ -1,15 +0,0 @@ - - -AbstractNode.makeMonitorService - - - - -com.r3corda.node.internal / AbstractNode / makeMonitorService
-
-

makeMonitorService

- -protected open fun makeMonitorService(): NodeMonitorService
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-schema-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-schema-service.html new file mode 100644 index 0000000000..6a0121ffe6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/make-schema-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeSchemaService - + + + +com.r3corda.node.internal / AbstractNode / makeSchemaService
+
+

makeSchemaService

+ +protected open fun makeSchemaService(): SchemaService
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity-key.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity-key.html new file mode 100644 index 0000000000..3d5496313d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity-key.html @@ -0,0 +1,15 @@ + + +AbstractNode.obtainLegalIdentityKey - + + + +com.r3corda.node.internal / AbstractNode / obtainLegalIdentityKey
+
+

obtainLegalIdentityKey

+ +protected fun obtainLegalIdentityKey(): KeyPair
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity.html new file mode 100644 index 0000000000..3c5fe5978e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/obtain-legal-identity.html @@ -0,0 +1,15 @@ + + +AbstractNode.obtainLegalIdentity - + + + +com.r3corda.node.internal / AbstractNode / obtainLegalIdentity
+
+

obtainLegalIdentity

+ +protected fun obtainLegalIdentity(): Party
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/party-keys.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/party-keys.html new file mode 100644 index 0000000000..1ee5628ca4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/party-keys.html @@ -0,0 +1,15 @@ + + +AbstractNode.partyKeys - + + + +com.r3corda.node.internal / AbstractNode / partyKeys
+
+

partyKeys

+ +protected val partyKeys: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/schemas.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/schemas.html new file mode 100644 index 0000000000..126d9bf5a3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/schemas.html @@ -0,0 +1,15 @@ + + +AbstractNode.schemas - + + + +com.r3corda.node.internal / AbstractNode / schemas
+
+

schemas

+ +lateinit var schemas: SchemaService
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/start-messaging-service.html b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/start-messaging-service.html index 1c41345d02..ee62faf769 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-abstract-node/start-messaging-service.html +++ b/docs/build/html/api/com.r3corda.node.internal/-abstract-node/start-messaging-service.html @@ -7,8 +7,8 @@ com.r3corda.node.internal / AbstractNode / startMessagingService

startMessagingService

- -protected abstract fun startMessagingService(): Unit
+ +protected abstract fun startMessagingService(cordaRPCOps: CordaRPCOps?): Unit


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 0481bd223a..be0a5a9be6 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,19 +7,12 @@ com.r3corda.node.internal / Node / <init>

<init>

-Node(p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)
+Node(configuration: FullNodeConfiguration, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, clock: Clock = NodeClock())

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

- -dir - A Path to a location on disk where working files can be found or stored.
-
- -p2pAddr - The host and port that this server will use. It cant find out its own external hostname, so you -have to specify that yourself.
-
-configuration - This is typically loaded from a .properties file.
+configuration - This is typically loaded from a TypeSafe HOCON configuration file.

networkMapAddress - An external network map service to use. Should only ever be null when creating the first @@ -32,9 +25,6 @@ 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/configuration.html b/docs/build/html/api/com.r3corda.node.internal/-node/configuration.html new file mode 100644 index 0000000000..7039ecab09 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-node/configuration.html @@ -0,0 +1,16 @@ + + +Node.configuration - + + + +com.r3corda.node.internal / Node / configuration
+
+

configuration

+ +val configuration: FullNodeConfiguration
+Overrides AbstractNode.configuration
+
+
+ + 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 2bbc8f87fc..4f80493bf0 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 @@ -11,15 +11,8 @@

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

- -dir - A Path to a location on disk where working files can be found or stored.
-
- -p2pAddr - The host and port that this server will use. It cant find out its own external hostname, so you -have to specify that yourself.
-
-configuration - This is typically loaded from a .properties file.
+configuration - This is typically loaded from a TypeSafe HOCON configuration file.

networkMapAddress - An external network map service to use. Should only ever be null when creating the first @@ -32,9 +25,6 @@ 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

@@ -43,7 +33,7 @@ but nodes are not required to advertise services they run (hence subset).
@@ -54,6 +44,12 @@ loads important data off disk and starts listening for connections.

+ + + + @@ -66,18 +62,6 @@ loads important data off disk and starts listening for connections.

- - - - - - - - @@ -88,12 +72,6 @@ loads important data off disk and starts listening for connections.

- - - -
<init> -Node(p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: SingleMessageRecipient?, 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, +Node(configuration: FullNodeConfiguration, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, clock: Clock = NodeClock())

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.

+configuration +val configuration: FullNodeConfiguration
log val log: <ERROR CLASS>
-messagingServerAddr -val messagingServerAddr: <ERROR CLASS>?
-p2pAddr -val p2pAddr: <ERROR CLASS>
serverThread val serverThread: ServiceAffinityExecutor lateinit var webServer: <ERROR CLASS>
-webServerAddr -val webServerAddr: <ERROR CLASS>

Inherited Properties

@@ -109,7 +87,7 @@ loads important data off disk and starts listening for connections.

advertisedServices -val advertisedServices: Set<ServiceType> +val advertisedServices: Set<ServiceInfo> @@ -125,27 +103,27 @@ loads important data off disk and starts listening for connections.

-configuration - -val configuration: NodeConfiguration - - - customServices val customServices: ArrayList<Any> -identity +database -lateinit var identity: IdentityService +lateinit var database: <ERROR CLASS> -inNodeMonitorService +dbCloser -var inNodeMonitorService: NodeMonitorService? +var dbCloser: Runnable? + + + +identity + +lateinit var identity: IdentityService @@ -210,6 +188,12 @@ loads important data off disk and starts listening for connections.

+partyKeys + +val partyKeys: <ERROR CLASS> + + + platformClock val platformClock: Clock @@ -241,6 +225,12 @@ loads important data off disk and starts listening for connections.

+schemas + +lateinit var schemas: SchemaService + + + services val services: ServiceHubInternal @@ -289,6 +279,20 @@ loads important data off disk and starts listening for connections.

+initialiseDatabasePersistence + +fun initialiseDatabasePersistence(insideTransaction: () -> Unit): Unit

If the node is persisting to an embedded H2 database, then expose this via TCP with a JDBC URL of the form: +jdbc:h2:tcp://:/node +with username and password as per the DataSource connection details. The key element to enabling this support is to +ensure that you specify a JDBC connection URL of the form jdbc:h2:file: in the node config and that you include +the H2 option AUTO_SERVER_PORT set to the port you desire to use (0 will give a dynamically allocated port number) +but exclude the H2 option AUTO_SERVER=TRUE. +This is not using the H2 "automatic mixed mode" directly but leans on many of the underpinnings. For more details +on H2 URLs and configuration see: http://www.h2database.com/html/features.html#database_url

+ + + + makeMessagingService fun makeMessagingService(): MessagingServiceInternal @@ -323,7 +327,7 @@ loads important data off disk and starts listening for connections.

startMessagingService -fun startMessagingService(): Unit +fun startMessagingService(cordaRPCOps: CordaRPCOps?): Unit @@ -340,7 +344,7 @@ loads important data off disk and starts listening for connections.

constructStorageService -open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, keyPair: KeyPair, identity: Party): StorageServiceImpl +open fun constructStorageService(attachments: NodeAttachmentService, transactionStorage: TransactionStorage, stateMachineRecordedTransactionMappingStorage: StateMachineRecordedTransactionMappingStorage): StorageServiceImpl @@ -369,9 +373,9 @@ loads important data off disk and starts listening for connections.

-initialiseDatabasePersistence +initialiseCheckpointService -open fun initialiseDatabasePersistence(insideTransaction: () -> Unit): Unit +open fun initialiseCheckpointService(dir: Path): CheckpointStorage @@ -399,12 +403,6 @@ loads important data off disk and starts listening for connections.

-makeMonitorService - -open fun makeMonitorService(): NodeMonitorService - - - makeNetworkMapService open fun makeNetworkMapService(): Unit @@ -417,6 +415,12 @@ loads important data off disk and starts listening for connections.

+makeSchemaService + +open fun makeSchemaService(): SchemaService + + + makeVaultService open fun makeVaultService(): VaultService @@ -428,6 +432,18 @@ loads important data off disk and starts listening for connections.

open fun noNetworkMapConfigured(): <ERROR CLASS><Unit>

This is overriden by the mock node implementation to enable operation without any network map service

+ + +obtainLegalIdentity + +fun obtainLegalIdentity(): Party + + + +obtainLegalIdentityKey + +fun obtainLegalIdentityKey(): KeyPair +

Companion Object Properties

diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/initialise-database-persistence.html b/docs/build/html/api/com.r3corda.node.internal/-node/initialise-database-persistence.html new file mode 100644 index 0000000000..ccc808abfa --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-node/initialise-database-persistence.html @@ -0,0 +1,24 @@ + + +Node.initialiseDatabasePersistence - + + + +com.r3corda.node.internal / Node / initialiseDatabasePersistence
+
+

initialiseDatabasePersistence

+ +protected fun initialiseDatabasePersistence(insideTransaction: () -> Unit): Unit
+Overrides AbstractNode.initialiseDatabasePersistence
+

If the node is persisting to an embedded H2 database, then expose this via TCP with a JDBC URL of the form: +jdbc:h2:tcp://:/node +with username and password as per the DataSource connection details. The key element to enabling this support is to +ensure that you specify a JDBC connection URL of the form jdbc:h2:file: in the node config and that you include +the H2 option AUTO_SERVER_PORT set to the port you desire to use (0 will give a dynamically allocated port number) +but exclude the H2 option AUTO_SERVER=TRUE. +This is not using the H2 "automatic mixed mode" directly but leans on many of the underpinnings. For more details +on H2 URLs and configuration see: http://www.h2database.com/html/features.html#database_url

+
+
+ + 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 deleted file mode 100644 index cc4cc85baf..0000000000 --- a/docs/build/html/api/com.r3corda.node.internal/-node/messaging-server-addr.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Node.messagingServerAddr - - - - -com.r3corda.node.internal / Node / messagingServerAddr
-
-

messagingServerAddr

- -val messagingServerAddr: <ERROR CLASS>?
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/p2p-addr.html b/docs/build/html/api/com.r3corda.node.internal/-node/p2p-addr.html deleted file mode 100644 index 248d38e5ba..0000000000 --- a/docs/build/html/api/com.r3corda.node.internal/-node/p2p-addr.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Node.p2pAddr - - - - -com.r3corda.node.internal / Node / p2pAddr
-
-

p2pAddr

- -val p2pAddr: <ERROR CLASS>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/start-messaging-service.html b/docs/build/html/api/com.r3corda.node.internal/-node/start-messaging-service.html index fb31a79b5f..a178880692 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-node/start-messaging-service.html +++ b/docs/build/html/api/com.r3corda.node.internal/-node/start-messaging-service.html @@ -7,8 +7,8 @@ com.r3corda.node.internal / Node / startMessagingService

startMessagingService

- -protected fun startMessagingService(): Unit
+ +protected fun startMessagingService(cordaRPCOps: CordaRPCOps?): Unit
Overrides AbstractNode.startMessagingService


diff --git a/docs/build/html/api/com.r3corda.node.internal/-node/web-server-addr.html b/docs/build/html/api/com.r3corda.node.internal/-node/web-server-addr.html deleted file mode 100644 index 1bdd912829..0000000000 --- a/docs/build/html/api/com.r3corda.node.internal/-node/web-server-addr.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Node.webServerAddr - - - - -com.r3corda.node.internal / Node / webServerAddr
-
-

webServerAddr

- -val webServerAddr: <ERROR CLASS>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-init-.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-init-.html index 833ec8169d..e1dea5eb19 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-init-.html +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.internal / ServerRPCOps / <init>

<init>

-ServerRPCOps(services: ServiceHubInternal)
+ServerRPCOps(services: ServiceHub, smm: StateMachineManager, database: <ERROR CLASS>)

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.


diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/-init-.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/-init-.html new file mode 100644 index 0000000000..d254f5ce9c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/-init-.html @@ -0,0 +1,14 @@ + + +ServerRPCOps.InputStateRefResolveFailed.<init> - + + + +com.r3corda.node.internal / ServerRPCOps / InputStateRefResolveFailed / <init>
+
+

<init>

+InputStateRefResolveFailed(stateRefs: List<StateRef>)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/index.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/index.html new file mode 100644 index 0000000000..477c5ffd7a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/-input-state-ref-resolve-failed/index.html @@ -0,0 +1,25 @@ + + +ServerRPCOps.InputStateRefResolveFailed - + + + +com.r3corda.node.internal / ServerRPCOps / InputStateRefResolveFailed
+
+

InputStateRefResolveFailed

+class InputStateRefResolveFailed : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +InputStateRefResolveFailed(stateRefs: List<StateRef>)
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/database.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/database.html new file mode 100644 index 0000000000..a3e97e5e70 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/database.html @@ -0,0 +1,15 @@ + + +ServerRPCOps.database - + + + +com.r3corda.node.internal / ServerRPCOps / database
+
+

database

+ +val database: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/execute-command.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/execute-command.html new file mode 100644 index 0000000000..5bda8fc00a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/execute-command.html @@ -0,0 +1,18 @@ + + +ServerRPCOps.executeCommand - + + + +com.r3corda.node.internal / ServerRPCOps / executeCommand
+
+

executeCommand

+ +fun executeCommand(command: ClientToServiceCommand): TransactionBuildResult
+Overrides CordaRPCOps.executeCommand
+

Executes the given command, possibly triggering cash creation etc. +TODO: The signature of this is weird because its the remains of an old service call, we should have a call for each command instead.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/index.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/index.html index b8247bfea4..3704762c5d 100644 --- a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/index.html +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/index.html @@ -7,11 +7,22 @@ com.r3corda.node.internal / ServerRPCOps

ServerRPCOps

-class ServerRPCOps : CordaRPCOps
+class ServerRPCOps : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.



+

Exceptions

+ + + + + + + +
+InputStateRefResolveFailed +class InputStateRefResolveFailed : Exception

Constructors

@@ -19,7 +30,7 @@ thread (i.e. serially). Arguments are serialised and deserialised automatically. @@ -30,11 +41,71 @@ thread (i.e. serially). Arguments are serialised and deserialised automatically. + + + + + + + + + + + + + +
<init> -ServerRPCOps(services: ServiceHubInternal)

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server +ServerRPCOps(services: ServiceHub, smm: StateMachineManager, database: <ERROR CLASS>)

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.

+database +val database: <ERROR CLASS>
protocolVersion val protocolVersion: Int

Returns the RPC protocol version. Exists since version 0 so guaranteed to be present.

+services +val services: ServiceHub
+smm +val smm: StateMachineManager
+

Functions

+ + + + + + + + + + + + + + + + + + + + + +
+executeCommand +fun executeCommand(command: ClientToServiceCommand): TransactionBuildResult

Executes the given command, possibly triggering cash creation etc. +TODO: The signature of this is weird because its the remains of an old service call, we should have a call for each command instead.

+
+stateMachineRecordedTransactionMapping +fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future +such mappings as well.

+
+stateMachinesAndUpdates +fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

+
+vaultAndUpdates +fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>

Returns a pair of head states in the vault and an observable of future updates to the vault.

+
+verifiedTransactions +fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns a pair of all recorded transactions and an observable of future recorded ones.

+
diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/services.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/services.html new file mode 100644 index 0000000000..191d3b1203 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/services.html @@ -0,0 +1,15 @@ + + +ServerRPCOps.services - + + + +com.r3corda.node.internal / ServerRPCOps / services
+
+

services

+ +val services: ServiceHub
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/smm.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/smm.html similarity index 58% rename from docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/smm.html rename to docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/smm.html index d01548a9d6..c3a156c60e 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/smm.html +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/smm.html @@ -1,13 +1,13 @@ -NodeMonitorService.smm - +ServerRPCOps.smm - -com.r3corda.node.services.monitor / NodeMonitorService / smm
+com.r3corda.node.internal / ServerRPCOps / smm

smm

- + val smm: StateMachineManager


diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machine-recorded-transaction-mapping.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machine-recorded-transaction-mapping.html new file mode 100644 index 0000000000..d47845b431 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machine-recorded-transaction-mapping.html @@ -0,0 +1,18 @@ + + +ServerRPCOps.stateMachineRecordedTransactionMapping - + + + +com.r3corda.node.internal / ServerRPCOps / stateMachineRecordedTransactionMapping
+
+

stateMachineRecordedTransactionMapping

+ +fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+Overrides CordaRPCOps.stateMachineRecordedTransactionMapping
+

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future +such mappings as well.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machines-and-updates.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machines-and-updates.html new file mode 100644 index 0000000000..289231db5f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/state-machines-and-updates.html @@ -0,0 +1,17 @@ + + +ServerRPCOps.stateMachinesAndUpdates - + + + +com.r3corda.node.internal / ServerRPCOps / stateMachinesAndUpdates
+
+

stateMachinesAndUpdates

+ +fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>
+Overrides CordaRPCOps.stateMachinesAndUpdates
+

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/vault-and-updates.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/vault-and-updates.html new file mode 100644 index 0000000000..7b56cbbf12 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/vault-and-updates.html @@ -0,0 +1,17 @@ + + +ServerRPCOps.vaultAndUpdates - + + + +com.r3corda.node.internal / ServerRPCOps / vaultAndUpdates
+
+

vaultAndUpdates

+ +fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>
+Overrides CordaRPCOps.vaultAndUpdates
+

Returns a pair of head states in the vault and an observable of future updates to the vault.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/verified-transactions.html b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/verified-transactions.html new file mode 100644 index 0000000000..8c73c38368 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.internal/-server-r-p-c-ops/verified-transactions.html @@ -0,0 +1,17 @@ + + +ServerRPCOps.verifiedTransactions - + + + +com.r3corda.node.internal / ServerRPCOps / verifiedTransactions
+
+

verifiedTransactions

+ +fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>
+Overrides CordaRPCOps.verifiedTransactions
+

Returns a pair of all recorded transactions and an observable of future recorded ones.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.internal/index.html b/docs/build/html/api/com.r3corda.node.internal/index.html index 4423a1f414..4f5f98bc79 100644 --- a/docs/build/html/api/com.r3corda.node.internal/index.html +++ b/docs/build/html/api/com.r3corda.node.internal/index.html @@ -36,7 +36,7 @@ loads important data off disk and starts listening for connections.

ServerRPCOps -class ServerRPCOps : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server +class ServerRPCOps : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.

diff --git a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/add-protocol-handler.html b/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/add-protocol-handler.html deleted file mode 100644 index 10c3803b8c..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/add-protocol-handler.html +++ /dev/null @@ -1,33 +0,0 @@ - - -AbstractNodeService.addProtocolHandler - - - - -com.r3corda.node.services.api / AbstractNodeService / addProtocolHandler
-
-

addProtocolHandler

- -protected inline fun <reified H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, crossinline protocolFactory: (H) -> ProtocolLogic<R>, crossinline onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit
-

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-

Parameters

- -topic - the topic on which the handshake is sent from the other party
-
- -loggerName - the logger name to use when starting the protocol
-
- -protocolFactory - a function to create the protocol with the given handshake message
-
- -onResultFuture - provides access to the ListenableFuture when the protocol starts
-
-
- -protected inline fun <reified H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, crossinline protocolFactory: (H) -> ProtocolLogic<R>): Unit
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/index.html b/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/index.html index ad4acc4df9..6d02f16a06 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/index.html @@ -55,14 +55,6 @@ common boilerplate code. Exceptions are propagated to the messaging layer. If y acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

- - -addProtocolHandler - -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit -

Inherited Functions

@@ -76,17 +68,6 @@ necessary steps to enable communication between the two protocols, including cal -

Companion Object Properties

- - - - - - - -
-logger -val logger: <ERROR CLASS>

Inheritors

@@ -97,57 +78,6 @@ necessary steps to enable communication between the two protocols, including cal abstract class AbstractNetworkMapService : NetworkMapService, AbstractNodeService

Abstracted out core functionality as the basis for a persistent implementation, as well as existing in-memory implementation.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-NodeMonitorService -class NodeMonitorService : AbstractNodeService

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

-
-NotaryService -abstract class NotaryService : AbstractNodeService

A Notary service acts as the final signer of a transaction ensuring two things:

-
-Service -class Service : AbstractNodeService
-Service -class Service : AbstractNodeService

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.

-
-Service -class Service : AbstractNodeService

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.

-
-Service -class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

-
-Service -class Service : AbstractNodeService
diff --git a/docs/build/html/api/com.r3corda.node.services.api/-accepts-file-upload/index.html b/docs/build/html/api/com.r3corda.node.services.api/-accepts-file-upload/index.html index cecda59bbe..4fc0c34b31 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-accepts-file-upload/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-accepts-file-upload/index.html @@ -60,7 +60,7 @@ back to the user in the response.

Service -class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+class Service : AcceptsFileUpload, SingletonSerializeAsToken

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/checkpoints.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/checkpoints.html deleted file mode 100644 index f9f037602d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/checkpoints.html +++ /dev/null @@ -1,18 +0,0 @@ - - -CheckpointStorage.checkpoints - - - - -com.r3corda.node.services.api / CheckpointStorage / checkpoints
-
-

checkpoints

- -abstract val checkpoints: Iterable<Checkpoint>
-

Returns a snapshot of all the checkpoints in the store. -This may return more checkpoints than were added to this instance of the store; for example if the store persists -checkpoints to disk.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/for-each.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/for-each.html new file mode 100644 index 0000000000..125d54641b --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/for-each.html @@ -0,0 +1,18 @@ + + +CheckpointStorage.forEach - + + + +com.r3corda.node.services.api / CheckpointStorage / forEach
+
+

forEach

+ +abstract fun forEach(block: (Checkpoint) -> Boolean): Unit
+

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/index.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/index.html index 80b7139f41..285120db05 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint-storage/index.html @@ -11,20 +11,6 @@

Thread-safe storage of fiber checkpoints.



-

Properties

- - - - - - - -
-checkpoints -abstract val checkpoints: Iterable<Checkpoint>

Returns a snapshot of all the checkpoints in the store. -This may return more checkpoints than were added to this instance of the store; for example if the store persists -checkpoints to disk.

-

Functions

@@ -37,6 +23,15 @@ checkpoints to disk.

+ + + + + + + + +Checkpoint(serializedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>)
+forEach +abstract fun forEach(block: (Checkpoint) -> Boolean): Unit

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+
removeCheckpoint abstract fun removeCheckpoint(checkpoint: Checkpoint): Unit

Remove existing checkpoint from the store. It is an error to attempt to remove a checkpoint which doesnt exist @@ -50,6 +45,13 @@ in the store. Doing so will throw an DBCheckpointStorage

+class DBCheckpointStorage : CheckpointStorage

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+
PerFileCheckpointStorage class PerFileCheckpointStorage : CheckpointStorage

File-based checkpoint storage, storing checkpoints per file.

diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/-init-.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/-init-.html index aa3c438192..06bdb5c713 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.api / Checkpoint / <init>

<init>

-Checkpoint(serialisedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>, request: ProtocolIORequest?, receivedPayload: Any?)
+Checkpoint(serializedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>)


diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/equals.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/equals.html new file mode 100644 index 0000000000..d5aeb6bc8c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/equals.html @@ -0,0 +1,15 @@ + + +Checkpoint.equals - + + + +com.r3corda.node.services.api / Checkpoint / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/fiber-created.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/fiber-created.html deleted file mode 100644 index ae93cb052d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/fiber-created.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Checkpoint.fiberCreated - - - - -com.r3corda.node.services.api / Checkpoint / fiberCreated
-
-

fiberCreated

- -var fiberCreated: Boolean
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/hash-code.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/hash-code.html new file mode 100644 index 0000000000..b221d6b864 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/hash-code.html @@ -0,0 +1,15 @@ + + +Checkpoint.hashCode - + + + +com.r3corda.node.services.api / Checkpoint / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/received-payload.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/id.html similarity index 50% rename from docs/build/html/api/com.r3corda.node.services.api/-checkpoint/received-payload.html rename to docs/build/html/api/com.r3corda.node.services.api/-checkpoint/id.html index 33c047df25..e15b18a84c 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/received-payload.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/id.html @@ -1,14 +1,14 @@ -Checkpoint.receivedPayload - +Checkpoint.id - -com.r3corda.node.services.api / Checkpoint / receivedPayload
+com.r3corda.node.services.api / Checkpoint / id

-

receivedPayload

- -val receivedPayload: Any?
+

id

+ +val id: SecureHash


diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/index.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/index.html index a2bf3807c5..29efdcddb9 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.api / Checkpoint

Checkpoint

-data class Checkpoint
+class Checkpoint


Constructors

@@ -17,7 +17,7 @@
<init> -Checkpoint(serialisedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>, request: ProtocolIORequest?, receivedPayload: Any?)
@@ -26,27 +26,38 @@ -fiberCreated +id -var fiberCreated: Boolean +val id: SecureHash -receivedPayload +serializedFiber -val receivedPayload: Any? +val serializedFiber: SerializedBytes<ProtocolStateMachineImpl<*>> + + + +

Functions

+ + + + + +hashCode +fun hashCode(): Int +toString +fun toString(): String
+equals +fun equals(other: Any?): Boolean
-request -val request: ProtocolIORequest?
-serialisedFiber -val serialisedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>
diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/request.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/request.html deleted file mode 100644 index ac2243806d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/request.html +++ /dev/null @@ -1,15 +0,0 @@ - - -Checkpoint.request - - - - -com.r3corda.node.services.api / Checkpoint / request
-
-

request

- -val request: ProtocolIORequest?
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialised-fiber.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialized-fiber.html similarity index 77% rename from docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialised-fiber.html rename to docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialized-fiber.html index 01a71a92c7..570370ed1f 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialised-fiber.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/serialized-fiber.html @@ -1,14 +1,14 @@ -Checkpoint.serialisedFiber - +Checkpoint.serializedFiber - -com.r3corda.node.services.api / Checkpoint / serialisedFiber
+com.r3corda.node.services.api / Checkpoint / serializedFiber

-

serialisedFiber

- -val serialisedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>
+

serializedFiber

+ +val serializedFiber: SerializedBytes<ProtocolStateMachineImpl<*>>


diff --git a/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/to-string.html b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/to-string.html new file mode 100644 index 0000000000..f543453de6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-checkpoint/to-string.html @@ -0,0 +1,15 @@ + + +Checkpoint.toString - + + + +com.r3corda.node.services.api / Checkpoint / toString
+
+

toString

+ +fun toString(): String
+
+
+ + 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 d622fedda9..bbefef0e6c 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 @@ -54,8 +54,7 @@ given executor.

createMessage -abstract fun createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
-abstract fun createMessage(topicSession: TopicSession, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+abstract fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID = UUID.randomUUID()): Message

Returns an initialised Message with the current time, etc, already filled in.

@@ -83,6 +82,21 @@ delivered: if the recipients are offline then the message could be queued hours +createMessage + +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+ + + + +onNext + +fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>

Returns a ListenableFuture of the next message payload (Message.data) which is received on the given topic and sessionId. +The payload is deserilaized to an object of type M. Any exceptions thrown will be captured by the future.

+ + + + 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 @@ -98,8 +112,15 @@ doesnt take the registration object, unlike the callback to send -fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
-fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit + + + +sendRequest + +fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>

Sends a ServiceRequestMessage to target and returns a ListenableFuture of the response.

+ diff --git a/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/-type.html b/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/-type.html deleted file mode 100644 index 3295dbe121..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -RegulatorService.Type - - - - -com.r3corda.node.services.api / RegulatorService / Type
-
-

Type

-object Type : ServiceType
-
-
-

Inherited Properties

- - - - - - - -
-id -val id: String
-

Inherited Functions

- - - - - - - - - - - - - - - - - - - -
-equals -open operator fun equals(other: Any?): Boolean
-hashCode -open fun hashCode(): Int
-isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
-toString -open fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/index.html b/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/index.html index 2596d79eec..21963672a1 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/index.html @@ -11,14 +11,14 @@

Placeholder interface for regulator services.



-

Types

+

Companion Object Properties

+type +val type: ServiceType
-Type -object Type : ServiceType
diff --git a/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/type.html b/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/type.html new file mode 100644 index 0000000000..5c6ff50e13 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-regulator-service/type.html @@ -0,0 +1,15 @@ + + +RegulatorService.type - + + + +com.r3corda.node.services.api / RegulatorService / type
+
+

type

+ +val type: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/-init-.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/-init-.html new file mode 100644 index 0000000000..f318329b01 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/-init-.html @@ -0,0 +1,15 @@ + + +SchemaService.SchemaOptions.<init> - + + + +com.r3corda.node.services.api / SchemaService / SchemaOptions / <init>
+
+

<init>

+SchemaOptions(databaseSchema: String?, tablePrefix: String?)
+

Represents any options configured on the node for a schema.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/database-schema.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/database-schema.html new file mode 100644 index 0000000000..7698cc0f1d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/database-schema.html @@ -0,0 +1,15 @@ + + +SchemaService.SchemaOptions.databaseSchema - + + + +com.r3corda.node.services.api / SchemaService / SchemaOptions / databaseSchema
+
+

databaseSchema

+ +val databaseSchema: String?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/index.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/index.html new file mode 100644 index 0000000000..7d4bea5c7c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/index.html @@ -0,0 +1,44 @@ + + +SchemaService.SchemaOptions - + + + +com.r3corda.node.services.api / SchemaService / SchemaOptions
+
+

SchemaOptions

+data class SchemaOptions
+

Represents any options configured on the node for a schema.

+
+
+

Constructors

+ + + + + + + +
+<init> +SchemaOptions(databaseSchema: String?, tablePrefix: String?)

Represents any options configured on the node for a schema.

+
+

Properties

+ + + + + + + + + + + +
+databaseSchema +val databaseSchema: String?
+tablePrefix +val tablePrefix: String?
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/table-prefix.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/table-prefix.html new file mode 100644 index 0000000000..807afc8a09 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/-schema-options/table-prefix.html @@ -0,0 +1,15 @@ + + +SchemaService.SchemaOptions.tablePrefix - + + + +com.r3corda.node.services.api / SchemaService / SchemaOptions / tablePrefix
+
+

tablePrefix

+ +val tablePrefix: String?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/generate-mapped-object.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/generate-mapped-object.html new file mode 100644 index 0000000000..e5155c5010 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/generate-mapped-object.html @@ -0,0 +1,17 @@ + + +SchemaService.generateMappedObject - + + + +com.r3corda.node.services.api / SchemaService / generateMappedObject
+
+

generateMappedObject

+ +abstract fun generateMappedObject(state: QueryableState, schema: MappedSchema): PersistentState
+

Map a state to a PersistentState for the given schema, either via direct support from the state +or via custom logic in this service.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/index.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/index.html new file mode 100644 index 0000000000..3d0eb218ca --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/index.html @@ -0,0 +1,72 @@ + + +SchemaService - + + + +com.r3corda.node.services.api / SchemaService
+
+

SchemaService

+interface SchemaService
+

A configuration and customisation point for Object Relational Mapping of contract state objects.

+
+
+

Types

+ + + + + + + +
+SchemaOptions +data class SchemaOptions

Represents any options configured on the node for a schema.

+
+

Properties

+ + + + + + + +
+schemaOptions +abstract val schemaOptions: Map<MappedSchema, SchemaOptions>

Options configured for this nodes schemas. A missing entry for a schema implies all properties are null.

+
+

Functions

+ + + + + + + + + + + +
+generateMappedObject +abstract fun generateMappedObject(state: QueryableState, schema: MappedSchema): PersistentState

Map a state to a PersistentState for the given schema, either via direct support from the state +or via custom logic in this service.

+
+selectSchemas +abstract fun selectSchemas(state: QueryableState): Iterable<MappedSchema>

Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured +for this node.

+
+

Inheritors

+ + + + + + + +
+NodeSchemaService +class NodeSchemaService : SchemaService, SingletonSerializeAsToken

Most basic implementation of SchemaService.

+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/schema-options.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/schema-options.html new file mode 100644 index 0000000000..80e6884e58 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/schema-options.html @@ -0,0 +1,16 @@ + + +SchemaService.schemaOptions - + + + +com.r3corda.node.services.api / SchemaService / schemaOptions
+
+

schemaOptions

+ +abstract val schemaOptions: Map<MappedSchema, SchemaOptions>
+

Options configured for this nodes schemas. A missing entry for a schema implies all properties are null.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-schema-service/select-schemas.html b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/select-schemas.html new file mode 100644 index 0000000000..be21edb787 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-schema-service/select-schemas.html @@ -0,0 +1,17 @@ + + +SchemaService.selectSchemas - + + + +com.r3corda.node.services.api / SchemaService / selectSchemas
+
+

selectSchemas

+ +abstract fun selectSchemas(state: QueryableState): Iterable<MappedSchema>
+

Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured +for this node.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/get-protocol-factory.html b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/get-protocol-factory.html new file mode 100644 index 0000000000..ce389052c9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/get-protocol-factory.html @@ -0,0 +1,16 @@ + + +ServiceHubInternal.getProtocolFactory - + + + +com.r3corda.node.services.api / ServiceHubInternal / getProtocolFactory
+
+

getProtocolFactory

+ +abstract fun getProtocolFactory(markerClass: Class<*>): (Party) -> ProtocolLogic<*>
+

Return the protocol factory that has been registered with markerClass, or null if no factory is found.

+
+
+ + 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 f011960c24..962cb37eaa 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 @@ -42,6 +42,12 @@ abstract val protocolLogicRefFactory: ProtocolLogicRefFactory + + +schemaService + +abstract val schemaService: SchemaService +

Inherited Properties

@@ -67,12 +73,38 @@ +legalIdentityKey + +open val legalIdentityKey: KeyPair

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public legalIdentity Party from the key management service. +Typical use is during signing in protocols and for unit test signing.

+ + + + +myInfo + +abstract val myInfo: NodeInfo + + + networkMapCache abstract val networkMapCache: NetworkMapCache +notaryIdentityKey + +open val notaryIdentityKey: KeyPair

Helper property to shorten code for fetching the Nodes KeyPair associated with the +public notaryIdentity Party from the key management service. It is assumed that this is only +used in contexts where the Node knows it is hosting a Notary Service. Otherwise, it will throw +an IllegalArgumentException. +Typical use is during signing in protocols and for unit test signing.

+ + + + schedulerService abstract val schedulerService: SchedulerService @@ -96,6 +128,13 @@ +getProtocolFactory + +abstract fun getProtocolFactory(markerClass: Class<*>): (Party) -> ProtocolLogic<*>

Return the protocol factory that has been registered with markerClass, or null if no factory is found.

+ + + + 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.

@@ -103,9 +142,19 @@ +registerProtocolInitiator + +abstract fun registerProtocolInitiator(markerClass: KClass<*>, protocolFactory: (Party) -> ProtocolLogic<*>): Unit

Register the protocol factory we wish to use when a initiating party attempts to communicate with us. The +registration is done against a marker KClass which is sent in the session handshake by the other party. If this +marker class has been registered then the corresponding factory will be used to create the protocol which will +communicate with the other side. If there is no mapping then the session attempt is rejected.

+ + + + startProtocol -abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>

TODO: borrowing this method from service manager work in another branch. Its required to avoid circular dependency +abstract fun <T> startProtocol(logic: ProtocolLogic<T>): <ERROR CLASS><T>

TODO: borrowing this method from service manager work in another branch. Its required to avoid circular dependency between SMM and the scheduler. That particular problem should also be resolved by the service manager work itself, at which point this method would not be needed (by the scheduler).

@@ -128,8 +177,6 @@ itself, at which point this method would not be needed (by the scheduler).

abstract 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 vault for further processing.

-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 vault for further processing.

@@ -146,6 +193,14 @@ to the vault. This is intended for unit tests. The cash is issued by recordTransactions + +fun ServiceHub.recordTransactions(vararg txs: SignedTransaction): Unit

Given some SignedTransactions, writes them to the local storage for validated transactions and then +sends them to the vault for further processing.

+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/register-protocol-initiator.html b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/register-protocol-initiator.html new file mode 100644 index 0000000000..c4ed16cc6e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/register-protocol-initiator.html @@ -0,0 +1,28 @@ + + +ServiceHubInternal.registerProtocolInitiator - + + + +com.r3corda.node.services.api / ServiceHubInternal / registerProtocolInitiator
+
+

registerProtocolInitiator

+ +abstract fun registerProtocolInitiator(markerClass: KClass<*>, protocolFactory: (Party) -> ProtocolLogic<*>): Unit
+

Register the protocol factory we wish to use when a initiating party attempts to communicate with us. The +registration is done against a marker KClass which is sent in the session handshake by the other party. If this +marker class has been registered then the corresponding factory will be used to create the protocol which will +communicate with the other side. If there is no mapping then the session attempt is rejected.

+

Parameters

+ +markerClass - The marker KClass present in a session initiation attempt, which is a 1:1 mapping to a Class +using the ::class construct. Conventionally this is a ProtocolLogic subclass, however any class can +be used, with the default being the class of the initiating protocol. This enables the registration to be of the +form: registerProtocolInitiator(InitiatorProtocol::class, ::InitiatedProtocol)
+
+ +protocolFactory - The protocol factory generating the initiated protocol.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/schema-service.html b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/schema-service.html new file mode 100644 index 0000000000..4dabe2f48a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/schema-service.html @@ -0,0 +1,15 @@ + + +ServiceHubInternal.schemaService - + + + +com.r3corda.node.services.api / ServiceHubInternal / schemaService
+
+

schemaService

+ +abstract val schemaService: SchemaService
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/start-protocol.html b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/start-protocol.html index 3e247f92f5..df632135de 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/start-protocol.html +++ b/docs/build/html/api/com.r3corda.node.services.api/-service-hub-internal/start-protocol.html @@ -7,8 +7,8 @@ com.r3corda.node.services.api / ServiceHubInternal / startProtocol

startProtocol

- -abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>
+ +abstract fun <T> startProtocol(logic: ProtocolLogic<T>): <ERROR CLASS><T>

TODO: borrowing this method from service manager work in another branch. Its required to avoid circular dependency between SMM and the scheduler. That particular problem should also be resolved by the service manager work itself, at which point this method would not be needed (by the scheduler).

diff --git a/docs/build/html/api/com.r3corda.node.services.api/index.html b/docs/build/html/api/com.r3corda.node.services.api/index.html index 03aed9e35c..b576e0419f 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/index.html +++ b/docs/build/html/api/com.r3corda.node.services.api/index.html @@ -28,7 +28,7 @@ Checkpoint -data class Checkpoint +class Checkpoint @@ -70,6 +70,13 @@ This is not an interface because it is too lightweight to bother mocking out.

+SchemaService + +interface SchemaService

A configuration and customisation point for Object Relational Mapping of contract state objects.

+ + + + ServiceHubInternal abstract class ServiceHubInternal : ServiceHub diff --git a/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/index.html b/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/index.html index 8d7dfe111f..4f03625fed 100644 --- a/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/-service/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.clientapi / FixingSessionInitiation / Service

Service

-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken


Constructors

@@ -21,45 +21,14 @@ -

Inherited Properties

- - - - - - - - - - - -
-net -val net: MessagingServiceInternal
-services -val services: ServiceHubInternal

Inherited Functions

+toToken - - - - +open fun toToken(context: SerializeAsTokenContext): SerializationToken
-addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-
-addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
diff --git a/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html b/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html index b070e64b64..ee6925a9df 100644 --- a/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html +++ b/docs/build/html/api/com.r3corda.node.services.clientapi/-fixing-session-initiation/index.html @@ -8,9 +8,9 @@

FixingSessionInitiation

object FixingSessionInitiation
-

This is a temporary handler required for establishing random sessionIDs for the Fixer and Floater as part of +

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.

-

TODO: This will be replaced with the automatic sessionID / session setup work.

+

TODO: This will be replaced with the symmetric session work




@@ -28,7 +28,7 @@ running scheduled fixings for the InterestRateSwap contract.

Service -class Service : AbstractNodeService +class Service : SingletonSerializeAsToken diff --git a/docs/build/html/api/com.r3corda.node.services.clientapi/index.html b/docs/build/html/api/com.r3corda.node.services.clientapi/index.html index d78f20ce3f..11436a28b9 100644 --- a/docs/build/html/api/com.r3corda.node.services.clientapi/index.html +++ b/docs/build/html/api/com.r3corda.node.services.clientapi/index.html @@ -14,7 +14,7 @@ FixingSessionInitiation -object FixingSessionInitiation

This is a temporary handler required for establishing random sessionIDs for the Fixer and Floater as part of +object FixingSessionInitiation

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.

diff --git a/docs/build/html/api/com.r3corda.node.services.config/-config-helper/index.html b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/index.html new file mode 100644 index 0000000000..1becd5e984 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/index.html @@ -0,0 +1,36 @@ + + +ConfigHelper - + + + +com.r3corda.node.services.config / ConfigHelper
+
+

ConfigHelper

+object ConfigHelper
+
+
+

Properties

+ + + + + + + +
+log +val log: <ERROR CLASS>
+

Functions

+ + + + + + + +
+loadConfig +fun loadConfig(baseDirectoryPath: Path, configFileOverride: Path? = null, allowMissingConfig: Boolean = false, configOverrides: Map<String, Any?> = emptyMap()): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-config-helper/load-config.html b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/load-config.html new file mode 100644 index 0000000000..7de13083b1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/load-config.html @@ -0,0 +1,15 @@ + + +ConfigHelper.loadConfig - + + + +com.r3corda.node.services.config / ConfigHelper / loadConfig
+
+

loadConfig

+ +fun loadConfig(baseDirectoryPath: Path, configFileOverride: Path? = null, allowMissingConfig: Boolean = false, configOverrides: Map<String, Any?> = emptyMap()): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/log.html b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/log.html similarity index 62% rename from docs/build/html/api/com.r3corda.node.services.config/-node-configuration/log.html rename to docs/build/html/api/com.r3corda.node.services.config/-config-helper/log.html index 2c16d0e296..fd182684d9 100644 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/log.html +++ b/docs/build/html/api/com.r3corda.node.services.config/-config-helper/log.html @@ -1,13 +1,13 @@ -NodeConfiguration.log - +ConfigHelper.log - -com.r3corda.node.services.config / NodeConfiguration / log
+com.r3corda.node.services.config / ConfigHelper / log

log

- + val log: <ERROR CLASS>


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 index 3b9491cbdd..4ffb91b857 100644 --- 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 @@ -7,7 +7,7 @@ com.r3corda.node.services.config / FullNodeConfiguration / <init>

<init>

-FullNodeConfiguration(conf: <ERROR CLASS>)
+FullNodeConfiguration(config: <ERROR CLASS>)


diff --git a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/certificate-signing-service.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/certificate-signing-service.html deleted file mode 100644 index 4d9cb1529d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/certificate-signing-service.html +++ /dev/null @@ -1,16 +0,0 @@ - - -FullNodeConfiguration.certificateSigningService - - - - -com.r3corda.node.services.config / FullNodeConfiguration / certificateSigningService
-
-

certificateSigningService

- -val certificateSigningService: <ERROR CLASS>
-Overrides NodeConfiguration.certificateSigningService
-
-
- - 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 deleted file mode 100644 index 1f4dd4a5a9..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/clock.html +++ /dev/null @@ -1,15 +0,0 @@ - - -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/host-notary-service-locally.html b/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html deleted file mode 100644 index b7b0e9b58d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-full-node-configuration/host-notary-service-locally.html +++ /dev/null @@ -1,15 +0,0 @@ - - -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 index d025989a48..b90828752a 100644 --- 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 @@ -17,7 +17,7 @@ <init> -FullNodeConfiguration(conf: <ERROR CLASS>) +FullNodeConfiguration(config: <ERROR CLASS>) @@ -38,18 +38,6 @@ -certificateSigningService - -val certificateSigningService: <ERROR CLASS> - - - -clock - -val clock: Clock - - - dataSourceProperties val dataSourceProperties: Properties @@ -80,12 +68,6 @@ -hostNotaryServiceLocally - -val hostNotaryServiceLocally: Boolean - - - keyStorePassword val keyStorePassword: String @@ -156,5 +138,18 @@ +

Extension Functions

+ + + + + + + +
+configureWithDevSSLCertificate +fun NodeSSLConfiguration.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.config/-node-configuration-from-config/-init-.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/-init-.html deleted file mode 100644 index 39e1160305..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NodeConfigurationFromConfig.<init> - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / <init>
-
-

<init>

-NodeConfigurationFromConfig(config: <ERROR CLASS> = ConfigFactory.load())
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/basedir.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/basedir.html deleted file mode 100644 index 4f3534401b..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/basedir.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.basedir - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / basedir
-
-

basedir

- -val basedir: Path
-Overrides NodeConfiguration.basedir
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/certificate-signing-service.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/certificate-signing-service.html deleted file mode 100644 index 30b82d58d0..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/certificate-signing-service.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.certificateSigningService - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / certificateSigningService
-
-

certificateSigningService

- -val certificateSigningService: <ERROR CLASS>
-Overrides NodeConfiguration.certificateSigningService
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/config.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/config.html deleted file mode 100644 index acd2affce6..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/config.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeConfigurationFromConfig.config - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / config
-
-

config

- -val config: <ERROR CLASS>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/data-source-properties.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/data-source-properties.html deleted file mode 100644 index d29b1a3105..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/data-source-properties.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.dataSourceProperties - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / dataSourceProperties
-
-

dataSourceProperties

- -val dataSourceProperties: Properties
-Overrides NodeConfiguration.dataSourceProperties
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/dev-mode.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/dev-mode.html deleted file mode 100644 index 98ac807828..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/dev-mode.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.devMode - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / devMode
-
-

devMode

- -val devMode: Boolean
-Overrides NodeConfiguration.devMode
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/email-address.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/email-address.html deleted file mode 100644 index fa5c686631..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/email-address.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.emailAddress - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / emailAddress
-
-

emailAddress

- -val emailAddress: String
-Overrides NodeConfiguration.emailAddress
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/export-j-m-xto.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/export-j-m-xto.html deleted file mode 100644 index e6589699d5..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/export-j-m-xto.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.exportJMXto - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / exportJMXto
-
-

exportJMXto

- -val exportJMXto: String
-Overrides NodeConfiguration.exportJMXto
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/index.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/index.html deleted file mode 100644 index a568a9adb2..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/index.html +++ /dev/null @@ -1,107 +0,0 @@ - - -NodeConfigurationFromConfig - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig
-
-

NodeConfigurationFromConfig

-class NodeConfigurationFromConfig : NodeConfiguration
-
-
-

Constructors

- - - - - - - -
-<init> -NodeConfigurationFromConfig(config: <ERROR CLASS> = ConfigFactory.load())
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-basedir -val basedir: Path
-certificateSigningService -val certificateSigningService: <ERROR CLASS>
-config -val config: <ERROR CLASS>
-dataSourceProperties -val dataSourceProperties: Properties
-devMode -val devMode: Boolean
-emailAddress -val emailAddress: String
-exportJMXto -val exportJMXto: String
-keyStorePassword -val keyStorePassword: String
-myLegalName -val myLegalName: String
-nearestCity -val nearestCity: String
-trustStorePassword -val trustStorePassword: String
-

Inherited Properties

- - - - - - - -
-certificatesPath -open val certificatesPath: Path
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/key-store-password.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/key-store-password.html deleted file mode 100644 index ee310c2f38..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/key-store-password.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.keyStorePassword - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / keyStorePassword
-
-

keyStorePassword

- -val keyStorePassword: String
-Overrides NodeSSLConfiguration.keyStorePassword
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/my-legal-name.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/my-legal-name.html deleted file mode 100644 index 7bd8b21271..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/my-legal-name.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.myLegalName - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / myLegalName
-
-

myLegalName

- -val myLegalName: String
-Overrides NodeConfiguration.myLegalName
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/nearest-city.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/nearest-city.html deleted file mode 100644 index dd7a26b0a0..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/nearest-city.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.nearestCity - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / nearestCity
-
-

nearestCity

- -val nearestCity: String
-Overrides NodeConfiguration.nearestCity
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/trust-store-password.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/trust-store-password.html deleted file mode 100644 index 922bc06b8b..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration-from-config/trust-store-password.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeConfigurationFromConfig.trustStorePassword - - - - -com.r3corda.node.services.config / NodeConfigurationFromConfig / trustStorePassword
-
-

trustStorePassword

- -val trustStorePassword: String
-Overrides NodeSSLConfiguration.trustStorePassword
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/certificate-signing-service.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/certificate-signing-service.html deleted file mode 100644 index ca97892f02..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/certificate-signing-service.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeConfiguration.certificateSigningService - - - - -com.r3corda.node.services.config / NodeConfiguration / certificateSigningService
-
-

certificateSigningService

- -abstract val certificateSigningService: <ERROR CLASS>
-
-
- - 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 e528474614..07a7732e62 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 @@ -21,12 +21,6 @@ -certificateSigningService - -abstract val certificateSigningService: <ERROR CLASS> - - - certificatesPath open val certificatesPath: Path @@ -98,25 +92,16 @@ -

Companion Object Properties

+

Extension Functions

+configureWithDevSSLCertificate - - -
-log -val log: <ERROR CLASS>
-

Companion Object Functions

- - - - - +fun NodeSSLConfiguration.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.

+
-loadConfig -fun loadConfig(baseDirectoryPath: Path, configFileOverride: Path? = null, allowMissingConfig: Boolean = false, configOverrides: Map<String, Any?> = emptyMap()): <ERROR CLASS>
@@ -129,12 +114,6 @@ class FullNodeConfiguration : NodeConfiguration - - -NodeConfigurationFromConfig - -class NodeConfigurationFromConfig : NodeConfiguration - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/load-config.html b/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/load-config.html deleted file mode 100644 index e38d4bc43a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-configuration/load-config.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeConfiguration.loadConfig - - - - -com.r3corda.node.services.config / NodeConfiguration / loadConfig
-
-

loadConfig

- -fun loadConfig(baseDirectoryPath: Path, configFileOverride: Path? = null, allowMissingConfig: Boolean = false, configOverrides: Map<String, Any?> = emptyMap()): <ERROR CLASS>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.config/-node-s-s-l-configuration/index.html b/docs/build/html/api/com.r3corda.node.services.config/-node-s-s-l-configuration/index.html index b91affb434..7490b9c5af 100644 --- a/docs/build/html/api/com.r3corda.node.services.config/-node-s-s-l-configuration/index.html +++ b/docs/build/html/api/com.r3corda.node.services.config/-node-s-s-l-configuration/index.html @@ -45,6 +45,19 @@ +

Extension Functions

+ + + + + + + +
+configureWithDevSSLCertificate +fun NodeSSLConfiguration.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.

+

Inheritors

diff --git a/docs/build/html/api/com.r3corda.node.services.config/configure-with-dev-s-s-l-certificate.html b/docs/build/html/api/com.r3corda.node.services.config/configure-with-dev-s-s-l-certificate.html new file mode 100644 index 0000000000..094456835d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.config/configure-with-dev-s-s-l-certificate.html @@ -0,0 +1,17 @@ + + +configureWithDevSSLCertificate - + + + +com.r3corda.node.services.config / configureWithDevSSLCertificate
+
+

configureWithDevSSLCertificate

+ +fun NodeSSLConfiguration.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.config/index.html b/docs/build/html/api/com.r3corda.node.services.config/index.html index 0da98709b9..fae41d99cf 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,12 @@ + + + + @@ -24,12 +30,6 @@ - - - - @@ -48,6 +48,14 @@ + + + + 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 index 950cbf456f..429abc2166 100644 --- 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 @@ -9,8 +9,6 @@

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/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-component/index.html index 4e84575d62..b055848a6b 100644 --- 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 @@ -87,9 +87,7 @@ unfortunately Artemis tends to bury the exception when the password is wrong.

configureWithDevSSLCertificate +fun configureWithDevSSLCertificate(): Unit +fun configureWithDevSSLCertificate(): Unit +CordaRPCOps diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/message.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/message.html similarity index 55% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/message.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/message.html index 5b26a66a44..67bb8c83f6 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/message.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/message.html @@ -4,10 +4,10 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / Failed / message
+com.r3corda.node.services.messaging / TransactionBuildResult / Failed / message

message

- +val message: String?


diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/to-string.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/to-string.html similarity index 56% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/to-string.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/to-string.html index 75ff958744..eb515f2c63 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/to-string.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/to-string.html @@ -4,10 +4,10 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / Failed / toString
+com.r3corda.node.services.messaging / TransactionBuildResult / Failed / toString

toString

- +fun toString(): String


diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/-init-.html new file mode 100644 index 0000000000..4fbfd95f5d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/-init-.html @@ -0,0 +1,21 @@ + + +TransactionBuildResult.ProtocolStarted.<init> - + + + +com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted / <init>
+
+

<init>

+ProtocolStarted(id: StateMachineRunId, transaction: SignedTransaction?, message: String?)
+

State indicating that a protocol is managing this request, and that the client should track protocol state machine +updates for further information. The monitor will separately receive notification of the state machine having been +added, as it would any other state machine. This response is used solely to enable the monitor to identify +the state machine (and its progress) as associated with the request.

+

Parameters

+ +transaction - the transaction created as a result, in the case where the protocol has completed.
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/id.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/id.html new file mode 100644 index 0000000000..39ae07bb1d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/id.html @@ -0,0 +1,15 @@ + + +TransactionBuildResult.ProtocolStarted.id - + + + +com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted / id
+
+

id

+ +val id: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/index.html similarity index 56% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/index.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/index.html index b0b1e435c1..444990f112 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/index.html @@ -4,7 +4,7 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted
+com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted

ProtocolStarted

class ProtocolStarted : TransactionBuildResult
@@ -24,7 +24,7 @@ the state machine (and its progress) as associated with the request.

+id +val id: StateMachineRunId +val transaction: SignedTransaction?
+ConfigHelper +object ConfigHelper
FullNodeConfiguration class FullNodeConfiguration : NodeConfiguration
-NodeConfigurationFromConfig -class NodeConfigurationFromConfig : NodeConfiguration
NodeSSLConfiguration interface NodeSSLConfiguration
+configureWithDevSSLCertificate +fun NodeSSLConfiguration.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.

+
getOrElse fun <T> <ERROR CLASS>.getOrElse(lambda: () -> T): OptionalConfig<T> -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-server/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-artemis-messaging-server/index.html index 2fed92972d..5cc693b742 100644 --- 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 @@ -96,9 +96,7 @@ unfortunately Artemis tends to bury the exception when the password is wrong.

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/-corda-r-p-c-ops.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops.html deleted file mode 100644 index c94db7f7cb..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops.html +++ /dev/null @@ -1,41 +0,0 @@ - - -CordaRPCOps - - - - -com.r3corda.node.services.messaging / CordaRPCOps
-
-

CordaRPCOps

-interface CordaRPCOps : RPCOps
-

RPC operations that the node exposes to clients using the Java client library. These can be called from -client apps and are implemented by the node in the ServerRPCOps class.

-
-
-

Inherited Properties

- - - - - - - -
-protocolVersion -abstract val protocolVersion: Int

Returns the RPC protocol version. Exists since version 0 so guaranteed to be present.

-
-

Inheritors

- - - - - - - -
-ServerRPCOps -class ServerRPCOps : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server -thread (i.e. serially). Arguments are serialised and deserialised automatically.

-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/execute-command.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/execute-command.html new file mode 100644 index 0000000000..0f990cc875 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/execute-command.html @@ -0,0 +1,17 @@ + + +CordaRPCOps.executeCommand - + + + +com.r3corda.node.services.messaging / CordaRPCOps / executeCommand
+
+

executeCommand

+ +abstract fun executeCommand(command: ClientToServiceCommand): TransactionBuildResult
+

Executes the given command, possibly triggering cash creation etc. +TODO: The signature of this is weird because its the remains of an old service call, we should have a call for each command instead.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/index.html new file mode 100644 index 0000000000..66ce69d080 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/index.html @@ -0,0 +1,83 @@ + + +CordaRPCOps - + + + +com.r3corda.node.services.messaging / CordaRPCOps
+
+

CordaRPCOps

+interface CordaRPCOps : RPCOps
+

RPC operations that the node exposes to clients using the Java client library. These can be called from +client apps and are implemented by the node in the ServerRPCOps class.

+
+
+

Inherited Properties

+ + + + + + + +
+protocolVersion +abstract val protocolVersion: Int

Returns the RPC protocol version. Exists since version 0 so guaranteed to be present.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+executeCommand +abstract fun executeCommand(command: ClientToServiceCommand): TransactionBuildResult

Executes the given command, possibly triggering cash creation etc. +TODO: The signature of this is weird because its the remains of an old service call, we should have a call for each command instead.

+
+stateMachineRecordedTransactionMapping +abstract fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future +such mappings as well.

+
+stateMachinesAndUpdates +abstract fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

+
+vaultAndUpdates +abstract fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>

Returns a pair of head states in the vault and an observable of future updates to the vault.

+
+verifiedTransactions +abstract fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns a pair of all recorded transactions and an observable of future recorded ones.

+
+

Inheritors

+ + + + + + + +
+ServerRPCOps +class ServerRPCOps : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server +thread (i.e. serially). Arguments are serialised and deserialised automatically.

+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machine-recorded-transaction-mapping.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machine-recorded-transaction-mapping.html new file mode 100644 index 0000000000..78f95d2dc0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machine-recorded-transaction-mapping.html @@ -0,0 +1,17 @@ + + +CordaRPCOps.stateMachineRecordedTransactionMapping - + + + +com.r3corda.node.services.messaging / CordaRPCOps / stateMachineRecordedTransactionMapping
+
+

stateMachineRecordedTransactionMapping

+ +@RPCReturnsObservables abstract fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future +such mappings as well.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machines-and-updates.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machines-and-updates.html new file mode 100644 index 0000000000..6d0fd881e2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/state-machines-and-updates.html @@ -0,0 +1,16 @@ + + +CordaRPCOps.stateMachinesAndUpdates - + + + +com.r3corda.node.services.messaging / CordaRPCOps / stateMachinesAndUpdates
+
+

stateMachinesAndUpdates

+ +@RPCReturnsObservables abstract fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>
+

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/vault-and-updates.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/vault-and-updates.html new file mode 100644 index 0000000000..31416f1e0e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/vault-and-updates.html @@ -0,0 +1,16 @@ + + +CordaRPCOps.vaultAndUpdates - + + + +com.r3corda.node.services.messaging / CordaRPCOps / vaultAndUpdates
+
+

vaultAndUpdates

+ +@RPCReturnsObservables abstract fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>
+

Returns a pair of head states in the vault and an observable of future updates to the vault.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/verified-transactions.html b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/verified-transactions.html new file mode 100644 index 0000000000..42a92063f9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-corda-r-p-c-ops/verified-transactions.html @@ -0,0 +1,16 @@ + + +CordaRPCOps.verifiedTransactions - + + + +com.r3corda.node.services.messaging / CordaRPCOps / verifiedTransactions
+
+

verifiedTransactions

+ +@RPCReturnsObservables abstract fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>
+

Returns a pair of all recorded transactions and an observable of future recorded ones.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/-init-.html index 330857a049..c34e6acd1b 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/-init-.html @@ -7,14 +7,14 @@ com.r3corda.node.services.messaging / NodeMessagingClient / <init>

<init>

-NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, rpcOps: CordaRPCOps? = null)
+NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, persistenceTx: (() -> Unit) -> Unit = { it() })

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. Its primarily concerned with peer-to-peer messaging.

Message handlers are run on the provided AffinityExecutor synchronously, that is, the Artemis callback threads are blocked until the handler is scheduled and completed. This allows backpressure to propagate from the given executor through into Artemis and from there, back through to senders.

-

An implementation of CordaRPCOps can be provided. If given, clients using the CordaMQClient RPC library can +

An implementation of CordaRPCOps can be provided. If given, clients using the CordaMQClient RPC library can invoke methods on the provided implementation. There is more documentation on this in the docsite and the CordaRPCClient class.


@@ -34,6 +34,11 @@ that this is a NetworkMapService node which will be bound globally to the name " persistentInbox - If true the inbox will be created persistent if not already created. If false the inbox queue will be transient, which is appropriate for UI clients for example.

+ +persistenceTx - A lambda to wrap message processing in any transaction required by the persistence layer (e.g. +a database transaction) without introducing a dependency on the actual solution and any parameters it requires +in this class.
+

diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/create-message.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/create-message.html index ddf5cf7827..ae991e7d47 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/create-message.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/create-message.html @@ -7,8 +7,8 @@ com.r3corda.node.services.messaging / NodeMessagingClient / createMessage

createMessage

- -fun createMessage(topicSession: TopicSession, data: ByteArray): Message
+ +fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID): Message
Overrides MessagingService.createMessage

Returns an initialised Message with the current time, etc, already filled in.

Parameters

@@ -16,19 +16,5 @@ Overrides -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/-node-messaging-client/dispatcher.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/dispatcher.html new file mode 100644 index 0000000000..2d2e895853 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/dispatcher.html @@ -0,0 +1,15 @@ + + +NodeMessagingClient.dispatcher - + + + +com.r3corda.node.services.messaging / NodeMessagingClient / dispatcher
+
+

dispatcher

+ +var dispatcher: RPCDispatcher?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/index.html index a43c185ce9..9101de6c40 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/index.html @@ -14,7 +14,7 @@ Artemis is a message queue broker and here we run a client connecting to the spe

Message handlers are run on the provided AffinityExecutor synchronously, that is, the Artemis callback threads are blocked until the handler is scheduled and completed. This allows backpressure to propagate from the given executor through into Artemis and from there, back through to senders.

-

An implementation of CordaRPCOps can be provided. If given, clients using the CordaMQClient RPC library can +

An implementation of CordaRPCOps can be provided. If given, clients using the CordaMQClient RPC library can invoke methods on the provided implementation. There is more documentation on this in the docsite and the CordaRPCClient class.


@@ -34,6 +34,11 @@ that this is a NetworkMapService node which will be bound globally to the name " persistentInbox - If true the inbox will be created persistent if not already created. If false the inbox queue will be transient, which is appropriate for UI clients for example.

+ +persistenceTx - A lambda to wrap message processing in any transaction required by the persistence layer (e.g. +a database transaction) without introducing a dependency on the actual solution and any parameters it requires +in this class.
+

Types

@@ -54,7 +59,7 @@ If false the inbox queue will be transient, which is appropriate for UI clients @@ -66,6 +71,12 @@ Artemis is a message queue broker and here we run a client connecting to the spe + + + + @@ -85,6 +96,12 @@ Artemis is a message queue broker and here we run a client connecting to the spe + + + + @@ -125,8 +142,7 @@ given executor.

@@ -158,7 +174,7 @@ delivered: if the recipients are offline then the message could be queued hours +fun start(rpcOps: CordaRPCOps? = null): Unit +fun configureWithDevSSLCertificate(): Unit + + + + + + + + +fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit + + + +
<init> -NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, rpcOps: CordaRPCOps? = null)

This class implements the MessagingService API using Apache Artemis, the successor to their ActiveMQ product. +NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, persistenceTx: (() -> Unit) -> Unit = { it() })

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. Its primarily concerned with peer-to-peer messaging.

+dispatcher +var dispatcher: RPCDispatcher?
executor val executor: AffinityExecutor
+persistenceTx +val persistenceTx: (() -> Unit) -> Unit
persistentInbox val persistentInbox: Boolean 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.

+fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID): Message

Returns an initialised Message with the current time, etc, already filled in.

start -fun start(): Unit
@@ -187,9 +203,7 @@ unfortunately Artemis tends to bury the exception when the password is wrong.

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.

-
@@ -247,6 +261,21 @@ The node will populate with their own identity based address when they register
+createMessage +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+
+onNext +fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>

Returns a ListenableFuture of the next message payload (Message.data) which is received on the given topic and sessionId. +The payload is deserilaized to an object of type M. Any exceptions thrown will be captured by the future.

+
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 @@ -262,8 +291,15 @@ doesnt take the registration object, unlike the callback to send

-fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
-fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit
+sendRequest +fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>

Sends a ServiceRequestMessage to target and returns a ListenableFuture of the response.

+
diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/persistence-tx.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/persistence-tx.html new file mode 100644 index 0000000000..77819f4f32 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/persistence-tx.html @@ -0,0 +1,15 @@ + + +NodeMessagingClient.persistenceTx - + + + +com.r3corda.node.services.messaging / NodeMessagingClient / persistenceTx
+
+

persistenceTx

+ +val persistenceTx: (() -> Unit) -> Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/start.html b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/start.html index 039d158275..cd49464ba7 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/start.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-node-messaging-client/start.html @@ -7,8 +7,8 @@ com.r3corda.node.services.messaging / NodeMessagingClient / start

start

- -fun start(): Unit
+ +fun start(rpcOps: CordaRPCOps? = null): Unit


diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-r-p-c-ops/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-r-p-c-ops/index.html index 0fde87fc77..0255a1c833 100644 --- a/docs/build/html/api/com.r3corda.node.services.messaging/-r-p-c-ops/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-r-p-c-ops/index.html @@ -29,7 +29,7 @@ interface is here in case we split the RPC system out into a separate library on
-CordaRPCOps interface CordaRPCOps : RPCOps

RPC operations that the node exposes to clients using the Java client library. These can be called from client apps and are implemented by the node in the ServerRPCOps class.

diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/-init-.html new file mode 100644 index 0000000000..6d45117237 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineInfo.<init> - + + + +com.r3corda.node.services.messaging / StateMachineInfo / <init>
+
+

<init>

+StateMachineInfo(id: StateMachineRunId, protocolLogicClassName: String, progressTrackerStepAndUpdates: <ERROR CLASS><String, <ERROR CLASS><String>>?)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/from-protocol-state-machine-impl.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/from-protocol-state-machine-impl.html new file mode 100644 index 0000000000..a23a1de4d8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/from-protocol-state-machine-impl.html @@ -0,0 +1,15 @@ + + +StateMachineInfo.fromProtocolStateMachineImpl - + + + +com.r3corda.node.services.messaging / StateMachineInfo / fromProtocolStateMachineImpl
+
+

fromProtocolStateMachineImpl

+ +fun fromProtocolStateMachineImpl(psm: ProtocolStateMachineImpl<*>): StateMachineInfo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/id.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/id.html new file mode 100644 index 0000000000..0da6f8486d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/id.html @@ -0,0 +1,15 @@ + + +StateMachineInfo.id - + + + +com.r3corda.node.services.messaging / StateMachineInfo / id
+
+

id

+ +val id: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/index.html new file mode 100644 index 0000000000..96e7239e49 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/index.html @@ -0,0 +1,59 @@ + + +StateMachineInfo - + + + +com.r3corda.node.services.messaging / StateMachineInfo
+
+

StateMachineInfo

+data class StateMachineInfo
+
+
+

Constructors

+ + + + + + + +
+<init> +StateMachineInfo(id: StateMachineRunId, protocolLogicClassName: String, progressTrackerStepAndUpdates: <ERROR CLASS><String, <ERROR CLASS><String>>?)
+

Properties

+ + + + + + + + + + + + + + + +
+id +val id: StateMachineRunId
+progressTrackerStepAndUpdates +val progressTrackerStepAndUpdates: <ERROR CLASS><String, <ERROR CLASS><String>>?
+protocolLogicClassName +val protocolLogicClassName: String
+

Companion Object Functions

+ + + + + + + +
+fromProtocolStateMachineImpl +fun fromProtocolStateMachineImpl(psm: ProtocolStateMachineImpl<*>): StateMachineInfo
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/progress-tracker-step-and-updates.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/progress-tracker-step-and-updates.html new file mode 100644 index 0000000000..4941853471 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/progress-tracker-step-and-updates.html @@ -0,0 +1,15 @@ + + +StateMachineInfo.progressTrackerStepAndUpdates - + + + +com.r3corda.node.services.messaging / StateMachineInfo / progressTrackerStepAndUpdates
+
+

progressTrackerStepAndUpdates

+ +val progressTrackerStepAndUpdates: <ERROR CLASS><String, <ERROR CLASS><String>>?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/protocol-logic-class-name.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/protocol-logic-class-name.html new file mode 100644 index 0000000000..6ed88be8f0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-info/protocol-logic-class-name.html @@ -0,0 +1,15 @@ + + +StateMachineInfo.protocolLogicClassName - + + + +com.r3corda.node.services.messaging / StateMachineInfo / protocolLogicClassName
+
+

protocolLogicClassName

+ +val protocolLogicClassName: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/-init-.html new file mode 100644 index 0000000000..e2dcbcca09 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineUpdate.Added.<init> - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / Added / <init>
+
+

<init>

+Added(stateMachineInfo: StateMachineInfo)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/index.html new file mode 100644 index 0000000000..a18473ec60 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/index.html @@ -0,0 +1,47 @@ + + +StateMachineUpdate.Added - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / Added
+
+

Added

+class Added : StateMachineUpdate
+
+
+

Constructors

+ + + + + + + +
+<init> +Added(stateMachineInfo: StateMachineInfo)
+

Properties

+ + + + + + + +
+stateMachineInfo +val stateMachineInfo: StateMachineInfo
+

Inherited Properties

+ + + + + + + +
+id +val id: StateMachineRunId
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/state-machine-info.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/state-machine-info.html new file mode 100644 index 0000000000..6fcebe111d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-added/state-machine-info.html @@ -0,0 +1,15 @@ + + +StateMachineUpdate.Added.stateMachineInfo - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / Added / stateMachineInfo
+
+

stateMachineInfo

+ +val stateMachineInfo: StateMachineInfo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/-init-.html new file mode 100644 index 0000000000..4d1db0ae92 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineUpdate.Removed.<init> - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / Removed / <init>
+
+

<init>

+Removed(id: StateMachineRunId)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/index.html new file mode 100644 index 0000000000..2328d6b7a5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/-removed/index.html @@ -0,0 +1,36 @@ + + +StateMachineUpdate.Removed - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / Removed
+
+

Removed

+class Removed : StateMachineUpdate
+
+
+

Constructors

+ + + + + + + +
+<init> +Removed(id: StateMachineRunId)
+

Inherited Properties

+ + + + + + + +
+id +val id: StateMachineRunId
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/from-state-machine-change.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/from-state-machine-change.html new file mode 100644 index 0000000000..756897da0a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/from-state-machine-change.html @@ -0,0 +1,15 @@ + + +StateMachineUpdate.fromStateMachineChange - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / fromStateMachineChange
+
+

fromStateMachineChange

+ +fun fromStateMachineChange(change: Change): StateMachineUpdate
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/id.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/id.html new file mode 100644 index 0000000000..bcb8505d83 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/id.html @@ -0,0 +1,15 @@ + + +StateMachineUpdate.id - + + + +com.r3corda.node.services.messaging / StateMachineUpdate / id
+
+

id

+ +val id: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/index.html new file mode 100644 index 0000000000..576efdc7af --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-state-machine-update/index.html @@ -0,0 +1,70 @@ + + +StateMachineUpdate - + + + +com.r3corda.node.services.messaging / StateMachineUpdate
+
+

StateMachineUpdate

+sealed class StateMachineUpdate
+
+
+

Types

+ + + + + + + + + + + +
+Added +class Added : StateMachineUpdate
+Removed +class Removed : StateMachineUpdate
+

Properties

+ + + + + + + +
+id +val id: StateMachineRunId
+

Companion Object Functions

+ + + + + + + +
+fromStateMachineChange +fun fromStateMachineChange(change: Change): StateMachineUpdate
+

Inheritors

+ + + + + + + + + + + +
+Added +class Added : StateMachineUpdate
+Removed +class Removed : StateMachineUpdate
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/-init-.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/-init-.html similarity index 51% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/-init-.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/-init-.html index ccfed510ca..b75f2ef58a 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/-init-.html @@ -4,10 +4,10 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / Failed / <init>
+com.r3corda.node.services.messaging / TransactionBuildResult / Failed / <init>

<init>

-Failed(message: String?)
+Failed(message: String?)

State indicating the action undertaken failed, either directly (it is not something which requires a state machine), or before a state machine was started.


diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/index.html similarity index 75% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/index.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/index.html index fc93c37b4d..c5f65823c4 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-failed/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-failed/index.html @@ -4,7 +4,7 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / Failed
+com.r3corda.node.services.messaging / TransactionBuildResult / Failed

Failed

class Failed : TransactionBuildResult
@@ -19,7 +19,7 @@ state machine), or before a state machine was started.

<init> -Failed(message: String?)

State indicating the action undertaken failed, either directly (it is not something which requires a +Failed(message: String?)

State indicating the action undertaken failed, either directly (it is not something which requires a state machine), or before a state machine was started.

<init> -ProtocolStarted(fiberId: Long, transaction: LedgerTransaction?, message: String?)

State indicating that a protocol is managing this request, and that the client should track protocol state machine +ProtocolStarted(id: StateMachineRunId, transaction: SignedTransaction?, message: String?)

State indicating that a protocol is managing this request, and that the client should track protocol state machine updates for further information. The monitor will separately receive notification of the state machine having been added, as it would any other state machine. This response is used solely to enable the monitor to identify the state machine (and its progress) as associated with the request.

@@ -37,9 +37,9 @@ the state machine (and its progress) as associated with the request.

-fiberId -val fiberId: Long
@@ -51,7 +51,7 @@ the state machine (and its progress) as associated with the request.

transaction -val transaction: LedgerTransaction?
diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/message.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/message.html similarity index 54% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/message.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/message.html index 650afcba7c..f6fe214dc2 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/message.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/message.html @@ -4,10 +4,10 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted / message
+com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted / message

message

- + val message: String?


diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/to-string.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/to-string.html similarity index 56% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/to-string.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/to-string.html index d79cbde6b2..202f691de4 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/to-string.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/to-string.html @@ -4,10 +4,10 @@ -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted / toString
+com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted / toString

toString

- + fun toString(): String


diff --git a/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/transaction.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/transaction.html new file mode 100644 index 0000000000..694c9d0e0f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/-protocol-started/transaction.html @@ -0,0 +1,15 @@ + + +TransactionBuildResult.ProtocolStarted.transaction - + + + +com.r3corda.node.services.messaging / TransactionBuildResult / ProtocolStarted / transaction
+
+

transaction

+ +val transaction: SignedTransaction?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/index.html b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/index.html similarity index 95% rename from docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/index.html rename to docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/index.html index f2949c53e9..b62a6e3821 100644 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/index.html +++ b/docs/build/html/api/com.r3corda.node.services.messaging/-transaction-build-result/index.html @@ -4,7 +4,7 @@ -com.r3corda.node.services.monitor / TransactionBuildResult
+com.r3corda.node.services.messaging / TransactionBuildResult

TransactionBuildResult

sealed class TransactionBuildResult
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 39a1f7ea22..084049c043 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 @@ -33,7 +33,7 @@ -CordaRPCOps +CordaRPCOps interface CordaRPCOps : RPCOps

RPC operations that the node exposes to clients using the Java client library. These can be called from client apps and are implemented by the node in the ServerRPCOps class.

@@ -73,6 +73,24 @@ are handled, this is probably the wrong system.

interface is here in case we split the RPC system out into a separate library one day.

+ + +StateMachineInfo + +data class StateMachineInfo + + + +StateMachineUpdate + +sealed class StateMachineUpdate + + + +TransactionBuildResult + +sealed class TransactionBuildResult +

Annotations

diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/-init-.html deleted file mode 100644 index d753b6c8dc..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ClientToServiceCommandMessage.<init> - - - - -com.r3corda.node.services.monitor / ClientToServiceCommandMessage / <init>
-
-

<init>

-ClientToServiceCommandMessage(sessionID: Long, replyToRecipient: SingleMessageRecipient, command: ClientToServiceCommand)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/command.html b/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/command.html deleted file mode 100644 index 6fe85d56d7..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/command.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ClientToServiceCommandMessage.command - - - - -com.r3corda.node.services.monitor / ClientToServiceCommandMessage / command
-
-

command

- -val command: ClientToServiceCommand
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/index.html deleted file mode 100644 index 986cfe088e..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - -ClientToServiceCommandMessage - - - - -com.r3corda.node.services.monitor / ClientToServiceCommandMessage
-
-

ClientToServiceCommandMessage

-data class ClientToServiceCommandMessage : DirectRequestMessage
-
-
-

Constructors

- - - - - - - -
-<init> -ClientToServiceCommandMessage(sessionID: Long, replyToRecipient: SingleMessageRecipient, command: ClientToServiceCommand)
-

Properties

- - - - - - - - - - - - - - - -
-command -val command: ClientToServiceCommand
-replyToRecipient -val replyToRecipient: SingleMessageRecipient
-sessionID -val sessionID: Long
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/reply-to-recipient.html b/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/reply-to-recipient.html deleted file mode 100644 index fc2e48b985..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/reply-to-recipient.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ClientToServiceCommandMessage.replyToRecipient - - - - -com.r3corda.node.services.monitor / ClientToServiceCommandMessage / replyToRecipient
-
-

replyToRecipient

- -val replyToRecipient: SingleMessageRecipient
-Overrides DirectRequestMessage.replyToRecipient
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/session-i-d.html b/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/session-i-d.html deleted file mode 100644 index fc41f03794..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-client-to-service-command-message/session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ClientToServiceCommandMessage.sessionID - - - - -com.r3corda.node.services.monitor / ClientToServiceCommandMessage / sessionID
-
-

sessionID

- -val sessionID: Long
-Overrides ServiceRequestMessage.sessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/-init-.html deleted file mode 100644 index a8c66a6817..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -DeregisterRequest.<init> - - - - -com.r3corda.node.services.monitor / DeregisterRequest / <init>
-
-

<init>

-DeregisterRequest(replyToRecipient: SingleMessageRecipient, sessionID: Long)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/index.html deleted file mode 100644 index 758f031144..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/index.html +++ /dev/null @@ -1,53 +0,0 @@ - - -DeregisterRequest - - - - -com.r3corda.node.services.monitor / DeregisterRequest
-
-

DeregisterRequest

-data class DeregisterRequest : DirectRequestMessage
-
-
-

Constructors

- - - - - - - -
-<init> -DeregisterRequest(replyToRecipient: SingleMessageRecipient, sessionID: Long)
-

Properties

- - - - - - - - - - - -
-replyToRecipient -val replyToRecipient: SingleMessageRecipient
-sessionID -val sessionID: Long
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/reply-to-recipient.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/reply-to-recipient.html deleted file mode 100644 index 1d93d05a65..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/reply-to-recipient.html +++ /dev/null @@ -1,16 +0,0 @@ - - -DeregisterRequest.replyToRecipient - - - - -com.r3corda.node.services.monitor / DeregisterRequest / replyToRecipient
-
-

replyToRecipient

- -val replyToRecipient: SingleMessageRecipient
-Overrides DirectRequestMessage.replyToRecipient
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/session-i-d.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/session-i-d.html deleted file mode 100644 index 9e5f5fa332..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-request/session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -DeregisterRequest.sessionID - - - - -com.r3corda.node.services.monitor / DeregisterRequest / sessionID
-
-

sessionID

- -val sessionID: Long
-Overrides ServiceRequestMessage.sessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/-init-.html deleted file mode 100644 index 5695b8dcfc..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -DeregisterResponse.<init> - - - - -com.r3corda.node.services.monitor / DeregisterResponse / <init>
-
-

<init>

-DeregisterResponse(success: Boolean)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/index.html deleted file mode 100644 index ef45f7425f..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - -DeregisterResponse - - - - -com.r3corda.node.services.monitor / DeregisterResponse
-
-

DeregisterResponse

-data class DeregisterResponse
-
-
-

Constructors

- - - - - - - -
-<init> -DeregisterResponse(success: Boolean)
-

Properties

- - - - - - - -
-success -val success: Boolean
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/success.html b/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/success.html deleted file mode 100644 index cb13a2db49..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-deregister-response/success.html +++ /dev/null @@ -1,15 +0,0 @@ - - -DeregisterResponse.success - - - - -com.r3corda.node.services.monitor / DeregisterResponse / success
-
-

success

- -val success: Boolean
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-d-e-r-e-g-i-s-t-e-r_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-d-e-r-e-g-i-s-t-e-r_-t-o-p-i-c.html deleted file mode 100644 index 923c8ea623..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-d-e-r-e-g-i-s-t-e-r_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.DEREGISTER_TOPIC - - - - -com.r3corda.node.services.monitor / NodeMonitorService / DEREGISTER_TOPIC
-
-

DEREGISTER_TOPIC

- -val DEREGISTER_TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-i-n_-e-v-e-n-t_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-i-n_-e-v-e-n-t_-t-o-p-i-c.html deleted file mode 100644 index 840c0dbe1a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-i-n_-e-v-e-n-t_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.IN_EVENT_TOPIC - - - - -com.r3corda.node.services.monitor / NodeMonitorService / IN_EVENT_TOPIC
-
-

IN_EVENT_TOPIC

- -val IN_EVENT_TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-init-.html deleted file mode 100644 index 895cfa7bdb..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-init-.html +++ /dev/null @@ -1,20 +0,0 @@ - - -NodeMonitorService.<init> - - - - -com.r3corda.node.services.monitor / NodeMonitorService / <init>
-
-

<init>

-NodeMonitorService(services: ServiceHubInternal, smm: StateMachineManager)
-

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

-

This is intended to enable a range of tools from end user UI to ops tools which monitor health across a number of nodes.

-
-
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/-init-.html deleted file mode 100644 index 0170831299..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NodeMonitorService.InputStateRefResolveFailed.<init> - - - - -com.r3corda.node.services.monitor / NodeMonitorService / InputStateRefResolveFailed / <init>
-
-

<init>

-InputStateRefResolveFailed(stateRefs: List<StateRef>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/index.html deleted file mode 100644 index a747bab07e..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-input-state-ref-resolve-failed/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - -NodeMonitorService.InputStateRefResolveFailed - - - - -com.r3corda.node.services.monitor / NodeMonitorService / InputStateRefResolveFailed
-
-

InputStateRefResolveFailed

-class InputStateRefResolveFailed : Exception
-
-
-

Constructors

- - - - - - - -
-<init> -InputStateRefResolveFailed(stateRefs: List<StateRef>)
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-o-u-t_-e-v-e-n-t_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-o-u-t_-e-v-e-n-t_-t-o-p-i-c.html deleted file mode 100644 index 5173b4737f..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-o-u-t_-e-v-e-n-t_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.OUT_EVENT_TOPIC - - - - -com.r3corda.node.services.monitor / NodeMonitorService / OUT_EVENT_TOPIC
-
-

OUT_EVENT_TOPIC

- -val OUT_EVENT_TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-r-e-g-i-s-t-e-r_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-r-e-g-i-s-t-e-r_-t-o-p-i-c.html deleted file mode 100644 index fc09a74854..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-r-e-g-i-s-t-e-r_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.REGISTER_TOPIC - - - - -com.r3corda.node.services.monitor / NodeMonitorService / REGISTER_TOPIC
-
-

REGISTER_TOPIC

- -val REGISTER_TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/-init-.html deleted file mode 100644 index 535a899df7..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NodeMonitorService.RegisteredListener.<init> - - - - -com.r3corda.node.services.monitor / NodeMonitorService / RegisteredListener / <init>
-
-

<init>

-RegisteredListener(recipients: MessageRecipients, sessionID: Long)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/index.html deleted file mode 100644 index b3d05c2422..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - -NodeMonitorService.RegisteredListener - - - - -com.r3corda.node.services.monitor / NodeMonitorService / RegisteredListener
-
-

RegisteredListener

-data class RegisteredListener
-
-
-

Constructors

- - - - - - - -
-<init> -RegisteredListener(recipients: MessageRecipients, sessionID: Long)
-

Properties

- - - - - - - - - - - -
-recipients -val recipients: MessageRecipients
-sessionID -val sessionID: Long
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/recipients.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/recipients.html deleted file mode 100644 index 417d51e162..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/recipients.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.RegisteredListener.recipients - - - - -com.r3corda.node.services.monitor / NodeMonitorService / RegisteredListener / recipients
-
-

recipients

- -val recipients: MessageRecipients
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/session-i-d.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/session-i-d.html deleted file mode 100644 index f5ce9a4f65..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-registered-listener/session-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.RegisteredListener.sessionID - - - - -com.r3corda.node.services.monitor / NodeMonitorService / RegisteredListener / sessionID
-
-

sessionID

- -val sessionID: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-s-t-a-t-e_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-s-t-a-t-e_-t-o-p-i-c.html deleted file mode 100644 index d109a1e9ff..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/-s-t-a-t-e_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.STATE_TOPIC - - - - -com.r3corda.node.services.monitor / NodeMonitorService / STATE_TOPIC
-
-

STATE_TOPIC

- -val STATE_TOPIC: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/index.html deleted file mode 100644 index e1e45d8d53..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - -NodeMonitorService - - - - -com.r3corda.node.services.monitor / NodeMonitorService
-
-

NodeMonitorService

-class NodeMonitorService : AbstractNodeService
-

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

-

This is intended to enable a range of tools from end user UI to ops tools which monitor health across a number of nodes.

-
-
-
-
-

Types

- - - - - - - -
-RegisteredListener -data class RegisteredListener
-

Exceptions

- - - - - - - -
-InputStateRefResolveFailed -class InputStateRefResolveFailed : Exception
-

Constructors

- - - - - - - -
-<init> -NodeMonitorService(services: ServiceHubInternal, smm: StateMachineManager)

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

-
-

Properties

- - - - - - - - - - - -
-listeners -val listeners: MutableSet<RegisteredListener>
-smm -val smm: StateMachineManager
-

Inherited Properties

- - - - - - - - - - - -
-net -val net: MessagingServiceInternal
-services -val services: ServiceHubInternal
-

Functions

- - - - - - - - - - - -
-processDeregisterRequest -fun processDeregisterRequest(req: DeregisterRequest): Unit

Process a request from a monitor to remove them from the subscribers.

-
-processRegisterRequest -fun processRegisterRequest(req: RegisterRequest): Unit

Process a request from a monitor to add them to the subscribers. This includes hooks to authenticate the request, -but currently all requests pass (and theres no access control on vaults, so it has no actual meaning).

-
-

Inherited Functions

- - - - - - - - - - - -
-addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-
-addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
-

Companion Object Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-DEREGISTER_TOPIC -val DEREGISTER_TOPIC: String
-IN_EVENT_TOPIC -val IN_EVENT_TOPIC: String
-OUT_EVENT_TOPIC -val OUT_EVENT_TOPIC: String
-REGISTER_TOPIC -val REGISTER_TOPIC: String
-STATE_TOPIC -val STATE_TOPIC: String
-logger -val logger: <ERROR CLASS>
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/listeners.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/listeners.html deleted file mode 100644 index c455fcd9f4..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/listeners.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.listeners - - - - -com.r3corda.node.services.monitor / NodeMonitorService / listeners
-
-

listeners

- -val listeners: MutableSet<RegisteredListener>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/logger.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/logger.html deleted file mode 100644 index e3be1b6393..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/logger.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeMonitorService.logger - - - - -com.r3corda.node.services.monitor / NodeMonitorService / logger
-
-

logger

- -val logger: <ERROR CLASS>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-deregister-request.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-deregister-request.html deleted file mode 100644 index 6008795d48..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-deregister-request.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NodeMonitorService.processDeregisterRequest - - - - -com.r3corda.node.services.monitor / NodeMonitorService / processDeregisterRequest
-
-

processDeregisterRequest

- -fun processDeregisterRequest(req: DeregisterRequest): Unit
-

Process a request from a monitor to remove them from the subscribers.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-register-request.html b/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-register-request.html deleted file mode 100644 index 0a5f98e66a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-node-monitor-service/process-register-request.html +++ /dev/null @@ -1,17 +0,0 @@ - - -NodeMonitorService.processRegisterRequest - - - - -com.r3corda.node.services.monitor / NodeMonitorService / processRegisterRequest
-
-

processRegisterRequest

- -fun processRegisterRequest(req: RegisterRequest): Unit
-

Process a request from a monitor to add them to the subscribers. This includes hooks to authenticate the request, -but currently all requests pass (and theres no access control on vaults, so it has no actual meaning).

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/-init-.html deleted file mode 100644 index 3d9fdaa57f..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -RegisterRequest.<init> - - - - -com.r3corda.node.services.monitor / RegisterRequest / <init>
-
-

<init>

-RegisterRequest(replyToRecipient: SingleMessageRecipient, sessionID: Long)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/index.html deleted file mode 100644 index 2e831b0a1d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/index.html +++ /dev/null @@ -1,53 +0,0 @@ - - -RegisterRequest - - - - -com.r3corda.node.services.monitor / RegisterRequest
-
-

RegisterRequest

-data class RegisterRequest : DirectRequestMessage
-
-
-

Constructors

- - - - - - - -
-<init> -RegisterRequest(replyToRecipient: SingleMessageRecipient, sessionID: Long)
-

Properties

- - - - - - - - - - - -
-replyToRecipient -val replyToRecipient: SingleMessageRecipient
-sessionID -val sessionID: Long
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/reply-to-recipient.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/reply-to-recipient.html deleted file mode 100644 index 81c479704d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/reply-to-recipient.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RegisterRequest.replyToRecipient - - - - -com.r3corda.node.services.monitor / RegisterRequest / replyToRecipient
-
-

replyToRecipient

- -val replyToRecipient: SingleMessageRecipient
-Overrides DirectRequestMessage.replyToRecipient
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/session-i-d.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/session-i-d.html deleted file mode 100644 index dc32431f67..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-request/session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RegisterRequest.sessionID - - - - -com.r3corda.node.services.monitor / RegisterRequest / sessionID
-
-

sessionID

- -val sessionID: Long
-Overrides ServiceRequestMessage.sessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/-init-.html deleted file mode 100644 index 1559dc6874..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -RegisterResponse.<init> - - - - -com.r3corda.node.services.monitor / RegisterResponse / <init>
-
-

<init>

-RegisterResponse(success: Boolean)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/index.html deleted file mode 100644 index 2f8b529acd..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - -RegisterResponse - - - - -com.r3corda.node.services.monitor / RegisterResponse
-
-

RegisterResponse

-data class RegisterResponse
-
-
-

Constructors

- - - - - - - -
-<init> -RegisterResponse(success: Boolean)
-

Properties

- - - - - - - -
-success -val success: Boolean
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/success.html b/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/success.html deleted file mode 100644 index e34cb68cc1..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-register-response/success.html +++ /dev/null @@ -1,15 +0,0 @@ - - -RegisterResponse.success - - - - -com.r3corda.node.services.monitor / RegisterResponse / success
-
-

success

- -val success: Boolean
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/-init-.html deleted file mode 100644 index 5711941e7c..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ServiceToClientEvent.OutputState.<init> - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / OutputState / <init>
-
-

<init>

-OutputState(time: Instant, consumed: Set<StateRef>, produced: Set<StateAndRef<ContractState>>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/consumed.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/consumed.html deleted file mode 100644 index 1064ca99a6..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/consumed.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.OutputState.consumed - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / OutputState / consumed
-
-

consumed

- -val consumed: Set<StateRef>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/index.html deleted file mode 100644 index a5f3e22e01..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - -ServiceToClientEvent.OutputState - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / OutputState
-
-

OutputState

-class OutputState : ServiceToClientEvent
-
-
-

Constructors

- - - - - - - -
-<init> -OutputState(time: Instant, consumed: Set<StateRef>, produced: Set<StateAndRef<ContractState>>)
-

Properties

- - - - - - - - - - - -
-consumed -val consumed: Set<StateRef>
-produced -val produced: Set<StateAndRef<ContractState>>
-

Inherited Properties

- - - - - - - -
-time -val time: Instant
-

Functions

- - - - - - - -
-toString -fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/produced.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/produced.html deleted file mode 100644 index f4e8c6591a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/produced.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.OutputState.produced - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / OutputState / produced
-
-

produced

- -val produced: Set<StateAndRef<ContractState>>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/to-string.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/to-string.html deleted file mode 100644 index 1863f16ef4..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-output-state/to-string.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.OutputState.toString - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / OutputState / toString
-
-

toString

- -fun toString(): String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/-init-.html deleted file mode 100644 index 60bc1f7590..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ServiceToClientEvent.Progress.<init> - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Progress / <init>
-
-

<init>

-Progress(time: Instant, fiberId: Long, message: String)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/fiber-id.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/fiber-id.html deleted file mode 100644 index f789d9ea29..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/fiber-id.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.Progress.fiberId - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Progress / fiberId
-
-

fiberId

- -val fiberId: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/index.html deleted file mode 100644 index b11d86333f..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - -ServiceToClientEvent.Progress - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Progress
-
-

Progress

-class Progress : ServiceToClientEvent
-
-
-

Constructors

- - - - - - - -
-<init> -Progress(time: Instant, fiberId: Long, message: String)
-

Properties

- - - - - - - - - - - -
-fiberId -val fiberId: Long
-message -val message: String
-

Inherited Properties

- - - - - - - -
-time -val time: Instant
-

Functions

- - - - - - - -
-toString -fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/message.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/message.html deleted file mode 100644 index 84c1f70f61..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/message.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.Progress.message - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Progress / message
-
-

message

- -val message: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/to-string.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/to-string.html deleted file mode 100644 index 732f8a065a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-progress/to-string.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.Progress.toString - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Progress / toString
-
-

toString

- -fun toString(): String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/-init-.html deleted file mode 100644 index a141888ec6..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ServiceToClientEvent.StateMachine.<init> - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine / <init>
-
-

<init>

-StateMachine(time: Instant, fiberId: Long, label: String, addOrRemove: AddOrRemove)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/add-or-remove.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/add-or-remove.html deleted file mode 100644 index b8b451c616..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/add-or-remove.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.StateMachine.addOrRemove - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine / addOrRemove
-
-

addOrRemove

- -val addOrRemove: AddOrRemove
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/fiber-id.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/fiber-id.html deleted file mode 100644 index f9ae71ecc2..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/fiber-id.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.StateMachine.fiberId - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine / fiberId
-
-

fiberId

- -val fiberId: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/index.html deleted file mode 100644 index 061b18fb0d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - -ServiceToClientEvent.StateMachine - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine
-
-

StateMachine

-class StateMachine : ServiceToClientEvent
-
-
-

Constructors

- - - - - - - -
-<init> -StateMachine(time: Instant, fiberId: Long, label: String, addOrRemove: AddOrRemove)
-

Properties

- - - - - - - - - - - - - - - -
-addOrRemove -val addOrRemove: AddOrRemove
-fiberId -val fiberId: Long
-label -val label: String
-

Inherited Properties

- - - - - - - -
-time -val time: Instant
-

Functions

- - - - - - - -
-toString -fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/label.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/label.html deleted file mode 100644 index 16fb431855..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/label.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.StateMachine.label - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine / label
-
-

label

- -val label: String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/to-string.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/to-string.html deleted file mode 100644 index caabd19d7a..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-state-machine/to-string.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.StateMachine.toString - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / StateMachine / toString
-
-

toString

- -fun toString(): String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/-init-.html deleted file mode 100644 index 4ab7348571..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ServiceToClientEvent.TransactionBuild.<init> - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / TransactionBuild / <init>
-
-

<init>

-TransactionBuild(time: Instant, id: UUID, state: TransactionBuildResult)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/id.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/id.html deleted file mode 100644 index c16e24b33d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/id.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.TransactionBuild.id - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / TransactionBuild / id
-
-

id

- -val id: UUID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/index.html deleted file mode 100644 index 0abccb19c3..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - -ServiceToClientEvent.TransactionBuild - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / TransactionBuild
-
-

TransactionBuild

-class TransactionBuild : ServiceToClientEvent
-
-
-

Constructors

- - - - - - - -
-<init> -TransactionBuild(time: Instant, id: UUID, state: TransactionBuildResult)
-

Properties

- - - - - - - - - - - -
-id -val id: UUID
-state -val state: TransactionBuildResult
-

Inherited Properties

- - - - - - - -
-time -val time: Instant
-

Functions

- - - - - - - -
-toString -fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/state.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/state.html deleted file mode 100644 index 73993c5c0d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/state.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.TransactionBuild.state - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / TransactionBuild / state
-
-

state

- -val state: TransactionBuildResult
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/to-string.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/to-string.html deleted file mode 100644 index b076117eba..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction-build/to-string.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.TransactionBuild.toString - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / TransactionBuild / toString
-
-

toString

- -fun toString(): String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/-init-.html deleted file mode 100644 index b8e159c732..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -ServiceToClientEvent.Transaction.<init> - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Transaction / <init>
-
-

<init>

-Transaction(time: Instant, transaction: LedgerTransaction)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/index.html deleted file mode 100644 index 6e38602ca4..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - -ServiceToClientEvent.Transaction - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Transaction
-
-

Transaction

-class Transaction : ServiceToClientEvent
-
-
-

Constructors

- - - - - - - -
-<init> -Transaction(time: Instant, transaction: LedgerTransaction)
-

Properties

- - - - - - - -
-transaction -val transaction: LedgerTransaction
-

Inherited Properties

- - - - - - - -
-time -val time: Instant
-

Functions

- - - - - - - -
-toString -fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/to-string.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/to-string.html deleted file mode 100644 index 40c25ed0a7..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/to-string.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.Transaction.toString - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Transaction / toString
-
-

toString

- -fun toString(): String
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/transaction.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/transaction.html deleted file mode 100644 index 0377826fb0..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/-transaction/transaction.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.Transaction.transaction - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / Transaction / transaction
-
-

transaction

- -val transaction: LedgerTransaction
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/index.html deleted file mode 100644 index 18a52b2e37..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - -ServiceToClientEvent - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent
-
-

ServiceToClientEvent

-sealed class ServiceToClientEvent
-

Events triggered by changes in the node, and sent to monitoring client(s).

-
-
-

Types

- - - - - - - - - - - - - - - - - - - - - - - -
-OutputState -class OutputState : ServiceToClientEvent
-Progress -class Progress : ServiceToClientEvent
-StateMachine -class StateMachine : ServiceToClientEvent
-Transaction -class Transaction : ServiceToClientEvent
-TransactionBuild -class TransactionBuild : ServiceToClientEvent
-

Properties

- - - - - - - -
-time -val time: Instant
-

Inheritors

- - - - - - - - - - - - - - - - - - - - - - - -
-OutputState -class OutputState : ServiceToClientEvent
-Progress -class Progress : ServiceToClientEvent
-StateMachine -class StateMachine : ServiceToClientEvent
-Transaction -class Transaction : ServiceToClientEvent
-TransactionBuild -class TransactionBuild : ServiceToClientEvent
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/time.html b/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/time.html deleted file mode 100644 index 1413e2840e..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-service-to-client-event/time.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceToClientEvent.time - - - - -com.r3corda.node.services.monitor / ServiceToClientEvent / time
-
-

time

- -val time: Instant
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/-init-.html deleted file mode 100644 index 51d939115d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -StateSnapshotMessage.<init> - - - - -com.r3corda.node.services.monitor / StateSnapshotMessage / <init>
-
-

<init>

-StateSnapshotMessage(contractStates: Collection<StateAndRef<ContractState>>, protocolStates: Collection<String>)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/contract-states.html b/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/contract-states.html deleted file mode 100644 index 29ae986792..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/contract-states.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StateSnapshotMessage.contractStates - - - - -com.r3corda.node.services.monitor / StateSnapshotMessage / contractStates
-
-

contractStates

- -val contractStates: Collection<StateAndRef<ContractState>>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/index.html deleted file mode 100644 index 18f53800af..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - -StateSnapshotMessage - - - - -com.r3corda.node.services.monitor / StateSnapshotMessage
-
-

StateSnapshotMessage

-data class StateSnapshotMessage
-
-
-

Constructors

- - - - - - - -
-<init> -StateSnapshotMessage(contractStates: Collection<StateAndRef<ContractState>>, protocolStates: Collection<String>)
-

Properties

- - - - - - - - - - - -
-contractStates -val contractStates: Collection<StateAndRef<ContractState>>
-protocolStates -val protocolStates: Collection<String>
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/protocol-states.html b/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/protocol-states.html deleted file mode 100644 index 86e07210ab..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-state-snapshot-message/protocol-states.html +++ /dev/null @@ -1,15 +0,0 @@ - - -StateSnapshotMessage.protocolStates - - - - -com.r3corda.node.services.monitor / StateSnapshotMessage / protocolStates
-
-

protocolStates

- -val protocolStates: Collection<String>
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/-init-.html b/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/-init-.html deleted file mode 100644 index 29adb59e2c..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/-init-.html +++ /dev/null @@ -1,21 +0,0 @@ - - -TransactionBuildResult.ProtocolStarted.<init> - - - - -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted / <init>
-
-

<init>

-ProtocolStarted(fiberId: Long, transaction: LedgerTransaction?, message: String?)
-

State indicating that a protocol is managing this request, and that the client should track protocol state machine -updates for further information. The monitor will separately receive notification of the state machine having been -added, as it would any other state machine. This response is used solely to enable the monitor to identify -the state machine (and its progress) as associated with the request.

-

Parameters

- -transaction - the transaction created as a result, in the case where the protocol has completed.
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/fiber-id.html b/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/fiber-id.html deleted file mode 100644 index e70e2462da..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/fiber-id.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TransactionBuildResult.ProtocolStarted.fiberId - - - - -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted / fiberId
-
-

fiberId

- -val fiberId: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/transaction.html b/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/transaction.html deleted file mode 100644 index 263ecd9f55..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/-transaction-build-result/-protocol-started/transaction.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TransactionBuildResult.ProtocolStarted.transaction - - - - -com.r3corda.node.services.monitor / TransactionBuildResult / ProtocolStarted / transaction
-
-

transaction

- -val transaction: LedgerTransaction?
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.monitor/index.html b/docs/build/html/api/com.r3corda.node.services.monitor/index.html deleted file mode 100644 index 82af6e8040..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.monitor/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - -com.r3corda.node.services.monitor - - - - -com.r3corda.node.services.monitor
-
-

Package com.r3corda.node.services.monitor

-

Types

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-ClientToServiceCommandMessage -data class ClientToServiceCommandMessage : DirectRequestMessage
-DeregisterRequest -data class DeregisterRequest : DirectRequestMessage
-DeregisterResponse -data class DeregisterResponse
-NodeMonitorService -class NodeMonitorService : AbstractNodeService

Service which allows external clients to monitor the nodes vault and state machine manager, as well as trigger -actions within the node. The service also sends requests for user input back to clients, for example to enter -additional information while a protocol runs, or confirm an action.

-
-RegisterRequest -data class RegisterRequest : DirectRequestMessage
-RegisterResponse -data class RegisterResponse
-ServiceToClientEvent -sealed class ServiceToClientEvent

Events triggered by changes in the node, and sent to monitoring client(s).

-
-StateSnapshotMessage -data class StateSnapshotMessage
-TransactionBuildResult -sealed class TransactionBuildResult
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-abstract-network-map-service/index.html b/docs/build/html/api/com.r3corda.node.services.network/-abstract-network-map-service/index.html index abfdd25c2c..3de5107519 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-abstract-network-map-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-abstract-network-map-service/index.html @@ -168,14 +168,6 @@ common boilerplate code. Exceptions are propagated to the messaging layer. If y acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

- - -addProtocolHandler - -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit -

Inheritors

diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/-init-.html index c7bb83fc27..870bfe2fe3 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / FetchMapRequest / <init>

<init>

-FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: MessageRecipients, sessionID: Long)
+FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue())


diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/index.html index c7a0dc1064..af379380a4 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / FetchMapRequest

FetchMapRequest

-class FetchMapRequest : NetworkMapRequestMessage
+class FetchMapRequest : ServiceRequestMessage


Constructors

@@ -17,7 +17,7 @@ <init> -FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: MessageRecipients, sessionID: Long) +FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue()) @@ -32,6 +32,12 @@ +replyTo + +val replyTo: SingleMessageRecipient + + + sessionID val sessionID: Long @@ -44,27 +50,5 @@ -

Inherited Properties

- - - - - - - -
-replyTo -val replyTo: MessageRecipients
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/reply-to.html new file mode 100644 index 0000000000..bfbdcfae4c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-fetch-map-request/reply-to.html @@ -0,0 +1,16 @@ + + +NetworkMapService.FetchMapRequest.replyTo - + + + +com.r3corda.node.services.network / NetworkMapService / FetchMapRequest / replyTo
+
+

replyTo

+ +val replyTo: SingleMessageRecipient
+Overrides ServiceRequestMessage.replyTo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/-init-.html deleted file mode 100644 index 4bdb9b47d8..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NetworkMapService.NetworkMapRequestMessage.<init> - - - - -com.r3corda.node.services.network / NetworkMapService / NetworkMapRequestMessage / <init>
-
-

<init>

-NetworkMapRequestMessage(replyTo: MessageRecipients)
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/get-reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/get-reply-to.html deleted file mode 100644 index 411c03272e..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/get-reply-to.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NetworkMapService.NetworkMapRequestMessage.getReplyTo - - - - -com.r3corda.node.services.network / NetworkMapService / NetworkMapRequestMessage / getReplyTo
-
-

getReplyTo

- -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
-Overrides ServiceRequestMessage.getReplyTo
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/index.html deleted file mode 100644 index fa98395ee8..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - -NetworkMapService.NetworkMapRequestMessage - - - - -com.r3corda.node.services.network / NetworkMapService / NetworkMapRequestMessage
-
-

NetworkMapRequestMessage

-abstract class NetworkMapRequestMessage : ServiceRequestMessage
-
-
-

Constructors

- - - - - - - -
-<init> -NetworkMapRequestMessage(replyTo: MessageRecipients)
-

Properties

- - - - - - - -
-replyTo -val replyTo: MessageRecipients
-

Inherited Properties

- - - - - - - -
-sessionID -abstract val sessionID: Long
-

Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
-

Inheritors

- - - - - - - - - - - - - - - - - - - -
-FetchMapRequest -class FetchMapRequest : NetworkMapRequestMessage
-QueryIdentityRequest -class QueryIdentityRequest : NetworkMapRequestMessage
-RegistrationRequest -class RegistrationRequest : NetworkMapRequestMessage
-SubscribeRequest -class SubscribeRequest : NetworkMapRequestMessage
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/reply-to.html deleted file mode 100644 index 8d20583bc8..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-network-map-request-message/reply-to.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NetworkMapService.NetworkMapRequestMessage.replyTo - - - - -com.r3corda.node.services.network / NetworkMapService / NetworkMapRequestMessage / replyTo
-
-

replyTo

- -val replyTo: MessageRecipients
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/-init-.html index c2e0073daf..63d1130f32 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / QueryIdentityRequest / <init>

<init>

-QueryIdentityRequest(identity: Party, replyTo: MessageRecipients, sessionID: Long)
+QueryIdentityRequest(identity: Party, replyTo: SingleMessageRecipient, sessionID: Long)


diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/index.html index f900946b0f..a5ec35aa3c 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / QueryIdentityRequest

QueryIdentityRequest

-class QueryIdentityRequest : NetworkMapRequestMessage
+class QueryIdentityRequest : ServiceRequestMessage


Constructors

@@ -17,7 +17,7 @@ <init> -QueryIdentityRequest(identity: Party, replyTo: MessageRecipients, sessionID: Long) +QueryIdentityRequest(identity: Party, replyTo: SingleMessageRecipient, sessionID: Long) @@ -32,33 +32,17 @@ +replyTo + +val replyTo: SingleMessageRecipient + + + sessionID val sessionID: Long -

Inherited Properties

- - - - - - - -
-replyTo -val replyTo: MessageRecipients
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/reply-to.html new file mode 100644 index 0000000000..380b50ec4f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-query-identity-request/reply-to.html @@ -0,0 +1,16 @@ + + +NetworkMapService.QueryIdentityRequest.replyTo - + + + +com.r3corda.node.services.network / NetworkMapService / QueryIdentityRequest / replyTo
+
+

replyTo

+ +val replyTo: SingleMessageRecipient
+Overrides ServiceRequestMessage.replyTo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/-init-.html index 210ee9fa57..922bf74a36 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / RegistrationRequest / <init>

<init>

-RegistrationRequest(wireReg: WireNodeRegistration, replyTo: MessageRecipients, sessionID: Long)
+RegistrationRequest(wireReg: WireNodeRegistration, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue())


diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/index.html index e4cfb86148..4f46d547fd 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / RegistrationRequest

RegistrationRequest

-class RegistrationRequest : NetworkMapRequestMessage
+class RegistrationRequest : ServiceRequestMessage


Constructors

@@ -17,7 +17,7 @@ <init> -RegistrationRequest(wireReg: WireNodeRegistration, replyTo: MessageRecipients, sessionID: Long) +RegistrationRequest(wireReg: WireNodeRegistration, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue()) @@ -26,6 +26,12 @@ +replyTo + +val replyTo: SingleMessageRecipient + + + sessionID val sessionID: Long @@ -38,27 +44,5 @@ -

Inherited Properties

- - - - - - - -
-replyTo -val replyTo: MessageRecipients
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/reply-to.html new file mode 100644 index 0000000000..21d1ac4c5d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-registration-request/reply-to.html @@ -0,0 +1,16 @@ + + +NetworkMapService.RegistrationRequest.replyTo - + + + +com.r3corda.node.services.network / NetworkMapService / RegistrationRequest / replyTo
+
+

replyTo

+ +val replyTo: SingleMessageRecipient
+Overrides ServiceRequestMessage.replyTo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/-init-.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/-init-.html index 90d0fc462b..7d555dc302 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / SubscribeRequest / <init>

<init>

-SubscribeRequest(subscribe: Boolean, replyTo: MessageRecipients, sessionID: Long)
+SubscribeRequest(subscribe: Boolean, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue())


diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/index.html index 7a60bdd25e..7f0c6de908 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.network / NetworkMapService / SubscribeRequest

SubscribeRequest

-class SubscribeRequest : NetworkMapRequestMessage
+class SubscribeRequest : ServiceRequestMessage


Constructors

@@ -17,7 +17,7 @@ <init> -SubscribeRequest(subscribe: Boolean, replyTo: MessageRecipients, sessionID: Long) +SubscribeRequest(subscribe: Boolean, replyTo: SingleMessageRecipient, sessionID: Long = random63BitValue()) @@ -26,6 +26,12 @@ +replyTo + +val replyTo: SingleMessageRecipient + + + sessionID val sessionID: Long @@ -38,27 +44,5 @@ -

Inherited Properties

- - - - - - - -
-replyTo -val replyTo: MessageRecipients
-

Inherited Functions

- - - - - - - -
-getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/reply-to.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/reply-to.html new file mode 100644 index 0000000000..3dda154587 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-subscribe-request/reply-to.html @@ -0,0 +1,16 @@ + + +NetworkMapService.SubscribeRequest.replyTo - + + + +com.r3corda.node.services.network / NetworkMapService / SubscribeRequest / replyTo
+
+

replyTo

+ +val replyTo: SingleMessageRecipient
+Overrides ServiceRequestMessage.replyTo
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-type.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-type.html deleted file mode 100644 index 91a656f478..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -NetworkMapService.Type - - - - -com.r3corda.node.services.network / NetworkMapService / Type
-
-

Type

-object Type : ServiceType
-
-
-

Inherited Properties

- - - - - - - -
-id -val id: String
-

Inherited Functions

- - - - - - - - - - - - - - - - - - - -
-equals -open operator fun equals(other: Any?): Boolean
-hashCode -open fun hashCode(): Int
-isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
-toString -open fun toString(): String
- - diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/index.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/index.html index 3a427ba2b1..0552b2e976 100644 --- a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/index.html @@ -21,7 +21,7 @@ replace each other based on a serial number present in the change.

FetchMapRequest -class FetchMapRequest : NetworkMapRequestMessage +class FetchMapRequest : ServiceRequestMessage @@ -31,15 +31,9 @@ replace each other based on a serial number present in the change.

-NetworkMapRequestMessage - -abstract class NetworkMapRequestMessage : ServiceRequestMessage - - - QueryIdentityRequest -class QueryIdentityRequest : NetworkMapRequestMessage +class QueryIdentityRequest : ServiceRequestMessage @@ -51,7 +45,7 @@ replace each other based on a serial number present in the change.

RegistrationRequest -class RegistrationRequest : NetworkMapRequestMessage +class RegistrationRequest : ServiceRequestMessage @@ -63,7 +57,7 @@ replace each other based on a serial number present in the change.

SubscribeRequest -class SubscribeRequest : NetworkMapRequestMessage +class SubscribeRequest : ServiceRequestMessage @@ -73,12 +67,6 @@ replace each other based on a serial number present in the change.

-Type - -object Type : ServiceType - - - Update data class Update @@ -153,6 +141,12 @@ replace each other based on a serial number present in the change.

val logger: <ERROR CLASS> + + +type + +val type: ServiceType +

Inheritors

diff --git a/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/type.html b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/type.html new file mode 100644 index 0000000000..d887994569 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.network/-network-map-service/type.html @@ -0,0 +1,15 @@ + + +NetworkMapService.type - + + + +com.r3corda.node.services.network / NetworkMapService / type
+
+

type

+ +val type: ServiceType
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/-init-.html b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/-init-.html new file mode 100644 index 0000000000..4c51dca141 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/-init-.html @@ -0,0 +1,15 @@ + + +DBCheckpointStorage.<init> - + + + +com.r3corda.node.services.persistence / DBCheckpointStorage / <init>
+
+

<init>

+DBCheckpointStorage()
+

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/add-checkpoint.html b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/add-checkpoint.html new file mode 100644 index 0000000000..54f7ebc367 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/add-checkpoint.html @@ -0,0 +1,17 @@ + + +DBCheckpointStorage.addCheckpoint - + + + +com.r3corda.node.services.persistence / DBCheckpointStorage / addCheckpoint
+
+

addCheckpoint

+ +fun addCheckpoint(checkpoint: Checkpoint): Unit
+Overrides CheckpointStorage.addCheckpoint
+

Add a new checkpoint to the store.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/for-each.html b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/for-each.html new file mode 100644 index 0000000000..18be492100 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/for-each.html @@ -0,0 +1,19 @@ + + +DBCheckpointStorage.forEach - + + + +com.r3corda.node.services.persistence / DBCheckpointStorage / forEach
+
+

forEach

+ +fun forEach(block: (Checkpoint) -> Boolean): Unit
+Overrides CheckpointStorage.forEach
+

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/index.html new file mode 100644 index 0000000000..e18c331934 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/index.html @@ -0,0 +1,56 @@ + + +DBCheckpointStorage - + + + +com.r3corda.node.services.persistence / DBCheckpointStorage
+
+

DBCheckpointStorage

+class DBCheckpointStorage : CheckpointStorage
+

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+
+
+

Constructors

+ + + + + + + +
+<init> +DBCheckpointStorage()

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+
+

Functions

+ + + + + + + + + + + + + + + +
+addCheckpoint +fun addCheckpoint(checkpoint: Checkpoint): Unit

Add a new checkpoint to the store.

+
+forEach +fun forEach(block: (Checkpoint) -> Boolean): Unit

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+
+removeCheckpoint +fun removeCheckpoint(checkpoint: Checkpoint): Unit

Remove existing checkpoint from the store. It is an error to attempt to remove a checkpoint which doesnt exist +in the store. Doing so will throw an IllegalArgumentException.

+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/remove-checkpoint.html b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/remove-checkpoint.html new file mode 100644 index 0000000000..7a91ae70b0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-d-b-checkpoint-storage/remove-checkpoint.html @@ -0,0 +1,18 @@ + + +DBCheckpointStorage.removeCheckpoint - + + + +com.r3corda.node.services.persistence / DBCheckpointStorage / removeCheckpoint
+
+

removeCheckpoint

+ +fun removeCheckpoint(checkpoint: Checkpoint): Unit
+Overrides CheckpointStorage.removeCheckpoint
+

Remove existing checkpoint from the store. It is an error to attempt to remove a checkpoint which doesnt exist +in the store. Doing so will throw an IllegalArgumentException.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/-init-.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/-init-.html new file mode 100644 index 0000000000..376b5ab4d5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/-init-.html @@ -0,0 +1,14 @@ + + +DataVending.Service.NotifyTransactionHandler.<init> - + + + +com.r3corda.node.services.persistence / DataVending / Service / NotifyTransactionHandler / <init>
+
+

<init>

+NotifyTransactionHandler(otherParty: Party)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/call.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/call.html new file mode 100644 index 0000000000..67b2dc656f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/call.html @@ -0,0 +1,17 @@ + + +DataVending.Service.NotifyTransactionHandler.call - + + + +com.r3corda.node.services.persistence / DataVending / Service / NotifyTransactionHandler / call
+
+

call

+ +fun call(): Unit
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/index.html new file mode 100644 index 0000000000..881a21935f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/index.html @@ -0,0 +1,134 @@ + + +DataVending.Service.NotifyTransactionHandler - + + + +com.r3corda.node.services.persistence / DataVending / Service / NotifyTransactionHandler
+
+

NotifyTransactionHandler

+class NotifyTransactionHandler : ProtocolLogic<Unit>
+
+
+

Constructors

+ + + + + + + +
+<init> +NotifyTransactionHandler(otherParty: Party)
+

Properties

+ + + + + + + +
+otherParty +val otherParty: Party
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+progressTracker +open val progressTracker: ProgressTracker?

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts. It is +only available once the protocol has started, which means it cannnot be accessed in the constructor. Either +access this lazily or from inside call.

+
+

Functions

+ + + + + + + +
+call +fun call(): Unit

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+getCounterpartyMarker +open fun getCounterpartyMarker(party: Party): Class<*>

Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

+
+receive +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
+fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
+send +fun send(otherParty: Party, payload: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
+fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+track +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/other-party.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/other-party.html new file mode 100644 index 0000000000..bc916a9c39 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/-notify-transaction-handler/other-party.html @@ -0,0 +1,15 @@ + + +DataVending.Service.NotifyTransactionHandler.otherParty - + + + +com.r3corda.node.services.persistence / DataVending / Service / NotifyTransactionHandler / otherParty
+
+

otherParty

+ +val otherParty: Party
+
+
+ + 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 cd80d81885..b686288602 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 @@ -7,7 +7,7 @@ com.r3corda.node.services.persistence / DataVending / Service

Service

-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken

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.

Note that in our data model, to be able to name a thing by hash automatically gives the power to request it. There @@ -20,6 +20,17 @@ such the hash of a piece of data can be seen as a type of password allowing acce


+

Types

+ + + + + + + +
+NotifyTransactionHandler +class NotifyTransactionHandler : ProtocolLogic<Unit>

Exceptions

@@ -44,56 +55,14 @@ glue that sits between the network layer and the database layer.

-

Properties

- - - - - - - -
-storage -val storage: StorageService
-

Inherited Properties

- - - - - - - - - - - -
-net -val net: MessagingServiceInternal
-services -val services: ServiceHubInternal

Inherited Functions

+toToken - - - - +open fun toToken(context: SerializeAsTokenContext): SerializationToken
-addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

-
-addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

-fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
@@ -108,17 +77,5 @@ necessary steps to enable communication between the two protocols, including cal -

Companion Object Functions

- - - - - - - -
-notify -fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): Unit

Notify a node of a transaction. Normally any notarisation required would happen before this is called.

-
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 deleted file mode 100644 index f92feffc34..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/notify.html +++ /dev/null @@ -1,16 +0,0 @@ - - -DataVending.Service.notify - - - - -com.r3corda.node.services.persistence / DataVending / Service / notify
-
-

notify

- -fun notify(net: MessagingService, myIdentity: Party, recipient: NodeInfo, transaction: SignedTransaction): Unit
-

Notify a node of a transaction. Normally any notarisation required would happen before this is called.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/storage.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/storage.html deleted file mode 100644 index c1c15bc8fa..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/-service/storage.html +++ /dev/null @@ -1,15 +0,0 @@ - - -DataVending.Service.storage - - - - -com.r3corda.node.services.persistence / DataVending / Service / storage
-
-

storage

- -val storage: StorageService
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/index.html index 0015796763..72b5b2367d 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-data-vending/index.html @@ -23,7 +23,7 @@ Service -class Service : AbstractNodeService

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +class Service : SingletonSerializeAsToken

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.

diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/-init-.html b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/-init-.html new file mode 100644 index 0000000000..969cbc8470 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/-init-.html @@ -0,0 +1,18 @@ + + +InMemoryStateMachineRecordedTransactionMappingStorage.<init> - + + + +com.r3corda.node.services.persistence / InMemoryStateMachineRecordedTransactionMappingStorage / <init>
+
+

<init>

+InMemoryStateMachineRecordedTransactionMappingStorage()
+

This is a temporary in-memory storage of a state machine id -> txhash mapping

+

TODO persist this instead

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/add-mapping.html b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/add-mapping.html new file mode 100644 index 0000000000..82991ec72d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/add-mapping.html @@ -0,0 +1,16 @@ + + +InMemoryStateMachineRecordedTransactionMappingStorage.addMapping - + + + +com.r3corda.node.services.persistence / InMemoryStateMachineRecordedTransactionMappingStorage / addMapping
+
+

addMapping

+ +fun addMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash): Unit
+Overrides StateMachineRecordedTransactionMappingStorage.addMapping
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/index.html new file mode 100644 index 0000000000..dcf0795f1f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/index.html @@ -0,0 +1,47 @@ + + +InMemoryStateMachineRecordedTransactionMappingStorage - + + + +com.r3corda.node.services.persistence / InMemoryStateMachineRecordedTransactionMappingStorage
+
+

InMemoryStateMachineRecordedTransactionMappingStorage

+class InMemoryStateMachineRecordedTransactionMappingStorage : StateMachineRecordedTransactionMappingStorage
+

This is a temporary in-memory storage of a state machine id -> txhash mapping

+

TODO persist this instead

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +InMemoryStateMachineRecordedTransactionMappingStorage()

This is a temporary in-memory storage of a state machine id -> txhash mapping

+
+

Functions

+ + + + + + + + + + + +
+addMapping +fun addMapping(stateMachineRunId: StateMachineRunId, transactionId: SecureHash): Unit
+track +fun track(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/track.html b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/track.html new file mode 100644 index 0000000000..aeefdb12db --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-in-memory-state-machine-recorded-transaction-mapping-storage/track.html @@ -0,0 +1,16 @@ + + +InMemoryStateMachineRecordedTransactionMappingStorage.track - + + + +com.r3corda.node.services.persistence / InMemoryStateMachineRecordedTransactionMappingStorage / track
+
+

track

+ +fun track(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>
+Overrides StateMachineRecordedTransactionMappingStorage.track
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/checkpoints.html b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/checkpoints.html deleted file mode 100644 index 420b79c8c3..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/checkpoints.html +++ /dev/null @@ -1,24 +0,0 @@ - - -PerFileCheckpointStorage.checkpoints - - - - -com.r3corda.node.services.persistence / PerFileCheckpointStorage / checkpoints
-
-

checkpoints

- -val checkpoints: Iterable<Checkpoint>
-Overrides CheckpointStorage.checkpoints
-

Returns a snapshot of all the checkpoints in the store. -This may return more checkpoints than were added to this instance of the store; for example if the store persists -checkpoints to disk.

-

Getter
-

Returns a snapshot of all the checkpoints in the store. -This may return more checkpoints than were added to this instance of the store; for example if the store persists -checkpoints to disk.

-

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/for-each.html b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/for-each.html new file mode 100644 index 0000000000..a79ab0d6ee --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/for-each.html @@ -0,0 +1,19 @@ + + +PerFileCheckpointStorage.forEach - + + + +com.r3corda.node.services.persistence / PerFileCheckpointStorage / forEach
+
+

forEach

+ +fun forEach(block: (Checkpoint) -> Boolean): Unit
+Overrides CheckpointStorage.forEach
+

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/index.html index c41f61a198..b5922416d2 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-checkpoint-storage/index.html @@ -28,15 +28,6 @@ -checkpoints - -val checkpoints: Iterable<Checkpoint>

Returns a snapshot of all the checkpoints in the store. -This may return more checkpoints than were added to this instance of the store; for example if the store persists -checkpoints to disk.

- - - - storeDir val storeDir: Path @@ -55,6 +46,15 @@ checkpoints to disk.

+forEach + +fun forEach(block: (Checkpoint) -> Boolean): Unit

Allows the caller to process safely in a thread safe fashion the set of all checkpoints. +The checkpoints are only valid during the lifetime of a single call to the block, to allow memory management. +Return false from the block to terminate further iteration.

+ + + + removeCheckpoint fun removeCheckpoint(checkpoint: Checkpoint): Unit

Remove existing checkpoint from the store. It is an error to attempt to remove a checkpoint which doesnt exist diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/index.html index 16bff3576d..588873dcb9 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/index.html @@ -66,6 +66,13 @@ overwritten.

fun getTransaction(id: SecureHash): SignedTransaction?

Return the transaction with the given id, or null if no such transaction exists.

+ + +track + +fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns all currently stored transactions and further fresh ones.

+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/track.html b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/track.html new file mode 100644 index 0000000000..2625fa78e1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-per-file-transaction-storage/track.html @@ -0,0 +1,17 @@ + + +PerFileTransactionStorage.track - + + + +com.r3corda.node.services.persistence / PerFileTransactionStorage / track
+
+

track

+ +fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>
+Overrides ReadOnlyTransactionStorage.track
+

Returns all currently stored transactions and further fresh ones.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/-init-.html b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/-init-.html index 33a061d58b..b93aea824a 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.persistence / StorageServiceImpl / <init>

<init>

-StorageServiceImpl(attachments: AttachmentStorage, validatedTransactions: TransactionStorage, myLegalIdentityKey: KeyPair, myLegalIdentity: Party = Party("Unit test party", myLegalIdentityKey.public))
+StorageServiceImpl(attachments: AttachmentStorage, validatedTransactions: TransactionStorage, stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage)


diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/index.html index dc9b90fa2f..8509406a69 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/index.html @@ -17,7 +17,7 @@ <init> -StorageServiceImpl(attachments: AttachmentStorage, validatedTransactions: TransactionStorage, myLegalIdentityKey: KeyPair, myLegalIdentity: Party = Party("Unit test party", myLegalIdentityKey.public)) +StorageServiceImpl(attachments: AttachmentStorage, validatedTransactions: TransactionStorage, stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage) @@ -33,17 +33,9 @@ -myLegalIdentity +stateMachineRecordedTransactionMapping -open val myLegalIdentity: Party

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is -first installed.

- - - - -myLegalIdentityKey - -open val myLegalIdentityKey: KeyPair +open val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity-key.html b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity-key.html deleted file mode 100644 index f5404ed3b8..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity-key.html +++ /dev/null @@ -1,16 +0,0 @@ - - -StorageServiceImpl.myLegalIdentityKey - - - - -com.r3corda.node.services.persistence / StorageServiceImpl / myLegalIdentityKey
-
-

myLegalIdentityKey

- -open val myLegalIdentityKey: KeyPair
-Overrides StorageService.myLegalIdentityKey
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity.html b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity.html deleted file mode 100644 index 4dd60a83f1..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/my-legal-identity.html +++ /dev/null @@ -1,18 +0,0 @@ - - -StorageServiceImpl.myLegalIdentity - - - - -com.r3corda.node.services.persistence / StorageServiceImpl / myLegalIdentity
-
-

myLegalIdentity

- -open val myLegalIdentity: Party
-Overrides StorageService.myLegalIdentity
-

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is -first installed.

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/state-machine-recorded-transaction-mapping.html b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/state-machine-recorded-transaction-mapping.html new file mode 100644 index 0000000000..a9a9af0c59 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.persistence/-storage-service-impl/state-machine-recorded-transaction-mapping.html @@ -0,0 +1,16 @@ + + +StorageServiceImpl.stateMachineRecordedTransactionMapping - + + + +com.r3corda.node.services.persistence / StorageServiceImpl / stateMachineRecordedTransactionMapping
+
+

stateMachineRecordedTransactionMapping

+ +open val stateMachineRecordedTransactionMapping: StateMachineRecordedTransactionMappingStorage
+Overrides StorageService.stateMachineRecordedTransactionMapping
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.persistence/index.html b/docs/build/html/api/com.r3corda.node.services.persistence/index.html index 58130fd8dd..3e23bde613 100644 --- a/docs/build/html/api/com.r3corda.node.services.persistence/index.html +++ b/docs/build/html/api/com.r3corda.node.services.persistence/index.html @@ -12,12 +12,26 @@ +DBCheckpointStorage + +class DBCheckpointStorage : CheckpointStorage

Simple checkpoint key value storage in DB using the underlying JDBCHashMap and transactional context of the call sites.

+ + + + DataVending object DataVending +InMemoryStateMachineRecordedTransactionMappingStorage + +class InMemoryStateMachineRecordedTransactionMappingStorage : StateMachineRecordedTransactionMappingStorage

This is a temporary in-memory storage of a state machine id -> txhash mapping

+ + + + NodeAttachmentService class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-init-.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-init-.html new file mode 100644 index 0000000000..cbe486bf07 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-init-.html @@ -0,0 +1,15 @@ + + +HibernateObserver.<init> - + + + +com.r3corda.node.services.schema / HibernateObserver / <init>
+
+

<init>

+HibernateObserver(services: ServiceHubInternal)
+

A vault observer that extracts Object Relational Mappings for contract states that support it, and persists them with Hibernate.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/-init-.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/-init-.html new file mode 100644 index 0000000000..d47a9e2396 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/-init-.html @@ -0,0 +1,14 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.<init> - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / <init>
+
+

<init>

+NodeDatabaseConnectionProvider()
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/close-connection.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/close-connection.html new file mode 100644 index 0000000000..14362a7396 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/close-connection.html @@ -0,0 +1,15 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.closeConnection - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / closeConnection
+
+

closeConnection

+ +fun closeConnection(conn: Connection): Unit
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/get-connection.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/get-connection.html new file mode 100644 index 0000000000..919d93b3e8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/get-connection.html @@ -0,0 +1,15 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.getConnection - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / getConnection
+
+

getConnection

+ +fun getConnection(): Connection
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/index.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/index.html new file mode 100644 index 0000000000..126f18ed62 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/index.html @@ -0,0 +1,60 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider
+
+

NodeDatabaseConnectionProvider

+class NodeDatabaseConnectionProvider
+
+
+

Constructors

+ + + + + + + +
+<init> +NodeDatabaseConnectionProvider()
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+closeConnection +fun closeConnection(conn: Connection): Unit
+getConnection +fun getConnection(): Connection
+isUnwrappableAs +fun isUnwrappableAs(unwrapType: Class<*>?): Boolean
+supportsAggressiveRelease +fun supportsAggressiveRelease(): Boolean
+unwrap +fun <T> unwrap(unwrapType: Class<T>): T
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/is-unwrappable-as.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/is-unwrappable-as.html new file mode 100644 index 0000000000..5ffd275a3f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/is-unwrappable-as.html @@ -0,0 +1,15 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.isUnwrappableAs - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / isUnwrappableAs
+
+

isUnwrappableAs

+ +fun isUnwrappableAs(unwrapType: Class<*>?): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/supports-aggressive-release.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/supports-aggressive-release.html new file mode 100644 index 0000000000..e53a772bad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/supports-aggressive-release.html @@ -0,0 +1,15 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.supportsAggressiveRelease - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / supportsAggressiveRelease
+
+

supportsAggressiveRelease

+ +fun supportsAggressiveRelease(): Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/unwrap.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/unwrap.html new file mode 100644 index 0000000000..a65b83be6a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/-node-database-connection-provider/unwrap.html @@ -0,0 +1,15 @@ + + +HibernateObserver.NodeDatabaseConnectionProvider.unwrap - + + + +com.r3corda.node.services.schema / HibernateObserver / NodeDatabaseConnectionProvider / unwrap
+
+

unwrap

+ +fun <T> unwrap(unwrapType: Class<T>): T
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/index.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/index.html new file mode 100644 index 0000000000..9e1475dc74 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/index.html @@ -0,0 +1,66 @@ + + +HibernateObserver - + + + +com.r3corda.node.services.schema / HibernateObserver
+
+

HibernateObserver

+class HibernateObserver
+

A vault observer that extracts Object Relational Mappings for contract states that support it, and persists them with Hibernate.

+
+
+

Types

+ + + + + + + +
+NodeDatabaseConnectionProvider +class NodeDatabaseConnectionProvider
+

Constructors

+ + + + + + + +
+<init> +HibernateObserver(services: ServiceHubInternal)

A vault observer that extracts Object Relational Mappings for contract states that support it, and persists them with Hibernate.

+
+

Properties

+ + + + + + + + + + + +
+schemaService +val schemaService: SchemaService
+sessionFactories +val sessionFactories: ConcurrentHashMap<MappedSchema, <ERROR CLASS>>
+

Companion Object Properties

+ + + + + + + +
+logger +val logger: <ERROR CLASS>
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/logger.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/logger.html similarity index 51% rename from docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/logger.html rename to docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/logger.html index cea3043aba..fad4a47252 100644 --- a/docs/build/html/api/com.r3corda.node.services.api/-abstract-node-service/logger.html +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/logger.html @@ -1,13 +1,13 @@ -AbstractNodeService.logger - +HibernateObserver.logger - -com.r3corda.node.services.api / AbstractNodeService / logger
+com.r3corda.node.services.schema / HibernateObserver / logger

logger

- + val logger: <ERROR CLASS>


diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/schema-service.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/schema-service.html new file mode 100644 index 0000000000..d043d95351 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/schema-service.html @@ -0,0 +1,15 @@ + + +HibernateObserver.schemaService - + + + +com.r3corda.node.services.schema / HibernateObserver / schemaService
+
+

schemaService

+ +val schemaService: SchemaService
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/session-factories.html b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/session-factories.html new file mode 100644 index 0000000000..21ec13d24f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-hibernate-observer/session-factories.html @@ -0,0 +1,15 @@ + + +HibernateObserver.sessionFactories - + + + +com.r3corda.node.services.schema / HibernateObserver / sessionFactories
+
+

sessionFactories

+ +val sessionFactories: ConcurrentHashMap<MappedSchema, <ERROR CLASS>>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/-init-.html b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/-init-.html new file mode 100644 index 0000000000..9c66c2dcc8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/-init-.html @@ -0,0 +1,20 @@ + + +NodeSchemaService.<init> - + + + +com.r3corda.node.services.schema / NodeSchemaService / <init>
+
+

<init>

+NodeSchemaService()
+

Most basic implementation of SchemaService.

+

TODO: support loading schema options from node configuration. +TODO: support configuring what schemas are to be selected for persistence. +TODO: support plugins for schema version upgrading or custom mapping not supported by original QueryableState.

+
+
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/generate-mapped-object.html b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/generate-mapped-object.html new file mode 100644 index 0000000000..bd941882d9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/generate-mapped-object.html @@ -0,0 +1,18 @@ + + +NodeSchemaService.generateMappedObject - + + + +com.r3corda.node.services.schema / NodeSchemaService / generateMappedObject
+
+

generateMappedObject

+ +fun generateMappedObject(state: QueryableState, schema: MappedSchema): PersistentState
+Overrides SchemaService.generateMappedObject
+

Map a state to a PersistentState for the given schema, either via direct support from the state +or via custom logic in this service.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/index.html b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/index.html new file mode 100644 index 0000000000..23fee905fa --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/index.html @@ -0,0 +1,76 @@ + + +NodeSchemaService - + + + +com.r3corda.node.services.schema / NodeSchemaService
+
+

NodeSchemaService

+class NodeSchemaService : SchemaService, SingletonSerializeAsToken
+

Most basic implementation of SchemaService.

+

TODO: support loading schema options from node configuration. +TODO: support configuring what schemas are to be selected for persistence. +TODO: support plugins for schema version upgrading or custom mapping not supported by original QueryableState.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +NodeSchemaService()

Most basic implementation of SchemaService.

+
+

Properties

+ + + + + + + +
+schemaOptions +val schemaOptions: Map<MappedSchema, SchemaOptions>

Options configured for this nodes schemas. A missing entry for a schema implies all properties are null.

+
+

Functions

+ + + + + + + + + + + +
+generateMappedObject +fun generateMappedObject(state: QueryableState, schema: MappedSchema): PersistentState

Map a state to a PersistentState for the given schema, either via direct support from the state +or via custom logic in this service.

+
+selectSchemas +fun selectSchemas(state: QueryableState): Iterable<MappedSchema>

Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured +for this node.

+
+

Inherited Functions

+ + + + + + + +
+toToken +open fun toToken(context: SerializeAsTokenContext): SerializationToken
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/schema-options.html b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/schema-options.html new file mode 100644 index 0000000000..06109f5b0e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/schema-options.html @@ -0,0 +1,17 @@ + + +NodeSchemaService.schemaOptions - + + + +com.r3corda.node.services.schema / NodeSchemaService / schemaOptions
+
+

schemaOptions

+ +val schemaOptions: Map<MappedSchema, SchemaOptions>
+Overrides SchemaService.schemaOptions
+

Options configured for this nodes schemas. A missing entry for a schema implies all properties are null.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/select-schemas.html b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/select-schemas.html new file mode 100644 index 0000000000..14a74f8842 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/-node-schema-service/select-schemas.html @@ -0,0 +1,18 @@ + + +NodeSchemaService.selectSchemas - + + + +com.r3corda.node.services.schema / NodeSchemaService / selectSchemas
+
+

selectSchemas

+ +fun selectSchemas(state: QueryableState): Iterable<MappedSchema>
+Overrides SchemaService.selectSchemas
+

Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured +for this node.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.schema/index.html b/docs/build/html/api/com.r3corda.node.services.schema/index.html new file mode 100644 index 0000000000..74de173031 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.schema/index.html @@ -0,0 +1,30 @@ + + +com.r3corda.node.services.schema - + + + +com.r3corda.node.services.schema
+
+

Package com.r3corda.node.services.schema

+

Types

+ + + + + + + + + + + +
+HibernateObserver +class HibernateObserver

A vault observer that extracts Object Relational Mappings for contract states that support it, and persists them with Hibernate.

+
+NodeSchemaService +class NodeSchemaService : SchemaService, SingletonSerializeAsToken

Most basic implementation of SchemaService.

+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/index.html index 5fc909971c..bd7e209ea8 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/index.html @@ -15,15 +15,15 @@ -stackTraceInCaseOfProblems +session -abstract val stackTraceInCaseOfProblems: StackSnapshot +abstract val session: ProtocolSession -topic +stackTraceInCaseOfProblems -abstract val topic: String +abstract val stackTraceInCaseOfProblems: StackSnapshot @@ -34,7 +34,7 @@ ReceiveRequest -interface ReceiveRequest<T> : ProtocolIORequest +interface ReceiveRequest<T : SessionMessage> : ProtocolIORequest diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/topic.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/session.html similarity index 53% rename from docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/topic.html rename to docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/session.html index 167e9fcc64..812e012070 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/topic.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-i-o-request/session.html @@ -1,14 +1,14 @@ -ProtocolIORequest.topic - +ProtocolIORequest.session - -com.r3corda.node.services.statemachine / ProtocolIORequest / topic
+com.r3corda.node.services.statemachine / ProtocolIORequest / session

-

topic

- -abstract val topic: String
+

session

+ +abstract val session: ProtocolSession


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/-init-.html index 4a3f3fdaac..2119959810 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/-init-.html @@ -7,14 +7,7 @@ com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / <init>

<init>

-ProtocolStateMachineImpl(logic: ProtocolLogic<R>, scheduler: <ERROR CLASS>, loggerName: String)
-

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

-

These classes are created by the StateMachineManager when a new protocol is started at the topmost level. If -a protocol invokes a sub-protocol, then it will pass along the PSM to the child. The call method of the topmost -logic element gets to return the value that the entire state machine resolves to.

-
-
+ProtocolStateMachineImpl(id: StateMachineRunId, logic: ProtocolLogic<R>, scheduler: FiberScheduler)


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/current-state-machine.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/current-state-machine.html new file mode 100644 index 0000000000..d70959cc6a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/current-state-machine.html @@ -0,0 +1,16 @@ + + +ProtocolStateMachineImpl.currentStateMachine - + + + +com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / currentStateMachine
+
+

currentStateMachine

+ +fun currentStateMachine(): ProtocolStateMachineImpl<*>?
+

Return the current ProtocolStateMachineImpl or null if executing outside of one.

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/id.html new file mode 100644 index 0000000000..1166736f10 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/id.html @@ -0,0 +1,17 @@ + + +ProtocolStateMachineImpl.id - + + + +com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / id
+
+

id

+ +val id: StateMachineRunId
+Overrides ProtocolStateMachine.id
+

Unique ID for this machine run, valid across restarts

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/index.html index 8239237cb0..1f38f2fa9d 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/index.html @@ -8,13 +8,6 @@

ProtocolStateMachineImpl

class ProtocolStateMachineImpl<R> : ProtocolStateMachine<R>
-

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

-

These classes are created by the StateMachineManager when a new protocol is started at the topmost level. If -a protocol invokes a sub-protocol, then it will pass along the PSM to the child. The call method of the topmost -logic element gets to return the value that the entire state machine resolves to.

-
-


Constructors

@@ -24,9 +17,7 @@ logic element gets to return the value that the entire state machine resolves to <init> -ProtocolStateMachineImpl(logic: ProtocolLogic<R>, scheduler: <ERROR CLASS>, loggerName: String)

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

- +ProtocolStateMachineImpl(id: StateMachineRunId, logic: ProtocolLogic<R>, scheduler: FiberScheduler) @@ -35,6 +26,13 @@ For any given flow there is only one PSM, even if that protocol invokes subproto +id + +val id: StateMachineRunId

Unique ID for this machine run, valid across restarts

+ + + + logger val logger: <ERROR CLASS> @@ -47,14 +45,6 @@ For any given flow there is only one PSM, even if that protocol invokes subproto -machineId - -val machineId: Long

Unique ID for the deserialized instance protocol state machine. This is NOT maintained across a state machine -being serialized and then deserialized.

- - - - resultFuture val resultFuture: <ERROR CLASS><R>

This future will complete when the call method returns.

@@ -75,7 +65,7 @@ being serialized and then deserialized.

receive -fun <T : Any> receive(topic: String, sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T> @@ -87,13 +77,25 @@ being serialized and then deserialized.

send -fun send(topic: String, destination: Party, sessionID: Long, payload: Any): Unit +fun send(otherParty: Party, payload: Any, sessionProtocol: ProtocolLogic<*>): Unit sendAndReceive -fun <T : Any> sendAndReceive(topic: String, destination: Party, sessionIDForSend: Long, sessionIDForReceive: Long, payload: Any, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T> + + + +

Companion Object Functions

+ + + + +
+currentStateMachine +fun currentStateMachine(): ProtocolStateMachineImpl<*>?

Return the current ProtocolStateMachineImpl or null if executing outside of one.

+
diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/machine-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/machine-id.html deleted file mode 100644 index 8c476b3644..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/machine-id.html +++ /dev/null @@ -1,21 +0,0 @@ - - -ProtocolStateMachineImpl.machineId - - - - -com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / machineId
-
-

machineId

- -val machineId: Long
-Overrides ProtocolStateMachine.machineId
-

Unique ID for the deserialized instance protocol state machine. This is NOT maintained across a state machine -being serialized and then deserialized.

-

Getter
-

Unique ID for this machine, valid only while it is in memory.

-

-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/receive.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/receive.html index d8ef87f703..566da4c85d 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/receive.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/receive.html @@ -7,8 +7,8 @@ com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / receive

receive

- -fun <T : Any> receive(topic: String, sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
+ +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>
Overrides ProtocolStateMachine.receive


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send-and-receive.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send-and-receive.html index f3f759f4bf..fcacb2df6f 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send-and-receive.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send-and-receive.html @@ -7,8 +7,8 @@ com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / sendAndReceive

sendAndReceive

- -fun <T : Any> sendAndReceive(topic: String, destination: Party, sessionIDForSend: Long, sessionIDForReceive: Long, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
+ +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>
Overrides ProtocolStateMachine.sendAndReceive


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send.html index 26fa59ee59..669cce716d 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-protocol-state-machine-impl/send.html @@ -7,8 +7,8 @@ com.r3corda.node.services.statemachine / ProtocolStateMachineImpl / send

send

- -fun send(topic: String, destination: Party, sessionID: Long, payload: Any): Unit
+ +fun send(otherParty: Party, payload: Any, sessionProtocol: ProtocolLogic<*>): Unit
Overrides ProtocolStateMachine.send


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/-init-.html index 35dbbbbe1b..eb9cf8365a 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / ReceiveOnly / <init>

<init>

-ReceiveOnly(topic: String, receiveType: Class<T>, receiveSessionID: Long)
+ReceiveOnly(session: ProtocolSession, receiveType: Class<T>)


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/index.html index cd9f2b23d0..ebd10b20f7 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / ReceiveOnly

ReceiveOnly

-data class ReceiveOnly<T> : ReceiveRequest<T>
+data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T>


Constructors

@@ -17,7 +17,7 @@ <init> -ReceiveOnly(topic: String, receiveType: Class<T>, receiveSessionID: Long) +ReceiveOnly(session: ProtocolSession, receiveType: Class<T>) @@ -26,39 +26,22 @@ -receiveSessionID - -val receiveSessionID: Long - - - receiveType val receiveType: Class<T> +session + +val session: ProtocolSession + + + stackTraceInCaseOfProblems val stackTraceInCaseOfProblems: StackSnapshot - - -topic - -val topic: String - - - -

Inherited Properties

- - - - - -
-receiveTopicSession -open val receiveTopicSession: TopicSession
diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/receive-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/receive-session-i-d.html deleted file mode 100644 index 7f2c90ba2f..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ReceiveOnly.receiveSessionID - - - - -com.r3corda.node.services.statemachine / ReceiveOnly / receiveSessionID
-
-

receiveSessionID

- -val receiveSessionID: Long
-Overrides ReceiveRequest.receiveSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/session.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/session.html new file mode 100644 index 0000000000..4b3e10f204 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/session.html @@ -0,0 +1,16 @@ + + +ReceiveOnly.session - + + + +com.r3corda.node.services.statemachine / ReceiveOnly / session
+
+

session

+ +val session: ProtocolSession
+Overrides ProtocolIORequest.session
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/topic.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/topic.html deleted file mode 100644 index 465806ce81..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-only/topic.html +++ /dev/null @@ -1,16 +0,0 @@ - - -ReceiveOnly.topic - - - - -com.r3corda.node.services.statemachine / ReceiveOnly / topic
-
-

topic

- -val topic: String
-Overrides ProtocolIORequest.topic
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/index.html index 7866fb5bd4..6088988627 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / ReceiveRequest

ReceiveRequest

-interface ReceiveRequest<T> : ProtocolIORequest
+interface ReceiveRequest<T : SessionMessage> : ProtocolIORequest


Properties

@@ -15,18 +15,6 @@ -receiveSessionID - -abstract val receiveSessionID: Long - - - -receiveTopicSession - -open val receiveTopicSession: TopicSession - - - receiveType abstract val receiveType: Class<T> @@ -38,15 +26,15 @@ -stackTraceInCaseOfProblems +session -abstract val stackTraceInCaseOfProblems: StackSnapshot +abstract val session: ProtocolSession -topic +stackTraceInCaseOfProblems -abstract val topic: String +abstract val stackTraceInCaseOfProblems: StackSnapshot @@ -57,13 +45,13 @@ ReceiveOnly -data class ReceiveOnly<T> : ReceiveRequest<T> +data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T> SendAndReceive -data class SendAndReceive<T> : SendRequest, ReceiveRequest<T> +data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T> diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-session-i-d.html deleted file mode 100644 index 2b9f773898..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-session-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ReceiveRequest.receiveSessionID - - - - -com.r3corda.node.services.statemachine / ReceiveRequest / receiveSessionID
-
-

receiveSessionID

- -abstract val receiveSessionID: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-topic-session.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-topic-session.html deleted file mode 100644 index 498ace5073..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-receive-request/receive-topic-session.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ReceiveRequest.receiveTopicSession - - - - -com.r3corda.node.services.statemachine / ReceiveRequest / receiveTopicSession
-
-

receiveTopicSession

- -open val receiveTopicSession: TopicSession
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/-init-.html index b92193d6d1..01af14ec4d 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / SendAndReceive / <init>

<init>

-SendAndReceive(topic: String, destination: Party, payload: Any, sendSessionID: Long, receiveType: Class<T>, receiveSessionID: Long)
+SendAndReceive(session: ProtocolSession, message: SessionMessage, receiveType: Class<T>)


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/destination.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/destination.html deleted file mode 100644 index 98868898be..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/destination.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendAndReceive.destination - - - - -com.r3corda.node.services.statemachine / SendAndReceive / destination
-
-

destination

- -val destination: Party
-Overrides SendRequest.destination
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/index.html index bf255ad528..96a9f168ba 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / SendAndReceive

SendAndReceive

-data class SendAndReceive<T> : SendRequest, ReceiveRequest<T>
+data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T>


Constructors

@@ -17,7 +17,7 @@ <init> -SendAndReceive(topic: String, destination: Party, payload: Any, sendSessionID: Long, receiveType: Class<T>, receiveSessionID: Long) +SendAndReceive(session: ProtocolSession, message: SessionMessage, receiveType: Class<T>) @@ -26,21 +26,9 @@ -destination +message -val destination: Party - - - -payload - -val payload: Any - - - -receiveSessionID - -val receiveSessionID: Long +val message: SessionMessage @@ -50,9 +38,9 @@ -sendSessionID +session -val sendSessionID: Long +val session: ProtocolSession @@ -60,23 +48,6 @@ val stackTraceInCaseOfProblems: StackSnapshot - - -topic - -val topic: String - - - -

Inherited Properties

- - - - - -
-receiveTopicSession -open val receiveTopicSession: TopicSession
diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/message.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/message.html new file mode 100644 index 0000000000..24762fc8f1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/message.html @@ -0,0 +1,16 @@ + + +SendAndReceive.message - + + + +com.r3corda.node.services.statemachine / SendAndReceive / message
+
+

message

+ +val message: SessionMessage
+Overrides SendRequest.message
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/payload.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/payload.html deleted file mode 100644 index 8720521e85..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/payload.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendAndReceive.payload - - - - -com.r3corda.node.services.statemachine / SendAndReceive / payload
-
-

payload

- -val payload: Any
-Overrides SendRequest.payload
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/receive-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/receive-session-i-d.html deleted file mode 100644 index 8c2decd3aa..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendAndReceive.receiveSessionID - - - - -com.r3corda.node.services.statemachine / SendAndReceive / receiveSessionID
-
-

receiveSessionID

- -val receiveSessionID: Long
-Overrides ReceiveRequest.receiveSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/send-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/send-session-i-d.html deleted file mode 100644 index 46a7d51a77..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendAndReceive.sendSessionID - - - - -com.r3corda.node.services.statemachine / SendAndReceive / sendSessionID
-
-

sendSessionID

- -val sendSessionID: Long
-Overrides SendRequest.sendSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/session.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/session.html new file mode 100644 index 0000000000..1fdfd677b6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/session.html @@ -0,0 +1,16 @@ + + +SendAndReceive.session - + + + +com.r3corda.node.services.statemachine / SendAndReceive / session
+
+

session

+ +val session: ProtocolSession
+Overrides ProtocolIORequest.session
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/topic.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/topic.html deleted file mode 100644 index 180cda8715..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-and-receive/topic.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendAndReceive.topic - - - - -com.r3corda.node.services.statemachine / SendAndReceive / topic
-
-

topic

- -val topic: String
-Overrides ProtocolIORequest.topic
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/-init-.html index b4fc147822..c46789cf64 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / SendOnly / <init>

<init>

-SendOnly(destination: Party, topic: String, payload: Any, sendSessionID: Long)
+SendOnly(session: ProtocolSession, message: SessionMessage)


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/destination.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/destination.html deleted file mode 100644 index 56c126bea1..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/destination.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendOnly.destination - - - - -com.r3corda.node.services.statemachine / SendOnly / destination
-
-

destination

- -val destination: Party
-Overrides SendRequest.destination
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/index.html index ec8d87c1e7..25dcca0f5f 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/index.html @@ -17,7 +17,7 @@ <init> -SendOnly(destination: Party, topic: String, payload: Any, sendSessionID: Long) +SendOnly(session: ProtocolSession, message: SessionMessage) @@ -26,21 +26,15 @@ -destination +message -val destination: Party +val message: SessionMessage -payload +session -val payload: Any - - - -sendSessionID - -val sendSessionID: Long +val session: ProtocolSession @@ -48,12 +42,6 @@ val stackTraceInCaseOfProblems: StackSnapshot - - -topic - -val topic: String - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/message.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/message.html new file mode 100644 index 0000000000..85fa675d68 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/message.html @@ -0,0 +1,16 @@ + + +SendOnly.message - + + + +com.r3corda.node.services.statemachine / SendOnly / message
+
+

message

+ +val message: SessionMessage
+Overrides SendRequest.message
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/payload.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/payload.html deleted file mode 100644 index c5cbd3c18e..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/payload.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendOnly.payload - - - - -com.r3corda.node.services.statemachine / SendOnly / payload
-
-

payload

- -val payload: Any
-Overrides SendRequest.payload
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/send-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/send-session-i-d.html deleted file mode 100644 index d4fd9f2a88..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendOnly.sendSessionID - - - - -com.r3corda.node.services.statemachine / SendOnly / sendSessionID
-
-

sendSessionID

- -val sendSessionID: Long
-Overrides SendRequest.sendSessionID
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/session.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/session.html new file mode 100644 index 0000000000..c73b6fd068 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/session.html @@ -0,0 +1,16 @@ + + +SendOnly.session - + + + +com.r3corda.node.services.statemachine / SendOnly / session
+
+

session

+ +val session: ProtocolSession
+Overrides ProtocolIORequest.session
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/topic.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/topic.html deleted file mode 100644 index 7400ec38d9..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-only/topic.html +++ /dev/null @@ -1,16 +0,0 @@ - - -SendOnly.topic - - - - -com.r3corda.node.services.statemachine / SendOnly / topic
-
-

topic

- -val topic: String
-Overrides ProtocolIORequest.topic
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/destination.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/destination.html deleted file mode 100644 index c88c8e42f0..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/destination.html +++ /dev/null @@ -1,15 +0,0 @@ - - -SendRequest.destination - - - - -com.r3corda.node.services.statemachine / SendRequest / destination
-
-

destination

- -abstract val destination: Party
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/index.html index f4efaba660..c7adb78211 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/index.html @@ -15,21 +15,9 @@ -destination +message -abstract val destination: Party - - - -payload - -abstract val payload: Any - - - -sendSessionID - -abstract val sendSessionID: Long +abstract val message: SessionMessage @@ -38,15 +26,15 @@ -stackTraceInCaseOfProblems +session -abstract val stackTraceInCaseOfProblems: StackSnapshot +abstract val session: ProtocolSession -topic +stackTraceInCaseOfProblems -abstract val topic: String +abstract val stackTraceInCaseOfProblems: StackSnapshot @@ -57,7 +45,7 @@ SendAndReceive -data class SendAndReceive<T> : SendRequest, ReceiveRequest<T> +data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T> diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/message.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/message.html new file mode 100644 index 0000000000..709bf79bf0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/message.html @@ -0,0 +1,15 @@ + + +SendRequest.message - + + + +com.r3corda.node.services.statemachine / SendRequest / message
+
+

message

+ +abstract val message: SessionMessage
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/payload.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/payload.html deleted file mode 100644 index ddbed9c8a3..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/payload.html +++ /dev/null @@ -1,15 +0,0 @@ - - -SendRequest.payload - - - - -com.r3corda.node.services.statemachine / SendRequest / payload
-
-

payload

- -abstract val payload: Any
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/send-session-i-d.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/send-session-i-d.html deleted file mode 100644 index ee40e44c04..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-send-request/send-session-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -SendRequest.sendSessionID - - - - -com.r3corda.node.services.statemachine / SendRequest / sendSessionID
-
-

sendSessionID

- -abstract val sendSessionID: Long
-
-
- - diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/-init-.html new file mode 100644 index 0000000000..e3816d9ebc --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.Change.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / Change / <init>
+
+

<init>

+Change(logic: ProtocolLogic<*>, addOrRemove: AddOrRemove, id: StateMachineRunId)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/add-or-remove.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/add-or-remove.html new file mode 100644 index 0000000000..26c16ae405 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/add-or-remove.html @@ -0,0 +1,15 @@ + + +StateMachineManager.Change.addOrRemove - + + + +com.r3corda.node.services.statemachine / StateMachineManager / Change / addOrRemove
+
+

addOrRemove

+ +val addOrRemove: AddOrRemove
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/id.html new file mode 100644 index 0000000000..a3b184ad00 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.Change.id - + + + +com.r3corda.node.services.statemachine / StateMachineManager / Change / id
+
+

id

+ +val id: StateMachineRunId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/index.html new file mode 100644 index 0000000000..d680308d48 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/index.html @@ -0,0 +1,48 @@ + + +StateMachineManager.Change - + + + +com.r3corda.node.services.statemachine / StateMachineManager / Change
+
+

Change

+data class Change
+
+
+

Constructors

+ + + + + + + +
+<init> +Change(logic: ProtocolLogic<*>, addOrRemove: AddOrRemove, id: StateMachineRunId)
+

Properties

+ + + + + + + + + + + + + + + +
+addOrRemove +val addOrRemove: AddOrRemove
+id +val id: StateMachineRunId
+logic +val logic: ProtocolLogic<*>
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/logic.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/logic.html new file mode 100644 index 0000000000..77cf671e28 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-change/logic.html @@ -0,0 +1,15 @@ + + +StateMachineManager.Change.logic - + + + +com.r3corda.node.services.statemachine / StateMachineManager / Change / logic
+
+

logic

+ +val logic: ProtocolLogic<*>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/index.html new file mode 100644 index 0000000000..4d158a217e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/index.html @@ -0,0 +1,48 @@ + + +StateMachineManager.ExistingSessionMessage - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ExistingSessionMessage
+
+

ExistingSessionMessage

+interface ExistingSessionMessage : SessionMessage
+
+
+

Properties

+ + + + + + + +
+recipientSessionId +abstract val recipientSessionId: Long
+

Inheritors

+ + + + + + + + + + + + + + + +
+SessionData +data class SessionData : ExistingSessionMessage
+SessionEnd +data class SessionEnd : ExistingSessionMessage
+SessionInitResponse +interface SessionInitResponse : ExistingSessionMessage
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/recipient-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/recipient-session-id.html new file mode 100644 index 0000000000..81c5074dd8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-existing-session-message/recipient-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ExistingSessionMessage.recipientSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ExistingSessionMessage / recipientSessionId
+
+

recipientSessionId

+ +abstract val recipientSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-init-.html index 08ffcd867c..6e9333aa9a 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.statemachine / StateMachineManager / <init>

<init>

-StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor)
+StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor, database: <ERROR CLASS>)

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

An implementation of this class will persist state machines to long term storage so they can survive process restarts @@ -17,8 +17,7 @@ and, if run with a single-threaded executor, will ensure no two state machines r a bytecode rewriting engine called Quasar, to ensure the code can be suspended and resumed at any point.

The SMM will always invoke the protocol fibers on the given AffinityExecutor, regardless of which thread actually starts them via add.

-

TODO: Session IDs should be set up and propagated automatically, on demand. -TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised +

TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised continuation is always unique? TODO: Think about how to bring the system to a clean stop so it can be upgraded without any serialised stacks on disk TODO: Timeouts diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/-init-.html new file mode 100644 index 0000000000..e855271d16 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.ProtocolSession.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / <init>
+
+

<init>

+ProtocolSession(protocol: ProtocolLogic<*>, otherParty: Party, ourSessionId: Long, otherPartySessionId: Long?, waitingForResponse: Boolean = false)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/index.html new file mode 100644 index 0000000000..a23f51d4f0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/index.html @@ -0,0 +1,72 @@ + + +StateMachineManager.ProtocolSession - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession
+
+

ProtocolSession

+data class ProtocolSession
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolSession(protocol: ProtocolLogic<*>, otherParty: Party, ourSessionId: Long, otherPartySessionId: Long?, waitingForResponse: Boolean = false)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+otherParty +val otherParty: Party
+otherPartySessionId +var otherPartySessionId: Long?
+ourSessionId +val ourSessionId: Long
+protocol +val protocol: ProtocolLogic<*>
+psm +val psm: ProtocolStateMachineImpl<*>
+receivedMessages +val receivedMessages: ConcurrentLinkedQueue<ExistingSessionMessage>
+waitingForResponse +var waitingForResponse: Boolean
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party-session-id.html new file mode 100644 index 0000000000..9146ab6799 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.otherPartySessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / otherPartySessionId
+
+

otherPartySessionId

+ +var otherPartySessionId: Long?
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party.html new file mode 100644 index 0000000000..b4ba198c9f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/other-party.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.otherParty - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / otherParty
+
+

otherParty

+ +val otherParty: Party
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/our-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/our-session-id.html new file mode 100644 index 0000000000..4f428c2bfa --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/our-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.ourSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / ourSessionId
+
+

ourSessionId

+ +val ourSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/protocol.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/protocol.html new file mode 100644 index 0000000000..505be0bb78 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/protocol.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.protocol - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / protocol
+
+

protocol

+ +val protocol: ProtocolLogic<*>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/psm.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/psm.html new file mode 100644 index 0000000000..309b9e597c --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/psm.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.psm - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / psm
+
+

psm

+ +val psm: ProtocolStateMachineImpl<*>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/received-messages.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/received-messages.html new file mode 100644 index 0000000000..ebc6b11b45 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/received-messages.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.receivedMessages - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / receivedMessages
+
+

receivedMessages

+ +val receivedMessages: ConcurrentLinkedQueue<ExistingSessionMessage>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/waiting-for-response.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/waiting-for-response.html new file mode 100644 index 0000000000..cb2ba3f605 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-protocol-session/waiting-for-response.html @@ -0,0 +1,15 @@ + + +StateMachineManager.ProtocolSession.waitingForResponse - + + + +com.r3corda.node.services.statemachine / StateMachineManager / ProtocolSession / waitingForResponse
+
+

waitingForResponse

+ +var waitingForResponse: Boolean
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/-init-.html new file mode 100644 index 0000000000..781f14f613 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.SessionConfirm.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionConfirm / <init>
+
+

<init>

+SessionConfirm(initiatorSessionId: Long, initiatedSessionId: Long)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/index.html new file mode 100644 index 0000000000..578ce394bc --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/index.html @@ -0,0 +1,48 @@ + + +StateMachineManager.SessionConfirm - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionConfirm
+
+

SessionConfirm

+data class SessionConfirm : SessionInitResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +SessionConfirm(initiatorSessionId: Long, initiatedSessionId: Long)
+

Properties

+ + + + + + + + + + + + + + + +
+initiatedSessionId +val initiatedSessionId: Long
+initiatorSessionId +val initiatorSessionId: Long
+recipientSessionId +val recipientSessionId: Long
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiated-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiated-session-id.html new file mode 100644 index 0000000000..42e7fb64ba --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiated-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionConfirm.initiatedSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionConfirm / initiatedSessionId
+
+

initiatedSessionId

+ +val initiatedSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiator-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiator-session-id.html new file mode 100644 index 0000000000..bb1eb248ad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/initiator-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionConfirm.initiatorSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionConfirm / initiatorSessionId
+
+

initiatorSessionId

+ +val initiatorSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/recipient-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/recipient-session-id.html new file mode 100644 index 0000000000..a7bc692874 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-confirm/recipient-session-id.html @@ -0,0 +1,16 @@ + + +StateMachineManager.SessionConfirm.recipientSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionConfirm / recipientSessionId
+
+

recipientSessionId

+ +val recipientSessionId: Long
+Overrides ExistingSessionMessage.recipientSessionId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/-init-.html new file mode 100644 index 0000000000..08fd4b1d4d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.SessionData.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionData / <init>
+
+

<init>

+SessionData(recipientSessionId: Long, payload: Any)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/index.html new file mode 100644 index 0000000000..d54b937d0a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/index.html @@ -0,0 +1,53 @@ + + +StateMachineManager.SessionData - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionData
+
+

SessionData

+data class SessionData : ExistingSessionMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +SessionData(recipientSessionId: Long, payload: Any)
+

Properties

+ + + + + + + + + + + +
+payload +val payload: Any
+recipientSessionId +val recipientSessionId: Long
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/payload.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/payload.html new file mode 100644 index 0000000000..b8698bad7e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/payload.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionData.payload - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionData / payload
+
+

payload

+ +val payload: Any
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/recipient-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/recipient-session-id.html new file mode 100644 index 0000000000..8a48a2f0c4 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/recipient-session-id.html @@ -0,0 +1,16 @@ + + +StateMachineManager.SessionData.recipientSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionData / recipientSessionId
+
+

recipientSessionId

+ +val recipientSessionId: Long
+Overrides ExistingSessionMessage.recipientSessionId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/to-string.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/to-string.html new file mode 100644 index 0000000000..a58d97de8f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-data/to-string.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionData.toString - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionData / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/-init-.html new file mode 100644 index 0000000000..d736c161c0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.SessionEnd.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionEnd / <init>
+
+

<init>

+SessionEnd(recipientSessionId: Long)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/index.html new file mode 100644 index 0000000000..5395b30ca1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/index.html @@ -0,0 +1,36 @@ + + +StateMachineManager.SessionEnd - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionEnd
+
+

SessionEnd

+data class SessionEnd : ExistingSessionMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +SessionEnd(recipientSessionId: Long)
+

Properties

+ + + + + + + +
+recipientSessionId +val recipientSessionId: Long
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/recipient-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/recipient-session-id.html new file mode 100644 index 0000000000..910196c897 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-end/recipient-session-id.html @@ -0,0 +1,16 @@ + + +StateMachineManager.SessionEnd.recipientSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionEnd / recipientSessionId
+
+

recipientSessionId

+ +val recipientSessionId: Long
+Overrides ExistingSessionMessage.recipientSessionId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init-response.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init-response.html new file mode 100644 index 0000000000..09c7c3736a --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init-response.html @@ -0,0 +1,42 @@ + + +StateMachineManager.SessionInitResponse - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInitResponse
+
+

SessionInitResponse

+interface SessionInitResponse : ExistingSessionMessage
+
+
+

Inherited Properties

+ + + + + + + +
+recipientSessionId +abstract val recipientSessionId: Long
+

Inheritors

+ + + + + + + + + + + +
+SessionConfirm +data class SessionConfirm : SessionInitResponse
+SessionReject +data class SessionReject : SessionInitResponse
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/-init-.html new file mode 100644 index 0000000000..41effcc4fb --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.SessionInit.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInit / <init>
+
+

<init>

+SessionInit(initiatorSessionId: Long, initiatorParty: Party, protocolName: String)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/index.html new file mode 100644 index 0000000000..1c294c1729 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/index.html @@ -0,0 +1,48 @@ + + +StateMachineManager.SessionInit - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInit
+
+

SessionInit

+data class SessionInit : SessionMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +SessionInit(initiatorSessionId: Long, initiatorParty: Party, protocolName: String)
+

Properties

+ + + + + + + + + + + + + + + +
+initiatorParty +val initiatorParty: Party
+initiatorSessionId +val initiatorSessionId: Long
+protocolName +val protocolName: String
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-party.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-party.html new file mode 100644 index 0000000000..d108d86b31 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-party.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionInit.initiatorParty - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInit / initiatorParty
+
+

initiatorParty

+ +val initiatorParty: Party
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-session-id.html new file mode 100644 index 0000000000..a3a55c35b7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/initiator-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionInit.initiatorSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInit / initiatorSessionId
+
+

initiatorSessionId

+ +val initiatorSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/protocol-name.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/protocol-name.html new file mode 100644 index 0000000000..1ccfc6a545 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-init/protocol-name.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionInit.protocolName - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionInit / protocolName
+
+

protocolName

+ +val protocolName: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-message.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-message.html new file mode 100644 index 0000000000..420da8c412 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-message.html @@ -0,0 +1,31 @@ + + +StateMachineManager.SessionMessage - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionMessage
+
+

SessionMessage

+interface SessionMessage
+
+
+

Inheritors

+ + + + + + + + + + + +
+ExistingSessionMessage +interface ExistingSessionMessage : SessionMessage
+SessionInit +data class SessionInit : SessionMessage
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/-init-.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/-init-.html new file mode 100644 index 0000000000..150c59ff91 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.SessionReject.<init> - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionReject / <init>
+
+

<init>

+SessionReject(initiatorSessionId: Long, errorMessage: String)
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/error-message.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/error-message.html new file mode 100644 index 0000000000..869b6f2ea6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/error-message.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionReject.errorMessage - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionReject / errorMessage
+
+

errorMessage

+ +val errorMessage: String
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/index.html new file mode 100644 index 0000000000..90db8b9ad2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/index.html @@ -0,0 +1,48 @@ + + +StateMachineManager.SessionReject - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionReject
+
+

SessionReject

+data class SessionReject : SessionInitResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +SessionReject(initiatorSessionId: Long, errorMessage: String)
+

Properties

+ + + + + + + + + + + + + + + +
+errorMessage +val errorMessage: String
+initiatorSessionId +val initiatorSessionId: Long
+recipientSessionId +val recipientSessionId: Long
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/initiator-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/initiator-session-id.html new file mode 100644 index 0000000000..9ca65e4ede --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/initiator-session-id.html @@ -0,0 +1,15 @@ + + +StateMachineManager.SessionReject.initiatorSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionReject / initiatorSessionId
+
+

initiatorSessionId

+ +val initiatorSessionId: Long
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/recipient-session-id.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/recipient-session-id.html new file mode 100644 index 0000000000..d8868071d6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/-session-reject/recipient-session-id.html @@ -0,0 +1,16 @@ + + +StateMachineManager.SessionReject.recipientSessionId - + + + +com.r3corda.node.services.statemachine / StateMachineManager / SessionReject / recipientSessionId
+
+

recipientSessionId

+ +val recipientSessionId: Long
+Overrides ExistingSessionMessage.recipientSessionId
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/add.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/add.html index 12baee17bf..42c8ab7c96 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/add.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/add.html @@ -7,9 +7,9 @@ com.r3corda.node.services.statemachine / StateMachineManager / add

add

- -fun <T> add(loggerName: String, logic: ProtocolLogic<T>): ProtocolStateMachine<T>
-

Kicks off a brand new state machine of the given class. It will log with the named logger. + +fun <T> add(logic: ProtocolLogic<T>): ProtocolStateMachine<T>
+

Kicks off a brand new state machine of the given class. The state machine will be persisted when it suspends, with automated restart if the StateMachineManager is restarted with checkpointed state machines in the storage service.


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/changes.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/changes.html index 3131ddd1d6..5b7a85c66b 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/changes.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/changes.html @@ -8,7 +8,7 @@

changes

-val changes: <ERROR CLASS><<ERROR CLASS><ProtocolLogic<*>, AddOrRemove, Long>>
+val changes: <ERROR CLASS><Change>

An observable that emits triples of the changing protocol, the type of change, and a process-specific ID number which may change across restarts.


diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/database.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/database.html new file mode 100644 index 0000000000..b574ccdf7b --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/database.html @@ -0,0 +1,15 @@ + + +StateMachineManager.database - + + + +com.r3corda.node.services.statemachine / StateMachineManager / database
+
+

database

+ +val database: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/index.html index 3b80d3d876..094223a76a 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/index.html @@ -17,8 +17,7 @@ and, if run with a single-threaded executor, will ensure no two state machines r a bytecode rewriting engine called Quasar, to ensure the code can be suspended and resumed at any point.

The SMM will always invoke the protocol fibers on the given AffinityExecutor, regardless of which thread actually starts them via add.

-

TODO: Session IDs should be set up and propagated automatically, on demand. -TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised +

TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised continuation is always unique? TODO: Think about how to bring the system to a clean stop so it can be upgraded without any serialised stacks on disk TODO: Timeouts @@ -34,10 +33,70 @@ TODO: Implement stub/skel classes that provide a basic RPC framework on top of t +Change + +data class Change + + + +ExistingSessionMessage + +interface ExistingSessionMessage : SessionMessage + + + FiberScheduler inner class FiberScheduler + + +ProtocolSession + +data class ProtocolSession + + + +SessionConfirm + +data class SessionConfirm : SessionInitResponse + + + +SessionData + +data class SessionData : ExistingSessionMessage + + + +SessionEnd + +data class SessionEnd : ExistingSessionMessage + + + +SessionInit + +data class SessionInit : SessionMessage + + + +SessionInitResponse + +interface SessionInitResponse : ExistingSessionMessage + + + +SessionMessage + +interface SessionMessage + + + +SessionReject + +data class SessionReject : SessionInitResponse +

Constructors

@@ -47,7 +106,7 @@ TODO: Implement stub/skel classes that provide a basic RPC framework on top of t <init> -StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor)

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor, database: <ERROR CLASS>)

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

@@ -66,7 +125,7 @@ Each such object represents an instantiation of a (two-party) protocol that has changes -val changes: <ERROR CLASS><<ERROR CLASS><ProtocolLogic<*>, AddOrRemove, Long>>

An observable that emits triples of the changing protocol, the type of change, and a process-specific ID number +val changes: <ERROR CLASS><Change>

An observable that emits triples of the changing protocol, the type of change, and a process-specific ID number which may change across restarts.

@@ -78,6 +137,12 @@ which may change across restarts.

+database + +val database: <ERROR CLASS> + + + executor val executor: AffinityExecutor @@ -103,7 +168,7 @@ which may change across restarts.

add -fun <T> add(loggerName: String, logic: ProtocolLogic<T>): ProtocolStateMachine<T>

Kicks off a brand new state machine of the given class. It will log with the named logger. +fun <T> add(logic: ProtocolLogic<T>): ProtocolStateMachine<T>

Kicks off a brand new state machine of the given class. The state machine will be persisted when it suspends, with automated restart if the StateMachineManager is restarted with checkpointed state machines in the storage service.

@@ -121,6 +186,14 @@ restarted with checkpointed state machines in the storage service.

fun start(): Unit + + +track + +fun track(): <ERROR CLASS><List<ProtocolStateMachineImpl<*>>, <ERROR CLASS><Change>>

Atomic get snapshot + subscribe. This is needed so we dont miss updates between subscriptions to changes and +calls to allStateMachines

+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/track.html b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/track.html new file mode 100644 index 0000000000..decd6d3695 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/-state-machine-manager/track.html @@ -0,0 +1,17 @@ + + +StateMachineManager.track - + + + +com.r3corda.node.services.statemachine / StateMachineManager / track
+
+

track

+ +fun track(): <ERROR CLASS><List<ProtocolStateMachineImpl<*>>, <ERROR CLASS><Change>>
+

Atomic get snapshot + subscribe. This is needed so we dont miss updates between subscriptions to changes and +calls to allStateMachines

+
+
+ + diff --git a/docs/build/html/api/com.r3corda.node.services.statemachine/index.html b/docs/build/html/api/com.r3corda.node.services.statemachine/index.html index 5c32f76453..f5cf3a9700 100644 --- a/docs/build/html/api/com.r3corda.node.services.statemachine/index.html +++ b/docs/build/html/api/com.r3corda.node.services.statemachine/index.html @@ -20,27 +20,25 @@ ProtocolStateMachineImpl -class ProtocolStateMachineImpl<R> : ProtocolStateMachine<R>

A ProtocolStateMachine instance is a suspendable fiber that delegates all actual logic to a ProtocolLogic instance. -For any given flow there is only one PSM, even if that protocol invokes subprotocols.

- +class ProtocolStateMachineImpl<R> : ProtocolStateMachine<R> ReceiveOnly -data class ReceiveOnly<T> : ReceiveRequest<T> +data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T> ReceiveRequest -interface ReceiveRequest<T> : ProtocolIORequest +interface ReceiveRequest<T : SessionMessage> : ProtocolIORequest SendAndReceive -data class SendAndReceive<T> : SendRequest, ReceiveRequest<T> +data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T> diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-init-.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-init-.html index a34096c890..94099c4010 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-init-.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.services.transactions / NotaryService / <init>

<init>

-NotaryService(services: ServiceHubInternal, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)
+NotaryService(services: ServiceHubInternal)

A Notary service acts as the final signer of a transaction ensuring two things:

  • The (optional) timestamp of the transaction is valid.

  • None of the referenced input states have previously been consumed by a transaction signed by this Notary diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-type.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-type.html deleted file mode 100644 index 506a44e9f0..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -NotaryService.Type - - - - -com.r3corda.node.services.transactions / NotaryService / Type
    -
    -

    Type

    -object Type : ServiceType
    -
    -
    -

    Inherited Properties

    - - - - - - - -
    -id -val id: String
    -

    Inherited Functions

    - - - - - - - - - - - - - - - - - - - -
    -equals -open operator fun equals(other: Any?): Boolean
    -hashCode -open fun hashCode(): Int
    -isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
    -toString -open fun toString(): String
    - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/create-protocol.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/create-protocol.html new file mode 100644 index 0000000000..0e2f914a79 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/create-protocol.html @@ -0,0 +1,16 @@ + + +NotaryService.createProtocol - + + + +com.r3corda.node.services.transactions / NotaryService / createProtocol
    +
    +

    createProtocol

    + +abstract fun createProtocol(otherParty: Party): Service
    +

    Implement a factory that specifies the transaction commit protocol for the notary service to use

    +
    +
    + + diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/index.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/index.html index 66bfff4ebe..0303001577 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services.transactions / NotaryService

    NotaryService

    -abstract class NotaryService : AbstractNodeService
    +abstract class NotaryService : SingletonSerializeAsToken

    A Notary service acts as the final signer of a transaction ensuring two things:

    • The (optional) timestamp of the transaction is valid.

    • None of the referenced input states have previously been consumed by a transaction signed by this Notary @@ -18,17 +18,6 @@ A transaction has to be signed by a Notary to be considered valid (except for ou


      -

      Types

      - - - - - - - -
      -Type -object Type : ServiceType

      Constructors

      @@ -36,56 +25,21 @@ A transaction has to be signed by a Notary to be considered valid (except for ou
      <init> -NotaryService(services: ServiceHubInternal, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)

      A Notary service acts as the final signer of a transaction ensuring two things:

      +NotaryService(services: ServiceHubInternal)

      A Notary service acts as the final signer of a transaction ensuring two things:

      -

      Properties

      +

      Functions

      +createProtocol - - - - - - - - - - - - - -
      -logger -abstract val logger: <ERROR CLASS>
      -protocolFactory -abstract val protocolFactory: Factory

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      +abstract fun createProtocol(otherParty: Party): Service

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -timestampChecker -val timestampChecker: TimestampChecker
      -uniquenessProvider -val uniquenessProvider: UniquenessProvider
      -

      Inherited Properties

      - - - - - - - - - -
      -net -val net: MessagingServiceInternal
      -services -val services: ServiceHubInternal

      Inherited Functions

      @@ -93,23 +47,9 @@ A transaction has to be signed by a Notary to be considered valid (except for ou -addMessageHandler +toToken -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

      Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

      -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

      Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

      - - - - -addProtocolHandler - -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

      Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

      -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit +open fun toToken(context: SerializeAsTokenContext): SerializationToken diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/logger.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/logger.html deleted file mode 100644 index 172690bef5..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/logger.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryService.logger - - - - -com.r3corda.node.services.transactions / NotaryService / logger
      -
      -

      logger

      - -abstract val logger: <ERROR CLASS>
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/protocol-factory.html b/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/protocol-factory.html deleted file mode 100644 index 87576ba5ba..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/protocol-factory.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NotaryService.protocolFactory - - - - -com.r3corda.node.services.transactions / NotaryService / protocolFactory
      -
      -

      protocolFactory

      - -abstract val protocolFactory: Factory
      -

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/committed-states.html b/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/committed-states.html deleted file mode 100644 index 17d1013514..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/committed-states.html +++ /dev/null @@ -1,17 +0,0 @@ - - -PersistentUniquenessProvider.committedStates - - - - -com.r3corda.node.services.transactions / PersistentUniquenessProvider / committedStates
      -
      -

      committedStates

      - -val committedStates: <ERROR CLASS>
      -

      For each input state store the consuming transaction information. -TODO: remove databaseTransaction here once node initialisation is wrapped in it

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/index.html b/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/index.html index a152fcba77..f5cc619bf5 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/index.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-persistent-uniqueness-provider/index.html @@ -23,19 +23,6 @@ -

      Properties

      - - - - - - - -
      -committedStates -val committedStates: <ERROR CLASS>

      For each input state store the consuming transaction information. -TODO: remove databaseTransaction here once node initialisation is wrapped in it

      -

      Functions

      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/-type.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/-type.html deleted file mode 100644 index 2742ca275b..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -SimpleNotaryService.Type - - - - -com.r3corda.node.services.transactions / SimpleNotaryService / Type
      -
      -

      Type

      -object Type : ServiceType
      -
      -
      -

      Inherited Properties

      -
      - - - - - - -
      -id -val id: String
      -

      Inherited Functions

      - - - - - - - - - - - - - - - - - - - -
      -equals -open operator fun equals(other: Any?): Boolean
      -hashCode -open fun hashCode(): Int
      -isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
      -toString -open fun toString(): String
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/create-protocol.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/create-protocol.html new file mode 100644 index 0000000000..0014a3870e --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/create-protocol.html @@ -0,0 +1,17 @@ + + +SimpleNotaryService.createProtocol - + + + +com.r3corda.node.services.transactions / SimpleNotaryService / createProtocol
      +
      +

      createProtocol

      + +fun createProtocol(otherParty: Party): Service
      +Overrides NotaryService.createProtocol
      +

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/index.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/index.html index c75e382312..68231b8bc4 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/index.html @@ -11,17 +11,6 @@

      A simple Notary service that does not perform transaction validation



      -

      Types

      - - - - - - - -
      -Type -object Type : ServiceType

      Constructors

      @@ -39,35 +28,40 @@ - - - - - - - -
      -logger -val logger: <ERROR CLASS>
      -protocolFactory -val protocolFactory: DefaultFactory

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -
      -

      Inherited Properties

      - - - - +timestampChecker +uniquenessProvider
      -timestampChecker val timestampChecker: TimestampChecker
      -uniquenessProvider val uniquenessProvider: UniquenessProvider
      +

      Functions

      + + + + + + + +
      +createProtocol +fun createProtocol(otherParty: Party): Service

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      +
      +

      Companion Object Properties

      + + + + + + + +
      +type +val type: ServiceType
      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/protocol-factory.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/protocol-factory.html deleted file mode 100644 index 0ea955e07b..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/protocol-factory.html +++ /dev/null @@ -1,17 +0,0 @@ - - -SimpleNotaryService.protocolFactory - - - - -com.r3corda.node.services.transactions / SimpleNotaryService / protocolFactory
      -
      -

      protocolFactory

      - -val protocolFactory: DefaultFactory
      -Overrides NotaryService.protocolFactory
      -

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/timestamp-checker.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/timestamp-checker.html similarity index 64% rename from docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/timestamp-checker.html rename to docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/timestamp-checker.html index 6c492c32a3..f6223f4af5 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/timestamp-checker.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/timestamp-checker.html @@ -1,13 +1,13 @@ -NotaryService.timestampChecker - +SimpleNotaryService.timestampChecker - -com.r3corda.node.services.transactions / NotaryService / timestampChecker
      +com.r3corda.node.services.transactions / SimpleNotaryService / timestampChecker

      timestampChecker

      - + val timestampChecker: TimestampChecker


      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/logger.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/type.html similarity index 54% rename from docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/logger.html rename to docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/type.html index ee665473e1..531c992300 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/logger.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/type.html @@ -1,15 +1,14 @@ -SimpleNotaryService.logger - +SimpleNotaryService.type - -com.r3corda.node.services.transactions / SimpleNotaryService / logger
      +com.r3corda.node.services.transactions / SimpleNotaryService / type

      -

      logger

      - -val logger: <ERROR CLASS>
      -Overrides NotaryService.logger
      +

      type

      + +val type: ServiceType


      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/uniqueness-provider.html b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/uniqueness-provider.html similarity index 64% rename from docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/uniqueness-provider.html rename to docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/uniqueness-provider.html index b128009cd0..be4fde94a5 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-notary-service/uniqueness-provider.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-simple-notary-service/uniqueness-provider.html @@ -1,13 +1,13 @@ -NotaryService.uniquenessProvider - +SimpleNotaryService.uniquenessProvider - -com.r3corda.node.services.transactions / NotaryService / uniquenessProvider
      +com.r3corda.node.services.transactions / SimpleNotaryService / uniquenessProvider

      uniquenessProvider

      - + val uniquenessProvider: UniquenessProvider


      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/-type.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/-type.html deleted file mode 100644 index 28aacaeef8..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/-type.html +++ /dev/null @@ -1,54 +0,0 @@ - - -ValidatingNotaryService.Type - - - - -com.r3corda.node.services.transactions / ValidatingNotaryService / Type
      -
      -

      Type

      -object Type : ServiceType
      -
      -
      -

      Inherited Properties

      - - - - - - - -
      -id -val id: String
      -

      Inherited Functions

      - - - - - - - - - - - - - - - - - - - -
      -equals -open operator fun equals(other: Any?): Boolean
      -hashCode -open fun hashCode(): Int
      -isSubTypeOf -fun isSubTypeOf(superType: ServiceType): Boolean
      -toString -open fun toString(): String
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/create-protocol.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/create-protocol.html new file mode 100644 index 0000000000..446d70dc5b --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/create-protocol.html @@ -0,0 +1,17 @@ + + +ValidatingNotaryService.createProtocol - + + + +com.r3corda.node.services.transactions / ValidatingNotaryService / createProtocol
      +
      +

      createProtocol

      + +fun createProtocol(otherParty: Party): ValidatingNotaryProtocol
      +Overrides NotaryService.createProtocol
      +

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/index.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/index.html index aa7a31b88a..976f275b79 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/index.html @@ -11,17 +11,6 @@

      A Notary service that validates the transaction chain of he submitted transaction before committing it



      -

      Types

      - - - - - - - -
      -Type -object Type : ServiceType

      Constructors

      @@ -39,35 +28,40 @@ - - - - - - - -
      -logger -val logger: <ERROR CLASS>
      -protocolFactory -val protocolFactory: Factory

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -
      -

      Inherited Properties

      - - - - +timestampChecker +uniquenessProvider
      -timestampChecker val timestampChecker: TimestampChecker
      -uniquenessProvider val uniquenessProvider: UniquenessProvider
      +

      Functions

      + + + + + + + +
      +createProtocol +fun createProtocol(otherParty: Party): ValidatingNotaryProtocol

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      +
      +

      Companion Object Properties

      + + + + + + + +
      +type +val type: ServiceType
      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/protocol-factory.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/protocol-factory.html deleted file mode 100644 index 9edcb47d7d..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/protocol-factory.html +++ /dev/null @@ -1,17 +0,0 @@ - - -ValidatingNotaryService.protocolFactory - - - - -com.r3corda.node.services.transactions / ValidatingNotaryService / protocolFactory
      -
      -

      protocolFactory

      - -val protocolFactory: Factory
      -Overrides NotaryService.protocolFactory
      -

      Implement a factory that specifies the transaction commit protocol for the notary service to use

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/timestamp-checker.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/timestamp-checker.html new file mode 100644 index 0000000000..5204abd005 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/timestamp-checker.html @@ -0,0 +1,15 @@ + + +ValidatingNotaryService.timestampChecker - + + + +com.r3corda.node.services.transactions / ValidatingNotaryService / timestampChecker
      +
      +

      timestampChecker

      + +val timestampChecker: TimestampChecker
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/logger.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/type.html similarity index 53% rename from docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/logger.html rename to docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/type.html index 7e5e44c810..176f75494d 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/logger.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/type.html @@ -1,15 +1,14 @@ -ValidatingNotaryService.logger - +ValidatingNotaryService.type - -com.r3corda.node.services.transactions / ValidatingNotaryService / logger
      +com.r3corda.node.services.transactions / ValidatingNotaryService / type

      -

      logger

      - -val logger: <ERROR CLASS>
      -Overrides NotaryService.logger
      +

      type

      + +val type: ServiceType


      diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/uniqueness-provider.html b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/uniqueness-provider.html new file mode 100644 index 0000000000..cc516607b6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.transactions/-validating-notary-service/uniqueness-provider.html @@ -0,0 +1,15 @@ + + +ValidatingNotaryService.uniquenessProvider - + + + +com.r3corda.node.services.transactions / ValidatingNotaryService / uniquenessProvider
      +
      +

      uniquenessProvider

      + +val uniquenessProvider: UniquenessProvider
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.services.transactions/index.html b/docs/build/html/api/com.r3corda.node.services.transactions/index.html index dcb915628b..b445416f5a 100644 --- a/docs/build/html/api/com.r3corda.node.services.transactions/index.html +++ b/docs/build/html/api/com.r3corda.node.services.transactions/index.html @@ -21,7 +21,7 @@ NotaryService -abstract class NotaryService : AbstractNodeService

      A Notary service acts as the final signer of a transaction ensuring two things:

      +abstract class NotaryService : SingletonSerializeAsToken

      A Notary service acts as the final signer of a transaction ensuring two things:

      diff --git a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/index.html b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/index.html index 3a122de311..098bc383cb 100644 --- a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/index.html @@ -52,16 +52,10 @@ keys in this vault, you must inform the vault service so it can update its inter -mutex - -val mutex: ReentrantLock - - - updates -val updates: <ERROR CLASS><Update>

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

      +val updates: <ERROR CLASS><Update>

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.

      @@ -77,6 +71,14 @@ incorporate the update.

      new states that they create. You should only insert transactions that have been successfully verified here

      + + +track + +fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>

      Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

      + +

      Inherited Functions

      @@ -133,6 +135,12 @@ new states that they create. You should only insert transactions that have been +dealsWith + +fun <T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS> + + + linearHeadsOfType fun <T : LinearState> VaultService.linearHeadsOfType(): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/mutex.html b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/mutex.html deleted file mode 100644 index 0665d799e1..0000000000 --- a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/mutex.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NodeVaultService.mutex - - - - -com.r3corda.node.services.vault / NodeVaultService / mutex
      -
      -

      mutex

      - -protected val mutex: ReentrantLock
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/track.html b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/track.html new file mode 100644 index 0000000000..8a86dde9ac --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/track.html @@ -0,0 +1,18 @@ + + +NodeVaultService.track - + + + +com.r3corda.node.services.vault / NodeVaultService / track
      +
      +

      track

      + +fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
      +Overrides VaultService.track
      +

      Atomically get the current vault and a stream of updates. Note that the Observable buffers updates until the +first subscriber is registered so as to avoid racing with early updates.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/updates.html b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/updates.html index ee54edc4ee..75c547420b 100644 --- a/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/updates.html +++ b/docs/build/html/api/com.r3corda.node.services.vault/-node-vault-service/updates.html @@ -10,11 +10,11 @@ val updates: <ERROR CLASS><Update>
      Overrides VaultService.updates
      -

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

      +

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.

      Getter
      -

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the vault will already -incorporate the update.

      +

      Get a synchronous Observable of updates. When observations are pushed to the Observer, the Vault will already incorporate +the update.



      diff --git a/docs/build/html/api/com.r3corda.node.services/-notary-change/-service/index.html b/docs/build/html/api/com.r3corda.node.services/-notary-change/-service/index.html index ccd209d64e..57a0263d8a 100644 --- a/docs/build/html/api/com.r3corda.node.services/-notary-change/-service/index.html +++ b/docs/build/html/api/com.r3corda.node.services/-notary-change/-service/index.html @@ -7,7 +7,7 @@ com.r3corda.node.services / NotaryChange / Service

      Service

      -class Service : AbstractNodeService
      +class Service : SingletonSerializeAsToken

      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.


      @@ -25,45 +25,14 @@ and immediately runs the net - -val net: MessagingServiceInternal - - - -services - -val services: ServiceHubInternal - - -

      Inherited Functions

      +toToken - - - - +open fun toToken(context: SerializeAsTokenContext): SerializationToken
      -addMessageHandler -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): MessageHandlerRegistration

      Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are caught and passed to the provided consumer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

      -fun <Q : ServiceRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): MessageHandlerRegistration

      Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of -common boilerplate code. Exceptions are propagated to the messaging layer. If you just want a simple -acknowledgement response with no content, use com.r3corda.core.messaging.Ack.

      -
      -addProtocolHandler -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>, onResultFuture: (<ERROR CLASS><R>, H) -> Unit): Unit

      Register a handler to kick-off a protocol when a HandshakeMessage is received by the node. This performs the -necessary steps to enable communication between the two protocols, including calling ProtocolLogic.registerSession.

      -fun <H : HandshakeMessage, R : Any> addProtocolHandler(topic: String, loggerName: String, protocolFactory: (H) -> ProtocolLogic<R>): Unit
      diff --git a/docs/build/html/api/com.r3corda.node.services/-notary-change/index.html b/docs/build/html/api/com.r3corda.node.services/-notary-change/index.html index 6fa73915ae..c23c4b12f6 100644 --- a/docs/build/html/api/com.r3corda.node.services/-notary-change/index.html +++ b/docs/build/html/api/com.r3corda.node.services/-notary-change/index.html @@ -23,7 +23,7 @@ Service -class Service : AbstractNodeService

      A service that monitors the network for requests for changing the notary of a state, +class Service : SingletonSerializeAsToken

      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.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/-init-.html b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/-init-.html index ab801965af..abbb8f8aa7 100644 --- a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/-init-.html +++ b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/-init-.html @@ -7,7 +7,7 @@ com.r3corda.node.utilities.certsigning / HTTPCertificateSigningService / <init>

      <init>

      -HTTPCertificateSigningService(server: <ERROR CLASS>)
      +HTTPCertificateSigningService(server: URL)


      diff --git a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/index.html b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/index.html index 063879fb58..6304445194 100644 --- a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/index.html @@ -17,7 +17,7 @@ <init> -HTTPCertificateSigningService(server: <ERROR CLASS>) +HTTPCertificateSigningService(server: URL) @@ -28,7 +28,7 @@ server -val server: <ERROR CLASS> +val server: URL diff --git a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/server.html b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/server.html index cb3815675b..9c456737e8 100644 --- a/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/server.html +++ b/docs/build/html/api/com.r3corda.node.utilities.certsigning/-h-t-t-p-certificate-signing-service/server.html @@ -8,7 +8,7 @@

      server

      -val server: <ERROR CLASS>
      +val server: URL


      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-key-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-key-to-insert.html index ef9a5adff4..e5e725aecf 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-key-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-key-to-insert.html @@ -8,7 +8,7 @@

      addKeyToInsert

      -protected abstract fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
      +protected abstract fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-value-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-value-to-insert.html index 91f2a6b30c..78470d3c20 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-value-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/add-value-to-insert.html @@ -8,7 +8,7 @@

      addValueToInsert

      -protected abstract fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
      +protected abstract fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/index.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/index.html index 9692a0a659..ba080123b3 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/index.html @@ -7,7 +7,7 @@ com.r3corda.node.utilities / AbstractJDBCHashMap

      AbstractJDBCHashMap

      -abstract class AbstractJDBCHashMap<K : Any, V : Any, T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>
      +abstract class AbstractJDBCHashMap<K : Any, V : Any, out T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>

      A base class for a JDBC table backed hash map that iterates in insertion order by using an ever increasing sequence number on entries. Iterators supports remove() but entries are not really mutable and do not support setValue() method from MutableMap.MutableEntry.

      @@ -96,14 +96,14 @@ do not support setValue() method from MutableMap.MutableEntry. addKeyToInsert -abstract fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      +abstract fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      addValueToInsert -abstract fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      +abstract fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      @@ -140,7 +140,7 @@ do not support setValue() method from MutableMap.MutableEntry. keyFromRow -abstract fun keyFromRow(it: <ERROR CLASS>): K

      Implementation should return the key object marshalled from the database table row.

      +abstract fun keyFromRow(row: <ERROR CLASS>): K

      Implementation should return the key object marshalled from the database table row.

      @@ -159,7 +159,7 @@ do not support setValue() method from MutableMap.MutableEntry. valueFromRow -abstract fun valueFromRow(it: <ERROR CLASS>): V

      Implementation should return the value object marshalled from the database table row.

      +abstract fun valueFromRow(row: <ERROR CLASS>): V

      Implementation should return the value object marshalled from the database table row.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/key-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/key-from-row.html index 0763c01921..0d5f544b0c 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/key-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/key-from-row.html @@ -8,7 +8,7 @@

      keyFromRow

      -protected abstract fun keyFromRow(it: <ERROR CLASS>): K
      +protected abstract fun keyFromRow(row: <ERROR CLASS>): K

      Implementation should return the key object marshalled from the database table row.

      See example implementations in JDBCHashMap.


      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/value-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/value-from-row.html index d99dc6e0ad..456fd92d73 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/value-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-map/value-from-row.html @@ -8,7 +8,7 @@

      valueFromRow

      -protected abstract fun valueFromRow(it: <ERROR CLASS>): V
      +protected abstract fun valueFromRow(row: <ERROR CLASS>): V

      Implementation should return the value object marshalled from the database table row.

      See example implementations in JDBCHashMap.


      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/add-element-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/add-element-to-insert.html index c2d0a45cdf..14d38519ca 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/add-element-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/add-element-to-insert.html @@ -8,7 +8,7 @@

      addElementToInsert

      -protected abstract fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
      +protected abstract fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/element-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/element-from-row.html index bfc66e24d5..973ab5b958 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/element-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/element-from-row.html @@ -8,7 +8,7 @@

      elementFromRow

      -protected abstract fun elementFromRow(it: <ERROR CLASS>): K
      +protected abstract fun elementFromRow(row: <ERROR CLASS>): K

      Implementation should return the element object marshalled from the database table row.

      See example implementations in JDBCHashSet.


      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/index.html b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/index.html index 25c940a8a1..97cb8cbd66 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-abstract-j-d-b-c-hash-set/index.html @@ -7,7 +7,7 @@ com.r3corda.node.utilities / AbstractJDBCHashSet

      AbstractJDBCHashSet

      -abstract class AbstractJDBCHashSet<K : Any, T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>
      +abstract class AbstractJDBCHashSet<K : Any, out T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>

      Base class for JDBC backed hash set that delegates to a JDBC backed hash map where the values are all Unit and not actually persisted. Iteration order is order of insertion. Iterators can remove().

      See AbstractJDBCHashMap for implementation details.

      @@ -64,7 +64,7 @@ addElementToInsert -abstract fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      +abstract fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      @@ -83,7 +83,7 @@ elementFromRow -abstract fun elementFromRow(it: <ERROR CLASS>): K

      Implementation should return the element object marshalled from the database table row.

      +abstract fun elementFromRow(row: <ERROR CLASS>): K

      Implementation should return the element object marshalled from the database table row.

      @@ -111,6 +111,14 @@ +isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

      Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

      + + + + noneOrSingle fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

      Returns the single element matching the given predicate, or null if element was not found, diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-key-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-key-to-insert.html index 3e86360e0e..1272d15397 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-key-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-key-to-insert.html @@ -8,7 +8,7 @@

      addKeyToInsert

      -protected fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
      +protected fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-value-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-value-to-insert.html index d696518d4f..b842231729 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-value-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/add-value-to-insert.html @@ -8,7 +8,7 @@

      addValueToInsert

      -protected fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
      +protected fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/index.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/index.html index 7b6f3b1a0b..020bae0355 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/index.html @@ -89,28 +89,28 @@ See AbstractJDBCHashMap f addKeyToInsert -fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      +fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the key to the insert statement.

      addValueToInsert -fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      +fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the value to the insert statement.

      keyFromRow -fun keyFromRow(it: <ERROR CLASS>): K

      Implementation should return the key object marshalled from the database table row.

      +fun keyFromRow(row: <ERROR CLASS>): K

      Implementation should return the key object marshalled from the database table row.

      valueFromRow -fun valueFromRow(it: <ERROR CLASS>): V

      Implementation should return the value object marshalled from the database table row.

      +fun valueFromRow(row: <ERROR CLASS>): V

      Implementation should return the value object marshalled from the database table row.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/key-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/key-from-row.html index 235bb4bc90..15cc3aa056 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/key-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/key-from-row.html @@ -8,7 +8,7 @@

      keyFromRow

      -protected fun keyFromRow(it: <ERROR CLASS>): K
      +protected fun keyFromRow(row: <ERROR CLASS>): K
      Overrides AbstractJDBCHashMap.keyFromRow

      Implementation should return the key object marshalled from the database table row.

      See example implementations in JDBCHashMap.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/value-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/value-from-row.html index a8ff7a912d..52384ffd84 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/value-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-map/value-from-row.html @@ -8,7 +8,7 @@

      valueFromRow

      -protected fun valueFromRow(it: <ERROR CLASS>): V
      +protected fun valueFromRow(row: <ERROR CLASS>): V
      Overrides AbstractJDBCHashMap.valueFromRow

      Implementation should return the value object marshalled from the database table row.

      See example implementations in JDBCHashMap.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/add-element-to-insert.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/add-element-to-insert.html index 3be1b82c66..a72ee5c9fd 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/add-element-to-insert.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/add-element-to-insert.html @@ -8,7 +8,7 @@

      addElementToInsert

      -protected fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
      +protected fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      If some cleanup is required after the insert statement is executed, such as closing a Blob, then add a closure to the finalizables to do so.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/element-from-row.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/element-from-row.html index b25d6ffd35..bebea351c1 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/element-from-row.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/element-from-row.html @@ -8,7 +8,7 @@

      elementFromRow

      -protected fun elementFromRow(it: <ERROR CLASS>): K
      +protected fun elementFromRow(row: <ERROR CLASS>): K
      Overrides AbstractJDBCHashSet.elementFromRow

      Implementation should return the element object marshalled from the database table row.

      See example implementations in JDBCHashSet.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/index.html b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/index.html index e9ec5a276e..64d8cc62aa 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-j-d-b-c-hash-set/index.html @@ -71,14 +71,14 @@ See AbstractJDBCHashSet a addElementToInsert -fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      +fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit

      Implementation should marshall the element to the insert statement.

      elementFromRow -fun elementFromRow(it: <ERROR CLASS>): K

      Implementation should return the element object marshalled from the database table row.

      +fun elementFromRow(row: <ERROR CLASS>): K

      Implementation should return the element object marshalled from the database table row.

      @@ -111,6 +111,14 @@ See AbstractJDBCHashSet a +isOrderedAndUnique + +fun <T, I : Comparable<I>> Iterable<T>.isOrderedAndUnique(extractId: T.() -> I): Boolean

      Determine if an iterable data types contents are ordered and unique, based on their Comparable.compareTo +function.

      + + + + noneOrSingle fun <T> Iterable<T>.noneOrSingle(predicate: (T) -> Boolean): T?

      Returns the single element matching the given predicate, or null if element was not found, diff --git a/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/deserialize.html b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/deserialize.html new file mode 100644 index 0000000000..e0767c718d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.PublicKeyTreeDeserializer.deserialize - + + + +com.r3corda.node.utilities / JsonSupport / PublicKeyTreeDeserializer / deserialize
      +
      +

      deserialize

      + +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): PublicKeyTree
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/index.html b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/index.html new file mode 100644 index 0000000000..7d5834fbb9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-deserializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.PublicKeyTreeDeserializer - + + + +com.r3corda.node.utilities / JsonSupport / PublicKeyTreeDeserializer
      +
      +

      PublicKeyTreeDeserializer

      +object PublicKeyTreeDeserializer
      +
      +
      +

      Functions

      + + + + + + + +
      +deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): PublicKeyTree
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/index.html b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/index.html new file mode 100644 index 0000000000..c0299e47f8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.PublicKeyTreeSerializer - + + + +com.r3corda.node.utilities / JsonSupport / PublicKeyTreeSerializer
      +
      +

      PublicKeyTreeSerializer

      +object PublicKeyTreeSerializer
      +
      +
      +

      Functions

      + + + + + + + +
      +serialize +fun serialize(obj: PublicKeyTree, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/serialize.html b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/serialize.html new file mode 100644 index 0000000000..deea762219 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-json-support/-public-key-tree-serializer/serialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.PublicKeyTreeSerializer.serialize - + + + +com.r3corda.node.utilities / JsonSupport / PublicKeyTreeSerializer / serialize
      +
      +

      serialize

      + +fun serialize(obj: PublicKeyTree, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-json-support/index.html b/docs/build/html/api/com.r3corda.node.utilities/-json-support/index.html index 855ccc6578..3605268802 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/-json-support/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/-json-support/index.html @@ -59,6 +59,18 @@ the java.time API, some core types, and Kotlin data classes.

      +PublicKeyTreeDeserializer + +object PublicKeyTreeDeserializer + + + +PublicKeyTreeSerializer + +object PublicKeyTreeSerializer + + + SecureHashDeserializer class SecureHashDeserializer<T : SecureHash>

      Implemented as a class so that we can instantiate for T.

      diff --git a/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/index.html b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/index.html new file mode 100644 index 0000000000..1aa1f0202d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/index.html @@ -0,0 +1,44 @@ + + +LocalDateColumnType - + + + +com.r3corda.node.utilities / LocalDateColumnType
      +
      +

      LocalDateColumnType

      +object LocalDateColumnType
      +

      ColumnType for marshalling to/from database on behalf of java.time.LocalDate.

      +
      +
      +

      Functions

      + + + + + + + + + + + + + + + + + + + +
      +nonNullValueToString +fun nonNullValueToString(value: Any): String
      +notNullValueToDB +fun notNullValueToDB(value: Any): Any
      +sqlType +fun sqlType(): String
      +valueFromDB +fun valueFromDB(value: Any): Any
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/non-null-value-to-string.html b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/non-null-value-to-string.html new file mode 100644 index 0000000000..ede5086d6d --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/non-null-value-to-string.html @@ -0,0 +1,15 @@ + + +LocalDateColumnType.nonNullValueToString - + + + +com.r3corda.node.utilities / LocalDateColumnType / nonNullValueToString
      +
      +

      nonNullValueToString

      + +fun nonNullValueToString(value: Any): String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/not-null-value-to-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/not-null-value-to-d-b.html new file mode 100644 index 0000000000..188605fbab --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/not-null-value-to-d-b.html @@ -0,0 +1,15 @@ + + +LocalDateColumnType.notNullValueToDB - + + + +com.r3corda.node.utilities / LocalDateColumnType / notNullValueToDB
      +
      +

      notNullValueToDB

      + +fun notNullValueToDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/sql-type.html b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/sql-type.html new file mode 100644 index 0000000000..afb967ba31 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/sql-type.html @@ -0,0 +1,15 @@ + + +LocalDateColumnType.sqlType - + + + +com.r3corda.node.utilities / LocalDateColumnType / sqlType
      +
      +

      sqlType

      + +fun sqlType(): String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/value-from-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/value-from-d-b.html new file mode 100644 index 0000000000..8289afd125 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-local-date-column-type/value-from-d-b.html @@ -0,0 +1,15 @@ + + +LocalDateColumnType.valueFromDB - + + + +com.r3corda.node.utilities / LocalDateColumnType / valueFromDB
      +
      +

      valueFromDB

      + +fun valueFromDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-n-o-d-e_-d-a-t-a-b-a-s-e_-p-r-e-f-i-x.html b/docs/build/html/api/com.r3corda.node.utilities/-n-o-d-e_-d-a-t-a-b-a-s-e_-p-r-e-f-i-x.html new file mode 100644 index 0000000000..c283746865 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-n-o-d-e_-d-a-t-a-b-a-s-e_-p-r-e-f-i-x.html @@ -0,0 +1,16 @@ + + +NODE_DATABASE_PREFIX - + + + +com.r3corda.node.utilities / NODE_DATABASE_PREFIX
      +
      +

      NODE_DATABASE_PREFIX

      + +const val NODE_DATABASE_PREFIX: String
      +

      Table prefix for all tables owned by the node module.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-party-columns/-init-.html b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/-init-.html new file mode 100644 index 0000000000..1930bf3099 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/-init-.html @@ -0,0 +1,14 @@ + + +PartyColumns.<init> - + + + +com.r3corda.node.utilities / PartyColumns / <init>
      +
      +

      <init>

      +PartyColumns(name: <ERROR CLASS><String>, owningKey: <ERROR CLASS><PublicKey>)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-party-columns/index.html b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/index.html new file mode 100644 index 0000000000..292d233e25 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/index.html @@ -0,0 +1,42 @@ + + +PartyColumns - + + + +com.r3corda.node.utilities / PartyColumns
      +
      +

      PartyColumns

      +data class PartyColumns
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +PartyColumns(name: <ERROR CLASS><String>, owningKey: <ERROR CLASS><PublicKey>)
      +

      Properties

      + + + + + + + + + + + +
      +name +val name: <ERROR CLASS><String>
      +owningKey +val owningKey: <ERROR CLASS><PublicKey>
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-party-columns/name.html b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/name.html new file mode 100644 index 0000000000..6224ee75e9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/name.html @@ -0,0 +1,15 @@ + + +PartyColumns.name - + + + +com.r3corda.node.utilities / PartyColumns / name
      +
      +

      name

      + +val name: <ERROR CLASS><String>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-party-columns/owning-key.html b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/owning-key.html new file mode 100644 index 0000000000..d5b02213f1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-party-columns/owning-key.html @@ -0,0 +1,15 @@ + + +PartyColumns.owningKey - + + + +com.r3corda.node.utilities / PartyColumns / owningKey
      +
      +

      owningKey

      + +val owningKey: <ERROR CLASS><PublicKey>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/index.html b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/index.html new file mode 100644 index 0000000000..4c122109d6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/index.html @@ -0,0 +1,38 @@ + + +PublicKeyColumnType - + + + +com.r3corda.node.utilities / PublicKeyColumnType
      +
      +

      PublicKeyColumnType

      +object PublicKeyColumnType
      +

      ColumnType for marshalling to/from database on behalf of PublicKey.

      +
      +
      +

      Functions

      + + + + + + + + + + + + + + + +
      +notNullValueToDB +fun notNullValueToDB(value: Any): Any
      +sqlType +fun sqlType(): String
      +valueFromDB +fun valueFromDB(value: Any): Any
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/not-null-value-to-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/not-null-value-to-d-b.html new file mode 100644 index 0000000000..2863e136f7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/not-null-value-to-d-b.html @@ -0,0 +1,15 @@ + + +PublicKeyColumnType.notNullValueToDB - + + + +com.r3corda.node.utilities / PublicKeyColumnType / notNullValueToDB
      +
      +

      notNullValueToDB

      + +fun notNullValueToDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/sql-type.html b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/sql-type.html new file mode 100644 index 0000000000..83c86c62f8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/sql-type.html @@ -0,0 +1,15 @@ + + +PublicKeyColumnType.sqlType - + + + +com.r3corda.node.utilities / PublicKeyColumnType / sqlType
      +
      +

      sqlType

      + +fun sqlType(): String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/value-from-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/value-from-d-b.html new file mode 100644 index 0000000000..da1240ac20 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-public-key-column-type/value-from-d-b.html @@ -0,0 +1,15 @@ + + +PublicKeyColumnType.valueFromDB - + + + +com.r3corda.node.utilities / PublicKeyColumnType / valueFromDB
      +
      +

      valueFromDB

      + +fun valueFromDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/index.html b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/index.html new file mode 100644 index 0000000000..dfafbff564 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/index.html @@ -0,0 +1,38 @@ + + +SecureHashColumnType - + + + +com.r3corda.node.utilities / SecureHashColumnType
      +
      +

      SecureHashColumnType

      +object SecureHashColumnType
      +

      ColumnType for marshalling to/from database on behalf of SecureHash.

      +
      +
      +

      Functions

      + + + + + + + + + + + + + + + +
      +notNullValueToDB +fun notNullValueToDB(value: Any): Any
      +sqlType +fun sqlType(): String
      +valueFromDB +fun valueFromDB(value: Any): Any
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/not-null-value-to-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/not-null-value-to-d-b.html new file mode 100644 index 0000000000..fa82b7da45 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/not-null-value-to-d-b.html @@ -0,0 +1,15 @@ + + +SecureHashColumnType.notNullValueToDB - + + + +com.r3corda.node.utilities / SecureHashColumnType / notNullValueToDB
      +
      +

      notNullValueToDB

      + +fun notNullValueToDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/sql-type.html b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/sql-type.html new file mode 100644 index 0000000000..5a9e44b8ad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/sql-type.html @@ -0,0 +1,15 @@ + + +SecureHashColumnType.sqlType - + + + +com.r3corda.node.utilities / SecureHashColumnType / sqlType
      +
      +

      sqlType

      + +fun sqlType(): String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/value-from-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/value-from-d-b.html new file mode 100644 index 0000000000..b5ff07c1fb --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-secure-hash-column-type/value-from-d-b.html @@ -0,0 +1,15 @@ + + +SecureHashColumnType.valueFromDB - + + + +com.r3corda.node.utilities / SecureHashColumnType / valueFromDB
      +
      +

      valueFromDB

      + +fun valueFromDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/--index--.html b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/--index--.html new file mode 100644 index 0000000000..9a53303f49 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/--index--.html @@ -0,0 +1,15 @@ + + +StateRefColumns.index - + + + +com.r3corda.node.utilities / StateRefColumns / index
      +
      +

      index

      + +val index: <ERROR CLASS><Int>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/-init-.html b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/-init-.html new file mode 100644 index 0000000000..43093261b2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/-init-.html @@ -0,0 +1,14 @@ + + +StateRefColumns.<init> - + + + +com.r3corda.node.utilities / StateRefColumns / <init>
      +
      +

      <init>

      +StateRefColumns(txId: <ERROR CLASS><SecureHash>, index: <ERROR CLASS><Int>)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/index.html b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/index.html new file mode 100644 index 0000000000..fdaa07d7ec --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/index.html @@ -0,0 +1,42 @@ + + +StateRefColumns - + + + +com.r3corda.node.utilities / StateRefColumns
      +
      +

      StateRefColumns

      +data class StateRefColumns
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +StateRefColumns(txId: <ERROR CLASS><SecureHash>, index: <ERROR CLASS><Int>)
      +

      Properties

      + + + + + + + + + + + +
      +index +val index: <ERROR CLASS><Int>
      +txId +val txId: <ERROR CLASS><SecureHash>
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/tx-id.html b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/tx-id.html new file mode 100644 index 0000000000..0a28e3e971 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-state-ref-columns/tx-id.html @@ -0,0 +1,15 @@ + + +StateRefColumns.txId - + + + +com.r3corda.node.utilities / StateRefColumns / txId
      +
      +

      txId

      + +val txId: <ERROR CLASS><SecureHash>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/-init-.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/-init-.html new file mode 100644 index 0000000000..d735140192 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/-init-.html @@ -0,0 +1,23 @@ + + +StrandLocalTransactionManager.<init> - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / <init>
      +
      +

      <init>

      +StrandLocalTransactionManager(initWithDatabase: <ERROR CLASS>)
      +

      A relatively close copy of the ThreadLocalTransactionManager in Exposed but with the following adjustments to suit +our environment:

      +

      Because the construction of a Database instance results in replacing the singleton TransactionManager instance, +our tests involving two MockNodes effectively replace the database instances of each other and continue to trample +over each other. So here we use a companion object to hold them as ThreadLocal and StrandLocalTransactionManager +is otherwise effectively stateless so its replacement does not matter. The ThreadLocal is then set correctly and +explicitly just prior to initiating a transaction in databaseTransaction and createDatabaseTransaction above.

      +
      +
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/current-or-null.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/current-or-null.html new file mode 100644 index 0000000000..fc2e1d0e57 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/current-or-null.html @@ -0,0 +1,15 @@ + + +StrandLocalTransactionManager.currentOrNull - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / currentOrNull
      +
      +

      currentOrNull

      + +fun currentOrNull(): <ERROR CLASS>?
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/database.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/database.html new file mode 100644 index 0000000000..5d85f96bce --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/database.html @@ -0,0 +1,15 @@ + + +StrandLocalTransactionManager.database - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / database
      +
      +

      database

      + +var database: <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/index.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/index.html new file mode 100644 index 0000000000..48cb286d76 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/index.html @@ -0,0 +1,81 @@ + + +StrandLocalTransactionManager - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager
      +
      +

      StrandLocalTransactionManager

      +class StrandLocalTransactionManager
      +

      A relatively close copy of the ThreadLocalTransactionManager in Exposed but with the following adjustments to suit +our environment:

      +

      Because the construction of a Database instance results in replacing the singleton TransactionManager instance, +our tests involving two MockNodes effectively replace the database instances of each other and continue to trample +over each other. So here we use a companion object to hold them as ThreadLocal and StrandLocalTransactionManager +is otherwise effectively stateless so its replacement does not matter. The ThreadLocal is then set correctly and +explicitly just prior to initiating a transaction in databaseTransaction and createDatabaseTransaction above.

      +
      +
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +StrandLocalTransactionManager(initWithDatabase: <ERROR CLASS>)

      A relatively close copy of the ThreadLocalTransactionManager in Exposed but with the following adjustments to suit +our environment:

      +
      +

      Functions

      + + + + + + + + + + + +
      +currentOrNull +fun currentOrNull(): <ERROR CLASS>?
      +newTransaction +fun newTransaction(isolation: Int): <ERROR CLASS>
      +

      Companion Object Properties

      + + + + + + + +
      +database +var database: <ERROR CLASS>
      +

      Companion Object Functions

      + + + + + + + + + + + +
      +restoreThreadLocalTx +fun restoreThreadLocalTx(context: <ERROR CLASS><<ERROR CLASS>?, <ERROR CLASS>?>): Unit
      +setThreadLocalTx +fun setThreadLocalTx(tx: <ERROR CLASS>?): <ERROR CLASS><<ERROR CLASS>?, <ERROR CLASS>?>
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/new-transaction.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/new-transaction.html new file mode 100644 index 0000000000..dc8d837974 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/new-transaction.html @@ -0,0 +1,15 @@ + + +StrandLocalTransactionManager.newTransaction - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / newTransaction
      +
      +

      newTransaction

      + +fun newTransaction(isolation: Int): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/restore-thread-local-tx.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/restore-thread-local-tx.html new file mode 100644 index 0000000000..24459660cc --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/restore-thread-local-tx.html @@ -0,0 +1,15 @@ + + +StrandLocalTransactionManager.restoreThreadLocalTx - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / restoreThreadLocalTx
      +
      +

      restoreThreadLocalTx

      + +fun restoreThreadLocalTx(context: <ERROR CLASS><<ERROR CLASS>?, <ERROR CLASS>?>): Unit
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/set-thread-local-tx.html b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/set-thread-local-tx.html new file mode 100644 index 0000000000..69a92afb96 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-strand-local-transaction-manager/set-thread-local-tx.html @@ -0,0 +1,15 @@ + + +StrandLocalTransactionManager.setThreadLocalTx - + + + +com.r3corda.node.utilities / StrandLocalTransactionManager / setThreadLocalTx
      +
      +

      setThreadLocalTx

      + +fun setThreadLocalTx(tx: <ERROR CLASS>?): <ERROR CLASS><<ERROR CLASS>?, <ERROR CLASS>?>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/index.html b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/index.html new file mode 100644 index 0000000000..953d0447f7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/index.html @@ -0,0 +1,38 @@ + + +UUIDStringColumnType - + + + +com.r3corda.node.utilities / UUIDStringColumnType
      +
      +

      UUIDStringColumnType

      +object UUIDStringColumnType
      +

      ColumnType for marshalling to/from database on behalf of UUID, always using a string representation.

      +
      +
      +

      Functions

      + + + + + + + + + + + + + + + +
      +notNullValueToDB +fun notNullValueToDB(value: Any): Any
      +sqlType +fun sqlType(): String
      +valueFromDB +fun valueFromDB(value: Any): Any
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/not-null-value-to-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/not-null-value-to-d-b.html new file mode 100644 index 0000000000..d538e1b5c0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/not-null-value-to-d-b.html @@ -0,0 +1,15 @@ + + +UUIDStringColumnType.notNullValueToDB - + + + +com.r3corda.node.utilities / UUIDStringColumnType / notNullValueToDB
      +
      +

      notNullValueToDB

      + +fun notNullValueToDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/sql-type.html b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/sql-type.html new file mode 100644 index 0000000000..1b90bf50d0 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/sql-type.html @@ -0,0 +1,15 @@ + + +UUIDStringColumnType.sqlType - + + + +com.r3corda.node.utilities / UUIDStringColumnType / sqlType
      +
      +

      sqlType

      + +fun sqlType(): String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/value-from-d-b.html b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/value-from-d-b.html new file mode 100644 index 0000000000..ef39362f99 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/-u-u-i-d-string-column-type/value-from-d-b.html @@ -0,0 +1,15 @@ + + +UUIDStringColumnType.valueFromDB - + + + +com.r3corda.node.utilities / UUIDStringColumnType / valueFromDB
      +
      +

      valueFromDB

      + +fun valueFromDB(value: Any): Any
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/bytes-from-blob.html b/docs/build/html/api/com.r3corda.node.utilities/bytes-from-blob.html new file mode 100644 index 0000000000..389c3fd615 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/bytes-from-blob.html @@ -0,0 +1,15 @@ + + +bytesFromBlob - + + + +com.r3corda.node.utilities / bytesFromBlob
      +
      +

      bytesFromBlob

      + +fun <T : Any> bytesFromBlob(blob: Blob): SerializedBytes<T>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/bytes-to-blob.html b/docs/build/html/api/com.r3corda.node.utilities/bytes-to-blob.html new file mode 100644 index 0000000000..f1699ca7a5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/bytes-to-blob.html @@ -0,0 +1,15 @@ + + +bytesToBlob - + + + +com.r3corda.node.utilities / bytesToBlob
      +
      +

      bytesToBlob

      + +fun bytesToBlob(value: SerializedBytes<*>, finalizables: MutableList<() -> Unit>): Blob
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/create-database-transaction.html b/docs/build/html/api/com.r3corda.node.utilities/create-database-transaction.html new file mode 100644 index 0000000000..18854a1a2f --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/create-database-transaction.html @@ -0,0 +1,15 @@ + + +createDatabaseTransaction - + + + +com.r3corda.node.utilities / createDatabaseTransaction
      +
      +

      createDatabaseTransaction

      + +fun createDatabaseTransaction(db: <ERROR CLASS>): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/database-transaction.html b/docs/build/html/api/com.r3corda.node.utilities/database-transaction.html index 0297df5c52..4375f4e4c1 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/database-transaction.html +++ b/docs/build/html/api/com.r3corda.node.utilities/database-transaction.html @@ -7,8 +7,8 @@ com.r3corda.node.utilities / databaseTransaction

      databaseTransaction

      - -fun <T> databaseTransaction(statement: <ERROR CLASS>.() -> T): T
      + +fun <T> databaseTransaction(db: <ERROR CLASS>, statement: <ERROR CLASS>.() -> T): T


      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 15b1a2d391..325aedc22c 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/index.html +++ b/docs/build/html/api/com.r3corda.node.utilities/index.html @@ -31,7 +31,7 @@ if the terminal supports it. Otherwise it just prints out the name of the step w AbstractJDBCHashMap -abstract class AbstractJDBCHashMap<K : Any, V : Any, T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>

      A base class for a JDBC table backed hash map that iterates in insertion order by using +abstract class AbstractJDBCHashMap<K : Any, V : Any, out T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>

      A base class for a JDBC table backed hash map that iterates in insertion order by using an ever increasing sequence number on entries. Iterators supports remove() but entries are not really mutable and do not support setValue() method from MutableMap.MutableEntry.

      @@ -40,7 +40,7 @@ do not support setValue() method from MutableMap.MutableEntry. AbstractJDBCHashSet -abstract class AbstractJDBCHashSet<K : Any, T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>

      Base class for JDBC backed hash set that delegates to a JDBC backed hash map where the values are all +abstract class AbstractJDBCHashSet<K : Any, out T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>

      Base class for JDBC backed hash set that delegates to a JDBC backed hash map where the values are all Unit and not actually persisted. Iteration order is order of insertion. Iterators can remove().

      @@ -98,12 +98,60 @@ the java.time API, some core types, and Kotlin data classes.

      +LocalDateColumnType + +object LocalDateColumnType

      ColumnType for marshalling to/from database on behalf of java.time.LocalDate.

      + + + + MutableClock abstract class MutableClock : Clock

      An abstract class with helper methods for a type of Clock that might have its concept of "now" adjusted externally.

      + + +PartyColumns + +data class PartyColumns + + + +PublicKeyColumnType + +object PublicKeyColumnType

      ColumnType for marshalling to/from database on behalf of PublicKey.

      + + + + +SecureHashColumnType + +object SecureHashColumnType

      ColumnType for marshalling to/from database on behalf of SecureHash.

      + + + + +StateRefColumns + +data class StateRefColumns + + + +StrandLocalTransactionManager + +class StrandLocalTransactionManager

      A relatively close copy of the ThreadLocalTransactionManager in Exposed but with the following adjustments to suit +our environment:

      + + + + +UUIDStringColumnType + +object UUIDStringColumnType

      ColumnType for marshalling to/from database on behalf of UUID, always using a string representation.

      + +

      Extensions for External Classes

      @@ -117,20 +165,50 @@ adjusted externally.

      +

      Properties

      + + + + + + + +
      +NODE_DATABASE_PREFIX +const val NODE_DATABASE_PREFIX: String

      Table prefix for all tables owned by the node module.

      +

      Functions

      + + + + + + + + + + + + +fun <T> databaseTransaction(db: <ERROR CLASS>, statement: <ERROR CLASS>.() -> T): T + + + + + + + + + + + + + + + + + + + + +fun serializeToBlob(value: Any, finalizables: MutableList<() -> Unit>): Blob + + + + + + + +
      +bytesFromBlob +fun <T : Any> bytesFromBlob(blob: Blob): SerializedBytes<T>
      +bytesToBlob +fun bytesToBlob(value: SerializedBytes<*>, finalizables: MutableList<() -> Unit>): Blob
      configureDatabase fun configureDatabase(props: Properties): <ERROR CLASS><Closeable, <ERROR CLASS>>
      +createDatabaseTransaction +fun createDatabaseTransaction(db: <ERROR CLASS>): <ERROR CLASS>
      databaseTransaction -fun <T> databaseTransaction(statement: <ERROR CLASS>.() -> T): T
      @@ -140,9 +218,52 @@ adjusted externally.

      +isolatedTransaction +fun <T> isolatedTransaction(database: <ERROR CLASS>, block: <ERROR CLASS>.() -> T): T
      +localDate +fun <ERROR CLASS>.localDate(name: String): <ERROR CLASS>
      +party +fun <ERROR CLASS>.party(nameColumnName: String, keyColumnName: String): <ERROR CLASS>
      +publicKey +fun <ERROR CLASS>.publicKey(name: String): <ERROR CLASS>

      Table column helpers for use with Exposed, as per varchar etc.

      +
      +secureHash +fun <ERROR CLASS>.secureHash(name: String): <ERROR CLASS>
      serializeToBlob -fun <T : Any> serializeToBlob(value: T, finalizables: MutableList<() -> Unit>): Blob
      +stateRef +fun <ERROR CLASS>.stateRef(txIdColumnName: String, indexColumnName: String): <ERROR CLASS>
      +uuidString +fun <ERROR CLASS>.uuidString(name: String): <ERROR CLASS>
      diff --git a/docs/build/html/api/com.r3corda.node.utilities/isolated-transaction.html b/docs/build/html/api/com.r3corda.node.utilities/isolated-transaction.html new file mode 100644 index 0000000000..9bcb908177 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/isolated-transaction.html @@ -0,0 +1,15 @@ + + +isolatedTransaction - + + + +com.r3corda.node.utilities / isolatedTransaction
      +
      +

      isolatedTransaction

      + +fun <T> isolatedTransaction(database: <ERROR CLASS>, block: <ERROR CLASS>.() -> T): T
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/local-date.html b/docs/build/html/api/com.r3corda.node.utilities/local-date.html new file mode 100644 index 0000000000..0709b86b22 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/local-date.html @@ -0,0 +1,15 @@ + + +localDate - + + + +com.r3corda.node.utilities / localDate
      +
      +

      localDate

      + +fun <ERROR CLASS>.localDate(name: String): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/party.html b/docs/build/html/api/com.r3corda.node.utilities/party.html new file mode 100644 index 0000000000..a7e1108d71 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/party.html @@ -0,0 +1,15 @@ + + +party - + + + +com.r3corda.node.utilities / party
      +
      +

      party

      + +fun <ERROR CLASS>.party(nameColumnName: String, keyColumnName: String): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/public-key.html b/docs/build/html/api/com.r3corda.node.utilities/public-key.html new file mode 100644 index 0000000000..ec51b15fad --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/public-key.html @@ -0,0 +1,16 @@ + + +publicKey - + + + +com.r3corda.node.utilities / publicKey
      +
      +

      publicKey

      + +fun <ERROR CLASS>.publicKey(name: String): <ERROR CLASS>
      +

      Table column helpers for use with Exposed, as per varchar etc.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/secure-hash.html b/docs/build/html/api/com.r3corda.node.utilities/secure-hash.html new file mode 100644 index 0000000000..7caa366372 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/secure-hash.html @@ -0,0 +1,15 @@ + + +secureHash - + + + +com.r3corda.node.utilities / secureHash
      +
      +

      secureHash

      + +fun <ERROR CLASS>.secureHash(name: String): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/serialize-to-blob.html b/docs/build/html/api/com.r3corda.node.utilities/serialize-to-blob.html index 8cd46e50c5..962aaad7c6 100644 --- a/docs/build/html/api/com.r3corda.node.utilities/serialize-to-blob.html +++ b/docs/build/html/api/com.r3corda.node.utilities/serialize-to-blob.html @@ -7,8 +7,8 @@ com.r3corda.node.utilities / serializeToBlob

      serializeToBlob

      - -fun <T : Any> serializeToBlob(value: T, finalizables: MutableList<() -> Unit>): Blob
      + +fun serializeToBlob(value: Any, finalizables: MutableList<() -> Unit>): Blob


      diff --git a/docs/build/html/api/com.r3corda.node.utilities/state-ref.html b/docs/build/html/api/com.r3corda.node.utilities/state-ref.html new file mode 100644 index 0000000000..5bc91c50ef --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/state-ref.html @@ -0,0 +1,15 @@ + + +stateRef - + + + +com.r3corda.node.utilities / stateRef
      +
      +

      stateRef

      + +fun <ERROR CLASS>.stateRef(txIdColumnName: String, indexColumnName: String): <ERROR CLASS>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.node.utilities/uuid-string.html b/docs/build/html/api/com.r3corda.node.utilities/uuid-string.html new file mode 100644 index 0000000000..6c880b50c9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.node.utilities/uuid-string.html @@ -0,0 +1,15 @@ + + +uuidString - + + + +com.r3corda.node.utilities / uuidString
      +
      +

      uuidString

      + +fun <ERROR CLASS>.uuidString(name: String): <ERROR CLASS>
      +
      +
      + + 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 4dacc53523..740ece7e85 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 @@ -91,14 +91,6 @@ only available once the protocol has started, which means it cannnot be accessed access this lazily or from inside call.

      - - -topic - -abstract val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Functions

      @@ -127,6 +119,15 @@ proposal is returned if acceptable, otherwise an exception is thrown.

      +getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      @@ -134,15 +135,6 @@ proposal is returned if acceptable, otherwise an exception is thrown.

      -registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -158,10 +150,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/verify-proposal.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/verify-proposal.html index c39a057c04..9868d5ff72 100644 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/verify-proposal.html +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-acceptor/verify-proposal.html @@ -8,7 +8,7 @@

      verifyProposal

      -abstract fun verifyProposal(maybeProposal: UntrustworthyData<Proposal<T>>): Proposal<T>
      +protected abstract fun verifyProposal(maybeProposal: UntrustworthyData<Proposal<T>>): Proposal<T>

      Check the state change proposal to confirm that its acceptable to this node. Rules for verification depend on the change proposed, and may further depend on the node itself (for example configuration). The proposal is returned if acceptable, otherwise an exception is thrown.

      diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/-init-.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/-init-.html deleted file mode 100644 index 8ebb6ba198..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -AbstractStateReplacementProtocol.Handshake.<init> - - - - -com.r3corda.protocols / AbstractStateReplacementProtocol / Handshake / <init>
      -
      -

      <init>

      -Handshake(replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/index.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/index.html deleted file mode 100644 index 7db548412b..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - -AbstractStateReplacementProtocol.Handshake - - - - -com.r3corda.protocols / AbstractStateReplacementProtocol / Handshake
      -
      -

      Handshake

      -data class Handshake : HandshakeMessage
      -
      -
      -

      Constructors

      - - - - - - - -
      -<init> -Handshake(replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -

      Properties

      - - - - - - - - - - - - - - - -
      -receiveSessionID -val receiveSessionID: Long
      -replyToParty -val replyToParty: Party
      -sendSessionID -val sendSessionID: Long
      -

      Inherited Properties

      - - - - - - - -
      -sessionID -open val sessionID: Long
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/receive-session-i-d.html deleted file mode 100644 index 5fa4cb8edb..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AbstractStateReplacementProtocol.Handshake.receiveSessionID - - - - -com.r3corda.protocols / AbstractStateReplacementProtocol / Handshake / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/reply-to-party.html deleted file mode 100644 index 9de3faf667..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AbstractStateReplacementProtocol.Handshake.replyToParty - - - - -com.r3corda.protocols / AbstractStateReplacementProtocol / Handshake / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/send-session-i-d.html deleted file mode 100644 index f1ea10b185..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-handshake/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -AbstractStateReplacementProtocol.Handshake.sendSessionID - - - - -com.r3corda.protocols / AbstractStateReplacementProtocol / Handshake / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-proposal.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-proposal.html new file mode 100644 index 0000000000..f59fba7907 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-proposal.html @@ -0,0 +1,15 @@ + + +AbstractStateReplacementProtocol.Instigator.assembleProposal - + + + +com.r3corda.protocols / AbstractStateReplacementProtocol / Instigator / assembleProposal
      +
      +

      assembleProposal

      + +protected abstract fun assembleProposal(stateRef: StateRef, modification: T, stx: SignedTransaction): Proposal<T>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-tx.html b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-tx.html new file mode 100644 index 0000000000..9d37b4a128 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-abstract-state-replacement-protocol/-instigator/assemble-tx.html @@ -0,0 +1,15 @@ + + +AbstractStateReplacementProtocol.Instigator.assembleTx - + + + +com.r3corda.protocols / AbstractStateReplacementProtocol / Instigator / assembleTx
      +
      +

      assembleTx

      + +protected abstract fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>
      +
      +
      + + 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 67889b1b14..ef1a53c139 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 @@ -91,14 +91,6 @@ only available once the protocol has started, which means it cannnot be accessed access this lazily or from inside call.

      - - -topic - -abstract val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Functions

      @@ -106,6 +98,18 @@ Note that this is temporary until protocol sessions are properly implemented.

      +assembleProposal + +abstract fun assembleProposal(stateRef: StateRef, modification: T, stx: SignedTransaction): Proposal<T> + + + +assembleTx + +abstract fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>> + + + call open fun call(): StateAndRef<S>

      This is where you fill out your business logic.

      @@ -118,19 +122,19 @@ Note that this is temporary until protocol sessions are properly implemented.

      -receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -149,10 +153,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      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 66d9e9dd1b..43a2e5fe14 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 @@ -30,12 +30,6 @@ use the new updated state for future transactions.

      -Handshake - -data class Handshake : HandshakeMessage - - - Instigator abstract class Instigator<out S : ContractState, T> : ProtocolLogic<StateAndRef<S>> diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/-init-.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/-init-.html deleted file mode 100644 index 4019bb2f53..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -BroadcastTransactionProtocol.NotifyTxRequestMessage.<init> - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / <init>
      -
      -

      <init>

      -NotifyTxRequestMessage(tx: SignedTransaction, events: Set<ClientToServiceCommand>, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/index.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/index.html deleted file mode 100644 index e7f75777db..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - -BroadcastTransactionProtocol.NotifyTxRequestMessage - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage
      -
      -

      NotifyTxRequestMessage

      -data class NotifyTxRequestMessage : HandshakeMessage
      -
      -
      -

      Constructors

      - - - - - - - -
      -<init> -NotifyTxRequestMessage(tx: SignedTransaction, events: Set<ClientToServiceCommand>, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -

      Properties

      - - - - - - - - - - - - - - - - - - - - - - - -
      -events -val events: Set<ClientToServiceCommand>
      -receiveSessionID -val receiveSessionID: Long
      -replyToParty -val replyToParty: Party
      -sendSessionID -val sendSessionID: Long
      -tx -val tx: SignedTransaction
      -

      Inherited Properties

      - - - - - - - -
      -sessionID -open val sessionID: Long
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/receive-session-i-d.html deleted file mode 100644 index 624bcfb897..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -BroadcastTransactionProtocol.NotifyTxRequestMessage.receiveSessionID - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/reply-to-party.html deleted file mode 100644 index 9d07de75a2..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -BroadcastTransactionProtocol.NotifyTxRequestMessage.replyToParty - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/send-session-i-d.html deleted file mode 100644 index a063a9b5fd..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -BroadcastTransactionProtocol.NotifyTxRequestMessage.sendSessionID - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/-init-.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/-init-.html new file mode 100644 index 0000000000..2090f0d3e3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/-init-.html @@ -0,0 +1,14 @@ + + +BroadcastTransactionProtocol.NotifyTxRequest.<init> - + + + +com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequest / <init>
      +
      +

      <init>

      +NotifyTxRequest(tx: SignedTransaction, events: Set<ClientToServiceCommand>)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/events.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/events.html similarity index 77% rename from docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/events.html rename to docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/events.html index b656f71ba9..da7e684a9d 100644 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/events.html +++ b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/events.html @@ -1,13 +1,13 @@ -BroadcastTransactionProtocol.NotifyTxRequestMessage.events - +BroadcastTransactionProtocol.NotifyTxRequest.events - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / events
      +com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequest / events

      events

      - + val events: Set<ClientToServiceCommand>


      diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/index.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/index.html new file mode 100644 index 0000000000..a1f8695099 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/index.html @@ -0,0 +1,42 @@ + + +BroadcastTransactionProtocol.NotifyTxRequest - + + + +com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequest
      +
      +

      NotifyTxRequest

      +data class NotifyTxRequest
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +NotifyTxRequest(tx: SignedTransaction, events: Set<ClientToServiceCommand>)
      +

      Properties

      + + + + + + + + + + + +
      +events +val events: Set<ClientToServiceCommand>
      +tx +val tx: SignedTransaction
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/tx.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/tx.html similarity index 74% rename from docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/tx.html rename to docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/tx.html index 092d37f3ee..3b4bbc0987 100644 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request-message/tx.html +++ b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-notify-tx-request/tx.html @@ -1,13 +1,13 @@ -BroadcastTransactionProtocol.NotifyTxRequestMessage.tx - +BroadcastTransactionProtocol.NotifyTxRequest.tx - -com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequestMessage / tx
      +com.r3corda.protocols / BroadcastTransactionProtocol / NotifyTxRequest / tx

      tx

      - + val tx: SignedTransaction


      diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-t-o-p-i-c.html deleted file mode 100644 index ee7538b9e3..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,16 +0,0 @@ - - -BroadcastTransactionProtocol.TOPIC - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / TOPIC
      -
      -

      TOPIC

      - -val TOPIC: String
      -

      Topic for messages notifying a node of a new transaction

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/index.html index 6720c8223d..c5f56d6b00 100644 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/index.html @@ -28,9 +28,9 @@ a list of participants who were successfully notified of the transaction.

      -NotifyTxRequestMessage +NotifyTxRequest -data class NotifyTxRequestMessage : HandshakeMessage +data class NotifyTxRequest @@ -68,14 +68,6 @@ a list of participants who were successfully notified of the transaction.

      val participants: Set<Party> - - -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      @@ -133,6 +125,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      @@ -140,15 +141,6 @@ access this lazily or from inside registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -164,21 +156,15 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      - - -

      Companion Object Properties

      - - +track +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
      -TOPIC -val TOPIC: String

      Topic for messages notifying a node of a new transaction

      -
      diff --git a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/topic.html deleted file mode 100644 index e76d5204cd..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-broadcast-transaction-protocol/topic.html +++ /dev/null @@ -1,18 +0,0 @@ - - -BroadcastTransactionProtocol.topic - - - - -com.r3corda.protocols / BroadcastTransactionProtocol / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -
      -
      - - 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 deleted file mode 100644 index 1d35ae6271..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/get-reply-to.html +++ /dev/null @@ -1,16 +0,0 @@ - - -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 deleted file mode 100644 index e11f031ef6..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - -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
      -

      Inheritors

      - - - - - - - - - - - - - - - -
      -ClientToServiceCommandMessage -data class ClientToServiceCommandMessage : DirectRequestMessage
      -DeregisterRequest -data class DeregisterRequest : DirectRequestMessage
      -RegisterRequest -data class RegisterRequest : DirectRequestMessage
      - - 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 deleted file mode 100644 index 7d65efa77a..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-direct-request-message/reply-to-recipient.html +++ /dev/null @@ -1,15 +0,0 @@ - - -DirectRequestMessage.replyToRecipient - - - - -com.r3corda.protocols / DirectRequestMessage / replyToRecipient
      -
      -

      replyToRecipient

      - -abstract val replyToRecipient: SingleMessageRecipient
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/-t-o-p-i-c.html deleted file mode 100644 index 8f09b8f22b..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -FetchAttachmentsProtocol.TOPIC - - - - -com.r3corda.protocols / FetchAttachmentsProtocol / TOPIC
      -
      -

      TOPIC

      - -const val TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/index.html index 644780f836..38a9a0923e 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/index.html @@ -25,19 +25,6 @@ attachments are saved to local storage automatically.

      -

      Properties

      - - - - - - - -
      -topic -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Properties

      @@ -90,16 +77,5 @@ Note that this is temporary until protocol sessions are properly implemented.

      -

      Companion Object Properties

      - - - - - - - -
      -TOPIC -const val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/topic.html deleted file mode 100644 index 97563c1338..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-attachments-protocol/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -FetchAttachmentsProtocol.topic - - - - -com.r3corda.protocols / FetchAttachmentsProtocol / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-init-.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-init-.html index 38efaa70df..9217aef023 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-init-.html @@ -14,8 +14,8 @@ DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a HashNotFound exception being thrown.

      By default this class does not insert data into any local database, if you want to do that after missing items were -fetched then override maybeWriteToDisk. You must override load and queryTopic. If the wire type is not the -same as the ultimate type, you must also override convert.

      +fetched then override maybeWriteToDisk. You must override load. If the wire type is not the same as the +ultimate type, you must also override convert.



      Parameters

      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/-init-.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/-init-.html index 682fe76242..c94bd630be 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / FetchDataProtocol / Request / <init>

      <init>

      -Request(hashes: List<SecureHash>, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      +Request(hashes: List<SecureHash>)


      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/index.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/index.html index 8df3a46c58..8cfaf285af 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / FetchDataProtocol / Request

      Request

      -data class Request : HandshakeMessage
      +data class Request


      Constructors

      @@ -17,7 +17,7 @@ <init> -Request(hashes: List<SecureHash>, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue()) +Request(hashes: List<SecureHash>) @@ -30,35 +30,6 @@ val hashes: List<SecureHash> - - -receiveSessionID - -val receiveSessionID: Long - - - -replyToParty - -val replyToParty: Party - - - -sendSessionID - -val sendSessionID: Long - - - -

      Inherited Properties

      - - - - - -
      -sessionID -open val sessionID: Long
      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/receive-session-i-d.html deleted file mode 100644 index 6674445b5d..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -FetchDataProtocol.Request.receiveSessionID - - - - -com.r3corda.protocols / FetchDataProtocol / Request / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/reply-to-party.html deleted file mode 100644 index 004f165717..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -FetchDataProtocol.Request.replyToParty - - - - -com.r3corda.protocols / FetchDataProtocol / Request / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/send-session-i-d.html deleted file mode 100644 index d63cdd3791..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/-request/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -FetchDataProtocol.Request.sendSessionID - - - - -com.r3corda.protocols / FetchDataProtocol / Request / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/index.html index 6642b38612..86ca8b010f 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-data-protocol/index.html @@ -14,8 +14,8 @@ DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a HashNotFound exception being thrown.

      By default this class does not insert data into any local database, if you want to do that after missing items were -fetched then override maybeWriteToDisk. You must override load and queryTopic. If the wire type is not the -same as the ultimate type, you must also override convert.

      +fetched then override maybeWriteToDisk. You must override load. If the wire type is not the same as the +ultimate type, you must also override convert.



      Parameters

      @@ -33,7 +33,7 @@ same as the ultimate type, you must also override convert Request -data class Request : HandshakeMessage +data class Request @@ -131,14 +131,6 @@ only available once the protocol has started, which means it cannnot be accessed access this lazily or from inside call.

      - - -topic - -abstract val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Functions

      @@ -176,19 +168,19 @@ Note that this is temporary until protocol sessions are properly implemented.

      -receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -200,17 +192,23 @@ handled by AbstractNodeService.addProtocolHandler.

      sendAndReceive -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T> subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Inheritors

      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/-t-o-p-i-c.html deleted file mode 100644 index 8b17e3f516..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -FetchTransactionsProtocol.TOPIC - - - - -com.r3corda.protocols / FetchTransactionsProtocol / TOPIC
      -
      -

      TOPIC

      - -const val TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/index.html index 8ca540f8ce..4338e47651 100644 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/index.html @@ -29,19 +29,6 @@ the database, because its up to the caller to actually verify the transactions a -

      Properties

      - - - - - - - -
      -topic -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Properties

      @@ -82,16 +69,5 @@ Note that this is temporary until protocol sessions are properly implemented.

      -

      Companion Object Properties

      - - - - - - - -
      -TOPIC -const val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/topic.html deleted file mode 100644 index a03a236cc0..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-fetch-transactions-protocol/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -FetchTransactionsProtocol.topic - - - - -com.r3corda.protocols / FetchTransactionsProtocol / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-finality-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-finality-protocol/index.html index d893bc6315..4e61a466cb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-finality-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-finality-protocol/index.html @@ -78,14 +78,6 @@ progress.

      -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - transaction val transaction: SignedTransaction @@ -137,6 +129,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      @@ -144,15 +145,6 @@ access this lazily or from inside registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -168,10 +160,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-finality-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-finality-protocol/topic.html deleted file mode 100644 index 2733569ace..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-finality-protocol/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -FinalityProtocol.topic - - - - -com.r3corda.protocols / FinalityProtocol / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-handshake-message/index.html b/docs/build/html/api/com.r3corda.protocols/-handshake-message/index.html deleted file mode 100644 index cd7c3472cf..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-handshake-message/index.html +++ /dev/null @@ -1,128 +0,0 @@ - - -HandshakeMessage - - - - -com.r3corda.protocols / HandshakeMessage
      -
      -

      HandshakeMessage

      -interface HandshakeMessage : PartyRequestMessage
      -

      A Handshake message is sent to initiate communication between two protocol instances. It contains the two session IDs -the two protocols will need to communicate. -Note: This is a temperary interface and will be removed once the protocol session work is implemented.

      -
      -
      -

      Properties

      - - - - - - - - - - - - - - - -
      -receiveSessionID -abstract val receiveSessionID: Long
      -sendSessionID -abstract val sendSessionID: Long
      -sessionID -open val sessionID: Long
      -

      Inherited Properties

      - - - - - - - -
      -replyToParty -abstract val replyToParty: Party
      -

      Inherited Functions

      - - - - - - - -
      -getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
      -

      Inheritors

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -AutoOfferMessage -data class AutoOfferMessage : HandshakeMessage
      -ExitMessage -data class ExitMessage : HandshakeMessage
      -FixingSessionInitiation -data class FixingSessionInitiation : HandshakeMessage

      Used to set up the session between Floater and Fixer

      -
      -Handshake -data class Handshake : HandshakeMessage
      -Handshake -data class Handshake : HandshakeMessage
      -NotifyTxRequestMessage -data class NotifyTxRequestMessage : HandshakeMessage
      -QueryRequest -data class QueryRequest : HandshakeMessage
      -Request -data class Request : HandshakeMessage
      -SignRequest -data class SignRequest : HandshakeMessage
      -UpdateBusinessDayMessage -data class UpdateBusinessDayMessage : HandshakeMessage
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-handshake-message/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-handshake-message/receive-session-i-d.html deleted file mode 100644 index f701bb88b0..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-handshake-message/receive-session-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -HandshakeMessage.receiveSessionID - - - - -com.r3corda.protocols / HandshakeMessage / receiveSessionID
      -
      -

      receiveSessionID

      - -abstract val receiveSessionID: Long
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-handshake-message/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-handshake-message/send-session-i-d.html deleted file mode 100644 index 898c6dbb74..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-handshake-message/send-session-i-d.html +++ /dev/null @@ -1,15 +0,0 @@ - - -HandshakeMessage.sendSessionID - - - - -com.r3corda.protocols / HandshakeMessage / sendSessionID
      -
      -

      sendSessionID

      - -abstract val sendSessionID: Long
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-handshake-message/session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-handshake-message/session-i-d.html deleted file mode 100644 index 7281ac1a94..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-handshake-message/session-i-d.html +++ /dev/null @@ -1,18 +0,0 @@ - - -HandshakeMessage.sessionID - - - - -com.r3corda.protocols / HandshakeMessage / sessionID
      -
      -

      sessionID

      - -open val sessionID: Long
      -Overrides ServiceRequestMessage.sessionID
      -Deprecated: sessionID functions as receiveSessionID but it's recommended to use the later for clarity
      -
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/index.html index 0193dcbd7e..981c6f55f5 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/index.html @@ -34,14 +34,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

      - - -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/topic.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/topic.html deleted file mode 100644 index f9bd0884c9..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -NotaryChangeProtocol.Acceptor.topic - - - - -com.r3corda.protocols / NotaryChangeProtocol / Acceptor / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/verify-proposal.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/verify-proposal.html index 4690b56c47..a3d63af0d3 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/verify-proposal.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-acceptor/verify-proposal.html @@ -8,7 +8,7 @@

      verifyProposal

      -fun verifyProposal(maybeProposal: UntrustworthyData<Proposal<Party>>): Proposal<Party>
      +protected fun verifyProposal(maybeProposal: UntrustworthyData<Proposal<Party>>): Proposal<Party>

      Check the notary change proposal.

      For example, if the proposed new notary has the same behaviour (e.g. both are non-validating) and is also in a geographically convenient location we can just automatically approve the change. diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-proposal.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-proposal.html new file mode 100644 index 0000000000..b5814d38c3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-proposal.html @@ -0,0 +1,15 @@ + + +NotaryChangeProtocol.Instigator.assembleProposal - + + + +com.r3corda.protocols / NotaryChangeProtocol / Instigator / assembleProposal
      +
      +

      assembleProposal

      + +protected fun assembleProposal(stateRef: StateRef, modification: Party, stx: SignedTransaction): Proposal<Party>
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-tx.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-tx.html new file mode 100644 index 0000000000..b0485726b9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/assemble-tx.html @@ -0,0 +1,16 @@ + + +NotaryChangeProtocol.Instigator.assembleTx - + + + +com.r3corda.protocols / NotaryChangeProtocol / Instigator / assembleTx
      +
      +

      assembleTx

      + +protected fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>
      +Overrides Instigator.assembleTx
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/index.html index f9a8b92943..da7976211b 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/index.html @@ -21,19 +21,6 @@ -

      Properties

      - - - - - - - -
      -topic -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Properties

      @@ -61,6 +48,23 @@ progress.

      +

      Functions

      + + + + + + + + + + + +
      +assembleProposal +fun assembleProposal(stateRef: StateRef, modification: Party, stx: SignedTransaction): Proposal<Party>
      +assembleTx +fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>

      Inherited Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/topic.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/topic.html deleted file mode 100644 index 4d58da4d76..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-instigator/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -NotaryChangeProtocol.Instigator.topic - - - - -com.r3corda.protocols / NotaryChangeProtocol / Instigator / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-t-o-p-i-c.html deleted file mode 100644 index 848739d2a5..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryChangeProtocol.TOPIC - - - - -com.r3corda.protocols / NotaryChangeProtocol / TOPIC
      -
      -

      TOPIC

      - -val TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/index.html index 1a35bb8059..60a5ea3009 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-change-protocol/index.html @@ -41,16 +41,5 @@ use the new updated state for future transactions.

      -

      Properties

      - - - - - - - -
      -TOPIC -val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/call.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/call.html index 148302c215..c7a144571c 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/call.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/call.html @@ -8,7 +8,7 @@

      call

      -fun call(): LegallyIdentifiable
      +open fun call(): LegallyIdentifiable
      Overrides ProtocolLogic.call

      This is where you fill out your business logic.


      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/index.html index a4c1912933..9d31420464 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/index.html @@ -59,20 +59,12 @@ timestamp is correct and none of its inputs have been used in another completed progressTracker -val progressTracker: ProgressTracker

      Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +open val progressTracker: ProgressTracker

      Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track progress.

      - - -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      @@ -110,7 +102,7 @@ access this lazily or from inside call -fun call(): LegallyIdentifiable

      This is where you fill out your business logic.

      +open fun call(): LegallyIdentifiable

      This is where you fill out your business logic.

      @@ -120,19 +112,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -151,10 +143,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/progress-tracker.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/progress-tracker.html index 987e25c4bd..e9eb9338c5 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/progress-tracker.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/progress-tracker.html @@ -8,7 +8,7 @@

      progressTracker

      -val progressTracker: ProgressTracker
      +open val progressTracker: ProgressTracker
      Overrides ProtocolLogic.progressTracker

      Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/topic.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/topic.html deleted file mode 100644 index e291d76c83..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-client/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -NotaryProtocol.Client.topic - - - - -com.r3corda.protocols / NotaryProtocol / Client / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/create.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/create.html deleted file mode 100644 index f1dd310985..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/create.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NotaryProtocol.DefaultFactory.create - - - - -com.r3corda.protocols / NotaryProtocol / DefaultFactory / create
      -
      -

      create

      - -fun create(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider): Service
      -Overrides Factory.create
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/index.html deleted file mode 100644 index 1152b37cf2..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-default-factory/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - -NotaryProtocol.DefaultFactory - - - - -com.r3corda.protocols / NotaryProtocol / DefaultFactory
      -
      -

      DefaultFactory

      -object DefaultFactory : Factory
      -
      -
      -

      Functions

      - - - - - - - -
      -create -fun create(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider): Service
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/create.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/create.html deleted file mode 100644 index 41a523dedd..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/create.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.Factory.create - - - - -com.r3corda.protocols / NotaryProtocol / Factory / create
      -
      -

      create

      - -abstract fun create(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider): Service
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/index.html deleted file mode 100644 index 690093c36a..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-factory/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - -NotaryProtocol.Factory - - - - -com.r3corda.protocols / NotaryProtocol / Factory
      -
      -

      Factory

      -interface Factory
      -
      -
      -

      Functions

      - - - - - - - -
      -create -abstract fun create(otherSide: Party, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider): Service
      -

      Inheritors

      - - - - - - - -
      -DefaultFactory -object DefaultFactory : Factory
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/-init-.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/-init-.html deleted file mode 100644 index 3f11938153..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/-init-.html +++ /dev/null @@ -1,14 +0,0 @@ - - -NotaryProtocol.Handshake.<init> - - - - -com.r3corda.protocols / NotaryProtocol / Handshake / <init>
      -
      -

      <init>

      -Handshake(replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/index.html deleted file mode 100644 index 1f82b44fdf..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - -NotaryProtocol.Handshake - - - - -com.r3corda.protocols / NotaryProtocol / Handshake
      -
      -

      Handshake

      -data class Handshake : HandshakeMessage
      -
      -
      -

      Constructors

      - - - - - - - -
      -<init> -Handshake(replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -

      Properties

      - - - - - - - - - - - - - - - -
      -receiveSessionID -val receiveSessionID: Long
      -replyToParty -val replyToParty: Party
      -sendSessionID -val sendSessionID: Long
      -

      Inherited Properties

      - - - - - - - -
      -sessionID -open val sessionID: Long
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/receive-session-i-d.html deleted file mode 100644 index 0b4a7ddd90..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NotaryProtocol.Handshake.receiveSessionID - - - - -com.r3corda.protocols / NotaryProtocol / Handshake / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/reply-to-party.html deleted file mode 100644 index 4ba093b419..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NotaryProtocol.Handshake.replyToParty - - - - -com.r3corda.protocols / NotaryProtocol / Handshake / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/send-session-i-d.html deleted file mode 100644 index c8419ea59e..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-handshake/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -NotaryProtocol.Handshake.sendSessionID - - - - -com.r3corda.protocols / NotaryProtocol / Handshake / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/-init-.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/-init-.html new file mode 100644 index 0000000000..5cecf0a150 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/-init-.html @@ -0,0 +1,14 @@ + + +NotaryProtocol.Result.Error.<init> - + + + +com.r3corda.protocols / NotaryProtocol / Result / Error / <init>
      +
      +

      <init>

      +Error(error: NotaryError)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/error.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/error.html new file mode 100644 index 0000000000..6255773737 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/error.html @@ -0,0 +1,15 @@ + + +NotaryProtocol.Result.Error.error - + + + +com.r3corda.protocols / NotaryProtocol / Result / Error / error
      +
      +

      error

      + +val error: NotaryError
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/index.html new file mode 100644 index 0000000000..4ded147c46 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-error/index.html @@ -0,0 +1,36 @@ + + +NotaryProtocol.Result.Error - + + + +com.r3corda.protocols / NotaryProtocol / Result / Error
      +
      +

      Error

      +class Error : Result
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +Error(error: NotaryError)
      +

      Properties

      + + + + + + + +
      +error +val error: NotaryError
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/-init-.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/-init-.html new file mode 100644 index 0000000000..905be37ddc --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/-init-.html @@ -0,0 +1,14 @@ + + +NotaryProtocol.Result.Success.<init> - + + + +com.r3corda.protocols / NotaryProtocol / Result / Success / <init>
      +
      +

      <init>

      +Success(sig: LegallyIdentifiable)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/index.html new file mode 100644 index 0000000000..0cfd790fce --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/index.html @@ -0,0 +1,36 @@ + + +NotaryProtocol.Result.Success - + + + +com.r3corda.protocols / NotaryProtocol / Result / Success
      +
      +

      Success

      +class Success : Result
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +Success(sig: LegallyIdentifiable)
      +

      Properties

      + + + + + + + +
      +sig +val sig: LegallyIdentifiable
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/sig.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/sig.html new file mode 100644 index 0000000000..d3d4fe258d --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/-success/sig.html @@ -0,0 +1,15 @@ + + +NotaryProtocol.Result.Success.sig - + + + +com.r3corda.protocols / NotaryProtocol / Result / Success / sig
      +
      +

      sig

      + +val sig: LegallyIdentifiable
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/error.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/error.html deleted file mode 100644 index 53e591cca2..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/error.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.Result.error - - - - -com.r3corda.protocols / NotaryProtocol / Result / error
      -
      -

      error

      - -val error: NotaryError?
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/index.html index ffa65bb961..4eb7ac6708 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/index.html @@ -7,40 +7,40 @@ com.r3corda.protocols / NotaryProtocol / Result

      Result

      -data class Result
      +sealed class Result


      -

      Properties

      +

      Types

      +Error +class Error : Result +Success +class Success : Result
      -error -val error: NotaryError?
      -sig -val sig: LegallyIdentifiable?
      -

      Companion Object Functions

      +

      Inheritors

      +Error +class Error : Result +Success +class Success : Result
      -noError -fun noError(sig: LegallyIdentifiable): Result
      -withError -fun withError(error: NotaryError): Result
      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/no-error.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/no-error.html deleted file mode 100644 index fb7b6a0d05..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/no-error.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.Result.noError - - - - -com.r3corda.protocols / NotaryProtocol / Result / noError
      -
      -

      noError

      - -fun noError(sig: LegallyIdentifiable): Result
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/sig.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/sig.html deleted file mode 100644 index 46e46ccbc4..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/sig.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.Result.sig - - - - -com.r3corda.protocols / NotaryProtocol / Result / sig
      -
      -

      sig

      - -val sig: LegallyIdentifiable?
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/with-error.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/with-error.html deleted file mode 100644 index f7b0427376..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-result/with-error.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.Result.withError - - - - -com.r3corda.protocols / NotaryProtocol / Result / withError
      -
      -

      withError

      - -fun withError(error: NotaryError): Result
      -
      -
      - - 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 872ae83772..2198e0f458 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 @@ -46,14 +46,6 @@ if any of the input states have been previously committed.

      -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - uniquenessProvider val uniquenessProvider: UniquenessProvider @@ -127,6 +119,15 @@ undo the commit of the input states (the exact mechanism still needs to be worke +getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      @@ -134,15 +135,6 @@ undo the commit of the input states (the exact mechanism still needs to be worke -registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -158,10 +150,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Inheritors

      diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/topic.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/topic.html deleted file mode 100644 index bd3f038d27..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-service/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -NotaryProtocol.Service.topic - - - - -com.r3corda.protocols / NotaryProtocol / Service / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-t-o-p-i-c.html deleted file mode 100644 index af9aca8514..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -NotaryProtocol.TOPIC - - - - -com.r3corda.protocols / NotaryProtocol / TOPIC
      -
      -

      TOPIC

      - -val TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/index.html index 1ef44ddc4d..bdd2c86f70 100644 --- a/docs/build/html/api/com.r3corda.protocols/-notary-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-notary-protocol/index.html @@ -23,27 +23,9 @@ timestamp is correct and none of its inputs have been used in another completed -DefaultFactory - -object DefaultFactory : Factory - - - -Factory - -interface Factory - - - -Handshake - -data class Handshake : HandshakeMessage - - - Result -data class Result +sealed class Result @@ -62,16 +44,5 @@ if any of the input states have been previously committed.

      -

      Properties

      - - - - - - - -
      -TOPIC -val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-party-request-message/get-reply-to.html b/docs/build/html/api/com.r3corda.protocols/-party-request-message/get-reply-to.html deleted file mode 100644 index ec846136d5..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-party-request-message/get-reply-to.html +++ /dev/null @@ -1,16 +0,0 @@ - - -PartyRequestMessage.getReplyTo - - - - -com.r3corda.protocols / PartyRequestMessage / getReplyTo
      -
      -

      getReplyTo

      - -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
      -Overrides ServiceRequestMessage.getReplyTo
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-party-request-message/index.html b/docs/build/html/api/com.r3corda.protocols/-party-request-message/index.html deleted file mode 100644 index 61cf88ccb6..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-party-request-message/index.html +++ /dev/null @@ -1,61 +0,0 @@ - - -PartyRequestMessage - - - - -com.r3corda.protocols / PartyRequestMessage
      -
      -

      PartyRequestMessage

      -interface PartyRequestMessage : ServiceRequestMessage
      -
      -
      -

      Properties

      - - - - - - - -
      -replyToParty -abstract val replyToParty: Party
      -

      Inherited Properties

      - - - - - - - -
      -sessionID -abstract val sessionID: Long
      -

      Functions

      - - - - - - - -
      -getReplyTo -open fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
      -

      Inheritors

      - - - - - - - -
      -HandshakeMessage -interface HandshakeMessage : PartyRequestMessage

      A Handshake message is sent to initiate communication between two protocol instances. It contains the two session IDs -the two protocols will need to communicate. -Note: This is a temperary interface and will be removed once the protocol session work is implemented.

      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-party-request-message/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-party-request-message/reply-to-party.html deleted file mode 100644 index 3673528e21..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-party-request-message/reply-to-party.html +++ /dev/null @@ -1,15 +0,0 @@ - - -PartyRequestMessage.replyToParty - - - - -com.r3corda.protocols / PartyRequestMessage / replyToParty
      -
      -

      replyToParty

      - -abstract val replyToParty: Party
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/-init-.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/-init-.html new file mode 100644 index 0000000000..a861542e5f --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.FixQueryProtocol.<init> - + + + +com.r3corda.protocols / RatesFixProtocol / FixQueryProtocol / <init>
      +
      +

      <init>

      +FixQueryProtocol(fixOf: FixOf, oracle: Party)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/call.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/call.html new file mode 100644 index 0000000000..e2befb6903 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/call.html @@ -0,0 +1,17 @@ + + +RatesFixProtocol.FixQueryProtocol.call - + + + +com.r3corda.protocols / RatesFixProtocol / FixQueryProtocol / call
      +
      +

      call

      + +fun call(): Fix
      +Overrides ProtocolLogic.call
      +

      This is where you fill out your business logic.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/fix-of.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/fix-of.html new file mode 100644 index 0000000000..525c0a83b2 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/fix-of.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.FixQueryProtocol.fixOf - + + + +com.r3corda.protocols / RatesFixProtocol / FixQueryProtocol / fixOf
      +
      +

      fixOf

      + +val fixOf: FixOf
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/index.html new file mode 100644 index 0000000000..4c8fe05d08 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/index.html @@ -0,0 +1,140 @@ + + +RatesFixProtocol.FixQueryProtocol - + + + +com.r3corda.protocols / RatesFixProtocol / FixQueryProtocol
      +
      +

      FixQueryProtocol

      +class FixQueryProtocol : ProtocolLogic<Fix>
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +FixQueryProtocol(fixOf: FixOf, oracle: Party)
      +

      Properties

      + + + + + + + + + + + +
      +fixOf +val fixOf: FixOf
      +oracle +val oracle: Party
      +

      Inherited Properties

      + + + + + + + + + + + + + + + + + + + +
      +logger +val logger: <ERROR CLASS>

      This is where you should log things to.

      +
      +progressTracker +open val progressTracker: ProgressTracker?

      Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

      +
      +psm +lateinit var psm: ProtocolStateMachine<*>

      Reference to the Fiber instance that is the top level controller for the entire flow.

      +
      +serviceHub +val serviceHub: ServiceHub

      Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts. It is +only available once the protocol has started, which means it cannnot be accessed in the constructor. Either +access this lazily or from inside call.

      +
      +

      Functions

      + + + + + + + +
      +call +fun call(): Fix

      This is where you fill out your business logic.

      +
      +

      Inherited Functions

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +getCounterpartyMarker +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      +
      +receive +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      +send +fun send(otherParty: Party, payload: Any): Unit
      +sendAndReceive +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      +subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

      +
      +track +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/oracle.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/oracle.html new file mode 100644 index 0000000000..25fd4a69b1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-query-protocol/oracle.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.FixQueryProtocol.oracle - + + + +com.r3corda.protocols / RatesFixProtocol / FixQueryProtocol / oracle
      +
      +

      oracle

      + +val oracle: Party
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/-init-.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/-init-.html new file mode 100644 index 0000000000..3fb64ab8e3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.FixSignProtocol.<init> - + + + +com.r3corda.protocols / RatesFixProtocol / FixSignProtocol / <init>
      +
      +

      <init>

      +FixSignProtocol(tx: TransactionBuilder, oracle: Party)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/call.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/call.html new file mode 100644 index 0000000000..cc28682524 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/call.html @@ -0,0 +1,17 @@ + + +RatesFixProtocol.FixSignProtocol.call - + + + +com.r3corda.protocols / RatesFixProtocol / FixSignProtocol / call
      +
      +

      call

      + +fun call(): LegallyIdentifiable
      +Overrides ProtocolLogic.call
      +

      This is where you fill out your business logic.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/index.html new file mode 100644 index 0000000000..1b91d80fad --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/index.html @@ -0,0 +1,140 @@ + + +RatesFixProtocol.FixSignProtocol - + + + +com.r3corda.protocols / RatesFixProtocol / FixSignProtocol
      +
      +

      FixSignProtocol

      +class FixSignProtocol : ProtocolLogic<LegallyIdentifiable>
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +FixSignProtocol(tx: TransactionBuilder, oracle: Party)
      +

      Properties

      + + + + + + + + + + + +
      +oracle +val oracle: Party
      +tx +val tx: TransactionBuilder
      +

      Inherited Properties

      + + + + + + + + + + + + + + + + + + + +
      +logger +val logger: <ERROR CLASS>

      This is where you should log things to.

      +
      +progressTracker +open val progressTracker: ProgressTracker?

      Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

      +
      +psm +lateinit var psm: ProtocolStateMachine<*>

      Reference to the Fiber instance that is the top level controller for the entire flow.

      +
      +serviceHub +val serviceHub: ServiceHub

      Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts. It is +only available once the protocol has started, which means it cannnot be accessed in the constructor. Either +access this lazily or from inside call.

      +
      +

      Functions

      + + + + + + + +
      +call +fun call(): LegallyIdentifiable

      This is where you fill out your business logic.

      +
      +

      Inherited Functions

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +getCounterpartyMarker +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      +
      +receive +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      +send +fun send(otherParty: Party, payload: Any): Unit
      +sendAndReceive +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      +subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

      +
      +track +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/oracle.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/oracle.html new file mode 100644 index 0000000000..6973397bb8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/oracle.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.FixSignProtocol.oracle - + + + +com.r3corda.protocols / RatesFixProtocol / FixSignProtocol / oracle
      +
      +

      oracle

      + +val oracle: Party
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/tx.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/tx.html new file mode 100644 index 0000000000..4e88c79ab9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-fix-sign-protocol/tx.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.FixSignProtocol.tx - + + + +com.r3corda.protocols / RatesFixProtocol / FixSignProtocol / tx
      +
      +

      tx

      + +val tx: TransactionBuilder
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/-init-.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/-init-.html index ef365effe0..ac4683fe38 100644 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / RatesFixProtocol / QueryRequest / <init>

      <init>

      -QueryRequest(queries: List<FixOf>, deadline: Instant, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      +QueryRequest(queries: List<FixOf>, deadline: Instant)


      diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/index.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/index.html index ea994cbfc1..1458e6c450 100644 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / RatesFixProtocol / QueryRequest

      QueryRequest

      -data class QueryRequest : HandshakeMessage
      +data class QueryRequest


      Constructors

      @@ -17,7 +17,7 @@ <init> -QueryRequest(queries: List<FixOf>, deadline: Instant, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue()) +QueryRequest(queries: List<FixOf>, deadline: Instant) @@ -36,35 +36,6 @@ val queries: List<FixOf> - - -receiveSessionID - -val receiveSessionID: Long - - - -replyToParty - -val replyToParty: Party - - - -sendSessionID - -val sendSessionID: Long - - - -

      Inherited Properties

      - - - - - -
      -sessionID -open val sessionID: Long
      diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/receive-session-i-d.html deleted file mode 100644 index 43d68e523c..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.QueryRequest.receiveSessionID - - - - -com.r3corda.protocols / RatesFixProtocol / QueryRequest / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/reply-to-party.html deleted file mode 100644 index 2c20777bc1..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.QueryRequest.replyToParty - - - - -com.r3corda.protocols / RatesFixProtocol / QueryRequest / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/send-session-i-d.html deleted file mode 100644 index 5e37303ee6..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-query-request/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.QueryRequest.sendSessionID - - - - -com.r3corda.protocols / RatesFixProtocol / QueryRequest / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/-init-.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/-init-.html index 0f24f0dcc7..2b123993be 100644 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / RatesFixProtocol / SignRequest / <init>

      <init>

      -SignRequest(tx: WireTransaction, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      +SignRequest(tx: WireTransaction)


      diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/index.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/index.html index ca92402190..1dd7f9fa56 100644 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / RatesFixProtocol / SignRequest

      SignRequest

      -data class SignRequest : HandshakeMessage
      +data class SignRequest


      Constructors

      @@ -17,7 +17,7 @@ <init> -SignRequest(tx: WireTransaction, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue()) +SignRequest(tx: WireTransaction) @@ -26,40 +26,11 @@ -receiveSessionID - -val receiveSessionID: Long - - - -replyToParty - -val replyToParty: Party - - - -sendSessionID - -val sendSessionID: Long - - - tx val tx: WireTransaction -

      Inherited Properties

      - - - - - - - -
      -sessionID -open val sessionID: Long
      diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/receive-session-i-d.html deleted file mode 100644 index 928bf99c86..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.SignRequest.receiveSessionID - - - - -com.r3corda.protocols / RatesFixProtocol / SignRequest / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/reply-to-party.html deleted file mode 100644 index 309ddf9900..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.SignRequest.replyToParty - - - - -com.r3corda.protocols / RatesFixProtocol / SignRequest / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/send-session-i-d.html deleted file mode 100644 index a2ad65618d..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-sign-request/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -RatesFixProtocol.SignRequest.sendSessionID - - - - -com.r3corda.protocols / RatesFixProtocol / SignRequest / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-t-o-p-i-c.html deleted file mode 100644 index 0a0d68adbd..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -RatesFixProtocol.TOPIC - - - - -com.r3corda.protocols / RatesFixProtocol / TOPIC
      -
      -

      TOPIC

      - -val TOPIC: String
      -
      -
      - - 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 2c0ad65c79..5824bb7c42 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 @@ -22,6 +22,18 @@ for each step.

      +FixQueryProtocol + +class FixQueryProtocol : ProtocolLogic<Fix> + + + +FixSignProtocol + +class FixSignProtocol : ProtocolLogic<LegallyIdentifiable> + + + QUERYING class QUERYING : Step @@ -30,7 +42,7 @@ for each step.

      QueryRequest -data class QueryRequest : HandshakeMessage +data class QueryRequest @@ -42,7 +54,7 @@ for each step.

      SignRequest -data class SignRequest : HandshakeMessage +data class SignRequest @@ -93,14 +105,6 @@ progress.

      -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - tx val tx: TransactionBuilder @@ -160,19 +164,19 @@ before its sent back to the oracle for signing (for example, adding output state -receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -191,20 +195,15 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      - - -

      Companion Object Properties

      - - +track +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
      -TOPIC -val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/topic.html deleted file mode 100644 index 209f38c66e..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-rates-fix-protocol/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -RatesFixProtocol.topic - - - - -com.r3corda.protocols / RatesFixProtocol / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - 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 9c0f2589c5..3fd6dd0698 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 @@ -53,14 +53,6 @@ checked again.

      -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - transactionCountLimit var transactionCountLimit: Int

      The maximum number of transactions this protocol will try to download before bailing out.

      @@ -123,19 +115,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> @@ -147,17 +139,23 @@ handled by AbstractNodeService.addProtocolHandler.

      sendAndReceive -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T> subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? + diff --git a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/topic.html b/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/topic.html deleted file mode 100644 index 38b084dbf9..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-resolve-transactions-protocol/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -ResolveTransactionsProtocol.topic - - - - -com.r3corda.protocols / ResolveTransactionsProtocol / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-service-request-message/get-reply-to.html b/docs/build/html/api/com.r3corda.protocols/-service-request-message/get-reply-to.html deleted file mode 100644 index ebfe8e1354..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-service-request-message/get-reply-to.html +++ /dev/null @@ -1,15 +0,0 @@ - - -ServiceRequestMessage.getReplyTo - - - - -com.r3corda.protocols / ServiceRequestMessage / getReplyTo
      -
      -

      getReplyTo

      - -abstract fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
      -
      -
      - - 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 e70f5f6eb0..1a5b61533b 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 @@ -8,8 +8,7 @@

      ServiceRequestMessage

      interface ServiceRequestMessage
      -

      Abstract superclass for request messages sent to services, which includes common -fields such as replyTo and sessionID.

      +

      Abstract superclass for request messages sent to services which expect a reply.



      Properties

      @@ -17,47 +16,44 @@ fields such as replyTo and sessionID.

      +replyTo + +abstract val replyTo: SingleMessageRecipient + + + sessionID abstract val sessionID: Long -

      Functions

      - - - - - - - -
      -getReplyTo -abstract fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients

      Inheritors

      +FetchMapRequest +class FetchMapRequest : ServiceRequestMessage +QueryIdentityRequest +class QueryIdentityRequest : ServiceRequestMessage +RegistrationRequest +class RegistrationRequest : ServiceRequestMessage + + + +
      -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
      -PartyRequestMessage -interface PartyRequestMessage : ServiceRequestMessage
      +SubscribeRequest +class SubscribeRequest : ServiceRequestMessage
      diff --git a/docs/build/html/api/com.r3corda.protocols/-service-request-message/reply-to.html b/docs/build/html/api/com.r3corda.protocols/-service-request-message/reply-to.html new file mode 100644 index 0000000000..b02770e934 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-service-request-message/reply-to.html @@ -0,0 +1,15 @@ + + +ServiceRequestMessage.replyTo - + + + +com.r3corda.protocols / ServiceRequestMessage / replyTo
      +
      +

      replyTo

      + +abstract val replyTo: SingleMessageRecipient
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/-init-.html index 476b8597ae..d47fc119a6 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Acceptor / <init>

      <init>

      -Acceptor(otherParty: Party, notary: Party, dealToBuy: T, progressTracker: ProgressTracker = Secondary.tracker())
      +Acceptor(otherParty: Party, progressTracker: ProgressTracker = Secondary.tracker())

      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/-acceptor/assemble-shared-t-x.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html index 8074839d03..479d0a7e91 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html @@ -7,8 +7,8 @@ com.r3corda.protocols / TwoPartyDealProtocol / Acceptor / assembleSharedTX

      assembleSharedTX

      - -protected open fun assembleSharedTX(handshake: Handshake<T>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
      + +protected open fun assembleSharedTX(handshake: Handshake<AutoOffer>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html deleted file mode 100644 index b1fd46ac90..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.Acceptor.dealToBuy - - - - -com.r3corda.protocols / TwoPartyDealProtocol / Acceptor / dealToBuy
      -
      -

      dealToBuy

      - -val dealToBuy: T
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/index.html index 8a5ca5d8f6..9b732a7fcb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Acceptor

      Acceptor

      -class Acceptor<T : DealState> : Secondary<T>
      +class Acceptor : Secondary<AutoOffer>

      One side of the protocol for inserting a pre-agreed deal.



      @@ -18,7 +18,7 @@ <init> -Acceptor(otherParty: Party, notary: Party, dealToBuy: T, progressTracker: ProgressTracker = Secondary.tracker())

      One side of the protocol for inserting a pre-agreed deal.

      +Acceptor(otherParty: Party, progressTracker: ProgressTracker = Secondary.tracker())

      One side of the protocol for inserting a pre-agreed deal.

      @@ -28,18 +28,6 @@ -dealToBuy - -val dealToBuy: T - - - -notary - -val notary: Party - - - otherParty open val otherParty: Party @@ -56,19 +44,6 @@ progress.

      -

      Inherited Properties

      - - - - - - - -
      -topic -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Functions

      @@ -76,13 +51,13 @@ Note that this is temporary until protocol sessions are properly implemented.

      assembleSharedTX +open fun assembleSharedTX(handshake: Handshake<AutoOffer>): <ERROR CLASS><TransactionBuilder, List<PublicKey>> +open fun validateHandshake(handshake: Handshake<AutoOffer>): Handshake<AutoOffer>
      -open fun assembleSharedTX(handshake: Handshake<T>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
      validateHandshake -open fun validateHandshake(handshake: Handshake<T>): Handshake<T>
      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html index dac3eada9b..644c120910 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html @@ -7,8 +7,8 @@ com.r3corda.protocols / TwoPartyDealProtocol / Acceptor / validateHandshake

      validateHandshake

      - -protected open fun validateHandshake(handshake: Handshake<T>): Handshake<T>
      + +protected open fun validateHandshake(handshake: Handshake<AutoOffer>): Handshake<AutoOffer>


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/-init-.html new file mode 100644 index 0000000000..0cfaf6f017 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyDealProtocol.AutoOffer.<init> - + + + +com.r3corda.protocols / TwoPartyDealProtocol / AutoOffer / <init>
      +
      +

      <init>

      +AutoOffer(notary: Party, dealBeingOffered: DealState)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/deal-being-offered.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/deal-being-offered.html new file mode 100644 index 0000000000..2d2028de66 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/deal-being-offered.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.AutoOffer.dealBeingOffered - + + + +com.r3corda.protocols / TwoPartyDealProtocol / AutoOffer / dealBeingOffered
      +
      +

      dealBeingOffered

      + +val dealBeingOffered: DealState
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/index.html new file mode 100644 index 0000000000..8803a545d1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/index.html @@ -0,0 +1,42 @@ + + +TwoPartyDealProtocol.AutoOffer - + + + +com.r3corda.protocols / TwoPartyDealProtocol / AutoOffer
      +
      +

      AutoOffer

      +data class AutoOffer
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +AutoOffer(notary: Party, dealBeingOffered: DealState)
      +

      Properties

      + + + + + + + + + + + +
      +dealBeingOffered +val dealBeingOffered: DealState
      +notary +val notary: Party
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/notary.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/notary.html similarity index 70% rename from docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/notary.html rename to docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/notary.html index 21a6b0190e..6ba0e02cab 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-acceptor/notary.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-auto-offer/notary.html @@ -1,13 +1,13 @@ -TwoPartyDealProtocol.Acceptor.notary - +TwoPartyDealProtocol.AutoOffer.notary - -com.r3corda.protocols / TwoPartyDealProtocol / Acceptor / notary
      +com.r3corda.protocols / TwoPartyDealProtocol / AutoOffer / notary

      notary

      - + val notary: Party


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html deleted file mode 100644 index 5e11331173..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.DEAL_TOPIC - - - - -com.r3corda.protocols / TwoPartyDealProtocol / DEAL_TOPIC
      -
      -

      DEAL_TOPIC

      - -val DEAL_TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-f-i-x_-i-n-i-t-i-a-t-e_-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-f-i-x_-i-n-i-t-i-a-t-e_-t-o-p-i-c.html deleted file mode 100644 index 90cb5fc58f..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-f-i-x_-i-n-i-t-i-a-t-e_-t-o-p-i-c.html +++ /dev/null @@ -1,16 +0,0 @@ - - -TwoPartyDealProtocol.FIX_INITIATE_TOPIC - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FIX_INITIATE_TOPIC
      -
      -

      FIX_INITIATE_TOPIC

      - -val FIX_INITIATE_TOPIC: String
      -

      This topic exists purely for FixingSessionInitiation to be sent from FixingRoleDecider to FixingSessionInitiationHandler

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/-init-.html index d4a781a4dd..f116465daa 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Fixer / <init>

      <init>

      -Fixer(otherParty: Party, oracleType: ServiceType, progressTracker: ProgressTracker = Secondary.tracker())
      +Fixer(otherParty: Party, progressTracker: ProgressTracker = Secondary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      Do not infer too much from the name of the class. This is just to indicate that it is the "side" of the protocol that is run by the party with the fixed leg of swap deal, which is the basis for deciding diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html index 199e9f93b2..32662d487d 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html @@ -7,8 +7,8 @@ com.r3corda.protocols / TwoPartyDealProtocol / Fixer / assembleSharedTX

      assembleSharedTX

      - -protected fun assembleSharedTX(handshake: Handshake<StateRef>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
      + +protected fun assembleSharedTX(handshake: Handshake<FixingSession>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/index.html index e709ab2c28..1752d8acf3 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Fixer

      Fixer

      -class Fixer : Secondary<StateRef>
      +class Fixer : Secondary<FixingSession>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      Do not infer too much from the name of the class. This is just to indicate that it is the "side" of the protocol that is run by the party with the fixed leg of swap deal, which is the basis for deciding @@ -23,7 +23,7 @@ who does what in the protocol.

      <init> -Fixer(otherParty: Party, oracleType: ServiceType, progressTracker: ProgressTracker = Secondary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      +Fixer(otherParty: Party, progressTracker: ProgressTracker = Secondary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      @@ -33,12 +33,6 @@ who does what in the protocol.

      -oracleType - -val oracleType: ServiceType - - - otherParty val otherParty: Party @@ -55,19 +49,6 @@ progress.

      -

      Inherited Properties

      - - - - - - - -
      -topic -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Functions

      @@ -75,13 +56,13 @@ Note that this is temporary until protocol sessions are properly implemented.

      assembleSharedTX +fun assembleSharedTX(handshake: Handshake<FixingSession>): <ERROR CLASS><TransactionBuilder, List<PublicKey>> +fun validateHandshake(handshake: Handshake<FixingSession>): Handshake<FixingSession>
      -fun assembleSharedTX(handshake: Handshake<StateRef>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
      validateHandshake -fun validateHandshake(handshake: Handshake<StateRef>): Handshake<StateRef>
      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/oracle-type.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/oracle-type.html deleted file mode 100644 index fa04336d6f..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/oracle-type.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.Fixer.oracleType - - - - -com.r3corda.protocols / TwoPartyDealProtocol / Fixer / oracleType
      -
      -

      oracleType

      - -val oracleType: ServiceType
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/validate-handshake.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/validate-handshake.html index b7d1c399a3..8299a7e1f1 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/validate-handshake.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixer/validate-handshake.html @@ -7,8 +7,8 @@ com.r3corda.protocols / TwoPartyDealProtocol / Fixer / validateHandshake

      validateHandshake

      - -protected fun validateHandshake(handshake: Handshake<StateRef>): Handshake<StateRef>
      + +protected fun validateHandshake(handshake: Handshake<FixingSession>): Handshake<FixingSession>


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/-init-.html index f17ad98132..a2f90f22d8 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/-init-.html @@ -7,12 +7,12 @@ com.r3corda.protocols / TwoPartyDealProtocol / FixingRoleDecider / <init>

      <init>

      -FixingRoleDecider(ref: StateRef, timeout: Duration, progressTracker: ProgressTracker = tracker())
      +FixingRoleDecider(ref: StateRef, progressTracker: ProgressTracker = tracker())

      This protocol looks at the deal and decides whether to be the Fixer or Floater role in agreeing a fixing.

      It is kicked off as an activity on both participant nodes by the scheduler when its time for a fixing. If the -Fixer role is chosen, then that will be initiated by the FixingSessionInitiation message sent from the other party and +Fixer role is chosen, then that will be initiated by the FixingSession message sent from the other party and handled by the FixingSessionInitiationHandler.

      -

      TODO: Replace FixingSessionInitiation and FixingSessionInitiationHandler with generic session initiation logic once it exists.

      +

      TODO: Replace FixingSession and FixingSessionInitiationHandler with generic session initiation logic once it exists.




      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 5b2fe79dca..1717211738 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 @@ -10,9 +10,9 @@ class FixingRoleDecider : ProtocolLogic<Unit>

      This protocol looks at the deal and decides whether to be the Fixer or Floater role in agreeing a fixing.

      It is kicked off as an activity on both participant nodes by the scheduler when its time for a fixing. If the -Fixer role is chosen, then that will be initiated by the FixingSessionInitiation message sent from the other party and +Fixer role is chosen, then that will be initiated by the FixingSession message sent from the other party and handled by the FixingSessionInitiationHandler.

      -

      TODO: Replace FixingSessionInitiation and FixingSessionInitiationHandler with generic session initiation logic once it exists.

      +

      TODO: Replace FixingSession and FixingSessionInitiationHandler with generic session initiation logic once it exists.




      @@ -35,7 +35,7 @@ handled by the FixingSessionInitiationHandler.

      <init> -FixingRoleDecider(ref: StateRef, timeout: Duration, progressTracker: ProgressTracker = tracker())

      This protocol looks at the deal and decides whether to be the Fixer or Floater role in agreeing a fixing.

      +FixingRoleDecider(ref: StateRef, progressTracker: ProgressTracker = tracker())

      This protocol looks at the deal and decides whether to be the Fixer or Floater role in agreeing a fixing.

      @@ -59,20 +59,6 @@ progress.

      val ref: StateRef - - -timeout - -val timeout: Duration - - - -topic - -val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      @@ -120,19 +106,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> @@ -151,10 +137,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/timeout.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/timeout.html deleted file mode 100644 index 06b1a050bb..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/timeout.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.FixingRoleDecider.timeout - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingRoleDecider / timeout
      -
      -

      timeout

      - -val timeout: Duration
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/topic.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/topic.html deleted file mode 100644 index 5af41d858c..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-role-decider/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -TwoPartyDealProtocol.FixingRoleDecider.topic - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingRoleDecider / topic
      -
      -

      topic

      - -protected val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/-init-.html deleted file mode 100644 index 5ed2d4e463..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/-init-.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation.<init> - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / <init>
      -
      -

      <init>

      -FixingSessionInitiation(timeout: Duration, oracleType: ServiceType, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())
      -

      Used to set up the session between Floater and Fixer

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/index.html deleted file mode 100644 index 61baf515a7..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/index.html +++ /dev/null @@ -1,73 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation
      -
      -

      FixingSessionInitiation

      -data class FixingSessionInitiation : HandshakeMessage
      -

      Used to set up the session between Floater and Fixer

      -
      -
      -

      Constructors

      - - - - - - - -
      -<init> -FixingSessionInitiation(timeout: Duration, oracleType: ServiceType, replyToParty: Party, sendSessionID: Long = random63BitValue(), receiveSessionID: Long = random63BitValue())

      Used to set up the session between Floater and Fixer

      -
      -

      Properties

      - - - - - - - - - - - - - - - - - - - - - - - -
      -oracleType -val oracleType: ServiceType
      -receiveSessionID -val receiveSessionID: Long
      -replyToParty -val replyToParty: Party
      -sendSessionID -val sendSessionID: Long
      -timeout -val timeout: Duration
      -

      Inherited Properties

      - - - - - - - -
      -sessionID -open val sessionID: Long
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/receive-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/receive-session-i-d.html deleted file mode 100644 index 3e5f2e95ee..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/receive-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation.receiveSessionID - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / receiveSessionID
      -
      -

      receiveSessionID

      - -val receiveSessionID: Long
      -Overrides HandshakeMessage.receiveSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/reply-to-party.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/reply-to-party.html deleted file mode 100644 index 853b39aabe..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/reply-to-party.html +++ /dev/null @@ -1,16 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation.replyToParty - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / replyToParty
      -
      -

      replyToParty

      - -val replyToParty: Party
      -Overrides PartyRequestMessage.replyToParty
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/send-session-i-d.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/send-session-i-d.html deleted file mode 100644 index 7dbb3a26ff..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/send-session-i-d.html +++ /dev/null @@ -1,16 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation.sendSessionID - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / sendSessionID
      -
      -

      sendSessionID

      - -val sendSessionID: Long
      -Overrides HandshakeMessage.sendSessionID
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/timeout.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/timeout.html deleted file mode 100644 index fa02141b99..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/timeout.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.FixingSessionInitiation.timeout - - - - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / timeout
      -
      -

      timeout

      - -val timeout: Duration
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/-init-.html new file mode 100644 index 0000000000..94513822d9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/-init-.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.FixingSession.<init> - + + + +com.r3corda.protocols / TwoPartyDealProtocol / FixingSession / <init>
      +
      +

      <init>

      +FixingSession(ref: StateRef, oracleType: ServiceType)
      +

      Used to set up the session between Floater and Fixer

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/index.html new file mode 100644 index 0000000000..5dab743dbc --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/index.html @@ -0,0 +1,44 @@ + + +TwoPartyDealProtocol.FixingSession - + + + +com.r3corda.protocols / TwoPartyDealProtocol / FixingSession
      +
      +

      FixingSession

      +data class FixingSession
      +

      Used to set up the session between Floater and Fixer

      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +FixingSession(ref: StateRef, oracleType: ServiceType)

      Used to set up the session between Floater and Fixer

      +
      +

      Properties

      + + + + + + + + + + + +
      +oracleType +val oracleType: ServiceType
      +ref +val ref: StateRef
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/oracle-type.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/oracle-type.html similarity index 74% rename from docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/oracle-type.html rename to docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/oracle-type.html index 4e07d1e941..d91b0fe0fb 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session-initiation/oracle-type.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/oracle-type.html @@ -1,13 +1,13 @@ -TwoPartyDealProtocol.FixingSessionInitiation.oracleType - +TwoPartyDealProtocol.FixingSession.oracleType - -com.r3corda.protocols / TwoPartyDealProtocol / FixingSessionInitiation / oracleType
      +com.r3corda.protocols / TwoPartyDealProtocol / FixingSession / oracleType

      oracleType

      - + val oracleType: ServiceType


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/ref.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/ref.html new file mode 100644 index 0000000000..019b4c9617 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-fixing-session/ref.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.FixingSession.ref - + + + +com.r3corda.protocols / TwoPartyDealProtocol / FixingSession / ref
      +
      +

      ref

      + +val ref: StateRef
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/-init-.html index ba2502bbe3..c2864644f9 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Floater / <init>

      <init>

      -Floater(otherParty: Party, payload: StateRef, progressTracker: ProgressTracker = Primary.tracker())
      +Floater(otherParty: Party, payload: FixingSession, progressTracker: ProgressTracker = Primary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      As per the Fixer, do not infer too much from this class name in terms of business roles. This is just the "side" of the protocol run by the party with the floating leg as a way of deciding who diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/index.html index 157922e545..b3a28e2491 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Floater

      Floater

      -class Floater : Primary<StateRef>
      +class Floater : Primary

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      As per the Fixer, do not infer too much from this class name in terms of business roles. This is just the "side" of the protocol run by the party with the floating leg as a way of deciding who @@ -23,7 +23,7 @@ does what in the protocol.

      <init> -Floater(otherParty: Party, payload: StateRef, progressTracker: ProgressTracker = Primary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      +Floater(otherParty: Party, payload: FixingSession, progressTracker: ProgressTracker = Primary.tracker())

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      @@ -53,7 +53,7 @@ does what in the protocol.

      payload -val payload: StateRef +val payload: FixingSession @@ -67,19 +67,6 @@ progress.

      -

      Inherited Properties

      - - - - - - - -
      -topic -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Functions

      @@ -92,6 +79,15 @@ Note that this is temporary until protocol sessions are properly implemented.

      + + + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/payload.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/payload.html index 4df7541209..1168c050d8 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/payload.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-floater/payload.html @@ -8,7 +8,7 @@

      payload

      -val payload: StateRef
      +val payload: FixingSession
      Overrides Primary.payload


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/-init-.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/-init-.html index 23d0cde7b6..7e93962c92 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/-init-.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/-init-.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Instigator / <init>

      <init>

      -Instigator(otherParty: Party, notary: Party, payload: T, myKeyPair: KeyPair, progressTracker: ProgressTracker = Primary.tracker())
      +Instigator(otherParty: Party, payload: AutoOffer, myKeyPair: KeyPair, progressTracker: ProgressTracker = Primary.tracker())

      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/-instigator/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/index.html index 0734c7b015..380d290e93 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<out T : DealState> : Primary<T>
      +class Instigator : Primary

      One side of the protocol for inserting a pre-agreed deal.



      @@ -18,7 +18,7 @@ @@ -34,12 +34,6 @@ - - - - @@ -54,7 +48,7 @@ +open val payload: AutoOffer
      +getCounterpartyMarker +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      +
      getPartialTransaction fun getPartialTransaction(): UntrustworthyData<SignedTransaction> <init> -Instigator(otherParty: Party, notary: Party, payload: T, myKeyPair: KeyPair, progressTracker: ProgressTracker = Primary.tracker())

      One side of the protocol for inserting a pre-agreed deal.

      +Instigator(otherParty: Party, payload: AutoOffer, myKeyPair: KeyPair, progressTracker: ProgressTracker = Primary.tracker())

      One side of the protocol for inserting a pre-agreed deal.

      -notary -val notary: Party
      notaryNode open val notaryNode: NodeInfo payload -open val payload: T
      @@ -68,19 +62,6 @@ progress.

      -

      Inherited Properties

      - - - - - - - -
      -topic -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Functions

      @@ -93,6 +74,15 @@ Note that this is temporary until protocol sessions are properly implemented.

      + + + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/notary.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/notary.html deleted file mode 100644 index 9886189510..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/notary.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyDealProtocol.Instigator.notary - - - - -com.r3corda.protocols / TwoPartyDealProtocol / Instigator / notary
      -
      -

      notary

      - -val notary: Party
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/payload.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/payload.html index 232e51a601..4956ccbbf5 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/payload.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-instigator/payload.html @@ -8,7 +8,7 @@

      payload

      -open val payload: T
      +open val payload: AutoOffer
      Overrides Primary.payload


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-marker-for-bogus-regulator-protocol.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-marker-for-bogus-regulator-protocol.html new file mode 100644 index 0000000000..db8998c975 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-marker-for-bogus-regulator-protocol.html @@ -0,0 +1,16 @@ + + +TwoPartyDealProtocol.MarkerForBogusRegulatorProtocol - + + + +com.r3corda.protocols / TwoPartyDealProtocol / MarkerForBogusRegulatorProtocol
      +
      +

      MarkerForBogusRegulatorProtocol

      +interface MarkerForBogusRegulatorProtocol
      +

      Primary at the end sends the signed tx to all the regulator parties. This a seperate workflow which needs a +sepearate session with the regulator. This interface is used to do that in Primary.getCounterpartyMarker.

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/get-counterparty-marker.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/get-counterparty-marker.html new file mode 100644 index 0000000000..bcda34bc1d --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/get-counterparty-marker.html @@ -0,0 +1,19 @@ + + +TwoPartyDealProtocol.Primary.getCounterpartyMarker - + + + +com.r3corda.protocols / TwoPartyDealProtocol / Primary / getCounterpartyMarker
      +
      +

      getCounterpartyMarker

      + +open fun getCounterpartyMarker(party: Party): Class<*>
      +Overrides ProtocolLogic.getCounterpartyMarker
      +

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      +
      +
      + + 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 26fc211c76..a7a0ed1340 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 @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyDealProtocol / Primary

      Primary

      -abstract class Primary<out U> : ProtocolLogic<SignedTransaction>
      +abstract class Primary : ProtocolLogic<SignedTransaction>

      Abstracted bilateral deal protocol participant that initiates communication/handshake.

      Theres a good chance we can push at least some of this logic down into core protocol logic and helper methods etc.

      @@ -99,7 +99,7 @@ and helper methods etc.

      +abstract val payload: Any - - - -
      +getCounterpartyMarker +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      +
      getPartialTransaction fun getPartialTransaction(): UntrustworthyData<SignedTransaction> payload -abstract val payload: U
      @@ -111,14 +111,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

      -topic -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Inherited Properties

      @@ -161,6 +153,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + getPartialTransaction fun getPartialTransaction(): UntrustworthyData<SignedTransaction> @@ -186,17 +187,8 @@ access this lazily or from inside receive -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> - - - -registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -208,17 +200,23 @@ handled by AbstractNodeService.addProtocolHandler.

      sendAndReceive -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T> subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      @@ -239,14 +237,14 @@ handled by AbstractNodeService.addProtocolHandler.

      Floater -class Floater : Primary<StateRef>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      +class Floater : Primary

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      Instigator -class Instigator<out T : DealState> : Primary<T>

      One side of the protocol for inserting a pre-agreed deal.

      +class Instigator : Primary

      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/payload.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/payload.html index 7227e9f884..e6ee2c51ac 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/payload.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/payload.html @@ -8,7 +8,7 @@

      payload

      -abstract val payload: U
      +abstract val payload: Any


      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/topic.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/topic.html deleted file mode 100644 index 61460b14ca..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-primary/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -TwoPartyDealProtocol.Primary.topic - - - - -com.r3corda.protocols / TwoPartyDealProtocol / Primary / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - 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 b36803d7d9..9b97a8666a 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 @@ -81,14 +81,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

      - - -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      @@ -148,6 +140,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      @@ -155,15 +156,6 @@ access this lazily or from inside registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -179,10 +171,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      @@ -203,14 +201,14 @@ handled by AbstractNodeService.addProtocolHandler.

      Acceptor -class Acceptor<T : DealState> : Secondary<T>

      One side of the protocol for inserting a pre-agreed deal.

      +class Acceptor : Secondary<AutoOffer>

      One side of the protocol for inserting a pre-agreed deal.

      Fixer -class Fixer : Secondary<StateRef>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      +class Fixer : Secondary<FixingSession>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/topic.html b/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/topic.html deleted file mode 100644 index 9a42a0beca..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-deal-protocol/-secondary/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -TwoPartyDealProtocol.Secondary.topic - - - - -com.r3corda.protocols / TwoPartyDealProtocol / Secondary / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - 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 c81b9f24b4..66fa7f72f0 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 @@ -23,14 +23,20 @@ Acceptor -class Acceptor<T : DealState> : Secondary<T>

      One side of the protocol for inserting a pre-agreed deal.

      +class Acceptor : Secondary<AutoOffer>

      One side of the protocol for inserting a pre-agreed deal.

      +AutoOffer + +data class AutoOffer + + + Fixer -class Fixer : Secondary<StateRef>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      +class Fixer : Secondary<FixingSession>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

      @@ -42,16 +48,16 @@ -FixingSessionInitiation +FixingSession -data class FixingSessionInitiation : HandshakeMessage

      Used to set up the session between Floater and Fixer

      +data class FixingSession

      Used to set up the session between Floater and Fixer

      Floater -class Floater : Primary<StateRef>

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      +class Floater : Primary

      One side of the fixing protocol for an interest rate swap, but could easily be generalised furher.

      @@ -64,14 +70,22 @@ Instigator -class Instigator<out T : DealState> : Primary<T>

      One side of the protocol for inserting a pre-agreed deal.

      +class Instigator : Primary

      One side of the protocol for inserting a pre-agreed deal.

      + + + + +MarkerForBogusRegulatorProtocol + +interface MarkerForBogusRegulatorProtocol

      Primary at the end sends the signed tx to all the regulator parties. This a seperate workflow which needs a +sepearate session with the regulator. This interface is used to do that in Primary.getCounterpartyMarker.

      Primary -abstract class Primary<out U> : ProtocolLogic<SignedTransaction>

      Abstracted bilateral deal protocol participant that initiates communication/handshake.

      +abstract class Primary : ProtocolLogic<SignedTransaction>

      Abstracted bilateral deal protocol participant that initiates communication/handshake.

      @@ -106,23 +120,5 @@ -

      Properties

      - - - - - - - - - - - -
      -DEAL_TOPIC -val DEAL_TOPIC: String
      -FIX_INITIATE_TOPIC -val FIX_INITIATE_TOPIC: String

      This topic exists purely for FixingSessionInitiation to be sent from FixingRoleDecider to FixingSessionInitiationHandler

      -
      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 6a364c7076..af9668a632 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 @@ -83,14 +83,6 @@ progress.

      -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - typeToBuy val typeToBuy: Class<out OwnableState> @@ -142,6 +134,15 @@ access this lazily or from inside getCounterpartyMarker + +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + + + + receive fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      @@ -149,15 +150,6 @@ access this lazily or from inside registerSession - -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - - - - send fun send(otherParty: Party, payload: Any): Unit @@ -173,10 +165,16 @@ handled by AbstractNodeService.addProtocolHandler.

      subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? + diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/topic.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/topic.html deleted file mode 100644 index 4b3be9e54f..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-buyer/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -TwoPartyTradeProtocol.Buyer.topic - - - - -com.r3corda.protocols / TwoPartyTradeProtocol / Buyer / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - 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 0df8297b70..8b7c37bb6b 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 @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / SellerTradeInfo

      SellerTradeInfo

      -class SellerTradeInfo
      +data class SellerTradeInfo


      Constructors

      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 84fe37b1fc..865715d350 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 @@ -99,14 +99,6 @@ tracker will be made a child of the current step in the parent. If its null, thi progress.

      - - -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - -

      Inherited Properties

      @@ -160,19 +152,19 @@ access this lazily or from inside receive +getCounterpartyMarker -fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
      -fun <T : Any> receive(otherParty: Party): UntrustworthyData<T> +open fun getCounterpartyMarker(party: Party): Class<*>

      Return the marker Class which party has used to register the counterparty protocol that is to execute on the +other side. The default implementation returns the class object of this ProtocolLogic, but any Class instance +will do as long as the other side registers with it.

      + -registerSession +receive -fun registerSession(receivedHandshake: HandshakeMessage): Unit

      If a node receives a HandshakeMessage it needs to call this method on the initiated receipt protocol to enable -communication between it and the sender protocol. Calling this method, and other initiation steps, are already -handled by AbstractNodeService.addProtocolHandler.

      - +fun <T : Any> receive(otherParty: Party): UntrustworthyData<T>
      +fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T> @@ -184,17 +176,23 @@ handled by AbstractNodeService.addProtocolHandler.

      sendAndReceive -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
      -fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T> +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
      +fun <T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T> subProtocol -fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R

      Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the ProtocolStateMachine and then calling the call method.

      + + +track + +fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>? +

      Companion Object Functions

      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/topic.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/topic.html deleted file mode 100644 index 89b2f93163..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-seller/topic.html +++ /dev/null @@ -1,22 +0,0 @@ - - -TwoPartyTradeProtocol.Seller.topic - - - - -com.r3corda.protocols / TwoPartyTradeProtocol / Seller / topic
      -
      -

      topic

      - -protected open val topic: String
      -Overrides ProtocolLogic.topic
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      Getter
      -

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      -

      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-signatures-from-seller/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-signatures-from-seller/index.html index f5bd4f4eea..917c535934 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-signatures-from-seller/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-signatures-from-seller/index.html @@ -7,7 +7,7 @@ com.r3corda.protocols / TwoPartyTradeProtocol / SignaturesFromSeller

      SignaturesFromSeller

      -class SignaturesFromSeller
      +data class SignaturesFromSeller


      Constructors

      diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-t-o-p-i-c.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-t-o-p-i-c.html deleted file mode 100644 index f93e7e3fa8..0000000000 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/-t-o-p-i-c.html +++ /dev/null @@ -1,15 +0,0 @@ - - -TwoPartyTradeProtocol.TOPIC - - - - -com.r3corda.protocols / TwoPartyTradeProtocol / TOPIC
      -
      -

      TOPIC

      - -val TOPIC: String
      -
      -
      - - diff --git a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/index.html index 005441ee16..40a96bcd88 100644 --- a/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-two-party-trade-protocol/index.html @@ -47,13 +47,13 @@ transaction is available: you can either block your thread waiting for the proto SellerTradeInfo -class SellerTradeInfo +data class SellerTradeInfo SignaturesFromSeller -class SignaturesFromSeller +data class SignaturesFromSeller @@ -74,16 +74,5 @@ transaction is available: you can either block your thread waiting for the proto -

      Properties

      - - - - - - - -
      -TOPIC -val TOPIC: String
      diff --git a/docs/build/html/api/com.r3corda.protocols/-validating-notary-protocol/index.html b/docs/build/html/api/com.r3corda.protocols/-validating-notary-protocol/index.html index bf15c84910..a31ac3be50 100644 --- a/docs/build/html/api/com.r3corda.protocols/-validating-notary-protocol/index.html +++ b/docs/build/html/api/com.r3corda.protocols/-validating-notary-protocol/index.html @@ -46,14 +46,6 @@ indeed valid.

      -topic - -open val topic: String

      The topic to use when communicating with other parties. If more than one topic is required then use sub-protocols. -Note that this is temporary until protocol sessions are properly implemented.

      - - - - uniquenessProvider val uniquenessProvider: UniquenessProvider diff --git a/docs/build/html/api/com.r3corda.protocols/index.html b/docs/build/html/api/com.r3corda.protocols/index.html index 5607f140ea..0770a3336d 100644 --- a/docs/build/html/api/com.r3corda.protocols/index.html +++ b/docs/build/html/api/com.r3corda.protocols/index.html @@ -29,16 +29,6 @@ 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 @@ -68,15 +58,6 @@ attachments are saved to local storage automatically.

      -HandshakeMessage - -interface HandshakeMessage : PartyRequestMessage

      A Handshake message is sent to initiate communication between two protocol instances. It contains the two session IDs -the two protocols will need to communicate. -Note: This is a temperary interface and will be removed once the protocol session work is implemented.

      - - - - NotaryChangeProtocol object NotaryChangeProtocol : AbstractStateReplacementProtocol<Party>

      A protocol to be used for changing a states Notary. This is required since all input states to a transaction @@ -97,12 +78,6 @@ must point to the same notary.

      -PartyRequestMessage - -interface PartyRequestMessage : ServiceRequestMessage - - - RatesFixProtocol open class RatesFixProtocol : ProtocolLogic<Unit>

      This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the @@ -124,8 +99,7 @@ checked again.

      ServiceRequestMessage -interface ServiceRequestMessage

      Abstract superclass for request messages sent to services, which includes common -fields such as replyTo and sessionID.

      +interface ServiceRequestMessage

      Abstract superclass for request messages sent to services which expect a reply.

      @@ -179,5 +153,17 @@ indeed valid.

      +

      Functions

      + + + + + + + +
      +sendRequest +fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>

      Sends a ServiceRequestMessage to target and returns a ListenableFuture of the response.

      +
      diff --git a/docs/build/html/api/com.r3corda.protocols/send-request.html b/docs/build/html/api/com.r3corda.protocols/send-request.html new file mode 100644 index 0000000000..5655f1ea47 --- /dev/null +++ b/docs/build/html/api/com.r3corda.protocols/send-request.html @@ -0,0 +1,19 @@ + + +sendRequest - + + + +com.r3corda.protocols / sendRequest
      +
      +

      sendRequest

      + +fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>
      +

      Sends a ServiceRequestMessage to target and returns a ListenableFuture of the response.

      +

      Parameters

      + +R - The type of the response.
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html new file mode 100644 index 0000000000..1ed69b8e2a --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html @@ -0,0 +1,14 @@ + + +CashSchemaV1.PersistentCashState.<init> - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / <init>
      +
      +

      <init>

      +PersistentCashState(encumbrance: Int?, owner: String, pennies: Long, currency: String, issuerParty: String, issuerRef: ByteArray)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/currency.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/currency.html new file mode 100644 index 0000000000..2753627fa7 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/currency.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.currency - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / currency
      +
      +

      currency

      + +var currency: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/encumbrance.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/encumbrance.html new file mode 100644 index 0000000000..7b2266c83d --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/encumbrance.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.encumbrance - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / encumbrance
      +
      +

      encumbrance

      + +var encumbrance: Int?
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/index.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/index.html new file mode 100644 index 0000000000..9ab2223486 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/index.html @@ -0,0 +1,77 @@ + + +CashSchemaV1.PersistentCashState - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState
      +
      +

      PersistentCashState

      +class PersistentCashState : PersistentState
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +PersistentCashState(encumbrance: Int?, owner: String, pennies: Long, currency: String, issuerParty: String, issuerRef: ByteArray)
      +

      Properties

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +currency +var currency: String
      +encumbrance +var encumbrance: Int?
      +issuerParty +var issuerParty: String
      +issuerRef +var issuerRef: ByteArray
      +owner +var owner: String
      +pennies +var pennies: Long
      +

      Inherited Properties

      + + + + + + + +
      +stateRef +var stateRef: PersistentStateRef?
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-party.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-party.html new file mode 100644 index 0000000000..6df8c542c5 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-party.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.issuerParty - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / issuerParty
      +
      +

      issuerParty

      + +var issuerParty: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-ref.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-ref.html new file mode 100644 index 0000000000..4a81ccaba9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-ref.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.issuerRef - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / issuerRef
      +
      +

      issuerRef

      + +var issuerRef: ByteArray
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/owner.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/owner.html new file mode 100644 index 0000000000..48b96cf7e6 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/owner.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.owner - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / owner
      +
      +

      owner

      + +var owner: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/pennies.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/pennies.html new file mode 100644 index 0000000000..41905d9e90 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/-persistent-cash-state/pennies.html @@ -0,0 +1,15 @@ + + +CashSchemaV1.PersistentCashState.pennies - + + + +com.r3corda.schemas / CashSchemaV1 / PersistentCashState / pennies
      +
      +

      pennies

      + +var pennies: Long
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/index.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/index.html new file mode 100644 index 0000000000..ca3c99986d --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema-v1/index.html @@ -0,0 +1,61 @@ + + +CashSchemaV1 - + + + +com.r3corda.schemas / CashSchemaV1
      +
      +

      CashSchemaV1

      +object CashSchemaV1 : MappedSchema
      +

      First version of a cash contract ORM schema that maps all fields of the Cash contract state as it stood +at the time of writing.

      +
      +
      +

      Types

      + + + + + + + +
      +PersistentCashState +class PersistentCashState : PersistentState
      +

      Inherited Properties

      + + + + + + + + + + + + + + + +
      +mappedTypes +val mappedTypes: Iterable<Class<*>>
      +name +val name: String
      +version +val version: Int
      +

      Inherited Functions

      + + + + + + + +
      +toString +open fun toString(): String
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-cash-schema.html b/docs/build/html/api/com.r3corda.schemas/-cash-schema.html new file mode 100644 index 0000000000..6cf32d50cd --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-cash-schema.html @@ -0,0 +1,15 @@ + + +CashSchema - + + + +com.r3corda.schemas / CashSchema
      +
      +

      CashSchema

      +object CashSchema
      +

      An object used to fully qualify the CashSchema family name (i.e. independent of version).

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/-init-.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/-init-.html new file mode 100644 index 0000000000..505284974f --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.<init> - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / <init>
      +
      +

      <init>

      +PersistentCommericalPaperState(issuanceParty: String, issuanceRef: ByteArray, owner: String, maturity: Instant, faceValue: Long, currency: String, faceValueIssuerParty: String, faceValueIssuerRef: ByteArray)
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/currency.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/currency.html new file mode 100644 index 0000000000..18e011acd1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/currency.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.currency - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / currency
      +
      +

      currency

      + +var currency: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-party.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-party.html new file mode 100644 index 0000000000..f755fa6e8d --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-party.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.faceValueIssuerParty - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / faceValueIssuerParty
      +
      +

      faceValueIssuerParty

      + +var faceValueIssuerParty: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-ref.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-ref.html new file mode 100644 index 0000000000..a3491eb9a9 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value-issuer-ref.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.faceValueIssuerRef - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / faceValueIssuerRef
      +
      +

      faceValueIssuerRef

      + +var faceValueIssuerRef: ByteArray
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value.html new file mode 100644 index 0000000000..b41b1e9eaf --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/face-value.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.faceValue - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / faceValue
      +
      +

      faceValue

      + +var faceValue: Long
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/index.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/index.html new file mode 100644 index 0000000000..c0ac680911 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/index.html @@ -0,0 +1,89 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState
      +
      +

      PersistentCommericalPaperState

      +class PersistentCommericalPaperState : PersistentState
      +
      +
      +

      Constructors

      + + + + + + + +
      +<init> +PersistentCommericalPaperState(issuanceParty: String, issuanceRef: ByteArray, owner: String, maturity: Instant, faceValue: Long, currency: String, faceValueIssuerParty: String, faceValueIssuerRef: ByteArray)
      +

      Properties

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +currency +var currency: String
      +faceValue +var faceValue: Long
      +faceValueIssuerParty +var faceValueIssuerParty: String
      +faceValueIssuerRef +var faceValueIssuerRef: ByteArray
      +issuanceParty +var issuanceParty: String
      +issuanceRef +var issuanceRef: ByteArray
      +maturity +var maturity: Instant
      +owner +var owner: String
      +

      Inherited Properties

      + + + + + + + +
      +stateRef +var stateRef: PersistentStateRef?
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-party.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-party.html new file mode 100644 index 0000000000..efa195a026 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-party.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.issuanceParty - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / issuanceParty
      +
      +

      issuanceParty

      + +var issuanceParty: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-ref.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-ref.html new file mode 100644 index 0000000000..6904b226c3 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/issuance-ref.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.issuanceRef - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / issuanceRef
      +
      +

      issuanceRef

      + +var issuanceRef: ByteArray
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/maturity.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/maturity.html new file mode 100644 index 0000000000..d95dfe1fb1 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/maturity.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.maturity - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / maturity
      +
      +

      maturity

      + +var maturity: Instant
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/owner.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/owner.html new file mode 100644 index 0000000000..27afaeea65 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/-persistent-commerical-paper-state/owner.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchemaV1.PersistentCommericalPaperState.owner - + + + +com.r3corda.schemas / CommercialPaperSchemaV1 / PersistentCommericalPaperState / owner
      +
      +

      owner

      + +var owner: String
      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/index.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/index.html new file mode 100644 index 0000000000..59bdaeebcd --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema-v1/index.html @@ -0,0 +1,61 @@ + + +CommercialPaperSchemaV1 - + + + +com.r3corda.schemas / CommercialPaperSchemaV1
      +
      +

      CommercialPaperSchemaV1

      +object CommercialPaperSchemaV1 : MappedSchema
      +

      First version of a commercial paper contract ORM schema that maps all fields of the CommercialPaper contract state +as it stood at the time of writing.

      +
      +
      +

      Types

      + + + + + + + +
      +PersistentCommericalPaperState +class PersistentCommericalPaperState : PersistentState
      +

      Inherited Properties

      + + + + + + + + + + + + + + + +
      +mappedTypes +val mappedTypes: Iterable<Class<*>>
      +name +val name: String
      +version +val version: Int
      +

      Inherited Functions

      + + + + + + + +
      +toString +open fun toString(): String
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema.html b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema.html new file mode 100644 index 0000000000..83ffb58144 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/-commercial-paper-schema.html @@ -0,0 +1,15 @@ + + +CommercialPaperSchema - + + + +com.r3corda.schemas / CommercialPaperSchema
      +
      +

      CommercialPaperSchema

      +object CommercialPaperSchema
      +

      An object used to fully qualify the CommercialPaperSchema family name (i.e. independent of version).

      +
      +
      + + diff --git a/docs/build/html/api/com.r3corda.schemas/index.html b/docs/build/html/api/com.r3corda.schemas/index.html new file mode 100644 index 0000000000..141fbbeba8 --- /dev/null +++ b/docs/build/html/api/com.r3corda.schemas/index.html @@ -0,0 +1,46 @@ + + +com.r3corda.schemas - + + + +com.r3corda.schemas
      +
      +

      Package com.r3corda.schemas

      +

      Types

      + + + + + + + + + + + + + + + + + + + +
      +CashSchema +object CashSchema

      An object used to fully qualify the CashSchema family name (i.e. independent of version).

      +
      +CashSchemaV1 +object CashSchemaV1 : MappedSchema

      First version of a cash contract ORM schema that maps all fields of the Cash contract state as it stood +at the time of writing.

      +
      +CommercialPaperSchema +object CommercialPaperSchema

      An object used to fully qualify the CommercialPaperSchema family name (i.e. independent of version).

      +
      +CommercialPaperSchemaV1 +object CommercialPaperSchemaV1 : MappedSchema

      First version of a commercial paper contract ORM schema that maps all fields of the CommercialPaper contract state +as it stood at the time of writing.

      +
      + + diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/create.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/create.html index 4200d4ec21..aabec438f4 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/create.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/create.html @@ -7,8 +7,8 @@ com.r3corda.simulation / Simulation / BankFactory / create

      create

      - -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
      + +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/index.html index 829b4e3bc0..3542065115 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-bank-factory/index.html @@ -39,7 +39,7 @@ create -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS> +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/create.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/create.html index c2f803253c..d5c658b58f 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/create.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/create.html @@ -7,8 +7,8 @@ com.r3corda.simulation / Simulation / NetworkMapNodeFactory / create

      create

      - -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
      + +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/index.html index 52ed6934a4..d261d56ca9 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-network-map-node-factory/index.html @@ -17,7 +17,7 @@ create -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS> +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/create.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/create.html index e25bd39e05..4f9ff3cd7d 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/create.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/create.html @@ -7,8 +7,8 @@ com.r3corda.simulation / Simulation / NotaryNodeFactory / create

      create

      - -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
      + +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/index.html index ddd593e306..cc23f7301c 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-notary-node-factory/index.html @@ -17,7 +17,7 @@ create -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS> +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/create.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/create.html index a1531e4969..67d77760c4 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/create.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/create.html @@ -7,8 +7,8 @@ com.r3corda.simulation / Simulation / RatesOracleFactory / create

      create

      - -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
      + +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/index.html index 87be55a6bd..52fa33fa63 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-rates-oracle-factory/index.html @@ -17,7 +17,7 @@ create -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS> +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/create.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/create.html index e692ff4402..efdf614624 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/create.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/create.html @@ -7,8 +7,8 @@ com.r3corda.simulation / Simulation / RegulatorFactory / create

      create

      - -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
      + +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/index.html index 2454650716..784911bf15 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-regulator-factory/index.html @@ -17,7 +17,7 @@ create -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS> +fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS> diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/-init-.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/-init-.html index fec4171e2f..4d6fb22d2b 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/-init-.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/-init-.html @@ -7,7 +7,7 @@ com.r3corda.simulation / Simulation / SimulatedNode / <init>

      <init>

      -SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?)
      +SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?)


      diff --git a/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/index.html b/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/index.html index 117a36fabf..4a0de731c2 100644 --- a/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/index.html +++ b/docs/build/html/api/com.r3corda.simulation/-simulation/-simulated-node/index.html @@ -17,7 +17,7 @@ <init> -SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?) +SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?) diff --git a/docs/build/html/api/index-outline.html b/docs/build/html/api/index-outline.html index 8cc24a88ba..4ded19adc6 100644 --- a/docs/build/html/api/index-outline.html +++ b/docs/build/html/api/index-outline.html @@ -122,7 +122,7 @@
    -abstract class AbstractJDBCHashMap<K : Any, V : Any, T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>
    +abstract class AbstractJDBCHashMap<K : Any, V : Any, out T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>
    -abstract class AbstractJDBCHashSet<K : Any, T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>
    +abstract class AbstractJDBCHashSet<K : Any, out T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>
    -class AggregatedList<A, E, K : Any> : TransformationList<A, E>
    +class AggregatedList<A, E : Any, K : Any> : TransformationList<A, E>
      @@ -698,6 +688,19 @@
    +class AssociatedList<K, out A, B> : ReadOnlyBackedObservableMapBase<K, B, Unit>
    + interface Attachment : NamedByHash
    @@ -1121,7 +1083,7 @@
-data class State : FungibleAsset<Currency>
+data class State : FungibleAsset<Currency>, QueryableState
+object CashSchema
+object CashSchemaV1 : MappedSchema
+ class CertificateSigner
    @@ -1201,7 +1195,7 @@
-data class Checkpoint
+class Checkpoint
@@ -1226,7 +1221,7 @@ abstract fun addCheckpoint(checkpoint: Checkpoint): Unit
-abstract val checkpoints: Iterable<Checkpoint>
+abstract fun forEach(block: (Checkpoint) -> Boolean): Unit
abstract fun removeCheckpoint(checkpoint: Checkpoint): Unit
@@ -1304,11 +1299,12 @@ -RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean)
+RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean, h2Port: Int)
val apiAddress: <ERROR CLASS>
val autoSetup: Boolean
val defaultLegalName: String
val dir: Path
+val h2Port: Int
val mapAddress: String
val networkAddress: <ERROR CLASS>
val node: IRSDemoNode
@@ -1376,6 +1372,7 @@ val apiAddressArg: <ERROR CLASS>
val baseDirectoryArg: <ERROR CLASS>
val fakeTradeWithIdentityFile: <ERROR CLASS>
+val h2PortArg: <ERROR CLASS>
val help: <ERROR CLASS>
val networkAddressArg: <ERROR CLASS>
val networkMapNetAddr: <ERROR CLASS>
@@ -1460,21 +1457,6 @@ -data class ClientToServiceCommandMessage : DirectRequestMessage
- data class Command
    @@ -1642,7 +1624,7 @@
-data class State : OwnableState
+data class State : OwnableState, QueryableState
+object CommercialPaperSchema
+object CommercialPaperSchemaV1 : MappedSchema
+ data class Commodity
    @@ -1953,6 +1969,22 @@
+class ConcatenatedList<A> : TransformationList<A, ObservableList<A>>
+ class Config
    @@ -1968,6 +2000,19 @@
+object ConfigHelper
+ class ConfigurationException : Exception
@@ -2090,12 +2135,27 @@ fun close(): Unit
val host: <ERROR CLASS>
var myID: Int
-fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps
+fun proxy(timeout: Duration? = null, minVersion: Int = 0): CordaRPCOps
fun start(): Unit
-interface CordaRPCOps : RPCOps
+interface CordaRPCOps : RPCOps
+ class CubicSplineInterpolator : Interpolator
    @@ -2124,6 +2184,21 @@
+class DBCheckpointStorage : CheckpointStorage
+ class DataUploadServlet
    @@ -2158,7 +2233,7 @@
-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
@@ -2337,7 +2424,6 @@ abstract fun generateAgreement(notary: Party): TransactionBuilder
abstract val parties: List<Party>
abstract val ref: String
-abstract fun withPublicKey(before: Party, after: PublicKey): DealState
@@ -2358,34 +2444,21 @@ -data class DeregisterRequest : DirectRequestMessage
- -data class DeregisterResponse
- interface DeserializeAsKotlinObjectDef
+data class Diff<out T : ContractState>
+ open class DigitalSignature : OpaqueBytes
    @@ -2426,19 +2499,6 @@
-interface DirectRequestMessage : ServiceRequestMessage
- class DriverDSL : DriverDSLInternalInterface
@@ -2844,11 +2902,10 @@ Broadcast(exitCode: Int)
fun call(): Boolean
val exitCode: Int
-protected val topic: String
-data class ExitMessage : HandshakeMessage
+data class ExitMessage
@@ -2889,7 +2943,6 @@ -val TOPIC: String
@@ -2939,11 +2992,9 @@ FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: Party)
-const val TOPIC: String
protected fun convert(wire: ByteArray): Attachment
protected fun load(txid: SecureHash): Attachment?
protected fun maybeWriteToDisk(downloaded: List<Attachment>): Unit
-protected val topic: String
@@ -2995,7 +3046,7 @@ -data class Request : HandshakeMessage
+data class Request
@@ -3043,9 +3091,7 @@ FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: Party)
-const val TOPIC: String
protected fun load(txid: SecureHash): SignedTransaction?
-protected val topic: String
@@ -3064,6 +3110,23 @@ +class FilterOn<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, K>
+ class FinalityProtocol : ProtocolLogic<Unit>
-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
-interface GatheredTransactionData
+data class GatheredTransactionData
@@ -3474,27 +3528,15 @@ GatheredTransactionDataModel()
+val collectedTransactions: <ERROR CLASS>
val gatheredTransactionDataList: ObservableList<out GatheredTransactionData>
- - - -data class GatheredTransactionDataWritable : GatheredTransactionData
- @@ -3549,15 +3591,15 @@ -HTTPCertificateSigningService(server: <ERROR CLASS>)
+HTTPCertificateSigningService(server: URL)
val clientVersion: String
fun retrieveCertificates(requestId: String): Array<Certificate>?
-val server: <ERROR CLASS>
+val server: URL
fun submitRequest(request: <ERROR CLASS>): String
-interface HandshakeMessage : PartyRequestMessage
+class HibernateObserver
@@ -3736,6 +3796,20 @@ +class InMemoryStateMachineRecordedTransactionMappingStorage : StateMachineRecordedTransactionMappingStorage
+ class InMemoryUniquenessProvider : UniquenessProvider
@@ -4108,7 +4184,6 @@ -object OracleType : ServiceType
data class State : FixableDealState, SchedulableState
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: <ERROR CLASS>
+val oracleType: ServiceType
fun verify(tx: TransactionForContract): Unit
@@ -4267,10 +4342,10 @@ -protected fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
-protected fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
-protected fun keyFromRow(it: <ERROR CLASS>): K
-protected fun valueFromRow(it: <ERROR CLASS>): V
+protected fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
+protected fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
+protected fun keyFromRow(row: <ERROR CLASS>): K
+protected fun valueFromRow(row: <ERROR CLASS>): V
@@ -4296,8 +4371,8 @@ -protected fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
-protected fun elementFromRow(it: <ERROR CLASS>): K
+protected fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
+protected fun elementFromRow(row: <ERROR CLASS>): K
@@ -4407,6 +4482,30 @@ +object PublicKeyTreeDeserializer
+ +object PublicKeyTreeSerializer
+ class SecureHashDeserializer<T : SecureHash>
    @@ -4523,6 +4622,20 @@
+class LeftOuterJoinedMap<K : Any, A, B, C> : ReadOnlyBackedObservableMapBase<K, C, SimpleObjectProperty<B?>>
+ class LinearInterpolator : Interpolator
+object LocalDateColumnType
+ object LogHelper
    @@ -4579,6 +4706,52 @@
+class MapValuesList<K, A, C> : ObservableList<C>
+ +class MappedList<A, B> : TransformationList<B, A>
+ +abstract class MappedSchema
+ data class MarshalledObservation
@@ -4622,8 +4795,7 @@ abstract fun addMessageHandler(topic: String = "", sessionID: Long = DEFAULT_SESSION_ID, executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
abstract fun addMessageHandler(topicSession: TopicSession, executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
-abstract fun createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
-abstract fun createMessage(topicSession: TopicSession, data: ByteArray): Message
+abstract fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID = UUID.randomUUID()): Message
abstract val myAddress: SingleMessageRecipient
abstract fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
abstract fun send(message: Message, target: MessageRecipients): Unit
@@ -4914,7 +5086,7 @@ val DEFAULT_EXPIRATION_PERIOD: Period
val FETCH_PROTOCOL_TOPIC: String
-class FetchMapRequest : NetworkMapRequestMessage
+class FetchMapRequest : ServiceRequestMessage
-abstract class NetworkMapRequestMessage : ServiceRequestMessage
- val PUSH_ACK_PROTOCOL_TOPIC: String
val PUSH_PROTOCOL_TOPIC: String
val QUERY_PROTOCOL_TOPIC: String
-class QueryIdentityRequest : NetworkMapRequestMessage
+class QueryIdentityRequest : ServiceRequestMessage
val REGISTER_PROTOCOL_TOPIC: String
-class RegistrationRequest : NetworkMapRequestMessage
+class RegistrationRequest : ServiceRequestMessage
val SUBSCRIPTION_PROTOCOL_TOPIC: String
-class SubscribeRequest : NetworkMapRequestMessage
+class SubscribeRequest : ServiceRequestMessage
-object Type : ServiceType
data class Update
    @@ -5075,6 +5236,7 @@
val logger: <ERROR CLASS>
abstract val nodes: List<NodeInfo>
+val type: ServiceType
@@ -5115,22 +5277,21 @@ -Node(p2pAddr: <ERROR CLASS>, webServerAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, clock: Clock = NodeClock(), messagingServerAddr: <ERROR CLASS>? = null)
+Node(configuration: FullNodeConfiguration, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, clock: Clock = NodeClock())
val DEFAULT_PORT: Int
+val configuration: FullNodeConfiguration
+protected fun initialiseDatabasePersistence(insideTransaction: () -> Unit): Unit
protected val log: <ERROR CLASS>
protected fun makeMessagingService(): MessagingServiceInternal
protected fun makeUniquenessProvider(): PersistentUniquenessProvider
var messageBroker: ArtemisMessagingServer?
-val messagingServerAddr: <ERROR CLASS>?
-val p2pAddr: <ERROR CLASS>
fun run(): Unit
protected val serverThread: ServiceAffinityExecutor
fun setup(): Node
fun start(): Node
-protected fun startMessagingService(): Unit
+protected fun startMessagingService(cordaRPCOps: CordaRPCOps?): Unit
fun stop(): Unit
lateinit var webServer: <ERROR CLASS>
-val webServerAddr: <ERROR CLASS>
@@ -5194,42 +5355,16 @@ abstract val basedir: Path
-abstract val certificateSigningService: <ERROR CLASS>
open val certificatesPath: Path
open val dataSourceProperties: Properties
abstract val devMode: Boolean
abstract val emailAddress: String
abstract val exportJMXto: String
-fun loadConfig(baseDirectoryPath: Path, configFileOverride: Path? = null, allowMissingConfig: Boolean = false, configOverrides: Map<String, Any?> = emptyMap()): <ERROR CLASS>
-val log: <ERROR CLASS>
abstract val myLegalName: String
abstract val nearestCity: String
-class NodeConfigurationFromConfig : NodeConfiguration
- data class NodeInfo
@@ -5262,8 +5399,9 @@ -FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
+FixContainer(fixes: Set<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
val factory: InterpolatorFactory
+val fixes: Set<Fix>
operator fun get(fixOf: FixOf): Fix?
val size: Int
@@ -5317,7 +5455,7 @@ -class Service : AcceptsFileUpload, AbstractNodeService
+class Service : AcceptsFileUpload, SingletonSerializeAsToken
-object Type : ServiceType
class UnknownFix : RetryableException
@@ -5409,7 +5547,7 @@ -NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, rpcOps: CordaRPCOps? = null)
+NodeMessagingClient(config: NodeConfiguration, serverHostPort: <ERROR CLASS>, myIdentity: PublicKey?, executor: AffinityExecutor, persistentInbox: Boolean = true, persistenceTx: (() -> Unit) -> Unit = { it() })
data class Handler : MessageHandlerRegistration
-class NodeMonitorClient
- class NodeMonitorModel
-class NodeMonitorService : AbstractNodeService
- @@ -5590,6 +5666,21 @@ +class NodeSchemaService : SchemaService, SingletonSerializeAsToken
+ class NodeVaultService : SingletonSerializeAsToken, VaultService
-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
@@ -5731,7 +5821,8 @@ Instigator(originalState: StateAndRef<T>, newNotary: Party, progressTracker: ProgressTracker = tracker())
-protected val topic: String
+protected fun assembleProposal(stateRef: StateRef, modification: Party, stx: SignedTransaction): Proposal<Party>
+protected fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>
@@ -5750,7 +5841,6 @@ -val TOPIC: String
@@ -5850,15 +5940,14 @@ Client(stx: SignedTransaction, progressTracker: ProgressTracker = Client.tracker())
object REQUESTING : Step
object VALIDATING : Step
-fun call(): LegallyIdentifiable
+open fun call(): LegallyIdentifiable
lateinit var notaryParty: Party
-val progressTracker: ProgressTracker
-protected val topic: String
+open val progressTracker: ProgressTracker
fun tracker(): ProgressTracker
-object DefaultFactory : Factory
+sealed class Result
-val TOPIC: String
-abstract class NotaryService : AbstractNodeService
+abstract class NotaryService : SingletonSerializeAsToken
@@ -6354,6 +6420,59 @@ +data class PartiallyResolvedTransaction
+ data class Party
    @@ -6399,6 +6518,20 @@
+data class PartyColumns
+ class PartyGenerator
    @@ -6412,19 +6545,6 @@
-interface PartyRequestMessage : ServiceRequestMessage
- abstract class PaymentEvent : Event
+open class PersistentState
+ +data class PersistentStateRef : Serializable
+ class PersistentUniquenessProvider : UniquenessProvider, SingletonSerializeAsToken
@@ -6751,6 +6900,21 @@ +data class ProgressTrackingEvent
+ data class ProtocolClassRef : ProtocolRef
@@ -6802,18 +6966,18 @@ ProtocolLogic()
abstract fun call(): T
+open fun getCounterpartyMarker(party: Party): Class<*>
val logger: <ERROR CLASS>
open val progressTracker: ProgressTracker?
lateinit var psm: ProtocolStateMachine<*>
inline fun <reified T : Any> receive(otherParty: Party): UntrustworthyData<T>
fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
-fun registerSession(receivedHandshake: HandshakeMessage): Unit
fun send(otherParty: Party, payload: Any): Unit
inline fun <reified T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
val serviceHub: ServiceHub
-fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R
-protected abstract val topic: String
+fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R
+fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
@@ -6865,6 +7029,18 @@ +class ProtocolSessionException : Exception
+ interface ProtocolStateMachine<R>
+object PublicKeyColumnType
+ class PublicKeyGenerator
    @@ -6930,6 +7121,89 @@
+sealed class PublicKeyTree
+ +interface QueryableState : ContractState
+ abstract class RPCDispatcher
    @@ -7072,6 +7346,36 @@
+class FixQueryProtocol : ProtocolLogic<Fix>
+ +class FixSignProtocol : ProtocolLogic<LegallyIdentifiable>
+ class QUERYING : Step
    @@ -7085,7 +7389,7 @@
-data class QueryRequest : HandshakeMessage
+data class QueryRequest
object SIGNING : Step
-data class SignRequest : HandshakeMessage
+data class SignRequest
-val TOPIC: String
object WORKING : Step
protected open fun beforeSigning(fix: Fix): Unit
open fun call(): Unit
open val progressTracker: ProgressTracker
-protected open val topic: String
fun tracker(fixName: String): ProgressTracker
protected val tx: TransactionBuilder
@@ -7146,6 +7442,36 @@ +open class ReadOnlyBackedObservableMapBase<K, A, B> : ObservableMap<K, A>
+ interface ReadOnlyTransactionStorage
-data class ReceiveOnly<T> : ReceiveRequest<T>
+data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T>
-interface ReceiveRequest<T> : ProtocolIORequest
+interface ReceiveRequest<T : SessionMessage> : ProtocolIORequest
-data class RegisterRequest : DirectRequestMessage
- -data class RegisterResponse
- interface RegulatorService
+class ReplayedList<A> : TransformationList<A, A>
+ @@ -7294,7 +7608,6 @@ fun call(): List<LedgerTransaction>
-protected val topic: String
var transactionCountLimit: Int
@@ -7324,6 +7637,22 @@ +enum class Role
+ enum class Role
    @@ -7415,6 +7744,34 @@
+interface SchemaService
+ sealed class SecureHash : OpaqueBytes
    @@ -7445,6 +7802,20 @@
+object SecureHashColumnType
+ class SecureHashGenerator
    @@ -7458,7 +7829,7 @@
-data class SendAndReceive<T> : SendRequest, ReceiveRequest<T>
+data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T>
@@ -7485,12 +7853,10 @@ -SendOnly(destination: Party, topic: String, payload: Any, sendSessionID: Long)
-val destination: Party
-val payload: Any
-val sendSessionID: Long
+SendOnly(session: ProtocolSession, message: SessionMessage)
+val message: SessionMessage
+val session: ProtocolSession
val stackTraceInCaseOfProblems: StackSnapshot
-val topic: String
@@ -7502,9 +7868,7 @@ -abstract val destination: Party
-abstract val payload: Any
-abstract val sendSessionID: Long
+abstract val message: SessionMessage
@@ -7587,7 +7951,7 @@ -class ServerRPCOps : CordaRPCOps
+class ServerRPCOps : CordaRPCOps
+data class ServiceEntry
+ @@ -7612,11 +8010,13 @@ abstract val identityService: IdentityService
abstract fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>
abstract val keyManagementService: KeyManagementService
+open val legalIdentityKey: KeyPair
open fun loadState(stateRef: StateRef): TransactionState<*>
+abstract val myInfo: NodeInfo
abstract val networkMapCache: NetworkMapCache
abstract val networkService: MessagingService
+open val notaryIdentityKey: KeyPair
abstract fun recordTransactions(txs: Iterable<SignedTransaction>): Unit
-open fun recordTransactions(vararg txs: SignedTransaction): <ERROR CLASS>
abstract val schedulerService: SchedulerService
abstract val storageService: StorageService
abstract val vaultService: VaultService
@@ -7632,11 +8032,30 @@ ServiceHubInternal()
+abstract fun getProtocolFactory(markerClass: Class<*>): (Party) -> ProtocolLogic<*>
open fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>
abstract val monitoringService: MonitoringService
abstract val networkService: MessagingServiceInternal
abstract val protocolLogicRefFactory: ProtocolLogicRefFactory
-abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>
+abstract fun registerProtocolInitiator(markerClass: KClass<*>, protocolFactory: (Party) -> ProtocolLogic<*>): Unit
+abstract val schemaService: SchemaService
+abstract fun <T> startProtocol(logic: ProtocolLogic<T>): <ERROR CLASS><T>
+ + + +data class ServiceInfo
+ @@ -7648,12 +8067,12 @@ -abstract fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
+abstract val replyTo: SingleMessageRecipient
abstract val sessionID: Long
-sealed class ServiceToClientEvent
+sealed class ServiceType
-abstract class ServiceType
- @@ -7859,7 +8198,7 @@ BankFactory()
var counter: Int
-fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
fun createAll(): List<SimulatedNode>
@@ -7872,7 +8211,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -7884,7 +8223,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -7896,7 +8235,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -7908,7 +8247,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -7920,7 +8259,7 @@ -SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?)
+SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?)
open fun findMyLocation(): PhysicalLocation?
@@ -8019,6 +8358,37 @@ +data class StateMachineData
+ +data class StateMachineInfo
+ class StateMachineManager
+interface StateMachineRecordedTransactionMappingStorage
+ +data class StateMachineRunId
+ @@ -8089,6 +8609,58 @@ +data class StateMachineTransactionMapping
+ +sealed class StateMachineUpdate
+ data class StateRef
    @@ -8104,6 +8676,20 @@
+data class StateRefColumns
+ class StateRefGenerator
    @@ -8146,58 +8732,6 @@
-data class StateSnapshotMessage
- -sealed class StatesModification<out T : ContractState>
- interface StatesQuery
+class StrandLocalTransactionManager
+ data class Tenor
@@ -8529,9 +9078,23 @@ -ObserverDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>)
-val eventStreamProperty: (M) -> <ERROR CLASS><T>
+ObserverDelegate(klass: KClass<M>, observerProperty: (M) -> <ERROR CLASS><T>)
operator fun getValue(thisRef: Any, property: KProperty<*>): <ERROR CLASS><T>
+val observerProperty: (M) -> <ERROR CLASS><T>
+ + + +class SubjectDelegate<M : Any, T> : TrackedDelegate<M>
+ @@ -8566,7 +9129,7 @@ -sealed class TransactionBuildResult
+sealed class TransactionBuildResult
@@ -9657,6 +10232,7 @@ open fun notify(tx: WireTransaction): Vault
abstract fun notifyAll(txns: Iterable<WireTransaction>): Vault
open fun statesForRefs(refs: List<StateRef>): Map<StateRef, TransactionState<*>?>
+abstract fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
abstract val updates: <ERROR CLASS><Update>
open fun whenConsumed(ref: StateRef): <ERROR CLASS><Update>
@@ -9902,6 +10478,7 @@ fun PublicKey.toBase58String(): <ERROR CLASS>
fun PublicKey.toStringShort(): String
+val PublicKey.tree: PublicKeyTree
fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit
@@ -9955,18 +10532,6 @@ -java.util.concurrent.Future
- javafx.beans.value.ObservableValue
+javafx.collections.ObservableMap
+ @@ -10017,6 +10609,7 @@ fun <T : Any> ByteArray.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
fun ByteArray.opaque(): OpaqueBytes
+fun ByteArray.toHexString(): <ERROR CLASS>
@@ -10151,6 +10744,18 @@ +kotlin.String
+ kotlin.String
    @@ -10203,6 +10808,18 @@
+kotlin.collections.Collection
+ kotlin.collections.Iterable
+kotlin.collections.Iterable
+ kotlin.collections.Iterable
-class NodeMonitorClient
- @@ -10335,7 +10949,7 @@ -class AggregatedList<A, E, K : Any> : TransformationList<A, E>
+class AggregatedList<A, E : Any, K : Any> : TransformationList<A, E>
    @@ -10367,6 +10981,19 @@
+class AssociatedList<K, out A, B> : ReadOnlyBackedObservableMapBase<K, B, Unit>
+ class ChosenList<E> : ObservableListBase<E>
    @@ -10381,6 +11008,22 @@
+class ConcatenatedList<A> : TransformationList<A, ObservableList<A>>
+ class FlattenedList<A> : TransformationList<A, ObservableValue<out A>>
    @@ -10412,7 +11055,99 @@
+class LeftOuterJoinedMap<K : Any, A, B, C> : ReadOnlyBackedObservableMapBase<K, C, SimpleObjectProperty<B?>>
+ +class MapValuesList<K, A, C> : ObservableList<C>
+ +class MappedList<A, B> : TransformationList<B, A>
+ +open class ReadOnlyBackedObservableMapBase<K, A, B> : ObservableMap<K, A>
+ +class ReplayedList<A> : TransformationList<A, A>
+ fun <A, B, C> <ERROR CLASS><A>.foldToObservableList(initialAccumulator: C, folderFun: (A, C, ObservableList<B>) -> C): ObservableList<B>
+fun <A, B, K, C> <ERROR CLASS><A>.foldToObservableMap(initialAccumulator: C, folderFun: (A, C, ObservableMap<K, B>) -> C): ObservableMap<K, out B>
fun <A, B> <ERROR CLASS><A>.foldToObservableValue(initial: B, folderFun: (A, B) -> B): ObservableValue<B>
javafx.beans.value.ObservableValue
+javafx.collections.ObservableMap
+ @@ -10490,7 +11252,21 @@ +kotlin.collections.Collection
+ fun <A> A.lift(): ObservableValue<A>
+fun <A, K> <ERROR CLASS><A>.recordAsAssociation(toKey: (A) -> K, merge: (K, A, A) -> A = { _key, _oldValue, newValue -> newValue }): ObservableMap<K, out A>
+fun <A> <ERROR CLASS><A>.recordInSequence(): ObservableList<A>
@@ -10524,12 +11300,10 @@ val issuerGenerator: Generator<PartyAndReference>
val moveCashGenerator: <ERROR CLASS>
val notary: Party
-val outputStateGenerator: Generator<OutputState>
val parties: List<Party>
val partyGenerator: Generator<Party>
val producedGenerator: Generator<Set<StateAndRef<ContractState>>>
val publicKeyGenerator: <ERROR CLASS>
-val serviceToClientEventGenerator: Generator<ServiceToClientEvent>
@@ -10592,8 +11366,22 @@ ContractStateModel()
val cashStates: ObservableList<StateAndRef<State>>
-val cashStatesModification: <ERROR CLASS><StatesModification<State>>
-val contractStatesDiff: <ERROR CLASS><Diff<ContractState>>
+val cashStatesDiff: <ERROR CLASS><Diff<State>>
+val contractStatesDiff: <ERROR CLASS><Diff<ContractState>>
+ + + +data class Diff<out T : ContractState>
+ @@ -10622,7 +11410,7 @@ -interface GatheredTransactionData
+data class GatheredTransactionData
@@ -10650,27 +11433,15 @@ GatheredTransactionDataModel()
+val collectedTransactions: <ERROR CLASS>
val gatheredTransactionDataList: ObservableList<out GatheredTransactionData>
- - - -data class GatheredTransactionDataWritable : GatheredTransactionData
- @@ -10698,9 +11469,80 @@ NodeMonitorModel()
val clientToService: <ERROR CLASS><ClientToServiceCommand>
-fun register(messagingService: MessagingService, monitorNodeInfo: NodeInfo): Unit
-val serviceToClient: <ERROR CLASS><ServiceToClientEvent>
-val snapshot: <ERROR CLASS><StateSnapshotMessage>
+val progressTracking: <ERROR CLASS><ProgressTrackingEvent>
+fun register(vaultMonitorNodeInfo: NodeInfo, certificatesPath: Path): Unit
+val stateMachineTransactionMapping: <ERROR CLASS><StateMachineTransactionMapping>
+val stateMachineUpdates: <ERROR CLASS><StateMachineUpdate>
+val transactions: <ERROR CLASS><SignedTransaction>
+val vaultUpdates: <ERROR CLASS><Update>
+ + + +data class PartiallyResolvedTransaction
+ +data class ProgressTrackingEvent
+ @@ -10717,6 +11559,21 @@ +data class StateMachineData
+ sealed class StateMachineStatus
    @@ -10754,44 +11611,6 @@
-sealed class StatesModification<out T : ContractState>
- sealed class TrackedDelegate<M : Any>
@@ -10906,9 +11725,23 @@ -ObserverDelegate(klass: KClass<M>, eventStreamProperty: (M) -> <ERROR CLASS><T>)
-val eventStreamProperty: (M) -> <ERROR CLASS><T>
+ObserverDelegate(klass: KClass<M>, observerProperty: (M) -> <ERROR CLASS><T>)
operator fun getValue(thisRef: Any, property: KProperty<*>): <ERROR CLASS><T>
+val observerProperty: (M) -> <ERROR CLASS><T>
+ + + +class SubjectDelegate<M : Any, T> : TrackedDelegate<M>
+ @@ -10977,6 +11810,7 @@ inline fun <reified M : Any, T> observableListReadOnly(noinline observableListProperty: (M) -> ObservableList<out T>): ObservableListReadOnlyDelegate<M, T>
inline fun <reified M : Any, T> observableValue(noinline observableValueProperty: (M) -> ObservableValue<T>): ObservableValueDelegate<M, T>
inline fun <reified M : Any, T> observer(noinline observerProperty: (M) -> <ERROR CLASS><T>): <ERROR CLASS>
+inline fun <reified M : Any, T> subject(noinline subjectProperty: (M) -> <ERROR CLASS><T, T>): <ERROR CLASS>
inline fun <reified M : Any, T> writableValue(noinline writableValueProperty: (M) -> WritableValue<T>): WritableValueDelegate<M, T>
@@ -11115,7 +11949,7 @@ -data class State : OwnableState
+data class State : OwnableState, QueryableState
@@ -11630,7 +12466,6 @@ -object OracleType : ServiceType
data class State : FixableDealState, SchedulableState
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: <ERROR CLASS>
+val oracleType: ServiceType
fun verify(tx: TransactionForContract): Unit
@@ -11935,7 +12770,7 @@ -data class State : FungibleAsset<Currency>
+data class State : FungibleAsset<Currency>, QueryableState
fun <T> <ERROR CLASS><T>.bufferUntilSubscribed(): <ERROR CLASS><T>
+inline fun <T> <ERROR CLASS><T>.catch(block: () -> T): Unit
fun extractZipFile(zipPath: Path, toPath: Path): Unit
fun <T> <ERROR CLASS><T>.failure(executor: Executor, body: (Throwable) -> Unit): <ERROR CLASS>
infix fun <T> <ERROR CLASS><T>.failure(body: (Throwable) -> Unit): <ERROR CLASS><T>
+infix fun <F, T> <ERROR CLASS><F>.flatMap(mapper: (F) -> <ERROR CLASS><T>): <ERROR CLASS><T>
java.nio.file.Path
    @@ -12848,18 +13687,6 @@
-java.util.concurrent.Future
- kotlin.Double
fun <T> logElapsedTime(label: String, logger: <ERROR CLASS>? = null, body: () -> T): T
+infix fun <F, T> <ERROR CLASS><F>.map(mapper: (F) -> T): <ERROR CLASS><T>
fun random63BitValue(): Long
-fun <T> <ERROR CLASS><T>.setFrom(logger: <ERROR CLASS>? = null, block: () -> T): <ERROR CLASS><T>
fun <T> <ERROR CLASS><T>.success(executor: Executor, body: (T) -> Unit): <ERROR CLASS>
infix fun <T> <ERROR CLASS><T>.success(body: (T) -> Unit): <ERROR CLASS><T>
fun <T> <ERROR CLASS><T>.then(executor: Executor, body: () -> Unit): <ERROR CLASS>
@@ -13352,7 +14180,6 @@ abstract fun generateAgreement(notary: Party): TransactionBuilder
abstract val parties: List<Party>
abstract val ref: String
-abstract fun withPublicKey(before: Party, after: PublicKey): DealState
@@ -13468,6 +14295,7 @@ +val EUR: Currency
data class Expression
val USD: Currency
-data class UniqueIdentifier
+data class UniqueIdentifier : Comparable<UniqueIdentifier>
+class FilterOn<S : ContractState, C : CommandData, K : Any> : Clause<ContractState, C, K>
+ class FirstComposition<S : ContractState, C : CommandData, K : Any> : CompositeClause<S, C, K>
    @@ -14579,6 +15425,76 @@
+sealed class PublicKeyTree
+ sealed class SecureHash : OpaqueBytes
@@ -14940,8 +15859,7 @@ abstract fun addMessageHandler(topic: String = "", sessionID: Long = DEFAULT_SESSION_ID, executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
abstract fun addMessageHandler(topicSession: TopicSession, executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
-abstract fun createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
-abstract fun createMessage(topicSession: TopicSession, data: ByteArray): Message
+abstract fun createMessage(topicSession: TopicSession, data: ByteArray, uuid: UUID = UUID.randomUUID()): Message
abstract val myAddress: SingleMessageRecipient
abstract fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
abstract fun send(message: Message, target: MessageRecipients): Unit
@@ -14978,10 +15896,12 @@ +fun MessagingService.createMessage(topic: String, sessionID: Long = DEFAULT_SESSION_ID, data: ByteArray): Message
+fun <M : Any> MessagingService.onNext(topic: String, sessionId: Long, executor: Executor? = null): <ERROR CLASS><M>
fun MessagingService.runOnNextMessage(topic: String, sessionID: Long, executor: Executor? = null, callback: (Message) -> Unit): Unit
-fun MessagingService.runOnNextMessage(topicSession: TopicSession, executor: Executor? = null, callback: (Message) -> Unit): Unit
-fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients): Unit
-fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients): Unit
+inline fun MessagingService.runOnNextMessage(topicSession: TopicSession, executor: Executor? = null, crossinline callback: (Message) -> Unit): Unit
+fun MessagingService.send(topic: String, sessionID: Long, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
+fun MessagingService.send(topicSession: TopicSession, payload: Any, to: MessageRecipients, uuid: UUID = UUID.randomUUID()): Unit
@@ -15058,11 +15978,13 @@ -NodeInfo(address: SingleMessageRecipient, identity: Party, advertisedServices: Set<ServiceType> = emptySet(), physicalLocation: PhysicalLocation? = null)
+NodeInfo(address: SingleMessageRecipient, legalIdentity: Party, advertisedServices: List<ServiceEntry> = emptyList(), physicalLocation: PhysicalLocation? = null)
val address: SingleMessageRecipient
-var advertisedServices: Set<ServiceType>
-val identity: Party
+var advertisedServices: List<ServiceEntry>
+val legalIdentity: Party
+val notaryIdentity: Party
val physicalLocation: PhysicalLocation?
+fun serviceIdentities(type: ServiceType): List<Party>
@@ -15080,6 +16002,20 @@ +data class ServiceEntry
+ interface ServiceHub
+fun ServiceHub.recordTransactions(vararg txs: SignedTransaction): Unit
@@ -15261,6 +16200,7 @@ abstract fun getTransaction(id: SecureHash): SignedTransaction?
+abstract fun track(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>
abstract val updates: <ERROR CLASS><SignedTransaction>
@@ -15278,7 +16218,7 @@ -abstract class ServiceType
+data class ServiceInfo
+sealed class ServiceType
+ +interface StateMachineRecordedTransactionMappingStorage
+ +data class StateMachineTransactionMapping
+ interface StorageService
+inline fun <reified T : DealState> VaultService.dealsWith(party: Party): <ERROR CLASS>
+kotlin.collections.Iterable
+ inline fun <reified T : LinearState> VaultService.linearHeadsOfType(): <ERROR CLASS>
@@ -15500,18 +16502,18 @@ ProtocolLogic()
abstract fun call(): T
+open fun getCounterpartyMarker(party: Party): Class<*>
val logger: <ERROR CLASS>
open val progressTracker: ProgressTracker?
lateinit var psm: ProtocolStateMachine<*>
inline fun <reified T : Any> receive(otherParty: Party): UntrustworthyData<T>
fun <T : Any> receive(otherParty: Party, receiveType: Class<T>): UntrustworthyData<T>
-fun registerSession(receivedHandshake: HandshakeMessage): Unit
fun send(otherParty: Party, payload: Any): Unit
inline fun <reified T : Any> sendAndReceive(otherParty: Party, payload: Any): UntrustworthyData<T>
fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
val serviceHub: ServiceHub
-fun <R> subProtocol(subLogic: ProtocolLogic<R>, inheritParentSessions: Boolean = false): R
-protected abstract val topic: String
+fun <R> subProtocol(subLogic: ProtocolLogic<R>, shareParentSessions: Boolean = false): R
+fun track(): <ERROR CLASS><String, <ERROR CLASS><String>>?
@@ -15546,6 +16548,18 @@ +class ProtocolSessionException : Exception
+ interface ProtocolStateMachine<R>
+data class StateMachineRunId
+ + + + +package com.r3corda.core.schemas
+ @@ -15829,6 +16926,19 @@ fun <T : Any> ByteArray.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
fun ByteArray.opaque(): OpaqueBytes
+fun ByteArray.toHexString(): <ERROR CLASS>
+ + + +kotlin.String
+ @@ -15907,6 +17017,7 @@ InnerState()
+val _updatesPublisher: <ERROR CLASS>
var vault: Vault
@@ -15917,6 +17028,7 @@ protected val mutex: ThreadBox<InnerState>
open fun notifyAll(txns: Iterable<WireTransaction>): Vault
protected val services: ServiceHub
+open fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
open val updates: <ERROR CLASS><Update>
@@ -16538,11 +17650,12 @@ -RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean)
+RunNode(node: IRSDemoNode, dir: Path, networkAddress: <ERROR CLASS>, apiAddress: <ERROR CLASS>, mapAddress: String, tradeWithIdentities: List<Path>, uploadRates: Boolean, defaultLegalName: String, autoSetup: Boolean, h2Port: Int)
val apiAddress: <ERROR CLASS>
val autoSetup: Boolean
val defaultLegalName: String
val dir: Path
+val h2Port: Int
val mapAddress: String
val networkAddress: <ERROR CLASS>
val node: IRSDemoNode
@@ -16610,6 +17723,7 @@ val apiAddressArg: <ERROR CLASS>
val baseDirectoryArg: <ERROR CLASS>
val fakeTradeWithIdentityFile: <ERROR CLASS>
+val h2PortArg: <ERROR CLASS>
val help: <ERROR CLASS>
val networkAddressArg: <ERROR CLASS>
val networkMapNetAddr: <ERROR CLASS>
@@ -16748,8 +17862,9 @@ -FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
+FixContainer(fixes: Set<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator)
val factory: InterpolatorFactory
+val fixes: Set<Fix>
operator fun get(fixOf: FixOf): Fix?
val size: Int
@@ -16803,7 +17918,7 @@ -class Service : AcceptsFileUpload, AbstractNodeService
+class Service : AcceptsFileUpload, SingletonSerializeAsToken
-object Type : ServiceType
class UnknownFix : RetryableException
+package com.r3corda.demos.attachment
+ package com.r3corda.demos.protocols
-data class ExitMessage : HandshakeMessage
+data class ExitMessage
@@ -17028,7 +18133,6 @@ -val TOPIC: String
@@ -17053,7 +18157,6 @@ fun call(): Unit
val date: LocalDate
val progressTracker: ProgressTracker
-protected val topic: String
fun tracker(): ProgressTracker
@@ -17083,8 +18186,7 @@ -val TOPIC: String
-data class UpdateBusinessDayMessage : HandshakeMessage
+data class UpdateBusinessDayMessage
@@ -17359,7 +18458,7 @@ fun start(): Unit
fun startClient(providedName: String, serverAddress: <ERROR CLASS>): Future<NodeMessagingClient>
fun startLocalServer(): Future<ArtemisMessagingServer>
-fun startNode(providedName: String?, advertisedServices: Set<ServiceType>): Future<NodeInfo>
+fun startNode(providedName: String?, advertisedServices: Set<ServiceInfo>): Future<NodeInfo>
fun waitForAllNodesToFinish(): Unit
@@ -17375,7 +18474,7 @@ abstract val networkMapCache: NetworkMapCache
abstract fun startClient(providedName: String, serverAddress: <ERROR CLASS>): Future<NodeMessagingClient>
abstract fun startLocalServer(): Future<ArtemisMessagingServer>
-abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceType> = setOf()): Future<NodeInfo>
+abstract fun startNode(providedName: String? = null, advertisedServices: Set<ServiceInfo> = setOf()): Future<NodeInfo>
abstract fun waitForAllNodesToFinish(): Unit
@@ -17483,7 +18582,7 @@ -AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, platformClock: Clock)
+AbstractNode(configuration: NodeConfiguration, networkMapService: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, platformClock: Clock)
class DatabaseConfigurationException : Exception
-class ServerRPCOps : CordaRPCOps
+class ServerRPCOps : CordaRPCOps
@@ -17665,7 +18789,7 @@ -class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
-data class Checkpoint
+class Checkpoint
@@ -17749,7 +18871,7 @@ abstract fun addCheckpoint(checkpoint: Checkpoint): Unit
-abstract val checkpoints: Iterable<Checkpoint>
+abstract fun forEach(block: (Checkpoint) -> Boolean): Unit
abstract fun removeCheckpoint(checkpoint: Checkpoint): Unit
@@ -17799,7 +18921,35 @@ -object Type : ServiceType
+val type: ServiceType
+ + + +interface SchemaService
+ @@ -17812,11 +18962,14 @@ ServiceHubInternal()
+abstract fun getProtocolFactory(markerClass: Class<*>): (Party) -> ProtocolLogic<*>
open fun <T : Any> invokeProtocolAsync(logicType: Class<out ProtocolLogic<T>>, vararg args: Any?): <ERROR CLASS><T>
abstract val monitoringService: MonitoringService
abstract val networkService: MessagingServiceInternal
abstract val protocolLogicRefFactory: ProtocolLogicRefFactory
-abstract fun <T> startProtocol(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>
+abstract fun registerProtocolInitiator(markerClass: KClass<*>, protocolFactory: (Party) -> ProtocolLogic<*>): Unit
+abstract val schemaService: SchemaService
+abstract fun <T> startProtocol(logic: ProtocolLogic<T>): <ERROR CLASS><T>
@@ -17852,7 +19005,7 @@ -class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
-interface CordaRPCOps : RPCOps
+interface CordaRPCOps : RPCOps
+ data class MarshalledObservation
-package com.r3corda.node.services.monitor
- package com.r3corda.node.services.network
@@ -19016,6 +19985,21 @@ +class DBCheckpointStorage : CheckpointStorage
+ object DataVending
    @@ -19037,7 +20021,7 @@
-class Service : AbstractNodeService
+class Service : SingletonSerializeAsToken
+class InMemoryStateMachineRecordedTransactionMappingStorage : StateMachineRecordedTransactionMappingStorage
+ class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload
+package com.r3corda.node.services.schema
+ package com.r3corda.node.services.statemachine
@@ -19183,20 +20251,21 @@ -ProtocolStateMachineImpl(logic: ProtocolLogic<R>, scheduler: <ERROR CLASS>, loggerName: String)
+ProtocolStateMachineImpl(id: StateMachineRunId, logic: ProtocolLogic<R>, scheduler: FiberScheduler)
+fun currentStateMachine(): ProtocolStateMachineImpl<*>?
+val id: StateMachineRunId
val logger: <ERROR CLASS>
val logic: ProtocolLogic<R>
-val machineId: Long
-fun <T : Any> receive(topic: String, sessionIDForReceive: Long, receiveType: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(otherParty: Party, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>
val resultFuture: <ERROR CLASS><R>
fun run(): R
-fun send(topic: String, destination: Party, sessionID: Long, payload: Any): Unit
-fun <T : Any> sendAndReceive(topic: String, destination: Party, sessionIDForSend: Long, sessionIDForReceive: Long, payload: Any, receiveType: Class<T>): UntrustworthyData<T>
+fun send(otherParty: Party, payload: Any, sessionProtocol: ProtocolLogic<*>): Unit
+fun <T : Any> sendAndReceive(otherParty: Party, payload: Any, receiveType: Class<T>, sessionProtocol: ProtocolLogic<*>): UntrustworthyData<T>
lateinit var serviceHub: ServiceHubInternal
-data class ReceiveOnly<T> : ReceiveRequest<T>
+data class ReceiveOnly<T : SessionMessage> : ReceiveRequest<T>
-interface ReceiveRequest<T> : ProtocolIORequest
+interface ReceiveRequest<T : SessionMessage> : ProtocolIORequest
-data class SendAndReceive<T> : SendRequest, ReceiveRequest<T>
+data class SendAndReceive<T : SessionMessage> : SendRequest, ReceiveRequest<T>
@@ -19253,12 +20316,10 @@ -SendOnly(destination: Party, topic: String, payload: Any, sendSessionID: Long)
-val destination: Party
-val payload: Any
-val sendSessionID: Long
+SendOnly(session: ProtocolSession, message: SessionMessage)
+val message: SessionMessage
+val session: ProtocolSession
val stackTraceInCaseOfProblems: StackSnapshot
-val topic: String
@@ -19270,9 +20331,7 @@ -abstract val destination: Party
-abstract val payload: Any
-abstract val sendSessionID: Long
+abstract val message: SessionMessage
@@ -19296,7 +20355,34 @@ -StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor)
+StateMachineManager(serviceHub: ServiceHubInternal, tokenizableServices: List<Any>, checkpointStorage: CheckpointStorage, executor: AffinityExecutor, database: <ERROR CLASS>)
+data class Change
+ +interface ExistingSessionMessage : SessionMessage
+ inner class FiberScheduler
    @@ -19309,15 +20395,111 @@
-fun <T> add(loggerName: String, logic: ProtocolLogic<T>): ProtocolStateMachine<T>
+data class ProtocolSession
+ +data class SessionConfirm : SessionInitResponse
+ +data class SessionData : ExistingSessionMessage
+ +data class SessionEnd : ExistingSessionMessage
+ +data class SessionInit : SessionMessage
+ +interface SessionInitResponse : ExistingSessionMessage
+interface SessionMessage
+data class SessionReject : SessionInitResponse
+ +fun <T> add(logic: ProtocolLogic<T>): ProtocolStateMachine<T>
val allStateMachines: List<ProtocolLogic<*>>
-val changes: <ERROR CLASS><<ERROR CLASS><ProtocolLogic<*>, AddOrRemove, Long>>
+val changes: <ERROR CLASS><Change>
val checkpointStorage: CheckpointStorage
+val database: <ERROR CLASS>
val executor: AffinityExecutor
fun <P : ProtocolLogic<T>, T> findStateMachines(protocolClass: Class<P>): List<<ERROR CLASS><P, <ERROR CLASS><T>>>
val scheduler: FiberScheduler
val serviceHub: ServiceHubInternal
fun start(): Unit
+fun track(): <ERROR CLASS><List<ProtocolStateMachineImpl<*>>, <ERROR CLASS><Change>>
@@ -19345,7 +20527,7 @@ -abstract class NotaryService : AbstractNodeService
+abstract class NotaryService : SingletonSerializeAsToken
@@ -19372,7 +20550,6 @@ PersistentUniquenessProvider()
fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party): Unit
-val committedStates: <ERROR CLASS>
@@ -19385,9 +20562,10 @@ SimpleNotaryService(services: ServiceHubInternal, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)
-object Type : ServiceType
-val logger: <ERROR CLASS>
-val protocolFactory: DefaultFactory
+fun createProtocol(otherParty: Party): Service
+val timestampChecker: TimestampChecker
+val type: ServiceType
+val uniquenessProvider: UniquenessProvider
@@ -19400,9 +20578,10 @@ ValidatingNotaryService(services: ServiceHubInternal, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider)
-object Type : ServiceType
-val logger: <ERROR CLASS>
-val protocolFactory: Factory
+fun createProtocol(otherParty: Party): ValidatingNotaryProtocol
+val timestampChecker: TimestampChecker
+val type: ServiceType
+val uniquenessProvider: UniquenessProvider
@@ -19442,8 +20621,8 @@ val currentVault: Vault
val linearHeads: Map<UniqueIdentifier, StateAndRef<LinearState>>
val log: <ERROR CLASS>
-protected val mutex: ReentrantLock
fun notifyAll(txns: Iterable<WireTransaction>): Vault
+fun track(): <ERROR CLASS><Vault, <ERROR CLASS><Update>>
val updates: <ERROR CLASS><Update>
@@ -19549,7 +20728,7 @@ -abstract class AbstractJDBCHashMap<K : Any, V : Any, T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>
+abstract class AbstractJDBCHashMap<K : Any, V : Any, out T : JDBCHashedTable> : MutableMap<K, V>, AbstractMap<K, V>
-abstract class AbstractJDBCHashSet<K : Any, T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>
+abstract class AbstractJDBCHashSet<K : Any, out T : JDBCHashedTable> : MutableSet<K>, AbstractSet<K>
-protected fun addKeyToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
-protected fun addValueToInsert(it: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
-protected fun keyFromRow(it: <ERROR CLASS>): K
-protected fun valueFromRow(it: <ERROR CLASS>): V
+protected fun addKeyToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
+protected fun addValueToInsert(insert: <ERROR CLASS>, entry: Entry<K, V>, finalizables: MutableList<() -> Unit>): Unit
+protected fun keyFromRow(row: <ERROR CLASS>): K
+protected fun valueFromRow(row: <ERROR CLASS>): V
@@ -19730,8 +20909,8 @@ -protected fun addElementToInsert(it: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
-protected fun elementFromRow(it: <ERROR CLASS>): K
+protected fun addElementToInsert(insert: <ERROR CLASS>, entry: K, finalizables: MutableList<() -> Unit>): Unit
+protected fun elementFromRow(row: <ERROR CLASS>): K
@@ -19841,6 +21020,30 @@ +object PublicKeyTreeDeserializer
+ +object PublicKeyTreeSerializer
+ class SecureHashDeserializer<T : SecureHash>
    @@ -19895,6 +21098,21 @@
+object LocalDateColumnType
+ abstract class MutableClock : Clock
    @@ -19910,9 +21128,101 @@
+const val NODE_DATABASE_PREFIX: String
+data class PartyColumns
+ +object PublicKeyColumnType
+ +object SecureHashColumnType
+ +data class StateRefColumns
+ +class StrandLocalTransactionManager
+ +object UUIDStringColumnType
+ +fun <T : Any> bytesFromBlob(blob: Blob): SerializedBytes<T>
+fun bytesToBlob(value: SerializedBytes<*>, finalizables: MutableList<() -> Unit>): Blob
fun configureDatabase(props: Properties): <ERROR CLASS><Closeable, <ERROR CLASS>>
-fun <T> databaseTransaction(statement: <ERROR CLASS>.() -> T): T
+fun createDatabaseTransaction(db: <ERROR CLASS>): <ERROR CLASS>
+fun <T> databaseTransaction(db: <ERROR CLASS>, statement: <ERROR CLASS>.() -> T): T
fun <T : Any> deserializeFromBlob(blob: Blob): T
+fun <T> isolatedTransaction(database: <ERROR CLASS>, block: <ERROR CLASS>.() -> T): T
java.time.Clock
    @@ -19925,7 +21235,13 @@
-fun <T : Any> serializeToBlob(value: T, finalizables: MutableList<() -> Unit>): Blob
+fun <ERROR CLASS>.localDate(name: String): <ERROR CLASS>
+fun <ERROR CLASS>.party(nameColumnName: String, keyColumnName: String): <ERROR CLASS>
+fun <ERROR CLASS>.publicKey(name: String): <ERROR CLASS>
+fun <ERROR CLASS>.secureHash(name: String): <ERROR CLASS>
+fun serializeToBlob(value: Any, finalizables: MutableList<() -> Unit>): Blob
+fun <ERROR CLASS>.stateRef(txIdColumnName: String, indexColumnName: String): <ERROR CLASS>
+fun <ERROR CLASS>.uuidString(name: String): <ERROR CLASS>
@@ -19975,10 +21291,10 @@ -HTTPCertificateSigningService(server: <ERROR CLASS>)
+HTTPCertificateSigningService(server: URL)
val clientVersion: String
fun retrieveCertificates(requestId: String): Array<Certificate>?
-val server: <ERROR CLASS>
+val server: URL
fun submitRequest(request: <ERROR CLASS>): String
@@ -20034,22 +21350,7 @@ val otherSide: Party
open val progressTracker: ProgressTracker
fun tracker(): ProgressTracker
-abstract fun verifyProposal(maybeProposal: UntrustworthyData<Proposal<T>>): Proposal<T>
- - - -data class Handshake : HandshakeMessage
- @@ -20064,6 +21365,8 @@ Instigator(originalState: StateAndRef<S>, modification: T, progressTracker: ProgressTracker = tracker())
object NOTARY : Step
object SIGNING : Step
+protected abstract fun assembleProposal(stateRef: StateRef, modification: T, stx: SignedTransaction): Proposal<T>
+protected abstract fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>
open fun call(): StateAndRef<S>
val modification: T
val originalState: StateAndRef<S>
@@ -20113,7 +21416,7 @@ BroadcastTransactionProtocol(notarisedTransaction: SignedTransaction, events: Set<ClientToServiceCommand>, participants: Set<Party>)
-data class NotifyTxRequestMessage : HandshakeMessage
+data class NotifyTxRequest
-val TOPIC: String
fun call(): Unit
val events: Set<ClientToServiceCommand>
val notarisedTransaction: SignedTransaction
val participants: Set<Party>
-protected val topic: String
- - - -interface DirectRequestMessage : ServiceRequestMessage
- @@ -20161,11 +21446,9 @@ FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: Party)
-const val TOPIC: String
protected fun convert(wire: ByteArray): Attachment
protected fun load(txid: SecureHash): Attachment?
protected fun maybeWriteToDisk(downloaded: List<Attachment>): Unit
-protected val topic: String
@@ -20217,7 +21500,7 @@ -data class Request : HandshakeMessage
+data class Request
@@ -20265,9 +21545,7 @@ FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: Party)
-const val TOPIC: String
protected fun load(txid: SecureHash): SignedTransaction?
-protected val topic: String
@@ -20286,26 +21564,11 @@ val events: Set<ClientToServiceCommand>
val participants: Set<Party>
val progressTracker: ProgressTracker
-protected val topic: String
fun tracker(): ProgressTracker
val transaction: SignedTransaction
-interface HandshakeMessage : PartyRequestMessage
- object NotaryChangeProtocol : AbstractStateReplacementProtocol<Party>
@@ -20338,7 +21600,8 @@ Instigator(originalState: StateAndRef<T>, newNotary: Party, progressTracker: ProgressTracker = tracker())
-protected val topic: String
+protected fun assembleProposal(stateRef: StateRef, modification: Party, stx: SignedTransaction): Proposal<Party>
+protected fun assembleTx(): <ERROR CLASS><SignedTransaction, List<PublicKey>>
@@ -20357,7 +21620,6 @@ -val TOPIC: String
@@ -20457,15 +21719,14 @@ Client(stx: SignedTransaction, progressTracker: ProgressTracker = Client.tracker())
object REQUESTING : Step
object VALIDATING : Step
-fun call(): LegallyIdentifiable
+open fun call(): LegallyIdentifiable
lateinit var notaryParty: Party
-val progressTracker: ProgressTracker
-protected val topic: String
+open val progressTracker: ProgressTracker
fun tracker(): ProgressTracker
-object DefaultFactory : Factory
+sealed class Result
-val TOPIC: String
- - - -interface PartyRequestMessage : ServiceRequestMessage
- @@ -20590,6 +21819,36 @@ +class FixQueryProtocol : ProtocolLogic<Fix>
+ +class FixSignProtocol : ProtocolLogic<LegallyIdentifiable>
+ class QUERYING : Step
    @@ -20603,7 +21862,7 @@
-data class QueryRequest : HandshakeMessage
+data class QueryRequest
object SIGNING : Step
-data class SignRequest : HandshakeMessage
+data class SignRequest
-val TOPIC: String
object WORKING : Step
protected open fun beforeSigning(fix: Fix): Unit
open fun call(): Unit
open val progressTracker: ProgressTracker
-protected open val topic: String
fun tracker(fixName: String): ProgressTracker
protected val tx: TransactionBuilder
@@ -20672,7 +21923,6 @@ fun call(): List<LedgerTransaction>
-protected val topic: String
var transactionCountLimit: Int
@@ -20685,7 +21935,7 @@ -abstract fun getReplyTo(networkMapCache: NetworkMapCache): MessageRecipients
+abstract val replyTo: SingleMessageRecipient
abstract val sessionID: Long
@@ -20727,7 +21977,7 @@ -class Acceptor<T : DealState> : Secondary<T>
+class Acceptor : Secondary<AutoOffer>
+data class AutoOffer
+ -val DEAL_TOPIC: String
class DealMismatchException : Exception
    @@ -20776,8 +22037,7 @@
-val FIX_INITIATE_TOPIC: String
-class Fixer : Secondary<StateRef>
+class Fixer : Secondary<FixingSession>
@@ -20802,7 +22061,7 @@ -FixingRoleDecider(ref: StateRef, timeout: Duration, progressTracker: ProgressTracker = tracker())
+FixingRoleDecider(ref: StateRef, progressTracker: ProgressTracker = tracker())
class LOADING : Step
-data class FixingSessionInitiation : HandshakeMessage
+data class FixingSession
-class Floater : Primary<StateRef>
+class Floater : Primary
-class Instigator<out T : DealState> : Primary<T>
+class Instigator : Primary
-abstract class Primary<out U> : ProtocolLogic<SignedTransaction>
+interface MarkerForBogusRegulatorProtocol
+abstract class Primary : ProtocolLogic<SignedTransaction>
-class SellerTradeInfo
+data class SellerTradeInfo
    @@ -21049,7 +22300,7 @@
-class SignaturesFromSeller
+data class SignaturesFromSeller
    @@ -21063,7 +22314,6 @@
-val TOPIC: String
class UnacceptablePriceException : Exception
    @@ -21093,6 +22343,80 @@
+fun <R : Any> MessagingService.sendRequest(topic: String, request: ServiceRequestMessage, target: SingleMessageRecipient, executor: Executor? = null): <ERROR CLASS><R>
+ + + +package com.r3corda.schemas
+ @@ -21138,7 +22462,7 @@ BankFactory()
var counter: Int
-fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
fun createAll(): List<SimulatedNode>
@@ -21151,7 +22475,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -21163,7 +22487,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -21175,7 +22499,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -21187,7 +22511,7 @@ -fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
+fun create(config: NodeConfiguration, network: <ERROR CLASS>, networkMapAddr: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?): <ERROR CLASS>
@@ -21199,7 +22523,7 @@ -SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceType>, id: Int, keyPair: KeyPair?)
+SimulatedNode(config: NodeConfiguration, mockNet: <ERROR CLASS>, networkMapAddress: SingleMessageRecipient?, advertisedServices: Set<ServiceInfo>, id: Int, keyPair: KeyPair?)
open fun findMyLocation(): PhysicalLocation?
diff --git a/docs/build/html/api/index.html b/docs/build/html/api/index.html index ad0177de7a..92743ca163 100644 --- a/docs/build/html/api/index.html +++ b/docs/build/html/api/index.html @@ -113,6 +113,12 @@ +com.r3corda.core.schemas + + + + + com.r3corda.core.serialization @@ -149,6 +155,12 @@ +com.r3corda.demos.attachment + + + + + com.r3corda.demos.protocols @@ -239,12 +251,6 @@ -com.r3corda.node.services.monitor - - - - - com.r3corda.node.services.network @@ -257,6 +263,12 @@ +com.r3corda.node.services.schema + + + + + com.r3corda.node.services.statemachine @@ -299,6 +311,12 @@ +com.r3corda.schemas + + + + + com.r3corda.simulation diff --git a/docs/build/html/building-the-docs.html b/docs/build/html/building-the-docs.html index 446a7be7f3..afbd4fe75f 100644 --- a/docs/build/html/building-the-docs.html +++ b/docs/build/html/building-the-docs.html @@ -92,6 +92,7 @@
  • Data types
  • Consensus model
  • Networking and messaging
  • +
  • Persistence
  • Creating a Cordapp
  • Running the demos
  • Node administration
  • @@ -103,12 +104,12 @@
  • Writing a contract
  • Writing a contract using clauses
  • Writing a contract test
  • +
  • Client RPC API
  • Protocol state machines
  • Writing oracle services
  • +
  • Using attachments
  • Event scheduling
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • Contracts

    Contracts

    Contracts

    Contracts

      @@ -220,9 +223,8 @@ or provides conflict information for any input state that had been consumed by a In doing so, the notary provides the point of finality in the system. Until the notary signature is obtained, parties cannot be sure that an equally valid, but conflicting transaction, will not be regarded as confirmed. After the signature is obtained, the parties know that the inputs to this transaction have been uniquely consumed by this transaction. Hence it is the point at which we can say finality has occurred.

      -
      -

      Multiple notaries

      +

      Multiple notaries

      More than one notary can exist in the network. This gives the following benefits:

      • Custom behaviour. We can have both validating and privacy preserving Notaries – parties can make a choice based on their specific requirements
      • @@ -235,6 +237,30 @@ This is achieved by using a special type of transaction that doesn’t modif Ensuring that all input states point to the same notary is the responsibility of each involved party (it is another condition for an output state of the transaction to be valid)

      +
      +

      Changing notaries

      +

      To change the notary for an input state, use the NotaryChangeProtocol. For example:

      +
      @Suspendable
      +fun changeNotary(originalState: StateAndRef<ContractState>,
      +                 newNotary: Party): StateAndRef<ContractState> {
      +    val protocol = NotaryChangeProtocol.Instigator(originalState, newNotary)
      +    return subProtocol(protocol)
      +}
      +
      +
      +

      The protocol will:

      +
        +
      1. Construct a transaction with the old state as the input and the new state as the output
      2. +
      3. Obtain signatures from all participants (a participant is any party that is able to consume this state in a valid transaction, as defined by the state itself)
      4. +
      5. Obtain the old notary signature
      6. +
      7. Record and distribute the final transaction to the participants so that everyone possesses the new state
      8. +
      +
      +

      Note

      +

      Eventually this will be handled automatically on demand.

      +
      +
      +

      Validation

      One of the design decisions for a notary is whether or not to validate a transaction before committing its input states.

      @@ -292,7 +318,7 @@ clocks at the US Naval Observatory. This time feed is extremely accurate and ava
      -

      Running a Notary Service

      +

      Running a notary service

      At present we have two basic implementations that store committed input states in memory:

      • SimpleNotaryService – commits the provided transaction without any validation
      • @@ -337,28 +363,6 @@ can be used when writing a custom protocol:

      Conflict handling and resolution is currently the responsibility of the protocol author.

      -
      -

      Changing notaries

      -

      To change the notary for an input state, use the NotaryChangeProtocol. For example:

      -
      fun changeNotary(originalState: StateAndRef<ContractState>,
      -                 newNotary: Party): StateAndRef<ContractState> {
      -    val protocol = NotaryChangeProtocol.Instigator(originalState, newNotary)
      -    return subProtocol(protocol)
      -}
      -
      -
      -

      The protocol will:

      -
        -
      1. Construct a transaction with the old state as the input and the new state as the output
      2. -
      3. Obtain signatures from all participants (a participant is any party that is able to consume this state in a valid transaction, as defined by the state itself)
      4. -
      5. Obtain the old notary signature
      6. -
      7. Record and distribute the final transaction to the participants so that everyone possesses the new state
      8. -
      -
      -

      Note

      -

      Eventually this will be handled automatically on demand.

      -
      -
      diff --git a/docs/build/html/contract-catalogue.html b/docs/build/html/contract-catalogue.html index 595e8f9558..f7b92baf14 100644 --- a/docs/build/html/contract-catalogue.html +++ b/docs/build/html/contract-catalogue.html @@ -93,6 +93,7 @@
    • Data types
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • Node administration
    • @@ -104,12 +105,12 @@
    • Writing a contract
    • Writing a contract using clauses
    • Writing a contract test
    • +
    • Client RPC API
    • Protocol state machines
    • Writing oracle services
    • +
    • Using attachments
    • Event scheduling
    • Secure coding guidelines
    • -
    • Protocols
    • -
    • Contracts

    Contracts

    Contracts

    Contracts

      @@ -210,7 +211,6 @@ dataSourceProperties : { } artemisAddress : "localhost:31337" webAddress : "localhost:31339" -hostNotaryServiceLocally: false extraAdvertisedServiceIds: "corda.interest_rates" networkMapAddress : "localhost:12345" useHTTPS : false @@ -224,7 +224,6 @@ keyStorePassword : "cordacadevpass" trustStorePassword : "trustpass" artemisAddress : "localhost:12345" webAddress : "localhost:12346" -hostNotaryServiceLocally: true extraAdvertisedServiceIds: "" useHTTPS : false @@ -269,19 +268,19 @@ useHTTPS : false -webAddress:

      The host and port on which the node is available for web operations.

      +messagingServerAddress: + 

      The address of the ArtemisMQ broker instance. If not provided the node will run one locally.

      + + +webAddress:

      The host and port on which the node is available for web operations.

      Note

      If HTTPS is enabled then the browser security checks will require that the accessing url host name is one of either the machine name, fully qualified machine name, or server IP address to line up with the Subject Alternative Names contained within the development certificates. This is addition to requiring the /config/dev/corda_dev_ca.cer root certificate be installed as a Trusted CA.

      -hostNotaryServiceLocally: - 

      If true the Node will host and advertise a verifying Notary service.

      - - extraAdvertisedServiceIds: - 

      A list of ServiceType id strings to be advertised to the NetworkMapService and thus be available when other nodes query the NetworkMapCache for supporting nodes. This can also include plugin services loaded from .jar files in the

      A list of ServiceType id strings to be advertised to the NetworkMapService and thus be available when other nodes query the NetworkMapCache for supporting nodes. This can also include plugin services loaded from .jar files in the plugins folder.

      networkMapAddress: diff --git a/docs/build/html/creating-a-cordapp.html b/docs/build/html/creating-a-cordapp.html index f3851e7ebd..8fb9dda312 100644 --- a/docs/build/html/creating-a-cordapp.html +++ b/docs/build/html/creating-a-cordapp.html @@ -32,7 +32,7 @@ - + @@ -93,6 +93,7 @@
    • Data types
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • @@ -112,12 +115,12 @@
    • Writing a contract
    • Writing a contract using clauses
    • Writing a contract test
    • +
    • Client RPC API
    • Protocol state machines
    • Writing oracle services
    • +
    • Using attachments
    • Event scheduling
    • Secure coding guidelines
    • -
    • Protocols
    • -
    • Contracts

    Contracts

      @@ -251,6 +254,44 @@ case the node_dir

      java -Dcapsule.jvm.args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" -jar corda.jar

      This command line will start the debugger on port 5005 and pause the process awaiting debugger attachment.

      +
      +

      Viewing persisted state of your Node

      +

      To make examining the persisted contract states of your node or the internal node database tables easier, and providing you are +using the default database configuration used for demos, you should be able to connect to the internal node database over +a JDBC connection at the URL that is output to the logs at node start up. That URL will be of the form jdbc:h2:tcp://<host>:<port>/node.

      +

      The user name and password for the login are as per the node data source configuration.

      +

      The name and column layout of the internal node tables is in a state of flux and should not be relied upon to remain static +at the present time, and should certainly be treated as read-only.

      +
      +
      +

      Building Against Corda

      +
      +

      Warning

      +

      This feature is subject to rapid change

      +
      +

      Corda now supports publishing to Maven local to build against it. To publish to Maven local run the following in the +root directory of Corda

      +
      ./gradlew publishToMavenLocal
      +
      +
      +

      This will publish corda-$version.jar, contracts-$version.jar, core-$version.jar and node-$version.jar to the +group com.r3corda. You can now depend on these as you normally would a Maven dependency.

      +

      In Gradle you can depend on these by adding/modifying your build.gradle file to contain the following:

      +
      repositories {
      +    mavenLocal()
      +    ... other repositories here ...
      +}
      +
      +dependencies {
      +    compile "com.r3corda:core:$corda_version"
      +    compile "com.r3corda:contracts:$corda_version"
      +    compile "com.r3corda:node:$corda_version"
      +    compile "com.r3corda:corda:$corda_version"
      +    ... other dependencies here ...
      +}
      +
      +
      +
      @@ -263,7 +304,7 @@ case the node_dir Next - Previous + Previous diff --git a/docs/build/html/data-model.html b/docs/build/html/data-model.html index e3adfdad6e..58ab9bcd89 100644 --- a/docs/build/html/data-model.html +++ b/docs/build/html/data-model.html @@ -102,6 +102,7 @@
    • Data types
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • Node administration
    • @@ -113,12 +114,12 @@
    • Writing a contract
    • Writing a contract using clauses
    • Writing a contract test
    • +
    • Client RPC API
    • Protocol state machines
    • Writing oracle services
    • +
    • Using attachments
    • Event scheduling
    • Secure coding guidelines
    • -
    • Protocols
    • -
    • Contracts

    Contracts

    Contracts

    Contracts

    Contracts

    Contracts

  • Consensus model
  • Networking and messaging
  • +
  • Persistence +
  • Creating a Cordapp
  • Running the demos
  • Node administration
  • +
  • Client RPC API
  • Protocol state machines
  • +
  • Using attachments +
  • Event scheduling
  • -
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • +
  • Secure coding guidelines +
  • @@ -377,7 +393,7 @@ following hypothesis:

  • Release process
  • Steps to cut a release
  • Release notes

    Contracts

      diff --git a/docs/build/html/messaging.html b/docs/build/html/messaging.html index 85cda040e9..eaf4f8dbae 100644 --- a/docs/build/html/messaging.html +++ b/docs/build/html/messaging.html @@ -31,7 +31,7 @@ - + @@ -97,6 +97,7 @@
    • Network Map Service
  • +
  • Persistence
  • Creating a Cordapp
  • Running the demos
  • Node administration
  • @@ -108,12 +109,12 @@
  • Writing a contract
  • Writing a contract using clauses
  • Writing a contract test
  • +
  • Client RPC API
  • Protocol state machines
  • Writing oracle services
  • +
  • Using attachments
  • Event scheduling
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • Contracts

    Contracts

      diff --git a/docs/build/html/node-administration.html b/docs/build/html/node-administration.html index 222a286561..c64974e0a7 100644 --- a/docs/build/html/node-administration.html +++ b/docs/build/html/node-administration.html @@ -93,9 +93,11 @@
    • Data types
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • Node administration

      Contracts

        @@ -179,8 +181,20 @@

        Node administration

        -

        When a node is running, it exposes an embedded web server that lets you monitor it, upload and download attachments, -access a REST API and so on.

        +

        When a node is running, it exposes an embedded database server, an embedded web server that lets you monitor it, +you can upload and download attachments, access a REST API and so on.

        +
        +

        Database access

        +

        The node exposes its internal database over a socket which can be browsed using any tool that can use JDBC drivers. +The JDBC URL is printed during node startup to the log and will typically look like this:

        +
        +
        jdbc:h2:tcp://192.168.0.31:31339/node
        +

        The username and password can be altered in the corda-config-files but default to username “sa” and a blank +password.

        +

        Any database browsing tool that supports JDBC can be used, but if you have IntelliJ Ultimate edition then there is +a tool integrated with your IDE. Just open the database window and add an H2 data source with the above details. +You will now be able to browse the tables and row data within them.

        +

        Monitoring your node

        Like most Java servers, the node exports various useful metrics and management operations via the industry-standard @@ -190,7 +204,7 @@ not require any particular network protocol for export. So this data can be expo some monitoring systems provide a “Java Agent”, which is essentially a JVM plugin that finds all the MBeans and sends them out to a statistics collector over the network. For those systems, follow the instructions provided by the vendor.

        Sometimes though, you just want raw access to the data and operations itself. So nodes export them over HTTP on the -/monitoring/json HTTP endpoint, using a program called Jolokia. Jolokia defines the JSON +/monitoring/json HTTP endpoint, using a program called Jolokia. Jolokia defines the JSON and REST formats for accessing MBeans, and provides client libraries to work with that protocol as well.

        Here are a few ways to build dashboards and extract monitoring data for a node:

        Contracts

          @@ -305,7 +306,7 @@ punishment.

        Contracts

          @@ -263,7 +264,7 @@ owner key as output, and any change cash as output. It contains a single signatu it lacks a signature from S authorising movement of the asset.
        • S signs it and hands the now finalised SignedTransaction back to B.
        • -

          You can find the implementation of this protocol in the file contracts/protocols/TwoPartyTradeProtocol.kt.

          +

          You can find the implementation of this protocol in the file contracts/src/main/kotlin/com/r3corda/protocols/TwoPartyTradeProtocol.kt.

          Assuming no malicious termination, they both end the protocol being in posession of a valid, signed transaction that represents an atomic asset swap.

          Note that it’s the seller who initiates contact with the buyer, not vice-versa as you might imagine.

          @@ -277,7 +278,6 @@ write them and the approach is the same.

        object TwoPartyTradeProtocol {
        -    val TOPIC = "platform.trade"
         
             class UnacceptablePriceException(val givenPrice: Amount<Currency>) : Exception("Unacceptable price: $givenPrice")
             class AssetMismatchException(val expectedTypeName: String, val typeName: String) : Exception() {
        @@ -285,21 +285,20 @@ write them and the approach is the same.

        } // This object is serialised to the network and is the first protocol message the seller sends to the buyer. - class SellerTradeInfo( + data class SellerTradeInfo( val assetForSale: StateAndRef<OwnableState>, - val price: Amount, - val sellerOwnerKey: PublicKey, - val sessionID: Long + val price: Amount<Currency>, + val sellerOwnerKey: PublicKey ) - class SignaturesFromSeller(val timestampAuthoritySig: DigitalSignature.WithKey, val sellerSig: DigitalSignature.WithKey) + data class SignaturesFromSeller(val sellerSig: DigitalSignature.WithKey, + val notarySig: DigitalSignature.LegallyIdentifiable) open class Seller(val otherSide: Party, val notaryNode: NodeInfo, val assetToSell: StateAndRef<OwnableState>, val price: Amount<Currency>, val myKeyPair: KeyPair, - val buyerSessionID: Long, override val progressTracker: ProgressTracker = Seller.tracker()) : ProtocolLogic<SignedTransaction>() { @Suspendable override fun call(): SignedTransaction { @@ -310,8 +309,7 @@ write them and the approach is the same.

        open class Buyer(val otherSide: Party, val notary: Party, val acceptablePrice: Amount<Currency>, - val typeToBuy: Class<out OwnableState>, - val sessionID: Long) : ProtocolLogic<SignedTransaction>() { + val typeToBuy: Class<out OwnableState>) : ProtocolLogic<SignedTransaction>() { @Suspendable override fun call(): SignedTransaction { TODO() @@ -321,35 +319,23 @@ write them and the approach is the same.

        -

        Let’s unpack what this code does:

        -
          -
        • It defines a several classes nested inside the main TwoPartyTradeProtocol singleton. Some of the classes -are simply protocol messages or exceptions. The other two represent the buyer and seller side of the protocol.
        • -
        • It defines the “trade topic”, which is just a string that namespaces this protocol. The prefix “platform.” is reserved -by Corda, but you can define your own protocol namespaces using standard Java-style reverse DNS notation.
        • -
        +

        This code defines several classes nested inside the main TwoPartyTradeProtocol singleton. Some of the classes are +simply protocol messages or exceptions. The other two represent the buyer and seller side of the protocol.

        Going through the data needed to become a seller, we have:

          -
        • otherSide: SingleMessageRecipient - the network address of the node with which you are trading.
        • +
        • otherSide: Party - the party with which you are trading.
        • notaryNode: NodeInfo - the entry in the network map for the chosen notary. See “Consensus model” for more information on notaries.
        • assetToSell: StateAndRef<OwnableState> - a pointer to the ledger entry that represents the thing being sold.
        • price: Amount<Currency> - the agreed on price that the asset is being sold for (without an issuer constraint).
        • myKeyPair: KeyPair - the key pair that controls the asset being sold. It will be used to sign the transaction.
        • -
        • buyerSessionID: Long - a unique number that identifies this trade to the buyer. It is expected that the buyer -knows that the trade is going to take place and has sent you such a number already.
        -
        -

        Note

        -

        Session IDs will be automatically handled in a future version of the framework.

        -

        And for the buyer:

        • acceptablePrice: Amount<Currency> - the price that was agreed upon out of band. If the seller specifies a price less than or equal to this, then the trade will go ahead.
        • typeToBuy: Class<out OwnableState> - the type of state that is being purchased. This is used to check that the sell side of the protocol isn’t trying to sell us the wrong thing, whether by accident or on purpose.
        • -
        • sessionID: Long - the session ID that was handed to the seller in order to start the protocol.

        Alright, so using this protocol shouldn’t be too hard: in the simplest case we can just create a Buyer or Seller with the details of the trade, depending on who we are. We then have to start the protocol in some way. Just @@ -387,6 +373,24 @@ be requested by untrusted code (e.g. a state that you have been sent), the types protocol are checked against a whitelist, which can be extended by apps themselves at load time.

        The process of starting a protocol returns a ListenableFuture that you can use to either block waiting for the result, or register a callback that will be invoked when the result is ready.

        +

        In a two party protocol only one side is to be manually started using ServiceHub.invokeProtocolAsync. The other side +has to be registered by its node to respond to the initiating protocol via ServiceHubInternal.registerProtocolInitiator. +In our example it doesn’t matter which protocol is the initiator and which is the initiated. For example, if we are to +take the seller as the initiator then we would register the buyer as such:

        +
        +
        val services: ServiceHubInternal = TODO()
        +
        +services.registerProtocolInitiator(Seller::class) { otherParty ->
        +  val notary = services.networkMapCache.notaryNodes[0]
        +  val acceptablePrice = TODO()
        +  val typeToBuy = TODO()
        +  Buyer(otherParty, notary, acceptablePrice, typeToBuy)
        +}
        +
        +
        +
        +

        This is telling the buyer node to fire up an instance of Buyer (the code in the lambda) when the initiating protocol +is a seller (Seller::class).

        Implementing the seller

        @@ -412,12 +416,10 @@ finished transaction.

        @Suspendable
         private fun receiveAndCheckProposedTransaction(): SignedTransaction {
        -    val sessionID = random63BitValue()
        -
             // Make the first message we'll send to kick off the protocol.
        -    val hello = SellerTradeInfo(assetToSell, price, myKeyPair.public, sessionID)
        +    val hello = SellerTradeInfo(assetToSell, price, myKeyPair.public)
         
        -    val maybeSTX = sendAndReceive<SignedTransaction>(otherSide, buyerSessionID, sessionID, hello)
        +    val maybeSTX = sendAndReceive<SignedTransaction>(otherSide, hello)
         
             maybeSTX.unwrap {
                 // Check that the tx proposed by the buyer is valid.
        @@ -442,11 +444,10 @@ finished transaction.

        -

        Let’s break this down. We generate a session ID to identify what’s happening on the seller side, fill out -the initial protocol message, and then call sendAndReceive. This function takes a few arguments:

        +

        Let’s break this down. We fill out the initial protocol message with the trade info, and then call sendAndReceive. +This function takes a few arguments:

          -
        • The topic string that ensures the message is routed to the right bit of code in the other side’s node.
        • -
        • The session IDs that ensure the messages don’t get mixed up with other simultaneous trades.
        • +
        • The party on the other side.
        • The thing to send. It’ll be serialised and sent automatically.
        • Finally a type argument, which is the kind of object we’re expecting to receive from the other side. If we get back something else an exception is thrown.
        • @@ -521,7 +522,7 @@ well (but having handled the fact that some signatures are missing ourselves).notarySignature: DigitalSignature.LegallyIdentifiable): SignedTransaction { val fullySigned = partialTX + ourSignature + notarySignature logger.trace { "Built finished transaction, sending back to secondary!" } - send(otherSide, buyerSessionID, SignaturesFromSeller(ourSignature, notarySignature)) + send(otherSide, SignaturesFromSeller(ourSignature, notarySignature)) return fullySigned }
        @@ -554,7 +555,7 @@ override fun call(): SignedTransaction { val (ptx, cashSigningPubKeys) = assembleSharedTX(tradeRequest) val stx = signWithOurKeys(cashSigningPubKeys, ptx) - val signatures = swapSignaturesWithSeller(stx, tradeRequest.sessionID) + val signatures = swapSignaturesWithSeller(stx) logger.trace { "Got signatures from seller, verifying ... " } @@ -567,16 +568,14 @@ override fun call(): SignedTransaction { @Suspendable private fun receiveAndValidateTradeRequest(): SellerTradeInfo { - // Wait for a trade request to come in on our pre-provided session ID. - val maybeTradeRequest = receive<SellerTradeInfo>(sessionID) + // Wait for a trade request to come in from the other side + val maybeTradeRequest = receive<SellerTradeInfo>(otherParty) maybeTradeRequest.unwrap { // What is the seller trying to sell us? val asset = it.assetForSale.state.data val assetTypeName = asset.javaClass.name logger.trace { "Got trade request for a $assetTypeName: ${it.assetForSale}" } - // Check the start message for acceptability. - check(it.sessionID > 0) if (it.price > acceptablePrice) throw UnacceptablePriceException(it.price) if (!typeToBuy.isInstance(asset)) @@ -591,13 +590,13 @@ private fun receiveAndValidateTradeRequest(): SellerTradeInfo { } @Suspendable -private fun swapSignaturesWithSeller(stx: SignedTransaction, theirSessionID: Long): SignaturesFromSeller { +private fun swapSignaturesWithSeller(stx: SignedTransaction): SignaturesFromSeller { progressTracker.currentStep = SWAPPING_SIGNATURES logger.trace { "Sending partially signed transaction to seller" } // TODO: Protect against the seller terminating here and leaving us in the lurch without the final tx. - return sendAndReceive<SignaturesFromSeller>(otherSide, theirSessionID, sessionID, stx).unwrap { it } + return sendAndReceive<SignaturesFromSeller>(otherSide, stx).unwrap { it } } private fun signWithOurKeys(cashSigningPubKeys: List<PublicKey>, ptx: TransactionBuilder): SignedTransaction { @@ -806,7 +805,6 @@ protocols for this reason (see “ -
      • Automatic session ID management
      • Identity based addressing
      • Exposing progress trackers to local (inside the firewall) clients using message queues and/or WebSockets
      • Exception propagation and management, with a “protocol hospital” tool to manually provide solutions to unavoidable @@ -830,7 +828,7 @@ reporting logic, or anything else that might be required as part of a communicat Next - Previous + Previous
    diff --git a/docs/build/html/release-notes.html b/docs/build/html/release-notes.html index 7793d6072b..1f2f4d2b58 100644 --- a/docs/build/html/release-notes.html +++ b/docs/build/html/release-notes.html @@ -93,6 +93,7 @@
  • Data types
  • Consensus model
  • Networking and messaging
  • +
  • Persistence
  • Creating a Cordapp
  • Running the demos
  • Node administration
  • @@ -104,12 +105,12 @@
  • Writing a contract
  • Writing a contract using clauses
  • Writing a contract test
  • +
  • Client RPC API
  • Protocol state machines
  • Writing oracle services
  • +
  • Using attachments
  • Event scheduling
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • Contracts

      @@ -125,7 +126,7 @@
    • Release process
    • Steps to cut a release
    • Release notes
        -
      • Unreleased
      • +
      • Milestone 4
      • Milestone 3
      • Milestone 2
      • Milestone 1
      • @@ -182,8 +183,126 @@

        Release notes

        Here are brief summaries of what’s changed between each snapshot release.

        -
        -

        Unreleased

        +
        +

        Milestone 4

        +

        New features in this release:

        +
          +
        • Persistence:

          +
          +
            +
          • States can now be written into a relational database and queried using JDBC. The schemas are defined by the +smart contracts and schema versioning is supported. It is reasonable to write an app that stores data in a mix +of global ledger transactions and local database tables which are joined on demand, using join key slots that +are present in many state definitions. Read more about Persistence.
          • +
          • The embedded H2 SQL database is now exposed by default to any tool that can speak JDBC. The database URL is +printed during node startup and can be used to explore the database, which contains both node internal data +and tables generated from ledger states.
          • +
          • Protocol checkpoints are now stored in the database as well. Message processing is now atomic with protocol +checkpointing and run under the same RDBMS transaction.
          • +
          • MQ message deduplication is now handled at the app layer and performed under the RDMS transaction, so +ensuring messages are only replayed if the RDMS transaction rolled back.
          • +
          • “The wallet” has been renamed to “the vault”.
          • +
          +
          +
        • +
        • Client RPC:

          +
          +
            +
          • New RPCs added to subscribe to snapshots and update streams state of the vault, currently executing protocols +and other important node information.
          • +
          • New tutorial added that shows how to use the RPC API to draw live transaction graphs on screen.
          • +
          +
          +
        • +
        • Protocol framework:

          +
          +
            +
          • Large simplifications to the API. Session management is now handled automatically. Messages are now routed +based on identities rather than node IP addresses.
          • +
          +
          +
        • +
        • Decentralised consensus:

          +
          +
            +
          • A standalone one-node notary backed by a JDBC store has been added.
          • +
          • A prototype RAFT based notary composed of multiple nodes is available on a branch.
          • +
          +
          +
        • +
        • Data model:

          +
          +
            +
          • Compound keys have been added as preparation for merging a distributed RAFT based notary. Compound keys +are trees of public keys in which interior nodes can have validity thresholds attached, thus allowing +boolean formulas of keys to be created. This is similar to Bitcoin’s multi-sig support and the data model +is the same as the InterLedger Crypto-Conditions spec, which should aid interop in future. Read more about +key trees in the “Data types” article.
          • +
          • A new tutorial has been added showing how to use transaction attachments in more detail.
          • +
          +
          +
        • +
        • Testnet

          +
          +
            +
          • Permissioning infrastructure phase one is built out. The node now has a notion of developer mode vs normal +mode. In developer mode it works like M3 and the SSL certificates used by nodes running on your local +machine all self-sign using a developer key included in the source tree. When developer mode is not active, +the node won’t start until it has a signed certificate. Such a certificate can be obtained by simply running +an included command line utility which generates a CSR and submits it to a permissioning service, then waits +for the signed certificate to be returned. Note that currently there is no public Corda testnet, so we are +not currently running a permissioning service.
          • +
          +
          +
        • +
        • Standalone app development:

          +
          +
            +
          • The Corda libraries that app developers need to link against can now be installed into your local Maven +repository, where they can then be used like any other JAR. See Creating a Cordapp.
          • +
          +
          +
        • +
        • User interfaces:

          +
          +
            +
          • Infrastructure work on the node explorer is now complete: it is fully switched to using the MQ based RPC system.
          • +
          • A library of additional reactive collections has been added. This API builds on top of Rx and the observable +collections API in Java 8 to give “live” data structures in which the state of the node and ledger can be +viewed as an ordinary Java List, Map and Set, but which also emit callbacks when these views +change, and which can have additional views derived in a functional manner (filtered, mapped, sorted, etc). +Finally, these views can then be bound directly into JavaFX UIs. This makes for a concise and functional +way of building application UIs that render data from the node, and the API is available for third party +app developers to use as well. We believe this will be highly productive and enjoyable for developers who +have the option of building JavaFX apps (vs web apps).
          • +
          • The visual network simulator tool that was demoed back in April as part of the first Corda live demo has +been merged into the main repository.
          • +
          +
          +
        • +
        • Documentation

          +
          +
            +
          • New secure coding guidelines. Corda tries to eliminate as many security mistakes as practical via the type +system and other mechanically checkable processes, but there are still things that one must be aware of.
          • +
          • New attachments tutorial.
          • +
          • New Client RPC tutorial.
          • +
          • More tutorials on how to build a standalone CorDapp.
          • +
          +
          +
        • +
        • Testing

          +
          +
            +
          • More integration testing support
          • +
          • New micro-DSLs for expressing expected sequences of operations with more or less relaxed ordering constraints.
          • +
          • QuickCheck generators to create streams of randomised transactions and other basic types. QuickCheck is a way +of writing unit tests that perform randomised fuzz testing of code, originally developed by the Haskell +community and now also available in Java.
          • +
          +
          +
        • +

        API changes:

        • The transaction types (Signed, Wire, LedgerTransaction) have moved to com.r3corda.core.transactions. You can @@ -193,6 +312,8 @@ location.
        • The UntrustworthyData<T>.validate method has been renamed to unwrap - the old name is now deprecated.
        • The wallet, wallet service, etc. are now vault, vault service, etc. These better reflect the intent that they are a generic secure data store, rather than something which holds cash.
        • +
        • The protocol send/receive APIs have changed to no longer require a session id. Please check the current version +of the protocol framework tutorial for more details.
        @@ -240,7 +361,7 @@ also provided so if you spot any issues with it, you can send us patches.
      • Big improvements to the interest rate swap app:

        Contracts

        Contracts

          @@ -307,6 +309,30 @@ can see the other terminals whilst you run this command!:

          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.

        +
        +

        Attachment demo

        +

        Open two terminals, and in the first run:

        +

        Windows:

        +
        gradlew.bat & .\build\install\r3prototyping\bin\attachment-demo --role=RECIPIENT
        +
        +
        +

        Other:

        +
        ./gradlew installDist && ./build/install/r3prototyping/bin/attachment-demo --role=RECIPIENT
        +
        +
        +

        It will compile things, if necessary, then create a directory named attachment-demo/buyer with a bunch of files inside and +start the node. You should see it waiting for a trade to begin.

        +

        In the second terminal, run:

        +

        Windows:

        +
        .\build\install\r3prototyping\bin\attachment-demo --role=SENDER
        +
        +
        +

        Other:

        +
        ./build/install/r3prototyping/bin/attachment-demo --role=SENDER
        +
        +
        +

        You should see some log lines scroll past, and within a few seconds the message “File received - we’re happy!” should be printed.

        +
      • diff --git a/docs/build/html/search.html b/docs/build/html/search.html index 6257c565a3..e18e9f1633 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -91,6 +91,7 @@
      • Data types
      • Consensus model
      • Networking and messaging
      • +
      • Persistence
      • Creating a Cordapp
      • Running the demos
      • Node administration
      • @@ -102,12 +103,12 @@
      • Writing a contract
      • Writing a contract using clauses
      • Writing a contract test
      • +
      • Client RPC API
      • Protocol state machines
      • Writing oracle services
      • +
      • Using attachments
      • Event scheduling
      • Secure coding guidelines
      • -
      • Protocols
      • -
      • Contracts

      Contracts

        diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 7a43b518c3..a318b71d9d 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:47,filenames:["building-the-docs","clientrpc","codestyle","consensus","contract-catalogue","contract-irs","corda-configuration-files","creating-a-cordapp","data-model","event-scheduling","getting-set-up","index","inthebox","messaging","network-simulator","node-administration","oracles","protocol-state-machines","release-notes","release-process","running-the-demos","secure-coding-guidelines","transaction-data-types","tutorial-contract","tutorial-contract-clauses","tutorial-test-dsl","where-to-start"],objects:{},objnames:{},objtypes:{},terms:{"00z":23,"0_xx":10,"17t16":23,"1mb":17,"8u45":10,"_before_":17,"_do_":17,"_foo":2,"abstract":[8,17,18,23,24],"boolean":[8,23],"break":[16,17,19],"byte":[2,8,17,25],"case":[2,3,6,7,8,16,17,18,22,23,24],"catch":[2,10,17,21],"class":[1,2,3,5,7,9,11,16,17,18,21,22],"default":[2,4,6,7,10,14,17,18,20,21,23],"enum":18,"export":[15,17,26],"final":[3,5,8,10,17,23,25],"float":[4,5,9],"function":[2,4,5,8,11,16],"import":[2,8,9,10,17,18,19,22,23,24,25,26],"instanceof":23,"int":[2,3,23],"long":[2,4,8,9,17,23],"new":[2,3,5,8,10,11,12,13,15,17,18,19,22,23,24,25,26],"null":[6,9,23],"public":[2,6,8,12,13,15,17,22,23,24,25],"return":[1,2,3,5,9,15,17,18,21,23,24,25,26],"short":[9,19],"static":[7,8,16,17,23,25,26],"super":[2,24],"switch":[17,18,23],"throw":[1,2,3,17,23,24],"transient":17,"true":[3,6,8,16,23],"try":[1,2,8,17,20,26],"var":17,"void":[23,24,25],"while":[14,22,23],abil:8,abl:[3,8,16,17,18,20,23],abort:[3,16],about:[2,3,8],abov:[2,5,8,17,23,24,25],absolut:[3,6,8],abstractstatereplacementprotocol:18,accept:[2,3,4,8,17,23],acceptablepric:17,access:[2,6,10,13,15,16,17,21,23],accid:17,accident:[2,21],accompani:[2,23],accord:26,accordingli:24,account:[8,22],accrual:5,accur:3,accuraci:8,achiev:[3,8],ack:18,acknowledg:17,across:[4,6,8,18],act:[3,6,8,16,17],action:[9,23,26],activ:[5,9,20,23],actor:[2,8,17],actual:[3,5,10,16,17,21,23,24,25],adapt:[2,16,17],add:[2,8,13,15,17,21,23,24,25],addcommand:[17,23],addinputst:[17,23],addit:[2,3,6,8,22,23],addition:[8,17,19],addmessagehandl:18,addoutputst:[17,23],address:[3,6,7,8,13,17,20,23],adjust:[2,5,19,23,26],admin:10,administr:[11,12],advanc:[4,5,11],advantag:8,adventur:26,advertis:[1,6,23],advic:19,affect:[10,16],affinityexecutor:2,afraid:2,after:[3,4,5,7,9,10,12,16,17,23],again:[5,8,16,17,20,23],against:[5,8,9,17,23,24],agent:15,agentlib:7,aggreg:[8,23,24],agre:[5,9,17,21],agreement:[5,8,22],ahead:[17,23],aim:[2,8],albeit:18,albertsen:18,algorithm:[8,12,18,22,23],alia:6,alic:23,aliv:17,all:[0,1,2,3,4,5,6,8,10,15,16,17,18,19,20,21,22,23,24,26],allclaus:24,allcomposit:24,allevi:3,allow:[1,2,3,4,5,6,7,8,9,13,16,17,21,22,23,25,26],almost:23,along:[3,16,17,23],alongsid:23,alreadi:[2,9,16,17,18,23,24,25],alright:17,also:[1,2,3,4,5,6,7,8,9,10,13,14,15,17,18,20,22,23,24,25,26],alter:[6,17],altern:[0,2,6,13,14,15,22,23],although:[5,6,8,17,23,24,26],alwai:[2,8,9,15,17,22,23],amount:[1,4,5,8,11,17,18],amqp:[13,18],analysi:8,andresen:8,ani:[1,2,3,4,5,8,9,15,16,17,18,19,20,21,22,23,26],annot:[1,2,17],announc:19,anonym:8,anoth:[1,2,3,8,10,15,16,17,18,23,25],answer:[2,16],anticip:2,anybodi:8,anyclaus:24,anycomposit:24,anyon:[3,23],anyth:[3,8,17,21,22,23,24],anywher:[16,18,23],apach:13,apart:3,api:[0,2,7,11,12,15,17,18,19,20],app:1,appear:23,append:15,appendix:11,appli:[2,4,5,7,8,23,24],applic:[7,8,13,16,21,26],applyfix:5,appoint:3,approach:[8,9,11],appropri:[2,13,24],approv:[8,9,17],approxim:3,arbitrari:[2,8,16,17,21,22],arbitrarili:8,architectur:[11,16],aren:[1,9,12,23,26],arg:[7,18],argument:[2,8,17,23],aris:8,around:[3,8,17,18,19,22,23,24],arrai:[8,17],arrang:17,arriv:[16,17],arrow:[5,10],art:22,artemi:13,artemisaddress:6,artemismq:6,articl:[3,8,9,16,17,23,26],ask:[2,16,17,23],aspect:[17,26],assembl:[8,23],assemblesharedtx:17,assertequ:17,asset:[4,11,17,18,21,22],assetforsal:17,assetmismatchexcept:17,assettosel:17,assettypenam:17,assign:[8,16,17],assist:[9,17],associ:[3,8,9,13,22,23],assum:[3,8,17,21,23],assumpt:17,atom:[3,8,17,20,23],attach:[7,8,11],attack:[3,21],attempt:[8,10,11,21],attent:17,attest:3,attribut:2,audit:8,authent:3,authenticatedobject:[22,23,24],author:[2,3,19,26],authoris:17,auto:[2,23],autoclos:1,autom:[8,9,23,26],automat:[0,1,3,6,7,9,13,14,17,18,23,26],avail:[0,3,5,6,9,14,15,17,19,21,23],avoid:[2,8,17],awai:[8,17,20],await:7,awar:[1,2,9,17,23],awg:19,awkward:[2,17],axi:5,back:[1,2,8,16,17,21,22,23],backend:18,background:[1,2,8],backoff:13,backport:19,backward:[17,19],bad:[2,17,23,25],balanc:[3,4,8,23,25],banana:22,bananast:22,banco:18,band:17,bandwidth:2,bank:[5,6,8,18,22,23,26],bankrupt:23,bankruptci:[3,8,16],barreca:18,barrel:18,base:[2,3,5,6,7,8,9,13,17,18,22,23],basedir:[6,7],basi:[5,9,14,15],basic:[2,3,6,8,11],bat:[14,20],bbva:18,bear:17,becaus:[2,3,8,9,10,15,16,17,22,23,24,25],becom:[2,5,8,9,17,19,22],been:[3,5,6,8,10,16,17,18,19,22,23,24],befor:[3,5,7,8,9,12,17,18,19,22,23,24],beforehand:20,begin:[2,8,20,23,26],behav:23,behaviour:[3,4,6,15,24,25],behind:[13,17,23],believ:18,below:[2,5,7,8,9,17,22,26],beneficiari:4,benefit:[3,17],best:[2,26],bet:16,better:[2,11,12,18,23],between:[2,3,5,8,9,13,14,16,17,18,19,20,21,22,23],beyond:8,big:[2,8,17,18,23],bigdecim:[16,22],bilater:[4,5,18],bill:23,bin:20,binari:[8,16],bind:[3,6,8,16],bip:8,bit:[17,22,23,25,26],bitbucket:10,bitcoinj:17,blah:2,blank:[2,23],block:[1,2,3,8,11,16,17,18,21],blockchain:[8,12,17,23],bloom:2,bloomfilt:2,blotter:20,blow:20,blue:5,bob:23,bodi:2,boil:8,boilerpl:23,bond:23,bookkeep:23,boost:12,bootstrap:7,bore:23,both:[3,4,5,8,12,16,17,21,22,23],bounc:17,bound:[3,17,23],bower:20,box:26,branch:[11,19],breach:8,bread:26,breviti:24,brief:18,briefli:13,bring:8,broadcast:[3,8,23],broadcasttransactionprotocol:3,broke:2,broken:[18,23],broker:13,browser:[6,20],buffer:1,bug:[2,18,19],bugfix:19,bui:[17,26],buildcordajar:6,builder:[17,18,21],built:[3,6,7,17,21,23],bulk:[8,24],bullet:2,bunch:20,bundl:8,busi:[8,9,12,16,17,22,23,26],businesscalendar:22,butter:26,button:20,buyer:11,buyersessionid:17,bytecod:[8,17,23],cach:13,calcul:[3,5,9,17,21,22,23],calendar:[5,16,22],call:[1,2,3,5,8,12,15,17,18,19,21,22,23,24,25],callback:[1,2,17],caller:[3,23],came:17,camel:2,can:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26],cannot:[3,4,8,10,16,18,21,22,23],capabl:23,capit:2,capitan:0,capsule_cache_dir:7,captur:9,cardon:18,care:[2,3,8,17,21,25],carefulli:12,cashkt:23,cashsigningpubkei:17,cashstat:17,cast:1,caught:1,caus:[2,23],cent:22,center:23,central:[22,23],cer:6,certain:[2,18,23],certainti:3,certif:6,cev:10,chain:[4,8,11,16,17,18,22,23],chaincash:25,chaincashdoublespend:25,chaincashdoublespendfailswith:25,challeng:8,chanc:[2,17],chang:[0,1,2],changenotari:3,channel:17,charact:2,charg:16,check:[2,3,6,9,10,11,14,16,17,18,21,22],checkabl:16,checknotnul:23,checkstat:23,checksufficientsignatur:[3,17,22],child:17,children:17,childrenfor:17,choic:[2,3,8,23],choos:[3,10,23],chosen:[3,8,17],chronolog:9,chunk:[23,24,26],circl:14,claim:[8,23],clash:2,classic:23,classpath:[8,20],claus:[11,18],clauseverifi:24,clean:[17,18],cleaner:18,cleanup:18,clear:[1,17,21,22],clearer:17,clearli:2,click:[10,20],clock:[3,8,9,17,20],clone:[2,10],close:[1,3,4],closeabl:1,closer:3,closur:[2,25],cloud:15,cluster:[3,6],cmd:[23,24],coars:8,code:0,codebas:2,cognit:8,coin:8,collabor:18,colleagu:2,collect:[1,2,15,18,23,24],collector:[2,15,17],collis:2,column:15,com:[0,10,18,20,23,25],combin:[8,11,22,23],come:[1,8,17,18,19,21,23],command:[0,3,4,5,6,7,8,10,11,14,15,16,17,18,20,22],commanddata:[16,23,24],commercial_pap:[23,24],commercialpap:[4,23,24],commercialpaperlegaci:23,commit:[3,9,17,19],common:[4,5,8,17,18,22,23,24,25],commonleg:5,commun:[10,17,18,21],compani:16,companion:[17,23,24],compar:[8,23],compat:[1,19],compel:3,compet:8,complementari:9,complet:[8,9,16,17,18,20,22,23,24,25],complex:[2,4,8,17,22,23],complic:[17,23,24],compon:[9,13,18],compos:[17,18,22,23,24],composit:24,compositeclaus:24,compris:5,comput:[5,16],concept:[3,4,8,9,16,17,18,23],concern:[8,17,23],conclus:[3,8,16],concurrenthashmap:2,condit:[3,16,24,25],conf:[6,7],config:[6,7,15],confirm:[3,10],conflict:[3,8,11],confus:17,connect:[1,6,12,15],consid:[2,5,8,9,16,18,19,23],consider:23,consist:[5,8,16,17,18,24],constant:[2,23],constantli:16,constraint:[16,17,23],construct:[2,3,7,11,17,18,21,22],constructor:[9,17],consum:[1,3,8,9,18,22,23],consumingtx:3,consumpt:[9,16],contact:[10,17],contain:[3,5,6,7,8,13,15,16,17,19,20,22,23,24,25,26],content:[2,3,7,8,9,10,15,16,17,22],context:[2,8,15,16,22],continu:[5,11],contract:3,contractreject:25,contractst:[3,9,18,22,23],contrast:[8,16,17],contribut:22,control:[2,3,7,8,10,15,17,18,20,21,22,23,26],conveni:[2,8,22,23],convent:[5,17,24],convers:22,convert:[3,4,5,17,18,22,23],convinc:[17,22],coordin:6,copi:[2,3,8,13,17,23,25,26],copyonwritearraylist:2,copyright:2,corda:[3,4],corda_dev_ca:6,cordacadevpass:6,cordapluginregistri:7,cordarpccli:1,cordarpcop:1,core:[4,8,16,17,18,22,23,25],corner:10,correct:[4,8,16,17,18,19,23,25],correctli:[8,16,18,23],correspond:[1,23],correspondingli:2,cost:[1,16,23],could:[2,3,4,8,16,17,21,22,23],count:5,countabl:18,counter:[2,17],counterparti:[4,5,21],countri:[16,22],coupl:17,cours:[15,16,17,23,26],coven:23,cover:[3,4,8,16,17,22,23,26],crash:17,creat:[1,2,3],createdummyir:5,createsomenod:17,creation:[5,8,11,23],creator:16,credit:18,crisp:23,criteria:4,critic:[8,19],crop:8,cryptographi:11,curl:15,currenc:[4,5,17,18,22,23],current:[1,2,3,5,6,7,8,9,11,12,13,14,16,17,18,19,21,22,23,25],currentstep:17,currenttim:17,currentwallet:17,curv:5,custodi:[17,22],custom:[3,15,17,18,20,22],customis:26,cut:11,cycl:[2,17,23],dai:[3,5,15,16,17,19,22],daniel:18,danks:18,dashboard:15,data:[0,2,3,4,5],databas:[6,8,12,17,22,23],dataset:5,datasourc:6,datasourceclassnam:6,datasourceproperti:6,date:[3,4,5,9,11,15,19,20],dateoffset:18,daterollconvent:22,david:18,dcapsul:7,dead:13,deadlin:22,deal:[2,16,17,20,22,23],dealstat:22,debt:4,debugg:7,decd098666b9657314870e192ced0c3519c2c9d395507a238338f8d003929de9:15,decd:15,decentralis:[8,16],decid:[10,16,23],decis:[3,8,23],declar:[2,6,25],dedic:2,defaultissu:23,defin:[2,3,8,12,15,17,18,22,23,24,25,26],definit:[3,17,22,23,24],delai:[5,16],deleg:[3,24],delet:[2,8,17,18,23],deliber:[8,25],deliv:[4,17,22],deliveri:[12,13,17,20],demand:[3,8,17],demo:[6,11,12,16,18,19],demonstr:[18,20,26],denial:3,dens:2,depend:[2,3,7,8,9,10,16,17,18,23],deposit:[23,25],deprec:18,deregist:13,deriv:[5,17,18,22,23],describ:[2,3,8,9,11,17,21,22,23],descript:2,deserv:19,design:[2,3,8,11,12,16,18,21,23,24,26],desir:[17,22],desktop:15,despit:[17,23],destroi:[4,8,23],destructur:23,detail:[1,2,3,4],detect:2,determin:[4,5,9,24],determinist:1,dev:6,develop:[2,6,7,8,12,17,18,19,20,23],devic:[6,8],devis:8,diagram:5,didn:[2,17,19,23],differ:[2,3,4,5,6,8,9,16,17,18,22,23,25],difficult:17,difficulti:24,digest:3,digit:[8,16,17,18,23],digitalsignatur:[3,16,17],direct:2,directli:[1,2,3,13,15,17,22,23,24],directori:[0,6,7,20,26],directthreadexecutor:2,dirti:23,disabl:22,disadvantag:8,discard:21,discov:8,discoveri:14,discuss:[8,17,22,23],disk:[13,17,18,22],disobei:16,displai:3,disprov:11,disput:[3,5,23],disrupt:13,distinct:[2,24],distribut:[3,7,8,11,12,16,17],distrust:[3,17],divid:3,divis:22,doc:[0,1,2,11,18],docker:15,docsit:[0,19],doe:[2,3,4,5,7,8,9,12,15,16,17,21,23,25,26],doesn:[2,3,8,10,12,15,17,20,21,23,25],dokka:0,dollar:[22,23,25],domain:[18,22,23],domicil:23,don:[1,2,8,10,12,16,17,19,21,22,23,24,25],done:[0,1,8,17,18,23],dot:5,doubl:[8,12,17,20,23],doubt:[2,12],down:[2,8,17,23,24],download:[1,10,11],downsid:[2,8],drain:[1,17],drive:[8,26],driven:20,driver:[6,18,26],drm:16,dsl:[18,25],dt_socket:7,due:[2,3,5,8,9,12,17,23,24],dummi:[4,17,25],dummy1:17,dummy2:17,dummy_cash_issu:25,dummy_notary_kei:17,dummy_pubkey_1:[23,25],dummy_pubkey_2:25,dummycontract:17,duplic:17,durat:[9,16],dure:[2,5,6,7,14,17,18,23],dynam:[8,18,23,26],each:[2,3,5,7,8,9,14,16,17,18,19,23,24,25,26],earli:[2,4,26],earlier:21,earliest:[5,9],easi:[2,8,16,18,23],easier:[2,17,18,23],easiest:[1,23],easili:[2,17,23],econom:5,ed25519:18,edit:10,editor:10,effect:[5,8,17,25],either:[2,3,4,5,6,8,17,23,25,26],elbonia:22,element:[2,8,24],elimin:12,els:[3,7,8,16,17,22,23,24],email:17,embed:[8,12,15,16],embedd:13,emit:1,empti:[3,18,23,25],emptyledg:25,emptyset:3,enabl:[6,7,24],encapsul:[2,22],enclos:2,encod:16,encount:[9,12],encumb:23,encumberedst:23,encumbr:11,end:[2,3,5,8,16,17,19,24,26],endpoint:[7,13,15],enforc:[2,8,23],enforceverifyorfail:25,english:[2,23],enorm:17,enough:[2,10,17,23,26],ensur:[2,3,8,10,17,19,20,21,22,23,24],enter:[25,26],entir:[3,5,8,16,17,23],entireti:5,entiti:[3,8,16,22,23],entri:[5,6,7,8,17,21,23],enumer:5,environ:[2,7,16,17],envisag:23,equal:[3,17,22,23,24,25],equival:[2,5,22,23],especi:22,essenti:[15,16,23,24],establish:[9,13,20],etc:[2,3,4,5,12,16,17,18,19,22,23,24],euribor:[15,16],euro:22,evalu:[5,16,24],even:[1,3,8,12,16,17,18,23,25],event:[2,3,5,8],eventu:[3,19],ever:[2,8],everi:[1,3,8,13,16,17,18,19,21,23,26],everybodi:8,everyon:[3,16,23],everyth:[3,21,23,26],evid:16,evolut:8,evolv:[23,26],exact:3,exactli:[8,22,23],examin:[2,8,17,23],exampl:[0,2,3,4,5],excel:16,except:[1,2,17,21,23],excess:2,exchang:[5,17,22],exclud:6,exclus:4,execut:[3,7,8,9,14,17,18,20,22,23],executor:2,exhaust:18,exist:[2,3,4,5,7,8,9,11,18,22,23,25,26],exit:[4,17,23],expect:[1,2,4,6,9,17,19,21,23,24,25],expectedtypenam:17,expens:[1,2],experi:[8,19,26],experiment:[2,17,18],explain:[2,9,17,18],explan:2,explicit:[2,8,17,23],explicitli:[2,8,25],explor:[2,8,10,11,12,15,17,23,26],expos:[2,7,8,9,15,17,22],exposur:[4,5],express:[3,5,8,18,23,25],extend:[2,3,7,12,17,22,23,24],extens:[2,18,21,22,23],extent:8,extern:[6,17,26],extraadvertisedserviceid:6,extract:[8,15,16,22,23],extractcommand:24,extrem:[3,8],face:23,facevalu:23,fact:[2,3,5,8,16,17,23,25],factor:[5,8],fail:[23,24,25],failswith:25,failur:[17,25],fairli:[2,17],fake:[20,26],fals:[2,3,6,16,17,22,23],familiar:[8,23],famou:[8,18],fanci:23,far:[17,20,23],fashion:2,fast:[8,17,20],fault:17,featur:[1,2,6,8,11,13,16],feed:[3,16],feedback:18,feel:[23,26],fetch:[13,15,16],few:[2,12,15,16,17,19,20,23],fiber:17,field:[2,5],file:[0,2],fill:[2,17,20,23],filter:2,filterisinst:23,finalis:[3,5,17,18],finalisetransact:3,finalityprotocol:3,financ:[17,18,26],financi:[8,9,11,17,18,22],find:[0,8,12,15,17,21],fine:[8,25],finish:[17,18],firewal:17,first:[2,3,5,6,7,9,10,13,15,16,17,18,20,22,23,24,26],firstli:23,fit:[2,8],fix:[2,4,5,8,9,11],fixabledealst:22,fixedleg:5,fixedlegpaymentschedul:5,fixedratepaymentev:5,fixingroledecid:9,fixingsessioninitiationhandl:9,fixof:16,flag:[15,26],flesh:22,flexibl:[3,8],flight:[1,8],floatingleg:[5,9],floatinglegpaymentschedul:5,floatingratepaymentev:5,flow:[2,5,23,24],flux:26,fly:17,fold:2,folder:[0,6,7],follow:[0,2,3,7,8,9,10,11,15,17,20,23,24,25],font:2,foo:2,foobrokenexcept:2,foot:21,fooutil:23,forc:[8,15,18,23,25],fordai:[9,16],forev:19,forget:[17,23],form:[3,8,9,20,23,24],format:[0,2],forth:[1,17],forward:[13,16,17,19,20],found:[6,10,15,16,17,19,22,26],four:23,fourpmtimelock:23,fraction:22,frame:[2,17],framework:[8,11,12,13,17,18,22,26],free:[3,8,17],freed:1,freeli:16,frequenc:5,frequent:23,fresh:[16,23,25],freshkei:17,freshli:22,from:[0,1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,25,26],fromcountri:22,front:23,frontend:12,frustrat:8,fulfil:[4,8],full:[2,3,4,6,13,17,23,24],fulli:[2,3,6,8,17,18,22],fullysign:17,fun:[3,9,16,17,23,24,25],fund:8,fundament:[3,8,11,23],fungibl:[4,22,23,24],fungibleasset:[4,11,18],further:[5,8,18,22,24],futur:[1,3,4,6,8,11,13,16],gain:12,garbag:[1,2,15,17],gather:23,gavin:8,gcd:8,gear:19,gener:0,generateiniti:17,generateirsandfixsom:5,generateissu:23,generatemov:23,generateredeem:23,generatespend:[17,23],genuin:2,get:[1,2,3,8],getamount:25,getbefor:23,getbloomfilters:2,getclass:23,getcommand:[23,24],getcontract:23,getdummy_cash_issu:25,getdummy_pubkey_1:25,getdummy_pubkey_2:25,getencumbr:23,getfacevalu:23,getfix:5,getinput:[18,23],getinst:18,getissu:23,getkei:23,getlegalcontractrefer:[23,24],getmaturityd:23,getmega_corp:25,getmega_corp_pubkei:25,getnotarysignatur:[3,17],getoutput:[18,23],getoutst:18,getown:[23,24],getparticip:23,getprotocoltrack:17,getprotocolvers:1,getrequiredcommand:24,getsign:[23,24],getter:23,gettimestamp:23,gettransact:17,getvalu:[23,24],git:[10,18,19],github:[0,6],giusepp:18,give:[3,8,13,17,23],given:[3,8,16,17,23],givenpric:17,global:[2,3,8,18,22],glue:17,gnu:0,goal:[2,8,11,12,19],goe:[1,20],gone:[17,18,23],good:[2,10,17,23,25,26],got:[15,17],gover:23,grade:22,gradl:[6,7,10,14,19,23],gradlew:[10,14,20],grammar:2,granular:8,graph:[1,8,12,15,17],graphit:15,great:18,greater:2,greatest:8,green:10,groom:8,group:[4,8,11],groupclaus:24,groupclauseverifi:24,groupingkei:24,groupstat:[23,24],guarante:[19,22],guava:[2,23],gui:17,guidelin:11,hack:[8,18],had:[3,17,18,22,23],hand:[9,14,17,23],handa:18,handi:17,handler:[7,9,17],happen:[2,3,8,9,11,16,17,19],happi:20,hard:[2,8,17,19],harder:[8,21,23],hardwar:6,hase:5,hash:[3,8,12,15,16,17,22,23],hashcod:23,hasn:10,hassl:17,hat:19,have:[1,2,3,4,5,7,8,9,10,12,13,16,17,18,19,20,21,22,23,24,25,26],haven:23,heap:17,hearn:8,heart:23,heavi:19,heavili:8,hedg:[4,5],heirarchi:2,hell:17,hello:17,help:[2,8,9,17,23],helper:[5,17,22,23],henc:[3,5,8],her:23,here:[2,3,6,8,12,15,16,17,18,22,23,25,26],hidden:13,hierarch:17,hierarchi:17,high:[8,17],higher:[1,2,3,10],highlight:18,histori:3,hit:[8,10],hoc:18,hocon:6,hold:[8,18],holder:[2,8,23],holidai:[5,16,22],home:[10,20],hood:25,hopefulli:26,hospit:17,host:6,hostandport:6,hostil:21,hostnotaryserviceloc:6,hotspot:2,hour:17,how:[1,2,4,8],howev:[3,4,5,6,8,16,17,22,23,24,25],html:[0,2],http:[0,6,10,15,16,17,20,23,24,26],hub:17,human:[3,6,8,16,17],hundr:17,hurt:17,hypothesi:11,idea:[2,8,10,12,17,26],ideal:[17,23],ident:[3,6,8,13,16,17,22,23,24,25],identifi:[5,8,13,15,16,17,22],identityless:8,ifmatch:18,ifnotmatch:18,ignor:[6,17,23,24],illegalargumentexcept:[2,17,23,24,25],illegalstateexcept:[2,23,24],illustr:2,imagin:[2,17,23],immedi:[1,8],immut:[2,5,8,16,23],immutablelist:23,imper:2,implement:[1,2,3,4,5,7,8],impli:17,implic:[3,8,17],implicitli:5,impos:[16,23],imposs:[8,16],improv:[8,18,19,23,24],inadvert:23,includ:[2,3,4,6,8,10,11],incom:18,incompat:25,inconveni:23,incorpor:16,increas:2,increment:1,indent:2,independ:[3,16,24],index:[5,8,9,10,19,23],indexsourc:9,indic:[1,2,5,9,17,18,23],individu:[2,20,23,25],indivis:22,industri:[11,12,15],infer:25,influenc:15,info:17,inform:[2,3,8,17,22,23],infrastructur:[1,8,12,15,17,23],inher:8,inherit:[2,23,24],initi:[3,17,18,26],initialis:[14,17],inner:24,inoutgroup:[23,24],input:[3,4,8,16,17,18,23,24,25],inputcash:25,inputindex:3,insert:[2,3,15,16,17],insid:[1,8,17,20,21,23],instal:[0,6],installdist:20,installtemplatenod:[6,7],instanc:2,instant:[2,9,17,22,23],instanti:[8,9,17,18],instat:25,instead:[2,8,12,13,17,18,20,22,23,26],instig:3,institut:8,instruct:15,instrument:[4,5,9],insuffici:8,insufficientbalanceexcept:23,integ:[1,18,22,23],integr:[2,8,16,17,18],intellig:2,intend:[2,4,8,15,16,17,21,22,25],intent:[16,18,23],intention:2,inter:18,interact:[1,2,8,13,16,17,18,23],interchang:22,interest:1,interest_r:6,interfac:[1,2,4,9,11,12,13],intern:[2,13,17,22,23],internalis:2,interop:[12,23],interpol:22,interpret:[2,8],intersect:23,interv:22,intesa:18,introduc:[2,3,9,16,18,23],introductori:11,intuit:2,invalid:[3,16,17,22,23],invari:23,investig:17,invoc:[1,17],invok:[1,2,8,9,15,17,18],invokeprotocolasync:17,involv:[3,4,8,17,22,23,26],ipsa:16,irrelev:9,irsdemo:[6,20],irsexport:5,irstest:5,irsutil:5,irswebdemo:20,isbefor:23,isempti:23,isinst:17,isn:[1,2,8,17,21,22,23,26],isol:24,issu:[3,4,8,16,17,18,19,22,23,24,25,26],issuanc:[4,22,23,24],issuedbi:25,issuer:[4,8,17,22,23,25],item:23,iter:[17,18,19,23],itself:[1,3,5,6,8,9,13,15,16,17,18,23,25],jar:[0,6,7,8,15,18],java:[1,2,7,8,9,12,15,17,18,22,23,24,25,26],javaclass:17,javacommercialpap:23,javadoc:[2,7],javatesthelp:25,jdbc:6,jdbcdatasourc:6,jdbcx:6,jdk1:10,jdk:[10,18,22,23],jdwp:7,jetbrain:[10,12],jmx2graphit:15,jmx:15,jmxtran:15,job:[17,26],johann:18,join:[13,23],jolokia:15,json:[6,15,26],judgement:2,jump:20,just:[1,2,8,10,13,15,17,18,21,22,23,25,26],justifi:11,jvm:[1,7,8,12,15,17,21,26],kdoc:2,keep:[8,17,23],kei:[2,4,6,8,12,16,17,22,23,25],kept:17,keymanagementservic:17,keypair:[17,23],keystor:6,keystorepassword:6,keyword:[2,25],kick:17,kind:[8,16,17,21,22,23,26],know:[1,3,8,9,12,16,17,20,21,23,24,25],knowledg:16,known:[5,8,17,19],korea:23,kotlin:[0,2,10,11],kryo:17,label:[17,25],lack:8,lambda:25,land:5,lang:25,languag:[1,2,7,8,10,11,12,17,18,22,23,26],larg:[8,13,16,17,18,22,23,26],larger:[2,8,21],last:[17,19,25],lateinit:17,latenc:3,later:[1,2,12,16,17,18,21,22,23,24],latest:[2,10,18],latex:18,latter:[2,23],launch:9,layer:[6,8,13,16,17],layout:14,lead:[2,8],leak:[1,3,8,17],learn:[8,11,17,20,22,23,26],least:23,leav:[2,17],ledger:[3,4,5,8,11,15,16,17,18,22,23,25],ledgertransact:[17,18,22],leewai:21,left:[14,17,20,24,25],leg:[5,9],legal:[3,6,8,16,22,23],legalcontractrefer:[23,24],legallyidentifi:[3,16,17],less:17,let:[2,8,9,13,15,16,17,18,20,22,23,25],letter:[2,13],level:[2,3,5,10,13,17,21,22,23,24,25],lib:[0,7],liber:2,libor:[5,15,16],librari:[1,2,6,15,16,17,22,23],licens:2,life:[17,23,26],lifecycl:4,lifecyl:4,lifetim:5,lightweight:17,like:[1,2,3,5,8,9,10,13,15,16,17,19,22,23,24,26],likewis:23,limit:[4,8,11,23],line:0,linear:22,linearst:22,liner:2,link:[2,8,16,17,22],linkabl:8,linkag:8,linux:[15,18],list:[0,3,6,8,16,17,18,19,20,23,24],listen:2,listenablefutur:[3,17],listof:[17,23],liter:8,littl:[2,17,23,25],live:[5,17],livelock:8,load:[3,6,8,17,18,20,22,23,26],loan:[4,5,16],local:[0,6,8,10,15,17,25],locald:16,localhost:[6,15,20],lock:[2,4,23],log4j:18,log:[1,17,18,20,24],logger:17,logic:[3,8,9,13,17,18,21,22,23,24,26],london:6,longer:[2,5,6,17,18],look:[2,5,13,15,16,17,19,22,23,24,25,26],lookup:6,loop:[2,5,23],loquitur:16,loss:16,lot:[2,5,8,18,20,21,23,26],low:[3,17],lower:2,lowest:13,lurch:17,mac:15,machin:[6,8,9,11],made:[2,5,8,11,17,18,19,22],mai:[1,2,3,7,8,11,13,14,15,16,17,18,19,21,22,23,24,25,26],mail:[19,20],main:[6,9,13,17,20,26],mainstream:12,maintain:[3,8,23],maintan:16,mainten:13,major:[17,19],make:[0,1,2,3,5,8,11,16,17,18,19,20,21],maker:12,maketransact:17,malici:[17,21],manag:[6,8,13,15,17,23],mandatori:23,mani:[2,3,7,8,9,16,17,18,22,23],manipul:22,manner:[8,17,23],manual:[3,7,9,14,17],map:[2,3,5,6,11],mappabl:23,mark:[1,2,4,17,23],markdown:2,marker:[17,21],market:11,marshal:1,master:[11,19],match:[1,8,17,21,24],math:11,mathemat:22,matter:23,matur:[3,4,5,15,16,23],maturityd:23,maven:[10,23],maximis:8,maximum:8,maybestx:17,maybetraderequest:17,mbean:15,mean:[2,3,8,9,16,17,22],meaning:[3,4],meant:17,measur:5,mechan:18,meet:23,mega_corp:[17,25],mega_corp_kei:17,mega_corp_pubkei:25,megacorp:17,member:[5,18],memori:[3,13,17],menlo:2,mention:[9,17,23],menu:10,mere:5,merg:[8,18,22,23],mergeabl:23,mess:17,messag:[1,2,6,7,8,11,12],messagingservic:13,method:[1,2,3,9,15,17,18,21,22,23],metric:15,micro:24,mid:3,middl:[2,17],might:[2,5,8,10,16,17,21,23],mike:8,mileston:11,mind:[2,16,17],mine:8,miner:8,mini_corp_pubkei:17,minim:[8,17],minimis:[3,4,8,13],minimum:[1,5,8],minor:[18,19],minu:23,minut:[12,16,17],mismatch:[8,23,25],miss:[2,6,17,23,25,26],missingsig:17,mission:15,mistak:21,mix:[2,17],mock:17,mocknetwork:17,mocknod:17,mockservic:22,mode:14,model:2,modest:8,modif:[22,23],modifi:[3,4,5,10,17,22,23,24],modul:[2,6,17,18,23],moment:[17,18],monei:[16,23],monitor:[2,11],month:[5,17,19],more:[1,2,3,4,5,6,7,8,12,15,16,17,18,20,22,23],moreexecutor:2,mortensen:18,most:[2,5,8,15,17,23],mostli:23,move:[4,8,17,18,19,23,24,25],movement:[17,23],much:[2,8,12,17,18,21,23,26],multi:[2,11,13,17],multilater:[4,18],multipl:1,multipli:5,must:[1,2,3,4,6,7,8,9,15,16,17,20,21,22,23,24,26],mustafa:18,mutabl:[2,8,22,23],mutat:8,mutual:[3,4,17,21],myfil:15,mykei:22,mykeypair:17,mylegalnam:6,mysql:12,nail:2,namedbyhash:11,nameserv:6,namespac:17,narrow:2,nativ:17,natixi:18,natur:23,naval:3,navig:[7,20],navistar:3,nearestc:6,neat:25,necessari:[2,3,19,20],necessarili:22,nee:18,need:[0,2,3,5,8,9,11,15,17,19,20,21,22,23,24,25,26],neg:22,negoti:[8,22],neither:17,nest:17,net:[4,5,17,18,23],network:[3,6,8,9,11,12],networkmapaddress:6,networkmapcach:6,networkmapservic:6,neutral:12,never:[2,3,8,23],newli:9,newnotari:3,newown:23,newsecurerandom:18,next:[2,5,9,10,14,17,18,21,23],nextfixingof:9,nextscheduledact:9,nice:[16,23],nio:2,noddi:15,node:[1,4,6],node_dir:7,nodea:[6,7,20],nodeb:20,nodeinfo:[6,17],nodeinterestr:16,nodej:20,nodeservic:16,non:[0,1,2,3,4,6,8,11,13,17,18,20,22],none:[9,17,24],nonemptyset:18,nordea:18,normal:[1,3,4,5,14,17,22,23,24],north:23,notabl:2,notaris:[3,8,17,18,22,23],notarychang:18,notarychangeprotocol:3,notaryexcept:3,notarynod:17,notaryprotocol:[3,17],notaryservic:18,notarysig:17,notarysignatur:17,notarytous:22,notat:17,note:[0,2,4,5,6,7,8,11,17],noth:[2,8,9,17,18,21,23],notic:2,notif:13,notifi:[3,13,14],notion:[5,8,23],notnul:[23,24],now:[2,7,8,10,17,18,20,22,23,25,26],npm:20,nugget:23,nullabl:23,nullpublickei:23,number:[2,4,5,8,16,17,19,20,22,23],numer:8,obj:23,object:[1,2,4,5,8,9,12,13,15,16,17,18,22,23,24,26],obligor:4,observatori:3,obsolet:[9,18],obtain:2,obviou:[2,3,8,16],obvious:5,occur:[3,9,17,23],occurr:3,odd:23,off:17,offer:17,offlin:13,offset:5,often:[2,4,5,8,16,17,23],oftenor:16,oil:[18,25],old:[3,17,18,23],omit:9,onc:[0,1,2,3,5,7,9,14,17,19,22,23,26],onchainasset:4,ongo:1,onledgerasset:23,onli:[1,2,3,5,6,7,8,9,12,13,14,15,16,17,18,19,21,22,23,24,26],onto:[1,2,17,23],open:[3,8,10,17,20],openjdk:10,oper:[5,6,9,15,16,17,21,22,23],opt:7,optim:2,option:[0,2,5,6,9,14,17,23,24,26],oracl:[5,8,10,11,12,13,15],orchestr:[11,12,18,26],ordain:5,order:[0,1,2,3,4,5,8,12,14,16,17,22,23,24],ordinari:[8,17,23],org:[0,6,10,20,23,24],orient:11,origin:[22,23],originalst:3,other:[2,3,4,5,6,7,8,9,12,14,16,17,20,21,22,23,25],othersid:17,otherwis:[1,2,6,7,9,17,21,23],our:[2,3,8,9,17,18,19,23,25],ourselv:[17,23,26],oursignatur:17,out:[2,3,4,8,9,10,13,15,16,17,19,21,22,23,24],outcom:17,outer:24,outermost:24,outlin:[8,11,17],outpoint:8,output:[3,4,7,8,16,17,18,23,24,25],outref:17,outsid:[7,8,16,17,26],outstand:4,over:[2,3,5,6,8,13,15,16,17,22,23],overal:[3,9,25],overdu:9,overflow:2,overidden:[6,7],overload:[17,22],overnight:22,overrid:[9,17,23,24],overwhelm:8,own:[2,3,4,7,9,15,16,17,18,19,22,23,25,26],ownablest:[17,22,23],owner:[9,17,22,23,24,25],ownership:[17,23],owningkei:[17,23],ozturk:18,p2p:18,pack:23,packag:[18,22],packet:8,page:[10,16,19,20],pai:[4,11],paid:[4,5,8,23],pair:[8,17,22,23],parallel:[1,8,16],parallelis:8,paramet:[1,2,9,17,20,22,23,24],parameteris:8,parent:17,pars:[6,16,22,23,26],part:[1,2,3,4,8,9,17,18,21,22,26],parti:[2,3,4,5,8,9,11,13,16],partial:[3,8,17,21,23,25],partialtx:17,particip:[3,8,18,23,26],particular:[2,3,8,11,15,17,18,22],partyandrefer:[2,23],partynod:17,partyrefer:[2,23],pascal:2,pass:[3,17,23,24],password:6,past:[2,20,23,26],patch:[2,18],path:[2,6,7,9,13,15,18,23],pattern:[2,8],paus:[7,14],paye:8,payer:[5,8],payment:[4,5,8,9,16,17,20,23],pdf:16,peer:[12,16,17,23],penni:[22,23],peopl:[2,8,12,17,23],per:[2,8,9,11],perform:[2,3,5,8,9,16,17,20,23,24],perhap:[2,8,13,23],period:5,perman:23,permiss:12,persist:[6,7,12,13,17,18],perspect:[8,17,23],phrase:16,physic:[3,18],pick:[13,17,18,19,23,26],piec:[2,3,8,17,22,23,25],pip:0,pki:[8,18],place:[0,2,5,8,9,12,13,16,17,18,19,22,23,26],plai:[8,11],plain:6,plan:[8,16,17,20],platform:[3,5,7,8,9,11,12,16,17,21,22,23],pleas:[2,8,10,18,20],plu:[6,22],pluggabl:18,plugin:6,point:[1,2,3,4,7,8,15,16,17,19,21,23],pointer:[3,17,22],pointless:2,pool:[2,8],poor:8,pop:10,popular:12,popup:10,port:[6,7,18,19,20],portfolio:18,posess:17,posit:[2,3,8,17,23],possess:3,possibl:[8,16,17,23],postgr:12,potenti:[2,3,12,17,23],pound:[22,23],power:[6,8,11],practic:[6,8,23],pre:[0,5,17,23,25,26],preced:23,precis:[3,8,12],precondit:[2,23],prefer:2,prefix:[2,17],prepar:[8,18,23],present:[3,4,5,6,11,12,17,22,23,24],preserv:[3,8],pretend:[15,22],pretti:[8,17],prevent:[21,23],previou:[8,17,18,22,25],previous:[5,9,16,18],price:[8,16,17],primari:16,primarili:4,primit:25,print:[1,20,21],priv:17,privaci:[2,3,8,12,17,18,23],privat:[2,6,8,17,23,26],privatefoo:2,probabl:[10,23,26],problem:[3,8,16,17],proce:17,procedur:[17,23],process:[1,3,5,7,8,9,11,12,15,17],processor:8,produc:[0,9,23,25],product:[2,9,11,12,19,22],profound:8,program:[1,2,8,15,18,20,22,23,26],progress:[3,5,11,14],progresstrack:17,project:[10,18,20,23],prolif:18,promis:18,proof:[4,8,11],propag:[1,11,15,17,23,24],properli:[17,21],properti:1,propos:[11,17,21],prose:[16,22,23],protect:17,protocollog:[9,17],protocollogicreffactori:9,protocoltrack:17,protocolvers:1,prototyp:[2,11,12,16,18,23],prove:[3,8,11,23],provid:[0,1,2,3,4,5,7,8,13,14,15,16,17,18,21,22,23,26],provision:22,proxi:1,pseudo:16,pseudonom:22,ptx:[3,17],pubkei:25,publicfoo:2,publickei:[11,17],pull:10,punish:16,purchas:[17,20],pure:[4,8,16],purpos:[3,4,17,22,23],push:[1,19],put:[2,11,17,19],python:0,qualifi:6,qualiti:11,quantiti:[8,22,23],quasar:17,queri:[1,5,6,9,16],question:[2,3,9,10,16],queu:13,queue:[1,2,13,17],quick:16,quickli:[8,21,23],quit:[1,2,3,17,23],r3corda:[7,18,20,23,25],r3dlg:19,r3prototyp:[0,10,20],r3repositori:10,rais:[3,24],random63bitvalu:17,random:[8,9,18,22],rang:3,rapid:[2,12,19],rare:[6,22],rate:2,rather:[2,8,13,17,18,23],raw:[13,15,17],reach:[3,5,8,9,16],reachabl:17,read:[2,6,8,11,12,15,17,18,23,26],readabl:[6,12,17],readi:[3,17,19,23],readili:[22,24],readm:2,real:[2,16,18,22,23,26],realis:17,realist:22,realiti:5,realli:[2,3,8,17,23],reason:[2,3,5,8,17,21,22,23],reassign:23,recal:5,receiv:[1,4,5,8,16,17,19,21,23],receiveandcheckproposedtransact:17,receiveandvalidatetraderequest:17,recent:18,recipi:[4,8,23],recognis:[8,17,23],recommend:[2,13,26],record:[3,9,17],recordtransact:17,recreat:17,red:[5,10],redeem:[4,23,24],redempt:23,redesign:18,reduc:[2,23],redund:2,ref:[17,22,25],refactor:18,refer:[2,3,4,5,6,8,9,16,17,18,22,23,25],referenc:3,reflect:[11,17,18,23,24],refresh:18,refus:10,regard:3,regardless:17,regener:[5,19],regist:[2,7,13,14,15,17,26],regul:23,regular:[15,17,22,23],reissu:23,reissuanc:8,reject:23,rel:[6,7,8,24],relabelablestep:17,relat:[5,9,22,23],relationship:23,releas:[1,11],relev:[8,9,18,22,23,24],reli:[1,8,21],relianc:8,relic:15,religi:2,remain:[9,17,23],remeb:10,rememb:[2,9,10,21],remind:[17,21],remot:[6,7,10],remov:[17,18,19,23],renam:[17,18],render:[2,14,17],repeat:[2,5,17],replac:[3,5,10,15,18,19,22,23],replic:8,repoint:3,report:[17,24],repositori:[2,10],repres:[2,4,5,8,16,17,22,23],represent:5,request:[1,3,8,13,16,17,18,21],requestingparti:3,requiredcommand:[18,24],requiresinglecommand:[23,24],requirethat:[23,24],research:18,resel:16,reserv:17,reset:[5,14],reshap:8,resolut:[3,8,11,17],resolv:[2,17,22,23],resolvefromtwohash:17,resolvetransactionsprotocol:17,resolvetransactionsprotocoltest:17,resourc:[1,6,8,17,20],respect:[2,8,17,20],respend:8,respons:[1,3,8,9,13,17],rest:[3,8,12,15,17,18,26],restart:[10,17],restor:17,restrict:2,restructur:24,restructuredtext:0,result:[2,3,5,6,8,16,17,18,21,23,24],resum:[17,18],resurrect:17,retain:13,rethrown:1,retri:[12,13,17],retriev:[3,5,17],retrieveoutput:25,reus:[1,8,25],reusabl:[16,18],reveal:[3,8,17],revers:17,revert:4,review:[2,18,19],revis:5,rewrit:17,richer:7,right:[2,10,15,17,18,19,21,26],rigid:8,rigidli:2,risk:17,robert:18,robust:18,role:[8,9,20,26],roll:[5,17,20],rollov:[22,23],root:[6,19,20],rotat:18,roughli:[3,19],rout:[13,17],row:[22,23],rpcexcept:1,rpcreturnsobserv:1,rpcsincevers:1,rui:18,ruin:25,rule:[2,16,17,18,23],run:[0,1,2],runnetwork:17,runtim:[2,17],safe:[1,2,8,17,21],sai:[2,3,8,23],sale:[20,23],same:[1,2,3,4,5,6,8,9,16,17,20,22,23,24,25],sampl:[7,17],sanction:23,sandbox:[8,9,12,18,21],saniti:17,santiago:18,satisfi:23,save:[2,17,18,23],scala:[12,23],scalabl:[2,8],scale:[5,21],scenario:[8,26],scene:[17,23],schedul:5,schedulablest:9,scheduledact:9,scope:[8,24],scotiabank:18,scrape:15,scratch:[22,26],screen:[2,10,23],script:[0,8],scroll:20,scrub:17,seamless:12,search:[10,23],second:[5,17,20,22,23],secondari:17,secp256r1:18,secret:6,section:[6,8,18,19],secur:[6,8,9,11,13,17,18],securehash:[3,22,23,24],securerandom:18,see:[0,2,3,4,5,6,7,9,16,17,20,22,23,24,26],seed:17,seek:[8,18],seem:8,seen:[2,5,16,17,23],select:[3,10,18,23,24],self:[7,18],sell:[17,23,26],seller:11,sellerownerkei:17,sellersig:17,sellertradeinfo:17,semi:8,send:[2,3,8,13,15,16,17,18,19,23,25],sendandrec:17,sender:[8,17],sendsignatur:17,sens:[5,16,23],sensit:[9,21],sent:[9,17,22,23],separ:[3,7,8,13,15,16,17,20,22,23],sequenc:8,sequenti:17,seri:17,serial:[1,12,23],serialis:[1,2,8,12,17,23],seriou:[8,19],serious:26,serv:7,server:[1,6,7,12,13,15,18,23,26],servicehub:[3,7,13,17],servicehubintern:[3,7],servicetyp:6,session:[9,13,17],sessionid:[9,17],set:[3,5,6,7,8,9],setof:[17,24],setter:23,settim:[17,22],settl:[4,17,22],settlement:[4,17],setup:[7,9,14,17],setupa:20,setupb:20,sever:[6,7,8,17,23,25,26],sha256:[22,23,24],sha256sum:15,sha:[8,15],shape:8,share:[4,5,8,16,17,18,21,23,26],shasum:15,she:23,shoot:21,shortcut:12,shorthand:25,should:[2,3,4,7,8,9,10,12,17,18,20,21,22,23,24,25,26],shoulder:2,shouldn:[17,23],show:[8,10,12,14,20],shown:[6,14,17,22],shutdown:17,side:[1,8,9,14,16,17,21,22],sidebar:14,sig:23,sign:[3,5,8,12,13,16,17,18,21,22,23,24,25],signatureexcept:17,signaturesfromsel:17,signedtransact:[3,17,22,23],signer:[16,23,24],signific:[8,18],significantli:[5,22],signoff:3,signwith:[17,22,23],signwithecdsa:17,signwithourkei:17,silver:2,similar:[2,8,17,18,23,24],simm:18,simpl:[1,2,4,5,6,8,12,15,17,22,23,24],simplecash:25,simplecashdoesntcompil:25,simplecashfailswith:25,simplecashsuccess:25,simplecashtweaksuccess:25,simplecashtweaksuccesstopleveltransact:25,simplenotaryservic:3,simpler:[8,12],simplest:[8,17,23,26],simpli:[2,8,13,17,22,23,25],simplif:18,simplifi:[2,4,8,22,23,26],simul:[6,11],simultan:[8,17,22,23],sinc:23,singl:[1,2,4,8,11,15,16,17,18,22,23,24],singlemessagerecipi:[13,17],singleton:[17,23,24],site:[2,18,19],situat:[2,8],size:[2,5,8,17,23,24],skeleton:17,skip:[17,22,23],slf4j:17,slightli:23,slip:19,slow:[2,8],slowest:8,small:[1,8,9,16,17,20,21,23],smaller:[18,24],smallest:22,smart:[11,12,16,17,18],smooth:23,snake:25,snapshot:[8,18,19],snide:0,snippet:[3,17],softwar:[8,17,19,21,26],sofu:18,sold:[17,22],solut:17,solv:[8,16,17],solvenc:16,some:[2,3,4,8,9,12,15,16,17,18,20,22,23,24,25,26],somed:23,someon:[3,8,23],someth:[1,2,5,8,10,17,18,20,23,24,26],sometim:[8,15,17,22],somewhat:[1,8,17,18],somewher:23,soon:[18,23],sophist:8,sort:[16,17],sound:[2,17,23],sourc:[5,6,9,10,16,17,18,23],sparingli:2,special:[1,3,8,17,25],specif:[1,3,4,7,8,9,13,15,17,18,22,23,24],specifi:[0,1,2,3,4,6,7,8,12,17,18,23,24,25,26],speed:[8,17],spend:[8,12,17,21,23],spent:[8,23,25],sphinx:0,sphinx_rtd_them:0,spirit:18,spline:22,split:[8,13,18,22,23,24],splittabl:23,spot:18,spread:[3,17],spreadsheet:16,sql:[12,18],src:[6,20,26],ssl:18,sslkeystor:6,stabilis:19,stabl:19,stack:17,stage:[2,4,17,23,26],stai:[8,23],stake:8,standalon:[16,18],standard:[2,7,11,15,17,22,23,24],standardis:[8,22],start:[1,2,5],startprotocol:[3,17],state:[3,4,5,8,9,11,12,16],stateandref:[3,17,22,23],statehistori:3,stateless:8,statemachinemanag:17,statement:[2,8,16,17,23],stateref:[3,8,9,22],statesoftyp:[17,23],statist:15,status:8,stem:23,step:[3,9,11,13,14,17],still:[3,8,9,16,17,18,23,26],stock:[8,16],stop:[2,17],stopnod:17,storag:[6,8,17,22],store:[3,6,7,17,18,23],stori:[2,18],straightforward:[17,23],stream:[1,13,17],stress:2,strictli:[5,8],string:[6,16,17,22,23],strip:23,strong:12,structur:[2,8,10,12,16,17,22,23],studi:23,stuff:2,stx1:17,stx2:17,stx:[17,22],sub:[1,2,17],subclass:[4,17,22,23],subclaus:24,subgroup:8,subject:6,submiss:16,submit:[2,3,13,17,20],subprotocol:[3,11],subscrib:[1,13],subsequ:[23,25],subset:4,substitut:6,subsystem:13,subtask:17,subtl:[2,8],subtract:22,subvert:21,successor:[3,9,12],succinct:2,sudo:[0,20],suffer:8,suffic:17,suffici:[8,11,16,19,22],suggest:[7,13,23],suggestinterestrateannouncementtimewindow:9,suit:18,suitabl:[9,13,19],sukrit:18,sum:[23,25],sumcashbi:[17,23],summari:[11,18,19,22],summaris:8,sun:2,superclass:[4,18,22],superior:2,supersed:8,supertyp:23,suppli:[4,20],support:[1,2,3,4,5,6,7,8,11,12,13,16,17,18],suppos:[17,23],suppress:[2,18],suppresswarn:2,sure:[3,18,19,20,21,23,26],surfac:17,surround:2,surviv:17,suspend:[7,11],swapping_signatur:17,swapsignatureswithsel:17,symbol:10,sync:23,synchronis:[2,3,8],syntax:[12,23],system:[1,3,7,8,12,15,17,18,20,23],tab:[2,10],tackl:[18,24],tag:[1,2,19],tailor:11,take:[2,5,9,12,17,19,21,22,23,24,25],taken:23,talk:17,tamper:17,target:[0,2,6,8,12,15,17],task:[6,7,8,9,17],team:10,teardown:17,techniqu:[2,8,12,16],tediou:23,tell:[0,17],templat:[6,7],temporari:7,temporarili:[17,19],tempt:[21,23],ten:23,tenor:[5,15,16,22],term:[4,6,8,9,13,22,24],termin:[5,15,17,20],terminolog:8,test:[0,4,6,7,10,11,13,16],testnet:18,testtimelock:23,text:[2,10,15,18,25],than:[1,2,3,7,8,11,13,15,17,18,23],thank:18,thedao:18,thei:[2,3,4,5,7,8,9,14,15,16,17,18,19,20,21,22,23,24],theirsessionid:17,them:[1,2,3,5,8,9,10,12,13,15,17,18,19,20,22,23,24,25,26],theme:21,themselv:[13,14,16,17,21,22,23],theori:[11,16],therefor:[1,7,8,10,12,17,19,21,23],thi:[0,1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,18,19,20,21,22,23,24,25,26],thin:13,thing:[2,8,9,11,12,16,17,18,20,21,22],think:[2,8,10,13,17,21,23],third:[8,20],thisstateref:9,thorough:17,those:[3,8,9,15,17,20,21,23],though:[15,17,23],thought:[8,12],thousand:25,threadsaf:2,three:[17,20,22,23],through:[1,5,8,9,13,14,15,17,18,23,24,25,26],throughput:[3,8],throwifsignaturesaremiss:17,thrown:[1,17,21,23],thu:[2,3,6,8,9,15,16,22,23],ticket:17,tidi:17,tighten:23,tightli:17,time:[2,3,4,5,8,9,11,14,15,16,17,18,20,22],timelin:23,timem:23,timeout:1,timestamp:2,timestampauthoritysig:17,titl:10,todo:[2,17,23],togeth:[4,8,18,23,24],token:[17,22,24],told:2,toledgertransact:22,toler:[3,9],too:[2,17,23],took:17,tool:[12,13,15,17],toolbar:10,top:[2,8,10,13,17,20,24],topic:[13,17,23,26],topicsess:[13,18],toplevel:25,topriv:17,tosignedtransact:[3,17,22,23],tostr:[2,17,23],tostringsshort:17,total:8,toward:[18,19],towiretransact:22,trace:[17,24],track:[8,9,11,13],tracker:17,trade1:20,trade:[3,5,11,12,16],tradeoff:2,trader:[11,18],traderdemo:26,traderequest:17,tradit:8,traffic:[6,8,14],transact:[3,4,8,9,11,15,16,17,18,21],transactionbuild:[3,17,18,22,23],transactionforcontract:[23,24],transactionforverif:23,transactionst:[3,18,22],transactiontyp:[17,18],transactionverificationexcept:25,transfer:[21,23,25],transit:[11,21,23,26],transmit:[11,18],transport:7,travel:23,treat:[21,23],tree:17,tri:[8,23],tricki:[8,17],trigger:[3,4,9,16,17,20,24],trim:24,trivial:[2,8],trust:[4,6,8,21],trustpass:6,truststor:6,truststorepassword:6,truth:17,tupl:2,ture:8,turn:[8,17,22,23,24,25,26],tutori:[4,11,12,16,17,18,23,24,25,26],tweak:25,twice:25,two:[2,3,4,5,8,9,11],twopartydealprotocol:9,twopartytradeprotocol:17,txb:22,txbit:17,txhash:[8,17,23],txt:15,type:[2,3,4,5,8,9,11],typenam:17,typeonlycommanddata:23,typesaf:6,typetobui:17,typic:[8,9,13,15,17,21,22,23,26],ugli:17,unaccept:17,unacceptablepriceexcept:17,unavoid:17,under:[0,7,19,22,23,24,25,26],underli:[4,5,8,17,22],underscor:2,understand:[8,14,15,23,24,26],unencrypt:6,unexpect:[17,21],unfinish:17,unfortun:[17,21,23],unicredit:18,unifi:[18,26],uniform:9,unindex:10,uniqu:[3,8,16,17,18,22],uniqueidentifi:11,unit:[3,8,10,11,13,16],univers:18,unix:[15,20],unknow:3,unknown:22,unless:[2,16,17,19,23,26],unlik:[4,10,23],unlock:6,unnatur:8,unpack:[7,17,23],unprocess:24,unqiu:9,unread:17,unrecognis:23,unrel:23,unreleas:11,unschedul:9,unserialis:17,unset:5,unspent:8,unstart:17,unsubscrib:1,unsubscript:1,unsupportedoperationexcept:[1,23],until:[1,3,5,8,9,17,19,25,26],untrust:17,untrustworthydata:[17,18,21],unverifiedtransact:25,unwrap:[17,18],upcom:[9,18],updat:[1,8,10,13,17,18,19,23],upgrad:[10,11,17,18,23],uphold:23,upload:11,upon:[5,7,17,23],upward:19,url:[6,10,20],usabl:[18,19,23],usag:[2,16,17,23],usehttp:6,useless:23,user:[0,2,6,8,10,12,16,17,18],usr:0,usual:[2,8,19,23],utc:9,util:[3,18,22,23],uuid:22,vagu:2,val:[2,3,9,16,17,22,23,24,25],validatedtransact:17,validatingnotaryservic:3,validfrom:23,valu:[2,3,4,5,6,8,16,17,18,23,24,25],valuabl:16,valuat:5,vanilla:[4,5],vari:11,variabl:[2,5,7,8,17,23],variant:23,variou:[2,8,15,17,21,23],vault:18,vega:18,vehicl:8,vendor:[12,15],verbos:23,veri:[2,4,8,12,16,17,21,23,25,26],verif:[4,8,12,24,25],verifi:[3,6,8,11,16,17,18,22],verifyclaus:24,verifypropos:18,verifysignatur:17,versa:[4,5,8,17,22],versu:17,vertic:2,vet:21,via:[0,2,5,8,9,13,14,15,16,17,20,21,26],vice:[4,5,8,17,22],view:[2,5,20],virtual:[8,11,21],visibl:[3,8],vision:11,visualis:13,vital:17,wai:[1,2,3,7,8,9,13,15,16,17,18,23,25,26],wait:[9,10,17,20],wake:18,wallet:[8,9,17,18,23],walletservic:17,want:[1,2,8,10,15,16,17,18,21,22,23,25,26],warn:1,watch:21,weak:[16,22],wear:19,web:[6,7,11,12,15,16,18],webaddress:6,webapp:18,websocket:17,weekend:5,well:[0,2,3,5,8,9,12,15,17,23,24],went:2,were:[2,8,16,17,23],what:[2,3,4,5,8,9,10,11],whatev:[2,17,22],when:[1,2,3,4,5,6,8,9,13,14,15,16,17,18,21,22,23,25],whenev:2,where:[1,2,3,7,8,11,15,16,17,18,19,22],wherea:5,wherev:15,whether:[1,3,4,16,17,22,24],which:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26],whilst:[8,16,17,18,20,21,23],white:18,whitelist:[4,7,9,17],whitepap:11,who:[2,8,12,17,18,22,23],whole:[3,25],whom:[4,8],whose:[4,15,22],why:[2,8,12],wide:2,widescreen:2,widespread:2,width:2,wiki:[8,23,24],wikipedia:[23,24],window:[3,8,10,14,17,20],wiretransact:[3,16,17,22],wish:[8,16,17,18,22,23,26],within:[0,2,3,6,8,15,20,23,25],withitem:[22,23],withkei:17,withnewown:[17,23],without:[2,3],withoutissu:[17,23],withoutown:[23,24],withown:23,won:[13,16,17,23,25],word:[2,3],work:[1,2,3,5,6,7,8,9,10,11,12,15,16,17,18,20,22,23],worker:2,workspac:[6,7],world:[6,8,14,16,17,23,25],worn:23,worri:[2,12,17,23],worst:8,worth:[2,21,23],worthless:16,would:[1,2,3,4,5,8,12,15,16,17,21,22,23,24,26],wouldn:16,wrap:[2,13,15,17,18,21,22,23,24,26],wrapper:[2,3,17],write:[2,3,11,12,13,15],written:[0,1,5,8,12,18,23],wrong:[1,2,17,20,25],wrote:8,wtx:[3,16,17],www:[0,10],year:[5,17],yet:[2,3,5,8,12,17,18,22],yield:8,you:[0,1,2,3,7,8,9,10,12,13,15,16,17,18,20,21,22,23,24,25,26],your:[1,2],your_usernam:10,yourself:[8,9,21,22],zero:[8,23],zip:[8,15],zone:9,zoneddatetim:9},titles:["Building the documentation","Client RPC","Code style guide","Consensus model","Contract catalogue","Interest Rate Swaps","The Corda Configuration File","Creating a Cordapp","Data model","Event scheduling","Getting set up","Welcome to the Corda repository!","What’s included?","Networking and messaging","Network Simulator","Node administration","Writing oracle services","Protocol state machines","Release notes","Release process","Running the demos","Secure coding guidelines","Data types","Writing a contract","Writing a contract using clauses","Writing a contract test","Where to start"],titleterms:{"class":[23,24],"function":[17,23],about:10,administr:15,adopt:8,amount:22,api:23,app:7,approach:16,assert:[2,16],asset:23,attach:15,basic:16,bitcoin:8,build:0,buyer:17,cash:[4,22],catalogu:4,chain:25,chang:3,check:23,claus:[23,24],client:1,code:[2,21,23],command:23,comment:2,commerci:[4,23,24],commod:4,comparison:8,compil:2,complain:10,con:8,configur:6,consensu:3,construct:23,continu:16,contract:[4,21,23,24,25],corda:[6,11],cordapp:7,creat:[5,7],cryptographi:22,cut:19,data:[8,16,22],date:22,debug:[7,24],demo:[20,26],detail:5,document:0,download:15,encumbr:23,error:[1,2],ethereum:8,event:9,exampl:[6,9],featur:17,field:6,file:6,fix:15,format:6,fungibleasset:22,futur:17,gener:[2,23],get:10,group:[23,24],guid:2,guidelin:21,handl:1,happen:23,how:[9,23],implement:[9,17],includ:12,instal:7,instanc:5,intellij:10,interest:[4,5,15],interfac:14,introduct:[9,16,17],kotlin:12,lack:10,length:2,lifecycl:[5,22],line:2,locat:6,machin:17,make:23,map:13,math:22,messag:13,mileston:18,model:[3,8],monitor:15,multi:23,multipl:3,name:2,namedbyhash:22,network:[13,14],node:[7,15],non:23,notari:3,note:18,oblig:4,observ:1,obtain:3,oracl:16,orient:23,overview:8,pai:16,paper:[4,23,24],parti:[17,22,23],particular:23,per:16,plai:16,plugin:7,pro:8,process:19,progress:17,properti:2,protocol:[1,17,21],publickei:22,put:23,rate:[4,5,15],rational:8,releas:[18,19],repositori:11,requir:[0,23],rpc:1,run:[3,20],safeti:1,schedul:9,sdk:10,secur:21,seller:17,servic:[3,7,13,16],set:10,signatur:3,simul:14,singl:25,smart:23,space:2,start:[7,17,23,26],state:[17,22,23],step:19,style:[2,8],subprotocol:17,summari:24,support:22,suspend:17,swap:[4,5],technic:5,test:[17,23,25],theori:17,thing:23,thread:[1,2],time:23,timestamp:3,track:17,trade:17,tradeoff:8,trader:[20,26],transact:[22,23,25],transmit:23,two:[16,17],type:[13,22],uniqueidentifi:22,unit:17,unreleas:18,upload:15,utxo:8,valid:3,vari:16,verifi:23,version:[1,17],warn:2,web:20,welcom:11,what:12,where:[23,26],wire:1,without:10,write:[16,23,24,25],your:[7,15,17,23]}}) \ No newline at end of file +Search.setIndex({envversion:47,filenames:["building-the-docs","clientrpc","codestyle","consensus","contract-catalogue","contract-irs","corda-configuration-files","creating-a-cordapp","data-model","event-scheduling","getting-set-up","index","inthebox","messaging","network-simulator","node-administration","oracles","persistence","protocol-state-machines","release-notes","release-process","running-the-demos","secure-coding-guidelines","transaction-data-types","tutorial-attachments","tutorial-clientrpc-api","tutorial-contract","tutorial-contract-clauses","tutorial-test-dsl","where-to-start"],objects:{},objnames:{},objtypes:{},terms:{"00z":26,"0_xx":10,"1000l":24,"17t16":26,"1mb":18,"300px":23,"8u45":10,"_before_":18,"_do_":18,"_foo":2,"abstract":[8,17,18,19,26,27],"boolean":[8,19,26],"break":[16,18,20],"byte":[2,8,18,28],"case":[2,3,6,7,8,16,17,18,19,23,24,26,27],"catch":[2,10,18,22],"class":[1,2,3,5,7,9,11,16,17,18,19,22,23,24,25],"default":[2,4,6,7,10,14,15,18,19,21,22,23,26],"enum":[19,25],"export":[15,17,18,29],"final":[3,5,8,10,18,19,26,28],"float":[4,5,9],"function":[2,4,5,8,11,16],"import":[2,8,9,10,17,18,19,20,23,26,27,28,29],"instanceof":26,"int":[2,3,17,26],"long":[2,4,8,9,17,26],"new":[2,3,5,8,10,11,12,13,15,18,19,20,23,24,25,26,27,28,29],"null":[6,9,17,24,26],"public":[2,6,8,12,13,15,18,19,23,26,27,28],"return":[1,2,3,5,9,15,17,18,19,22,24,25,26,27,28,29],"short":[9,20],"static":[7,8,16,18,26,28,29],"super":[2,27],"switch":[18,19,26],"throw":[1,2,3,18,25,26,27],"transient":18,"true":[3,6,8,16,26],"try":[1,2,8,18,21,25,29],"var":[17,18],"void":[26,27,28],"while":[14,23,26],abil:8,abl:[3,7,8,15,16,18,19,21,26],abort:[3,16],about:[2,3,8],abov:[2,5,8,15,18,26,27,28],absolut:[3,6,8],abstractstatereplacementprotocol:19,accept:[2,3,4,8,26],acceptablepric:18,access:[2,6,10,11,13],accid:18,accident:[2,22],accompani:[2,26],accord:29,accordingli:27,account:[8,23],accrual:5,accur:3,accuraci:8,achiev:[3,8,23],ack:19,acknowledg:18,across:[4,6,8,17,19,24],act:[3,6,8,16,18],action:[9,26,29],activ:[5,9,17,19,21,26],actor:[2,8,18],actual:[3,5,10,16,18,22,24,26,27,28],adapt:[2,16,18],add:[2,8,13,15,18,22,24,25,26,27,28],addattach:24,addcommand:[18,26],addedg:25,addinputst:[18,26],addit:[2,3,6,8,17,19,23,26],addition:[8,18,20],addmessagehandl:19,addnod:25,addoutputst:[18,26],address:[3,6,7,8,13,18,19,21,25,26],adjust:[2,5,20,26,29],admin:10,administr:[11,12],advanc:[4,5,11],advantag:8,adventur:29,advertis:[1,6,26],advic:20,affect:[10,16],affinityexecutor:2,afraid:2,after:[3,4,5,7,9,10,12,16,18,26],again:[5,8,16,18,21,26],against:5,agent:15,agentlib:7,aggreg:[8,26,27],agre:[5,9,18,22],agreement:[5,8,23],ahead:[18,26],aid:19,aim:[2,8],albeit:19,albertsen:19,algorithm:[8,12,19,23,26],alia:6,alic:[23,26],alice_kei:24,aliv:18,all:[0,1,2,3,4,5,6,8,10,15,16,17,18,19,20,21,22,23,24,25,26,27,29],allclaus:27,allcomposit:27,allevi:3,allow:[1,2,3,4,5,6,7,8,9,13,16,17,18,19,22,23,26,28,29],almost:26,along:[3,16,18,26],alongsid:26,alreadi:[2,9,16,18,19,24,26,27,28],alright:18,also:[1,2,3,4,5,6,7,8,9,10,13,14,15,17,18,19,21,23,24,25,26,27,28,29],alter:[6,15,18],altern:[0,2,6,13,14,15,23,26],although:[5,6,8,18,24,26,27,29],alwai:[2,8,9,15,17,18,23,26],amount:[1,4,5,8,11,18,19],amqp:[13,19],analysi:8,andresen:8,ani:[1,2,3,4,5,8,9,15,16,17,18,19,20,21,22,23,24,25,26,29],annot:[1,2,17,18],announc:20,anonym:8,anoth:[1,2,3,8,10,15,16,18,19,24,25,26,28],answer:[2,16],anticip:2,anybodi:8,anyclaus:27,anycomposit:27,anyon:[3,26],anyth:[3,8,18,22,23,26,27],anywher:[16,19,26],apach:13,apart:3,api:[0,1,2,7,11,12,15,17,18,19,20,21],app:1,appear:[25,26],append:15,appendix:11,appli:[2,4,5,7,8,26,27],applic:[7,8,13,16,19,22,29],applyfix:5,appoint:3,approach:[8,9,11],appropri:[2,13,17,27],approv:[8,9,18],approxim:3,april:19,arbitrari:[2,8,16,18,22,23],arbitrarili:8,architectur:[11,16],area:17,aren:[1,9,12,26,29],arg:[7,19,25],argument:[2,8,18,25,26],aris:8,around:[3,8,18,19,20,23,26,27],arrai:[8,18,25],arrang:18,arriv:[16,18],arrow:[5,10],art:23,artemi:13,artemisaddress:6,artemismq:6,articl:[3,8,9,16,18,19,26,29],ask:[2,16,18,26],aspect:[18,29],assembl:[8,26],assemblesharedtx:18,assertequ:[18,24],asset:[4,11,18,19,22,23],assetforsal:18,assetmismatchexcept:18,assettosel:18,assettypenam:18,assign:[8,16,18],assist:[9,17,18,23],associ:[3,8,9,13,17,23,26],assum:[3,8,18,22,26],assumpt:18,atom:[3,8,18,19,21,26],attach:[7,8,11],attachmentdemo:24,attack:[3,22],attempt:[8,10,11,22],attent:18,attest:3,attribut:2,audit:8,authent:3,authenticatedobject:[23,26,27],author:[2,3,20,29],authoris:[18,23],auto:[2,26],autoclos:1,autom:[8,9,26,29],automat:[0,1,3,6,7,9,13,14,17,18,19,24,26,29],avail:[0,3,5,6,9,14,15,18,19,20,22,24,26],avoid:[2,8,17,18],awai:[8,18,21],await:7,awar:[1,2,9,18,19,26],awg:20,awkward:[2,18],axi:5,back:[1,2,8,16,18,19,22,23,26],backend:19,background:[1,2,8],backoff:13,backport:20,backward:[18,20],bad:[2,18,26,28],balanc:[3,4,8,26,28],banana:23,bananast:23,banco:19,band:18,bandwidth:2,bank:[5,6,8,19,23,24,26,29],bankrupt:26,bankruptci:[3,8,16],barreca:19,barrel:19,base:[2,3,5,6,7,8,9,13,18,19,23,26],basedir:[6,7],basi:[5,9,14,15],basic:[2,3,6,8,11],bat:[14,21],bbva:19,bear:18,becaus:[2,3,8,9,10,15,16,18,23,25,26,27,28],becom:[2,5,8,9,18,20,23],been:[3,5,6,8,10,16,18,19,20,23,25,26,27],befor:[3,5,7,8,9,12,18,19,20,23,24,25,26,27],beforehand:21,begin:[2,8,21,26,29],behav:26,behaviour:[3,4,6,15,27,28],behind:[13,18,26],believ:19,below:[2,5,7,8,9,18,23,29],beneficiari:4,benefit:[3,18],best:[2,29],bet:16,better:[2,11,12,19,26],between:[2,3,5,8,9,13,14,16,17,18,19,20,21,22,23,25,26],beyond:8,big:[2,8,18,19,26],bigdecim:[16,23],bilater:[4,5,19],bill:26,bin:[21,25],binari:[8,16,25],bind:[3,6,8,16],bip:8,bit:[23,26,28,29],bitbucket:10,bitcoinj:18,blah:2,blank:[2,15,26],block:[1,2,3,8,11,16,18,19,22,25],blockchain:[8,12,18,26],bloom:2,bloomfilt:2,blotter:21,blow:21,blue:5,bob:[23,26],bodi:2,boil:8,boilerpl:26,bond:26,bookkeep:26,boost:12,bootstrap:7,bore:26,both:[3,4,5,8,12,16,17,18,19,22,23,26],bounc:18,bound:[3,18,19,26],bower:21,box:29,branch:[11,19,20],breach:8,bread:29,breviti:27,brief:[1,19],briefli:13,bring:8,broadcast:[3,8,26],broadcasttransactionprotocol:3,broke:2,broken:[19,26],broker:[6,13],brows:15,browser:[6,21],buffer:1,bug:[2,19,20],bugfix:20,bui:[18,29],buildcordajar:6,builder:[18,19,22,24],built:[3,6,7,18,19,22,26],bulk:[8,27],bullet:2,bunch:21,bundl:8,busi:[8,9,12,16,17,18,23,26,29],businesscalendar:23,butter:29,button:21,buyer:11,bytearrai:17,bytecod:[8,18,26],cach:[13,24],calcul:[3,5,9,18,22,23,26],calendar:[5,16,23],call:[1,2,3,5,8,12,15,18,19,20,22,23,24,25,26,27,28],callback:[1,2,18,19],caller:[3,26],came:18,camel:2,can:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29],candid:17,cannot:[3,4,8,10,16,19,22,23,26],capabl:26,capit:2,capitan:0,capsule_cache_dir:7,captur:9,cardon:19,care:[2,3,8,18,22,28],carefulli:12,cash_stat:17,cashkt:26,cashschema:17,cashschemav1:17,cashsigningpubkei:18,cashstat:18,cast:1,caught:1,caus:[2,26],ccy_cod:17,cent:23,center:26,central:[23,26],ceo:23,cer:6,certain:[2,19,26],certainli:7,certainti:3,certif:[6,19,25],certificatespath:25,cev:10,chain:[4,8,11,16,18,19,23,26],chaincash:28,chaincashdoublespend:28,chaincashdoublespendfailswith:28,challeng:8,chanc:[2,18],chang:[0,1,2],changenotari:3,channel:18,charact:2,charg:16,charli:23,check:[2,3,6,9,10,11,14,16,18,19,22,23,24],checkabl:[16,19],checknotnul:26,checkpoint:19,checkstat:26,checksufficientsignatur:[3,18,23],child:[18,23],children:[18,23],childrenfor:18,choic:[2,3,8,26],choos:[3,10,26],chosen:[3,8,18],chronolog:9,chunk:[26,27,29],circl:14,claim:[8,26],clash:[2,17],classic:26,classpath:[8,21],claus:[11,19],clauseverifi:27,clean:[18,19],cleaner:19,cleanup:19,clear:[1,18,22,23],clearer:18,clearli:2,click:[10,21],clienttoservicecommand:25,clock:[3,8,9,18,21],clone:[2,10],close:[1,3,4],closeabl:1,closer:3,closur:[2,28],cloud:15,cluster:[3,6],cmd:[26,27],coars:8,code:0,codebas:[2,17],cognit:8,coin:8,collabor:19,colleagu:2,collect:[1,2,15,17,19,26,27],collector:[2,15,18],collis:2,column:[7,15,17],com:[0,7,10,17,18,19,21,24,26,28],combin:[8,11,23,26],come:[1,8,18,19,20,22,26],command:[0,3,4,5,6,7,8,10,11,14,15,16,18,19,21,23,24,25],commanddata:[16,26,27],commercial_pap:[26,27],commercialpap:[4,17,26,27],commercialpaperlegaci:26,commit:[3,9,18,20],common:[4,5,8,17,18,19,23,26,27,28],commonleg:5,commun:[10,18,19,22],compani:16,companion:[18,26,27],compar:[8,26],compat:[1,20],compel:3,compet:8,complementari:9,complet:[8,9,16,18,19,21,23,24,26,27,28],completablefutur:25,complex:[2,4,8,17,18,23,24,26],complic:[18,26,27],compon:[9,13,19],compos:[18,19,23,26,27],composit:[23,27],compositeclaus:27,compound:19,compris:5,comput:[5,16],concept:[3,4,8,9,16,18,19,26],concern:[8,18,26],concis:19,conclus:[3,8,16],concurrenthashmap:2,condit:[3,16,19,27,28],conf:[6,7],confgur:17,config:[6,7,15],confirm:[3,10],conflict:[3,8,11],confus:18,connect:[1,6,7,12,15,25],consid:[2,5,8,9,16,19,20,23,26],consider:26,consist:[5,8,16,18,19,27],constant:[2,17,26],constantli:16,constraint:[16,18,19,26],construct:[2,3,7,11,17,18,19,22,23],constructor:[9,18],consum:[1,3,8,9,19,23,26],consumingtx:3,consumpt:[9,16],contact:[10,18],contain:[3,5,6,7,8,13,15,16,18,19,20,21,23,24,26,27,28,29],content:[2,3,7,8,9,10,15,16,18,23],context:[2,8,15,16,23],continu:[5,11],contract:3,contractreject:28,contractst:[3,9,17,19,23,25,26],contrast:[8,16,18],contribut:23,control:[2,3,7,8,10,15,17,18,19,21,22,23,26,29],conveni:[2,8,23,26],convent:[5,18,27],convers:23,convert:[3,4,5,17,18,19,23,26],convinc:[18,23],coordin:6,copi:[2,3,8,13,18,24,26,28,29],copyonwritearraylist:2,copyright:2,corda:[3,4],corda_dev_ca:6,corda_vers:7,cordacadevpass:6,cordapluginregistri:7,cordarpccli:[1,25],cordarpcop:1,core:[4,7,8,16,17,18,19,23,24,26,28],corner:10,correct:[4,8,16,18,19,20,26,28],correctli:[8,16,19,26],correspond:[1,23,26],correspondingli:[2,24],cost:[1,16,26],could:[2,3,4,8,16,18,22,23,26],count:5,countabl:19,counter:[2,18],counterparti:[4,5,22],countri:[16,23],coupl:18,cours:[15,16,17,18,26,29],coven:26,cover:[3,4,8,16,18,23,26,29],crash:18,creat:[1,2,3],createdummyir:5,createsomenod:18,creation:[5,8,11,25,26],creator:16,credit:19,crisp:26,criteria:4,critic:[8,20],crop:8,crypto:19,cryptograph:23,cryptographi:11,csr:19,curl:15,currenc:[4,5,17,18,19,23,26],current:[1,2,3,5,6,7,8,9,11,12,13,14,16,17,18,19,20,22,23,25,26,28],currentstep:18,currenttim:18,currentwallet:18,curv:5,custodi:[18,23],custom:[3,15,17,18,19,21,23],customis:[17,29],cut:11,cycl:[2,18,26],dai:[3,5,15,16,18,20,23],daniel:19,danks:19,dashboard:15,data:[0,2,3,4,5,7],databas:[6,7,8,11,12],databaseschema:17,dataset:5,datasourc:6,datasourceclassnam:6,datasourceproperti:6,date:[3,4,5,9,11,15,20,21],dateoffset:19,daterollconvent:23,david:19,dcapsul:7,dead:13,deadlin:23,deal:[2,16,18,21,23,26],dealstat:23,debt:4,debugg:7,decd098666b9657314870e192ced0c3519c2c9d395507a238338f8d003929de9:15,decd:15,decentralis:[8,16,19],decid:[10,16,17,26],decis:[3,8,26],declar:[2,6,28],dedic:2,dedupl:19,defaultissu:26,defin:[2,3,8,12,15,17,18,19,23,25,26,27,28,29],definit:[3,18,19,23,26,27],delai:[5,16],deleg:[3,27],delet:[2,8,18,19,26],deliber:[8,28],deliv:[4,18,23],deliveri:[12,13,18,21],demand:[3,8,18,19],demo:[6,7,11,12,16,19,20],demonstr:[19,21,29],denial:3,dens:2,depend:[2,3,7,8,9,10,16,18,19,26],deposit:[26,28],deprec:19,deregist:13,deriv:[5,17,18,19,23,26],describ:[2,3,8,9,11,18,22,23,25,26],descript:2,deserv:20,design:[2,3,8,11,12,16,19,22,26,27,29],desir:[18,23],desktop:15,despit:[18,24,26],destroi:[4,8,26],destructur:26,detail:[1,2,3,4],detect:2,determin:[4,5,9,27],determinist:1,dev:6,develop:[2,6,7,8,12,17,18,19,20,21,26],devic:[6,8],devis:8,diagram:5,didn:[2,18,20,26],differ:[2,3,4,5,6,8,9,16,17,18,19,23,26,28],difficult:18,difficulti:27,digest:3,digit:[8,16,18,19,26],digitalsignatur:[3,16,18],direct:[2,17],directli:[1,2,3,13,15,18,19,23,25,26,27],directori:[0,6,7,21,25,29],directthreadexecutor:2,dirti:26,disabl:23,disadvantag:8,disambigu:17,discard:22,discov:8,discoveri:14,discuss:[8,18,23,26],disk:[13,18,19,23],disobei:16,displai:[3,25],disprov:11,disput:[3,5,26],disrupt:13,distinct:[2,27],distribut:[3,7,8,11,12,16,18,19],distrust:[3,18],divid:3,divis:23,doc:[0,1,2,11,19,25],docker:15,docsit:[0,20],doe:[2,3,4,5,7,8,9,12,15,16,17,18,22,26,28,29],doesn:[2,3,8,10,12,15,18,21,22,26,28],dokka:0,dollar:[23,26,28],domain:[19,23,26],domicil:26,don:[1,2,8,10,12,16,18,20,22,23,26,27,28],done:[0,1,8,18,19,25,26],dot:5,doubl:[8,12,18,21,26],doubt:[2,12],down:[2,8,18,24,26,27],download:[1,10,11],downsid:[2,8],drain:[1,18],draw:[19,25],drawn:25,drive:[8,29],driven:21,driver:[6,15,17,19,29],drm:16,dsl:[19,28],dt_socket:7,due:[2,3,5,8,9,12,17,18,26,27],dummi:[4,18,28],dummy1:18,dummy2:18,dummy_cash_issu:28,dummy_notary_kei:18,dummy_pubkey_1:[26,28],dummy_pubkey_2:28,dummycontract:18,dump:25,duplic:18,durat:[9,16],dure:[2,5,6,7,14,15,18,19,26],dynam:[8,19,26,29],each:[2,3,5,7,8,9,14,16,17,18,19,20,23,25,26,27,28,29],earli:[2,4,29],earlier:22,earliest:[5,9],easi:[2,8,16,19,26],easier:[2,7,18,19,26],easiest:[1,26],easili:[2,18,26],econom:5,ed25519:19,edg:25,edit:[10,15],editor:10,effect:[5,8,17,18,28],either:[2,3,4,5,6,8,17,18,23,26,28,29],elbonia:23,element:[2,8,27],elimin:[12,19],els:[3,7,8,16,18,23,26,27],email:18,embed:[8,12,15,16,19],embedd:13,emit:[1,19],emoji:24,empti:[3,19,26,28],emptyledg:28,emptyset:[3,24],enabl:[6,7,24,27],encapsul:[2,23],enclos:2,encod:16,encount:[9,12],encourag:[17,24],encumb:26,encumberedst:26,encumbr:[11,17],end:[2,3,5,8,16,18,20,27,29],endpoint:[7,13,15],enforc:[2,8,26],enforceverifyorfail:28,english:[2,26],enjoy:19,enorm:18,enough:[2,10,18,26,29],ensur:[2,3,8,10,18,19,20,21,22,23,26,27],enter:[28,29],entir:[3,5,8,16,18,26],entireti:5,entiti:[3,8,16,17,23,26],entri:[5,6,7,8,17,18,22,26],enumer:[5,17],environ:[2,7,16,18],envisag:26,equal:[3,18,23,26,27,28],equiti:17,equival:[2,5,23,26],especi:23,essenti:[15,16,26,27],establish:[9,13,21],etc:[2,3,4,5,12,16,18,19,20,23,25,26,27],euribor:[15,16],euro:23,evalu:[5,16,27],even:[1,3,8,12,16,17,18,19,26,28],event:[2,3,5,8],eventu:[3,20],ever:[2,8],everi:[1,3,8,13,16,17,18,19,20,22,23,26,29],everybodi:8,everyon:[3,16,26],everyth:[3,22,26,29],evid:16,evolut:8,evolv:[17,26,29],exact:3,exactli:[8,23,26],examin:[2,7,8,18,26],exampl:[0,2,3,4,5],excel:16,except:[1,2,18,22,26],excess:2,exchang:[5,18,23],exclud:[6,17],exclus:4,execut:[3,7,8,9,14,18,19,21,23,24,25,26],executecommand:25,executor:2,exhaust:19,exist:[2,3,4,5,7,8,9,11,17,19,23,25,26,28,29],exit:[4,18,26],expect:[1,2,4,6,9,17,18,19,20,22,23,24,26,27,28],expectedtypenam:18,expens:[1,2],experi:[8,20,29],experiment:[2,18,19],explain:[2,9,18,19],explan:[2,25],explicit:[2,8,18,26],explicitli:[2,8,28],explor:[2,8,10,11,12,15,18,19,26,29],expos:[2,7,8,9,15,17,18,19,23,25],exposur:[4,5],express:[3,5,8,19,23,26,28],extend:[2,3,7,12,18,23,26,27],extens:[2,19,22,23,26],extent:8,extern:[6,18,24,29],extraadvertisedserviceid:6,extract:[8,15,16,23,26],extractcommand:27,extrem:[3,8],face:26,facevalu:26,fact:[2,3,5,8,16,18,26,28],factor:[5,8],fail:[24,26,27,28],failswith:28,failur:[18,24,28],fairli:[2,18],fake:[21,29],fals:[2,3,6,16,18,23,26],famili:17,familiar:[8,26],famou:[8,19],fanci:26,far:[18,21,26],fashion:[2,17],fast:[8,18,21],fault:18,featur:[1,2,6,7,8,11,13,16],feed:[3,16],feedback:19,feel:[26,29],fetch:[13,15,16,24],fetchtransactionsprotocol:24,few:[2,12,15,16,18,20,21,26],fiber:18,field:[2,5],file:[0,2],fill:[2,18,21,26],filter:[2,17,19],filterisinst:26,finalis:[3,5,18,19],finalisetransact:3,finalityprotocol:[3,24],financ:[18,19,29],financi:[8,9,11,18,19,23],find:[0,8,12,15,18,22],fine:[8,28],finish:[18,19],fire:18,firewal:18,first:[2,3,5,6,7,9,10,13,15,16,17,18,19,21,23,24,26,27,29],firstli:26,fit:[2,8],fix:[2,4,5,8,9,11],fixabledealst:23,fixedleg:5,fixedlegpaymentschedul:5,fixedratepaymentev:5,fixingroledecid:9,fixingsessioninitiationhandl:9,fixof:16,flag:[15,29],flat:17,flesh:23,flexibl:[3,8,23],flight:[1,8],floatingleg:[5,9],floatinglegpaymentschedul:5,floatingratepaymentev:5,flow:[2,5,26,27],flux:[7,29],fly:18,fold:2,folder:[0,6,7],follow:[0,2,3,7,8,9,10,11,15,18,21,26,27,28],font:2,foo:2,foobrokenexcept:2,foot:22,fooutil:26,forc:[8,15,19,26,28],fordai:[9,16],foreach:25,forev:20,forget:[18,26],form:[3,7,8,9,21,26,27],format:[0,2],former:25,formula:19,forth:[1,18],forward:[13,16,18,20,21],found:[6,10,15,16,18,20,23,29],four:26,fourpmtimelock:26,fraction:23,frame:[2,18],framework:[8,11,12,13,18,19,23,29],free:[3,8,18],freed:1,freeli:16,frequenc:5,frequent:26,fresh:[16,26,28],freshkei:18,freshli:23,from:[0,1,2,3,4,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29],fromcountri:23,fromstr:25,front:26,frontend:12,frustrat:8,fulfil:[4,8],full:[2,3,4,6,13,18,25,26,27],fulli:[2,3,6,8,17,18,19,23],fullysign:18,fun:[3,9,16,17,18,24,25,26,27,28],fund:8,fundament:[3,8,11,26],fungibl:[4,23,26,27],fungibleasset:[4,11,19],further:[5,8,19,23,27],futur:[1,3,4,6,8,11,13,16,17],futuretransact:25,fuzz:19,gain:12,garbag:[1,2,15,18],gather:26,gavin:8,gcd:8,gear:20,gener:0,generateiniti:18,generateirsandfixsom:5,generateissu:26,generatemappedobject:17,generatemov:26,generateredeem:26,generatespend:[18,26],genuin:2,get:[1,2,3,8],getamount:28,getbefor:26,getbloomfilters:2,getclass:26,getcommand:[26,27],getcontract:26,getdummy_cash_issu:28,getdummy_pubkey_1:28,getdummy_pubkey_2:28,getencumbr:26,getfacevalu:26,getfix:5,getinput:[19,26],getinst:19,getissu:26,getkei:26,getlegalcontractrefer:[26,27],getmaturityd:26,getmega_corp:28,getmega_corp_pubkei:28,getnotarysignatur:[3,18],getoutput:[19,26],getoutst:19,getown:[26,27],getparticip:26,getprotocoltrack:18,getprotocolvers:1,getrequiredcommand:27,getresourceasstream:24,getsign:[26,27],getter:[17,26],gettimestamp:26,gettransact:18,getvalu:[26,27],git:[10,19,20],github:[0,6],giusepp:19,give:[3,8,13,18,19,24,26],given:[3,8,16,17,18,23,25,26],givenpric:18,global:[2,3,8,19,23],glue:18,gnu:0,goal:[2,8,11,12,20],goe:[1,21],gone:[18,19,26],good:[2,10,18,26,28,29],got:[15,18],gover:26,grade:23,gradl:[6,7,10,14,20,26],gradlew:[7,10,14,21,25],grammar:2,granular:8,graph:[1,8,12,15,17,18,19,25],graphit:15,graphstream:25,great:19,greater:2,greatest:8,green:10,groom:8,group:[4,7,8,11],groupclaus:27,groupclauseverifi:27,groupingkei:27,groupstat:[26,27],guarante:[20,23],guava:[2,26],gui:18,guidelin:[11,19],hack:[8,19],had:[3,18,19,23,26],hand:[9,14,18,26],handa:19,handi:18,handler:[7,9,18],happen:[2,3,8,9,11,16,18,20],happi:[21,24],hard:[2,8,18,20],harder:[8,22,26],hardwar:6,hase:5,hash:[3,8,12,15,16,18,23,25,26],hashcod:26,haskel:19,hasn:[10,25],hassl:18,hat:20,have:[1,2,3,4,5,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],haven:26,head:25,heap:18,hearn:8,heart:26,heavi:20,heavili:8,hedg:[4,5],heirarchi:2,held:17,hell:18,hello:18,help:[2,8,9,18,26],helper:[5,18,23,26],henc:[3,5,8],her:26,here:[2,3,6,7,8,12,15,16,17,18,19,23,26,28,29],hidden:13,hierarch:18,hierarchi:18,high:[8,18],higher:[1,2,3,10],highli:19,highlight:19,histori:3,hit:[8,10,24],hoc:19,hocon:6,hold:[8,19],holder:[2,8,26],holidai:[5,16,23],home:[10,21],hood:28,hopefulli:29,hospit:18,host:[6,7],hostandport:[6,25],hostil:22,hotspot:2,hour:18,how:[1,2,4,8],howev:[3,4,5,6,8,16,17,18,23,24,26,27,28],html:[0,2],http:[0,6,10,15,16,18,21,24,26,27,29],hub:18,human:[3,6,8,16,18],hundr:18,hurt:18,hypothesi:11,idea:[2,8,10,12,18,29],ideal:[18,26],ident:[3,6,8,13,16,18,19,23,26,27,28],identifi:[5,8,13,15,16,17,23],identityless:8,ifmatch:19,ifnotmatch:19,ignor:[6,18,26,27],illegalargumentexcept:[2,18,25,26,27,28],illegalstateexcept:[2,26,27],illustr:[2,23],imagin:[2,18,26],immedi:[1,8],immut:[2,5,8,16,26],immutablelist:26,imper:2,implement:[1,2,3,4,5,7,8],impli:[17,18],implic:[3,8,18],implicitli:5,importattach:24,impos:[16,26],imposs:[8,16],improv:[8,19,20,26,27],inadvert:26,includ:[2,3,4,6,8,10,11],incom:19,incompat:28,inconveni:26,incorpor:16,increas:2,increment:1,indefinit:25,indent:2,independ:[3,16,17,27],index:[5,8,9,10,17,20,26],indexsourc:9,indic:[1,2,5,9,18,19,26],individu:[2,21,26,28],indivis:23,industri:[11,12,15],infer:28,influenc:15,info:[17,18,25],inform:[2,3,8,18,19,23,24,26],infrastructur:[1,8,12,15,18,19,26],inher:8,inherit:[2,26,27],initi:[3,18,19,29],initialis:[14,17,18],inner:27,inoutgroup:[26,27],input:[3,4,8,16,18,19,24,25,26,27,28],inputcash:28,inputindex:3,insert:[2,3,15,16,17,18],insid:[1,8,18,21,22,26],instal:[0,6],installdist:[21,25],installtemplatenod:[6,7],instanc:2,instant:[2,9,18,23,26],instanti:[8,9,18,19],instat:28,instead:[2,8,12,13,18,19,21,23,25,26,29],instig:3,institut:8,instruct:[15,24],instrument:[4,5,9],insuffici:8,insufficientbalanceexcept:26,integ:[1,19,23,26],integr:[2,8,15,16,17,18,19,24],intellig:2,intend:[2,4,8,15,16,17,18,22,23,28],intent:[16,19,26],intention:2,inter:19,interact:[1,2,8,13,16,18,19,26],interchang:23,interest:1,interest_r:6,interfac:[1,2,4,9,11,12,13],interior:19,interledg:19,intermediari:23,intern:[2,7,13,15,17,18,19,23,26],internalis:2,interop:[12,19,26],interpol:23,interpret:[2,8],intersect:26,interv:23,intesa:19,introduc:[2,3,9,16,19,26],introductori:11,intuit:2,invalid:[3,16,18,23,26],invari:26,investig:18,invoc:[1,18],invoic:24,invok:[1,2,8,9,15,18,19],invokeprotocolasync:18,involv:[3,4,8,18,23,26,29],ipsa:16,irrelev:9,irsdemo:[6,21],irsexport:5,irstest:5,irsutil:5,irswebdemo:21,isbefor:26,isempti:26,isinst:18,isn:[1,2,8,18,22,23,26,29],isnotempti:24,isol:27,issu:[3,4,8,16,18,19,20,23,25,26,27,28,29],issuanc:[4,23,26,27],issuedbi:28,issuer:[4,8,18,23,26,28],issuer_kei:17,issuer_ref:17,issuerparti:17,issuerref:17,item:26,iter:[17,18,19,20,26],itself:[1,3,5,6,8,9,13,15,16,17,18,19,24,25,26,28],jar:[0,6,7,8,15,19,24],java:[1,2,7,8,9,12,15,17,18,19,23,24,26,27,28,29],javaclass:[17,18],javacommercialpap:26,javadoc:[2,7],javafx:19,javatesthelp:28,javax:17,jdbc:[6,7,15,17,19],jdbcdatasourc:6,jdbcx:6,jdk1:10,jdk:[10,19,23,26],jdwp:7,jetbrain:[10,12],jmx2graphit:15,jmx:15,jmxtran:15,job:[18,29],johann:19,join:[13,17,19,26],jolokia:15,jpa:17,json:[6,15,29],judgement:2,jump:21,just:[1,2,8,10,13,15,18,19,22,23,24,25,26,28,29],justifi:11,jvm:[1,7,8,12,15,18,22,29],kdoc:2,keep:[8,18,26],kei:[2,4,6,8,12,16,18,19],kept:18,keymanagementservic:18,keypair:[18,26],keystor:6,keystorepassword:6,keyword:[2,28],kick:18,kind:[8,16,18,22,23,26,29],know:[1,3,8,9,12,16,18,21,22,26,27,28],knowledg:16,known:[5,8,18,20],korea:26,kotlin:[0,2,10,11],kryo:18,label:[18,28],lack:8,lambda:[18,28],land:5,lang:28,languag:[1,2,7,8,10,11,12,18,19,23,26,29],larg:[8,13,16,18,19,23,24,26,29],larger:[2,8,22],last:[18,20,28],lateinit:18,latenc:3,later:[1,2,12,16,17,18,19,22,23,26,27],latest:[2,10,19],latex:19,latter:[2,25,26],launch:9,layer:[6,8,13,16,17,18,19],layout:[7,14],lead:[2,8],leak:[1,3,8,18],learn:[8,11,18,21,23,26,29],least:[24,26],leav:[2,18,23],ledger:[3,4,5,8,11,15,16,17,18,19,23,24,26,28],ledgertransact:[18,19,23],leewai:22,left:[14,18,21,27,28],leg:[5,9],legal:[3,6,8,16,23,26],legalcontractrefer:[26,27],legallyidentifi:[3,16,18],less:[18,19,24],let:[2,8,9,13,15,16,18,19,21,23,24,25,26,28],letter:[2,13],level:[2,3,5,10,13,18,22,23,26,27,28],lib:[0,7],liber:2,libor:[5,15,16],librari:[1,2,6,15,16,18,19,23,25,26],licens:2,life:[18,26,29],lifecycl:4,lifecyl:4,lifetim:5,lightweight:18,like:[1,2,3,5,8,9,10,13,15,16,18,19,20,23,26,27,29],likewis:26,limit:[4,8,11,26],line:0,linear:23,linearst:23,liner:2,link:[2,8,16,18,19,23],linkabl:8,linkag:8,linux:[15,19],list:[0,3,6,8,16,17,18,19,20,21,23,25,26,27],listen:2,listenablefutur:[3,18],listof:[17,18,26],liter:8,littl:[2,18,26,28],live:[5,18,19],livelock:8,load:[3,6,8,18,19,21,23,24,26,29],loan:[4,5,16],local:[0,6,7,8,10,15,17,18,19,25,28],locald:16,localhost:[6,15,21,25],lock:[2,4,17,26],log4j:19,log:[1,7,15,18,19,21,27],log_send:24,logger:18,logic:[3,8,9,13,17,18,19,22,23,24,26,27,29],login:7,london:[6,24],longer:[2,5,6,18,19],look:[2,5,13,15,16,18,20,23,24,26,27,28,29],lookup:6,loop:[2,5,25,26],loquitur:16,loss:16,lot:[2,5,8,19,21,22,26,29],low:[3,18],lower:2,lowest:13,lurch:18,mac:15,machin:[6,8,9,11],made:[2,5,8,11,18,19,20,23],mai:[1,2,3,7,8,11,13,14,15,16,17,18,19,20,22,23,26,27,28,29],mail:[20,21],main:[6,9,13,18,19,21,24,25,29],mainstream:12,maintain:[3,8,26],maintan:16,mainten:13,major:[18,20],make:[0,1,2,3,5,7,8,11,16,18,19,20,21,22,24],maker:12,maketransact:18,malici:[18,22],manag:[6,8,13,15,18,19,26],mandatori:26,mani:[2,3,7,8,9,16,18,19,23,24,26],manipul:23,manner:[8,18,19,26],manual:[3,7,9,14,18],map:[2,3,5,6,11],mappabl:26,mappedschema:17,mappedtyp:17,mark:[1,2,4,17,18,26],markdown:2,marker:[18,22],market:11,marshal:1,master:[11,20],match:[1,8,18,22,23,24,27],math:11,mathemat:23,matter:[18,26],matur:[3,4,5,15,16,26],maturityd:26,maven:[7,10,19,26],mavenloc:7,maximis:8,maximum:8,maybestx:18,maybetraderequest:18,mbean:15,mean:[2,3,8,9,16,18,23],meaning:[3,4],meaningfulli:24,meant:18,measur:5,mechan:19,meet:26,mega_corp:[18,28],mega_corp_kei:18,mega_corp_pubkei:28,megacorp:18,member:[5,19],memori:[3,13,18],menlo:2,mention:[9,18,26],menu:10,mere:5,merg:[8,19,23,26],mergeabl:26,mess:18,messag:[1,2,6,7,8,11,12],messagingserveraddress:6,messagingservic:13,met:23,metadata:24,method:[1,2,3,9,15,17,18,19,22,23,26],metric:15,micro:[19,27],mid:3,middl:[2,18],might:[2,5,8,10,16,17,18,22,26],mike:8,mileston:11,mind:[2,16,18],mine:8,miner:8,mini_corp_pubkei:18,minim:[8,18],minimis:[3,4,8,13],minimum:[1,5,8,23],minor:[19,20],minu:26,minut:[12,16,18],mismatch:[8,26,28],miss:[2,6,17,18,26,28,29],missingsig:18,mission:15,mistak:[19,22],mix:[2,19],mock:18,mocknetwork:18,mocknod:18,mockservic:23,mode:[14,19],model:2,modest:8,modif:[23,26],modifi:[3,4,5,7,10,18,23,26,27],modul:[2,6,18,19,26],moment:[18,19],monei:[16,26],monitor:[2,11],month:[5,18,20],more:[1,2,3,4,5,6,7,8,12,15,16,17,18,19,21,23,24,26],moreexecutor:2,mortensen:19,most:[2,5,8,15,18,26],mostli:26,move:[4,8,18,19,20,26,27,28],movement:[18,26],much:[2,8,12,17,18,19,22,26,29],multi:[2,11,13,18,19],multilater:[4,19],multipl:1,multipli:5,must:[1,2,3,4,6,7,8,9,15,16,17,18,19,21,22,23,24,26,27,29],mustafa:19,mutabl:[2,8,23,26],mutat:8,mutual:[3,4,18,22],myfil:15,mykei:23,mykeypair:18,mylegalnam:6,mysql:12,nail:2,namedbyhash:11,nameserv:6,namespac:18,narrow:2,nativ:18,natixi:19,natur:26,naval:3,navig:[7,21],navistar:3,nearestc:6,neat:28,necessari:[2,3,20,21],necessarili:[17,23],nee:19,need:[0,2,3,5,8,9,11,15,17,18,19,20,21,22,23,24,25,26,27,28,29],neg:23,negoti:[8,23],neither:18,nest:18,net:[4,5,18,19,26],network:[3,6,8,9,11,12],networkmapaddress:6,networkmapcach:[6,18],networkmapservic:6,neutral:12,never:[2,3,8,26],newli:9,newnotari:3,newown:26,newsecurerandom:19,next:[2,5,9,10,14,18,19,22,26],nextfixingof:9,nextscheduledact:9,nfinal:24,nice:[16,26],nio:2,noddi:15,node:[1,4,6],node_dir:7,nodea:[6,7,21],nodeaddress:25,nodeb:21,nodeinfo:[6,18],nodeinterestr:16,nodej:21,nodeservic:16,non:[0,1,2,3,4,6,8,11,13,18,19,21,23],none:[9,17,18,27],nonemptyset:19,nordea:19,normal:[1,3,4,5,7,14,18,19,23,24,26,27],north:26,notabl:2,notaris:[3,8,18,19,23,26],notarychang:19,notarychangeprotocol:3,notaryexcept:3,notarynod:18,notaryprotocol:[3,18],notaryservic:19,notarysig:18,notarysignatur:18,notarytous:23,note:[0,2,4,5,6,7,8,11,18],noth:[2,8,9,18,19,22,26],notic:2,notif:[13,24],notifi:[3,13,14],notion:[5,8,19,26],notnul:[26,27],now:[2,7,8,10,15,18,19,21,23,25,26,28,29],npm:21,nugget:26,nullabl:26,nullpublickei:26,number:[2,4,5,8,16,17,18,20,21,23,26],numer:8,obj:26,object:[1,2,4,5,8,9,11,12,13,15,16],obligor:4,observatori:3,obsolet:[9,19],obtain:2,obviou:[2,3,8,16],obvious:5,occur:[3,9,18,26],occurr:3,odd:26,off:[18,25],offer:[17,18],offlin:13,offset:5,often:[2,4,5,8,16,18,26],oftenor:16,oil:[19,28],old:[3,18,19,25,26],omit:9,onc:[0,1,2,3,5,7,9,14,17,18,20,23,24,26,29],onchainasset:4,ongo:1,onledgerasset:26,onli:[1,2,3,5,6,7,8,9,12,13,14,15,16,18,19,20,22,23,26,27,29],onto:[1,2,18,26],open:[3,8,10,15,18,21],openattach:24,openjdk:10,oper:[5,6,9,15,16,18,19,22,23,26],opt:7,optim:2,option:[0,2,5,6,9,14,17,18,19,26,27,29],oracl:[5,8,10,11,12,13,15],orchestr:[11,12,19,29],ordain:5,order:[0,1,2,3,4,5,8,12,14,16,17,18,19,23,24,25,26,27],ordinari:[8,18,19,26],org:[0,6,10,21,26,27],organis:17,orient:11,origin:[17,19,23,24,26],originalst:3,orm:17,otc:17,other:[2,3,4,5,6,7,8,9,12,14,16,17,18,19,21,22,23,24,26,28],otherparti:18,othersid:[18,24],otherwis:[1,2,6,7,9,18,22,26],our:[2,3,8,9,18,19,20,23,25,26,28],ourselv:[18,26,29],oursignatur:18,out:[2,3,4,8,9,10,13,15,16,18,19,20,22,23,26,27],outcom:18,outer:27,outermost:27,outlin:[8,11,18],outpoint:8,output:[3,4,7,8,16,18,19,24,25,26,27,28],outref:18,outsid:[7,8,16,18,29],outstand:4,over:[2,3,5,6,7,8,13,15,16,17,18,23,26],overal:[3,9,28],overdu:9,overflow:2,overidden:[6,7],overload:[18,23],overnight:23,overrid:[9,17,18,26,27],overwhelm:8,own:[2,3,4,7,9,15,16,17,18,19,20,23,26,28,29],ownablest:[18,23,26],owner:[9,17,18,23,26,27,28],owner_kei:17,ownership:[18,26],owningkei:[18,26],ozturk:19,p2p:19,pack:26,packag:[17,19,23],packet:8,page:[10,16,20,21],pai:[4,11],paid:[4,5,8,26],pair:[8,18,23,25,26],parallel:[1,8,16],parallelis:8,param:17,paramet:[1,2,9,18,21,23,26,27],parameteris:8,parent:18,pars:[6,16,23,26,29],part:[1,2,3,4,8,9,17,18,19,22,23,29],parti:[2,3,4,5,8,9,11,13,16],partial:[3,8,18,22,26,28],partialtx:18,particip:[3,8,19,26,29],particular:[2,3,8,11,15,17,18,19,23],partyandrefer:[2,26],partynod:18,partyrefer:[2,26],pascal:2,pass:[3,17,18,24,25,26,27],password:[6,7,15],past:[2,21,26,29],patch:[2,19],path:[2,6,7,9,13,15,19,25,26],pattern:[2,8,25],paus:[7,14],paye:8,payer:[5,8],payment:[4,5,8,9,16,18,21,26],pdf:[16,24],peer:[12,16,18,26],penni:[17,23,26],peopl:[2,8,12,18,26],per:[2,7,8,9,11],perform:[2,3,5,8,9,16,18,19,21,23,24,26,27],perhap:[2,8,13,26],period:5,perman:[24,26],permiss:[12,19],persist:6,persistentcashst:17,persistentst:17,perspect:[8,18,26],phase:19,phrase:16,physic:[3,19],pick:[13,18,19,20,26,29],piec:[2,3,8,18,23,26,28],pip:0,pki:[8,19],place:[0,2,5,8,9,12,13,16,18,19,20,23,26,29],plai:[8,11],plain:6,plan:[8,16,18,21],platform:[3,5,7,8,9,11,12,16,18,22,23,26],pleas:[2,8,10,17,19,21,24],plu:[6,23],pluggabl:19,plugin:6,point:[1,2,3,4,7,8,15,16,17,18,20,22,26],pointer:[3,18,23],pointless:2,pool:[2,8],poor:8,pop:10,popular:12,popup:10,port:[6,7,19,20,21,25],portfolio:19,posess:18,posit:[2,3,8,18,26],possess:3,possibl:[8,16,18,24,25,26],postgr:12,potenti:[2,3,12,18,26],pound:[23,26],power:[6,8,11],practic:[6,8,19,26],pre:[0,5,18,26,28,29],preced:26,precis:[3,8,12],precondit:[2,26],prefer:[2,17],prefix:[2,17],prepar:[8,19,26],present:[3,4,5,6,7,11,12,17,18,19,23,26,27],preserv:[3,8],pretend:[15,23],pretti:[8,18],prevent:[22,26],previou:[8,18,19,23,28],previous:[5,9,16,19],price:[8,16,18],primari:16,primarili:4,primit:[23,28],print:[1,15,19,21,22,25],println:[24,25],printorvisualis:25,priv:18,privaci:[2,3,8,12,18,19,26],privat:[2,6,8,17,18,24,26,29],privatefoo:2,probabl:[10,26,29],problem:[3,8,16,18],proce:18,procedur:[18,26],process:[1,3,5,7,8,9,11,12,15,18,19],processor:8,produc:[0,9,26,28],product:[2,9,11,12,19,20,23],profound:8,program:[1,2,8,15,19,21,23,26,29],progress:[3,5,11,14],progresstrack:18,project:[10,19,21,26],prolif:19,promis:19,proof:[4,8,11],propag:[1,11,15,18,26,27],properli:[18,22],properti:1,propos:[11,18,22],prose:[16,23,26],prospectus_hash:24,protect:18,protocollog:[9,18],protocollogicreffactori:9,protocoltrack:18,protocolvers:1,prototyp:[2,11,12,16,19,26],prove:[3,8,11,26],provid:[0,1,2,3,4,5,6,7,8,13,14,15,16,17,18,19,22,23,26,29],provision:23,proxi:[1,25],pseudo:16,pseudonom:23,ptx:[3,18,24],pubkei:28,publicfoo:2,publickei:[11,18],publickeytre:23,publish:7,publishtomavenloc:7,pull:10,punish:16,purchas:[18,21],pure:[4,8,16],purpos:[3,4,17,18,23,25,26],push:[1,20],put:[2,11,18,20,25],python:0,qualifi:[6,17],qualiti:11,quantiti:[8,23,26],quasar:18,queri:[1,5,6,9,16,17,19,25],queryablest:17,question:[2,3,9,10,16,23],queu:13,queue:[1,2,13,18],quick:16,quickcheck:19,quickli:[8,22,26],quit:[1,2,3,18,26],r3corda:[7,17,18,19,21,24,26,28],r3dlg:20,r3prototyp:[0,10,21,25],r3repositori:10,raft:19,rais:[3,27],ran:25,random:[8,9,19,23],randomis:19,rang:[3,17],rapid:[2,7,12,20],rare:[6,23],rate:2,rather:[2,8,13,18,19,26],raw:[13,15,18],rdbm:[17,19],rdm:19,reach:[3,5,8,9,16],reachabl:18,reactiv:19,read:[2,6,7,8,11,12,15,18,19,26,29],readabl:[6,12,18],readi:[3,18,20,26],readili:[23,27],readm:2,real:[2,16,19,23,26,29],realis:18,realist:23,realiti:5,realli:[2,3,8,18,26],reason:[2,3,5,8,18,19,22,23,26],reassign:26,recal:5,receiv:[1,4,5,8,16,18,19,20,21,22,24,26],receiveandcheckproposedtransact:18,receiveandvalidatetraderequest:18,recent:19,recipi:[4,8,21,24,26],recognis:[8,18,26],recommend:[2,13,29],record:[3,9,17,18,24,25],recordtransact:18,recreat:18,red:[5,10],redeem:[4,26,27],redempt:26,redesign:19,reduc:[2,26],redund:2,ref:[18,23,25,28],refactor:19,refer:[2,3,4,5,6,8,9,16,18,19,23,24,26,28],referenc:[3,24],reflect:[11,18,19,26,27],refresh:19,refus:10,regard:3,regardless:18,regener:[5,20],regist:[2,7,13,14,15,18,29],registerprotocoliniti:18,regul:26,regular:[15,18,23,26],reissu:26,reissuanc:8,reject:26,rel:[6,7,8,27],relabelablestep:18,relai:24,relat:[5,9,11],relationship:26,relax:19,releas:[1,11],relev:[8,9,19,23,26,27],reli:[1,7,8,22],relianc:8,relic:15,religi:2,remain:[7,9,18,25,26],remeb:10,rememb:[2,9,10,22],remind:[18,22],remot:[6,7,10,24],remov:[18,19,20,25,26],renam:[18,19],render:[2,14,18,19],renderifsupport:24,repeat:[2,5,18],replac:[3,5,10,15,19,20,23,26],replai:19,replic:8,repoint:3,report:[18,27],repositori:[2,7,10],repres:[2,4,5,8,16,17,18,23,25,26],represent:[5,17],request:[1,3,8,13,16,17,18,19,22,24],requestingparti:3,requiredcommand:[19,27],requiresinglecommand:[26,27],requirethat:[26,27],research:19,resel:16,reset:[5,14],reshap:8,resolut:[3,8,11,18],resolv:[2,18,23,26],resolvefromtwohash:18,resolvetransactionsprotocol:[18,24],resolvetransactionsprotocoltest:18,resourc:[1,6,8,18,21],respect:[2,8,18,21],respend:8,respond:18,respons:[1,3,8,9,13,17,18],rest:[3,8,12,15,18,19,29],restart:[10,18],restor:18,restrict:2,restructur:27,restructuredtext:0,result:[2,3,5,6,8,16,17,18,19,22,26,27],resum:[18,19],resurrect:18,retain:13,rethrown:1,retri:[12,13,18],retriev:[3,5,18,24],retrieveoutput:28,reus:[1,8,28],reusabl:[16,19,24],reveal:[3,8,18],revers:18,revert:4,review:[2,19,20],revis:5,rewrit:18,richer:7,right:[2,10,15,18,19,20,22,29],rigid:8,rigidli:2,risk:18,robert:19,robust:19,role:[8,9,21,24,25,29],roll:[5,18,19,21],rollov:[23,26],root:[6,7,20,21],rotat:19,roughli:[3,20],rout:[13,18,19],row:[15,17,23,26],rpcexcept:1,rpcreturnsobserv:[1,25],rpcsincevers:1,rui:19,ruin:28,rule:[2,16,18,19,26],run:[0,1,2],runnetwork:18,runrecipi:24,runsend:24,runtim:[2,18],safe:[1,2,8,18,22],sai:[2,3,8,26],sale:[21,26],same:[1,2,3,4,5,6,8,9,16,18,19,21,23,26,27,28],sampl:[7,18],sanction:26,sandbox:[8,9,12,19,22],saniti:18,santiago:19,satisfi:[23,26],save:[2,18,19,26],saw:25,scala:[12,26],scalabl:[2,8],scale:[5,22],scenario:[8,23,29],scene:[18,26],schedul:5,schedulablest:9,scheduledact:9,schema:11,schemafamili:17,schemaopt:17,schemaservic:17,scope:[8,27],scotiabank:19,scrape:15,scratch:[23,29],screen:[2,10,19,26],script:[0,8],scroll:21,scrub:18,seamless:12,search:[10,26],second:[5,18,21,23,26],secondari:18,secp256r1:19,secret:6,section:[6,8,19,20],secur:[6,8,9,11,13,18,19],securehash:[3,23,26,27],securerandom:19,see:[0,1,2,3,4,5,6,7,9,16,17,18,19,21,23,24,25,26,27,29],seed:18,seek:[8,19],seem:8,seen:[2,5,16,18,26],select:[3,10,17,19,26,27],selectschema:17,self:[7,19,25],sell:[18,26,29],seller:11,sellerownerkei:18,sellersig:18,sellertradeinfo:18,semi:8,send:[2,3,8,13,15,16,18,19,20,24,26,28],sendandrec:18,sender:[8,18,21,24],sendsignatur:18,sens:[5,16,26],sensit:[9,22],sent:[9,18,23,26],separ:[3,7,8,13,15,16,18,21,23,26],sequenc:[8,19],sequenti:18,seri:18,serial:[1,12,26],serialis:[1,2,8,12,18,26],seriou:[8,20],serious:29,serv:7,server:[1,6,7,12,13,15,19,26,29],servicehub:[3,7,13,18,24],servicehubintern:[3,7,18],servicetyp:6,session:[9,13,19],sessionid:9,set:[3,5,6,7,8,9],setof:[18,24,27],setter:[17,26],settim:[18,23],settl:[4,18,23,24],settlement:[4,18],setup:[7,9,14,18],setupa:21,setupb:21,sever:[6,7,8,17,18,26,28,29],sha256:[23,26,27],sha256sum:15,sha:[8,15],shape:8,share:[4,5,8,16,18,19,22,24,26,29],shasum:15,she:26,shoot:22,shortcut:12,shorthand:28,should:[2,3,4,7,8,9,10,12,17,18,19,21,22,23,25,26,27,28,29],shoulder:2,shouldn:[18,25,26],show:[8,10,12,14,19,21],shown:[6,14,18,23],shut:24,shutdown:18,side:[1,8,9,14,16,18,22,23,24,25],sidebar:14,sig:[19,26],sign:[3,5,8,12,13,16,18,19,22,23,26,27,28],signatureexcept:18,signaturesfromsel:18,signedtransact:[3,18,23,25,26],signer:[16,26,27],signific:[8,19],significantli:[5,23,24],signoff:3,signwith:[18,23,24,26],signwithecdsa:18,signwithourkei:18,silver:2,similar:[2,8,18,19,26,27],similarli:17,simm:19,simpl:[1,2,4,5,6,8,12,15,18,23,24,25,26,27],simplecash:28,simplecashdoesntcompil:28,simplecashfailswith:28,simplecashsuccess:28,simplecashtweaksuccess:28,simplecashtweaksuccesstopleveltransact:28,simplenam:17,simplenotaryservic:3,simpler:[8,12],simplest:[8,18,26,29],simpli:[2,8,13,17,18,19,23,26,28],simplif:19,simplifi:[2,4,8,23,26,29],simul:[6,11],simultan:[8,18,23,26],sinc:26,singl:[1,2,4,8,11,15,16,18,19,23,26,27],singlegraph:25,singlemessagerecipi:13,singleton:[18,26,27],site:[2,19,20],situat:[2,8],size:[2,5,8,18,25,26,27],skeleton:18,skip:[18,23,26],sleep:24,slf4j:18,slightli:26,slip:20,slot:19,slow:[2,8],slowest:8,small:[1,8,9,16,18,21,22,26],smaller:[19,27],smallest:23,smart:[11,12,16,18,19],smooth:26,snake:28,snapshot:[8,19,20,25],snide:0,snippet:[3,18],socket:15,softwar:[8,18,20,22,29],sofu:19,sold:[18,23],solut:18,solv:[8,16,18],solvenc:16,some:[2,3,4,8,9,12,15,16,17,18,19,21,23,25,26,27,28,29],somed:26,someon:[3,8,26],someth:[1,2,5,8,10,18,19,21,26,27,29],sometim:[8,15,18,23],somewhat:[1,8,18,19],somewher:26,soon:[19,26],sophist:8,sort:[16,18,19],sound:[2,18,26],sourc:[5,6,7,9,10,15,16,18,19,25,26],sparingli:2,speak:19,spec:19,special:[1,3,8,18,28],specif:[1,3,4,7,8,9,13,15,18,19,23,24,26,27],specifi:[0,1,2,3,4,6,7,8,12,17,18,19,23,26,27,28,29],speed:[8,18],spend:[8,12,18,22,26],spent:[8,25,26,28],sphinx:0,sphinx_rtd_them:0,spirit:19,spline:23,split:[8,13,19,23,26,27],splittabl:26,spot:19,spread:[3,18],spreadsheet:16,sql:[12,17,19],src:[6,18,21,24,29],ssl:19,sslkeystor:6,stabilis:20,stabl:20,stack:18,stage:[2,4,18,23,26,29],stai:[8,26],stake:8,standalon:[16,19],standard:[2,7,11,15,18,23,25,26,27],standardis:[8,23],start:[1,2,5],startprotocol:[3,18,24],startup:[15,19],startwith:25,state:[3,4,5],stateandref:[3,18,23,25,26],statehistori:3,stateless:8,statemachineinfo:25,statemachinemanag:18,statemachinerecordedtransactionmap:25,statemachinesandupd:25,statemachinetransactionmap:25,statemachineupd:25,statement:[2,8,16,18,26],stateref:[3,8,9,17,23],statesoftyp:[18,26],statist:15,status:8,stem:26,step:[3,9,11,13,14,17,18],still:[3,8,9,16,18,19,26,29],stock:[8,16],stood:17,stop:[2,18,24],stopnod:18,storag:[6,8,18,23,24],storageservic:24,store:[3,6,7,18,19,23,24,26],stori:[2,19],straightforward:[18,26],stream:[1,13,18,19,25],stress:2,strictli:[5,8],string:[6,16,17,18,23,25,26],strip:26,strong:12,structur:[2,8,10,12,16,18,19,23,26],studi:26,stuff:2,stx1:18,stx2:18,stx:[18,23],sub:[1,2,18],subclass:[4,17,18,23,26],subclaus:27,subgroup:8,subject:[6,7],submiss:16,submit:[2,3,13,18,19,21],subprotocol:[3,11],subscrib:[1,13,19,24,25],subsequ:[26,28],subset:4,substitut:6,subsystem:13,subtask:18,subtl:[2,8],subtract:23,subvert:22,success:24,successor:[3,9,12],succinct:2,sudo:[0,21],suffer:8,suffic:18,suffici:[8,11,16,20,23],suggest:[7,13,26],suggestinterestrateannouncementtimewindow:9,suit:[19,24],suitabl:[9,13,20],sukrit:19,sum:[26,28],sumcashbi:[18,26],summari:[11,19,20,23],summaris:8,sun:2,superclass:[4,19,23],superior:2,supersed:8,supertyp:26,suppli:[4,21],support:[1,2,3,4,5,6,7,8,11,12,13,15,16,17,18,19],supportedschema:17,suppos:[18,26],suppress:[2,19],suppresswarn:2,sure:[3,19,20,21,22,24,26,29],surfac:18,surround:2,surviv:18,suspend:[3,7,11],swapping_signatur:18,swapsignatureswithsel:18,symbol:10,sync:26,synchronis:[2,3,8],syntax:[12,26],system:[1,3,7,8,12,15,17,18,19,21,24,26],tab:[2,10],tabl:[7,15,17,19],tableprefix:17,tackl:[19,27],tag:[1,2,20],tailor:11,take:[2,5,9,12,18,20,22,23,26,27,28],taken:26,talk:18,tamper:18,target:[0,2,6,8,12,15,18],task:[6,7,8,9,18],tcp:[7,15],team:10,teardown:18,techniqu:[2,8,12,16],tediou:26,tell:[0,18,25],templat:[6,7],temporari:7,temporarili:[18,20],tempt:[22,26],ten:26,tenor:[5,15,16,23],term:[4,6,8,9,13,23,27],termin:[5,15,18,21,25],terminolog:8,test:[0,4,6,7,10,11,13,16],testnet:19,testtimelock:26,text:[2,10,15,19,28],than:[1,2,3,7,8,11,13,15,18,19,23,26],thank:19,thedao:19,thei:[2,3,4,5,7,8,9,14,15,16,17,18,19,20,21,22,23,24,26,27],them:[1,2,3,5,8,9,10,12,13,15,17,18,19,20,21,23,24,25,26,27,28,29],theme:22,themselv:[13,14,16,18,22,23,26],theori:[11,16],therefor:[1,7,8,10,12,18,20,22,26],thi:[0,1,2,3,4,5,6,7,8,9,10,11,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],thin:13,thing:[2,8,9,11,12,16,18,19,21,22,23],think:[2,8,10,13,18,22,26],third:[8,19,21],thisstateref:9,thorough:18,those:[3,8,9,15,18,21,22,26],though:[15,18,26],thought:[8,12],thousand:28,threadsaf:2,three:[18,21,23,26],threshold:[19,23],through:[1,5,8,9,13,14,15,18,19,24,26,27,28,29],throughput:[3,8],throwifsignaturesaremiss:18,thrown:[1,18,22,26],thu:[2,3,6,8,9,15,16,19,23,26],ticket:18,tidi:18,tighten:26,tightli:18,time:[2,3,4,5,7,8,9,11,14,15,16,17,18,19,21,23,24],timelin:26,timem:26,timeout:1,timestamp:2,titl:10,todo:[2,18,25,26],togeth:[4,8,19,26,27],token:[18,23,27],told:2,toledgertransact:23,toler:[3,9],too:[2,18,26],took:18,tool:[12,13,15,17,18,19],toolbar:10,top:[2,8,10,13,18,19,21,25,27],topic:[13,26,29],topicsess:[13,19],toplevel:28,topriv:18,tosignedtransact:[3,18,23,24,26],tostr:[2,17,18,26],tostringsshort:18,total:[8,23],toward:[19,20],towiretransact:23,trace:[18,27],track:[8,9,11,13],tracker:18,trade1:21,trade:[3,5,11,12,16],tradeoff:2,trader:[11,19],traderdemo:29,traderequest:18,tradit:8,traffic:[6,8,14],transact:[3,4,8,9,11,15,16,17,18,19,22],transactionbuild:[3,18,19,23,24,26],transactionbuildresult:25,transactionforcontract:[26,27],transactionforverif:26,transactionst:[3,19,23],transactiontyp:[18,19,24],transactionverificationexcept:28,transfer:[22,26,28],transit:[11,22,23,26,29],transmit:[11,19],transport:7,travel:26,treat:[7,22,26],tree:[18,19],tri:[8,19,26],tricki:[8,18],trigger:[3,4,9,16,18,21,25,27],trim:27,trivial:[2,8,24],trust:[4,6,8,22],trustpass:6,truststor:6,truststorepassword:6,truth:18,tupl:2,ture:8,turn:[8,18,23,26,27,28,29],tutori:[1,4,11,12,16,18,19,24,25,26,27,28,29],tweak:28,twice:28,two:[2,3,4,5,8,9,11],twopartydealprotocol:9,twopartytradeprotocol:18,txb:23,txbit:18,txhash:[8,18,25,26],txt:15,type:[2,3,4,5,8,9,11],typenam:18,typeonlycommanddata:26,typesaf:6,typetobui:18,typic:[8,9,13,15,17,18,22,23,24,26,29],ugli:18,ultim:15,unaccept:18,unacceptablepriceexcept:18,unavoid:18,unconsum:17,under:[0,7,19,20,23,26,27,28,29],underli:[4,5,8,18,23],underscor:2,understand:[8,14,15,26,27,29],unencrypt:6,unexpect:[18,22],unfinish:18,unfortun:[18,22,26],unicredit:19,unifi:[19,29],uniform:9,unindex:10,uniqu:[3,8,16,18,19,23,24],uniqueidentifi:11,unit:[3,8,10,11,13,16],univers:19,unix:[15,21],unknow:3,unknown:23,unless:[2,16,18,20,25,26,29],unlik:[4,10,26],unlock:6,unnatur:8,unpack:[7,26],unprocess:27,unqiu:9,unread:18,unrecognis:26,unrel:26,unschedul:9,unserialis:18,unset:5,unspent:8,unstart:18,unsubscrib:1,unsubscript:1,unsupportedoperationexcept:[1,26],until:[1,3,5,8,9,18,19,20,28,29],untrust:18,untrustworthydata:[18,19,22],unverifiedtransact:28,unwrap:[18,19],upcom:[9,19],updat:[1,8,10,13,18,19,20,24,25,26],upgrad:[10,11,17,18,19,26],uphold:26,upload:11,upon:[5,7,18,26],upward:20,url:[6,7,10,15,19,21],usabl:[19,20,26],usag:[2,16,18,25,26],usehttp:6,useless:26,user:[0,2,6,7,8,10,12,16,18,19],usernam:15,usr:0,usual:[2,8,20,26],utc:9,util:[3,19,23,25,26],uuid:23,vagu:2,val:[2,3,9,16,17,18,23,24,25,26,27,28],validatedtransact:[18,24],validatingnotaryservic:3,validfrom:26,valu:[2,3,4,5,6,8,16,18,19,26,27,28],valuabl:16,valuat:5,valueof:25,vanilla:[4,5],vari:11,variabl:[2,5,7,8,18,26],variant:26,variou:[2,8,15,18,22,26],vault:[17,19,25],vaultandupd:25,vega:19,vehicl:8,vendor:[12,15],verbos:26,veri:[2,4,8,12,16,18,22,26,28,29],verif:[4,8,12],verifi:[3,8,11,16,18,19,23,24],verifiedtransact:25,verifyclaus:27,verifypropos:19,verifysignatur:18,versa:[4,5,8,18,23],versu:18,vertic:2,vet:22,via:[0,2,5,8,9,13,14,15,16,17,18,19,21,22,24,29],vice:[4,5,8,18,23],view:[2,5],virtual:[8,11,22],visibl:[3,8],vision:11,visual:19,visualis:[13,25],vital:18,wai:[1,2,3,7,8,9,13,15,16,17,18,19,26,28,29],wait:[9,10,18,19,21],wake:19,wallet:[8,9,18,19,26],walletservic:18,want:[1,2,8,10,15,16,18,19,22,23,26,28,29],warn:1,watch:22,weak:[16,23],wear:20,web:[6,7,11,12,15,16,19],webaddress:6,webapp:19,websocket:18,weekend:5,weight:23,weird:25,well:[0,2,3,5,8,9,12,15,17,18,19,24,25,26,27],went:2,were:[2,8,16,18,26],what:[2,3,4,5,8,9,10,11],whatev:[2,18,23],when:[1,2,3,4,5,6,8,9,13,14,15,16,17,18,19,22,23,24,25,26,28],whenev:2,where:[1,2,3,7,8,11,15,16,17,18,19,20,23,24],wherea:5,wherev:15,whether:[1,3,4,16,18,23,27],which:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28,29],whilst:[8,16,18,19,21,22,26],white:19,whitelist:[4,7,9,18],whitepap:11,who:[2,8,12,18,19,23,26],whole:[3,28],whom:[4,8],whose:[4,15,23],why:[2,8,12],wide:2,widescreen:2,widespread:2,width:[2,23],wiki:[8,26,27],wikipedia:[26,27],window:[3,8,10,14,15,18,21],wiretransact:[3,16,18,23],wish:[8,16,17,18,19,23,26,29],within:[0,2,3,6,8,15,17,21,24,26,28],withitem:[23,26],withkei:18,withnewown:[18,26],without:[2,3],withoutissu:[18,26],withoutown:[26,27],withown:26,won:[13,16,18,19,26,28],word:[2,3],work:[1,2,3,5,6,7,8,9,10,11,12,15,16,18,19,21,23,24,25,26],worker:2,workspac:[6,7],world:[6,8,14,16,18,26,28],worn:26,worri:[2,12,18,26],worst:8,worth:[2,22,26],worthless:16,would:[1,2,3,4,5,7,8,12,15,16,18,22,23,24,26,27,29],wouldn:16,wrap:[2,13,15,18,19,22,23,26,27,29],wrapper:[2,3,18],write:[2,3,11,12,13,15],written:[0,1,5,8,12,19,26],wrong:[1,2,18,21,28],wrote:8,wtx:[3,16,18],www:[0,10],year:[5,18],yet:[2,3,5,8,12,18,19,23,25],yield:8,you:[0,1,2,3,7,8,9,10,12,13,15,16,17,18,19,21,22,23,26,27,28,29],your:[1,2],your_usernam:10,yourself:[8,9,22,23],zero:[8,26],zip:[8,15,24],zone:9,zoneddatetim:9},titles:["Building the documentation","Client RPC","Code style guide","Consensus model","Contract catalogue","Interest Rate Swaps","The Corda Configuration File","Creating a Cordapp","Data model","Event scheduling","Getting set up","Welcome to the Corda repository!","What’s included?","Networking and messaging","Network Simulator","Node administration","Writing oracle services","Persistence","Protocol state machines","Release notes","Release process","Running the demos","Secure coding guidelines","Data types","Using attachments","Client RPC API","Writing a contract","Writing a contract using clauses","Writing a contract test","Where to start"],titleterms:{"class":[26,27],"function":[18,26],about:10,access:15,administr:15,adopt:8,against:7,amount:23,api:[25,26],app:7,approach:16,assert:[2,16],asset:26,attach:[15,21,24],basic:16,bitcoin:8,build:[0,7],buyer:18,cash:[4,23],catalogu:4,chain:28,chang:3,check:26,claus:[26,27],client:[1,25],code:[2,22,26],command:26,comment:2,commerci:[4,26,27],commod:4,comparison:8,compil:2,complain:10,con:8,configur:6,consensu:3,construct:26,continu:16,contract:[4,22,26,27,28],corda:[6,7,11],cordapp:7,creat:[5,7],cryptographi:23,cut:20,data:[8,16,23],databas:15,date:23,debug:[7,27],demo:[21,24,29],detail:5,document:0,download:15,encumbr:26,error:[1,2],ethereum:8,event:9,exampl:[6,9],featur:18,field:6,file:6,fix:15,format:6,fungibleasset:23,futur:18,gener:[2,26],get:10,group:[26,27],guid:2,guidelin:22,handl:1,happen:26,how:[9,26],implement:[9,18],includ:12,instal:7,instanc:5,intellij:10,interest:[4,5,15],interfac:14,introduct:[9,16,18],kei:23,kotlin:12,lack:10,length:2,lifecycl:[5,23],line:2,locat:6,machin:18,make:26,map:[13,17],math:23,messag:13,mileston:19,model:[3,8],monitor:15,multi:[23,26],multipl:3,name:2,namedbyhash:23,network:[13,14],node:[7,15],non:26,notari:3,note:19,object:17,oblig:4,observ:1,obtain:3,oracl:16,orient:26,overview:8,pai:16,paper:[4,26,27],parti:[18,23,26],particular:26,per:16,persist:[7,17],plai:16,plugin:7,pro:8,process:20,progress:18,properti:2,protocol:[1,18,22],publickei:23,put:26,rate:[4,5,15],rational:8,relat:17,releas:[19,20],repositori:11,requir:[0,26],rpc:[1,25],run:[3,21],safeti:1,schedul:9,schema:17,sdk:10,secur:22,seller:18,servic:[3,7,13,16],set:10,signatur:[3,23],simul:14,singl:28,smart:26,space:2,start:[7,18,26,29],state:[7,18,23,26],step:20,style:[2,8],subprotocol:18,summari:27,support:23,suspend:18,swap:[4,5],technic:5,test:[18,26,28],theori:18,thing:26,thread:[1,2],time:26,timestamp:3,track:18,trade:18,tradeoff:8,trader:[21,29],transact:[23,26,28],transmit:26,tree:23,two:[16,18],type:[13,23],uniqueidentifi:23,unit:18,upload:15,utxo:8,valid:3,vari:16,verif:23,verifi:26,version:[1,18],view:7,warn:2,web:21,welcom:11,what:12,where:[26,29],wire:1,without:10,write:[16,26,27,28],your:[7,15,18,26]}}) \ No newline at end of file diff --git a/docs/build/html/secure-coding-guidelines.html b/docs/build/html/secure-coding-guidelines.html index 0d17517fcb..6bec1b594f 100644 --- a/docs/build/html/secure-coding-guidelines.html +++ b/docs/build/html/secure-coding-guidelines.html @@ -93,6 +93,7 @@
      • Data types
      • Consensus model
      • Networking and messaging
      • +
      • Persistence
      • Creating a Cordapp
      • Running the demos
      • Node administration
      • @@ -104,12 +105,16 @@
      • Writing a contract
      • Writing a contract using clauses
      • Writing a contract test
      • +
      • Client RPC API
      • Protocol state machines
      • Writing oracle services
      • +
      • Using attachments
      • Event scheduling
      • -
      • Secure coding guidelines
      • -
      • Protocols
      • -
      • Contracts
      • +
      • Secure coding guidelines +

      Contracts

        @@ -180,9 +185,8 @@ to block various kinds of attack. Whilst it may be tempting to just assume no re attempt to subvert your trades using protocol level attacks, relying on trust for software security makes it harder to scale up your operations later when you might want to add counterparties quickly and without extensive vetting.

        -
        -

        Protocols

        +

        Protocols

        Protocol state machines are how your app communicates with other parties on the network. Therefore they are the typical entry point for malicious data into your app and must be treated with care.

        The receive methods return data wrapped in the UntrustworthyData<T> marker type. This type doesn’t add @@ -207,7 +211,7 @@ sides of the protocol. are about to sign, and that nothing has changed in the small print!

        -

        Contracts

        +

        Contracts

        Contracts are arbitrary functions inside a JVM sandbox and therefore they have a lot of leeway to shoot themselves in the foot. Things to watch out for:

          @@ -216,6 +220,7 @@ fields are changing except the intended fields!
        • Accidentally catching and discarding exceptions that might be thrown by validation logic.
        • Calling into other contracts via virtual methods if you don’t know what those other contracts are or might do.
        +
        diff --git a/docs/build/html/transaction-data-types.html b/docs/build/html/transaction-data-types.html index c75d165c1b..3e829ca35c 100644 --- a/docs/build/html/transaction-data-types.html +++ b/docs/build/html/transaction-data-types.html @@ -97,12 +97,18 @@
      • FungibleAssets and Cash
      • Transaction lifecycle types
      • Party and PublicKey
      • +
      • Multi-signature support +
      • Date support
      • Cryptography & maths support
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • Node administration
    • @@ -114,12 +120,12 @@
    • Writing a contract
    • Writing a contract using clauses
    • Writing a contract test
    • +
    • Client RPC API
    • Protocol state machines
    • Writing oracle services
    • +
    • Using attachments
    • Event scheduling
    • Secure coding guidelines
    • -
    • Protocols
    • -
    • Contracts

    Contracts

      @@ -316,6 +322,50 @@ that has been signed by a set of parties.

      fleshed out.

      +
      +

      Multi-signature support

      +

      Corda supports scenarios where more than one key or party is required to authorise a state object transition, for example: +“Either the CEO or 3 out of 5 of his assistants need to provide signatures”.

      +
      +

      Key Trees

      +

      This is achieved by public key composition, using a tree data structure PublicKeyTree. A PublicKeyTree stores the +cryptographic public key primitives in its leaves and the composition logic in the intermediary nodes. Every intermediary +node specifies a threshold of how many child signatures it requires.

      +

      An illustration of an “either Alice and Bob, or Charlie” public key tree:

      +_images/public-key-tree.png + +++ + + + +
      width:300px
      +

      To allow further flexibility, each child node can have an associated custom weight (the default is 1). The threshold +then specifies the minimum total weight of all children required. Our previous example can also be expressed as:

      +_images/public-key-tree-2.png + +++ + + + +
      width:300px
      +
      +
      +

      Verification

      +

      Signature verification is performed in two stages:

      +
      +
        +
      1. Given a list of signatures, each signature is verified against the expected content.
      2. +
      3. The public keys corresponding to the signatures are matched against the leaves of the public key tree in question, +and the total combined weight of all children is calculated for every intermediary node. If all thresholds are satisfied, +the public key tree requirement is considered to be met.
      4. +
      +
      +
      +

      Date support

      There are a number of supporting interfaces and classes for use by contract which deal with dates (especially in the diff --git a/docs/build/html/tutorial-attachments.html b/docs/build/html/tutorial-attachments.html new file mode 100644 index 0000000000..f1d1764827 --- /dev/null +++ b/docs/build/html/tutorial-attachments.html @@ -0,0 +1,336 @@ + + + + + + + + + + + Using attachments — R3 Corda latest documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      + + + + +
      + + + + + + +
      +
      + + + + + + +
      + +
      +
      +
      +
      + +
      +

      Using attachments

      +

      Attachments are (typically large) Zip/Jar files referenced within a transaction, but not included in the transaction +itself. These files can be requested from the originating node as needed, although in many cases will be cached within +nodes already. Examples include:

      +
        +
      • Contract executable code
      • +
      • Metadata about a transaction, such as PDF version of an invoice being settled
      • +
      • Shared information to be permanently recorded on the ledger
      • +
      +

      To add attachments the file must first be added to the node’s storage service using StorageService.importAttachment(), +which returns a unique ID that can be added using TransactionBuilder.addAttachment(). Attachments can also be +uploaded and downloaded via HTTP, to enable integration with external systems. For instructions on HTTP upload/download +please see “Node administration”.

      +

      Normally attachments on transactions are fetched automatically via the ResolveTransactionsProtocol when verifying +received transactions. Attachments are needed in order to validate a transaction (they include, for example, the +contract code), so must be fetched before the validation process can run. ResolveTransactionsProtocol calls +FetchTransactionsProtocol to perform the actual retrieval.

      +

      It is encouraged that where possible attachments are reusable data, so that nodes can meaningfully cache them.

      +
      +

      Attachments demo

      +

      There is a worked example of attachments, which relays a simple document from one node to another. The “two party +trade protocol” also includes an attachment, however it is a significantly more complex demo, and less well suited +for a tutorial.

      +

      The demo code is in the file “src/main/kotlin/com/r3corda/demos/attachment/AttachmentDemo.kt”, with the core logic +contained within the two functions runRecipient() and runSender(). We’ll look at the recipient function first; +this subscribes to notifications of new validated transactions, and if it receives a transaction containing attachments, +loads the first attachment from storage, and checks it matches the expected attachment ID. ResolveTransactionsProtocol +has already fetched all attachments from the remote node, and as such the attachments are available from the node’s +storage service. Once the attachment is verified, the node shuts itself down.

      +
      private fun runRecipient(node: Node) {
      +    val serviceHub = node.services
      +
      +    // Normally we would receive the transaction from a more specific protocol, but in this case we let [FinalityProtocol]
      +    // handle receiving it for us.
      +    serviceHub.storageService.validatedTransactions.updates.subscribe { event ->
      +        // When the transaction is received, it's passed through [ResolveTransactionsProtocol], which first fetches any
      +        // attachments for us, then verifies the transaction. As such, by the time it hits the validated transaction store,
      +        // we have a copy of the attachment.
      +        val tx = event.tx
      +        if (tx.attachments.isNotEmpty()) {
      +            val attachment = serviceHub.storageService.attachments.openAttachment(tx.attachments.first())
      +            assertEquals(PROSPECTUS_HASH, attachment?.id)
      +
      +            println("File received - we're happy!\n\nFinal transaction is:\n\n${Emoji.renderIfSupported(event.tx)}")
      +            thread {
      +                node.stop()
      +            }
      +        }
      +    }
      +}
      +
      +
      +

      The sender correspondingly builds a transaction with the attachment, then calls FinalityProtocol to complete the +transaction and send it to the recipient node:

      +
      private fun runSender(node: Node, otherSide: Party) {
      +    val serviceHub = node.services
      +    // Make sure we have the file in storage
      +    if (serviceHub.storageService.attachments.openAttachment(PROSPECTUS_HASH) == null) {
      +        com.r3corda.demos.Role::class.java.getResourceAsStream("bank-of-london-cp.jar").use {
      +            val id = node.storage.attachments.importAttachment(it)
      +            assertEquals(PROSPECTUS_HASH, id)
      +        }
      +    }
      +
      +    // Create a trivial transaction that just passes across the attachment - in normal cases there would be
      +    // inputs, outputs and commands that refer to this attachment.
      +    val ptx = TransactionType.General.Builder(notary = null)
      +    ptx.addAttachment(serviceHub.storageService.attachments.openAttachment(PROSPECTUS_HASH)!!.id)
      +
      +    // Despite not having any states, we have to have at least one signature on the transaction
      +    ptx.signWith(ALICE_KEY)
      +
      +    // Send the transaction to the other recipient
      +    val tx = ptx.toSignedTransaction()
      +    serviceHub.startProtocol(LOG_SENDER, FinalityProtocol(tx, emptySet(), setOf(otherSide))).success {
      +        thread {
      +            Thread.sleep(1000L) // Give the other side time to request the attachment
      +            node.stop()
      +        }
      +    }.failure {
      +        println("Failed to relay message ")
      +    }
      +}
      +
      +
      +
      +
      + + +
      +
      + + +
      +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/build/html/tutorial-clientrpc-api.html b/docs/build/html/tutorial-clientrpc-api.html new file mode 100644 index 0000000000..0a049e26fe --- /dev/null +++ b/docs/build/html/tutorial-clientrpc-api.html @@ -0,0 +1,374 @@ + + + + + + + + + + + Client RPC API — R3 Corda latest documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + +
      + + + + + + +
      +
      + + + + + + +
      + +
      +
      +
      +
      + +
      +

      Client RPC API

      +

      In this tutorial we will build a simple command line utility that connects to a node and dumps the transaction graph to +the standard output. We will then put some simple visualisation on top. For an explanation on how the RPC works see +Client RPC.

      +

      We start off by connecting to the node itself. For the purposes of the tutorial we will run the Trader demo on some +local port and connect to the Buyer side. We will pass in the address as a command line argument. To connect to the node +we also need to access the certificates of the node, we will access the node’s certificates directory directly.

      +
      enum class PrintOrVisualise {
      +    Print,
      +    Visualise
      +}
      +
      +fun main(args: Array<String>) {
      +    if (args.size < 2) {
      +        throw IllegalArgumentException("Usage: <binary> <node address> [Print|Visualise]")
      +    }
      +    val nodeAddress = HostAndPort.fromString(args[0])
      +    val printOrVisualise = PrintOrVisualise.valueOf(args[1])
      +    val certificatesPath = Paths.get("build/trader-demo/buyer/certificates")
      +
      +
      +

      Now we can connect to the node itself:

      +
          val client = CordaRPCClient(nodeAddress, certificatesPath)
      +    client.start()
      +    val proxy = client.proxy()
      +
      +
      +

      proxy now exposes the full RPC interface of the node:

      +
          /**
      +     * Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.
      +     */
      +    @RPCReturnsObservables
      +    fun stateMachinesAndUpdates(): Pair<List<StateMachineInfo>, Observable<StateMachineUpdate>>
      +
      +    /**
      +     * Returns a pair of head states in the vault and an observable of future updates to the vault.
      +     */
      +    @RPCReturnsObservables
      +    fun vaultAndUpdates(): Pair<List<StateAndRef<ContractState>>, Observable<Vault.Update>>
      +
      +    /**
      +     * Returns a pair of all recorded transactions and an observable of future recorded ones.
      +     */
      +    @RPCReturnsObservables
      +    fun verifiedTransactions(): Pair<List<SignedTransaction>, Observable<SignedTransaction>>
      +
      +    /**
      +     * Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future
      +     * such mappings as well.
      +     */
      +    @RPCReturnsObservables
      +    fun stateMachineRecordedTransactionMapping(): Pair<List<StateMachineTransactionMapping>, Observable<StateMachineTransactionMapping>>
      +
      +    /**
      +     * Executes the given command, possibly triggering cash creation etc.
      +     * TODO: The signature of this is weird because it's the remains of an old service call, we should have a call for each command instead.
      +     */
      +    fun executeCommand(command: ClientToServiceCommand): TransactionBuildResult
      +
      +
      +

      The one we need in order to dump the transaction graph is verifiedTransactions. The type signature tells us that the +RPC will return a list of transactions and an Observable stream. This is a general pattern, we query some data and the +node will return the current snapshot and future updates done to it.

      +
          val (transactions: List<SignedTransaction>, futureTransactions: Observable<SignedTransaction>) = proxy.verifiedTransactions()
      +
      +
      +

      The graph will be defined by nodes and edges between them. Each node represents a transaction and edges represent +output-input relations. For now let’s just print NODE <txhash> for the former and EDGE <txhash> <txhash> for the +latter.

      +
          when (printOrVisualise) {
      +        PrintOrVisualise.Print -> {
      +            futureTransactions.startWith(transactions).subscribe { transaction ->
      +                println("NODE ${transaction.id}")
      +                transaction.tx.inputs.forEach { input ->
      +                    println("EDGE ${input.txhash} ${transaction.id}")
      +                }
      +            }
      +            CompletableFuture<Unit>().get() // block indefinitely
      +        }
      +
      +
      +

      Now we can start the trader demo as per described in Running the demos:

      +
      # Build the demo
      +./gradlew installDist
      +# Start the buyer
      +./build/install/r3prototyping/bin/trader-demo --role=BUYER
      +
      +
      +

      In another terminal we can connect to it with our client:

      +
      # Connect to localhost:31337
      +./docs/source/example-code/build/install/docs/source/example-code/bin/client-rpc-tutorial localhost:31337 Print
      +
      +
      +

      We should see some NODE-s printed. This is because the buyer self-issues some cash for the demo. +Unless we ran the seller before we shouldn’t see any EDGE-s because the cash hasn’t been spent yet.

      +

      In another terminal we can now start the seller:

      +
      # Start sellers in a loop
      +for i in {0..9} ; do ./build/install/r3prototyping/bin/trader-demo --role=SELLER ; done
      +
      +
      +

      We should start seeing new NODE-s and EDGE-s appearing.

      +

      Now let’s try to visualise the transaction graph. We will use a graph drawing library called graphstream

      +
              PrintOrVisualise.Visualise -> {
      +            val graph = SingleGraph("transactions")
      +            transactions.forEach { transaction ->
      +                graph.addNode<Node>("${transaction.id}")
      +            }
      +            transactions.forEach { transaction ->
      +                transaction.tx.inputs.forEach { ref ->
      +                    graph.addEdge<Edge>("$ref", "${ref.txhash}", "${transaction.id}")
      +                }
      +            }
      +            futureTransactions.subscribe { transaction ->
      +                graph.addNode<Node>("${transaction.id}")
      +                transaction.tx.inputs.forEach { ref ->
      +                    graph.addEdge<Edge>("${ref}", "${ref.txhash}", "${transaction.id}")
      +                }
      +            }
      +            graph.display()
      +        }
      +    }
      +}
      +
      +
      +

      If we run the client with Visualise we should see a simple graph being drawn as new transactions are being created +by the seller runs.

      +

      That’s it! We saw how to connect to the node and stream data from it.

      +
      + + +
      +
      + + +
      +
      + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/build/html/tutorial-contract-clauses.html b/docs/build/html/tutorial-contract-clauses.html index c8ed86f0af..4ed8adb243 100644 --- a/docs/build/html/tutorial-contract-clauses.html +++ b/docs/build/html/tutorial-contract-clauses.html @@ -93,6 +93,7 @@
    • Data types
    • Consensus model
    • Networking and messaging
    • +
    • Persistence
    • Creating a Cordapp
    • Running the demos
    • Node administration
    • @@ -111,12 +112,12 @@
  • Writing a contract test
  • +
  • Client RPC API
  • Protocol state machines
  • Writing oracle services
  • +
  • Using attachments
  • Event scheduling
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • Contracts

    Contracts

    +
  • Client RPC API
  • Protocol state machines
  • Writing oracle services
  • +
  • Using attachments
  • Event scheduling
  • Secure coding guidelines
  • -
  • Protocols
  • -
  • Contracts
  • Contracts

    Contracts