mirror of
https://github.com/corda/corda.git
synced 2024-12-20 13:33:12 +00:00
Rebuild docs for M9 release
This commit is contained in:
parent
731c8a0681
commit
379eea31b7
BIN
docs/build/doctrees/CLI-vs-IDE.doctree
vendored
BIN
docs/build/doctrees/CLI-vs-IDE.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/azure-vm.doctree
vendored
BIN
docs/build/doctrees/azure-vm.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/building-the-docs.doctree
vendored
BIN
docs/build/doctrees/building-the-docs.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/changelog.doctree
vendored
Normal file
BIN
docs/build/doctrees/changelog.doctree
vendored
Normal file
Binary file not shown.
BIN
docs/build/doctrees/clauses.doctree
vendored
BIN
docs/build/doctrees/clauses.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/clientrpc.doctree
vendored
BIN
docs/build/doctrees/clientrpc.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/codestyle.doctree
vendored
BIN
docs/build/doctrees/codestyle.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/contract-catalogue.doctree
vendored
BIN
docs/build/doctrees/contract-catalogue.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/contract-irs.doctree
vendored
BIN
docs/build/doctrees/contract-irs.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/contract-upgrade.doctree
vendored
BIN
docs/build/doctrees/contract-upgrade.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/corda-configuration-file.doctree
vendored
BIN
docs/build/doctrees/corda-configuration-file.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/corda-plugins.doctree
vendored
BIN
docs/build/doctrees/corda-plugins.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/creating-a-cordapp.doctree
vendored
BIN
docs/build/doctrees/creating-a-cordapp.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/environment.pickle
vendored
BIN
docs/build/doctrees/environment.pickle
vendored
Binary file not shown.
BIN
docs/build/doctrees/event-scheduling.doctree
vendored
BIN
docs/build/doctrees/event-scheduling.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/flow-state-machines.doctree
vendored
BIN
docs/build/doctrees/flow-state-machines.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/flow-testing.doctree
vendored
BIN
docs/build/doctrees/flow-testing.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/further-notes-on-kotlin.doctree
vendored
BIN
docs/build/doctrees/further-notes-on-kotlin.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/getting-set-up.doctree
vendored
BIN
docs/build/doctrees/getting-set-up.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/glossary.doctree
vendored
BIN
docs/build/doctrees/glossary.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/index.doctree
vendored
BIN
docs/build/doctrees/index.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/inthebox.doctree
vendored
BIN
docs/build/doctrees/inthebox.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/key-concepts-core-types.doctree
vendored
BIN
docs/build/doctrees/key-concepts-core-types.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/key-concepts-data-model.doctree
vendored
BIN
docs/build/doctrees/key-concepts-data-model.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/key-concepts-ecosystem.doctree
vendored
BIN
docs/build/doctrees/key-concepts-ecosystem.doctree
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/key-concepts-vault.doctree
vendored
BIN
docs/build/doctrees/key-concepts-vault.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/key-concepts.doctree
vendored
BIN
docs/build/doctrees/key-concepts.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/loadtesting.doctree
vendored
BIN
docs/build/doctrees/loadtesting.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/merkle-trees.doctree
vendored
BIN
docs/build/doctrees/merkle-trees.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/messaging.doctree
vendored
BIN
docs/build/doctrees/messaging.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/network-simulator.doctree
vendored
BIN
docs/build/doctrees/network-simulator.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/node-administration.doctree
vendored
BIN
docs/build/doctrees/node-administration.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/node-explorer.doctree
vendored
BIN
docs/build/doctrees/node-explorer.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/node-services.doctree
vendored
BIN
docs/build/doctrees/node-services.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/oracles.doctree
vendored
BIN
docs/build/doctrees/oracles.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/permissioning.doctree
vendored
BIN
docs/build/doctrees/permissioning.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/persistence.doctree
vendored
BIN
docs/build/doctrees/persistence.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/publishing-corda.doctree
vendored
BIN
docs/build/doctrees/publishing-corda.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/release-notes.doctree
vendored
BIN
docs/build/doctrees/release-notes.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/release-process.doctree
vendored
BIN
docs/build/doctrees/release-process.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/running-a-notary.doctree
vendored
BIN
docs/build/doctrees/running-a-notary.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/running-the-demos.doctree
vendored
BIN
docs/build/doctrees/running-the-demos.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/secure-coding-guidelines.doctree
vendored
BIN
docs/build/doctrees/secure-coding-guidelines.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/serialization.doctree
vendored
Normal file
BIN
docs/build/doctrees/serialization.doctree
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/tutorial-attachments.doctree
vendored
BIN
docs/build/doctrees/tutorial-attachments.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/tutorial-clientrpc-api.doctree
vendored
BIN
docs/build/doctrees/tutorial-clientrpc-api.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/tutorial-contract.doctree
vendored
BIN
docs/build/doctrees/tutorial-contract.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/tutorial-cordapp.doctree
vendored
BIN
docs/build/doctrees/tutorial-cordapp.doctree
vendored
Binary file not shown.
Binary file not shown.
BIN
docs/build/doctrees/tutorial-test-dsl.doctree
vendored
BIN
docs/build/doctrees/tutorial-test-dsl.doctree
vendored
Binary file not shown.
BIN
docs/build/doctrees/using-a-notary.doctree
vendored
BIN
docs/build/doctrees/using-a-notary.doctree
vendored
Binary file not shown.
2
docs/build/html/.buildinfo
vendored
2
docs/build/html/.buildinfo
vendored
@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 8ea21e5fbb1ab56cc2450ad8e00d9479
|
||||
config: 0d96d45537e6eef31c28565cd547739b
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
2
docs/build/html/CLI-vs-IDE.html
vendored
2
docs/build/html/CLI-vs-IDE.html
vendored
@ -133,6 +133,7 @@ API reference: <a href="api/kotlin/corda/index.html">Kotlin</a>/ <a href="api/ja
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">The Corda node</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="serialization.html">Object Serialization</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="clientrpc.html">Client RPC</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="persistence.html">Persistence</a></li>
|
||||
@ -178,6 +179,7 @@ API reference: <a href="api/kotlin/corda/index.html">Kotlin</a>/ <a href="api/ja
|
||||
<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-notes.html">Release notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</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>
|
||||
<li class="toctree-l1"><a class="reference internal" href="further-notes-on-kotlin.html">Further notes on Kotlin</a></li>
|
||||
|
496
docs/build/html/_sources/changelog.txt
vendored
Normal file
496
docs/build/html/_sources/changelog.txt
vendored
Normal file
@ -0,0 +1,496 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Here are brief summaries of what's changed between each snapshot release.
|
||||
|
||||
Milestone 9
|
||||
-----------
|
||||
|
||||
* With thanks to `Thomas Schroeter <https://github.com/thschroeter>`_ for the Byzantine fault tolerant (BFT)
|
||||
notary prototype.
|
||||
* Web server is a separate JAR. This is a breaking change. The new webserver JAR (``corda-webserver.jar``)
|
||||
must be invoked separately to node startup, using the command``java -jar corda-webserver.jar`` in the same
|
||||
directory as the ``node.conf``. Further changes are anticipated in upcoming milestone releases.
|
||||
|
||||
* API:
|
||||
|
||||
* Pseudonymous ``AnonymousParty`` class added as a superclass of ``Party``.
|
||||
* Split ``CashFlow`` into individual ``CashIssueFlow``, ``CashPaymentFlow`` and ``CashExitFlow`` flows, so that fine
|
||||
grained permissions can be applied. Added ``CashFlowCommand`` for use-cases where cash flow triggers need to be
|
||||
captured in an object that can be passed around.
|
||||
* ``CordaPluginRegistry`` method ``registerRPCKryoTypes`` is renamed ``customizeSerialization`` and the argument
|
||||
types now hide the presence of Kryo.
|
||||
* New extension functions for encoding/decoding to base58, base64, etc. See
|
||||
``core/src/main/kotlin/net/corda/core/crypto/EncodingUtils.kt``
|
||||
* Add ``openAttachment`` function to Corda RPC operations, for downloading an attachment from a node's data storage.
|
||||
* Add ``getCashBalances`` function to Corda RPC operations, for getting cash balances from a node's vault.
|
||||
|
||||
* Configuration:
|
||||
* ``extraAdvertisedServiceIds`` config is now a list of strings, rather than a comma separated string. For example
|
||||
``[ "corda.interest_rates" ]`` instead of ``"corda.interest_rates"``.
|
||||
|
||||
* Flows:
|
||||
* Split ``CashFlow`` into separate ``CashIssueFlow``, ``CashPaymentFlow`` and ``CashExitFlow`` so that permissions can
|
||||
be assigned individually.
|
||||
* Split single example user into separate "bankUser" and "bigCorpUser" so that permissions for the users make sense
|
||||
rather than being a combination of both roles.
|
||||
* ``ProgressTracker`` emits exception thrown by the flow, allowing the ANSI renderer to correctly stop and print the error
|
||||
|
||||
* Object Serialization:
|
||||
|
||||
* Consolidated Kryo implementations across RPC and P2P messaging with whitelisting of classes via plugins or with
|
||||
``@CordaSerializable`` for added node security.
|
||||
|
||||
* Privacy:
|
||||
* Non-validating notary service now takes in a ``FilteredTransaction`` so that no potentially sensitive transaction
|
||||
details are unnecessarily revealed to the notary
|
||||
|
||||
* General:
|
||||
* Add vault service persistence using Requery
|
||||
* Certificate signing utility output is now more verbose
|
||||
|
||||
Milestone 8
|
||||
-----------
|
||||
|
||||
* Node memory usage and performance improvements, demo nodes now only require 200 MB heap space to run.
|
||||
|
||||
* The Corda node no longer runs an internal web server, it's now run in a separate process. Driver and Cordformation have
|
||||
been updated to reflect this change.
|
||||
Existing CorDapps should be updated with additional calls to the new ``startWebserver()`` interface in their Driver logic (if they use the driver e.g. in integration tests).
|
||||
See the IRS demo for an example.
|
||||
|
||||
* Data model: ``Party`` equality is now based on the owning key, rather than the owning key and name. This is important for
|
||||
party anonymisation to work, as each key must identify exactly one party.
|
||||
|
||||
* Contracts: created new composite clauses called ``AllOf``, ``AnyOf`` and ``FirstOf`` to replace ``AllComposition``, ``AnyComposition``
|
||||
and ``FirstComposition``, as this is significantly clearer in intent. ``AnyOf`` also enforces that at least one subclause
|
||||
must match, whereas ``AnyComposition`` would accept no matches.
|
||||
|
||||
* Explorer: the user can now configure certificate path and keystore/truststore password on the login screen.
|
||||
|
||||
* Documentation:
|
||||
|
||||
* Key Concepts section revamped with new structure and content.
|
||||
* Added more details to :doc:`getting-set-up` page.
|
||||
|
||||
* Flow framework: improved exception handling with the introduction of ``FlowException``. If this or a subtype is thrown
|
||||
inside a flow it will propagate to all counterparty flows and subsequently be thrown by them as well. Existing flows such as
|
||||
``NotaryFlow.Client/Service`` and others have been modified to throw a ``FlowException`` (in this particular case a
|
||||
``NotaryException``) instead of sending back error responses.
|
||||
|
||||
* Notary flow: provide complete details of underlying error when contract validation fails.
|
||||
|
||||
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
|
||||
-----------
|
||||
|
||||
* Added the `Corda technical white paper <_static/corda-technical-whitepaper.pdf>`_. Note that its current version
|
||||
is 0.5 to reflect the fact that the Corda design is still evolving. Although we expect only relatively small tweaks
|
||||
at this point, when Corda reaches 1.0 so will the white paper.
|
||||
|
||||
* Major documentation restructuring and new content:
|
||||
|
||||
* More details on Corda node internals.
|
||||
* New CorDapp tutorial.
|
||||
* New tutorial on building transactions.
|
||||
* New tutorials on how to run and use a notary service.
|
||||
|
||||
* An experimental version of the deterministic JVM sandbox has been added. It is not integrated with the node and will
|
||||
undergo some significant changes in the coming releases before it is integrated, as the code is finished, as bugs are
|
||||
found and fixed, and as the platform subset we choose to expose is finalised. Treat this as an outline of the basic
|
||||
approach rather than something usable for production.
|
||||
|
||||
* Developer experience:
|
||||
|
||||
* Samples have been merged back into the main repository. All samples can now be run via command line or IntelliJ.
|
||||
|
||||
* Added a Client RPC python example.
|
||||
|
||||
* 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 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.
|
||||
|
||||
* A much more complete template app.
|
||||
|
||||
* JARs now available on Maven Central.
|
||||
|
||||
* Data model: A party is now identified by a composite key (formerly known as a "public key tree") instead of a single public key.
|
||||
Read more in :ref:`composite-keys`. This allows expressing distributed service identities, e.g. a distributed notary.
|
||||
In the future this will also allow parties to use multiple signing keys for their legal identity.
|
||||
|
||||
* Decentralised consensus: A prototype RAFT based notary composed of multiple nodes has been added. This implementation
|
||||
is optimised for high performance over robustness against malicious cluster members, which may be appropriate for
|
||||
some financial situations. See :ref:`notary-demo` to try it out. A BFT notary will be added later.
|
||||
|
||||
* Node explorer app:
|
||||
|
||||
* New theme aligned with the Corda branding.
|
||||
* The New Transaction screen moved to the Cash View (as it is used solely for cash transactions)
|
||||
* Removed state machine/flow information from Transaction table. A new view for this will be created in a future release.
|
||||
* Added a new Network View that displays details of all nodes on the network.
|
||||
* Users can now configure the reporting currency in settings.
|
||||
* Various layout and performance enhancements.
|
||||
|
||||
* Client RPC:
|
||||
|
||||
* Added a generic ``startFlow`` method that enables starting of any flow, given sufficient permissions.
|
||||
* Added the ability for plugins to register additional classes or custom serialisers with Kryo for use in RPC.
|
||||
* ``rpc-users.properties`` file has been removed with RPC user settings moved to the config file.
|
||||
|
||||
* Configuration changes: It is now possible to specify a custom legal name for any of the node's advertised services.
|
||||
|
||||
* Added a load testing framework which allows stress testing of a node cluster, as well as specifying different ways of
|
||||
disrupting the normal operation of nodes. See :doc:`loadtesting`.
|
||||
|
||||
* Improvements to the experimental contract DSL, by Sofus Mortensen of Nordea Bank (please give Nordea a shoutout too).
|
||||
|
||||
API changes:
|
||||
|
||||
* The top level package has been renamed from ``com.r3corda`` to ``net.corda``.
|
||||
* Protocols have been renamed to "flows".
|
||||
* ``OpaqueBytes`` now uses ``bytes`` as the field name rather than ``bits``.
|
||||
|
||||
Milestone 5
|
||||
-----------
|
||||
|
||||
* A simple RPC access control mechanism. Users, passwords and permissions can be defined in a configuration file.
|
||||
This mechanism will be extended in future to support standard authentication systems like LDAP.
|
||||
|
||||
* New features in the explorer app and RPC API for working with cash:
|
||||
|
||||
* Cash can now be sent, issued and exited via RPC.
|
||||
* Notes can now be associated with transactions.
|
||||
* Hashes are visually represented using identicons.
|
||||
* Lots of functional work on the explorer UI. You can try it out by running ``gradle tools:explorer:runDemoNodes`` to run
|
||||
a local network of nodes that swap cash with each other, and then run ``gradle tools:explorer:run`` to start
|
||||
the app.
|
||||
|
||||
* A new demo showing shared valuation of derivatives portfolios using the ISDA SIMM has been added. Note that this app
|
||||
relies on a proprietary implementation of the ISDA SIMM business logic from OpenGamma. A stub library is provided
|
||||
to ensure it compiles but if you want to use the app for real please contact us.
|
||||
|
||||
* Developer experience (we plan to do lots more here in milestone 6):
|
||||
|
||||
* Demos and samples have been split out of the main repository, and the initial developer experience continues to be
|
||||
refined. All necessary JARs can now be installed to Maven Local by simply running ``gradle install``.
|
||||
* It's now easier to define a set of nodes to run locally using the new "CordFormation" gradle plugin, which
|
||||
defines a simple DSL for creating networks of nodes.
|
||||
* The template CorDapp has been upgraded with more documentation and showing more features.
|
||||
|
||||
* Privacy: transactions are now structured as Merkle trees, and can have sections "torn off" - presented for
|
||||
verification and signing without revealing the rest of the transaction.
|
||||
|
||||
* Lots of bug fixes, tweaks and polish starting the run up to the open source release.
|
||||
|
||||
API changes:
|
||||
|
||||
* Plugin service classes now take a ``PluginServiceHub`` rather than a ``ServiceHubInternal``.
|
||||
* ``UniqueIdentifier`` equality has changed to only take into account the underlying UUID.
|
||||
* The contracts module has been renamed to finance, to better reflect what it is for.
|
||||
|
||||
Milestone 4
|
||||
-----------
|
||||
|
||||
New features in this release:
|
||||
|
||||
* Persistence:
|
||||
|
||||
* States can now be written into a relational database and queried using JDBC. The schemas are defined by the
|
||||
smart contracts and schema versioning is supported. It is reasonable to write an app that stores data in a mix
|
||||
of global ledger transactions and local database tables which are joined on demand, using join key slots that
|
||||
are present in many state definitions. Read more about :doc:`persistence`.
|
||||
* The embedded H2 SQL database is now exposed by default to any tool that can speak JDBC. The database URL is
|
||||
printed during node startup and can be used to explore the database, which contains both node internal data
|
||||
and tables generated from ledger states.
|
||||
* Protocol checkpoints are now stored in the database as well. Message processing is now atomic with protocol
|
||||
checkpointing and run under the same RDBMS transaction.
|
||||
* MQ message deduplication is now handled at the app layer and performed under the RDMS transaction, so
|
||||
ensuring messages are only replayed if the RDMS transaction rolled back.
|
||||
* "The wallet" has been renamed to "the vault".
|
||||
|
||||
* Client RPC:
|
||||
|
||||
* New RPCs added to subscribe to snapshots and update streams state of the vault, currently executing protocols
|
||||
and other important node information.
|
||||
* New tutorial added that shows how to use the RPC API to draw live transaction graphs on screen.
|
||||
|
||||
* Protocol framework:
|
||||
|
||||
* Large simplifications to the API. Session management is now handled automatically. Messages are now routed
|
||||
based on identities rather than node IP addresses.
|
||||
|
||||
* Decentralised consensus:
|
||||
|
||||
* A standalone one-node notary backed by a JDBC store has been added.
|
||||
* A prototype RAFT based notary composed of multiple nodes is available on a branch.
|
||||
|
||||
* Data model:
|
||||
|
||||
* Compound keys have been added as preparation for merging a distributed RAFT based notary. Compound keys
|
||||
are trees of public keys in which interior nodes can have validity thresholds attached, thus allowing
|
||||
boolean formulas of keys to be created. This is similar to Bitcoin's multi-sig support and the data model
|
||||
is the same as the InterLedger Crypto-Conditions spec, which should aid interop in future. Read more about
|
||||
key trees in the ":doc:`transaction-data-types`" article.
|
||||
* A new tutorial has been added showing how to use transaction attachments in more detail.
|
||||
|
||||
* Testnet
|
||||
|
||||
* Permissioning infrastructure phase one is built out. The node now has a notion of developer mode vs normal
|
||||
mode. In developer mode it works like M3 and the SSL certificates used by nodes running on your local
|
||||
machine all self-sign using a developer key included in the source tree. When developer mode is not active,
|
||||
the node won't start until it has a signed certificate. Such a certificate can be obtained by simply running
|
||||
an included command line utility which generates a CSR and submits it to a permissioning service, then waits
|
||||
for the signed certificate to be returned. Note that currently there is no public Corda testnet, so we are
|
||||
not currently running a permissioning service.
|
||||
|
||||
* Standalone app development:
|
||||
|
||||
* The Corda libraries that app developers need to link against can now be installed into your local Maven
|
||||
repository, where they can then be used like any other JAR. See :doc:`creating-a-cordapp`.
|
||||
|
||||
* User interfaces:
|
||||
|
||||
* Infrastructure work on the node explorer is now complete: it is fully switched to using the MQ based RPC system.
|
||||
* A library of additional reactive collections has been added. This API builds on top of Rx and the observable
|
||||
collections API in Java 8 to give "live" data structures in which the state of the node and ledger can be
|
||||
viewed as an ordinary Java ``List``, ``Map`` and ``Set``, but which also emit callbacks when these views
|
||||
change, and which can have additional views derived in a functional manner (filtered, mapped, sorted, etc).
|
||||
Finally, these views can then be bound directly into JavaFX UIs. This makes for a concise and functional
|
||||
way of building application UIs that render data from the node, and the API is available for third party
|
||||
app developers to use as well. We believe this will be highly productive and enjoyable for developers who
|
||||
have the option of building JavaFX apps (vs web apps).
|
||||
* The visual network simulator tool that was demoed back in April as part of the first Corda live demo has
|
||||
been merged into the main repository.
|
||||
|
||||
* Documentation
|
||||
|
||||
* New secure coding guidelines. Corda tries to eliminate as many security mistakes as practical via the type
|
||||
system and other mechanically checkable processes, but there are still things that one must be aware of.
|
||||
* New attachments tutorial.
|
||||
* New Client RPC tutorial.
|
||||
* More tutorials on how to build a standalone CorDapp.
|
||||
|
||||
* Testing
|
||||
|
||||
* More integration testing support
|
||||
* New micro-DSLs for expressing expected sequences of operations with more or less relaxed ordering constraints.
|
||||
* QuickCheck generators to create streams of randomised transactions and other basic types. QuickCheck is a way
|
||||
of writing unit tests that perform randomised fuzz testing of code, originally developed by the Haskell
|
||||
community and now also available in Java.
|
||||
|
||||
API changes:
|
||||
|
||||
* The transaction types (Signed, Wire, LedgerTransaction) have moved to ``net.corda.core.transactions``. You can
|
||||
update your code by just deleting the broken import lines and letting your IDE re-import them from the right
|
||||
location.
|
||||
* ``AbstractStateReplacementProtocol.verifyProposal`` has changed its prototype in a minor way.
|
||||
* The ``UntrustworthyData<T>.validate`` method has been renamed to ``unwrap`` - the old name is now deprecated.
|
||||
* The wallet, wallet service, etc. are now vault, vault service, etc. These better reflect the intent that they
|
||||
are a generic secure data store, rather than something which holds cash.
|
||||
* The protocol send/receive APIs have changed to no longer require a session id. Please check the current version
|
||||
of the protocol framework tutorial for more details.
|
||||
|
||||
Milestone 3
|
||||
-----------
|
||||
|
||||
* More work on preparing for the testnet:
|
||||
|
||||
* Corda is now a standalone app server that loads "CorDapps" into itself as plugins. Whilst the existing IRS
|
||||
and trader demos still exist for now, these will soon be removed and there will only be a single Corda node
|
||||
program. Note that the node is a single, standalone jar file that is easier to execute than the demos.
|
||||
* Project Vega (shared SIMM modelling for derivative portfolios) has already been converted to be a CorDapp.
|
||||
* Significant work done on making the node persist its wallet data to a SQL backend, with more on the way.
|
||||
* Upgrades and refactorings of the core transaction types in preparation for the incoming sandboxing work.
|
||||
|
||||
* The Clauses API that seeks to make writing smart contracts easier has gone through another design iteration,
|
||||
with the result that clauses are now cleaner and more composable.
|
||||
* Improvements to the protocol API for finalising transactions (notarising, transmitting and storing).
|
||||
* Lots of work done on an MQ based client API.
|
||||
* Improvements to the developer site:
|
||||
|
||||
* The developer site has been re-read from start to finish and refreshed for M3 so there should be no obsolete
|
||||
texts or references anywhere.
|
||||
* The Corda non-technical white paper is now a part of the developer site and git repository. The LaTeX source is
|
||||
also provided so if you spot any issues with it, you can send us patches.
|
||||
* There is a new section on how to write CorDapps.
|
||||
|
||||
* Further R&D work by Sofus Mortensen in the experimental module on a new 'universal' contract language.
|
||||
* SSL for the REST API and webapp server can now be configured.
|
||||
|
||||
|
||||
Milestone 2
|
||||
-----------
|
||||
|
||||
* Big improvements to the interest rate swap app:
|
||||
|
||||
* A new web app demonstrating the IRS contract has been added. This can be used as an example for how to interact with
|
||||
the Corda API from the web.
|
||||
* Simplifications to the way the demo is used from the command line.
|
||||
* :doc:`Detailed documentation on how the contract works and can be used <contract-irs>` has been written.
|
||||
* Better integration testing of the app.
|
||||
|
||||
* Smart contracts have been redesigned around reusable components, referred to as "clauses". The cash, commercial paper
|
||||
and obligation contracts now share a common issue clause.
|
||||
* New code in the experimental module (note that this module is a place for work-in-progress code which has not yet gone
|
||||
through code review and which may, in general, not even function correctly):
|
||||
|
||||
* Thanks to the prolific Sofus Mortensen @ Nordea Bank, an experimental generic contract DSL that is based on the famous
|
||||
2001 "Composing contracts" paper has been added. We thank Sofus for this great and promising research, which is so
|
||||
relevant in the wake of 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:
|
||||
|
||||
* Mustafa Ozturk @ Natixis
|
||||
* David Nee @ US Bank
|
||||
* Johannes Albertsen @ Dankse Bank
|
||||
* Rui Hu @ Nordea
|
||||
* Daniele Barreca @ Unicredit
|
||||
* Sukrit Handa @ Scotiabank
|
||||
* Giuseppe Cardone @ Banco Intesa
|
||||
* Robert Santiago @ BBVA
|
||||
|
||||
* The usability of the command line demo programs has been improved.
|
||||
* All example code and existing contracts have been ported to use the new Java/Kotlin unit testing domain-specific
|
||||
languages (DSLs) which make it easy to construct chains of transactions and verify them together. This cleans up
|
||||
and unifies the previous ad-hoc set of similar DSLs. A tutorial on how to use it has been added to the documentation.
|
||||
We believe this largely completes our testing story for now around smart contracts. Feedback from bank developers
|
||||
during the Trade Finance project has indicated that the next thing to tackle is docs and usability improvements in
|
||||
the protocols API.
|
||||
* Significant work done towards defining the "CorDapp" concept in code, with dynamic loading of API services and more to
|
||||
come.
|
||||
* Inter-node communication now uses SSL/TLS and AMQP/1.0, albeit without all nodes self-signing at the moment. A real
|
||||
PKI for the p2p network will come later.
|
||||
* Logging is now saved to files with log rotation provided by Log4J.
|
||||
|
||||
API changes:
|
||||
|
||||
* Some utility methods and extension functions that are specific to certain contract types have moved packages: just
|
||||
delete the import lines that no longer work and let IntelliJ replace them with the correct package paths.
|
||||
* The ``arg`` method in the test DSL is now called ``command`` to be consistent with the rest of the data model.
|
||||
* The messaging APIs have changed somewhat to now use a new ``TopicSession`` object. These APIs will continue to change
|
||||
in the upcoming releases.
|
||||
* Clauses now have default values provided for ``ifMatched``, ``ifNotMatched`` and ``requiredCommands``.
|
||||
|
||||
New documentation:
|
||||
|
||||
* :doc:`contract-catalogue`
|
||||
* :doc:`contract-irs`
|
||||
* :doc:`tutorial-test-dsl`
|
||||
|
||||
Milestone 1
|
||||
-----------
|
||||
|
||||
Highlights of this release:
|
||||
|
||||
* Event scheduling. States in the ledger can now request protocols to be invoked at particular times, for states
|
||||
considered relevant by the wallet.
|
||||
* Upgrades to the notary/consensus service support:
|
||||
|
||||
* There is now a way to change the notary controlling a state.
|
||||
* You can pick between validating and non-validating notaries, these let you select your privacy/robustness tradeoff.
|
||||
|
||||
* A new obligation contract that supports bilateral and multilateral netting of obligations, default tracking and
|
||||
more.
|
||||
* Improvements to the financial type system, with core classes and contracts made more generic.
|
||||
* Switch to a better digital signature algorithm: ed25519 instead of the previous JDK default of secp256r1.
|
||||
* A new integration test suite.
|
||||
* A new Java unit testing DSL for contracts, similar in spirit to the one already developed for Kotlin users (which
|
||||
depended on Kotlin specific features).
|
||||
* An experimental module, where developers who want to work with the latest Corda code can check in contracts/cordapp
|
||||
code before it's been fully reviewed. Code in this module has compiler warnings suppressed but we will still make
|
||||
sure it compiles across refactorings.
|
||||
* Persistence improvements: transaction data is now stored to disk and automatic protocol resume is now implemented.
|
||||
* Many smaller bug fixes, cleanups and improvements.
|
||||
|
||||
We have new documentation on:
|
||||
|
||||
* :doc:`event-scheduling`
|
||||
* :doc:`transaction-data-types`
|
||||
* :doc:`consensus`
|
||||
|
||||
Summary of API changes (not exhaustive):
|
||||
|
||||
* Notary/consensus service:
|
||||
|
||||
* ``NotaryService`` is now extensible.
|
||||
* Every ``ContractState`` now has to specify a *participants* field, which is a list of parties that are able to
|
||||
consume this state in a valid transaction. This is used for e.g. making sure all relevant parties obtain the updated
|
||||
state when changing a notary.
|
||||
* Introduced ``TransactionState``, which wraps ``ContractState``, and is used when defining a transaction output.
|
||||
The notary field is moved from ``ContractState`` into ``TransactionState``.
|
||||
* Every transaction now has a *type* field, which specifies custom build & validation rules for that transaction type.
|
||||
Currently two types are supported: General (runs the default build and validation logic) and NotaryChange (
|
||||
contract code is not run during validation, checks that the notary field is the only difference between the
|
||||
inputs and outputs).
|
||||
``TransactionBuilder()`` is now abstract, you should use ``TransactionType.General.Builder()`` for building transactions.
|
||||
|
||||
* The cash contract has moved from ``net.corda.contracts`` to ``net.corda.contracts.cash``
|
||||
* ``Amount`` class is now generic, to support non-currency types such as physical assets. Where you previously had just
|
||||
``Amount``, you should now use ``Amount<Currency>``.
|
||||
* Refactored the Cash contract to have a new FungibleAsset superclass, to model all countable assets that can be merged
|
||||
and split (currency, barrels of oil, etc.)
|
||||
* Messaging:
|
||||
|
||||
* ``addMessageHandler`` now has a different signature as part of error handling changes.
|
||||
* If you want to return nothing to a protocol, use ``Ack`` instead of ``Unit`` from now on.
|
||||
|
||||
* In the IRS contract, dateOffset is now an integer instead of an enum.
|
||||
* In contracts, you now use ``tx.getInputs`` and ``tx.getOutputs`` instead of ``getInStates`` and ``getOutStates``. This is
|
||||
just a renaming.
|
||||
* A new ``NonEmptySet`` type has been added for cases where you wish to express that you have a collection of unique
|
||||
objects which cannot be empty.
|
||||
* Please use the global ``newSecureRandom()`` function rather than instantiating your own SecureRandom's from now on, as
|
||||
the custom function forces the use of non-blocking random drivers on Linux.
|
||||
|
||||
Milestone 0
|
||||
-----------
|
||||
|
||||
This is the first release, which includes:
|
||||
|
||||
* Some initial smart contracts: cash, commercial paper, interest rate swaps
|
||||
* An interest rate oracle
|
||||
* The first version of the protocol/orchestration framework
|
||||
* Some initial support for pluggable consensus mechanisms
|
||||
* Tutorials and documentation explaining how it works
|
||||
* Much more ...
|
16
docs/build/html/_sources/clientrpc.txt
vendored
16
docs/build/html/_sources/clientrpc.txt
vendored
@ -88,17 +88,15 @@ Wire protocol
|
||||
The client RPC wire protocol is not currently documented. To use it you must use the client library provided.
|
||||
This is likely to change in a future release.
|
||||
|
||||
Registering classes with RPC Kryo
|
||||
---------------------------------
|
||||
Whitelisting classes with the Corda node
|
||||
----------------------------------------
|
||||
|
||||
In the present implementation of the node we use Kryo to generate the *on the wire* representation of contracts states
|
||||
or any other classes that form part of the RPC arguments or response. To avoid the RPC interface being wide open to all
|
||||
classes on the classpath, Cordapps will currently have to register any classes or custom serialisers they require with Kryo
|
||||
if they are not one of those registered by default in ``RPCKryo`` via the plugin architecture. See :doc:`creating-a-cordapp`.
|
||||
This will require some familiarity with Kryo. An example is shown in :doc:`tutorial-clientrpc-api`.
|
||||
To avoid the RPC interface being wide open to all
|
||||
classes on the classpath, Cordapps have to whitelist any classes they require with the serialization framework of Corda,
|
||||
if they are not one of those whitelisted by default in ``DefaultWhitelist``, via either the plugin architecture or simply
|
||||
with the annotation ``@CordaSerializable``. See :doc:`creating-a-cordapp` or :doc:`serialization`. An example is shown in :doc:`tutorial-clientrpc-api`.
|
||||
|
||||
.. warning:: We will be replacing the use of Kryo in RPC with a stable message format and this will mean that this plugin
|
||||
customisation point will either go away completely or change.
|
||||
.. warning:: We will be replacing the use of Kryo in the serialization framework and so additional changes here are likely.
|
||||
|
||||
.. _CordaRPCClient: api/kotlin/corda/net.corda.client/-corda-r-p-c-client/index.html
|
||||
.. _CordaRPCOps: api/kotlin/corda/net.corda.node.services.messaging/-corda-r-p-c-ops/index.html
|
||||
|
11
docs/build/html/_sources/corda-plugins.txt
vendored
11
docs/build/html/_sources/corda-plugins.txt
vendored
@ -91,9 +91,10 @@ extensions to be created, or registered at startup. In particular:
|
||||
functions inside the node, for instance to initiate workflows when
|
||||
certain conditions are met.
|
||||
|
||||
e. The ``registerRPCKryoTypes`` function allows custom Kryo serialisers
|
||||
to be registered and whitelisted for the RPC client interface. For
|
||||
instance new state types passed to flows started via RPC will need
|
||||
to be explicitly registered. This will be called at various points on
|
||||
various threads and needs to be stable and thread safe.
|
||||
e. The ``customizeSerialization`` function allows classes to be whitelisted
|
||||
for object serialisation, over and above those tagged with the ``@CordaSerializable``
|
||||
annotation. In general the annotation should be preferred. For
|
||||
instance new state types will need to be explicitly registered. This will be called at
|
||||
various points on various threads and needs to be stable and thread safe. See
|
||||
:doc:`serialization`.
|
||||
|
||||
|
@ -9,14 +9,15 @@ App plugins
|
||||
|
||||
.. note:: Currently apps are only supported for JVM languages.
|
||||
|
||||
To create an app plugin you must you must extend from `CordaPluginRegistry`_. The JavaDoc contains
|
||||
To create an app plugin you must extend from `CordaPluginRegistry`_. The JavaDoc contains
|
||||
specific details of the implementation, but you can extend the server in the following ways:
|
||||
|
||||
1. Required flows: Specify which flows will be whitelisted for use in your RPC calls.
|
||||
2. Service plugins: Register your services (see below).
|
||||
3. Web APIs: You may register your own endpoints under /api/ of the bundled web server.
|
||||
4. Static web endpoints: You may register your own static serving directories for serving web content from the web server.
|
||||
5. Registering your additional classes used in RPC.
|
||||
5. Whitelisting your additional contract, state and other classes for object serialization. Any class that forms part
|
||||
of a persisted state, that is used in messaging between flows or in RPC needs to be whitelisted.
|
||||
|
||||
Services
|
||||
--------
|
||||
|
10
docs/build/html/_sources/flow-state-machines.txt
vendored
10
docs/build/html/_sources/flow-state-machines.txt
vendored
@ -117,6 +117,7 @@ each side.
|
||||
}
|
||||
|
||||
// This object is serialised to the network and is the first flow message the seller sends to the buyer.
|
||||
@CordaSerializable
|
||||
data class SellerTradeInfo(
|
||||
val assetForSale: StateAndRef<OwnableState>,
|
||||
val price: Amount<Currency>,
|
||||
@ -188,6 +189,15 @@ and try again.
|
||||
|
||||
.. note:: Java 9 is likely to remove this pre-marking requirement completely.
|
||||
|
||||
Whitelisted classes with the Corda node
|
||||
---------------------------------------
|
||||
|
||||
For security reasons, we do not want Corda nodes to be able to receive instances of any class on the classpath
|
||||
via messaging, since this has been exploited in other Java application containers in the past. Instead, we require
|
||||
that every class contained in messages is whitelisted. Some classes are whitelisted by default (see ``DefaultWhitelist``),
|
||||
but others outside of that set need to be whitelisted either by using the annotation ``@CordaSerializable`` or via the
|
||||
plugin framework. See :doc:`serialization`. You can see above that the ``SellerTradeInfo`` has been annotated.
|
||||
|
||||
Starting your flow
|
||||
------------------
|
||||
|
||||
|
2
docs/build/html/_sources/getting-set-up.txt
vendored
2
docs/build/html/_sources/getting-set-up.txt
vendored
@ -80,7 +80,7 @@ And a simple example CorDapp for you to explore basic concepts is available here
|
||||
You can clone these repos to your local machine by running the command ``git clone [repo URL]``.
|
||||
|
||||
By default, these repos will be on the ``master`` branch. However, this is an unstable development branch. You should check
|
||||
out the latest release tag instead by running ``git checkout release-M8.2``.
|
||||
out the latest release tag instead by running ``git checkout release-M9.0``.
|
||||
|
||||
Opening Corda/CorDapps in IDEA
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
4
docs/build/html/_sources/glossary.txt
vendored
4
docs/build/html/_sources/glossary.txt
vendored
@ -59,6 +59,8 @@ R3
|
||||
The consortium behind Corda
|
||||
SIMM
|
||||
Standard Initial Margin Model. A way of determining a counterparty's margin payment to another counterparty based on a collection of trades such that, in the event of default, the receiving counterparty has limited exposure.
|
||||
Serialization
|
||||
Object serialization is the process of converting objects into a stream of bytes and, deserialization, the reverse process.
|
||||
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
|
||||
@ -71,3 +73,5 @@ UTXO
|
||||
Unspent Transaction Output. First introduced by the bitcoin model, an unspent transaction is data that has been output from a transaction but not yet used in another transaction.
|
||||
Verify
|
||||
To confirm that the transaction is valid by ensuring the the outputs are correctly derived from the inputs combined with the command of the transaction.
|
||||
Whitelisting
|
||||
To indicate that a class is intended to be passed between nodes or between a node and an RPC client, it is added to a whitelist. This prevents the node presenting a large surface area of all classes in all dependencies of the node as containing possible vulnerabilities.
|
8
docs/build/html/_sources/index.txt
vendored
8
docs/build/html/_sources/index.txt
vendored
@ -2,10 +2,10 @@ Welcome to the Corda documentation!
|
||||
===================================
|
||||
|
||||
.. warning:: This build of the docs is from the "|version|" branch, not a milestone release. It may not reflect the
|
||||
current state of the code. `Read the docs for milestone release M8.2 <https://docs.corda.net/releases/release-M8.2/>`_.
|
||||
current state of the code. `Read the docs for milestone release M9.0 <https://docs.corda.net/releases/release-M9.0/>`_.
|
||||
|
||||
`Corda <https://www.corda.net/>`_ is an open-source distributed ledger platform. The latest *milestone* (i.e. stable)
|
||||
release is M8.2. The codebase is on `GitHub <https://github.com/corda>`_, and our community can be found on
|
||||
release is M9.0. The codebase is on `GitHub <https://github.com/corda>`_, and our community can be found on
|
||||
`Slack <https://slack.corda.net/>`_ and in our `forum <https://discourse.corda.net/>`_.
|
||||
|
||||
If you're new to Corda, you should start by learning about its motivating vision and architecture. A good introduction
|
||||
@ -13,6 +13,8 @@ is the `Introduction to Corda webinar <https://vimeo.com/192757743/c2ec39c1e1>`_
|
||||
they become more familiar with Corda, readers with a technical background will also want to dive into the `Technical white paper`_,
|
||||
which describes the platform's envisioned end-state.
|
||||
|
||||
.. note:: Corda training is now available in London, New York and Singapore! `Learn more. <https://www.corda.net/corda-training/>`_
|
||||
|
||||
Corda is designed so that developers can easily extend its functionality by writing CorDapps
|
||||
(**Cor**\ da **D**\ istributed **App**\ lication\ **s**\ ). Some example CorDapps are available in the Corda repo's
|
||||
`samples <https://github.com/corda/corda/tree/master/samples>`_ directory. To run these yourself, make
|
||||
@ -70,6 +72,7 @@ Documentation Contents:
|
||||
:maxdepth: 2
|
||||
:caption: The Corda node
|
||||
|
||||
serialization
|
||||
clientrpc
|
||||
messaging
|
||||
persistence
|
||||
@ -123,6 +126,7 @@ Documentation Contents:
|
||||
secure-coding-guidelines
|
||||
release-process
|
||||
release-notes
|
||||
changelog
|
||||
codestyle
|
||||
building-the-docs
|
||||
further-notes-on-kotlin
|
||||
|
475
docs/build/html/_sources/release-notes.txt
vendored
475
docs/build/html/_sources/release-notes.txt
vendored
@ -1,460 +1,49 @@
|
||||
Release notes
|
||||
=============
|
||||
|
||||
Here are brief summaries of what's changed between each snapshot release.
|
||||
Here are release notes for each snapshot release from M9 onwards. This includes guidance on how to upgrade code from
|
||||
the previous milestone release.
|
||||
|
||||
Milestone 9
|
||||
-----------
|
||||
|
||||
* API:
|
||||
This release focuses on improvements to resiliency of the core infrastructure, with highlights including a Byzantine
|
||||
fault tolerant (BFT) decentralised notary, based on the BFT-SMaRT protocol and isolating the web server from the
|
||||
Corda node.
|
||||
|
||||
* Pseudonymous ``AnonymousParty`` class added as a superclass of ``Party``.
|
||||
* Split ``CashFlow`` into individual ``CashIssueFlow``, ``CashPaymentFlow`` and ``CashExitFlow`` flows, so that fine
|
||||
grained permissions can be applied. Added ``CashFlowCommand`` for use-cases where cash flow triggers need to be
|
||||
captured in an object that can be passed around.
|
||||
With thanks to open source contributor Thomas Schroeter for providing the BFT notary, Corda can now resist malicious
|
||||
attacks by members of a distributed notary service. If your notary has five members, two can become hacked or malicious
|
||||
simultaneously and the system continues unaffected!
|
||||
.. You can read more about this new feature <here>.
|
||||
|
||||
Milestone 8
|
||||
-----------
|
||||
The web server has been split out of the Corda node as part of our ongoing hardening of the node. We now provide a Jetty
|
||||
servlet container pre-configured to contact a Corda node as a backend service out of the box, which means individual
|
||||
webapps can have their REST APIs configured for the specific security environment of that app without affecting the
|
||||
others, and without exposing the sensitive core of the node to malicious Javascript.
|
||||
|
||||
* Node memory usage and performance improvements, demo nodes now only require 200 MB heap space to run.
|
||||
We have launched a global training programme, with two days of classes from the R3 team being hosted in London, New York
|
||||
and Singapore. R3 members get 5 free places and seats are going fast, so sign up today.
|
||||
|
||||
* The Corda node no longer runs an internal web server, it's now run in a separate process. Driver and Cordformation have
|
||||
been updated to reflect this change.
|
||||
Existing CorDapps should be updated with additional calls to the new ``startWebserver()`` interface in their Driver logic (if they use the driver e.g. in integration tests).
|
||||
See the IRS demo for an example.
|
||||
We've started on support for confidential identities, based on the key randomisation techniques pioneered by the Bitcoin
|
||||
and Ethereum communities. Identities may be either anonymous when a transaction is a part of a chain of custody, or fully
|
||||
legally verified when a transaction is with a counterparty. Type safety is used to ensure the verification level of a
|
||||
party is always clear and avoid mistakes. Future work will add support for generating new identity keys and providing a
|
||||
certificate path to show ownership by the well known identity.
|
||||
|
||||
* Data model: ``Party`` equality is now based on the owning key, rather than the owning key and name. This is important for
|
||||
party anonymisation to work, as each key must identify exactly one party.
|
||||
There are even more privacy improvements when a non-validating notary is used; the Merkle tree algorithm is used to hide
|
||||
parts of the transaction that a non-validating notary doesn't need to see, whilst still allowing the decentralised
|
||||
notary service to sign the entire transaction.
|
||||
|
||||
* Contracts: created new composite clauses called ``AllOf``, ``AnyOf`` and ``FirstOf`` to replace ``AllComposition``, ``AnyComposition``
|
||||
and ``FirstComposition``, as this is significantly clearer in intent. ``AnyOf`` also enforces that at least one subclause
|
||||
must match, whereas ``AnyComposition`` would accept no matches.
|
||||
The serialisation API has been simplified and improved. Developers now only need to tag types that will be placed in
|
||||
smart contracts or sent between parties with a single annotation... and sometimes even that isn't necessary!
|
||||
|
||||
* Explorer: the user can now configure certificate path and keystore/truststore password on the login screen.
|
||||
Better permissioning in the cash CorDapp, to allow node users to be granted different permissions depending on whether
|
||||
they manage the issuance, movement or ledger exit of cash tokens.
|
||||
|
||||
* Documentation:
|
||||
We've continued to improve error handling in flows, with information about errors being fed through to observing RPC
|
||||
clients.
|
||||
|
||||
* Key Concepts section revamped with new structure and content.
|
||||
* Added more details to :doc:`getting-set-up` page.
|
||||
There have also been dozens of bug fixes, performance improvements and usability tweaks. Upgrading is definitely
|
||||
worthwhile and will only take a few minutes for most apps.
|
||||
|
||||
* Flow framework: improved exception handling with the introduction of ``FlowException``. If this or a subtype is thrown
|
||||
inside a flow it will propagate to all counterparty flows and subsequently be thrown by them as well. Existing flows such as
|
||||
``NotaryFlow.Client/Service`` and others have been modified to throw a ``FlowException`` (in this particular case a
|
||||
``NotaryException``) instead of sending back error responses.
|
||||
|
||||
* Notary flow: provide complete details of underlying error when contract validation fails.
|
||||
|
||||
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
|
||||
-----------
|
||||
|
||||
* Added the `Corda technical white paper <_static/corda-technical-whitepaper.pdf>`_. Note that its current version
|
||||
is 0.5 to reflect the fact that the Corda design is still evolving. Although we expect only relatively small tweaks
|
||||
at this point, when Corda reaches 1.0 so will the white paper.
|
||||
|
||||
* Major documentation restructuring and new content:
|
||||
|
||||
* More details on Corda node internals.
|
||||
* New CorDapp tutorial.
|
||||
* New tutorial on building transactions.
|
||||
* New tutorials on how to run and use a notary service.
|
||||
|
||||
* An experimental version of the deterministic JVM sandbox has been added. It is not integrated with the node and will
|
||||
undergo some significant changes in the coming releases before it is integrated, as the code is finished, as bugs are
|
||||
found and fixed, and as the platform subset we choose to expose is finalised. Treat this as an outline of the basic
|
||||
approach rather than something usable for production.
|
||||
|
||||
* Developer experience:
|
||||
|
||||
* Samples have been merged back into the main repository. All samples can now be run via command line or IntelliJ.
|
||||
|
||||
* Added a Client RPC python example.
|
||||
|
||||
* 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 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.
|
||||
|
||||
* A much more complete template app.
|
||||
|
||||
* JARs now available on Maven Central.
|
||||
|
||||
* Data model: A party is now identified by a composite key (formerly known as a "public key tree") instead of a single public key.
|
||||
Read more in :ref:`composite-keys`. This allows expressing distributed service identities, e.g. a distributed notary.
|
||||
In the future this will also allow parties to use multiple signing keys for their legal identity.
|
||||
|
||||
* Decentralised consensus: A prototype RAFT based notary composed of multiple nodes has been added. This implementation
|
||||
is optimised for high performance over robustness against malicious cluster members, which may be appropriate for
|
||||
some financial situations. See :ref:`notary-demo` to try it out. A BFT notary will be added later.
|
||||
|
||||
* Node explorer app:
|
||||
|
||||
* New theme aligned with the Corda branding.
|
||||
* The New Transaction screen moved to the Cash View (as it is used solely for cash transactions)
|
||||
* Removed state machine/flow information from Transaction table. A new view for this will be created in a future release.
|
||||
* Added a new Network View that displays details of all nodes on the network.
|
||||
* Users can now configure the reporting currency in settings.
|
||||
* Various layout and performance enhancements.
|
||||
|
||||
* Client RPC:
|
||||
|
||||
* Added a generic ``startFlow`` method that enables starting of any flow, given sufficient permissions.
|
||||
* Added the ability for plugins to register additional classes or custom serialisers with Kryo for use in RPC.
|
||||
* ``rpc-users.properties`` file has been removed with RPC user settings moved to the config file.
|
||||
|
||||
* Configuration changes: It is now possible to specify a custom legal name for any of the node's advertised services.
|
||||
|
||||
* Added a load testing framework which allows stress testing of a node cluster, as well as specifying different ways of
|
||||
disrupting the normal operation of nodes. See :doc:`loadtesting`.
|
||||
|
||||
* Improvements to the experimental contract DSL, by Sofus Mortensen of Nordea Bank (please give Nordea a shoutout too).
|
||||
|
||||
API changes:
|
||||
|
||||
* The top level package has been renamed from ``com.r3corda`` to ``net.corda``.
|
||||
* Protocols have been renamed to "flows".
|
||||
* ``OpaqueBytes`` now uses ``bytes`` as the field name rather than ``bits``.
|
||||
|
||||
Milestone 5
|
||||
-----------
|
||||
|
||||
* A simple RPC access control mechanism. Users, passwords and permissions can be defined in a configuration file.
|
||||
This mechanism will be extended in future to support standard authentication systems like LDAP.
|
||||
|
||||
* New features in the explorer app and RPC API for working with cash:
|
||||
|
||||
* Cash can now be sent, issued and exited via RPC.
|
||||
* Notes can now be associated with transactions.
|
||||
* Hashes are visually represented using identicons.
|
||||
* Lots of functional work on the explorer UI. You can try it out by running ``gradle tools:explorer:runDemoNodes`` to run
|
||||
a local network of nodes that swap cash with each other, and then run ``gradle tools:explorer:run`` to start
|
||||
the app.
|
||||
|
||||
* A new demo showing shared valuation of derivatives portfolios using the ISDA SIMM has been added. Note that this app
|
||||
relies on a proprietary implementation of the ISDA SIMM business logic from OpenGamma. A stub library is provided
|
||||
to ensure it compiles but if you want to use the app for real please contact us.
|
||||
|
||||
* Developer experience (we plan to do lots more here in milestone 6):
|
||||
|
||||
* Demos and samples have been split out of the main repository, and the initial developer experience continues to be
|
||||
refined. All necessary JARs can now be installed to Maven Local by simply running ``gradle install``.
|
||||
* It's now easier to define a set of nodes to run locally using the new "CordFormation" gradle plugin, which
|
||||
defines a simple DSL for creating networks of nodes.
|
||||
* The template CorDapp has been upgraded with more documentation and showing more features.
|
||||
|
||||
* Privacy: transactions are now structured as Merkle trees, and can have sections "torn off" - presented for
|
||||
verification and signing without revealing the rest of the transaction.
|
||||
|
||||
* Lots of bug fixes, tweaks and polish starting the run up to the open source release.
|
||||
|
||||
API changes:
|
||||
|
||||
* Plugin service classes now take a ``PluginServiceHub`` rather than a ``ServiceHubInternal``.
|
||||
* ``UniqueIdentifier`` equality has changed to only take into account the underlying UUID.
|
||||
* The contracts module has been renamed to finance, to better reflect what it is for.
|
||||
|
||||
Milestone 4
|
||||
-----------
|
||||
|
||||
New features in this release:
|
||||
|
||||
* Persistence:
|
||||
|
||||
* States can now be written into a relational database and queried using JDBC. The schemas are defined by the
|
||||
smart contracts and schema versioning is supported. It is reasonable to write an app that stores data in a mix
|
||||
of global ledger transactions and local database tables which are joined on demand, using join key slots that
|
||||
are present in many state definitions. Read more about :doc:`persistence`.
|
||||
* The embedded H2 SQL database is now exposed by default to any tool that can speak JDBC. The database URL is
|
||||
printed during node startup and can be used to explore the database, which contains both node internal data
|
||||
and tables generated from ledger states.
|
||||
* Protocol checkpoints are now stored in the database as well. Message processing is now atomic with protocol
|
||||
checkpointing and run under the same RDBMS transaction.
|
||||
* MQ message deduplication is now handled at the app layer and performed under the RDMS transaction, so
|
||||
ensuring messages are only replayed if the RDMS transaction rolled back.
|
||||
* "The wallet" has been renamed to "the vault".
|
||||
|
||||
* Client RPC:
|
||||
|
||||
* New RPCs added to subscribe to snapshots and update streams state of the vault, currently executing protocols
|
||||
and other important node information.
|
||||
* New tutorial added that shows how to use the RPC API to draw live transaction graphs on screen.
|
||||
|
||||
* Protocol framework:
|
||||
|
||||
* Large simplifications to the API. Session management is now handled automatically. Messages are now routed
|
||||
based on identities rather than node IP addresses.
|
||||
|
||||
* Decentralised consensus:
|
||||
|
||||
* A standalone one-node notary backed by a JDBC store has been added.
|
||||
* A prototype RAFT based notary composed of multiple nodes is available on a branch.
|
||||
|
||||
* Data model:
|
||||
|
||||
* Compound keys have been added as preparation for merging a distributed RAFT based notary. Compound keys
|
||||
are trees of public keys in which interior nodes can have validity thresholds attached, thus allowing
|
||||
boolean formulas of keys to be created. This is similar to Bitcoin's multi-sig support and the data model
|
||||
is the same as the InterLedger Crypto-Conditions spec, which should aid interop in future. Read more about
|
||||
key trees in the ":doc:`transaction-data-types`" article.
|
||||
* A new tutorial has been added showing how to use transaction attachments in more detail.
|
||||
|
||||
* Testnet
|
||||
|
||||
* Permissioning infrastructure phase one is built out. The node now has a notion of developer mode vs normal
|
||||
mode. In developer mode it works like M3 and the SSL certificates used by nodes running on your local
|
||||
machine all self-sign using a developer key included in the source tree. When developer mode is not active,
|
||||
the node won't start until it has a signed certificate. Such a certificate can be obtained by simply running
|
||||
an included command line utility which generates a CSR and submits it to a permissioning service, then waits
|
||||
for the signed certificate to be returned. Note that currently there is no public Corda testnet, so we are
|
||||
not currently running a permissioning service.
|
||||
|
||||
* Standalone app development:
|
||||
|
||||
* The Corda libraries that app developers need to link against can now be installed into your local Maven
|
||||
repository, where they can then be used like any other JAR. See :doc:`creating-a-cordapp`.
|
||||
|
||||
* User interfaces:
|
||||
|
||||
* Infrastructure work on the node explorer is now complete: it is fully switched to using the MQ based RPC system.
|
||||
* A library of additional reactive collections has been added. This API builds on top of Rx and the observable
|
||||
collections API in Java 8 to give "live" data structures in which the state of the node and ledger can be
|
||||
viewed as an ordinary Java ``List``, ``Map`` and ``Set``, but which also emit callbacks when these views
|
||||
change, and which can have additional views derived in a functional manner (filtered, mapped, sorted, etc).
|
||||
Finally, these views can then be bound directly into JavaFX UIs. This makes for a concise and functional
|
||||
way of building application UIs that render data from the node, and the API is available for third party
|
||||
app developers to use as well. We believe this will be highly productive and enjoyable for developers who
|
||||
have the option of building JavaFX apps (vs web apps).
|
||||
* The visual network simulator tool that was demoed back in April as part of the first Corda live demo has
|
||||
been merged into the main repository.
|
||||
|
||||
* Documentation
|
||||
|
||||
* New secure coding guidelines. Corda tries to eliminate as many security mistakes as practical via the type
|
||||
system and other mechanically checkable processes, but there are still things that one must be aware of.
|
||||
* New attachments tutorial.
|
||||
* New Client RPC tutorial.
|
||||
* More tutorials on how to build a standalone CorDapp.
|
||||
|
||||
* Testing
|
||||
|
||||
* More integration testing support
|
||||
* New micro-DSLs for expressing expected sequences of operations with more or less relaxed ordering constraints.
|
||||
* QuickCheck generators to create streams of randomised transactions and other basic types. QuickCheck is a way
|
||||
of writing unit tests that perform randomised fuzz testing of code, originally developed by the Haskell
|
||||
community and now also available in Java.
|
||||
|
||||
API changes:
|
||||
|
||||
* The transaction types (Signed, Wire, LedgerTransaction) have moved to ``net.corda.core.transactions``. You can
|
||||
update your code by just deleting the broken import lines and letting your IDE re-import them from the right
|
||||
location.
|
||||
* ``AbstractStateReplacementProtocol.verifyProposal`` has changed its prototype in a minor way.
|
||||
* The ``UntrustworthyData<T>.validate`` method has been renamed to ``unwrap`` - the old name is now deprecated.
|
||||
* The wallet, wallet service, etc. are now vault, vault service, etc. These better reflect the intent that they
|
||||
are a generic secure data store, rather than something which holds cash.
|
||||
* The protocol send/receive APIs have changed to no longer require a session id. Please check the current version
|
||||
of the protocol framework tutorial for more details.
|
||||
|
||||
Milestone 3
|
||||
-----------
|
||||
|
||||
* More work on preparing for the testnet:
|
||||
|
||||
* Corda is now a standalone app server that loads "CorDapps" into itself as plugins. Whilst the existing IRS
|
||||
and trader demos still exist for now, these will soon be removed and there will only be a single Corda node
|
||||
program. Note that the node is a single, standalone jar file that is easier to execute than the demos.
|
||||
* Project Vega (shared SIMM modelling for derivative portfolios) has already been converted to be a CorDapp.
|
||||
* Significant work done on making the node persist its wallet data to a SQL backend, with more on the way.
|
||||
* Upgrades and refactorings of the core transaction types in preparation for the incoming sandboxing work.
|
||||
|
||||
* The Clauses API that seeks to make writing smart contracts easier has gone through another design iteration,
|
||||
with the result that clauses are now cleaner and more composable.
|
||||
* Improvements to the protocol API for finalising transactions (notarising, transmitting and storing).
|
||||
* Lots of work done on an MQ based client API.
|
||||
* Improvements to the developer site:
|
||||
|
||||
* The developer site has been re-read from start to finish and refreshed for M3 so there should be no obsolete
|
||||
texts or references anywhere.
|
||||
* The Corda non-technical white paper is now a part of the developer site and git repository. The LaTeX source is
|
||||
also provided so if you spot any issues with it, you can send us patches.
|
||||
* There is a new section on how to write CorDapps.
|
||||
|
||||
* Further R&D work by Sofus Mortensen in the experimental module on a new 'universal' contract language.
|
||||
* SSL for the REST API and webapp server can now be configured.
|
||||
|
||||
|
||||
Milestone 2
|
||||
-----------
|
||||
|
||||
* Big improvements to the interest rate swap app:
|
||||
|
||||
* A new web app demonstrating the IRS contract has been added. This can be used as an example for how to interact with
|
||||
the Corda API from the web.
|
||||
* Simplifications to the way the demo is used from the command line.
|
||||
* :doc:`Detailed documentation on how the contract works and can be used <contract-irs>` has been written.
|
||||
* Better integration testing of the app.
|
||||
|
||||
* Smart contracts have been redesigned around reusable components, referred to as "clauses". The cash, commercial paper
|
||||
and obligation contracts now share a common issue clause.
|
||||
* New code in the experimental module (note that this module is a place for work-in-progress code which has not yet gone
|
||||
through code review and which may, in general, not even function correctly):
|
||||
|
||||
* Thanks to the prolific Sofus Mortensen @ Nordea Bank, an experimental generic contract DSL that is based on the famous
|
||||
2001 "Composing contracts" paper has been added. We thank Sofus for this great and promising research, which is so
|
||||
relevant in the wake of 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:
|
||||
|
||||
* Mustafa Ozturk @ Natixis
|
||||
* David Nee @ US Bank
|
||||
* Johannes Albertsen @ Dankse Bank
|
||||
* Rui Hu @ Nordea
|
||||
* Daniele Barreca @ Unicredit
|
||||
* Sukrit Handa @ Scotiabank
|
||||
* Giuseppe Cardone @ Banco Intesa
|
||||
* Robert Santiago @ BBVA
|
||||
|
||||
* The usability of the command line demo programs has been improved.
|
||||
* All example code and existing contracts have been ported to use the new Java/Kotlin unit testing domain-specific
|
||||
languages (DSLs) which make it easy to construct chains of transactions and verify them together. This cleans up
|
||||
and unifies the previous ad-hoc set of similar DSLs. A tutorial on how to use it has been added to the documentation.
|
||||
We believe this largely completes our testing story for now around smart contracts. Feedback from bank developers
|
||||
during the Trade Finance project has indicated that the next thing to tackle is docs and usability improvements in
|
||||
the protocols API.
|
||||
* Significant work done towards defining the "CorDapp" concept in code, with dynamic loading of API services and more to
|
||||
come.
|
||||
* Inter-node communication now uses SSL/TLS and AMQP/1.0, albeit without all nodes self-signing at the moment. A real
|
||||
PKI for the p2p network will come later.
|
||||
* Logging is now saved to files with log rotation provided by Log4J.
|
||||
|
||||
API changes:
|
||||
|
||||
* Some utility methods and extension functions that are specific to certain contract types have moved packages: just
|
||||
delete the import lines that no longer work and let IntelliJ replace them with the correct package paths.
|
||||
* The ``arg`` method in the test DSL is now called ``command`` to be consistent with the rest of the data model.
|
||||
* The messaging APIs have changed somewhat to now use a new ``TopicSession`` object. These APIs will continue to change
|
||||
in the upcoming releases.
|
||||
* Clauses now have default values provided for ``ifMatched``, ``ifNotMatched`` and ``requiredCommands``.
|
||||
|
||||
New documentation:
|
||||
|
||||
* :doc:`contract-catalogue`
|
||||
* :doc:`contract-irs`
|
||||
* :doc:`tutorial-test-dsl`
|
||||
|
||||
Milestone 1
|
||||
-----------
|
||||
|
||||
Highlights of this release:
|
||||
|
||||
* Event scheduling. States in the ledger can now request protocols to be invoked at particular times, for states
|
||||
considered relevant by the wallet.
|
||||
* Upgrades to the notary/consensus service support:
|
||||
|
||||
* There is now a way to change the notary controlling a state.
|
||||
* You can pick between validating and non-validating notaries, these let you select your privacy/robustness tradeoff.
|
||||
|
||||
* A new obligation contract that supports bilateral and multilateral netting of obligations, default tracking and
|
||||
more.
|
||||
* Improvements to the financial type system, with core classes and contracts made more generic.
|
||||
* Switch to a better digital signature algorithm: ed25519 instead of the previous JDK default of secp256r1.
|
||||
* A new integration test suite.
|
||||
* A new Java unit testing DSL for contracts, similar in spirit to the one already developed for Kotlin users (which
|
||||
depended on Kotlin specific features).
|
||||
* An experimental module, where developers who want to work with the latest Corda code can check in contracts/cordapp
|
||||
code before it's been fully reviewed. Code in this module has compiler warnings suppressed but we will still make
|
||||
sure it compiles across refactorings.
|
||||
* Persistence improvements: transaction data is now stored to disk and automatic protocol resume is now implemented.
|
||||
* Many smaller bug fixes, cleanups and improvements.
|
||||
|
||||
We have new documentation on:
|
||||
|
||||
* :doc:`event-scheduling`
|
||||
* :doc:`transaction-data-types`
|
||||
* :doc:`consensus`
|
||||
|
||||
Summary of API changes (not exhaustive):
|
||||
|
||||
* Notary/consensus service:
|
||||
|
||||
* ``NotaryService`` is now extensible.
|
||||
* Every ``ContractState`` now has to specify a *participants* field, which is a list of parties that are able to
|
||||
consume this state in a valid transaction. This is used for e.g. making sure all relevant parties obtain the updated
|
||||
state when changing a notary.
|
||||
* Introduced ``TransactionState``, which wraps ``ContractState``, and is used when defining a transaction output.
|
||||
The notary field is moved from ``ContractState`` into ``TransactionState``.
|
||||
* Every transaction now has a *type* field, which specifies custom build & validation rules for that transaction type.
|
||||
Currently two types are supported: General (runs the default build and validation logic) and NotaryChange (
|
||||
contract code is not run during validation, checks that the notary field is the only difference between the
|
||||
inputs and outputs).
|
||||
``TransactionBuilder()`` is now abstract, you should use ``TransactionType.General.Builder()`` for building transactions.
|
||||
|
||||
* The cash contract has moved from ``net.corda.contracts`` to ``net.corda.contracts.cash``
|
||||
* ``Amount`` class is now generic, to support non-currency types such as physical assets. Where you previously had just
|
||||
``Amount``, you should now use ``Amount<Currency>``.
|
||||
* Refactored the Cash contract to have a new FungibleAsset superclass, to model all countable assets that can be merged
|
||||
and split (currency, barrels of oil, etc.)
|
||||
* Messaging:
|
||||
|
||||
* ``addMessageHandler`` now has a different signature as part of error handling changes.
|
||||
* If you want to return nothing to a protocol, use ``Ack`` instead of ``Unit`` from now on.
|
||||
|
||||
* In the IRS contract, dateOffset is now an integer instead of an enum.
|
||||
* In contracts, you now use ``tx.getInputs`` and ``tx.getOutputs`` instead of ``getInStates`` and ``getOutStates``. This is
|
||||
just a renaming.
|
||||
* A new ``NonEmptySet`` type has been added for cases where you wish to express that you have a collection of unique
|
||||
objects which cannot be empty.
|
||||
* Please use the global ``newSecureRandom()`` function rather than instantiating your own SecureRandom's from now on, as
|
||||
the custom function forces the use of non-blocking random drivers on Linux.
|
||||
|
||||
Milestone 0
|
||||
-----------
|
||||
|
||||
This is the first release, which includes:
|
||||
|
||||
* Some initial smart contracts: cash, commercial paper, interest rate swaps
|
||||
* An interest rate oracle
|
||||
* The first version of the protocol/orchestration framework
|
||||
* Some initial support for pluggable consensus mechanisms
|
||||
* Tutorials and documentation explaining how it works
|
||||
* Much more ...
|
||||
For a full list of changes please see :doc:`change-log`.
|
26
docs/build/html/_sources/release-process.txt
vendored
26
docs/build/html/_sources/release-process.txt
vendored
@ -27,18 +27,22 @@ 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
|
||||
summary in the current section of the :doc:`release-notes` is correct and update if not. Then move it into the right
|
||||
section for this release. This is the right place to put any advice on how to port app code from the last release.
|
||||
3. Additionally, if there are any new features or APIs that deserve a new section in the docsite and the author didn't
|
||||
summary in the current section of the :doc:`changelog` is correct and update if not. Then move it into the right
|
||||
section for this release.
|
||||
3. Write up a summary of the changes for the :doc:`release-notes`. This should primarily be suited to a semi-technical
|
||||
audience, but any advice on how to port app code from the previous release, configuration changes required, etc.
|
||||
should also go here.
|
||||
4. Additionally, if there are any new features or APIs that deserve a new section in the docsite and the author didn't
|
||||
create one, bug them to do so a day or two before the release.
|
||||
4. Regenerate the docsite if necessary and commit.
|
||||
5. Create a branch with a name like `release-M0` where 0 is replaced by the number of the milestone.
|
||||
6. Adjust the version in the root build.gradle file to take out the -SNAPSHOT and commit it on the branch.
|
||||
7. Remove the "is master" warning from the docsite index page on this branch only.
|
||||
8. Tag the branch with a tag like `release-M0.0`
|
||||
9. Push the branch and the tag to git.
|
||||
10. Write up a short announcement containing the summary of new features, changes, and API breaks. Send it to the r3dlg-awg mailing list.
|
||||
11. On master, adjust the version number in the root build.gradle file upwards.
|
||||
5. Regenerate the docsite if necessary and commit.
|
||||
6. Create a branch with a name like `release-M0` where 0 is replaced by the number of the milestone.
|
||||
7. Adjust the version in the root build.gradle file to take out the -SNAPSHOT and commit it on the branch.
|
||||
8. Remove the "is master" warning from the docsite index page on this branch only.
|
||||
9. Tag the branch with a tag like `release-M0.0`
|
||||
10. Push the branch and the tag to git.
|
||||
11. Write up a short announcement containing the summary of new features, changes, and API breaks.
|
||||
This can often be derived from the release notes. Send it to the r3dlg-awg mailing list.
|
||||
12. On master, adjust the version number in the root build.gradle file upwards.
|
||||
|
||||
If there are serious bugs found in the release, backport the fix to the branch and then tag it with e.g. `release-M0.1`
|
||||
Minor changes to the branch don't have to be announced unless it'd be critical to get all developers updated.
|
||||
|
39
docs/build/html/_sources/serialization.txt
vendored
Normal file
39
docs/build/html/_sources/serialization.txt
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
Object Serialization
|
||||
====================
|
||||
|
||||
What is serialization (and deserialization)?
|
||||
--------------------------------------------
|
||||
|
||||
Object serialization is the process of converting objects into a stream of bytes and, deserialization, the reverse
|
||||
process of creating objects from a stream of bytes. It takes place every time nodes pass objects to each other as
|
||||
messages, when objects are sent to or from RPC clients from the node, and when we store transactions in the database.
|
||||
|
||||
Whitelisting
|
||||
------------
|
||||
|
||||
In classic Java serialization, any class on the JVM classpath can be deserialized. This has shown to be a source of exploits
|
||||
and vulnerabilities by exploiting the large set of 3rd party libraries on the classpath as part of the dependencies of
|
||||
a JVM application and a carefully crafted stream of bytes to be deserialized. In Corda, we prevent just any class from
|
||||
being deserialized (and pro-actively during serialization) by insisting that each object's class belongs on a whitelist
|
||||
of allowed classes.
|
||||
|
||||
Classes get onto the whitelist via one of three mechanisms:
|
||||
|
||||
#. Via the ``@CordaSerializable`` annotation. In order to whitelist a class, this annotation can be present on the
|
||||
class itself, on any of the super classes or on any interface implemented by the class or super classes or any
|
||||
interface extended by an interface implemented by the class or superclasses.
|
||||
#. By returning the class as part of a plugin via the method ``customizeSerialization``. It's important to return
|
||||
true from this method if you override it, otherwise the plugin will be excluded. See :doc:`corda-plugins`.
|
||||
#. Via the built in Corda whitelist (see the class ``DefaultWhitelist``). Whilst this is not user editable, it does list
|
||||
common JDK classes that have been whitelisted for your convenience.
|
||||
|
||||
The annotation is the preferred method for whitelisting. An example is shown in :doc:`tutorial-clientrpc-api`.
|
||||
It's reproduced here as an example of both ways you can do this for a couple of example classes.
|
||||
|
||||
.. literalinclude:: example-code/src/main/kotlin/net/corda/docs/ClientRpcTutorial.kt
|
||||
:language: kotlin
|
||||
:start-after: START 7
|
||||
:end-before: END 7
|
||||
|
||||
.. note:: Several of the core interfaces at the heart of Corda are already annotated and so any classes that implement
|
||||
them will automatically be whitelisted. This includes `Contract`, `ContractState` and `CommandData`.
|
@ -85,11 +85,11 @@ Now let's try to visualise the transaction graph. We will use a graph drawing li
|
||||
|
||||
If we run the client with ``Visualise`` we should see a simple random graph being drawn as new transactions are being created.
|
||||
|
||||
Registering classes from your CorDapp with RPC Kryo
|
||||
---------------------------------------------------
|
||||
Whitelisting classes from your CorDapp with the Corda node
|
||||
----------------------------------------------------------
|
||||
|
||||
As described in :doc:`clientrpc`, you currently have to register any additional classes you add that are needed in RPC
|
||||
requests or responses with the `Kryo` instance RPC uses. Here's an example of how you do this for an example class.
|
||||
As described in :doc:`clientrpc`, you have to whitelist any additional classes you add that are needed in RPC
|
||||
requests or responses with the Corda node. Here's an example of both ways you can do this for a couple of example classes.
|
||||
|
||||
.. literalinclude:: example-code/src/main/kotlin/net/corda/docs/ClientRpcTutorial.kt
|
||||
:language: kotlin
|
||||
@ -98,8 +98,7 @@ requests or responses with the `Kryo` instance RPC uses. Here's an example of h
|
||||
|
||||
See more on plugins in :doc:`creating-a-cordapp`.
|
||||
|
||||
.. warning:: We will be replacing the use of Kryo in RPC with a stable message format and this will mean that this plugin
|
||||
customisation point will either go away completely or change.
|
||||
.. warning:: We will be replacing the use of Kryo in the serialization framework and so additional changes here are likely.
|
||||
|
||||
Security
|
||||
--------
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:29 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:27 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>All Classes</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="script.js"></script>
|
||||
</head>
|
||||
@ -44,6 +44,7 @@
|
||||
<li><a href="net/corda/core/contracts/clauses/AllComposition.html" title="class in net.corda.core.contracts.clauses" target="classFrame">AllComposition</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AllOf.html" title="class in net.corda.core.contracts.clauses" target="classFrame">AllOf</a></li>
|
||||
<li><a href="net/corda/core/messaging/AllPossibleRecipients.html" title="interface in net.corda.core.messaging" target="classFrame"><span class="interfaceName">AllPossibleRecipients</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/AllWhitelist.html" title="class in net.corda.core.serialization" target="classFrame">AllWhitelist</a></li>
|
||||
<li><a href="net/corda/core/contracts/Amount.html" title="class in net.corda.core.contracts" target="classFrame">Amount</a></li>
|
||||
<li><a href="net/corda/core/contracts/Amount.Companion.html" title="class in net.corda.core.contracts" target="classFrame">Amount.Companion</a></li>
|
||||
<li><a href="net/corda/client/fxutils/AmountBindings.html" title="class in net.corda.client.fxutils" target="classFrame">AmountBindings</a></li>
|
||||
@ -54,8 +55,6 @@
|
||||
<li><a href="net/corda/node/utilities/ANSIProgressRenderer.html" title="class in net.corda.node.utilities" target="classFrame">ANSIProgressRenderer</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AnyComposition.html" title="class in net.corda.core.contracts.clauses" target="classFrame">AnyComposition</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AnyOf.html" title="class in net.corda.core.contracts.clauses" target="classFrame">AnyOf</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/APIServer.html" title="interface in net.corda.node.webserver.api" target="classFrame"><span class="interfaceName">APIServer</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/internal/APIServerImpl.html" title="class in net.corda.node.webserver.internal" target="classFrame">APIServerImpl</a></li>
|
||||
<li><a href="net/corda/core/utilities/ApiUtils.html" title="class in net.corda.core.utilities" target="classFrame">ApiUtils</a></li>
|
||||
<li><a href="net/corda/core/flows/AppContext.html" title="class in net.corda.core.flows" target="classFrame">AppContext</a></li>
|
||||
<li><a href="net/corda/node/ArgsParser.html" title="class in net.corda.node" target="classFrame">ArgsParser</a></li>
|
||||
@ -72,10 +71,10 @@
|
||||
<li><a href="net/corda/client/fxutils/AssociatedList.html" title="class in net.corda.client.fxutils" target="classFrame">AssociatedList</a></li>
|
||||
<li><a href="net/corda/core/contracts/Attachment.html" title="interface in net.corda.core.contracts" target="classFrame"><span class="interfaceName">Attachment</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/Attachment.DefaultImpls.html" title="class in net.corda.core.contracts" target="classFrame">Attachment.DefaultImpls</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/AttachmentDownloadServlet.html" title="class in net.corda.node.webserver.servlets" target="classFrame">AttachmentDownloadServlet</a></li>
|
||||
<li><a href="net/corda/core/contracts/AttachmentResolutionException.html" title="class in net.corda.core.contracts" target="classFrame">AttachmentResolutionException</a></li>
|
||||
<li><a href="net/corda/core/node/AttachmentsClassLoader.html" title="class in net.corda.core.node" target="classFrame">AttachmentsClassLoader</a></li>
|
||||
<li><a href="net/corda/core/node/AttachmentsClassLoader.OverlappingAttachments.html" title="class in net.corda.core.node" target="classFrame">AttachmentsClassLoader.OverlappingAttachments</a></li>
|
||||
<li><a href="net/corda/core/node/services/AttachmentsStorageService.html" title="interface in net.corda.core.node.services" target="classFrame"><span class="interfaceName">AttachmentsStorageService</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/AttachmentStorage.html" title="interface in net.corda.core.node.services" target="classFrame"><span class="interfaceName">AttachmentStorage</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/AuthenticatedObject.html" title="class in net.corda.core.contracts" target="classFrame">AuthenticatedObject</a></li>
|
||||
<li><a href="net/corda/core/transactions/BaseTransaction.html" title="class in net.corda.core.transactions" target="classFrame">BaseTransaction</a></li>
|
||||
@ -89,6 +88,7 @@
|
||||
<li><a href="net/corda/core/contracts/BilateralNettableState.html" title="interface in net.corda.core.contracts" target="classFrame"><span class="interfaceName">BilateralNettableState</span></a></li>
|
||||
<li><a href="net/corda/flows/BroadcastTransactionFlow.html" title="class in net.corda.flows" target="classFrame">BroadcastTransactionFlow</a></li>
|
||||
<li><a href="net/corda/flows/BroadcastTransactionFlow.NotifyTxRequest.html" title="class in net.corda.flows" target="classFrame">BroadcastTransactionFlow.NotifyTxRequest</a></li>
|
||||
<li><a href="net/corda/core/serialization/BuiltInExceptionsWhitelist.html" title="class in net.corda.core.serialization" target="classFrame">BuiltInExceptionsWhitelist</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.html" title="class in net.corda.core.contracts" target="classFrame">BusinessCalendar</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.Companion.html" title="class in net.corda.core.contracts" target="classFrame">BusinessCalendar.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.UnknownCalendar.html" title="class in net.corda.core.contracts" target="classFrame">BusinessCalendar.UnknownCalendar</a></li>
|
||||
@ -126,6 +126,7 @@
|
||||
<li><a href="net/corda/client/fxutils/ChosenList.html" title="class in net.corda.client.fxutils" target="classFrame">ChosenList</a></li>
|
||||
<li><a href="net/corda/core/node/CityDatabase.html" title="class in net.corda.core.node" target="classFrame">CityDatabase</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/ClassSerializer.html" title="class in net.corda.node.services.messaging" target="classFrame">ClassSerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/ClassWhitelist.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">ClassWhitelist</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/Clause.html" title="class in net.corda.core.contracts.clauses" target="classFrame">Clause</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/Clause.Companion.html" title="class in net.corda.core.contracts.clauses" target="classFrame">Clause.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/ClauseKt.html" title="class in net.corda.core.contracts.clauses" target="classFrame">ClauseKt</a></li>
|
||||
@ -265,6 +266,10 @@
|
||||
<li><a href="net/corda/flows/ContractUpgradeFlow.Acceptor.html" title="class in net.corda.flows" target="classFrame">ContractUpgradeFlow.Acceptor</a></li>
|
||||
<li><a href="net/corda/flows/ContractUpgradeFlow.Instigator.html" title="class in net.corda.flows" target="classFrame">ContractUpgradeFlow.Instigator</a></li>
|
||||
<li><a href="net/corda/node/Corda.html" title="class in net.corda.node" target="classFrame">Corda</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolver.html" title="class in net.corda.core.serialization" target="classFrame">CordaClassResolver</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolver.Companion.html" title="class in net.corda.core.serialization" target="classFrame">CordaClassResolver.Companion</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolverKt.html" title="class in net.corda.core.serialization" target="classFrame">CordaClassResolverKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaKryo.html" title="class in net.corda.core.serialization" target="classFrame">CordaKryo</a></li>
|
||||
<li><a href="net/corda/core/node/CordaPluginRegistry.html" title="class in net.corda.core.node" target="classFrame">CordaPluginRegistry</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/CordaRPCClient.html" title="class in net.corda.node.services.messaging" target="classFrame">CordaRPCClient</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/CordaRPCClientImpl.html" title="class in net.corda.node.services.messaging" target="classFrame">CordaRPCClientImpl</a></li>
|
||||
@ -273,15 +278,13 @@
|
||||
<li><a href="net/corda/node/internal/CordaRPCOpsImpl.html" title="class in net.corda.node.internal" target="classFrame">CordaRPCOpsImpl</a></li>
|
||||
<li><a href="net/corda/node/internal/CordaRPCOpsImpl.Companion.html" title="class in net.corda.node.internal" target="classFrame">CordaRPCOpsImpl.Companion</a></li>
|
||||
<li><a href="net/corda/core/messaging/CordaRPCOpsKt.html" title="class in net.corda.core.messaging" target="classFrame">CordaRPCOpsKt</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/Criteria.AllDeals.html" title="class in net.corda.node.webserver.api" target="classFrame">Criteria.AllDeals</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/Criteria.Deal.html" title="class in net.corda.node.webserver.api" target="classFrame">Criteria.Deal</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaSerializable.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">CordaSerializable</span></a></li>
|
||||
<li><a href="net/corda/core/crypto/CryptoUtilities.html" title="class in net.corda.core.crypto" target="classFrame">CryptoUtilities</a></li>
|
||||
<li><a href="net/corda/core/math/CubicSplineInterpolator.html" title="class in net.corda.core.math" target="classFrame">CubicSplineInterpolator</a></li>
|
||||
<li><a href="net/corda/core/math/CubicSplineInterpolator.Factory.html" title="class in net.corda.core.math" target="classFrame">CubicSplineInterpolator.Factory</a></li>
|
||||
<li><a href="net/corda/core/testing/CurrencyGenerator.html" title="class in net.corda.core.testing" target="classFrame">CurrencyGenerator</a></li>
|
||||
<li><a href="net/corda/core/testing/CurrencyGenerator.Companion.html" title="class in net.corda.core.testing" target="classFrame">CurrencyGenerator.Companion</a></li>
|
||||
<li><a href="net/corda/node/utilities/DatabaseSupportKt.html" title="class in net.corda.node.utilities" target="classFrame">DatabaseSupportKt</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/DataUploadServlet.html" title="class in net.corda.node.webserver.servlets" target="classFrame">DataUploadServlet</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.html" title="class in net.corda.node.services.persistence" target="classFrame">DataVending</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.Plugin.html" title="class in net.corda.node.services.persistence" target="classFrame">DataVending.Plugin</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.Service.html" title="class in net.corda.node.services.persistence" target="classFrame">DataVending.Service</a></li>
|
||||
@ -298,6 +301,8 @@
|
||||
<li><a href="net/corda/node/services/persistence/DBTransactionMappingStorage.html" title="class in net.corda.node.services.persistence" target="classFrame">DBTransactionMappingStorage</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DBTransactionStorage.html" title="class in net.corda.node.services.persistence" target="classFrame">DBTransactionStorage</a></li>
|
||||
<li><a href="net/corda/core/contracts/DealState.html" title="interface in net.corda.core.contracts" target="classFrame"><span class="interfaceName">DealState</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/DefaultKryoCustomizer.html" title="class in net.corda.core.serialization" target="classFrame">DefaultKryoCustomizer</a></li>
|
||||
<li><a href="net/corda/node/serialization/DefaultWhitelist.html" title="class in net.corda.node.serialization" target="classFrame">DefaultWhitelist</a></li>
|
||||
<li><a href="net/corda/core/serialization/DeserializeAsKotlinObjectDef.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">DeserializeAsKotlinObjectDef</span></a></li>
|
||||
<li><a href="net/corda/client/model/Diff.html" title="class in net.corda.client.model" target="classFrame">Diff</a></li>
|
||||
<li><a href="net/corda/core/crypto/DigitalSignature.html" title="class in net.corda.core.crypto" target="classFrame">DigitalSignature</a></li>
|
||||
@ -336,6 +341,7 @@
|
||||
<li><a href="net/corda/core/serialization/Ed25519PrivateKeySerializer.html" title="class in net.corda.core.serialization" target="classFrame">Ed25519PrivateKeySerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/Ed25519PublicKeySerializer.html" title="class in net.corda.core.serialization" target="classFrame">Ed25519PublicKeySerializer</a></li>
|
||||
<li><a href="net/corda/core/utilities/Emoji.html" title="class in net.corda.core.utilities" target="classFrame">Emoji</a></li>
|
||||
<li><a href="net/corda/core/serialization/EmptyWhitelist.html" title="class in net.corda.core.serialization" target="classFrame">EmptyWhitelist</a></li>
|
||||
<li><a href="net/corda/core/crypto/EncodingUtilsKt.html" title="class in net.corda.core.crypto" target="classFrame">EncodingUtilsKt</a></li>
|
||||
<li><a href="net/corda/core/ErrorOr.html" title="class in net.corda.core" target="classFrame">ErrorOr</a></li>
|
||||
<li><a href="net/corda/core/ErrorOr.Companion.html" title="class in net.corda.core" target="classFrame">ErrorOr.Companion</a></li>
|
||||
@ -409,6 +415,8 @@
|
||||
<li><a href="net/corda/client/mock/GeneratorKt.html" title="class in net.corda.client.mock" target="classFrame">GeneratorKt</a></li>
|
||||
<li><a href="net/corda/client/mock/GeneratorsKt.html" title="class in net.corda.client.mock" target="classFrame">GeneratorsKt</a></li>
|
||||
<li><a href="net/corda/core/testing/GeneratorsKt.html" title="class in net.corda.core.testing" target="classFrame">GeneratorsKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/GlobalTransientClassWhiteList.html" title="class in net.corda.core.serialization" target="classFrame">GlobalTransientClassWhiteList</a></li>
|
||||
<li><a href="net/corda/core/serialization/GlobalTransientClassWhiteList.Companion.html" title="class in net.corda.core.serialization" target="classFrame">GlobalTransientClassWhiteList.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/GroupClauseVerifier.html" title="class in net.corda.core.contracts.clauses" target="classFrame">GroupClauseVerifier</a></li>
|
||||
<li><a href="net/corda/node/services/schema/HibernateObserver.html" title="class in net.corda.node.services.schema" target="classFrame">HibernateObserver</a></li>
|
||||
<li><a href="net/corda/node/services/schema/HibernateObserver.Companion.html" title="class in net.corda.node.services.schema" target="classFrame">HibernateObserver.Companion</a></li>
|
||||
@ -452,27 +460,6 @@
|
||||
<li><a href="net/corda/node/utilities/JDBCHashMapKt.html" title="class in net.corda.node.utilities" target="classFrame">JDBCHashMapKt</a></li>
|
||||
<li><a href="net/corda/node/utilities/JDBCHashSet.html" title="class in net.corda.node.utilities" target="classFrame">JDBCHashSet</a></li>
|
||||
<li><a href="net/corda/node/utilities/JDBCHashSet.BlobSetTable.html" title="class in net.corda.node.utilities" target="classFrame">JDBCHashSet.BlobSetTable</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.AnonymousPartyDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.AnonymousPartyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.AnonymousPartySerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.AnonymousPartySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CalendarDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.CalendarDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CompositeKeyDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.CompositeKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CompositeKeySerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.CompositeKeySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.IdentityObjectMapper.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.IdentityObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.LocalDateDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.LocalDateDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.LocalDateKeyDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.LocalDateKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NodeInfoDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.NodeInfoDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NodeInfoSerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.NodeInfoSerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NoPartyObjectMapper.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.NoPartyObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartyDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.PartyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartyObjectMapper.html" title="interface in net.corda.node.utilities" target="classFrame"><span class="interfaceName">JsonSupport.PartyObjectMapper</span></a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartySerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.PartySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PublicKeyDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.PublicKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PublicKeySerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.PublicKeySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.RpcObjectMapper.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.RpcObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.SecureHashDeserializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.SecureHashDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.SecureHashSerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.SecureHashSerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.ToStringSerializer.html" title="class in net.corda.node.utilities" target="classFrame">JsonSupport.ToStringSerializer</a></li>
|
||||
<li><a href="net/corda/core/node/services/KeyManagementService.html" title="interface in net.corda.core.node.services" target="classFrame"><span class="interfaceName">KeyManagementService</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/KeyManagementService.DefaultImpls.html" title="class in net.corda.core.node.services" target="classFrame">KeyManagementService.DefaultImpls</a></li>
|
||||
<li><a href="net/corda/node/services/database/KotlinConfigurationTransactionWrapper.html" title="class in net.corda.node.services.database" target="classFrame">KotlinConfigurationTransactionWrapper</a></li>
|
||||
@ -480,6 +467,7 @@
|
||||
<li><a href="net/corda/node/services/database/KotlinConfigurationTransactionWrapper.CordaDataSourceConnectionProvider.html" title="class in net.corda.node.services.database" target="classFrame">KotlinConfigurationTransactionWrapper.CordaDataSourceConnectionProvider</a></li>
|
||||
<li><a href="net/corda/core/serialization/KotlinObjectSerializer.html" title="class in net.corda.core.serialization" target="classFrame">KotlinObjectSerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/KryoKt.html" title="class in net.corda.core.serialization" target="classFrame">KryoKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/KryoSerializationCustomization.html" title="class in net.corda.core.serialization" target="classFrame">KryoSerializationCustomization</a></li>
|
||||
<li><a href="net/corda/node/services/network/LastAcknowledgeInfo.html" title="class in net.corda.node.services.network" target="classFrame">LastAcknowledgeInfo</a></li>
|
||||
<li><a href="net/corda/core/transactions/LedgerTransaction.html" title="class in net.corda.core.transactions" target="classFrame">LedgerTransaction</a></li>
|
||||
<li><a href="net/corda/client/fxutils/LeftOuterJoinedMap.html" title="class in net.corda.client.fxutils" target="classFrame">LeftOuterJoinedMap</a></li>
|
||||
@ -490,6 +478,8 @@
|
||||
<li><a href="net/corda/node/utilities/LocalDateColumnType.html" title="class in net.corda.node.utilities" target="classFrame">LocalDateColumnType</a></li>
|
||||
<li><a href="net/corda/node/utilities/LocalDateTimeColumnType.html" title="class in net.corda.node.utilities" target="classFrame">LocalDateTimeColumnType</a></li>
|
||||
<li><a href="net/corda/core/utilities/LoggingKt.html" title="class in net.corda.core.utilities" target="classFrame">LoggingKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/LoggingWhitelist.html" title="class in net.corda.core.serialization" target="classFrame">LoggingWhitelist</a></li>
|
||||
<li><a href="net/corda/core/serialization/LoggingWhitelist.Companion.html" title="class in net.corda.core.serialization" target="classFrame">LoggingWhitelist.Companion</a></li>
|
||||
<li><a href="net/corda/core/utilities/LogHelper.html" title="class in net.corda.core.utilities" target="classFrame">LogHelper</a></li>
|
||||
<li><a href="net/corda/core/node/services/MapChange.Added.html" title="class in net.corda.core.node.services" target="classFrame">MapChange.Added</a></li>
|
||||
<li><a href="net/corda/core/node/services/MapChange.Modified.html" title="class in net.corda.core.node.services" target="classFrame">MapChange.Modified</a></li>
|
||||
@ -521,6 +511,7 @@
|
||||
<li><a href="net/corda/contracts/testing/MoveGenerator.html" title="class in net.corda.contracts.testing" target="classFrame">MoveGenerator</a></li>
|
||||
<li><a href="net/corda/contracts/clause/MultilateralNetState.html" title="class in net.corda.contracts.clause" target="classFrame">MultilateralNetState</a></li>
|
||||
<li><a href="net/corda/core/contracts/MultilateralNettableState.html" title="interface in net.corda.core.contracts" target="classFrame"><span class="interfaceName">MultilateralNettableState</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/MutableClassWhitelist.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">MutableClassWhitelist</span></a></li>
|
||||
<li><a href="net/corda/node/utilities/MutableClock.html" title="class in net.corda.node.utilities" target="classFrame">MutableClock</a></li>
|
||||
<li><a href="net/corda/core/contracts/NamedByHash.html" title="interface in net.corda.core.contracts" target="classFrame"><span class="interfaceName">NamedByHash</span></a></li>
|
||||
<li><a href="net/corda/contracts/clause/NetClause.html" title="class in net.corda.contracts.clause" target="classFrame">NetClause</a></li>
|
||||
@ -603,7 +594,6 @@
|
||||
<li><a href="net/corda/contracts/clause/NoZeroSizedOutputs.html" title="class in net.corda.contracts.clause" target="classFrame">NoZeroSizedOutputs</a></li>
|
||||
<li><a href="net/corda/core/crypto/NullPublicKey.html" title="class in net.corda.core.crypto" target="classFrame">NullPublicKey</a></li>
|
||||
<li><a href="net/corda/core/crypto/NullSignature.html" title="class in net.corda.core.crypto" target="classFrame">NullSignature</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/ObjectMapperConfig.html" title="class in net.corda.node.webserver.servlets" target="classFrame">ObjectMapperConfig</a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.html" title="class in net.corda.contracts.asset" target="classFrame">Obligation</a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.Clauses.html" title="interface in net.corda.contracts.asset" target="classFrame"><span class="interfaceName">Obligation.Clauses</span></a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.Commands.html" title="interface in net.corda.contracts.asset" target="classFrame"><span class="interfaceName">Obligation.Commands</span></a></li>
|
||||
@ -687,7 +677,6 @@
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.html" title="class in net.corda.flows" target="classFrame">ResolveTransactionsFlow</a></li>
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.Companion.html" title="class in net.corda.flows" target="classFrame">ResolveTransactionsFlow.Companion</a></li>
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.ExcessivelyLargeTransactionGraph.html" title="class in net.corda.flows" target="classFrame">ResolveTransactionsFlow.ExcessivelyLargeTransactionGraph</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/ResponseFilter.html" title="class in net.corda.node.webserver.servlets" target="classFrame">ResponseFilter</a></li>
|
||||
<li><a href="net/corda/core/RetryableException.html" title="class in net.corda.core" target="classFrame">RetryableException</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/RPCDispatcher.html" title="class in net.corda.node.services.messaging" target="classFrame">RPCDispatcher</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/RPCException.html" title="class in net.corda.node.services.messaging" target="classFrame">RPCException</a></li>
|
||||
@ -719,6 +708,7 @@
|
||||
<li><a href="net/corda/node/services/statemachine/SendAndReceive.html" title="class in net.corda.node.services.statemachine" target="classFrame">SendAndReceive</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/SendOnly.html" title="class in net.corda.node.services.statemachine" target="classFrame">SendOnly</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/SendRequest.html" title="interface in net.corda.node.services.statemachine" target="classFrame"><span class="interfaceName">SendRequest</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializationCustomization.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">SerializationCustomization</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializationToken.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">SerializationToken</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializeAsToken.html" title="interface in net.corda.core.serialization" target="classFrame"><span class="interfaceName">SerializeAsToken</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializeAsTokenContext.html" title="class in net.corda.core.serialization" target="classFrame">SerializeAsTokenContext</a></li>
|
||||
@ -742,6 +732,7 @@
|
||||
<li><a href="net/corda/core/node/services/ServiceInfoKt.html" title="class in net.corda.core.node.services" target="classFrame">ServiceInfoKt</a></li>
|
||||
<li><a href="net/corda/flows/ServiceRequestMessage.html" title="interface in net.corda.flows" target="classFrame"><span class="interfaceName">ServiceRequestMessage</span></a></li>
|
||||
<li><a href="net/corda/flows/ServiceRequestMessageKt.html" title="class in net.corda.flows" target="classFrame">ServiceRequestMessageKt</a></li>
|
||||
<li><a href="net/corda/core/node/ServicesForResolution.html" title="interface in net.corda.core.node" target="classFrame"><span class="interfaceName">ServicesForResolution</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/ServicesKt.html" title="class in net.corda.core.node.services" target="classFrame">ServicesKt</a></li>
|
||||
<li><a href="net/corda/core/node/services/ServiceType.html" title="class in net.corda.core.node.services" target="classFrame">ServiceType</a></li>
|
||||
<li><a href="net/corda/core/node/services/ServiceType.Companion.html" title="class in net.corda.core.node.services" target="classFrame">ServiceType.Companion</a></li>
|
||||
@ -790,10 +781,6 @@
|
||||
<li><a href="net/corda/core/schemas/requery/converters/StateRefConverter.html" title="class in net.corda.core.schemas.requery.converters" target="classFrame">StateRefConverter</a></li>
|
||||
<li><a href="net/corda/core/testing/StateRefGenerator.html" title="class in net.corda.core.testing" target="classFrame">StateRefGenerator</a></li>
|
||||
<li><a href="net/corda/flows/StateReplacementException.html" title="class in net.corda.flows" target="classFrame">StateReplacementException</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.html" title="interface in net.corda.node.webserver.api" target="classFrame"><span class="interfaceName">StatesQuery</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Companion.html" title="class in net.corda.node.webserver.api" target="classFrame">StatesQuery.Companion</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Criteria.html" title="interface in net.corda.node.webserver.api" target="classFrame"><span class="interfaceName">StatesQuery.Criteria</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Selection.html" title="class in net.corda.node.webserver.api" target="classFrame">StatesQuery.Selection</a></li>
|
||||
<li><a href="net/corda/core/node/services/StorageService.html" title="interface in net.corda.core.node.services" target="classFrame"><span class="interfaceName">StorageService</span></a></li>
|
||||
<li><a href="net/corda/node/services/persistence/StorageServiceImpl.html" title="class in net.corda.node.services.persistence" target="classFrame">StorageServiceImpl</a></li>
|
||||
<li><a href="net/corda/node/utilities/StrandLocalTransactionManager.html" title="class in net.corda.node.utilities" target="classFrame">StrandLocalTransactionManager</a></li>
|
||||
@ -900,7 +887,6 @@
|
||||
<li><a href="net/corda/node/services/messaging/VerifyingNettyConnectorFactory.html" title="class in net.corda.node.services.messaging" target="classFrame">VerifyingNettyConnectorFactory</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/WaitForLedgerCommit.html" title="class in net.corda.node.services.statemachine" target="classFrame">WaitForLedgerCommit</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/WaitingRequest.html" title="interface in net.corda.node.services.statemachine" target="classFrame"><span class="interfaceName">WaitingRequest</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/WebServer.html" title="class in net.corda.node.webserver" target="classFrame">WebServer</a></li>
|
||||
<li><a href="net/corda/contracts/testing/WiredTransactionGenerator.html" title="class in net.corda.contracts.testing" target="classFrame">WiredTransactionGenerator</a></li>
|
||||
<li><a href="net/corda/node/services/network/WireNodeRegistration.html" title="class in net.corda.node.services.network" target="classFrame">WireNodeRegistration</a></li>
|
||||
<li><a href="net/corda/core/transactions/WireTransaction.html" title="class in net.corda.core.transactions" target="classFrame">WireTransaction</a></li>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:29 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:27 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>All Classes</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="script.js"></script>
|
||||
</head>
|
||||
@ -44,6 +44,7 @@
|
||||
<li><a href="net/corda/core/contracts/clauses/AllComposition.html" title="class in net.corda.core.contracts.clauses">AllComposition</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AllOf.html" title="class in net.corda.core.contracts.clauses">AllOf</a></li>
|
||||
<li><a href="net/corda/core/messaging/AllPossibleRecipients.html" title="interface in net.corda.core.messaging"><span class="interfaceName">AllPossibleRecipients</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/AllWhitelist.html" title="class in net.corda.core.serialization">AllWhitelist</a></li>
|
||||
<li><a href="net/corda/core/contracts/Amount.html" title="class in net.corda.core.contracts">Amount</a></li>
|
||||
<li><a href="net/corda/core/contracts/Amount.Companion.html" title="class in net.corda.core.contracts">Amount.Companion</a></li>
|
||||
<li><a href="net/corda/client/fxutils/AmountBindings.html" title="class in net.corda.client.fxutils">AmountBindings</a></li>
|
||||
@ -54,8 +55,6 @@
|
||||
<li><a href="net/corda/node/utilities/ANSIProgressRenderer.html" title="class in net.corda.node.utilities">ANSIProgressRenderer</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AnyComposition.html" title="class in net.corda.core.contracts.clauses">AnyComposition</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/AnyOf.html" title="class in net.corda.core.contracts.clauses">AnyOf</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/APIServer.html" title="interface in net.corda.node.webserver.api"><span class="interfaceName">APIServer</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/internal/APIServerImpl.html" title="class in net.corda.node.webserver.internal">APIServerImpl</a></li>
|
||||
<li><a href="net/corda/core/utilities/ApiUtils.html" title="class in net.corda.core.utilities">ApiUtils</a></li>
|
||||
<li><a href="net/corda/core/flows/AppContext.html" title="class in net.corda.core.flows">AppContext</a></li>
|
||||
<li><a href="net/corda/node/ArgsParser.html" title="class in net.corda.node">ArgsParser</a></li>
|
||||
@ -72,10 +71,10 @@
|
||||
<li><a href="net/corda/client/fxutils/AssociatedList.html" title="class in net.corda.client.fxutils">AssociatedList</a></li>
|
||||
<li><a href="net/corda/core/contracts/Attachment.html" title="interface in net.corda.core.contracts"><span class="interfaceName">Attachment</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/Attachment.DefaultImpls.html" title="class in net.corda.core.contracts">Attachment.DefaultImpls</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/AttachmentDownloadServlet.html" title="class in net.corda.node.webserver.servlets">AttachmentDownloadServlet</a></li>
|
||||
<li><a href="net/corda/core/contracts/AttachmentResolutionException.html" title="class in net.corda.core.contracts">AttachmentResolutionException</a></li>
|
||||
<li><a href="net/corda/core/node/AttachmentsClassLoader.html" title="class in net.corda.core.node">AttachmentsClassLoader</a></li>
|
||||
<li><a href="net/corda/core/node/AttachmentsClassLoader.OverlappingAttachments.html" title="class in net.corda.core.node">AttachmentsClassLoader.OverlappingAttachments</a></li>
|
||||
<li><a href="net/corda/core/node/services/AttachmentsStorageService.html" title="interface in net.corda.core.node.services"><span class="interfaceName">AttachmentsStorageService</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/AttachmentStorage.html" title="interface in net.corda.core.node.services"><span class="interfaceName">AttachmentStorage</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/AuthenticatedObject.html" title="class in net.corda.core.contracts">AuthenticatedObject</a></li>
|
||||
<li><a href="net/corda/core/transactions/BaseTransaction.html" title="class in net.corda.core.transactions">BaseTransaction</a></li>
|
||||
@ -89,6 +88,7 @@
|
||||
<li><a href="net/corda/core/contracts/BilateralNettableState.html" title="interface in net.corda.core.contracts"><span class="interfaceName">BilateralNettableState</span></a></li>
|
||||
<li><a href="net/corda/flows/BroadcastTransactionFlow.html" title="class in net.corda.flows">BroadcastTransactionFlow</a></li>
|
||||
<li><a href="net/corda/flows/BroadcastTransactionFlow.NotifyTxRequest.html" title="class in net.corda.flows">BroadcastTransactionFlow.NotifyTxRequest</a></li>
|
||||
<li><a href="net/corda/core/serialization/BuiltInExceptionsWhitelist.html" title="class in net.corda.core.serialization">BuiltInExceptionsWhitelist</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.html" title="class in net.corda.core.contracts">BusinessCalendar</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.Companion.html" title="class in net.corda.core.contracts">BusinessCalendar.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/BusinessCalendar.UnknownCalendar.html" title="class in net.corda.core.contracts">BusinessCalendar.UnknownCalendar</a></li>
|
||||
@ -126,6 +126,7 @@
|
||||
<li><a href="net/corda/client/fxutils/ChosenList.html" title="class in net.corda.client.fxutils">ChosenList</a></li>
|
||||
<li><a href="net/corda/core/node/CityDatabase.html" title="class in net.corda.core.node">CityDatabase</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/ClassSerializer.html" title="class in net.corda.node.services.messaging">ClassSerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/ClassWhitelist.html" title="interface in net.corda.core.serialization"><span class="interfaceName">ClassWhitelist</span></a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/Clause.html" title="class in net.corda.core.contracts.clauses">Clause</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/Clause.Companion.html" title="class in net.corda.core.contracts.clauses">Clause.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/ClauseKt.html" title="class in net.corda.core.contracts.clauses">ClauseKt</a></li>
|
||||
@ -265,6 +266,10 @@
|
||||
<li><a href="net/corda/flows/ContractUpgradeFlow.Acceptor.html" title="class in net.corda.flows">ContractUpgradeFlow.Acceptor</a></li>
|
||||
<li><a href="net/corda/flows/ContractUpgradeFlow.Instigator.html" title="class in net.corda.flows">ContractUpgradeFlow.Instigator</a></li>
|
||||
<li><a href="net/corda/node/Corda.html" title="class in net.corda.node">Corda</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolver.html" title="class in net.corda.core.serialization">CordaClassResolver</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolver.Companion.html" title="class in net.corda.core.serialization">CordaClassResolver.Companion</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaClassResolverKt.html" title="class in net.corda.core.serialization">CordaClassResolverKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaKryo.html" title="class in net.corda.core.serialization">CordaKryo</a></li>
|
||||
<li><a href="net/corda/core/node/CordaPluginRegistry.html" title="class in net.corda.core.node">CordaPluginRegistry</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/CordaRPCClient.html" title="class in net.corda.node.services.messaging">CordaRPCClient</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/CordaRPCClientImpl.html" title="class in net.corda.node.services.messaging">CordaRPCClientImpl</a></li>
|
||||
@ -273,15 +278,13 @@
|
||||
<li><a href="net/corda/node/internal/CordaRPCOpsImpl.html" title="class in net.corda.node.internal">CordaRPCOpsImpl</a></li>
|
||||
<li><a href="net/corda/node/internal/CordaRPCOpsImpl.Companion.html" title="class in net.corda.node.internal">CordaRPCOpsImpl.Companion</a></li>
|
||||
<li><a href="net/corda/core/messaging/CordaRPCOpsKt.html" title="class in net.corda.core.messaging">CordaRPCOpsKt</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/Criteria.AllDeals.html" title="class in net.corda.node.webserver.api">Criteria.AllDeals</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/Criteria.Deal.html" title="class in net.corda.node.webserver.api">Criteria.Deal</a></li>
|
||||
<li><a href="net/corda/core/serialization/CordaSerializable.html" title="interface in net.corda.core.serialization"><span class="interfaceName">CordaSerializable</span></a></li>
|
||||
<li><a href="net/corda/core/crypto/CryptoUtilities.html" title="class in net.corda.core.crypto">CryptoUtilities</a></li>
|
||||
<li><a href="net/corda/core/math/CubicSplineInterpolator.html" title="class in net.corda.core.math">CubicSplineInterpolator</a></li>
|
||||
<li><a href="net/corda/core/math/CubicSplineInterpolator.Factory.html" title="class in net.corda.core.math">CubicSplineInterpolator.Factory</a></li>
|
||||
<li><a href="net/corda/core/testing/CurrencyGenerator.html" title="class in net.corda.core.testing">CurrencyGenerator</a></li>
|
||||
<li><a href="net/corda/core/testing/CurrencyGenerator.Companion.html" title="class in net.corda.core.testing">CurrencyGenerator.Companion</a></li>
|
||||
<li><a href="net/corda/node/utilities/DatabaseSupportKt.html" title="class in net.corda.node.utilities">DatabaseSupportKt</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/DataUploadServlet.html" title="class in net.corda.node.webserver.servlets">DataUploadServlet</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.html" title="class in net.corda.node.services.persistence">DataVending</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.Plugin.html" title="class in net.corda.node.services.persistence">DataVending.Plugin</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DataVending.Service.html" title="class in net.corda.node.services.persistence">DataVending.Service</a></li>
|
||||
@ -298,6 +301,8 @@
|
||||
<li><a href="net/corda/node/services/persistence/DBTransactionMappingStorage.html" title="class in net.corda.node.services.persistence">DBTransactionMappingStorage</a></li>
|
||||
<li><a href="net/corda/node/services/persistence/DBTransactionStorage.html" title="class in net.corda.node.services.persistence">DBTransactionStorage</a></li>
|
||||
<li><a href="net/corda/core/contracts/DealState.html" title="interface in net.corda.core.contracts"><span class="interfaceName">DealState</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/DefaultKryoCustomizer.html" title="class in net.corda.core.serialization">DefaultKryoCustomizer</a></li>
|
||||
<li><a href="net/corda/node/serialization/DefaultWhitelist.html" title="class in net.corda.node.serialization">DefaultWhitelist</a></li>
|
||||
<li><a href="net/corda/core/serialization/DeserializeAsKotlinObjectDef.html" title="interface in net.corda.core.serialization"><span class="interfaceName">DeserializeAsKotlinObjectDef</span></a></li>
|
||||
<li><a href="net/corda/client/model/Diff.html" title="class in net.corda.client.model">Diff</a></li>
|
||||
<li><a href="net/corda/core/crypto/DigitalSignature.html" title="class in net.corda.core.crypto">DigitalSignature</a></li>
|
||||
@ -336,6 +341,7 @@
|
||||
<li><a href="net/corda/core/serialization/Ed25519PrivateKeySerializer.html" title="class in net.corda.core.serialization">Ed25519PrivateKeySerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/Ed25519PublicKeySerializer.html" title="class in net.corda.core.serialization">Ed25519PublicKeySerializer</a></li>
|
||||
<li><a href="net/corda/core/utilities/Emoji.html" title="class in net.corda.core.utilities">Emoji</a></li>
|
||||
<li><a href="net/corda/core/serialization/EmptyWhitelist.html" title="class in net.corda.core.serialization">EmptyWhitelist</a></li>
|
||||
<li><a href="net/corda/core/crypto/EncodingUtilsKt.html" title="class in net.corda.core.crypto">EncodingUtilsKt</a></li>
|
||||
<li><a href="net/corda/core/ErrorOr.html" title="class in net.corda.core">ErrorOr</a></li>
|
||||
<li><a href="net/corda/core/ErrorOr.Companion.html" title="class in net.corda.core">ErrorOr.Companion</a></li>
|
||||
@ -409,6 +415,8 @@
|
||||
<li><a href="net/corda/client/mock/GeneratorKt.html" title="class in net.corda.client.mock">GeneratorKt</a></li>
|
||||
<li><a href="net/corda/client/mock/GeneratorsKt.html" title="class in net.corda.client.mock">GeneratorsKt</a></li>
|
||||
<li><a href="net/corda/core/testing/GeneratorsKt.html" title="class in net.corda.core.testing">GeneratorsKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/GlobalTransientClassWhiteList.html" title="class in net.corda.core.serialization">GlobalTransientClassWhiteList</a></li>
|
||||
<li><a href="net/corda/core/serialization/GlobalTransientClassWhiteList.Companion.html" title="class in net.corda.core.serialization">GlobalTransientClassWhiteList.Companion</a></li>
|
||||
<li><a href="net/corda/core/contracts/clauses/GroupClauseVerifier.html" title="class in net.corda.core.contracts.clauses">GroupClauseVerifier</a></li>
|
||||
<li><a href="net/corda/node/services/schema/HibernateObserver.html" title="class in net.corda.node.services.schema">HibernateObserver</a></li>
|
||||
<li><a href="net/corda/node/services/schema/HibernateObserver.Companion.html" title="class in net.corda.node.services.schema">HibernateObserver.Companion</a></li>
|
||||
@ -452,27 +460,6 @@
|
||||
<li><a href="net/corda/node/utilities/JDBCHashMapKt.html" title="class in net.corda.node.utilities">JDBCHashMapKt</a></li>
|
||||
<li><a href="net/corda/node/utilities/JDBCHashSet.html" title="class in net.corda.node.utilities">JDBCHashSet</a></li>
|
||||
<li><a href="net/corda/node/utilities/JDBCHashSet.BlobSetTable.html" title="class in net.corda.node.utilities">JDBCHashSet.BlobSetTable</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.html" title="class in net.corda.node.utilities">JsonSupport</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.AnonymousPartyDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.AnonymousPartyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.AnonymousPartySerializer.html" title="class in net.corda.node.utilities">JsonSupport.AnonymousPartySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CalendarDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.CalendarDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CompositeKeyDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.CompositeKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.CompositeKeySerializer.html" title="class in net.corda.node.utilities">JsonSupport.CompositeKeySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.IdentityObjectMapper.html" title="class in net.corda.node.utilities">JsonSupport.IdentityObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.LocalDateDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.LocalDateDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.LocalDateKeyDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.LocalDateKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NodeInfoDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.NodeInfoDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NodeInfoSerializer.html" title="class in net.corda.node.utilities">JsonSupport.NodeInfoSerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.NoPartyObjectMapper.html" title="class in net.corda.node.utilities">JsonSupport.NoPartyObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartyDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.PartyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartyObjectMapper.html" title="interface in net.corda.node.utilities"><span class="interfaceName">JsonSupport.PartyObjectMapper</span></a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PartySerializer.html" title="class in net.corda.node.utilities">JsonSupport.PartySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PublicKeyDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.PublicKeyDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.PublicKeySerializer.html" title="class in net.corda.node.utilities">JsonSupport.PublicKeySerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.RpcObjectMapper.html" title="class in net.corda.node.utilities">JsonSupport.RpcObjectMapper</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.SecureHashDeserializer.html" title="class in net.corda.node.utilities">JsonSupport.SecureHashDeserializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.SecureHashSerializer.html" title="class in net.corda.node.utilities">JsonSupport.SecureHashSerializer</a></li>
|
||||
<li><a href="net/corda/node/utilities/JsonSupport.ToStringSerializer.html" title="class in net.corda.node.utilities">JsonSupport.ToStringSerializer</a></li>
|
||||
<li><a href="net/corda/core/node/services/KeyManagementService.html" title="interface in net.corda.core.node.services"><span class="interfaceName">KeyManagementService</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/KeyManagementService.DefaultImpls.html" title="class in net.corda.core.node.services">KeyManagementService.DefaultImpls</a></li>
|
||||
<li><a href="net/corda/node/services/database/KotlinConfigurationTransactionWrapper.html" title="class in net.corda.node.services.database">KotlinConfigurationTransactionWrapper</a></li>
|
||||
@ -480,6 +467,7 @@
|
||||
<li><a href="net/corda/node/services/database/KotlinConfigurationTransactionWrapper.CordaDataSourceConnectionProvider.html" title="class in net.corda.node.services.database">KotlinConfigurationTransactionWrapper.CordaDataSourceConnectionProvider</a></li>
|
||||
<li><a href="net/corda/core/serialization/KotlinObjectSerializer.html" title="class in net.corda.core.serialization">KotlinObjectSerializer</a></li>
|
||||
<li><a href="net/corda/core/serialization/KryoKt.html" title="class in net.corda.core.serialization">KryoKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/KryoSerializationCustomization.html" title="class in net.corda.core.serialization">KryoSerializationCustomization</a></li>
|
||||
<li><a href="net/corda/node/services/network/LastAcknowledgeInfo.html" title="class in net.corda.node.services.network">LastAcknowledgeInfo</a></li>
|
||||
<li><a href="net/corda/core/transactions/LedgerTransaction.html" title="class in net.corda.core.transactions">LedgerTransaction</a></li>
|
||||
<li><a href="net/corda/client/fxutils/LeftOuterJoinedMap.html" title="class in net.corda.client.fxutils">LeftOuterJoinedMap</a></li>
|
||||
@ -490,6 +478,8 @@
|
||||
<li><a href="net/corda/node/utilities/LocalDateColumnType.html" title="class in net.corda.node.utilities">LocalDateColumnType</a></li>
|
||||
<li><a href="net/corda/node/utilities/LocalDateTimeColumnType.html" title="class in net.corda.node.utilities">LocalDateTimeColumnType</a></li>
|
||||
<li><a href="net/corda/core/utilities/LoggingKt.html" title="class in net.corda.core.utilities">LoggingKt</a></li>
|
||||
<li><a href="net/corda/core/serialization/LoggingWhitelist.html" title="class in net.corda.core.serialization">LoggingWhitelist</a></li>
|
||||
<li><a href="net/corda/core/serialization/LoggingWhitelist.Companion.html" title="class in net.corda.core.serialization">LoggingWhitelist.Companion</a></li>
|
||||
<li><a href="net/corda/core/utilities/LogHelper.html" title="class in net.corda.core.utilities">LogHelper</a></li>
|
||||
<li><a href="net/corda/core/node/services/MapChange.Added.html" title="class in net.corda.core.node.services">MapChange.Added</a></li>
|
||||
<li><a href="net/corda/core/node/services/MapChange.Modified.html" title="class in net.corda.core.node.services">MapChange.Modified</a></li>
|
||||
@ -521,6 +511,7 @@
|
||||
<li><a href="net/corda/contracts/testing/MoveGenerator.html" title="class in net.corda.contracts.testing">MoveGenerator</a></li>
|
||||
<li><a href="net/corda/contracts/clause/MultilateralNetState.html" title="class in net.corda.contracts.clause">MultilateralNetState</a></li>
|
||||
<li><a href="net/corda/core/contracts/MultilateralNettableState.html" title="interface in net.corda.core.contracts"><span class="interfaceName">MultilateralNettableState</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/MutableClassWhitelist.html" title="interface in net.corda.core.serialization"><span class="interfaceName">MutableClassWhitelist</span></a></li>
|
||||
<li><a href="net/corda/node/utilities/MutableClock.html" title="class in net.corda.node.utilities">MutableClock</a></li>
|
||||
<li><a href="net/corda/core/contracts/NamedByHash.html" title="interface in net.corda.core.contracts"><span class="interfaceName">NamedByHash</span></a></li>
|
||||
<li><a href="net/corda/contracts/clause/NetClause.html" title="class in net.corda.contracts.clause">NetClause</a></li>
|
||||
@ -603,7 +594,6 @@
|
||||
<li><a href="net/corda/contracts/clause/NoZeroSizedOutputs.html" title="class in net.corda.contracts.clause">NoZeroSizedOutputs</a></li>
|
||||
<li><a href="net/corda/core/crypto/NullPublicKey.html" title="class in net.corda.core.crypto">NullPublicKey</a></li>
|
||||
<li><a href="net/corda/core/crypto/NullSignature.html" title="class in net.corda.core.crypto">NullSignature</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/ObjectMapperConfig.html" title="class in net.corda.node.webserver.servlets">ObjectMapperConfig</a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.html" title="class in net.corda.contracts.asset">Obligation</a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.Clauses.html" title="interface in net.corda.contracts.asset"><span class="interfaceName">Obligation.Clauses</span></a></li>
|
||||
<li><a href="net/corda/contracts/asset/Obligation.Commands.html" title="interface in net.corda.contracts.asset"><span class="interfaceName">Obligation.Commands</span></a></li>
|
||||
@ -687,7 +677,6 @@
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.html" title="class in net.corda.flows">ResolveTransactionsFlow</a></li>
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.Companion.html" title="class in net.corda.flows">ResolveTransactionsFlow.Companion</a></li>
|
||||
<li><a href="net/corda/flows/ResolveTransactionsFlow.ExcessivelyLargeTransactionGraph.html" title="class in net.corda.flows">ResolveTransactionsFlow.ExcessivelyLargeTransactionGraph</a></li>
|
||||
<li><a href="net/corda/node/webserver/servlets/ResponseFilter.html" title="class in net.corda.node.webserver.servlets">ResponseFilter</a></li>
|
||||
<li><a href="net/corda/core/RetryableException.html" title="class in net.corda.core">RetryableException</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/RPCDispatcher.html" title="class in net.corda.node.services.messaging">RPCDispatcher</a></li>
|
||||
<li><a href="net/corda/node/services/messaging/RPCException.html" title="class in net.corda.node.services.messaging">RPCException</a></li>
|
||||
@ -719,6 +708,7 @@
|
||||
<li><a href="net/corda/node/services/statemachine/SendAndReceive.html" title="class in net.corda.node.services.statemachine">SendAndReceive</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/SendOnly.html" title="class in net.corda.node.services.statemachine">SendOnly</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/SendRequest.html" title="interface in net.corda.node.services.statemachine"><span class="interfaceName">SendRequest</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializationCustomization.html" title="interface in net.corda.core.serialization"><span class="interfaceName">SerializationCustomization</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializationToken.html" title="interface in net.corda.core.serialization"><span class="interfaceName">SerializationToken</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializeAsToken.html" title="interface in net.corda.core.serialization"><span class="interfaceName">SerializeAsToken</span></a></li>
|
||||
<li><a href="net/corda/core/serialization/SerializeAsTokenContext.html" title="class in net.corda.core.serialization">SerializeAsTokenContext</a></li>
|
||||
@ -742,6 +732,7 @@
|
||||
<li><a href="net/corda/core/node/services/ServiceInfoKt.html" title="class in net.corda.core.node.services">ServiceInfoKt</a></li>
|
||||
<li><a href="net/corda/flows/ServiceRequestMessage.html" title="interface in net.corda.flows"><span class="interfaceName">ServiceRequestMessage</span></a></li>
|
||||
<li><a href="net/corda/flows/ServiceRequestMessageKt.html" title="class in net.corda.flows">ServiceRequestMessageKt</a></li>
|
||||
<li><a href="net/corda/core/node/ServicesForResolution.html" title="interface in net.corda.core.node"><span class="interfaceName">ServicesForResolution</span></a></li>
|
||||
<li><a href="net/corda/core/node/services/ServicesKt.html" title="class in net.corda.core.node.services">ServicesKt</a></li>
|
||||
<li><a href="net/corda/core/node/services/ServiceType.html" title="class in net.corda.core.node.services">ServiceType</a></li>
|
||||
<li><a href="net/corda/core/node/services/ServiceType.Companion.html" title="class in net.corda.core.node.services">ServiceType.Companion</a></li>
|
||||
@ -790,10 +781,6 @@
|
||||
<li><a href="net/corda/core/schemas/requery/converters/StateRefConverter.html" title="class in net.corda.core.schemas.requery.converters">StateRefConverter</a></li>
|
||||
<li><a href="net/corda/core/testing/StateRefGenerator.html" title="class in net.corda.core.testing">StateRefGenerator</a></li>
|
||||
<li><a href="net/corda/flows/StateReplacementException.html" title="class in net.corda.flows">StateReplacementException</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.html" title="interface in net.corda.node.webserver.api"><span class="interfaceName">StatesQuery</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Companion.html" title="class in net.corda.node.webserver.api">StatesQuery.Companion</a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Criteria.html" title="interface in net.corda.node.webserver.api"><span class="interfaceName">StatesQuery.Criteria</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/api/StatesQuery.Selection.html" title="class in net.corda.node.webserver.api">StatesQuery.Selection</a></li>
|
||||
<li><a href="net/corda/core/node/services/StorageService.html" title="interface in net.corda.core.node.services"><span class="interfaceName">StorageService</span></a></li>
|
||||
<li><a href="net/corda/node/services/persistence/StorageServiceImpl.html" title="class in net.corda.node.services.persistence">StorageServiceImpl</a></li>
|
||||
<li><a href="net/corda/node/utilities/StrandLocalTransactionManager.html" title="class in net.corda.node.utilities">StrandLocalTransactionManager</a></li>
|
||||
@ -900,7 +887,6 @@
|
||||
<li><a href="net/corda/node/services/messaging/VerifyingNettyConnectorFactory.html" title="class in net.corda.node.services.messaging">VerifyingNettyConnectorFactory</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/WaitForLedgerCommit.html" title="class in net.corda.node.services.statemachine">WaitForLedgerCommit</a></li>
|
||||
<li><a href="net/corda/node/services/statemachine/WaitingRequest.html" title="interface in net.corda.node.services.statemachine"><span class="interfaceName">WaitingRequest</span></a></li>
|
||||
<li><a href="net/corda/node/webserver/WebServer.html" title="class in net.corda.node.webserver">WebServer</a></li>
|
||||
<li><a href="net/corda/contracts/testing/WiredTransactionGenerator.html" title="class in net.corda.contracts.testing">WiredTransactionGenerator</a></li>
|
||||
<li><a href="net/corda/node/services/network/WireNodeRegistration.html" title="class in net.corda.node.services.network">WireNodeRegistration</a></li>
|
||||
<li><a href="net/corda/core/transactions/WireTransaction.html" title="class in net.corda.core.transactions">WireTransaction</a></li>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:14 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:19 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Constant Field Values</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="script.js"></script>
|
||||
</head>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:28 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:27 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Deprecated List</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="script.js"></script>
|
||||
</head>
|
||||
|
4
docs/build/html/api/javadoc/help-doc.html
vendored
4
docs/build/html/api/javadoc/help-doc.html
vendored
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:29 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:27 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>API Help</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="script.js"></script>
|
||||
</head>
|
||||
|
694
docs/build/html/api/javadoc/index-all.html
vendored
694
docs/build/html/api/javadoc/index-all.html
vendored
File diff suppressed because it is too large
Load Diff
2
docs/build/html/api/javadoc/index.html
vendored
2
docs/build/html/api/javadoc/index.html
vendored
@ -2,7 +2,7 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:29 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:27 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Generated Documentation (Untitled)</title>
|
||||
<script type="text/javascript">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>AggregatedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.AggregatedList class">
|
||||
<meta name="keywords" content="get()">
|
||||
<meta name="keywords" content="getSourceIndex()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>AmountBindings</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.AmountBindings class">
|
||||
<meta name="keywords" content="INSTANCE">
|
||||
<meta name="keywords" content="sum()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>AssociatedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.AssociatedList class">
|
||||
<meta name="keywords" content="getSourceList()">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ChosenList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ChosenList class">
|
||||
<meta name="keywords" content="get()">
|
||||
<meta name="keywords" content="getSize()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ConcatenatedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ConcatenatedList class">
|
||||
<meta name="keywords" content="sourceChanged()">
|
||||
<meta name="keywords" content="getSize()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>FlattenedList.WrappedObservableValue</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.FlattenedList.WrappedObservableValue class">
|
||||
<meta name="keywords" content="getObservableValue()">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>FlattenedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.FlattenedList class">
|
||||
<meta name="keywords" content="getIndexMap()">
|
||||
<meta name="keywords" content="sourceChanged()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LeftOuterJoinedMap</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.LeftOuterJoinedMap class">
|
||||
<meta name="keywords" content="getLeftTable()">
|
||||
<meta name="keywords" content="getRightTable()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:40 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>MapValuesList.Companion</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.MapValuesList.Companion class">
|
||||
<meta name="keywords" content="create()">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>MapValuesList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.MapValuesList class">
|
||||
<meta name="keywords" content="Companion">
|
||||
<meta name="keywords" content="getSourceMap()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>MappedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.MappedList class">
|
||||
<meta name="keywords" content="sourceChanged()">
|
||||
<meta name="keywords" content="get()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ObservableFoldKt</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ObservableFoldKt class">
|
||||
<meta name="keywords" content="foldToObservableValue()">
|
||||
<meta name="keywords" content="fold()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ObservableUtilitiesKt</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ObservableUtilitiesKt class">
|
||||
<meta name="keywords" content="map()">
|
||||
<meta name="keywords" content="lift()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ReadOnlyBackedObservableMapBase</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ReadOnlyBackedObservableMapBase class">
|
||||
<meta name="keywords" content="getBackingMap()">
|
||||
<meta name="keywords" content="fireChange()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ReadOnlyBackedObservableMapBaseKt</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ReadOnlyBackedObservableMapBaseKt class">
|
||||
<meta name="keywords" content="createMapChange()">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:08 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>ReplayedList</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils.ReplayedList class">
|
||||
<meta name="keywords" content="getReplayedList()">
|
||||
<meta name="keywords" content="getSize()">
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:09 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:17 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>net.corda.client.fxutils</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils package">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="../../../../script.js"></script>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:09 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:17 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>net.corda.client.fxutils</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.fxutils package">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="../../../../script.js"></script>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:57:09 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:17 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>net.corda.client.fxutils Class Hierarchy</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<script type="text/javascript" src="../../../../script.js"></script>
|
||||
</head>
|
||||
@ -81,13 +81,13 @@
|
||||
<ul>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/ObservableUtilitiesKt.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">ObservableUtilitiesKt</span></a></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/ConcatenatedList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">ConcatenatedList</span></a><A></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/AggregatedList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">AggregatedList</span></a><A,E,K></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/ReadOnlyBackedObservableMapBase.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">ReadOnlyBackedObservableMapBase</span></a><K,A,B>
|
||||
<ul>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/AssociatedList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">AssociatedList</span></a><K,A,B></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/LeftOuterJoinedMap.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">LeftOuterJoinedMap</span></a><K,A,B,C></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/AggregatedList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">AggregatedList</span></a><A,E,K></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/ReplayedList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">ReplayedList</span></a><A></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/MapValuesList.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">MapValuesList</span></a><K,A,C></li>
|
||||
<li type="circle">net.corda.client.fxutils.<a href="../../../../net/corda/client/fxutils/MapValuesList.Companion.html" title="class in net.corda.client.fxutils"><span class="typeNameLink">MapValuesList.Companion</span></a></li>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_121) on Wed Feb 22 10:56:41 GMT 2017 -->
|
||||
<!-- Generated by javadoc (1.8.0_121) on Thu Mar 02 15:43:09 GMT 2017 -->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>EventGenerator</title>
|
||||
<meta name="date" content="2017-02-22">
|
||||
<meta name="date" content="2017-03-02">
|
||||
<meta name="keywords" content="net.corda.client.mock.EventGenerator class">
|
||||
<meta name="keywords" content="getIssuerGenerator()">
|
||||
<meta name="keywords" content="getCurrencyGenerator()">
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user