Regenerate docs.

This commit is contained in:
Clinton Alexander 2017-01-09 15:05:00 +00:00
parent 2d07014bf9
commit 7c1ec7aa41
250 changed files with 2743 additions and 2188 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -98,7 +98,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="inthebox.html">What&#8217;s included?</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting-set-up-fault-finding.html">Getting set up: troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting-set-up-fault-finding.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="running-the-demos.html">Running the demos</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">CLI vs IDE</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ide-intellij">IDE - IntelliJ</a></li>
@ -120,17 +120,12 @@
<li class="toctree-l1"><a class="reference internal" href="transaction-data-types.html">Data types</a></li>
<li class="toctree-l1"><a class="reference internal" href="merkle-trees.html">Transaction tear-offs</a></li>
<li class="toctree-l1"><a class="reference internal" href="consensus.html">Consensus model</a></li>
<li class="toctree-l1"><a class="reference internal" href="clauses.html">Clauses key concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="clauses.html">Clauses</a></li>
</ul>
<p class="caption"><span class="caption-text">CorDapps</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="creating-a-cordapp.html">CorDapps Background</a></li>
<li class="toctree-l1"><a class="reference internal" href="creating-a-cordapp.html#gradle-plugins-for-cordapps">Gradle plugins for CorDapps</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html">The CorDapp Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html#building-the-cordapp-template">Building the CorDapp template</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html#running-the-cordapp-template">Running the CorDapp template</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html#interacting-with-the-cordapp-template">Interacting with the CorDapp template</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html#extending-the-cordapp-template">Extending the CorDapp template</a></li>
<li class="toctree-l1"><a class="reference internal" href="creating-a-cordapp.html">CorDapp basics</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-cordapp.html">The CorDapp template</a></li>
</ul>
<p class="caption"><span class="caption-text">The Corda node</span></p>
<ul>
@ -149,23 +144,20 @@
<li class="toctree-l1"><a class="reference internal" href="tutorial-contract.html">Writing a contract</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-contract-clauses.html">Writing a contract using clauses</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-test-dsl.html">Writing a contract test</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-integration-testing.html">Integration Test Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-integration-testing.html">Integration testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-clientrpc-api.html">Client RPC API tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-building-transactions.html">Building Transactions</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-building-transactions.html">Building transactions</a></li>
<li class="toctree-l1"><a class="reference internal" href="flow-state-machines.html">Writing flows</a></li>
<li class="toctree-l1"><a class="reference internal" href="flow-testing.html">Writing flow tests</a></li>
<li class="toctree-l1"><a class="reference internal" href="running-a-notary.html">Running a notary service</a></li>
<li class="toctree-l1"><a class="reference internal" href="using-a-notary.html">Using a notary service</a></li>
<li class="toctree-l1"><a class="reference internal" href="oracles.html">Writing oracle services</a></li>
<li class="toctree-l1"><a class="reference internal" href="oracles.html#implementing-an-oracle-with-continuously-varying-data">Implementing an oracle with continuously varying data</a></li>
<li class="toctree-l1"><a class="reference internal" href="oracles.html#using-an-oracle">Using an oracle</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-attachments.html">Using attachments</a></li>
<li class="toctree-l1"><a class="reference internal" href="event-scheduling.html">Event scheduling</a></li>
</ul>
<p class="caption"><span class="caption-text">Other</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="network-simulator.html">Network Simulator</a></li>
<li class="toctree-l1"><a class="reference internal" href="initial-margin-agreement.html">Initial margin agreements</a></li>
</ul>
<p class="caption"><span class="caption-text">Component library</span></p>
<ul>
@ -175,11 +167,9 @@
<p class="caption"><span class="caption-text">Appendix</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="loadtesting.html">Load testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="setting-up-a-corda-network.html">Introduction - What is a corda network?</a></li>
<li class="toctree-l1"><a class="reference internal" href="setting-up-a-corda-network.html#setting-up-your-own-network">Setting up your own network</a></li>
<li class="toctree-l1"><a class="reference internal" href="setting-up-a-corda-network.html">What is a corda network?</a></li>
<li class="toctree-l1"><a class="reference internal" href="secure-coding-guidelines.html">Secure coding guidelines</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-process.html">Release process</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-process.html#steps-to-cut-a-release">Steps to cut a release</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">Release notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="codestyle.html">Code style guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="building-the-docs.html">Building the documentation</a></li>
@ -235,17 +225,17 @@
<div class="section" id="cli-vs-ide">
<h1>CLI vs IDE<a class="headerlink" href="#cli-vs-ide" title="Permalink to this headline"></a></h1>
<p>We have tried to make every demo, example, tutorial and sample to be both usuable via the command line and also the IntelliJ IDE.
Most developers will find writing, editing and debugging code more easily done via tools such as an IDE, but when code needs
to be deployed to run as nodes, control must be done via the command line - no organisations allow their systems to be running via
<p>We have tried to make every demo, example, tutorial and sample usable via both the command line and the IntelliJ IDE.
Most developers will find writing, editing and debugging code more easy with tools such as an IDE. But when a production node
is deployed, it will be controlled via the command line - no organisation allows their systems to be running via
a developer environment.</p>
<div class="section" id="ide-intellij">
<h2>IDE - IntelliJ<a class="headerlink" href="#ide-intellij" title="Permalink to this headline"></a></h2>
<p>IntelliJ (the preferred IDE in R3) integrates well with gradle (our chosed build, deploy and CLI tool). IntelliJ understands gradle
tasks and dependencies, automatically loading them in the background when a project is first loaded or the gradle
<p>IntelliJ (R3&#8217;s preferred IDE) integrates well with gradle (our chosen build, deployment and CLI tool). IntelliJ understands gradle
tasks and dependencies, automatically loading them in the background when a project is first opened or the gradle
project changes. Occasionally, however, you may need to refresh the gradle project manually - but this is hinted to you
by the IDE. It&#8217;s a good idea to do this before carrying on with other work (and in fact you may find it is essential to pick
up new libraries etc).</p>
up new libraries, etc.).</p>
<p>There are some great resources about how to get started using IntelliJ. As opposed to trying to repeat them here, we advise
you to go to the <a class="reference external" href="https://www.jetbrains.com/idea/documentation/">IntelliJ docs here</a>.</p>
</div>
@ -260,20 +250,20 @@ simple windows syntax <code class="docutils literal"><span class="pre">gradle</s
and run significant parts of Corda demos and tools. Gradle is highly extensible and we use it for downloading required resources,
building components, installing those built components into shared areas, configuring the scripts that run nodes, starting
up demonstration API calls amongst other things. It is exceptionally good at deriving dependency maps and therefore performing
the preceeding tasks required in order to do the requested task. However, when confusing build errors manifest, then sometimes
the preceding tasks required in order to do the requested task. However, when confusing build errors manifest, then sometimes
a <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">clean</span></code> may be required in order to clear out any build areas that have an inconsistent state. The total build time
from downloading / cloaning the repo to a complete build should be only a few minutes, obviously slightly longer if the
from downloading / cloning the repo to a complete build should be only a few minutes, obviously slightly longer if the
unit tests are run.</p>
</div>
<div class="section" id="frequently-used-gradle-tasks">
<h3>Frequently Used Gradle Tasks<a class="headerlink" href="#frequently-used-gradle-tasks" title="Permalink to this headline"></a></h3>
<p>Note that the list of tasks can be ran for any gradle project can be displayed by running the task <code class="docutils literal"><span class="pre">tasks</span></code>. Also note that
gradle is hierachical and therefore tasks in child directories can be run using a colon seperator - ie if you want to run
the sample attachment-demo <code class="docutils literal"><span class="pre">runSender</span></code> you would use the command <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">samples:attachment-demo:runSender</span></code></p>
<p>Note that the list of tasks can be ran for any gradle project can be displayed by running the task <code class="docutils literal"><span class="pre">tasks</span></code>. Also, note that
gradle is hierarchical and therefore tasks in child directories can be run using a colon separator. For example, if you want to run
the sample attachment demo run configuration <code class="docutils literal"><span class="pre">runSender</span></code>, you would use the command <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">samples:attachment-demo:runSender</span></code></p>
<p>The most frequent gradle tasks you will probably be running are <code class="docutils literal"><span class="pre">build</span></code> and <code class="docutils literal"><span class="pre">install</span></code>. The <code class="docutils literal"><span class="pre">build</span></code> command also executes the
unit tests as well. If you want to build without this level of verification, then use the <code class="docutils literal"><span class="pre">assemble</span></code> command - but we do
not recommend this. After running build, the <code class="docutils literal"><span class="pre">install</span></code> tasks copies over the built jars into the local maven repository
which will then makes these available for either the sample code or use with the CorDapp template.</p>
which will then make these available for either the sample code or use with the CorDapp template.</p>
</div>
</div>
<div class="section" id="debugging">

View File

@ -1,19 +1,19 @@
CLI vs IDE
==========
We have tried to make every demo, example, tutorial and sample to be both usuable via the command line and also the IntelliJ IDE.
Most developers will find writing, editing and debugging code more easily done via tools such as an IDE, but when code needs
to be deployed to run as nodes, control must be done via the command line - no organisations allow their systems to be running via
We have tried to make every demo, example, tutorial and sample usable via both the command line and the IntelliJ IDE.
Most developers will find writing, editing and debugging code more easy with tools such as an IDE. But when a production node
is deployed, it will be controlled via the command line - no organisation allows their systems to be running via
a developer environment.
IDE - IntelliJ
--------------
IntelliJ (the preferred IDE in R3) integrates well with gradle (our chosed build, deploy and CLI tool). IntelliJ understands gradle
tasks and dependencies, automatically loading them in the background when a project is first loaded or the gradle
IntelliJ (R3's preferred IDE) integrates well with gradle (our chosen build, deployment and CLI tool). IntelliJ understands gradle
tasks and dependencies, automatically loading them in the background when a project is first opened or the gradle
project changes. Occasionally, however, you may need to refresh the gradle project manually - but this is hinted to you
by the IDE. It's a good idea to do this before carrying on with other work (and in fact you may find it is essential to pick
up new libraries etc).
up new libraries, etc.).
There are some great resources about how to get started using IntelliJ. As opposed to trying to repeat them here, we advise
you to go to the `IntelliJ docs here <https://www.jetbrains.com/idea/documentation/>`_.
@ -32,22 +32,22 @@ As well as including the most significant run and build configurations in the ID
and run significant parts of Corda demos and tools. Gradle is highly extensible and we use it for downloading required resources,
building components, installing those built components into shared areas, configuring the scripts that run nodes, starting
up demonstration API calls amongst other things. It is exceptionally good at deriving dependency maps and therefore performing
the preceeding tasks required in order to do the requested task. However, when confusing build errors manifest, then sometimes
the preceding tasks required in order to do the requested task. However, when confusing build errors manifest, then sometimes
a ``gradle clean`` may be required in order to clear out any build areas that have an inconsistent state. The total build time
from downloading / cloaning the repo to a complete build should be only a few minutes, obviously slightly longer if the
from downloading / cloning the repo to a complete build should be only a few minutes, obviously slightly longer if the
unit tests are run.
Frequently Used Gradle Tasks
****************************
Note that the list of tasks can be ran for any gradle project can be displayed by running the task ``tasks``. Also note that
gradle is hierachical and therefore tasks in child directories can be run using a colon seperator - ie if you want to run
the sample attachment-demo ``runSender`` you would use the command ``gradle samples:attachment-demo:runSender``
Note that the list of tasks can be ran for any gradle project can be displayed by running the task ``tasks``. Also, note that
gradle is hierarchical and therefore tasks in child directories can be run using a colon separator. For example, if you want to run
the sample attachment demo run configuration ``runSender``, you would use the command ``gradle samples:attachment-demo:runSender``
The most frequent gradle tasks you will probably be running are ``build`` and ``install``. The ``build`` command also executes the
unit tests as well. If you want to build without this level of verification, then use the ``assemble`` command - but we do
not recommend this. After running build, the ``install`` tasks copies over the built jars into the local maven repository
which will then makes these available for either the sample code or use with the CorDapp template.
which will then make these available for either the sample code or use with the CorDapp template.
Debugging
---------

View File

@ -94,7 +94,7 @@ specifying each of the three ports above in different windows, e.g.
You will be able to view the basic web interface identifying the different banks.
Now lets take a look at a transaction between Bank A and B which is not visible to Bank C. This illustrates the restricted data sharing feature of Corda, i.e. data is shared on a need-to-know basis. Nodes provide the dependency graph of a transaction they are sending to another node on demand, but there is no global broadcast of all transactions.
Now let's take a look at a transaction between Bank A and B which is not visible to Bank C. This illustrates the restricted data sharing feature of Corda, i.e. data is shared on a need-to-know basis. Nodes provide the dependency graph of a transaction they are sending to another node on demand, but there is no global broadcast of all transactions.
1. In the browser tab for Bank A (the top right hand corner shows which bank you are administering) click 'Create New Trade' from the top navigation bar
2. Select to trade with Bank B
@ -121,12 +121,12 @@ Open two browser tabs and direct one to each of the following:
http://localhost:11005/web/irsdemo
http://localhost:11007/web/irsdemo
You will be able to see the the nodes' view of the ledger.
You will be able to see the nodes' view of the ledger.
.. image:: resources/azure_vm_10_52.png
:width: 300px
Now lets take a look at how the interest rates oracle provides interest rates for a deal with a semi-annual payment frequency, and how the two counterparties to the trade see the same deal information on their own nodes, i.e. you see what I see.
Now let's take a look at how the interest rates oracle provides interest rates for a deal with a semi-annual payment frequency, and how the two counterparties to the trade see the same deal information on their own nodes, i.e. you see what I see.
1. In the browser tab for Bank A click 'Create Deal' from the top navigation bar
2. Modify the terms of the IRS deal, or leave as default

View File

@ -1,5 +1,5 @@
Clauses key concepts
====================
Clauses
=======
Basic clause structure
----------------------
@ -34,7 +34,7 @@ is no different than normal contract verification but using clauses it's split i
When writing a contract you need to override the contract's ``verify`` function which should call ``verifyClause``. See: :ref:`verify_ref`.
.. note:: A clause ``verify`` function returns the set of processed commands, at the end of ``verifyClause`` execution
there is a check if all of transaction's commands were matched. If not then an exception is raised. This is done to
there is a check if all of transaction's commands were matched. If not, then an exception is raised. This is done to
enforce that spurious commands cannot be included in a transaction, ensuring that the transaction is as clear as
possible. As an example imagine a transaction with two commands: ``Move`` and ``Issue`` included, with verification written
using ``FirstComposition`` on clauses that require single command set. Thus only one of transaction's commands will match

View File

@ -77,7 +77,7 @@ When writing code, imagine that you have an intelligent colleague looking over y
as you go. Think about what they might ask, and then put your answers in the code.
Dont be afraid of redundancy, many people will start reading your code in the middle with little or no idea of what
its about, eg, due to a bug or a need to introduce a new feature. Its OK to repeat basic facts or descriptions in
its about (e.g. due to a bug or a need to introduce a new feature). Its OK to repeat basic facts or descriptions in
different places if that increases the chance developers will see something important.
API docs: all public methods, constants and classes should have doc comments in either JavaDoc or KDoc. API docs should:
@ -151,7 +151,7 @@ trivial. If the synchronisation in your code is getting more complex, consider t
Immutable data structures can be very useful for making it easier to reason about multi-threaded code. Kotlin makes it
easy to define these via the "data" attribute, which auto-generates a copy() method. That lets you create clones of
an immutable object with arbitrary fields adjusted in the clone. But if you can't use the data attribute for some
reason, for instance, you are working in Java or because you need an inheritance heirarchy, then consider that making
reason, for instance, you are working in Java or because you need an inheritance hierarchy, then consider that making
a class fully immutable may result in very awkward code if there's ever a need to make complex changes to it. If in
doubt, ask. Remember, never apply any design pattern religiously.

View File

@ -116,7 +116,7 @@ As a result, we need to ensure that the notary either has to also sign the trans
or perform timestamping *and* notarisation at the same time, which is the chosen behaviour for this model.
There will never be exact clock synchronisation between the party creating the transaction and the notary.
This is not only due to physics, network latencies etc but because between inserting the command and getting the
This is not only due to physics, network latencies, etc., but because between inserting the command and getting the
notary to sign there may be many other steps, like sending the transaction to other parties involved in the trade
as well, or even requesting human signoff. Thus the time observed by the notary may be quite different to the
time observed in step 1.

View File

@ -19,7 +19,7 @@ objects of the correct value are received by the beneficiary as part of the sett
The cash contract supports issuing, moving and exiting (destroying) states. Note, however, that issuance cannot be part
of the same transaction as other cash commands, in order to minimise complexity in balance verification.
Cash shares a common superclass, ``OnChainAsset``, with the Commodity contract. This implements common behaviour of
Cash shares a common superclass, ``OnLedgerAsset``, with the Commodity contract. This implements common behaviour of
assets which can be issued, moved and exited on chain, with the subclasses handling asset-specific data types and
behaviour.
@ -63,7 +63,7 @@ other obligation commands in the same transaction, as it applies to state object
as such applies across multiple terms.
All other obligation contract commands specify obligation terms (what is to be delivered, by whom and by when)
which are used as a grouping key for input/output states and commands. Issuance and lifecyle commands are mutually
which are used as a grouping key for input/output states and commands. Issuance and lifecycle commands are mutually
exclusive of other commands (move/exit) which apply to the same obligation terms, but multiple commands can be present
in a single transaction if they apply to different terms. For example, a contract can have two different ``Issue``
commands as long as they apply to different terms, but could not have an ``Issue`` and a ``Net``, or an ``Issue`` and

View File

@ -35,8 +35,8 @@ rate value becoming available and then the curved arrow indicates to which perio
.. image:: contract-irs.png
Two days (by convention, although this can be modified), before the value date (ie the start of the swap) in the red
period the reference rate is observed from an oracle and fixed in the instance at 1.1%. At the end of the accrual period,
Two days (by convention, although this can be modified) before the value date (i.e. at the start of the swap) in the red
period, the reference rate is observed from an oracle and fixed - in this instance, at 1.1%. At the end of the accrual period,
there is an obligation from the floating leg payer of 1.1% * notional amount * days in the accrual period / 360.
(Also note that the result of "days in the accrual period / 360" is also known as the day count factor, although other
conventions are allowed and will be supported). This amount is then paid at a determined time at the end of the accrual period.
@ -57,7 +57,7 @@ To see the minimum dataset required for the creation of an IRS, refer to ``IRSTe
function ``IRSTests.createDummyIRS()``. Implicitly, when the agree function is called, the floating leg and fixed
leg payment schedules are created (more details below) and can be queried.
Once an IRS hase been agreed, then the the only valid operation is to apply a fixing on one of the entries in the
Once an IRS has been agreed, then the only valid operation is to apply a fixing on one of the entries in the
``Calculation.floatingLegPaymentSchedule`` map. Fixes do not have to be applied in order (although it does make most
sense to do them so).
@ -86,7 +86,7 @@ option), a termination date (and optional adjustment), the day count basis for d
and calendar for the payment as well as the accrual adjustment options.
The ``FixedLeg`` contains all the details for the ``CommonLeg`` as well as payer details, the rate the leg is fixed at
and the date roll convention (ie what to do if the calculated date lands on a bank holiday or weekend).
and the date roll convention (i.e. what to do if the calculated date lands on a bank holiday or weekend).
The ``FloatingLeg`` contains all the details for the CommonLeg and payer details, roll convention, the fixing roll
convention, which day of the month the reset is calculated, the frequency period of the fixing, the fixing calendar and

View File

@ -15,8 +15,9 @@ and for rarely changed properties this defaulting allows the property to be excl
Format
------
Corda uses the Typesafe configuration library to parse the configuration see the `typesafe config on Github <https://github.com/typesafehub/config/>`_ the format of the configuration files can be simple JSON, but for the more powerful substitution features
uses HOCON format see `HOCON documents <https://github.com/typesafehub/config/blob/master/HOCON.md>`_
The Corda configuration file uses the HOCON format which is superset of JSON. It has several features which makes it
very useful as a configuration format. Please visit their `page <https://github.com/typesafehub/config/blob/master/HOCON.md>`_
for further details.
Examples
--------
@ -46,50 +47,73 @@ NetworkMapService plus Simple Notary configuration file.
Fields
------
:basedir: This specifies the node workspace folder either as an absolute path, or relative to the current working directory. It can be overidden by the ``--base-directory`` command line option, in which case the the value in the file is ignored and a ``node.conf`` file is expected in that workspace directory as the configuration source.
:basedir: This specifies the node workspace folder either as an absolute path, or relative to the current working directory.
It can be overridden by the ``--base-directory`` command line option, in which case the value in the file is ignored
and a ``node.conf`` file is expected in that workspace directory as the configuration source.
:myLegalName: The legal identity of the node acts as a human readable alias to the node's public key and several demos use this to lookup the NodeInfo.
:myLegalName: The legal identity of the node acts as a human readable alias to the node's public key and several demos use
this to lookup the NodeInfo.
:nearestCity: The location of the node as used to locate coordinates on the world map when running the network simulator demo. See :doc:`network-simulator`.
:nearestCity: The location of the node as used to locate coordinates on the world map when running the network simulator
demo. See :doc:`network-simulator`.
:keyStorePassword:
The password to unlock the KeyStore file (``<workspace>/certificates/sslkeystore.jks``) containing the node certificate and private key.
:keyStorePassword: The password to unlock the KeyStore file (``<workspace>/certificates/sslkeystore.jks``) containing the
node certificate and private key.
note:: This is the non-secret value for the development certificates automatically generated during the first node run. Longer term these keys will be managed in secure hardware devices.
.. note:: This is the non-secret value for the development certificates automatically generated during the first node run.
Longer term these keys will be managed in secure hardware devices.
:trustStorePassword:
The password to unlock the Trust store file (``<workspace>/certificates/truststore.jks``) containing the R3 Corda root certificate. This is the non-secret value for the development certificates automatically generated during the first node run.
:trustStorePassword: The password to unlock the Trust store file (``<workspace>/certificates/truststore.jks``) containing
the Corda network root certificate. This is the non-secret value for the development certificates automatically
generated during the first node run.
.. note:: Longer term these keys will be managed in secure hardware devices.
:dataSourceProperties:
This section is used to configure the jdbc connection and database driver used for the nodes persistence. Currently the defaults in ``/node/src/main/resources/reference.conf`` are as shown in the first example. This is currently the only configuration that has been tested, although in the future full support for other storage layers will be validated.
:dataSourceProperties: This section is used to configure the jdbc connection and database driver used for the nodes persistence.
Currently the defaults in ``/node/src/main/resources/reference.conf`` are as shown in the first example. This is currently
the only configuration that has been tested, although in the future full support for other storage layers will be validated.
:artemisAddress:
The host and port on which the node is available for protocol operations over ArtemisMQ.
:artemisAddress: The host and port on which the node is available for protocol operations over ArtemisMQ.
.. 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.
.. 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.
: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.
: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.
.. 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.
: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. Optionally, a custom advertised service name can be provided by appending it to the service type id: ``"corda.notary.validating|Notary A"``
: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. Optionally, a custom advertised service name can be provided by appending it to the service
type id: ``"corda.notary.validating|Notary A"``
:notaryNodeAddress: The host and port to which to bind the embedded Raft server. Required only when running a distributed notary service. A group of Corda nodes can run a distributed notary service by each running an embedded Raft server and joining them to the same cluster to replicate the committed state log. Note that the Raft cluster uses a separate transport layer for communication that does not integrate with ArtemisMQ messaging services.
:notaryNodeAddress: The host and port to which to bind the embedded Raft server. Required only when running a distributed
notary service. A group of Corda nodes can run a distributed notary service by each running an embedded Raft server and
joining them to the same cluster to replicate the committed state log. Note that the Raft cluster uses a separate transport
layer for communication that does not integrate with ArtemisMQ messaging services.
:notaryClusterAddresses: List of Raft cluster member addresses used to joining the cluster. At least one of the specified members must be active and be able to communicate with the cluster leader for joining. If empty, a new cluster will be bootstrapped. Required only when running a distributed notary service.
:notaryClusterAddresses: List of Raft cluster member addresses used to join the cluster. At least one of the specified
members must be active and be able to communicate with the cluster leader for joining. If empty, a new cluster will be
bootstrapped. Required only when running a distributed notary service.
: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.
:networkMapService: If `null`, or missing the node is declaring itself as the NetworkMapService host. Otherwise this is
a config object with the details of the network map service:
:useHTTPS: If false the node's web server will be plain HTTP. If true the node will use the same certificate and private key from the ``<workspace>/certificates/sslkeystore.jks`` file as the ArtemisMQ port for HTTPS. If HTTPS is enabled then unencrypted HTTP traffic to the node's **webAddress** port is not supported.
:address: Host and port string of the ArtemisMQ broker hosting the network map node
:legalName: Legal name of the node. This is required as part of the TLS host verification process. The node will
reject the connection to the network map service if it provides a TLS common name which doesn't match with this value.
:rpcUsers:
A list of users who are authorised to access the RPC system. Each user in the list is a config object with the
:useHTTPS: If false the node's web server will be plain HTTP. If true the node will use the same certificate and private
key from the ``<workspace>/certificates/sslkeystore.jks`` file as the ArtemisMQ port for HTTPS. If HTTPS is enabled
then unencrypted HTTP traffic to the node's **webAddress** port is not supported.
:rpcUsers: A list of users who are authorised to access the RPC system. Each user in the list is a config object with the
following fields:
:user: Username consisting only of word characters (a-z, A-Z, 0-9 and _)
@ -98,8 +122,9 @@ Fields
If this field is absent or an empty list then RPC is effectively locked down.
:devMode:
This flag indicate if the node is running in development mode. On startup, if the keystore ``<workspace>/certificates/sslkeystore.jks`` does not exist, a developer keystore will be used if ``devMode`` is true. The node will exit if ``devMode`` is false and keystore does not exist.
:devMode: This flag indicate if the node is running in development mode. On startup, if the keystore ``<workspace>/certificates/sslkeystore.jks``
does not exist, a developer keystore will be used if ``devMode`` is true. The node will exit if ``devMode`` is false
and keystore does not exist.
:certificateSigningService:
Certificate Signing Server address. It is used by the certificate signing request utility to obtain SSL certificate. (See :doc:`permissioning` for more information.)
:certificateSigningService: Certificate Signing Server address. It is used by the certificate signing request utility to
obtain SSL certificate. (See :doc:`permissioning` for more information.)

View File

@ -36,12 +36,12 @@ extensions to be created, or registered at startup. In particular:
a. The ``webApis`` property is a list of JAX-RS annotated REST access
classes. These classes will be constructed by the embedded web server
and must have a single argument constructor taking a ``ServiceHub``
reference. This reference provides acccess to functions such as querying
reference. This reference provides access to functions such as querying
for states through the ``VaultService`` interface, or access to the
``NetworkMapCache`` to identify services on remote nodes. The framework will
provide a database transaction in scope during the lifetime of the web
call, so full access to database data is valid. Unlike
``servicePlugins`` the ``webApis`` cannnot register new protocols, or
``servicePlugins`` the ``webApis`` cannot register new protocols, or
initiate threads. (N.B. The intent is to move the Web support into a
separate helper process using the RPC mechanism to control access.)

View File

@ -1,7 +1,7 @@
CorDapps Background
===================
CorDapp basics
==============
A Cordapp is an application that runs on the Corda platform using the platform APIs and plugin system. They are self
A CorDapp is an application that runs on the Corda platform using the platform APIs and plugin system. They are self
contained in separate JARs from the node server JAR that are created and distributed.
App plugins
@ -112,15 +112,15 @@ This will publish corda-$version.jar, finance-$version.jar, core-$version.jar an
group net.corda. You can now depend on these as you normally would a Maven dependency.
Gradle plugins for CorDapps
===========================
---------------------------
There are several Gradle plugins that reduce your build.gradle boilerplate and make development of Cordapps easier.
There are several Gradle plugins that reduce your build.gradle boilerplate and make development of CorDapps easier.
The available plugins are in the gradle-plugins directory of the Corda repository.
Building Gradle plugins
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
To install to your local Maven repository the plugins that Cordapp gradle files require, run the following from the
To install to your local Maven repository the plugins that CorDapp gradle files require, run the following from the
root of the Corda project:
.. code-block:: text
@ -130,15 +130,15 @@ root of the Corda project:
The plugins will now be installed to your local Maven repository in ~/.m2 on Unix and %HOMEPATH%\.m2 on Windows.
Using Gradle plugins
--------------------
~~~~~~~~~~~~~~~~~~~~
To use the plugins, if you are not already using the Cordapp template project, you must modify your build.gradle. Add
To use the plugins, if you are not already using the CorDapp template project, you must modify your build.gradle. Add
the following segments to the relevant part of your build.gradle.
Template build.gradle
---------------------
~~~~~~~~~~~~~~~~~~~~~
To build against Corda and the plugins that cordapps use, update your build.gradle to contain the following:
To build against Corda and the plugins that CorDapps use, update your build.gradle to contain the following:
.. code-block:: groovy
@ -179,7 +179,7 @@ To build against Corda and the plugins that cordapps use, update your build.grad
... your tasks ...
// Standard way to publish Cordapps to maven local with the maven-publish and publish-utils plugin.
// Standard way to publish CorDapps to maven local with the maven-publish and publish-utils plugin.
publishing {
publications {
jarAndSources(MavenPublication) {
@ -194,9 +194,9 @@ To build against Corda and the plugins that cordapps use, update your build.grad
Cordformation
-------------
~~~~~~~~~~~~~
Cordformation is the local node deployment system for Cordapps, the nodes generated are intended to be used for
Cordformation is the local node deployment system for CorDapps, the nodes generated are intended to be used for
experimenting, debugging, and testing node configurations and setups but not intended for production or testnet
deployment.
@ -209,7 +209,7 @@ is a three node example;
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['build']) {
directory "./build/nodes" // The output directory
networkMap "Controller" // The artemis address of the node named here will be used as the networkMapAddress on all other nodes.
networkMap "Controller" // The artemis address of the node named here will be used as the networkMapService.address on all other nodes.
node {
name "Controller"
dirName "controller"
@ -247,5 +247,5 @@ at present) to run the nodes with one command (``runnodes``). On MacOS X this sc
terminal tab, and on Linux it will open up a new XTerm for each node. On Windows the (``runnodes.bat``) script will run
one node per window.
Other cordapps can also be specified if they are already specified as classpath or compile dependencies in your
Other CorDapps can also be specified if they are already specified as classpath or compile dependencies in your
``build.gradle``.

View File

@ -52,7 +52,7 @@ There are two main steps to implementing scheduled events:
performed by the contract, using ``ZonedDateTime``.
In the short term, until we have automatic flow session set up, you will also likely need to install a network
handler to help with obtaining a unqiue and secure random session. An example is described below.
handler to help with obtaining a unique and secure random session. An example is described below.
The production and consumption of ``ContractStates`` is observed by the scheduler and the activities associated with
any consumed states are unscheduled. Any newly produced states are then queried via the ``nextScheduledActivity``

View File

@ -49,7 +49,7 @@ Java and took over a month of full time work to develop. Most of that code is co
message passing, lifecycle management, error handling and callback management. Because the business logic is quite
spread out the code can be difficult to read and debug.
As small contract-specific trading flows are a common occurence in finance, we provide a framework for the
As small contract-specific trading flows are a common occurrence in finance, we provide a framework for the
construction of them that automatically handles many of the concerns outlined above.
Theory
@ -93,7 +93,7 @@ Our flow has two parties (B and S for buyer and seller) and will proceed as foll
You can find the implementation of this flow in the file ``finance/src/main/kotlin/net/corda/flows/TwoPartyTradeFlow.kt``.
Assuming no malicious termination, they both end the flow being in posession of a valid, signed transaction that
Assuming no malicious termination, they both end the flow being in possession 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.

View File

@ -1,5 +1,5 @@
Getting set up: troubleshooting
===============================
Troubleshooting
===============
IntelliJ issues
---------------
@ -22,7 +22,7 @@ If on attempting to open the project (including importing Gradle project), Intel
you may need to fix the project structure. Do this by following `these instructions <https://www.jetbrains.com/help/idea/2016.2/configuring-global-project-and-module-sdks.html>`_. The correct JDK is often found at a path such as ``jdk1.8.0_xx…/Contents/Home``
Ensure that you have the Project language level set at as 8. If you are having trouble selecting the correct JDK, the
Jetbrains website offers the `following guidelines <https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under>`_.
JetBrains website offers the `following guidelines <https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under>`_.
Kotlin issues
-------------
@ -62,14 +62,12 @@ Wait for it to think and download the dependencies. After that you might have an
The code should build, the unit tests should show as all green.
If still have problems, the Jetbrains website has more information on `gradle here <https://www.jetbrains.com/help/idea/2016.2/working-with-gradle-projects.html>`_.
If still have problems, the JetBrains website has more information on `gradle here <https://www.jetbrains.com/help/idea/2016.2/working-with-gradle-projects.html>`_.
Gradle via the CLI
******************
Gradle commands can also be run in the command line - further details of command line gradle can be found in
.. TODO: add gradle cmd line doc link here
Gradle commands can also be run from the command line - further details of command line gradle can be found `here <https://docs.gradle.org/current/userguide/gradle_command_line.html>`_.
Doing it without IntelliJ
-------------------------

View File

@ -9,12 +9,12 @@ A JVM
-----
Corda runs in a JVM and is written predominantly in Kotlin with some example use cases demonstrated in Java that we have
incorporated to demonstrate that Kotlin and Java can work seemlessly together. We recommend the most recent production
incorporated to demonstrate that Kotlin and Java can work seamlessly together. We recommend the most recent production
version of Java 8. The JDK can be obtained `from Oracle <http://www.oracle.com/technetwork/java/javase/downloads/index.html>`_.
Other implementations of the JVM are not actively supported, but as mentioned, we are interested in finding out any issues you
do have with them.
.. note:: If you are using a JVM implementation other than Oracle's you may get errors similiar to ``Unresolved reference: javafx``.
.. note:: If you are using a JVM implementation other than Oracle's you may get errors similar to ``Unresolved reference: javafx``.
This means JavaFX is not bundled with the JVM and you will need to install it separately (e.g. OpenJFX is needed
with OpenJDK).
@ -22,7 +22,7 @@ IntelliJ
--------
We strongly recommend the use of IntelliJ's Development Environment known as IDEA. Download it for free from
`JetBrains <https://www.jetbrains.com/idea/download/>`_. The primary reason we recommend this particular IDE is that it integrates
very well with our choice of language for Corda, "Kotlin", as Jetbrains also support the development of Kotlin.
very well with our choice of language for Corda, "Kotlin", as JetBrains also support the development of Kotlin.
.. warning:: When opening the Corda project for the first time from the IntelliJ splash screen, please use "Open"
and then agree to import the Gradle project from the popup bubble. Don't pick "Import" on the splash screen,
@ -42,14 +42,14 @@ of the tutorials (known as "koans") as well. Also see our :doc:`further-notes-on
Version control via Git
-----------------------
We use git to version control Corda. The authorative place to obtain git is from the main `git website <https://git-scm.com/downloads>`_
We use git to version control Corda. The authoritative place to obtain git is from the main `git website <https://git-scm.com/downloads>`_
but it may be the case that your operating system provides git with a supported utility (e.g. for Apple, git is provided along
with XCode - their free development environment). If this is the case, we would recommend you obtain git via that
supported route.
You will need the command line package installed which you can then use natively (via the command line) or via IntelliJ
(in which case you may need to configure IntelliJ to recognise where git has been installed on your system). IntelliJ and
git configuration are quite seemless although the first time you use it, you will have to configure IntelliJ the location
git configuration are quite seamless although the first time you use it, you will have to configure IntelliJ the location
of your git command installation. More details regarding this can be found
on the `JetBrains website <https://www.jetbrains.com/help/idea/2016.2/using-git-integration.html>`_

View File

@ -62,7 +62,7 @@ SIMM
Service Hub
A hub in each Corda node that manages the services upon which other components of the node depend. Services may include facilities for identity management, storage management, network map management etc.
Signed Transaction
A signed transaction is a transaction that has been agreed by all parties relevant to that transacation as well as optionally a notary if relevant.
A signed transaction is a transaction that has been agreed by all parties relevant to that transaction as well as optionally a notary if relevant.
State
An element of data that is output from one transaction and then used / consumed in another transaction. States can only be consumed once and this confirmation is performed by the Notary service.
Transaction

View File

@ -87,7 +87,6 @@ Read on to learn:
:caption: Other
network-simulator
initial-margin-agreement
.. toctree::
:maxdepth: 2

View File

@ -111,4 +111,4 @@ The ``gatherRemoteState`` function should check the actual remote nodes' states
The reason it gets the previous state boils down to allowing non-deterministic predictions about the nodes' remote states. Say some piece of work triggers an asynchronous notification of a node. We need to account both for the case when the node hasn't received the notification and for the case when it has. In these cases ``S`` should somehow represent a collection of possible states, and ``gatherRemoteState`` should "collapse" the collection based on the observations it makes. Of course we don't need this for the simple case of the Self Issue test.
The last parameter ``isConsistent`` is used to poll for eventual consistency at the end of a load test. This is not needed for Self Issue.
The last parameter ``isConsistent`` is used to poll for eventual consistency at the end of a load test. This is not needed for self-issuance.

View File

@ -5,7 +5,7 @@ One of the basic data structures in our platform is a transaction. It can be pas
also by third parties. The construction of transactions assumes that they form a whole entity with input and output states,
commands and attachments inside. However all sensitive data shouldnt be revealed to other nodes that take part in
the creation of transaction on validation level (a good example of this situation is the Oracle which validates only
embedded commands). How to achive it in a way that convinces the other party the data they got for signing really did form
embedded commands). How to achieve it in a way that convinces the other party the data they got for signing really did form
a part of the transaction?
We decided to use well known and described cryptographic scheme to provide proofs of inclusion and data integrity.
@ -107,5 +107,5 @@ If you want to verify obtained ``FilteredTransaction`` all you need is the root
.. note:: The way the ``FilteredTransaction`` is constructed ensures that after signing of the root hash it's impossible to add or remove
leaves. However, it can happen that having transaction with multiple commands one party reveals only subset of them to the Oracle.
As signing is done now over the merkle root hash, the service signs all commands of given type, even though it didn't see
As signing is done now over the Merkle root hash, the service signs all commands of given type, even though it didn't see
all of them. This issue will be handled after implementing partial signatures.

View File

@ -38,7 +38,7 @@ The network map currently supports:
* Looking up nodes by service
* Looking up node for a party
* Suggesting a node providing a specific service, based on suitability for a contract and parties, for example suggesting
an appropriate interest rates oracle for a interest rate swap contract. Currently no recommendation logic is in place.
an appropriate interest rates oracle for an interest rate swap contract. Currently no recommendation logic is in place.
Message queues
--------------
@ -107,6 +107,9 @@ the validated user is the username itself and the RPC framework uses this to det
.. note:: ``Party`` lookup is currently done by the legal name which isn't guaranteed to be unique. A future version will
use the full X.500 name as it can provide additional structures for uniqueness.
The broker also does host verification when connecting to another peer. It checks that the TLS certificate common name
matches with the advertised legal name from the network map service.
Messaging types
---------------

View File

@ -20,7 +20,7 @@ whatever the current Corda version is.
What it is and is not
---------------------
The simulator currenty exists as an illustrative tool to help with explaining how Corda works in an example scenario.
The simulator currently exists as an illustrative tool to help with explaining how Corda works in an example scenario.
It utilises the ``Simulator`` tools that support creating a simulated Corda network and the nodes running in it within
a single JVM, as an extension of the ``MockNetwork`` testing framework. See more about the ``MockNetwork`` and
testing flows here: :doc:`flow-testing`.

View File

@ -92,7 +92,7 @@ Login
Dashboard
The dashboard shows the top level state of node and vault.
Currently, it shows your cash balance and the numbers of transaction executed.
The dashboard is intended to house widgets from different CordApp's and provide useful information to system admin at a glance.
The dashboard is intended to house widgets from different CordApps and provide useful information to system admin at a glance.
.. image:: resources/explorer/dashboard.png
@ -126,7 +126,7 @@ Transactions
Network
The network view shows the network information on the world map. Currently only the user's node is rendered on the map.
This will be extended to other peers in a future release.
The map provides a intuitive way of visualizing the Corda network and the participants.
The map provides an intuitive way of visualizing the Corda network and the participants.
.. image:: resources/explorer/network.png

View File

@ -53,7 +53,7 @@ and remote ``Parties``. It is automatically populated from the
``NetworkMapCache`` updates and is used when translating ``CompositeKey``
exposed in transactions into fully populated ``Party`` identities. This
service is also used in the default JSON mapping of parties in the web
server, thus allowing the party names to be used to refer to other node
server, thus allowing the party names to be used to refer to other nodes'
legal identities. In the future the Identity service will be made
persistent and extended to allow anonymised session keys to be used in
flows where the well-known ``CompositeKey`` of nodes need to be hidden

View File

@ -13,15 +13,15 @@ affect the validity of transactions.
The current prototype includes an example oracle that provides an interest rate fixing service. It is used by the
IRS trading demo app.
Introduction
------------
Introduction to oracles
-----------------------
Oracles are a key concept in the block chain/decentralised ledger space. They can be essential for many kinds of
application, because we often wish to condition a transaction on some fact being true or false, but the ledger itself
has a design that is essentially functional: all transactions are *pure* and *immutable*. Phrased another way, a
smart contract cannot perform any input/output or depend on any state outside of the transaction itself. There is no
way to download a web page or interact with the user, in a smart contract. It must be this way because everyone must
be able to independently check a transaction and arrive at an identical conclusion for the ledger to maintan its
be able to independently check a transaction and arrive at an identical conclusion for the ledger to maintain its
integrity: if a transaction could evaluate to "valid" on one computer and then "invalid" a few minutes later on a
different computer, the entire shared ledger concept wouldn't work.
@ -38,7 +38,7 @@ could do an HTTP request: it's possible that an answer would change after being
consensus (breaks).
The two basic approaches
------------------------
~~~~~~~~~~~~~~~~~~~~~~~~
The architecture provides two ways of implementing oracles with different tradeoffs:
@ -73,7 +73,7 @@ Here's a quick way to decide which approach makes more sense for your data sourc
attachment.
Asserting continuously varying data
-----------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Let's look at the interest rates oracle that can be found in the ``NodeInterestRates`` file. This is an example of
an oracle that uses a command because the current interest rate fix is a constantly changing fact.
@ -127,7 +127,7 @@ We can schedule for the expected announcement (or publish) time and give a suita
information being available and the delay to processing becomes significant and may need to be escalated.
Hiding transaction data from the oracle
---------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Because the transaction is sent to the oracle for signing, ordinarily the oracle would be able to see the entire contents
of that transaction including the inputs, output contract states and all the commands, not just the one (in this case)
@ -137,7 +137,7 @@ oracle but still allow it to sign it by providing the Merkle hashes for the rema
more details.
Pay-per-play oracles
--------------------
~~~~~~~~~~~~~~~~~~~~
Because the signature covers the transaction, and transactions may end up being forwarded anywhere, the fact itself
is independently checkable. However, this approach can still be useful when the data itself costs money, because the act
@ -150,10 +150,10 @@ where parties are legally identifiable, usage of such a contract would by itself
punishment.
Implementing an oracle with continuously varying data
=====================================================
-----------------------------------------------------
Implement the core classes
--------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~
The key is to implement your oracle in a similar way to the ``NodeInterestRates.Oracle`` outline we gave above with
both ``query`` and ``sign`` methods. Typically you would want one class that encapsulates the parameters to the ``query``
@ -194,8 +194,8 @@ Here we can see that there are several steps:
exactly our data source. The final step, assuming we have got this far, is to generate a signature for the
transaction and return it.
Binding to the network via CorDapp plugin
-----------------------------------------
Binding to the network via a CorDapp plugin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Before reading any further, we advise that you understand the concept of flows and how to write them and use
them. See :doc:`flow-state-machines`. Likewise some understanding of Cordapps, plugins and services will be helpful.
@ -228,7 +228,7 @@ implementing a plugin. Don't forget the resources file to register it with the
}
Providing client sub-flows for querying and signing
---------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We mentioned the client sub-flow briefly above. They are the mechanism that clients, in the form of other flows, will
interact with your oracle. Typically there will be one for querying and one for signing. Let's take a look at
@ -243,10 +243,10 @@ You'll note that the ``FixSignFlow`` requires a ``FilterFuns`` instance with the
the ``Fix`` commands. You can find a further explanation of this in :doc:`merkle-trees`.
Using an oracle
===============
---------------
The oracle is invoked through sub-flows to query for values, add them to the transaction as commands and then get
the transaction signed by the the oracle. Following on from the above examples, this is all encapsulated in a sub-flow
the transaction signed by the oracle. Following on from the above examples, this is all encapsulated in a sub-flow
called ``RatesFixFlow``. Here's the ``call`` method of that flow.
.. literalinclude:: ../../samples/irs-demo/src/main/kotlin/net/corda/irs/flows/RatesFixFlow.kt

View File

@ -22,7 +22,7 @@ The following information from the node configuration file is needed to generate
has already been permissioned with this name then the permissioning server will automatically reject the request. The
request will also be rejected if the name contains a ``=`` or ``,``.
.. note:: In a future version the uniquess requirement will be relaxed to a X.500 name. This will allow differentiation
.. note:: In a future version the uniqueness requirement will be relaxed to a X.500 name. This will allow differentiation
between entities with the same name.
:nearestCity: e.g. "London"
@ -37,7 +37,7 @@ A new pair of private and public keys will be generated by the utility and will
The utility will submit the request to the network permissioning server and poll for a result periodically to retrieve the certificates.
Once the request has been approved and the certificates downloaded from the server, the utility will create the key store and trust store using the certificates and the generated private key.
.. note:: You can exit the utility at anytime if the approval process is taking longer then expected. The request process will resume on restart.
.. note:: You can exit the utility at any time if the approval process is taking longer than expected. The request process will resume on restart.
This process only needs to be done once when the node connects to the network for the first time, or when the certificate expires.

View File

@ -63,7 +63,7 @@ The ``SchemaService`` is also responsible for the ``SchemaOptions`` that can be
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
additional schemas as part of Cordapps, and that the active schemas be configurable. 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.

View File

@ -24,11 +24,11 @@ To publish the codebase locally to Maven Local you must run:
Publishing to Jcenter
---------------------
.. note:: The module you wish to publish must be linked to jcenter in bintray. Only the founding account can do this.
.. note:: The module you wish to publish must be linked to jcenter in Bintray. Only the founding account can do this.
To publish to Jcenter you must first have the following;
1. An account on bintray in the R3 organisation
1. An account on Bintray in the R3 organisation
2. Our GPG key's passphrase for signing the binaries to publish
Getting Setup
@ -37,7 +37,7 @@ Getting Setup
You must now set the following environment variables:
* CORDA_BINTRAY_USER your Bintray username
* CORDA_BINTRAY_KEY to your bintray API key (found at: https://bintray.com/profile/edit)
* CORDA_BINTRAY_KEY to your Bintray API key (found at: https://bintray.com/profile/edit)
* CORDA_BINTRAY_GPG_PASSPHRASE to our GPG passphrase
Publishing

View File

@ -3,6 +3,45 @@ Release notes
Here are brief summaries of what's changed between each snapshot release.
Milestone 7
-----------
* With thanks to `Thomas Schroeter <https://github.com/thschroeter>`_ ``NotaryFlow`` is now idempotent.
* Explorer:
* The GUI for the explorer now shows other nodes on the network map and the transactions between them.
* Map resolution increased and allows zooming and panning.
* `Video demonstration <https://www.corda.net/2017/01/03/the-node-explorer/>`_ of the Node Explorer.
* The CorDapp template now has a Java example that parallels the Kotlin one for developers more comfortable with Java.
ORM support added to the Kotlin example.
* Demos:
* Added the Bank of Corda demo - a demo showing a node (Bank of Corda) acting as an issuer of Cash, and a client
driver providing both Web and RPC access to request issuance of cash.
* Demos now use RPC to communicate with the node from the webserver. This brings the demos more in line with how
interaction with nodes is expected to be. The demos now treat their webservers like clients. This will also allow
for the splitting of the webserver from the node for milestone 8.
* Added a SIMM valuation demo integration test to catch regressions.
* Security:
* MQ broker of the node now requires authentication which means that third parties cannot connect to and
listen to queues on the Node. RPC and P2P between nodes is now authenticated as a result of this change.
This also means that nodes or RPC users cannot pretend to be other nodes or RPC users.
* The node now does host verification of any node that connects to it and prevents man in the middle attacks.
* Improvements:
* Vault updates now contain full ``StateAndRef`` which allows subscribers to check whether the update contains
relevant states.
* Cash balances are calculated using aggregate values to prevent iterating through all states in the vault, which
improves performance.
* Multi-party services, such as notaries, are now load balanced and represented as a single ``Party`` object.
* The Notary Change flow now supports encumbrances.
Milestone 6
-----------
@ -30,7 +69,7 @@ Milestone 6
* Node console output now displays concise startup information, such as startup time or web address. All logging to
the console is suppressed apart from errors and flow progress tracker steps. It can be re-enabled by passing
``--log-to-console`` command line parameter. Note that the log file remains unchanged an will still contain all
``--log-to-console`` command line parameter. Note that the log file remains unchanged and will still contain all
log entries.
* The ``runnodes`` scripts generated by the Gradle plugins now open each node in separate terminal windows or (on macOS) tabs.
@ -261,7 +300,7 @@ Milestone 2
* Thanks to the prolific Sofus Mortensen @ Nordea Bank, an experimental generic contract DSL that is based on the famous
2001 "Composing contracts" paper has been added. We thank Sofus for this great and promising research, which is so
relevant in the wake of TheDAO hack.
relevant in the wake of the DAO hack.
* The contract code from the recent trade finance demos is now in experimental. This code comes thanks to a
collaboration of the members; all credit to:

View File

@ -23,7 +23,7 @@ Our goal is to cut a new milestone roughly once a month. There are no fixed date
a few days to ensure the code is sufficiently usable. Usually the release will happen around the end of the month.
Steps to cut a release
======================
----------------------
1. Pick a commit that is stable and do basic QA: run all the tests, run the demos.
2. Review the commits between this release and the last looking for new features, API changes, etc. Make sure the

View File

@ -19,7 +19,7 @@ For ``SimpleNotaryService``, simply add the following service id to the list of
extraAdvertisedServiceIds: "net.corda.notary.simple"
For ``ValidatingNotaryService`` it is:
For ``ValidatingNotaryService``, it is:
.. parsed-literal::

View File

@ -1,151 +1,186 @@
Running the demos
=================
The repository contains a small number of demo programs that run two-node networks, demonstrating functionality developed
so far. We have:
The Corda repository contains a number of demo programs demonstrating the functionality developed so far:
1. The trader demo, which shows a delivery-vs-payment atomic swap of commercial paper for cash. You can learn more about
how this works in :doc:`flow-state-machines`.
2. The IRS demo, which shows two nodes establishing an interest rate swap between them and performing fixings with a
rates oracle, all driven via the HTTP API.
3. The IRS demo web interface - a web interface to the IRS demo.
4. The attachment demo, which demonstrates uploading attachments to nodes.
5. The SIMM valuation demo, a large demo which shows two nodes agreeing on a portfolio and valuing the initial margin
using the Standard Initial Margin Model.
6. The distributed notary demo, which demonstrates a single node getting multiple transactions notarised by a distributed (Raft-based) notary.
7. The Bank of Corda demo, which demonstrates a node acting as an issuer of assets (the Bank of Corda) and remote client
applications requesting issuance (via RPC, HTTP) of some cash on behalf of a node called Big Corporation.
.. note:: If any demos don't work please jump on our mailing list and let us know.
Important : Common Instructions for all demos
---------------------------------------------
1. The Trader Demo, which shows a delivery-vs-payment atomic swap of commercial paper for cash
2. The IRS Demo, which shows two nodes establishing an interest rate swap and performing fixings with a
rates oracle
3. The Attachment Demo, which demonstrates uploading attachments to nodes
4. The SIMM Valuation Demo, which shows two nodes agreeing on a portfolio and valuing the initial margin
using the Standard Initial Margin Model
5. The Distributed Notary Demo, which shows a single node getting multiple transactions notarised by a distributed (Raft-based) notary
6. The Bank of Corda Demo, which shows a node acting as an issuer of assets (the Bank of Corda) while remote client
applications request issuance of some cash on behalf of a node called Big Corporation
The demos can be run either from the command line, or from inside IntelliJ. Running from the command line is
recommended if you are just wanting to see them run, using IntelliJ can be helpful if you want to debug or
develop the demos themselves. For more details about running via the command line or within IntelliJ - see :doc:`CLI-vs-IDE`.
recommended if you just want to see the demos run, whereas using IntelliJ can be helpful if you want to debug or
extend the demos. For more details about running via the command line or from within IntelliJ, see :doc:`CLI-vs-IDE`.
*For all demos:* The ``install`` gradle task is automatically ran if required; this no longer needs to be run independently.
.. note:: If you are running the demos from the command line in Unix, you may have to install xterm.
.. note:: If any of the demos don't work, please raise an issue on GitHub.
Trader demo
-----------
This demo brings up four nodes: Bank A, Bank B, Bank Of Corda and a notary/network map node that they both use. Bank A will
This demo brings up four nodes: Bank A, Bank B, Bank Of Corda, and a notary/network map node that they all use. Bank A will
be the buyer, and requests some cash from the Bank of Corda in order to acquire commercial paper from Bank B, the seller.
To run from the command line:
To run from the command line in Unix:
1. Run ``./gradlew samples:trader-demo:deployNodes`` to create a set of configs and installs under ``samples/trader-demo/build/nodes``
2. Run ``./samples/trader-demo/build/nodes/runnodes`` (or ``runnodes.bat`` on Windows) to open up four new terminals with the four nodes.
2. Run ``./samples/trader-demo/build/nodes/runnodes`` to open up four new terminals with the four nodes
3. Run ``./gradlew samples:trader-demo:runBuyer`` to instruct the buyer node to request issuance of some cash from the Bank of Corda node.
This step will display progress information related to the cash issuance process (in the bank of corda node log output).
This step will display progress information related to the cash issuance process (in the bank of corda node log output)
4. Run ``./gradlew samples:trader-demo:runSeller`` to trigger the transaction. You can see both sides of the
trade print their progress and final transaction state in the bank node tabs/windows.
trade print their progress and final transaction state in the bank node tabs/windows
To run from the command line in Windows:
1. Run ``gradlew samples:trader-demo:deployNodes`` to create a set of configs and installs under ``samples\trader-demo\build\nodes``
2. Run ``samples\trader-demo\build\nodes\runnodes`` to open up four new terminals with the four nodes
3. Run ``gradlew samples:trader-demo:runBuyer`` to instruct the buyer node to request issuance of some cash from the Bank of Corda node.
This step will display progress information related to the cash issuance process (in the Bank of Corda node log output)
4. Run ``gradlew samples:trader-demo:runSeller`` to trigger the transaction. You can see both sides of the
trade print their progress and final transaction state in the bank node tabs/windows
To run from IntelliJ:
1. Open the Corda project in IntelliJ and run the "Install" configuration
2. Open the Corda samples project in IntelliJ and run the "Trader Demo: Run Nodes" configuration
3. Run "Trader Demo: Run Buyer"
4. Run "Trader Demo: Run Seller"
In the "Trader Demo: Run Nodes" windows you should see some log lines scroll past, and within a few seconds the messages
"Purchase complete - we are a happy customer!" and "Sale completed - we have a happy customer!" should be printed.
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``Trader Demo: Run Nodes`` configuration, which will start four nodes. Once all nodes are started you will see several
"Node started up and registered in ..." messages
3. Run ``Trader Demo: Run Buyer`` to instruct the buyer node to request issuance of some cash from the Bank of Corda node
4. Run ``Trader Demo: Run Seller`` to trigger the transaction
5. In the "Trader Demo: Run Nodes" run configuration window, you should see some log lines scroll past. Within a few seconds, the message
"Purchase complete - we are a happy customer!" should be printed.
IRS demo
--------
This demo brings up three nodes: Bank A, Bank B and a node that runs a notary, a network map and an interest rates
oracle together. The two banks agree on an interest rate swap, and then do regular fixings of the deal as the time
This demo brings up three nodes: Bank A, Bank B and a node that simultaneously runs a notary, a network map and an interest rates
oracle. The two banks agree on an interest rate swap, and then do regular fixings of the deal as the time
on a simulated clock passes.
To run from the command line:
To run from the command line in Unix:
1. Run ``./gradlew samples:irs-demo:deployNodes`` to install configs and a command line tool under ``samples/irs-demo/build``.
2. Change to the ``samples/irs-demo/build`` directory.
3. Run ``./nodes/runnodes`` (or ``runnodes.bat`` on Windows) to open up three new terminals with the three nodes.
4. Run ``./install/irs-demo/bin/irs-demo --role UploadRates`` (or use ``irs-demo.bat`` on Windows). You should see a
message be printed to the first node (the notary/oracle/network map node) saying that it has accepted some new
interest rates.
5. Now run ``irs-demo`` as in step 4, but this time with ``--role Trade 1``. The number is a trade ID. You should
see lots of activity as the nodes set up the deal, notarise it, get it signed by the oracle and so on.
6. Now run ``irs-demo --role Date 2016-12-12`` to roll the simulated clock forward and see some fixings take place.
2. Run ``./gradlew samples:irs-demo:installDist``
3. Move to the ``samples/irs-demo/build`` directory
4. Run ``./nodes/runnodes`` to open up three new terminals with the three nodes (you may have to install xterm).
5. Run ``./install/irs-demo/bin/irs-demo --role UploadRates``. You should see a
message be printed to the first node (the notary/oracle/network map node) saying that it has accepted the new
interest rates
6. Now run ``./install/irs-demo/bin/irs-demo --role Trade 1``. The number is a trade ID. You should
see lots of activity as the nodes set up the deal, notarise it, get it signed by the oracle, and so on
7. Now run ``./install/irs-demo/bin/irs-demo --role Date 2017-12-12`` to roll the simulated clock forward and see some fixings take place
To run from the command line in Windows:
1. Run ``gradlew samples:irs-demo:deployNodes`` to install configs and a command line tool under ``samples\irs-demo\build``
2. Run ``gradlew samples:irs-demo:installDist``
3. Move to the ``samples\irs-demo\build`` directory
4. Run ``nodes\runnodes`` to open up three new terminals with the three nodes.
5. Run ``install\irs-demo\bin\irs-demo --role UploadRates``. You should see a
message be printed to the first node (the notary/oracle/network map node) saying that it has accepted the new
interest rates
6. Now run ``install\irs-demo\bin\irs-demo --role Trade 1``. The number is a trade ID. You should
see lots of activity as the nodes set up the deal, notarise it, get it signed by the oracle, and so on
7. Now run ``install\irs-demo\bin\irs-demo --role Date 2017-12-12`` to roll the simulated clock forward and see some fixings take place
To run from IntelliJ:
1. Open the Corda project in IntelliJ and run the "Install" configuration
2. Open the Corda samples project in IntelliJ and run the "IRS Demo: Run Nodes" configuration
3. Run "IRS Demo: Run Upload Rates" to upload rates to the oracle.
4. Run "IRS Demo: Run Trade" to have nodes agree on a trade.
5. Run "IRS Demo: Run Date Change" to run the fixings.
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``IRS Demo: Run Nodes`` configuration to start three nodes. Once all nodes are started you will see several
"Node started up and registered in ..." messages
3. Run ``IRS Demo: Run Upload Rates`` to upload the new interest rates to the oracle
4. Run ``IRS Demo: Run Trade`` to have the nodes agree on a trade
5. Run ``IRS Demo: Run Date Change`` to roll the simulated clock forward and see some fixings take place
6. In the "IRS Demo: Run Nodes" window you'll see a lot of activity when you run the trade and when you change the date.
The date change rolls the clock forwards and causes the nodes to agree on the fixings over a period.
In the "IRS Demo: Run Nodes" window you'll see a lot of activity when you run the trade and when you run the date change.
The date change rolls the clock forwards and causes the nodes to agree on the fixings over a period.
This demo also has a web app. To use this, run nodes and upload rates, then navigate to
http://localhost:10005/web/irsdemo and http://localhost:10007/web/irsdemo to see each node's view of the ledger.
There is also an web app as part of this demo. To use this set up the trades and then navigate to
http://localhost:10005/web/irsdemo and http://localhost:10007/web/irsdemo to see both node's view of the ledger.
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.
To use the web app, click the "Create Deal" button, fill in the form, then click the "Submit" button. You can then
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
---------------
This demo brings up three nodes, and sends a transaction containing an attachment from one to the other. To run
it from the command line (recommended for Mac/UNIX users!):
This demo brings up three nodes, and sends a transaction containing an attachment from one to the other.
To run from the command line in Unix:
1. Run ``./gradlew samples:attachment-demo:deployNodes`` to create a set of configs and installs under ``samples/attachment-demo/build/nodes``
2. Run ``./samples/attachment-demo/build/nodes/runnodes`` to open up three new terminal tabs/windows with the three nodes.
3. Run ``./gradlew samples:attachment-demo:runRecipient``, which will block waiting for something to happen.
4. Run ``./gradlew samples:attachment-demo:runSender`` in another terminal window to trigger the transaction.
Now look at the other windows to see the output of the demo.
2. Run ``./samples/attachment-demo/build/nodes/runnodes`` to open up three new terminal tabs/windows with the three nodes
3. Run ``./gradlew samples:attachment-demo:runRecipient``, which will block waiting for a trade to start
4. Run ``./gradlew samples:attachment-demo:runSender`` in another terminal window to send the attachment. Now look at the other windows to
see the output of the demo
Or you can run them from inside IntelliJ, but when done this way, all the node output is printed to a single console.
To run from the command line in Windows:
1. Open the Corda project in IntelliJ and run the "Install" configuration
2. Open the Corda samples project in IntelliJ and run the "Attachment Demo: Run Nodes" configuration
3. Run "Attachment Demo: Run Recipient" - this waits for a trade to start
4. Run "Attachment Demo: Run Sender" - sends the attachment
In the "Attachment Demo: Run Nodes" window you should see some log lines scroll past, and within a few seconds the
message "File received - we're happy!" should be printed.
.. _notary-demo:
Distributed Notary demo
-----------------------
This is a simple demonstration showing a party getting transactions notarised by a distributed `Raft <https://raft.github.io/>`_-based notary service.
The demo will start three distributed notary nodes, and two counterparty nodes. One of the parties will generate transactions
that move a self-issued asset to the other party, and submit them for notarisation.
The output will display a list of notarised transaction ids and corresponding signer public keys. In the Raft distributed notary
every node in the cluster services client requests, and one signature is sufficient to satisfy the notary composite key requirement.
You will notice that subsequent transactions get signed by different members of the cluster (usually allocated in a random order).
1. Run ``gradlew samples:attachment-demo:deployNodes`` to create a set of configs and installs under ``samples\attachment-demo\build\nodes``
2. Run ``samples\attachment-demo\build\nodes\runnodes`` to open up three new terminal tabs/windows with the three nodes
3. Run ``gradlew samples:attachment-demo:runRecipient``, which will block waiting for a trade to start
4. Run ``gradlew samples:attachment-demo:runSender`` in another terminal window to send the attachment. Now look at the other windows to
see the output of the demo
To run from IntelliJ:
1. Open the Corda samples project in IntelliJ and run the ``Notary Demo: Run Nodes`` configuration to start the nodes.
Once all nodes are started you will see several "Node started up and registered in ..." messages.
2. Run ``Notary Demo: Run Notarisation`` to make a call to the "Party" node to initiate notarisation requests.
In a few seconds you will see a message "Notarised 10 transactions" with a list of transaction ids and the signer public keys.
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``Attachment Demo: Run Nodes`` configuration to start three nodes. Once all nodes are started you will see several
"Node started up and registered in ..." messages
3. Run ``Attachment Demo: Run Recipient``, which will wait for a trade to start
4. Run ``Attachment Demo: Run Sender`` to send the attachment
5. In the "Attachment Demo: Run Nodes" window you should see some log lines scroll past. Within a few seconds, the
message "File received - we're happy!" should be printed.
To run from the command line:
Raft Notary demo
----------------
This demo shows a party getting transactions notarised by a distributed `Raft <https://raft.github.io/>`_-based notary service.
The demo will start three distributed notary nodes, and two counterparty nodes. One of the counterparties will generate transactions
that transfer a self-issued asset to the other party and submit them for notarisation.
The output will display a list of notarised transaction IDs and corresponding signer public keys. In the Raft distributed notary,
every node in the cluster can service client requests, and one signature is sufficient to satisfy the notary composite key requirement.
You will notice that successive transactions get signed by different members of the cluster (usually allocated in a random order).
To run from the command line in Unix:
1. Run ``./gradlew samples:raft-notary-demo:deployNodes``, which will create node directories with configs under ``samples/raft-notary-demo/build/nodes``.
2. Run ``./samples/raft-notary-demo/build/nodes/runnodes``, which will start the nodes in separate terminal windows/tabs.
Wait until a "Node started up and registered in ..." appears on each of the terminals.
3. Run ``./gradlew samples:raft-notary-demo:notarise`` to make a call to the "Party" node to initiate notarisation requests.
In a few seconds you will see a message "Notarised 10 transactions" with a list of transaction ids and the signer public keys.
Wait until a "Node started up and registered in ..." message appears on each of the terminals
3. Run ``./gradlew samples:raft-notary-demo:notarise`` to make a call to the "Party" node to initiate notarisation requests
In a few seconds you will see a message "Notarised 10 transactions" with a list of transaction ids and the signer public keys
To run from the command line in Windows:
1. Run ``gradlew samples:raft-notary-demo:deployNodes``, which will create node directories with configs under ``samples\raft-notary-demo\build\nodes``.
2. Run ``samples\raft-notary-demo\build\nodes\runnodes``, which will start the nodes in separate terminal windows/tabs.
Wait until a "Node started up and registered in ..." message appears on each of the terminals
3. Run ``gradlew samples:raft-notary-demo:notarise`` to make a call to the "Party" node to initiate notarisation requests
In a few seconds you will see a message "Notarised 10 transactions" with a list of transaction ids and the signer public keys
To run from IntelliJ:
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``Notary Demo: Run Nodes`` configuration to start the nodes. Once all nodes are started you will see several
"Node started up and registered in ..." messages
3. Run the ``Notary Demo: Run Notarisation`` configuration to make a call to the "Party" node to initiate notarisation requests
In a few seconds you will see a message "Notarised 10 transactions" with a list of transaction ids and the signer public keys
Notary nodes store consumed states in a replicated commit log, which is backed by a H2 database on each node.
To ascertain that the commit log is synchronised across the cluster you access and compare each of the nodes' backing stores
You can ascertain that the commit log is synchronised across the cluster by accessing and comparing each of the nodes' backing stores
by using the H2 web console:
- Firstly, download `H2 web console <http://www.h2database.com/html/download.html>`_ (download the "platform-independent zip"),
and start it using a script in the extracted folder: ``h2/bin/h2.sh`` (or ``h2.bat`` for Windows)
and start it using a script in the extracted folder: ``h2/bin/h2.sh`` (or ``h2\bin\h2`` for Windows)
- If you are uncertain as to which version of h2 to install or if you have connectivity issues, refer to ``build.gradle``
located in the ``node`` directory and locate the compile step for ``com.h2database``. Use a client of the same
major version - even if still in beta.
- The H2 web console should start up in a web browser tab. To connect we first need to obtain a JDBC connection string.
Each node outputs its connection string in the terminal window as it starts up. In a terminal window where a node is running,
@ -153,65 +188,75 @@ by using the H2 web console:
``Database connection url is : jdbc:h2:tcp://10.18.0.150:56736/node``
You can use the string on the right to connect to the h2 database: just paste it in to the `JDBC URL` field and click *Connect*.
You will be presented with a web application that enumerates all the available tables and provides an interface for you to query them using SQL.
You can use the string on the right to connect to the h2 database: just paste it into the `JDBC URL` field and click *Connect*.
You will be presented with a web application that enumerates all the available tables and provides an interface for you to query them using SQL
- The committed states are stored in the ``NOTARY_COMMITTED_STATES`` table. Note that the raw data is not human-readable,
but we're only interested in the row count for this demo.
but we're only interested in the row count for this demo
Bank Of Corda demo
------------------
This demo brings up three nodes: a notary, a node acting as the Bank of Corda that accepts requests for issuance of some asset
and a node acting as Big Corporation which requests issuance of an asset (cash in this example).
Upon receipt of a request the Bank of Corda node self-issues the asset and then transfers ownership to the requester
after successful notarisation and recording of the issue transaction on the ledger.
.. note:: The Bank of Corda is somewhat like the "Bitcoin faucet", that used to dispense free bitcoins to developers for
.. note:: The Bank of Corda is somewhat like a "Bitcoin faucet" that dispenses free bitcoins to developers for
testing and experimentation purposes.
To run from the command line (recommended for Mac/UNIX users!):
To run from the command line in Unix:
1. Run ``./gradlew samples:bank-of-corda-demo:deployNodes`` to create a set of configs and installs under ``samples/bank-of-corda-demo/build/nodes``
2. Run ``./samples/bank-of-corda-demo/build/nodes/runnodes`` to open up three new terminal tabs/windows with the three nodes.
2. Run ``./samples/bank-of-corda-demo/build/nodes/runnodes`` to open up three new terminal tabs/windows with the three nodes
3. Run ``./gradlew samples:bank-of-corda-demo:runRPCCashIssue`` to trigger a cash issuance request
4. Run ``./gradlew samples:bank-of-corda-demo:runWebCashIssue`` to trigger another cash issuance request.
Now look at the Bank of Corda terminal tab/window to see the output of the demo
.. note:: to verify the Bank of Corda node is alive and running navigate to the following URL
To run from the command line in Windows:
1. Run ``gradlew samples:bank-of-corda-demo:deployNodes`` to create a set of configs and installs under ``samples\bank-of-corda-demo\build\nodes``
2. Run ``samples\bank-of-corda-demo\build\nodes\runnodes`` to open up three new terminal tabs/windows with the three nodes
3. Run ``gradlew samples:bank-of-corda-demo:runRPCCashIssue`` to trigger a cash issuance request
4. Run ``gradlew samples:bank-of-corda-demo:runWebCashIssue`` to trigger another cash issuance request.
Now look at the Bank of Corda terminal tab/window to see the output of the demo
To run from IntelliJ:
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``Bank Of Corda Demo: Run Issuer`` configuration to start three nodes. Once all nodes are started you will see several
"Node started up and registered in ..." messages
3. Run ``Bank Of Corda Demo: Run RPC Cash Issue`` to request issuance of some cash on behalf of Big Corporation via RPC
4. Run ``Bank Of Corda Demo: Run Web Cash Issue`` to request issuance of some cash on behalf of Big Corporation via HTTP
.. note:: To verify that the Bank of Corda node is alive and running, navigate to the following URL:
http://localhost:10005/api/bank/date
.. note:: the Bank of Corda node explicitly advertises with a node service type as follows:
.. note:: The Bank of Corda node explicitly advertises with a node service type as follows:
``advertisedServices = setOf(ServiceInfo(ServiceType.corda.getSubType("issuer"))))``
This allows for 3rd party applications to perform actions based on Node Type.
For example, the Explorer tool only allows nodes of this type to issue and exit cash.
3. Run ``./gradlew samples:bank-of-corda-demo:runRPCCashIssue`` in another terminal window to trigger a cash issuance request
4. Run ``./gradlew samples:bank-of-corda-demo:runWebCashIssue`` in another terminal window to trigger another cash issuance request
Now look at the other windows to see the output of the demo.
Or you can run them from inside IntelliJ as follows:
1. Open the Corda project in IntelliJ and run the "Install" configuration
2. Open the Corda samples project in IntelliJ and run the "Bank Of Corda Demo: Run Issuer" configuration
3. Run "Bank Of Corda Demo: Run RPC Cash Issue" - requests issuance of some cash on behalf of Big Corporation via RPC
4. Run "Bank Of Corda Demo: Run Web Cash Issue" - requests issuance of some cash on behalf of Big Corporation via HTTP
In the "Bank Of Corda Demo: Run Issuer" window you should see the following information lines displayed:
In the "Bank Of Corda Demo: Run Issuer" window, you should see the following progress steps displayed:
- Awaiting issuance request
- Self issuing asset
- Transferring asset to issuance requester
- Confirming asset issuance to requester
In the the client issue request window you should see the following printed:
In the client issue request window, you should see the following printed:
- Successfully processed Cash Issue request
Launch the Explorer application to visualize the issuance and transfer of cash on each node:
Launch the Explorer application to visualize the issuance and transfer of cash for each node:
``./gradlew tools:explorer:run``
``./gradlew tools:explorer:run`` (on Unix) or ``gradlew tools:explorer:run`` (on Windows)
And use the following logon details:
Using the following login details:
- for the Bank of Corda node specify localhost, port 10004, username user1, password test
- for the Big Corporation node specify localhost, port 10006, username user1, password test
- For the Bank of Corda node: localhost / port 10004 / username user1 / password test
- For the Big Corporation node: localhost / port 10006 / username user1 / password test
See https://docs.corda.net/node-explorer.html for further details on usage.
@ -252,14 +297,6 @@ Also note that implementations of the SIMM are actually protected and subject to
In the source code released, we have replaced their analytics engine with very simple stub functions that allow
the process to run without actually calculating correct values, and can easily be swapped out in place for their real libraries.
Open the Corda samples project in IntelliJ and run the "Simm Valuation Demo" configuration
Now open http://localhost:10005/web/simmvaluationdemo and http://localhost:10007/web/simmvaluationdemo to view the two
nodes that this will have started respectively. You can now use the demo by creating trades and agreeing the valuations.
Also see the README located in samples/simm-valuation-demo.
What happens in the demo (notionally)
*************************************
@ -277,32 +314,32 @@ Initial Margin Agreement Process
- Agree on the calculation of the above with the other party
- In practice, pay (or receive) this margin (omitted for the sake of complexity for this example)
Demo execution (step by step)
*****************************
The demonstration can be run in two ways - via IntelliJ (which will allow you to add breakpoints, debug, etc), or via gradle and the command line.
To run from the command line in Unix:
Run with IntelliJ
1. Deploy the nodes using ``./gradlew samples:simm-valuation-demo:deployNodes``
2. Run the nodes using ``./samples/simm-valuation-demo/build/nodes/runnodes``
1. Open the ``corda`` project with IntelliJ
2. Run the shared run configuration "SIMM Valuation Demo"
To run from the command line in Windows:
Run via CLI
1. Deploy the nodes using ``gradlew samples:simm-valuation-demo:deployNodes``
2. Run the nodes using ``samples\simm-valuation-demo\build\nodes\runnodes``
1. Navigate to the ``samples/simm-valuation-demo`` directory in your shell
2. Run the gradle target ``deployNodes`` (ie; ``./gradlew deployNodes`` for Unix or ``gradlew.bat`` on Windows)
To run from IntelliJ:
a. Unix: ``cd simm-valuation-demo/build/nodes && ./runnodes``
b. Windows: ``cd simm-valuation-demo/build/nodes & runnodes.bat``
1. Open the Corda project in IntelliJ and import the Gradle project
2. Run the ``SIMM Valuation Demo`` configuration
Then (for both)
3. Browse to http://localhost:10005/web/simmvaluationdemo
4. Select the other counterparty (ie Bank B)
5. Enter at least 3 trades - via the "Create New Trade" tab.
6. On the "Agree Valuations" tab, click the "Start Calculations" button.
Then, for all three:
3. Browse to http://localhost:10005/web/simmvaluationdemo
4. Select the counterparty (i.e. Bank B)
5. Enter at least 3 trades - via the "Create New Trade" tab
6. On the "Agree Valuations" tab, click the "Start Calculations" button
Additionally, you can confirm that these trades are not visible from `Bank C's node <http://localhost:10009/web/simmvaluationdemo/>`_.
Additionally, you can confirm that these trades are not visible from `Bank C's node <http://localhost:10009/web/simmvaluationdemo/>`_
and are visible to `Bank B <http://localhost:10007/web/simmvaluationdemo/>`_.
Please note that any URL text after `simmvaluationdemo` should not be bookmarked or navigated directly to as they are only for aesthetics.
Please note that any URL path information after `simmvaluationdemo` should not be bookmarked or navigated to directly, as it is only provided for aesthetic purposes.

View File

@ -1,7 +1,7 @@
.. _log4j2: http://logging.apache.org/log4j/2.x/
Introduction - What is a corda network?
=======================================
What is a corda network?
========================
A Corda network consists of a number of machines running nodes, including a single node operating as the network map
service. These nodes communicate using persistent protocols in order to create and validate transactions.
@ -15,10 +15,10 @@ services, and one node may run several of them.
* Regular node: All nodes have a vault and may start protocols communicating with other nodes, notaries and oracles and evolve their private ledger.
Setting up your own network
===========================
---------------------------
Certificates
------------
~~~~~~~~~~~~
All nodes belonging to the same Corda network must have the same root CA. For testing purposes you can
use ``certSigningRequestUtility.jar`` to generate a node certificate with a fixed test root:
@ -31,7 +31,7 @@ use ``certSigningRequestUtility.jar`` to generate a node certificate with a fixe
java -jar build/libs/certSigningRequestUtility.jar --base-dir NODE_DIRECTORY/
Configuration
-------------
~~~~~~~~~~~~~
A node can be configured by adding/editing ``node.conf`` in the node's directory. For details see :doc:`corda-configuration-file`.
@ -46,11 +46,11 @@ The most important fields regarding network configuration are:
but rather ``::`` (all addresses on all interfaces). The hostname specified is the hostname *that must be externally
resolvable by other nodes in the network*. In the above configuration this is the resolvable name of a machine in a vpn.
* ``webAddress``: The address the webserver should bind. Note that the port should be distinct from that of ``artemisAddress``.
* ``networkMapAddress``: The resolvable name and artemis port of the network map node. Note that if this node itself
is to be the network map this field should not be specified.
* ``networkMapService``: Details of the node running the network map service. If it's this node that's running the service
then this field must not be specified.
Starting the nodes
------------------
~~~~~~~~~~~~~~~~~~
You may now start the nodes in any order. Note that the node is not fully started until it has successfully registered with the network map!
@ -61,7 +61,7 @@ You should see a banner, some log lines and eventually ``Node started up and reg
In terms of process management there is no prescribed method. You may start the jars by hand or perhaps use systemd and friends.
Logging
-------
~~~~~~~
Only a handful of important lines are printed to the console. For
details/diagnosing problems check the logs.
@ -71,7 +71,7 @@ are by default redirected to files in ``NODE_DIRECTORY/logs/``.
Connecting to the nodes
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
Once a node has started up successfully you may connect to it as a client to initiate protocols/query state etc.
Depending on your network setup you may need to tunnel to do this remotely.

View File

@ -133,7 +133,7 @@ Party and PublicKey
Entities using the network are called *parties*. Parties can sign structures using keys, and a party may have many
keys under their control.
Parties may sometimes be identified pseudonomously, for example, in a transaction sent to your node as part of a
Parties may sometimes be identified pseudonymously, for example, in a transaction sent to your node as part of a
chain of custody it is important you can convince yourself of the transaction's validity, but equally important that
you don't learn anything about who was involved in that transaction. In these cases a public key may be present
without any identifying information about who owns it.

View File

@ -11,10 +11,9 @@ nodes already. Examples include:
* 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`".
To add attachments the file must first be added to uploaded to the node, which returns a unique ID that can be added
using ``TransactionBuilder.addAttachment()``. Attachments can be uploaded and downloaded via RPC and HTTP. For
instructions on HTTP upload/download please see ":doc:`node-administration`".
Normally attachments on transactions are fetched automatically via the ``ResolveTransactionsFlow`` when verifying
received transactions. Attachments are needed in order to validate a transaction (they include, for example, the
@ -30,49 +29,49 @@ There is a worked example of attachments, which relays a simple document from on
trade flow" 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/net.corda.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. ``ResolveTransactionsFlow``
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.
The demo code is in the file ``samples/attachment-demo/src/main/kotlin/net/corda/attachmentdemo/AttachmentDemo.kt``,
with the core logic contained within the two functions ``recipient()`` and ``sender()``. The first thing it does is set
up an RPC connection to node B using a demo user account (this is all configured in the gradle build script for the demo
and the nodes will be created using the ``deployNodes`` gradle task as normal). The ``CordaRPCClient.use`` method is a
convenience helper intended for small tools that sets up an RPC connection scoped to the provided block, and brings all
the RPCs into scope. Once connected the sender/recipient functions are run with the RPC proxy as a parameter.
We'll look at the recipient function first.
The first thing it does is wait to receive a notification of a new transaction by calling the ``verifiedTransactions``
RPC, which returns both a snapshot and an observable of changes. The observable is made blocking and the next
transaction the node verifies is retrieved. That transaction is checked to see if it has the expected attachment
and if so, printed out.
.. sourcecode:: kotlin
private fun runRecipient(node: Node) {
val serviceHub = node.services
// Normally we would receive the transaction from a more specific flow, but in this case we let [FinalityFlow]
// handle receiving it for us.
serviceHub.storageService.validatedTransactions.updates.subscribe { event ->
// When the transaction is received, it's passed through [ResolveTransactionsFlow], 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()
}
}
fun recipient(rpc: CordaRPCOps) {
println("Waiting to receive transaction ...")
val stx = rpc.verifiedTransactions().second.toBlocking().first()
val wtx = stx.tx
if (wtx.attachments.isNotEmpty()) {
assertEquals(PROSPECTUS_HASH, wtx.attachments.first())
require(rpc.attachmentExists(PROSPECTUS_HASH))
println("File received - we're happy!\n\nFinal transaction is:\n\n${Emoji.renderIfSupported(wtx)}")
} else {
println("Error: no attachments found in ${wtx.id}")
}
}
The sender correspondingly builds a transaction with the attachment, then calls ``FinalityFlow`` to complete the
transaction and send it to the recipient node:
.. sourcecode:: kotlin
private fun runSender(node: Node, otherSide: Party) {
val serviceHub = node.services
fun sender(rpc: CordaRPCOps) {
// Get the identity key of the other side (the recipient).
val otherSide: Party = rpc.partyFromName("Bank B")!!
// Make sure we have the file in storage
if (serviceHub.storageService.attachments.openAttachment(PROSPECTUS_HASH) == null) {
net.corda.demos.Role::class.java.getResourceAsStream("bank-of-london-cp.jar").use {
val id = node.storage.attachments.importAttachment(it)
// TODO: We should have our own demo file, not share the trader demo file
if (!rpc.attachmentExists(PROSPECTUS_HASH)) {
Thread.currentThread().contextClassLoader.getResourceAsStream("bank-of-london-cp.jar").use {
val id = rpc.uploadAttachment(it)
assertEquals(PROSPECTUS_HASH, id)
}
}
@ -80,19 +79,24 @@ transaction and send it to the recipient node:
// 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)
require(rpc.attachmentExists(PROSPECTUS_HASH))
ptx.addAttachment(PROSPECTUS_HASH)
// TODO: Add a dummy state and specify a notary, so that the tx hash is randomised each time and the demo can be repeated.
// 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.startFlow(LOG_SENDER, FinalityFlow(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 ")
}
val stx = ptx.toSignedTransaction()
println("Sending ${stx.id}")
val protocolHandle = rpc.startFlow(::FinalityFlow, stx, setOf(otherSide))
protocolHandle.progress.subscribe(::println)
protocolHandle.returnValue.toBlocking().first()
}
This side is a bit more complex. Firstly it looks up its counterparty by name in the network map. Then, if the node
doesn't already have the attachment in its storage, we upload it from a JAR resource and check the hash was what
we expected. Then a trivial transaction is built that has the attachment and a single signature and it's sent to
the other side using the FinalityFlow. The result of starting the flow is a stream of progress messages and a
``returnValue`` observable that can be used to watch out for the flow completing successfully.

View File

@ -1,4 +1,4 @@
Building Transactions
Building transactions
=====================
Introduction
@ -75,7 +75,7 @@ have to separately check that this is still the same
The final stage of committing the transaction to the ledger is to
notarise the ``SignedTransaction``, distribute this to all appropriate
parties and record the data into the ledger. These actions are best
delegated to the ``FinalityFlow``, rather than calling the inidividual
delegated to the ``FinalityFlow``, rather than calling the individual
steps manually. However, do note that the final broadcast to the other
nodes is asynchronous, so care must be used in unit testing to
correctly await the Vault updates.
@ -292,7 +292,7 @@ final step is notarisation. This involves calling ``NotaryFlow.Client``
to confirm the transaction, consume the inputs and return its confirming
signature. Then the flow should ensure that all nodes end with all
signatures and that they call ``ServiceHub.recordTransactions``. The
code for this is standardised in the ``FinalityFlow``, or more explictly
code for this is standardised in the ``FinalityFlow``, or more explicitly
an example is:
.. literalinclude:: example-code/src/main/kotlin/net/corda/docs/WorkflowTransactionBuildTutorial.kt

View File

@ -3,12 +3,13 @@
Client RPC API tutorial
=======================
In this tutorial we will build a simple command line utility that connects to a node, creates some Cash transactions and
meanwhile 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`.
In this tutorial we will build a simple command line utility that
connects to a node, creates some Cash transactions and meanwhile 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 use the Driver to start up a notary
and a node that issues/exits and moves Cash around for herself.
We start off by connecting to the node itself. For the purposes of the tutorial we will use the Driver to start up a notary and a node that issues/exits and moves Cash around for herself. To authenticate we will use the certificates of the nodes directly.
Note how we configure the node to create a user that has permission to start the CashFlow.
@ -24,16 +25,14 @@ Now we can connect to the node itself using a valid RPC login. We login using th
:start-after: START 2
:end-before: END 2
We start generating transactions in a different thread (``generateTransactions`` to be defined later) using ``proxy``,
which exposes the full RPC interface of the node:
We start generating transactions in a different thread (``generateTransactions`` to be defined later) using ``proxy``, which exposes the full RPC interface of the node:
.. literalinclude:: ../../node/src/main/kotlin/net/corda/node/services/messaging/CordaRPCOps.kt
:language: kotlin
:start-after: interface CordaRPCOps
:end-before: }
.. warning:: This API is evolving and will continue to grow as new functionality and features added to Corda are made
available to RPC clients.
.. warning:: This API is evolving and will continue to grow as new functionality and features added to Corda are made available to RPC clients.
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
@ -66,12 +65,9 @@ We utilise several RPC functions here to query things like the notaries in the n
Then in a loop we generate randomly either an Issue, a Pay or an Exit transaction.
The RPC we need to initiate a Cash transaction is ``startFlowDynamic`` which may start an arbitrary flow, given sufficient
permissions to do so. We won't use this function directly, but rather a type-safe wrapper around it ``startFlow`` that
type-checks the arguments for us.
The RPC we need to initiate a Cash transaction is ``startFlowDynamic`` which may start an arbitrary flow, given sufficient permissions to do so. We won't use this function directly, but rather a type-safe wrapper around it ``startFlow`` that type-checks the arguments for us.
Finally we have everything in place: we start a couple of nodes, connect to them, and start creating transactions while
listening on successfully created ones, which are dumped to the console. We just need to run it!:
Finally we have everything in place: we start a couple of nodes, connect to them, and start creating transactions while listening on successfully created ones, which are dumped to the console. We just need to run it!:
.. code-block:: text

View File

@ -327,7 +327,7 @@ Using state groups
------------------
The simplest way to write a smart contract would be to say that each transaction can have a single input state and a
single output state of the kind govered by that contract. This would be easy for the developer, but would prevent many
single output state of the kind covered by that contract. This would be easy for the developer, but would prevent many
important use cases.
The next easiest way to write a contract would be to iterate over each input state and expect it to have an output

View File

@ -4,7 +4,7 @@
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/codesets.js"></script>
The CorDapp Template
The CorDapp template
====================
This guide covers how to get started with the `cordapp-template`. Please note there are two Corda repositories:
@ -61,7 +61,7 @@ Firstly, follow the :doc:`getting set up <getting-set-up>` page to download the
already have it.
Working from milestone releases
-------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you wish to build a CorDapp against a milestone release then please use these instructions.
@ -98,7 +98,7 @@ where ``local_branch_name`` is a name of your choice and ``tag_name`` is the nam
Gradle will handle all the dependencies for you. Now you are now ready to get started `building the CorDapp Template`_.
Using a SNAPSHOT release
------------------------
~~~~~~~~~~~~~~~~~~~~~~~~
If you wish to build a CorDapp against the most current version of Corda, follow these instructions.
@ -199,7 +199,7 @@ Once you have published the Corda JARs to your local Maven repository, you are r
CorDapp using the latest Corda features.
Opening the CorDapp Template with IntelliJ
------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For those familiar with IntelliJ, you can skip this section.
@ -252,7 +252,7 @@ see all available Gradle tasks.
To execute a task, double click it. The output will be shown in a console window.
Building the CorDapp template
=============================
-----------------------------
**From the command line**
@ -306,7 +306,7 @@ folder has the following structure:
└── runnodes.bat
There will be one folder generated for each node you build (more on later when we get into the detail of the
``deployNodes`` Gradle task) and a ``runnodes`` shell script (batch file on Widnows).
``deployNodes`` Gradle task) and a ``runnodes`` shell script (batch file on Windows).
Each node folder contains the Corda JAR, a folder for dependencies and a folder for plugins (or CorDapps). There is also
a node.conf file. See :doc:`Corda configuration files <corda-configuration-file>`.
@ -318,10 +318,10 @@ open on the right hand side of the IDE. Expand `tasks` and then expand `other`.
start the build process and output progress to a console window in the IDE.
Running the CorDapp template
============================
----------------------------
Running the CorDapp template from the command line
--------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To run the sample CorDapp navigate to the ``kotlin/build/nodes`` folder and execute the ``runnodes`` shell script with:
@ -385,20 +385,8 @@ Notably:
Additional files and folders are added as the node is running.
Running CorDapps on separate machines
-------------------------------------
Corda nodes can be run on separate machines with little additional configuration to the above instructions.
When you have successfully run the ``deployNodes`` gradle task, choose which nodes you would like to run on separate
machines. Copy the folders for those nodes from ``kotlin/build/nodes`` to the other machines. Make sure that you set the
``networkMapAddress`` property in ``node.conf`` to the correct hostname:port where the network map service node is
hosted.
The nodes can be run on each machine with ``java -jar corda.jar`` from the node's directory.
Running the example CorDapp via IntelliJ
----------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To run the example CorDapp via IntelliJ you can use the ``Run Example CorDapp`` run configuration. Select it from the drop
down menu at the top right-hand side of the IDE and press the green arrow to start the nodes. See image below:
@ -429,10 +417,10 @@ To stop the nodes, press the red "stop" button at the top right-hand side of the
The node driver can also be used to as a basis for `debugging your CorDapp`_
Interacting with the CorDapp template
=====================================
-------------------------------------
Via HTTP
--------
~~~~~~~~
The CorDapp defines a few HTTP API end-points and also serves some static web content. The end-points allow you to
list purchase orders and add purchase orders.
@ -555,7 +543,7 @@ Navigate to http://localhost:10005/web/example the refresh button in the top lef
see the newly created agreement on the page.
Using the h2 web console
------------------------
~~~~~~~~~~~~~~~~~~~~~~~~
You can connect to the h2 database to see the current state of the ledger, among other data such as the current state of
the network map cache. Firstly, navigate to the folder where you downloaded the h2 web console as part of the pre-requisites
@ -584,11 +572,11 @@ You will be presented with a web application that enumerates all the available t
query them using SQL.
Using the Example RPC client
----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ``/src/main/kotlin/com/example/client/ExampleClientRPC.kt`` file is a simple utility which uses the client RPC library
to connect to a node and log the 'placed' purchase orders. It will log any existing purchase orders and listen for any future
purchase orders. If you haven't placed any purchase orders when you connect to to one of the Nodes via RPC then the client will log
purchase orders. If you haven't placed any purchase orders when you connect to one of the Nodes via RPC then the client will log
and future purchase orders which are agreed.
To build the client use the following gradle task:
@ -613,10 +601,10 @@ application see:
* :doc:`Client RPC tutorial <tutorial-clientrpc-api>`
Extending the CorDapp template
==============================
------------------------------
CorDapp-template Project Structure
----------------------------------
CorDapp-template project structure
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The CorDapp template has the following directory structure:
@ -740,7 +728,7 @@ In the file structure above, the most important files and directories to note ar
Some elements are covered in more detail below.
The build.gradle file
---------------------
~~~~~~~~~~~~~~~~~~~~~
It is usually necessary to make a couple of changes to the ``build.gradle`` file. Here will cover the most pertinent bits.
@ -846,14 +834,13 @@ only requirement is that you must specify a node to run as the network map servi
When you are finished editing your *CordFormation* the changes will be reflected the next time you run ``./gradlew deployNodes``.
Service Provider Configuration File
-----------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are building a CorDapp from scratch or adding a new CorDapp to the CorDapp-template project then you must provide
a reference to your sub-class of ``CordaPluginRegistry`` in the provider-configuration file in located in the the
``resources/META-INF/services`` directory.
a reference to your sub-class of ``CordaPluginRegistry`` in the provider-configuration file in located in the ``resources/META-INF/services`` directory.
Re-Deploying Your Nodes Locally
-------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you need to create any additional nodes you can do it via the ``build.gradle`` file as discussed above in
``the build.gradle file`` and in more detail in the "cordFormation" section.
@ -868,7 +855,7 @@ Unix/Mac OSX: ``./gradlew deployNodes``
Windows: ``gradlew.bat deployNodes``
Running Nodes Across Machines
-----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The nodes can also be set up to communicate between separate machines on the
same subnet.
@ -891,9 +878,9 @@ the following changes:
* Change the artemis address to the machine's ip address (e.g.
`artemisAddress="10.18.0.166:10006"`)
* Change the network map address to the ip address of the machine where the
controller node is running (e.g. `networkMapAddress="10.18.0.166:10002"`)
(please note that the controller will not have a network map address)
* Change the network map service details to the ip address of the machine where the
controller node is running and to its legal name (e.g. `networkMapService.address="10.18.0.166:10002"` and
`networkMapService.legalName=controller`) (please note that the controller will not have the `networkMapService` config)
Each machine should now run its nodes using `runnodes` or `runnodes.bat`
files. Once they are up and running, the nodes should be able to place
@ -901,7 +888,7 @@ purchase orders among themselves in the same way as when they were running on
the same machine.
Debugging your CorDapp
----------------------
~~~~~~~~~~~~~~~~~~~~~~
Debugging is done via IntelliJ and can be done using the following steps.
@ -936,4 +923,3 @@ Debugging is done via IntelliJ and can be done using the following steps.
5. Edit the “Debug CorDapp” run configuration with the port of the node you wish to connect to.
6. Run the “Debug CorDapp” run configuration.

View File

@ -1,5 +1,5 @@
Integration Test Tutorial
=========================
Integration testing
===================
Integration testing involves bringing up nodes locally and testing
invariants about them by starting flows and inspecting their state.
@ -35,7 +35,7 @@ notary directly, so there's no need to pass in the test ``User``.
The ``startNode`` function returns a future that completes once the
node is fully started. This allows starting of the nodes to be
parallel. We wait on these futures as we need the information
returned; their respective ``NodeInfo`` s.
returned; their respective ``NodeHandles`` s.
.. literalinclude:: example-code/src/integration-test/kotlin/net/corda/docs/IntegrationTestingTutorial.kt
:language: kotlin
@ -46,9 +46,6 @@ Next we connect to Alice and Bob respectively from the test process
using the test user we created. Then we establish RPC links that allow
us to start flows and query state.
Note that Driver nodes start up with test server certificiates, so
it's enough to pass in ``configureTestSSL()`` for the clients.
.. literalinclude:: example-code/src/integration-test/kotlin/net/corda/docs/IntegrationTestingTutorial.kt
:language: kotlin
:start-after: START 3

View File

@ -209,7 +209,7 @@ properties loaded from the attachments. And perhaps the authenticated user for
<td>
<a href="../net.corda.node.services.messaging/-artemis-messaging-component/index.html">net.corda.node.services.messaging.ArtemisMessagingComponent</a></td>
<td>
<p>The base class for Artemis services that defines shared data structures and transport configuration</p>
<p>The base class for Artemis services that defines shared data structures and SSL transport configuration.</p>
</td>
</tr>
<tr>
@ -1780,6 +1780,12 @@ with a specified network map service, which it fetches data from and then subscr
</tr>
<tr>
<td>
<a href="../net.corda.node.internal/-network-map-info/index.html">net.corda.node.internal.NetworkMapInfo</a></td>
<td>
</td>
</tr>
<tr>
<td>
<a href="../net.corda.node.services.network/-network-map-service/index.html">net.corda.node.services.network.NetworkMapService</a></td>
<td>
<p>A network map contains lists of nodes on the network along with information about their identity keys, services
@ -1845,6 +1851,21 @@ loads important data off disk and starts listening for connections.</p>
</tr>
<tr>
<td>
<a href="../net.corda.node.services.messaging/-node-login-module/index.html">net.corda.node.services.messaging.NodeLoginModule</a></td>
<td>
<p>Clients must connect to us with a username and password and must use TLS. If a someone connects with
<a href="../net.corda.node.services.messaging/-artemis-messaging-component/-n-o-d-e_-u-s-e-r.html">ArtemisMessagingComponent.NODE_USER</a> then we confirm its just us as the node by checking their TLS certificate
is the same as our one in our key store. Then theyre given full access to all valid queues. If they connect with
<a href="../net.corda.node.services.messaging/-artemis-messaging-component/-p-e-e-r_-u-s-e-r.html">ArtemisMessagingComponent.PEER_USER</a> then we confirm they belong on our P2P network by checking their root CA is
the same as our root CA. If thats the case the only access theyre given is the ablility send to our P2P address.
In both cases the messages these authenticated nodes send to us are tagged with their subject DN and we assume
the CN within that is their legal name.
Otherwise if the username is neither of the above we assume its an RPC user and authenticate against our list of
valid RPC users. RPC clients are given permission to perform RPC and nothing else.</p>
</td>
</tr>
<tr>
<td>
<a href="../net.corda.node.services.network/-node-map-error/index.html">net.corda.node.services.network.NodeMapError</a></td>
<td>
</td>
@ -3099,26 +3120,8 @@ consumed by someone else first</p>
</tr>
<tr>
<td>
<a href="../net.corda.core.crypto/-whitelist-trust-manager/index.html">net.corda.core.crypto.WhitelistTrustManager</a></td>
<a href="../net.corda.node.services.messaging/-verifying-netty-connector-factory/index.html">net.corda.node.services.messaging.VerifyingNettyConnectorFactory</a></td>
<td>
<p>Our TrustManager extension takes the standard certificate checker and first delegates all the
chain checking to that. If everything is well formed we then simply add a check against our whitelist</p>
</td>
</tr>
<tr>
<td>
<a href="../net.corda.core.crypto/-whitelist-trust-manager-provider/index.html">net.corda.core.crypto.WhitelistTrustManagerProvider</a></td>
<td>
<p>Custom Security Provider that forces the TrustManagerFactory to be our custom one.
Also holds the identity of the original TrustManager algorithm so
that we can delegate most of the checking to the proper Java code. We simply add some more checks.</p>
</td>
</tr>
<tr>
<td>
<a href="../net.corda.core.crypto/-whitelist-trust-manager-spi/index.html">net.corda.core.crypto.WhitelistTrustManagerSpi</a></td>
<td>
<p>Registered TrustManagerFactorySpi</p>
</td>
</tr>
<tr>

View File

@ -213,7 +213,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-init-.html"><span class="identifier">AbstractNode</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/networkMapService">networkMapService</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/platformClock">platformClock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-init-.html"><span class="identifier">AbstractNode</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/platformClock">platformClock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-database-configuration-exception/index.html"><span class="keyword">class </span><span class="identifier">DatabaseConfigurationException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html"><span class="identifier">Exception</span></a></a></a><br/>
<ul>
<HTML>
@ -228,6 +228,7 @@
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-p-r-i-v-a-t-e_-k-e-y_-f-i-l-e_-n-a-m-e.html"><span class="keyword">val </span><span class="identifier">PRIVATE_KEY_FILE_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-p-u-b-l-i-c_-i-d-e-n-t-i-t-y_-f-i-l-e_-n-a-m-e.html"><span class="keyword">val </span><span class="identifier">PUBLIC_IDENTITY_FILE_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/_network-map-registration-future.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">_networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/_services-that-accept-uploads.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">_servicesThatAcceptUploads</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><a href="net.corda.node.services.api/-accepts-file-upload/index.html"><span class="identifier">AcceptsFileUpload</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/acceptable-live-fiber-count-on-stop.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">acceptableLiveFiberCountOnStop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/advertised-services.html"><span class="keyword">val </span><span class="identifier">advertisedServices</span><span class="symbol">: </span><span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -265,15 +266,16 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/make-vault-service.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeVaultService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.node.services/-vault-service/index.html"><span class="identifier">VaultService</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/net.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="net.corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/net-map-cache.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-address.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-registration-future.html"><span class="keyword">val </span><span class="identifier">networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-seq.html"><span class="keyword">var </span><span class="identifier">networkMapSeq</span><span class="symbol">: </span><span class="identifier">Long</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-service.html"><span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/no-network-map-configured.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">noNetworkMapConfigured</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/obtain-legal-identity.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">obtainLegalIdentity</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/obtain-legal-identity-key.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">obtainLegalIdentityKey</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/party-keys.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">partyKeys</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/platform-clock.html"><span class="keyword">val </span><span class="identifier">platformClock</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/plugin-registries.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">pluginRegistries</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/register-with-network-map.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWithNetworkMap</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/run-on-stop.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">runOnStop</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Runnable.html"><span class="identifier">Runnable</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/scheduler.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">scheduler</span><span class="symbol">: </span><a href="net.corda.node.services.events/-node-scheduler-service/index.html"><span class="identifier">NodeSchedulerService</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/schemas.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">schemas</span><span class="symbol">: </span><a href="net.corda.node.services.api/-schema-service/index.html"><span class="identifier">SchemaService</span></a></a></a><br/>
@ -349,7 +351,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/-n-o-t-a-r-y.html"><span class="keyword">object </span><span class="identifier">NOTARY</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/-s-i-g-n-i-n-g.html"><span class="keyword">object </span><span class="identifier">SIGNING</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-proposal.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleProposal</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/stateRef">stateRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/modification">modification</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/stx">stx</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.flows/-abstract-state-replacement-flow/-proposal/index.html"><span class="identifier">Proposal</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">Iterable</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/call.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/modification.html"><span class="keyword">val </span><span class="identifier">modification</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/original-state.html"><span class="keyword">val </span><span class="identifier">originalState</span><span class="symbol">: </span><a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></a></a><br/>
@ -627,7 +629,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-address/queue-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-address/queue-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -644,7 +646,7 @@
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-c-l-i-e-n-t-s_-p-r-e-f-i-x.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">CLIENTS_PREFIX</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="keyword">protected</span> <span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">ConnectionDirection</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="keyword">protected</span> <span class="keyword">sealed</span> <span class="keyword">class </span><span class="identifier">ConnectionDirection</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@ -652,13 +654,25 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html"><span class="identifier">INBOUND</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html"><span class="identifier">OUTBOUND</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-inbound.html"><span class="keyword">object </span><span class="identifier">Inbound</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/index.html"><span class="keyword">class </span><span class="identifier">Outbound</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/-init-.html"><span class="identifier">Outbound</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection.Outbound$<init>(kotlin.String)/expectedCommonName">expectedCommonName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/expected-common-name.html"><span class="keyword">val </span><span class="identifier">expectedCommonName</span><span class="symbol">: </span><span class="identifier">String</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-i-n-t-e-r-n-a-l_-p-r-e-f-i-x.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">INTERNAL_PREFIX</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-e-t-w-o-r-k_-m-a-p_-a-d-d-r-e-s-s.html"><span class="keyword">val </span><span class="identifier">NETWORK_MAP_ADDRESS</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-e-t-w-o-r-k_-m-a-p_-q-u-e-u-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NETWORK_MAP_QUEUE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-o-d-e_-u-s-e-r.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_USER</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-o-t-i-f-i-c-a-t-i-o-n-s_-a-d-d-r-e-s-s.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NOTIFICATIONS_ADDRESS</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">NetworkMapAddress</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">, </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-peer-address/index.html"><span class="identifier">ArtemisPeerAddress</span></a></a></a><br/>
@ -671,7 +685,7 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/-init-.html"><span class="identifier">NetworkMapAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NetworkMapAddress$<init>()/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/host-and-port.html"><span class="keyword">val </span><span class="identifier">hostAndPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -683,12 +697,11 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/-init-.html"><span class="identifier">NodeAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/-init-.html"><span class="identifier">NodeAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(kotlin.String, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(kotlin.String, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/as-peer.html"><span class="keyword">fun </span><span class="identifier">asPeer</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asPeer(net.corda.core.crypto.CompositeKey, )/peerIdentity">peerIdentity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asPeer(net.corda.core.crypto.CompositeKey, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/index.html"><span class="identifier">NodeAddress</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/as-service.html"><span class="keyword">fun </span><span class="identifier">asService</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asService(net.corda.core.crypto.CompositeKey, )/serviceIdentity">serviceIdentity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asService(net.corda.core.crypto.CompositeKey, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/index.html"><span class="identifier">NodeAddress</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/host-and-port.html"><span class="keyword">val </span><span class="identifier">hostAndPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/to-string.html"><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -708,12 +721,13 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/-init-.html"><span class="identifier">ServiceAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.ServiceAddress$<init>(net.corda.core.crypto.CompositeKey)/identity">identity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/identity.html"><span class="keyword">val </span><span class="identifier">identity</span><span class="symbol">: </span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-v-e-r-i-f-y_-p-e-e-r_-c-o-m-m-o-n_-n-a-m-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">VERIFY_PEER_COMMON_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/check-store-passwords.html"><span class="keyword">fun </span><span class="identifier">checkStorePasswords</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/config.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/config.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/expected-on-default-file-system.html"><span class="keyword">protected</span> <span class="keyword">fun </span><a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a><span class="symbol">.</span><span class="identifier">expectedOnDefaultFileSystem</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">tcpTransport</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/port">port</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/to-host-and-port.html"><span class="keyword">fun </span><span class="identifier">toHostAndPort</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.Companion$toHostAndPort(net.corda.core.messaging.MessageRecipients)/target">target</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@ -729,30 +743,10 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-init-.html"><span class="identifier">ArtemisMessagingServer</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/myHostPort">myHostPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/networkMapCache">networkMapCache</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/userService">userService</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services/-r-p-c-user-service/index.html"><span class="identifier">RPCUserService</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/index.html"><span class="keyword">class </span><span class="identifier">NodeLoginModule</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/spi/LoginModule.html"><span class="identifier">LoginModule</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-init-.html"><span class="identifier">NodeLoginModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-n-o-d-e_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-p-e-e-r_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">PEER_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-r-p-c_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">RPC_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/abort.html"><span class="keyword">fun </span><span class="identifier">abort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/commit.html"><span class="keyword">fun </span><span class="identifier">commit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/initialize.html"><span class="keyword">fun </span><span class="identifier">initialize</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/subject">subject</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/Subject.html"><span class="identifier">Subject</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/callbackHandler">callbackHandler</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/callback/CallbackHandler.html"><span class="identifier">CallbackHandler</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/sharedState">sharedState</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/options">options</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/logout.html"><span class="keyword">fun </span><span class="identifier">logout</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/deploy-bridge-if-absent.html"><span class="keyword">fun </span><span class="identifier">deployBridgeIfAbsent</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$deployBridgeIfAbsent(, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$deployBridgeIfAbsent(, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/my-host-port.html"><span class="keyword">val </span><span class="identifier">myHostPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/network-map-cache.html"><span class="keyword">val </span><span class="identifier">networkMapCache</span><span class="symbol">: </span><a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/network-map-connection-future.html"><span class="keyword">val </span><span class="identifier">networkMapConnectionFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/stop.html"><span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/user-service.html"><span class="keyword">val </span><span class="identifier">userService</span><span class="symbol">: </span><a href="net.corda.node.services/-r-p-c-user-service/index.html"><span class="identifier">RPCUserService</span></a></a></a><br/>
@ -1084,10 +1078,9 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/deposit">deposit</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-party-and-reference/index.html"><span class="identifier">PartyAndReference</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/amount.html"><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/contract.html"><span class="keyword">val </span><span class="identifier">contract</span><span class="symbol">: </span><a href="net.corda.contracts.asset/-cash/index.html"><span class="identifier">Cash</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/encumbrance.html"><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/exit-keys.html"><span class="keyword">val </span><span class="identifier">exitKeys</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/generate-mapped-object.html"><span class="keyword">fun </span><span class="identifier">generateMappedObject</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$generateMappedObject(net.corda.core.schemas.MappedSchema)/schema">schema</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.schemas/-mapped-schema/index.html"><span class="identifier">MappedSchema</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.schemas/-persistent-state/index.html"><span class="identifier">PersistentState</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/move.html"><span class="keyword">fun </span><span class="identifier">move</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$move(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/newAmount">newAmount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$move(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/newOwner">newOwner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-fungible-asset/index.html"><span class="identifier">FungibleAsset</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -1259,9 +1252,8 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html"><span class="identifier">PersistentCashState</span><span class="symbol">(</span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/owner">owner</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/pennies">pennies</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/currency">currency</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerParty">issuerParty</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerRef">issuerRef</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html"><span class="identifier">PersistentCashState</span><span class="symbol">(</span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/owner">owner</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/pennies">pennies</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/currency">currency</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerParty">issuerParty</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerRef">issuerRef</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/currency.html"><span class="keyword">var </span><span class="identifier">currency</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/encumbrance.html"><span class="keyword">var </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-party.html"><span class="keyword">var </span><span class="identifier">issuerParty</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-ref.html"><span class="keyword">var </span><span class="identifier">issuerRef</span><span class="symbol">: </span><span class="identifier">ByteArray</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/owner.html"><span class="keyword">var </span><span class="identifier">owner</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
@ -2162,7 +2154,6 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/contract.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">contract</span><span class="symbol">: </span><a href="net.corda.core.contracts/-contract/index.html"><span class="identifier">Contract</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/encumbrance.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/participants.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
@ -2219,12 +2210,14 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/-init-.html"><span class="identifier">CordaRPCClient</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/-init-.html"><span class="identifier">CordaRPCClient</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/close.html"><span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/host.html"><span class="keyword">val </span><span class="identifier">host</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/log.html"><span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/proxy.html"><span class="keyword">fun </span><span class="identifier">proxy</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$proxy(java.time.Duration, kotlin.Int)/timeout">timeout</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Duration.html"><span class="identifier">Duration</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$proxy(java.time.Duration, kotlin.Int)/minVersion">minVersion</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-corda-r-p-c-ops/index.html"><span class="identifier">CordaRPCOps</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-corda-r-p-c-client/index.html"><span class="identifier">CordaRPCClient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/use.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">use</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/block">block</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-corda-r-p-c-ops/index.html"><span class="identifier">CordaRPCOps</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -3758,7 +3751,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/messaging-server-address.html"><span class="keyword">val </span><span class="identifier">messagingServerAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/my-legal-name.html"><span class="keyword">val </span><span class="identifier">myLegalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/nearest-city.html"><span class="keyword">val </span><span class="identifier">nearestCity</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/network-map-address.html"><span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/network-map-service.html"><span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.node.internal/-network-map-info/index.html"><span class="identifier">NetworkMapInfo</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/notary-cluster-addresses.html"><span class="keyword">val </span><span class="identifier">notaryClusterAddresses</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/notary-node-address.html"><span class="keyword">val </span><span class="identifier">notaryNodeAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/rpc-users.html"><span class="keyword">val </span><span class="identifier">rpcUsers</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -4524,7 +4517,9 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/corda-module.html"><span class="keyword">val </span><span class="identifier">cordaModule</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/create-default-mapper.html"><span class="keyword">fun </span><span class="identifier">createDefaultMapper</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.JsonSupport$createDefaultMapper(net.corda.core.node.services.IdentityService)/identities">identities</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-identity-service/index.html"><span class="identifier">IdentityService</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/java-time-module.html"><span class="keyword">val </span><span class="identifier">javaTimeModule</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -5171,6 +5166,20 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">NetworkMapInfo</span></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/-init-.html"><span class="identifier">NetworkMapInfo</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.NetworkMapInfo$<init>(, kotlin.String)/address">address</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.NetworkMapInfo$<init>(, kotlin.String)/legalName">legalName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/address.html"><span class="keyword">val </span><span class="identifier">address</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/legal-name.html"><span class="keyword">val </span><span class="identifier">legalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.network/-network-map-service/index.html"><span class="keyword">interface </span><span class="identifier">NetworkMapService</span></a></a><br/>
<ul>
<HTML>
@ -5372,13 +5381,15 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/-init-.html"><span class="identifier">Node</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/networkMapAddress">networkMapAddress</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/clock">clock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a>&nbsp;<span class="symbol">=</span>&nbsp;NodeClock()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/-init-.html"><span class="identifier">Node</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/clock">clock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a>&nbsp;<span class="symbol">=</span>&nbsp;NodeClock()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/configuration.html"><span class="keyword">val </span><span class="identifier">configuration</span><span class="symbol">: </span><a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/initialise-database-persistence.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">initialiseDatabasePersistence</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$initialiseDatabasePersistence(kotlin.Function0((kotlin.Unit)))/insideTransaction">insideTransaction</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/log.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/make-messaging-service.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/make-uniqueness-provider.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeUniquenessProvider</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$makeUniquenessProvider(net.corda.core.node.services.ServiceType)/type">type</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-service-type/index.html"><span class="identifier">ServiceType</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.node.services/-uniqueness-provider/index.html"><span class="identifier">UniquenessProvider</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/message-broker.html"><span class="keyword">var </span><span class="identifier">messageBroker</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-server/index.html"><span class="identifier">ArtemisMessagingServer</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/network-map-address.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/index.html"><span class="identifier">NetworkMapAddress</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/register-with-network-map.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">registerWithNetworkMap</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/run.html"><span class="keyword">fun </span><span class="identifier">run</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/server-thread.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">serverThread</span><span class="symbol">: </span><a href="net.corda.node.utilities/-affinity-executor/-service-affinity-executor/index.html"><span class="identifier">ServiceAffinityExecutor</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/setup.html"><span class="keyword">fun </span><span class="identifier">setup</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.internal/-node/index.html"><span class="identifier">Node</span></a></a></a><br/>
@ -5456,6 +5467,8 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/export-j-m-xto.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">exportJMXto</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/my-legal-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">myLegalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/nearest-city.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">nearestCity</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/network-map-service.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.node.internal/-network-map-info/index.html"><span class="identifier">NetworkMapInfo</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/rpc-users.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">rpcUsers</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -5467,10 +5480,11 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/-init-.html"><span class="identifier">NodeHandle</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/nodeInfo">nodeInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/config">config</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/process">process</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/-init-.html"><span class="identifier">NodeHandle</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/nodeInfo">nodeInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/process">process</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/configuration.html"><span class="keyword">val </span><span class="identifier">configuration</span><span class="symbol">: </span><a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/node-info.html"><span class="keyword">val </span><span class="identifier">nodeInfo</span><span class="symbol">: </span><a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/process.html"><span class="keyword">val </span><span class="identifier">process</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/rpc-client-to-node.html"><span class="keyword">fun </span><span class="identifier">rpcClientToNode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-corda-r-p-c-client/index.html"><span class="identifier">CordaRPCClient</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
@ -5492,6 +5506,27 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/index.html"><span class="keyword">class </span><span class="identifier">NodeLoginModule</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/spi/LoginModule.html"><span class="identifier">LoginModule</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-init-.html"><span class="identifier">NodeLoginModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-n-o-d-e_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-p-e-e-r_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">PEER_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-r-p-c_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">RPC_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/abort.html"><span class="keyword">fun </span><span class="identifier">abort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/commit.html"><span class="keyword">fun </span><span class="identifier">commit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/initialize.html"><span class="keyword">fun </span><span class="identifier">initialize</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/subject">subject</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/Subject.html"><span class="identifier">Subject</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/callbackHandler">callbackHandler</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/callback/CallbackHandler.html"><span class="identifier">CallbackHandler</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/sharedState">sharedState</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/options">options</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/log.html"><span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/logout.html"><span class="keyword">fun </span><span class="identifier">logout</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.network/-node-map-error/index.html"><span class="keyword">sealed</span> <span class="keyword">class </span><span class="identifier">NodeMapError</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html"><span class="identifier">Exception</span></a></a></a><br/>
<ul>
<HTML>
@ -5571,7 +5606,6 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/database.html"><span class="keyword">val </span><span class="identifier">database</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/executor.html"><span class="keyword">val </span><span class="identifier">executor</span><span class="symbol">: </span><a href="net.corda.node.utilities/-affinity-executor/index.html"><span class="identifier">AffinityExecutor</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/get-address-of-party.html"><span class="keyword">fun </span><span class="identifier">getAddressOfParty</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeMessagingClient$getAddressOfParty(net.corda.core.node.services.PartyInfo)/partyInfo">partyInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-party-info/index.html"><span class="identifier">PartyInfo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/make-network-map-address.html"><span class="keyword">fun </span><span class="identifier">makeNetworkMapAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeMessagingClient.Companion$makeNetworkMapAddress()/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/my-address.html"><span class="keyword">val </span><span class="identifier">myAddress</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/my-identity.html"><span class="keyword">val </span><span class="identifier">myIdentity</span><span class="symbol">: </span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/network-map-registration-future.html"><span class="keyword">val </span><span class="identifier">networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
@ -5847,7 +5881,7 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/-init-.html"><span class="identifier">Instigator</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/originalState">originalState</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/newNotary">newNotary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/progressTracker">progressTracker</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a>&nbsp;<span class="symbol">=</span>&nbsp;tracker()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-proposal.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleProposal</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/stateRef">stateRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/modification">modification</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/stx">stx</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.flows/-abstract-state-replacement-flow/-proposal/index.html"><span class="identifier">Proposal</span></a><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">Iterable</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -6831,7 +6865,7 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/index.html"><span class="keyword">class </span><span class="identifier">RandomFree</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.driver/-port-allocation/index.html"><span class="identifier">PortAllocation</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/index.html"><span class="keyword">object </span><span class="identifier">RandomFree</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.driver/-port-allocation/index.html"><span class="identifier">PortAllocation</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@ -6839,7 +6873,6 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/-init-.html"><span class="identifier">RandomFree</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/next-port.html"><span class="keyword">fun </span><span class="identifier">nextPort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
</BODY>
</HTML>
@ -7152,7 +7185,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/-init-.html"><span class="identifier">RPCUserServiceImpl</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$<init>(net.corda.node.services.config.FullNodeConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/-init-.html"><span class="identifier">RPCUserServiceImpl</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$<init>(net.corda.node.services.config.NodeConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/get-user.html"><span class="keyword">fun </span><span class="identifier">getUser</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$getUser(kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/users.html"><span class="keyword">val </span><span class="identifier">users</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
@ -8473,7 +8506,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/new-transaction.html"><span class="keyword">fun </span><span class="identifier">newTransaction</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager$newTransaction(kotlin.Int)/isolation">isolation</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/restore-thread-local-tx.html"><span class="keyword">fun </span><span class="identifier">restoreThreadLocalTx</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager.Companion$restoreThreadLocalTx(((, )))/context">context</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/set-thread-local-tx.html"><span class="keyword">fun </span><span class="identifier">setThreadLocalTx</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager.Companion$setThreadLocalTx()/tx">tx</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-boundaries.html"><span class="keyword">val </span><span class="identifier">transactionBoundaries</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-boundaries.html"><span class="keyword">val </span><span class="identifier">transactionBoundaries</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">,</span>&nbsp;<a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-id.html"><span class="keyword">val </span><span class="identifier">transactionId</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html"><span class="identifier">UUID</span></a></a></a><br/>
</BODY>
</HTML>
@ -8811,7 +8844,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-command.html"><span class="keyword">fun </span><span class="identifier">addCommand</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addCommand(net.corda.core.contracts.CommandData, kotlin.collections.List((net.corda.core.crypto.CompositeKey)))/data">data</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-command-data.html"><span class="identifier">CommandData</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addCommand(net.corda.core.contracts.CommandData, kotlin.collections.List((net.corda.core.crypto.CompositeKey)))/keys">keys</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-input-state.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addInputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addInputState(net.corda.core.contracts.StateAndRef((net.corda.core.contracts.ContractState)))/stateAndRef">stateAndRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.TransactionState((net.corda.core.contracts.ContractState)))/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-signature-unchecked.html"><span class="keyword">fun </span><span class="identifier">addSignatureUnchecked</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addSignatureUnchecked(net.corda.core.crypto.DigitalSignature.WithKey)/sig">sig</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.transactions/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/attachments.html"><span class="keyword">fun </span><span class="identifier">attachments</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -8996,8 +9029,9 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/-init-.html"><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/-init-.html"><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/data.html"><span class="keyword">val </span><span class="identifier">data</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/encumbrance.html"><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/notary.html"><span class="keyword">val </span><span class="identifier">notary</span><span class="symbol">: </span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/with-notary.html"><span class="keyword">fun </span><span class="identifier">withNotary</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$withNotary(net.corda.core.crypto.Party)/newNotary">newNotary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
@ -9746,7 +9780,7 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/index.html"><span class="keyword">class </span><span class="identifier">WhitelistTrustManager</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/index.html"><span class="keyword">class </span><span class="identifier">VerifyingNettyConnectorFactory</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@ -9754,48 +9788,8 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/-init-.html"><span class="identifier">WhitelistTrustManager</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$<init>(javax.net.ssl.X509ExtendedTrustManager)/originalProvider">originalProvider</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/socket">socket</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html"><span class="identifier">Socket</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/engine">engine</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLEngine.html"><span class="identifier">SSLEngine</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/socket">socket</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html"><span class="identifier">Socket</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/engine">engine</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLEngine.html"><span class="identifier">SSLEngine</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/checker.html"><span class="keyword">val </span><span class="identifier">checker</span><span class="symbol">: </span><span class="identifier">HostnameChecker</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/get-accepted-issuers.html"><span class="keyword">fun </span><span class="identifier">getAcceptedIssuers</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/original-provider.html"><span class="keyword">val </span><span class="identifier">originalProvider</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/index.html"><span class="keyword">object </span><span class="identifier">WhitelistTrustManagerProvider</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Provider.html"><span class="identifier">Provider</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/add-whitelist-entries.html"><span class="keyword">fun </span><span class="identifier">addWhitelistEntries</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerProvider$addWhitelistEntries(kotlin.collections.List((kotlin.String)))/serverNames">serverNames</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/add-whitelist-entry.html"><span class="keyword">fun </span><span class="identifier">addWhitelistEntry</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerProvider$addWhitelistEntry(kotlin.String)/serverName">serverName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/original-trust-provider-algorithm.html"><span class="keyword">val </span><span class="identifier">originalTrustProviderAlgorithm</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/register.html"><span class="keyword">fun </span><span class="identifier">register</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/whitelist.html"><span class="keyword">val </span><span class="identifier">whitelist</span><span class="symbol">: </span><span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/index.html"><span class="keyword">class </span><span class="identifier">WhitelistTrustManagerSpi</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManagerFactorySpi.html"><span class="identifier">TrustManagerFactorySpi</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/-init-.html"><span class="identifier">WhitelistTrustManagerSpi</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-get-trust-managers.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineGetTrustManagers</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManager.html"><span class="identifier">TrustManager</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-init.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineInit</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerSpi$engineInit(java.security.KeyStore)/keyStore">keyStore</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html"><span class="identifier">KeyStore</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-init.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineInit</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerSpi$engineInit(javax.net.ssl.ManagerFactoryParameters)/managerFactoryParameters">managerFactoryParameters</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/ManagerFactoryParameters.html"><span class="identifier">ManagerFactoryParameters</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/original-provider.html"><span class="keyword">val </span><span class="identifier">originalProvider</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManagerFactory.html"><span class="identifier">TrustManagerFactory</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/-init-.html"><span class="identifier">VerifyingNettyConnectorFactory</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/create-connector.html"><span class="keyword">fun </span><span class="identifier">createConnector</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/configuration">configuration</span><span class="symbol">:</span>&nbsp;<span class="identifier">MutableMap</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/listener">listener</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/closeExecutor">closeExecutor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/threadPool">threadPool</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/scheduledThreadPool">scheduledThreadPool</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ScheduledExecutorService.html"><span class="identifier">ScheduledExecutorService</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/protocolManager">protocolManager</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -11747,10 +11741,9 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/deposit">deposit</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-party-and-reference/index.html"><span class="identifier">PartyAndReference</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/-init-.html"><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/amount.html"><span class="keyword">val </span><span class="identifier">amount</span><span class="symbol">: </span><a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/contract.html"><span class="keyword">val </span><span class="identifier">contract</span><span class="symbol">: </span><a href="net.corda.contracts.asset/-cash/index.html"><span class="identifier">Cash</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/encumbrance.html"><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/exit-keys.html"><span class="keyword">val </span><span class="identifier">exitKeys</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/generate-mapped-object.html"><span class="keyword">fun </span><span class="identifier">generateMappedObject</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$generateMappedObject(net.corda.core.schemas.MappedSchema)/schema">schema</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.schemas/-mapped-schema/index.html"><span class="identifier">MappedSchema</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.schemas/-persistent-state/index.html"><span class="identifier">PersistentState</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.contracts.asset/-cash/-state/move.html"><span class="keyword">fun </span><span class="identifier">move</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$move(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/newAmount">newAmount</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$move(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/newOwner">newOwner</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-fungible-asset/index.html"><span class="identifier">FungibleAsset</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -12724,6 +12717,7 @@
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core/log-elapsed-time.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">logElapsedTime</span><span class="symbol">(</span><span class="identifier" id="net.corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((net.corda.core.logElapsedTime.T)))/label">label</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((net.corda.core.logElapsedTime.T)))/logger">logger</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="net.corda.core$logElapsedTime(kotlin.String, , kotlin.Function0((net.corda.core.logElapsedTime.T)))/body">body</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core/log-elapsed-time.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">logElapsedTime</span><span class="symbol">(</span><span class="identifier" id="net.corda.core$logElapsedTime(, kotlin.String, kotlin.Function0((net.corda.core.logElapsedTime.T)))/label">label</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core$logElapsedTime(, kotlin.String, kotlin.Function0((net.corda.core.logElapsedTime.T)))/body">body</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core/map.html"><span class="keyword">infix</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">F</span><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">F</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">map</span><span class="symbol">(</span><span class="identifier" id="net.corda.core$map(((net.corda.core.map.F)), kotlin.Function1((net.corda.core.map.F, net.corda.core.map.T)))/mapper">mapper</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">F</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core/random63-bit-value.html"><span class="keyword">fun </span><span class="identifier">random63BitValue</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Long</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core/success.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">success</span><span class="symbol">(</span><span class="identifier" id="net.corda.core$success(((net.corda.core.success.T)), java.util.concurrent.Executor, kotlin.Function1((net.corda.core.success.T, kotlin.Unit)))/executor">executor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core$success(((net.corda.core.success.T)), java.util.concurrent.Executor, kotlin.Function1((net.corda.core.success.T, kotlin.Unit)))/body">body</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">T</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@ -12912,7 +12906,6 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/contract.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">contract</span><span class="symbol">: </span><a href="net.corda.core.contracts/-contract/index.html"><span class="identifier">Contract</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/encumbrance.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-contract-state/participants.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
@ -13824,8 +13817,9 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/-init-.html"><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/-init-.html"><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/data.html"><span class="keyword">val </span><span class="identifier">data</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/encumbrance.html"><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/notary.html"><span class="keyword">val </span><span class="identifier">notary</span><span class="symbol">: </span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.contracts/-transaction-state/with-notary.html"><span class="keyword">fun </span><span class="identifier">withNotary</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$withNotary(net.corda.core.crypto.Party)/newNotary">newNotary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
@ -14584,59 +14578,6 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/index.html"><span class="keyword">class </span><span class="identifier">WhitelistTrustManager</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/-init-.html"><span class="identifier">WhitelistTrustManager</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$<init>(javax.net.ssl.X509ExtendedTrustManager)/originalProvider">originalProvider</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/socket">socket</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html"><span class="identifier">Socket</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/engine">engine</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLEngine.html"><span class="identifier">SSLEngine</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-client-trusted.html"><span class="keyword">fun </span><span class="identifier">checkClientTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkClientTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, java.net.Socket)/socket">socket</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html"><span class="identifier">Socket</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String, javax.net.ssl.SSLEngine)/engine">engine</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLEngine.html"><span class="identifier">SSLEngine</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/check-server-trusted.html"><span class="keyword">fun </span><span class="identifier">checkServerTrusted</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/chain">chain</span><span class="symbol">:</span>&nbsp;<span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManager$checkServerTrusted(kotlin.Array((java.security.cert.X509Certificate)), kotlin.String)/authType">authType</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/checker.html"><span class="keyword">val </span><span class="identifier">checker</span><span class="symbol">: </span><span class="identifier">HostnameChecker</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/get-accepted-issuers.html"><span class="keyword">fun </span><span class="identifier">getAcceptedIssuers</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/cert/X509Certificate.html"><span class="identifier">X509Certificate</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager/original-provider.html"><span class="keyword">val </span><span class="identifier">originalProvider</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/index.html"><span class="keyword">object </span><span class="identifier">WhitelistTrustManagerProvider</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Provider.html"><span class="identifier">Provider</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/add-whitelist-entries.html"><span class="keyword">fun </span><span class="identifier">addWhitelistEntries</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerProvider$addWhitelistEntries(kotlin.collections.List((kotlin.String)))/serverNames">serverNames</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/add-whitelist-entry.html"><span class="keyword">fun </span><span class="identifier">addWhitelistEntry</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerProvider$addWhitelistEntry(kotlin.String)/serverName">serverName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/original-trust-provider-algorithm.html"><span class="keyword">val </span><span class="identifier">originalTrustProviderAlgorithm</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/register.html"><span class="keyword">fun </span><span class="identifier">register</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-provider/whitelist.html"><span class="keyword">val </span><span class="identifier">whitelist</span><span class="symbol">: </span><span class="identifier">Set</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/index.html"><span class="keyword">class </span><span class="identifier">WhitelistTrustManagerSpi</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManagerFactorySpi.html"><span class="identifier">TrustManagerFactorySpi</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/-init-.html"><span class="identifier">WhitelistTrustManagerSpi</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-get-trust-managers.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineGetTrustManagers</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Array</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManager.html"><span class="identifier">TrustManager</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-init.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineInit</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerSpi$engineInit(java.security.KeyStore)/keyStore">keyStore</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html"><span class="identifier">KeyStore</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/engine-init.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">engineInit</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto.WhitelistTrustManagerSpi$engineInit(javax.net.ssl.ManagerFactoryParameters)/managerFactoryParameters">managerFactoryParameters</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/ManagerFactoryParameters.html"><span class="identifier">ManagerFactoryParameters</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-whitelist-trust-manager-spi/original-provider.html"><span class="keyword">val </span><span class="identifier">originalProvider</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManagerFactory.html"><span class="identifier">TrustManagerFactory</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/-x509-utilities/index.html"><span class="keyword">object </span><span class="identifier">X509Utilities</span></a></a><br/>
<ul>
<HTML>
@ -14769,7 +14710,6 @@
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/new-secure-random.html"><span class="keyword">fun </span><span class="identifier">newSecureRandom</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/SecureRandom.html"><span class="identifier">SecureRandom</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/parse-public-key-base58.html"><span class="keyword">fun </span><span class="identifier">parsePublicKeyBase58</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.crypto$parsePublicKeyBase58(kotlin.String)/base58String">base58String</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/register-whitelist-trust-manager.html"><span class="keyword">fun </span><span class="identifier">registerWhitelistTrustManager</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.crypto/sha256.html"><span class="keyword">fun </span><a href="net.corda.core.serialization/-opaque-bytes/index.html"><span class="identifier">OpaqueBytes</span></a><span class="symbol">.</span><span class="identifier">sha256</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.crypto/-secure-hash/-s-h-a256/index.html"><span class="identifier">SHA256</span></a></a></a><br/>
</BODY>
</HTML>
@ -16675,7 +16615,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-command.html"><span class="keyword">fun </span><span class="identifier">addCommand</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addCommand(net.corda.core.contracts.CommandData, kotlin.collections.List((net.corda.core.crypto.CompositeKey)))/data">data</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-command-data.html"><span class="identifier">CommandData</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addCommand(net.corda.core.contracts.CommandData, kotlin.collections.List((net.corda.core.crypto.CompositeKey)))/keys">keys</span><span class="symbol">:</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-input-state.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addInputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addInputState(net.corda.core.contracts.StateAndRef((net.corda.core.contracts.ContractState)))/stateAndRef">stateAndRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.TransactionState((net.corda.core.contracts.ContractState)))/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-output-state.html"><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/add-signature-unchecked.html"><span class="keyword">fun </span><span class="identifier">addSignatureUnchecked</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addSignatureUnchecked(net.corda.core.crypto.DigitalSignature.WithKey)/sig">sig</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-digital-signature/-with-key/index.html"><span class="identifier">WithKey</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.transactions/-transaction-builder/index.html"><span class="identifier">TransactionBuilder</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.core.transactions/-transaction-builder/attachments.html"><span class="keyword">fun </span><span class="identifier">attachments</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-secure-hash/index.html"><span class="identifier">SecureHash</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -17088,7 +17028,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/-n-o-t-a-r-y.html"><span class="keyword">object </span><span class="identifier">NOTARY</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/-s-i-g-n-i-n-g.html"><span class="keyword">object </span><span class="identifier">SIGNING</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/-step/index.html"><span class="identifier">Step</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-proposal.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleProposal</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/stateRef">stateRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/modification">modification</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.flows.AbstractStateReplacementFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.flows.AbstractStateReplacementFlow.Instigator.T, net.corda.core.transactions.SignedTransaction)/stx">stx</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.flows/-abstract-state-replacement-flow/-proposal/index.html"><span class="identifier">Proposal</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">Iterable</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/call.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/modification.html"><span class="keyword">val </span><span class="identifier">modification</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-abstract-state-replacement-flow/-instigator/original-state.html"><span class="keyword">val </span><span class="identifier">originalState</span><span class="symbol">: </span><a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></a></a><br/>
@ -17524,7 +17464,7 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/-init-.html"><span class="identifier">Instigator</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/originalState">originalState</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-and-ref/index.html"><span class="identifier">StateAndRef</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/newNotary">newNotary</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$<init>(net.corda.core.contracts.StateAndRef((net.corda.flows.NotaryChangeFlow.Instigator.T)), net.corda.core.crypto.Party, net.corda.core.utilities.ProgressTracker)/progressTracker">progressTracker</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.utilities/-progress-tracker/index.html"><span class="identifier">ProgressTracker</span></a>&nbsp;<span class="symbol">=</span>&nbsp;tracker()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-proposal.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleProposal</span><span class="symbol">(</span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/stateRef">stateRef</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.contracts/-state-ref/index.html"><span class="identifier">StateRef</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/modification">modification</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.flows.NotaryChangeFlow.Instigator$assembleProposal(net.corda.core.contracts.StateRef, net.corda.core.crypto.Party, net.corda.core.transactions.SignedTransaction)/stx">stx</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.flows/-abstract-state-replacement-flow/-proposal/index.html"><span class="identifier">Proposal</span></a><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.flows/-notary-change-flow/-instigator/assemble-tx.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">assembleTx</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.core.transactions/-signed-transaction/index.html"><span class="identifier">SignedTransaction</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">Iterable</span><span class="symbol">&lt;</span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -18376,10 +18316,11 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/-init-.html"><span class="identifier">NodeHandle</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/nodeInfo">nodeInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/config">config</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, , java.lang.Process)/process">process</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/-init-.html"><span class="identifier">NodeHandle</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/nodeInfo">nodeInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.driver.NodeHandle$<init>(net.corda.core.node.NodeInfo, net.corda.node.services.config.FullNodeConfiguration, java.lang.Process)/process">process</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/configuration.html"><span class="keyword">val </span><span class="identifier">configuration</span><span class="symbol">: </span><a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/node-info.html"><span class="keyword">val </span><span class="identifier">nodeInfo</span><span class="symbol">: </span><a href="net.corda.core.node/-node-info/index.html"><span class="identifier">NodeInfo</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/process.html"><span class="keyword">val </span><span class="identifier">process</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html"><span class="identifier">Process</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-node-handle/rpc-client-to-node.html"><span class="keyword">fun </span><span class="identifier">rpcClientToNode</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-corda-r-p-c-client/index.html"><span class="identifier">CordaRPCClient</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
@ -18405,7 +18346,7 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/index.html"><span class="keyword">class </span><span class="identifier">RandomFree</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.driver/-port-allocation/index.html"><span class="identifier">PortAllocation</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/index.html"><span class="keyword">object </span><span class="identifier">RandomFree</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.driver/-port-allocation/index.html"><span class="identifier">PortAllocation</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
@ -18413,7 +18354,6 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/-init-.html"><span class="identifier">RandomFree</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.driver/-port-allocation/-random-free/next-port.html"><span class="keyword">fun </span><span class="identifier">nextPort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
</BODY>
</HTML>
@ -18473,7 +18413,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-init-.html"><span class="identifier">AbstractNode</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/networkMapService">networkMapService</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/platformClock">platformClock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-init-.html"><span class="identifier">AbstractNode</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.AbstractNode$<init>(net.corda.node.services.config.NodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/platformClock">platformClock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-database-configuration-exception/index.html"><span class="keyword">class </span><span class="identifier">DatabaseConfigurationException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html"><span class="identifier">Exception</span></a></a></a><br/>
<ul>
<HTML>
@ -18488,6 +18428,7 @@
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-p-r-i-v-a-t-e_-k-e-y_-f-i-l-e_-n-a-m-e.html"><span class="keyword">val </span><span class="identifier">PRIVATE_KEY_FILE_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/-p-u-b-l-i-c_-i-d-e-n-t-i-t-y_-f-i-l-e_-n-a-m-e.html"><span class="keyword">val </span><span class="identifier">PUBLIC_IDENTITY_FILE_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/_network-map-registration-future.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">_networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/_services-that-accept-uploads.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">_servicesThatAcceptUploads</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><a href="net.corda.node.services.api/-accepts-file-upload/index.html"><span class="identifier">AcceptsFileUpload</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/acceptable-live-fiber-count-on-stop.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">acceptableLiveFiberCountOnStop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/advertised-services.html"><span class="keyword">val </span><span class="identifier">advertisedServices</span><span class="symbol">: </span><span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -18525,15 +18466,16 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/make-vault-service.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">makeVaultService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.node.services/-vault-service/index.html"><span class="identifier">VaultService</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/net.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">net</span><span class="symbol">: </span><a href="net.corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/net-map-cache.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">netMapCache</span><span class="symbol">: </span><a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-address.html"><span class="keyword">protected</span> <span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-registration-future.html"><span class="keyword">val </span><span class="identifier">networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-seq.html"><span class="keyword">var </span><span class="identifier">networkMapSeq</span><span class="symbol">: </span><span class="identifier">Long</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/network-map-service.html"><span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/no-network-map-configured.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">noNetworkMapConfigured</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/obtain-legal-identity.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">obtainLegalIdentity</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/obtain-legal-identity-key.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">obtainLegalIdentityKey</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/security/KeyPair.html"><span class="identifier">KeyPair</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/party-keys.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">partyKeys</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/platform-clock.html"><span class="keyword">val </span><span class="identifier">platformClock</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/plugin-registries.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">pluginRegistries</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.core.node/-corda-plugin-registry/index.html"><span class="identifier">CordaPluginRegistry</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/register-with-network-map.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWithNetworkMap</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/run-on-stop.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">runOnStop</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Runnable.html"><span class="identifier">Runnable</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/scheduler.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">scheduler</span><span class="symbol">: </span><a href="net.corda.node.services.events/-node-scheduler-service/index.html"><span class="identifier">NodeSchedulerService</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-abstract-node/schemas.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">schemas</span><span class="symbol">: </span><a href="net.corda.node.services.api/-schema-service/index.html"><span class="identifier">SchemaService</span></a></a></a><br/>
@ -18594,6 +18536,20 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">NetworkMapInfo</span></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/-init-.html"><span class="identifier">NetworkMapInfo</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.NetworkMapInfo$<init>(, kotlin.String)/address">address</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.NetworkMapInfo$<init>(, kotlin.String)/legalName">legalName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/address.html"><span class="keyword">val </span><span class="identifier">address</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-network-map-info/legal-name.html"><span class="keyword">val </span><span class="identifier">legalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/index.html"><span class="keyword">class </span><span class="identifier">Node</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.internal/-abstract-node/index.html"><span class="identifier">AbstractNode</span></a></a></a><br/>
<ul>
<HTML>
@ -18602,13 +18558,15 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/-init-.html"><span class="identifier">Node</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/networkMapAddress">networkMapAddress</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, net.corda.core.messaging.SingleMessageRecipient, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/clock">clock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a>&nbsp;<span class="symbol">=</span>&nbsp;NodeClock()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/-init-.html"><span class="identifier">Node</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/configuration">configuration</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/advertisedServices">advertisedServices</span><span class="symbol">:</span>&nbsp;<span class="identifier">Set</span><span class="symbol">&lt;</span><a href="net.corda.core.node.services/-service-info/index.html"><span class="identifier">ServiceInfo</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.internal.Node$<init>(net.corda.node.services.config.FullNodeConfiguration, kotlin.collections.Set((net.corda.core.node.services.ServiceInfo)), java.time.Clock)/clock">clock</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Clock.html"><span class="identifier">Clock</span></a>&nbsp;<span class="symbol">=</span>&nbsp;NodeClock()<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/configuration.html"><span class="keyword">val </span><span class="identifier">configuration</span><span class="symbol">: </span><a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/initialise-database-persistence.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">initialiseDatabasePersistence</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$initialiseDatabasePersistence(kotlin.Function0((kotlin.Unit)))/insideTransaction">insideTransaction</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Unit</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/log.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/make-messaging-service.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeMessagingService</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/make-uniqueness-provider.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">makeUniquenessProvider</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.internal.Node$makeUniquenessProvider(net.corda.core.node.services.ServiceType)/type">type</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-service-type/index.html"><span class="identifier">ServiceType</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.node.services/-uniqueness-provider/index.html"><span class="identifier">UniquenessProvider</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/message-broker.html"><span class="keyword">var </span><span class="identifier">messageBroker</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-server/index.html"><span class="identifier">ArtemisMessagingServer</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/network-map-address.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/index.html"><span class="identifier">NetworkMapAddress</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/register-with-network-map.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">registerWithNetworkMap</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/run.html"><span class="keyword">fun </span><span class="identifier">run</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/server-thread.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">serverThread</span><span class="symbol">: </span><a href="net.corda.node.utilities/-affinity-executor/-service-affinity-executor/index.html"><span class="identifier">ServiceAffinityExecutor</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.internal/-node/setup.html"><span class="keyword">fun </span><span class="identifier">setup</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.internal/-node/index.html"><span class="identifier">Node</span></a></a></a><br/>
@ -18714,7 +18672,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/-init-.html"><span class="identifier">RPCUserServiceImpl</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$<init>(net.corda.node.services.config.FullNodeConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-full-node-configuration/index.html"><span class="identifier">FullNodeConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/-init-.html"><span class="identifier">RPCUserServiceImpl</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$<init>(net.corda.node.services.config.NodeConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/get-user.html"><span class="keyword">fun </span><span class="identifier">getUser</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.RPCUserServiceImpl$getUser(kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services/-r-p-c-user-service-impl/users.html"><span class="keyword">val </span><span class="identifier">users</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
@ -18952,7 +18910,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/messaging-server-address.html"><span class="keyword">val </span><span class="identifier">messagingServerAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/my-legal-name.html"><span class="keyword">val </span><span class="identifier">myLegalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/nearest-city.html"><span class="keyword">val </span><span class="identifier">nearestCity</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/network-map-address.html"><span class="keyword">val </span><span class="identifier">networkMapAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/network-map-service.html"><span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.node.internal/-network-map-info/index.html"><span class="identifier">NetworkMapInfo</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/notary-cluster-addresses.html"><span class="keyword">val </span><span class="identifier">notaryClusterAddresses</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/notary-node-address.html"><span class="keyword">val </span><span class="identifier">notaryNodeAddress</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-full-node-configuration/rpc-users.html"><span class="keyword">val </span><span class="identifier">rpcUsers</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
@ -18979,6 +18937,8 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/export-j-m-xto.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">exportJMXto</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/my-legal-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">myLegalName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/nearest-city.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">nearestCity</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/network-map-service.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">networkMapService</span><span class="symbol">: </span><a href="net.corda.node.internal/-network-map-info/index.html"><span class="identifier">NetworkMapInfo</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/-node-configuration/rpc-users.html"><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">rpcUsers</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="net.corda.node.services/-user/index.html"><span class="identifier">User</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -19013,7 +18973,7 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/configure-test-s-s-l.html"><span class="keyword">fun </span><span class="identifier">configureTestSSL</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/configure-test-s-s-l.html"><span class="keyword">fun </span><span class="identifier">configureTestSSL</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.config$configureTestSSL(kotlin.String)/legalName">legalName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span>&nbsp;<span class="symbol">=</span>&nbsp;"Mega Corp."<span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/configure-with-dev-s-s-l-certificate.html"><span class="keyword">fun </span><a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">.</span><span class="identifier">configureWithDevSSLCertificate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/get-list-or-else.html"><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">getListOrElse</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.config$getListOrElse(, kotlin.String, kotlin.Function1((, kotlin.collections.List((net.corda.node.services.config.getListOrElse.T)))))/path">path</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.config$getListOrElse(, kotlin.String, kotlin.Function1((, kotlin.collections.List((net.corda.node.services.config.getListOrElse.T)))))/default">default</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.config/get-or-else.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">getOrElse</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.config$getOrElse(, kotlin.Function0((net.corda.node.services.config.getOrElse.T)))/lambda">lambda</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.config/-optional-config/index.html"><span class="identifier">OptionalConfig</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></a></a><br/>
@ -19171,7 +19131,7 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-address/queue-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-address/queue-name.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -19188,7 +19148,7 @@
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-c-l-i-e-n-t-s_-p-r-e-f-i-x.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">CLIENTS_PREFIX</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="keyword">protected</span> <span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">ConnectionDirection</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="keyword">protected</span> <span class="keyword">sealed</span> <span class="keyword">class </span><span class="identifier">ConnectionDirection</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@ -19196,13 +19156,25 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-i-n-b-o-u-n-d.html"><span class="identifier">INBOUND</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-o-u-t-b-o-u-n-d.html"><span class="identifier">OUTBOUND</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-inbound.html"><span class="keyword">object </span><span class="identifier">Inbound</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/index.html"><span class="keyword">class </span><span class="identifier">Outbound</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/-init-.html"><span class="identifier">Outbound</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection.Outbound$<init>(kotlin.String)/expectedCommonName">expectedCommonName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/-outbound/expected-common-name.html"><span class="keyword">val </span><span class="identifier">expectedCommonName</span><span class="symbol">: </span><span class="identifier">String</span><span class="symbol">?</span></a></a><br/>
</BODY>
</HTML>
</ul>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-i-n-t-e-r-n-a-l_-p-r-e-f-i-x.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">INTERNAL_PREFIX</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-e-t-w-o-r-k_-m-a-p_-a-d-d-r-e-s-s.html"><span class="keyword">val </span><span class="identifier">NETWORK_MAP_ADDRESS</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-e-t-w-o-r-k_-m-a-p_-q-u-e-u-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NETWORK_MAP_QUEUE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-o-d-e_-u-s-e-r.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_USER</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-n-o-t-i-f-i-c-a-t-i-o-n-s_-a-d-d-r-e-s-s.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NOTIFICATIONS_ADDRESS</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">NetworkMapAddress</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a><span class="symbol">, </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-artemis-peer-address/index.html"><span class="identifier">ArtemisPeerAddress</span></a></a></a><br/>
@ -19215,7 +19187,7 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/-init-.html"><span class="identifier">NetworkMapAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NetworkMapAddress$<init>()/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/host-and-port.html"><span class="keyword">val </span><span class="identifier">hostAndPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-network-map-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -19227,12 +19199,11 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/-init-.html"><span class="identifier">NodeAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/-init-.html"><span class="identifier">NodeAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(kotlin.String, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress$<init>(kotlin.String, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/as-peer.html"><span class="keyword">fun </span><span class="identifier">asPeer</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asPeer(net.corda.core.crypto.CompositeKey, )/peerIdentity">peerIdentity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asPeer(net.corda.core.crypto.CompositeKey, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/index.html"><span class="identifier">NodeAddress</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/as-service.html"><span class="keyword">fun </span><span class="identifier">asService</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asService(net.corda.core.crypto.CompositeKey, )/serviceIdentity">serviceIdentity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.NodeAddress.Companion$asService(net.corda.core.crypto.CompositeKey, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/index.html"><span class="identifier">NodeAddress</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/host-and-port.html"><span class="keyword">val </span><span class="identifier">hostAndPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/to-string.html"><span class="keyword">fun </span><span class="identifier">toString</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-node-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -19252,12 +19223,13 @@
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/-init-.html"><span class="identifier">ServiceAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.ServiceAddress$<init>(net.corda.core.crypto.CompositeKey)/identity">identity</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/identity.html"><span class="keyword">val </span><span class="identifier">identity</span><span class="symbol">: </span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-service-address/queue-name.html"><span class="keyword">val </span><span class="identifier">queueName</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/-v-e-r-i-f-y_-p-e-e-r_-c-o-m-m-o-n_-n-a-m-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">VERIFY_PEER_COMMON_NAME</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/check-store-passwords.html"><span class="keyword">fun </span><span class="identifier">checkStorePasswords</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/config.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/config.html"><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/expected-on-default-file-system.html"><span class="keyword">protected</span> <span class="keyword">fun </span><a href="http://docs.oracle.com/javase/6/docs/api/java/nio/file/Path.html"><span class="identifier">Path</span></a><span class="symbol">.</span><span class="identifier">expectedOnDefaultFileSystem</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/tcp-transport.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">tcpTransport</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/direction">direction</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/-connection-direction/index.html"><span class="identifier">ConnectionDirection</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent$tcpTransport(net.corda.node.services.messaging.ArtemisMessagingComponent.ConnectionDirection, kotlin.String, kotlin.Int)/port">port</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-component/to-host-and-port.html"><span class="keyword">fun </span><span class="identifier">toHostAndPort</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingComponent.Companion$toHostAndPort(net.corda.core.messaging.MessageRecipients)/target">target</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@ -19273,30 +19245,10 @@
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-init-.html"><span class="identifier">ArtemisMessagingServer</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/myHostPort">myHostPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/networkMapCache">networkMapCache</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$<init>(net.corda.node.services.config.NodeConfiguration, , net.corda.core.node.services.NetworkMapCache, net.corda.node.services.RPCUserService)/userService">userService</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services/-r-p-c-user-service/index.html"><span class="identifier">RPCUserService</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/index.html"><span class="keyword">class </span><span class="identifier">NodeLoginModule</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/spi/LoginModule.html"><span class="identifier">LoginModule</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-init-.html"><span class="identifier">NodeLoginModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-n-o-d-e_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-p-e-e-r_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">PEER_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/-r-p-c_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">RPC_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/abort.html"><span class="keyword">fun </span><span class="identifier">abort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/commit.html"><span class="keyword">fun </span><span class="identifier">commit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/initialize.html"><span class="keyword">fun </span><span class="identifier">initialize</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/subject">subject</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/Subject.html"><span class="identifier">Subject</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/callbackHandler">callbackHandler</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/callback/CallbackHandler.html"><span class="identifier">CallbackHandler</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/sharedState">sharedState</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/options">options</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/-node-login-module/logout.html"><span class="keyword">fun </span><span class="identifier">logout</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-configuration/index.html"><span class="identifier">NodeConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/deploy-bridge-if-absent.html"><span class="keyword">fun </span><span class="identifier">deployBridgeIfAbsent</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$deployBridgeIfAbsent(, )/queueName">queueName</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.ArtemisMessagingServer$deployBridgeIfAbsent(, )/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/my-host-port.html"><span class="keyword">val </span><span class="identifier">myHostPort</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/network-map-cache.html"><span class="keyword">val </span><span class="identifier">networkMapCache</span><span class="symbol">: </span><a href="net.corda.core.node.services/-network-map-cache/index.html"><span class="identifier">NetworkMapCache</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/network-map-connection-future.html"><span class="keyword">val </span><span class="identifier">networkMapConnectionFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/stop.html"><span class="keyword">fun </span><span class="identifier">stop</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-artemis-messaging-server/user-service.html"><span class="keyword">val </span><span class="identifier">userService</span><span class="symbol">: </span><a href="net.corda.node.services/-r-p-c-user-service/index.html"><span class="identifier">RPCUserService</span></a></a></a><br/>
@ -19345,12 +19297,14 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/-init-.html"><span class="identifier">CordaRPCClient</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/-init-.html"><span class="identifier">CordaRPCClient</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/host">host</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$<init>(, net.corda.node.services.config.NodeSSLConfiguration)/config">config</span><span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/close.html"><span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/config.html"><span class="keyword">val </span><span class="identifier">config</span><span class="symbol">: </span><a href="net.corda.node.services.config/-node-s-s-l-configuration/index.html"><span class="identifier">NodeSSLConfiguration</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/host.html"><span class="keyword">val </span><span class="identifier">host</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/log.html"><span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/proxy.html"><span class="keyword">fun </span><span class="identifier">proxy</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$proxy(java.time.Duration, kotlin.Int)/timeout">timeout</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/time/Duration.html"><span class="identifier">Duration</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$proxy(java.time.Duration, kotlin.Int)/minVersion">minVersion</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-corda-r-p-c-ops/index.html"><span class="identifier">CordaRPCOps</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/start.html"><span class="keyword">fun </span><span class="identifier">start</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$start(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.node.services.messaging/-corda-r-p-c-client/index.html"><span class="identifier">CordaRPCClient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-corda-r-p-c-client/use.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">use</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/username">username</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/password">password</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.CordaRPCClient$use(kotlin.String, kotlin.String, kotlin.Function1((net.corda.core.messaging.CordaRPCOps, net.corda.node.services.messaging.CordaRPCClient.use.T)))/block">block</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.messaging/-corda-r-p-c-ops/index.html"><span class="identifier">CordaRPCOps</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">T</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">T</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -19381,6 +19335,27 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/index.html"><span class="keyword">class </span><span class="identifier">NodeLoginModule</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/spi/LoginModule.html"><span class="identifier">LoginModule</span></a></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-init-.html"><span class="identifier">NodeLoginModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-n-o-d-e_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">NODE_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-p-e-e-r_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">PEER_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/-r-p-c_-r-o-l-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">RPC_ROLE</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/abort.html"><span class="keyword">fun </span><span class="identifier">abort</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/commit.html"><span class="keyword">fun </span><span class="identifier">commit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/initialize.html"><span class="keyword">fun </span><span class="identifier">initialize</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/subject">subject</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/Subject.html"><span class="identifier">Subject</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/callbackHandler">callbackHandler</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/security/auth/callback/CallbackHandler.html"><span class="identifier">CallbackHandler</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/sharedState">sharedState</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.NodeLoginModule$initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, kotlin.collections.Map((kotlin.String, kotlin.Any)), kotlin.collections.Map((kotlin.String, kotlin.Any)))/options">options</span><span class="symbol">:</span>&nbsp;<span class="identifier">Map</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/log.html"><span class="keyword">val </span><span class="identifier">log</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/login.html"><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-login-module/logout.html"><span class="keyword">fun </span><span class="identifier">logout</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/index.html"><span class="keyword">class </span><span class="identifier">NodeMessagingClient</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="net.corda.node.services.messaging/-artemis-messaging-component/index.html"><span class="identifier">ArtemisMessagingComponent</span></a><span class="symbol">, </span><a href="net.corda.node.services.api/-messaging-service-internal/index.html"><span class="identifier">MessagingServiceInternal</span></a></a></a><br/>
<ul>
<HTML>
@ -19413,7 +19388,6 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/database.html"><span class="keyword">val </span><span class="identifier">database</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/executor.html"><span class="keyword">val </span><span class="identifier">executor</span><span class="symbol">: </span><a href="net.corda.node.utilities/-affinity-executor/index.html"><span class="identifier">AffinityExecutor</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/get-address-of-party.html"><span class="keyword">fun </span><span class="identifier">getAddressOfParty</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeMessagingClient$getAddressOfParty(net.corda.core.node.services.PartyInfo)/partyInfo">partyInfo</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-party-info/index.html"><span class="identifier">PartyInfo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-message-recipients.html"><span class="identifier">MessageRecipients</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/make-network-map-address.html"><span class="keyword">fun </span><span class="identifier">makeNetworkMapAddress</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.NodeMessagingClient.Companion$makeNetworkMapAddress()/hostAndPort">hostAndPort</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/my-address.html"><span class="keyword">val </span><span class="identifier">myAddress</span><span class="symbol">: </span><a href="net.corda.core.messaging/-single-message-recipient.html"><span class="identifier">SingleMessageRecipient</span></a></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/my-identity.html"><span class="keyword">val </span><span class="identifier">myIdentity</span><span class="symbol">: </span><a href="net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-node-messaging-client/network-map-registration-future.html"><span class="keyword">val </span><span class="identifier">networkMapRegistrationFuture</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Unit</span><span class="symbol">&gt;</span></a></a><br/>
@ -19495,6 +19469,19 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/index.html"><span class="keyword">class </span><span class="identifier">VerifyingNettyConnectorFactory</span></a></a><br/>
<ul>
<HTML>
<HEAD>
<title>Module Contents</title>
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/-init-.html"><span class="identifier">VerifyingNettyConnectorFactory</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/-verifying-netty-connector-factory/create-connector.html"><span class="keyword">fun </span><span class="identifier">createConnector</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/configuration">configuration</span><span class="symbol">:</span>&nbsp;<span class="identifier">MutableMap</span><span class="symbol">&lt;</span><span class="identifier">String</span><span class="symbol">,</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/listener">listener</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/closeExecutor">closeExecutor</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/threadPool">threadPool</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html"><span class="identifier">Executor</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/scheduledThreadPool">scheduledThreadPool</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ScheduledExecutorService.html"><span class="identifier">ScheduledExecutorService</span></a><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.node.services.messaging.VerifyingNettyConnectorFactory$createConnector(kotlin.collections.MutableMap((kotlin.String, kotlin.Any)), , , java.util.concurrent.Executor, java.util.concurrent.Executor, java.util.concurrent.ScheduledExecutorService, )/protocolManager">protocolManager</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/create-r-p-c-kryo.html"><span class="keyword">fun </span><span class="identifier">createRPCKryo</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging$createRPCKryo(((((kotlin.Any)))))/observableSerializer">observableSerializer</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/require-permission.html"><span class="keyword">fun </span><span class="identifier">requirePermission</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.services.messaging$requirePermission(kotlin.String)/permission">permission</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.services.messaging/rpc-log.html"><span class="keyword">val </span><span class="identifier">rpcLog</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@ -21181,7 +21168,9 @@
</BODY>
</HTML>
</ul>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/corda-module.html"><span class="keyword">val </span><span class="identifier">cordaModule</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/create-default-mapper.html"><span class="keyword">fun </span><span class="identifier">createDefaultMapper</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.JsonSupport$createDefaultMapper(net.corda.core.node.services.IdentityService)/identities">identities</span><span class="symbol">:</span>&nbsp;<a href="net.corda.core.node.services/-identity-service/index.html"><span class="identifier">IdentityService</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-json-support/java-time-module.html"><span class="keyword">val </span><span class="identifier">javaTimeModule</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@ -21327,7 +21316,7 @@
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/new-transaction.html"><span class="keyword">fun </span><span class="identifier">newTransaction</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager$newTransaction(kotlin.Int)/isolation">isolation</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/restore-thread-local-tx.html"><span class="keyword">fun </span><span class="identifier">restoreThreadLocalTx</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager.Companion$restoreThreadLocalTx(((, )))/context">context</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/set-thread-local-tx.html"><span class="keyword">fun </span><span class="identifier">setThreadLocalTx</span><span class="symbol">(</span><span class="identifier" id="net.corda.node.utilities.StrandLocalTransactionManager.Companion$setThreadLocalTx()/tx">tx</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">?</span><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-boundaries.html"><span class="keyword">val </span><span class="identifier">transactionBoundaries</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-boundaries.html"><span class="keyword">val </span><span class="identifier">transactionBoundaries</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">,</span>&nbsp;<a href="net.corda.node.utilities/-strand-local-transaction-manager/-boundary/index.html"><span class="identifier">Boundary</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.node.utilities/-strand-local-transaction-manager/transaction-id.html"><span class="keyword">val </span><span class="identifier">transactionId</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html"><span class="identifier">UUID</span></a></a></a><br/>
</BODY>
</HTML>
@ -21510,9 +21499,8 @@
<link rel="stylesheet" href="style.css">
</HEAD>
<BODY>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html"><span class="identifier">PersistentCashState</span><span class="symbol">(</span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/owner">owner</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/pennies">pennies</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/currency">currency</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerParty">issuerParty</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.Int, kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerRef">issuerRef</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/-init-.html"><span class="identifier">PersistentCashState</span><span class="symbol">(</span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/owner">owner</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/pennies">pennies</span><span class="symbol">:</span>&nbsp;<span class="identifier">Long</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/currency">currency</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerParty">issuerParty</span><span class="symbol">:</span>&nbsp;<span class="identifier">String</span><span class="symbol">, </span><span class="identifier" id="net.corda.schemas.CashSchemaV1.PersistentCashState$<init>(kotlin.String, kotlin.Long, kotlin.String, kotlin.String, kotlin.ByteArray)/issuerRef">issuerRef</span><span class="symbol">:</span>&nbsp;<span class="identifier">ByteArray</span><span class="symbol">)</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/currency.html"><span class="keyword">var </span><span class="identifier">currency</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/encumbrance.html"><span class="keyword">var </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-party.html"><span class="keyword">var </span><span class="identifier">issuerParty</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/issuer-ref.html"><span class="keyword">var </span><span class="identifier">issuerRef</span><span class="symbol">: </span><span class="identifier">ByteArray</span></a></a><br/>
<a href="docs\build\html\api\index"><a href="net.corda.schemas/-cash-schema-v1/-persistent-cash-state/owner.html"><span class="keyword">var </span><span class="identifier">owner</span><span class="symbol">: </span><span class="identifier">String</span></a></a><br/>

View File

@ -10,7 +10,7 @@
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/deposit">deposit</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-party-and-reference/index.html"><span class="identifier">PartyAndReference</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></code><br/>
<br/>
<br/>
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="../../../net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code><br/>
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="../../../net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></code><br/>
<p>A state representing a cash claim against some party.</p>
<br/>
<br/>

View File

@ -18,7 +18,7 @@
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/deposit">deposit</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-party-and-reference/index.html"><span class="identifier">PartyAndReference</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></code><code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="../../../net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code><p>A state representing a cash claim against some party.</p>
<code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/deposit">deposit</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-party-and-reference/index.html"><span class="identifier">PartyAndReference</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.PartyAndReference, net.corda.core.contracts.Amount((java.util.Currency)), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></code><code><span class="identifier">State</span><span class="symbol">(</span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/amount">amount</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.contracts/-amount/index.html"><span class="identifier">Amount</span></a><span class="symbol">&lt;</span><a href="../../../net.corda.core.contracts/-issued/index.html"><span class="identifier">Issued</span></a><span class="symbol">&lt;</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Currency.html"><span class="identifier">Currency</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="net.corda.contracts.asset.Cash.State$<init>(net.corda.core.contracts.Amount((net.corda.core.contracts.Issued((java.util.Currency)))), net.corda.core.crypto.CompositeKey)/owner">owner</span><span class="symbol">:</span>&nbsp;<a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">)</span></code><p>A state representing a cash claim against some party.</p>
</td>
</tr>
</tbody>
@ -41,13 +41,6 @@
</tr>
<tr>
<td>
<a href="encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="exit-keys.html">exitKeys</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">exitKeys</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code><p>There must be an ExitCommand signed by these keys to destroy the amount. While all states require their

View File

@ -27,13 +27,6 @@ are all free.</p>
</tr>
<tr>
<td>
<a href="encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -58,17 +58,5 @@ in a different field, however this is a good example of a contract with multiple
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
</tbody>
</table>
</BODY>
</HTML>

View File

@ -33,13 +33,6 @@
</tr>
<tr>
<td>
<a href="../../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="../../-contract-state/participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -48,18 +48,6 @@
</tr>
</tbody>
</table>
<h3>Inherited Properties</h3>
<table>
<tbody>
<tr>
<td>
<a href="../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
</tbody>
</table>
<h3>Extension Functions</h3>
<table>
<tbody>

View File

@ -52,13 +52,6 @@ except at issuance/termination.</p>
</tr>
<tr>
<td>
<a href="../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="../-contract-state/participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -35,13 +35,6 @@
</tr>
<tr>
<td>
<a href="../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="../-contract-state/participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -22,13 +22,6 @@
</tr>
<tr>
<td>
<a href="../-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="../-contract-state/participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -7,7 +7,7 @@
<a href="../index.html">net.corda.core.contracts</a>&nbsp;/&nbsp;<a href="index.html">TransactionState</a>&nbsp;/&nbsp;<a href=".">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
<code><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span></code><br/>
<code><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code><br/>
<p>A wrapper for <a href="../-contract-state/index.html">ContractState</a> containing additional platform-level state information.
This is the definitive state that is stored on the ledger and used in transaction outputs.</p>
<br/>

View File

@ -0,0 +1,29 @@
<HTML>
<HEAD>
<title>TransactionState.encumbrance - </title>
<link rel="stylesheet" href="..\..\style.css">
</HEAD>
<BODY>
<a href="../index.html">net.corda.core.contracts</a>&nbsp;/&nbsp;<a href="index.html">TransactionState</a>&nbsp;/&nbsp;<a href=".">encumbrance</a><br/>
<br/>
<h1>encumbrance</h1>
<a name="net.corda.core.contracts.TransactionState$encumbrance"></a>
<code><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><br/>
<p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
<p>The encumbrance state, if present, forces additional controls over the encumbered state, since the platform checks
that the encumbrance state is present as an input in the same transaction that consumes the encumbered state, and
the contract code and rules of the encumbrance state will also be verified during the execution of the transaction.
For example, a cash contract state could be encumbered with a time-lock contract state; the cash state is then only
processable in a transaction that verifies that the time specified in the encumbrance time-lock has passed.</p>
<p>The encumbered state refers to another by index, and the referred encumbrance state
is an output state in a particular position on the same transaction that created the encumbered state. An alternative
implementation would be encumber by reference to a StateRef., which would allow the specification of encumbrance
by a state created in a prior transaction.</p>
<p>Note that an encumbered state that is being consumed must have its encumbrance consumed in the same transaction,
otherwise the transaction is not valid.</p>
<br/>
<br/>
<br/>
<br/>
</BODY>
</HTML>

View File

@ -19,7 +19,7 @@ This is the definitive state that is stored on the ledger and used in transactio
<td>
<a href="-init-.html">&lt;init&gt;</a></td>
<td>
<code><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span></code><p>A wrapper for <a href="../-contract-state/index.html">ContractState</a> containing additional platform-level state information.
<code><span class="identifier">TransactionState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/data">data</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.contracts.TransactionState$<init>(net.corda.core.contracts.TransactionState.T, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code><p>A wrapper for <a href="../-contract-state/index.html">ContractState</a> containing additional platform-level state information.
This is the definitive state that is stored on the ledger and used in transaction outputs.</p>
</td>
</tr>
@ -37,6 +37,13 @@ This is the definitive state that is stored on the ledger and used in transactio
</tr>
<tr>
<td>
<a href="encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="notary.html">notary</a></td>
<td>
<code><span class="keyword">val </span><span class="identifier">notary</span><span class="symbol">: </span><a href="../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a></code><p>Identity of the notary that ensures the state is not used as an input to a transaction more than once</p>

View File

@ -117,7 +117,7 @@
<a href="../../../../net.corda.core.transactions/-transaction-builder/add-output-state.html">addOutputState</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.TransactionState((net.corda.core.contracts.ContractState)))/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><br/>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><p>A default notary must be specified during builder construction to use this method</p>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><p>A default notary must be specified during builder construction to use this method</p>
</td>
</tr>
<tr>

View File

@ -124,7 +124,7 @@ and adds the list of participants to the signers set for every input state.</p>
<a href="../../../../net.corda.core.transactions/-transaction-builder/add-output-state.html">addOutputState</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.TransactionState((net.corda.core.contracts.ContractState)))/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-transaction-state/index.html"><span class="identifier">TransactionState</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><br/>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><p>A default notary must be specified during builder construction to use this method</p>
<code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/notary">notary</span><span class="symbol">:</span>&nbsp;<a href="../../../../net.corda.core.crypto/-party/index.html"><span class="identifier">Party</span></a><span class="symbol">, </span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState, net.corda.core.crypto.Party, kotlin.Int)/encumbrance">encumbrance</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><code><span class="keyword">fun </span><span class="identifier">addOutputState</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.transactions.TransactionBuilder$addOutputState(net.corda.core.contracts.ContractState)/state">state</span><span class="symbol">:</span>&nbsp;<a href="../../../-contract-state/index.html"><span class="identifier">ContractState</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code><p>A default notary must be specified during builder construction to use this method</p>
</td>
</tr>
<tr>

View File

@ -87,30 +87,6 @@ contained within.</p>
</tr>
<tr>
<td>
<a href="-whitelist-trust-manager/index.html">WhitelistTrustManager</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">WhitelistTrustManager</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/X509ExtendedTrustManager.html"><span class="identifier">X509ExtendedTrustManager</span></a></code><p>Our TrustManager extension takes the standard certificate checker and first delegates all the
chain checking to that. If everything is well formed we then simply add a check against our whitelist</p>
</td>
</tr>
<tr>
<td>
<a href="-whitelist-trust-manager-provider/index.html">WhitelistTrustManagerProvider</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">WhitelistTrustManagerProvider</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Provider.html"><span class="identifier">Provider</span></a></code><p>Custom Security Provider that forces the TrustManagerFactory to be our custom one.
Also holds the identity of the original TrustManager algorithm so
that we can delegate most of the checking to the proper Java code. We simply add some more checks.</p>
</td>
</tr>
<tr>
<td>
<a href="-whitelist-trust-manager-spi/index.html">WhitelistTrustManagerSpi</a></td>
<td>
<code><span class="keyword">class </span><span class="identifier">WhitelistTrustManagerSpi</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/javax/net/ssl/TrustManagerFactorySpi.html"><span class="identifier">TrustManagerFactorySpi</span></a></code><p>Registered TrustManagerFactorySpi</p>
</td>
</tr>
<tr>
<td>
<a href="-x509-utilities/index.html">X509Utilities</a></td>
<td>
<code><span class="keyword">object </span><span class="identifier">X509Utilities</span></code></td>
@ -218,17 +194,6 @@ you want hard-coded private keys.</p>
</tr>
<tr>
<td>
<a href="register-whitelist-trust-manager.html">registerWhitelistTrustManager</a></td>
<td>
<code><span class="keyword">fun </span><span class="identifier">registerWhitelistTrustManager</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><p>Call this to change the default verification algorithm and this use the WhitelistTrustManager
implementation. This is a work around to the fact that ArtemisMQ and probably many other libraries
dont correctly configure the SSLParameters with setEndpointIdentificationAlgorithm and thus dont check
that the certificate matches with the DNS entry requested. This exposes us to man in the middle attacks.
The issue has been raised with ArtemisMQ: https://issues.apache.org/jira/browse/ARTEMIS-656</p>
</td>
</tr>
<tr>
<td>
<a href="sha256.html">sha256</a></td>
<td>
<code><span class="keyword">fun </span><a href="../net.corda.core.serialization/-opaque-bytes/index.html"><span class="identifier">OpaqueBytes</span></a><span class="symbol">.</span><span class="identifier">sha256</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="-secure-hash/-s-h-a256/index.html"><span class="identifier">SHA256</span></a></code></td>

View File

@ -119,7 +119,8 @@ communicate with the other side. If there is no mapping then the session attempt
<td>
<a href="../-service-hub/invoke-flow-async.html">invokeFlowAsync</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">invokeFlowAsync</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="../../net.corda.core.flows/-flow-logic/index.html"><span class="identifier">FlowLogic</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="keyword">vararg</span> <span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../net.corda.core.flows/-flow-state-machine/index.html"><span class="identifier">FlowStateMachine</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><p>Will check <a href="../-service-hub/invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="../-service-hub/invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">invokeFlowAsync</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="../../net.corda.core.flows/-flow-logic/index.html"><span class="identifier">FlowLogic</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="keyword">vararg</span> <span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../net.corda.core.flows/-flow-state-machine/index.html"><span class="identifier">FlowStateMachine</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><p>Will check <a href="../-service-hub/invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="../-service-hub/invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.
Note that you must be on the server thread to call this method.</p>
</td>
</tr>
<tr>

View File

@ -103,7 +103,8 @@ Typical use is during signing in flows and for unit test signing.</p>
<td>
<a href="invoke-flow-async.html">invokeFlowAsync</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">invokeFlowAsync</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="../../net.corda.core.flows/-flow-logic/index.html"><span class="identifier">FlowLogic</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="keyword">vararg</span> <span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../net.corda.core.flows/-flow-state-machine/index.html"><span class="identifier">FlowStateMachine</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><p>Will check <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">invokeFlowAsync</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="../../net.corda.core.flows/-flow-logic/index.html"><span class="identifier">FlowLogic</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="keyword">vararg</span> <span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../net.corda.core.flows/-flow-state-machine/index.html"><span class="identifier">FlowStateMachine</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><p>Will check <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.
Note that you must be on the server thread to call this method.</p>
</td>
</tr>
<tr>

View File

@ -9,7 +9,8 @@
<h1>invokeFlowAsync</h1>
<a name="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))"></a>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">&gt;</span> <span class="identifier">invokeFlowAsync</span><span class="symbol">(</span><span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<a href="../../net.corda.core.flows/-flow-logic/index.html"><span class="identifier">FlowLogic</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="keyword">vararg</span> <span class="identifier" id="net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="identifier">Any</span><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../net.corda.core.flows/-flow-state-machine/index.html"><span class="identifier">FlowStateMachine</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code><br/>
<p>Will check <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.</p>
<p>Will check <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> and <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a> against a whitelist and if acceptable then construct and initiate the flow.
Note that you must be on the server thread to call this method.</p>
<h3>Exceptions</h3>
<a name="IllegalFlowLogicException"></a>
<code>IllegalFlowLogicException</code> - or IllegalArgumentException if there are problems with the <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/logicType">logicType</a> or <a href="invoke-flow-async.html#net.corda.core.node.ServiceHub$invokeFlowAsync(java.lang.Class((net.corda.core.flows.FlowLogic((net.corda.core.node.ServiceHub.invokeFlowAsync.T)))), kotlin.Array((kotlin.Any)))/args">args</a>.<br/>

View File

@ -24,13 +24,6 @@ or filtering of, states.</p>
</tr>
<tr>
<td>
<a href="../../net.corda.core.contracts/-contract-state/encumbrance.html">encumbrance</a></td>
<td>
<code><span class="keyword">open</span> <span class="keyword">val </span><span class="identifier">encumbrance</span><span class="symbol">: </span><span class="identifier">Int</span><span class="symbol">?</span></code><p>All contract states may be <emph>encumbered</emph> by up to one other state.</p>
</td>
</tr>
<tr>
<td>
<a href="../../net.corda.core.contracts/-contract-state/participants.html">participants</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">val </span><span class="identifier">participants</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol">&lt;</span><a href="../../net.corda.core.crypto/-composite-key/index.html"><span class="identifier">CompositeKey</span></a><span class="symbol">&gt;</span></code><p>A <emph>participant</emph> is any party that is able to consume this state in a valid transaction.</p>

View File

@ -58,7 +58,7 @@ I/O), or a mock implementation suitable for unit test environments.</p>
<td>
<a href="../../net.corda.node.services.messaging/-artemis-messaging-component/index.html">ArtemisMessagingComponent</a></td>
<td>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">ArtemisMessagingComponent</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span></code><p>The base class for Artemis services that defines shared data structures and transport configuration</p>
<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">ArtemisMessagingComponent</span>&nbsp;<span class="symbol">:</span>&nbsp;<span class="identifier">SingletonSerializeAsToken</span></code><p>The base class for Artemis services that defines shared data structures and SSL transport configuration.</p>
</td>
</tr>
<tr>

Some files were not shown because too many files have changed in this diff Show More