diff --git a/docs/build/html/api/alltypes/index.html b/docs/build/html/api/alltypes/index.html new file mode 100644 index 0000000000..3cb9c2ed05 --- /dev/null +++ b/docs/build/html/api/alltypes/index.html @@ -0,0 +1,1501 @@ + + +alltypes - + + + +

All Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+core.utilities.ANSIProgressRenderer +

Knows how to render a ProgressTracker to the terminal using coloured, emoji-fied output. Useful when writing small +command line tools, demos, tests etc. Just set the progressTracker field and it will go ahead and start drawing +if the terminal supports it. Otherwise it just prints out the name of the step whenever it changes.

+
+api.APIServer +

Top level interface to external interaction with the distributed ledger.

+
+api.APIServerImpl +
+core.node.AbstractNode +

A base node implementation that can be customised either for production (with real implementations that do real +I/O), or a mock implementation suitable for unit test environments.

+
+core.node.services.AbstractNodeService +

Abstract superclass for services that a node can host, which provides helper functions.

+
+protocols.AbstractRequestMessage +

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

+
+core.node.AcceptsFileUpload +

A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.

+
+core.AccrualAdjustment +

Simple enum for returning accurals adjusted or unadjusted. +We dont actually do anything with this yet though, so its ignored for now.

+
+core.utilities.AddOrRemove +

Enum for when adding/removing something, for example adding or removing an entry in a directory.

+
+core.utilities.AffinityExecutor +

An extended executor interface that supports thread affinity assertions and short circuiting. This can be useful +for ensuring code runs on the right thread, and also for unit testing.

+
+core.messaging.AllPossibleRecipients +

A special base class for the set of all possible recipients, without having to identify who they all are.

+
+core.Amount +

Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.

+
+core.node.subsystems.ArtemisMessagingService +

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

+
+core.Attachment +

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to +contain public static data which can be referenced from transactions and utilised from contracts. Good examples +of how attachments are meant to be used include:

+
+core.node.servlets.AttachmentDownloadServlet +

Allows the node administrator to either download full attachment zips, or individual files within those zips.

+
+core.node.services.AttachmentStorage +

An attachment store records potentially large binary objects, identified by their hash. Note that attachments are +immutable and can never be erased once inserted

+
+core.node.AttachmentsClassLoader +

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only +need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an +AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping +file paths.

+
+core.AuthenticatedObject +

Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.

+
+demos.protocols.AutoOfferProtocol +

This whole class is really part of a demo just to initiate the agreement of a deal with a simple +API call from a single party without bi-directional access to the database of offers etc.

+
+core.utilities.BriefLogFormatter +

A Java logging formatter that writes more compact output than the default.

+
+core.BusinessCalendar +

A business calendar performs date calculations that take into account national holidays and weekends. This is a +typical feature of financial contracts, in which a business may not want a payment event to fall on a day when +no staff are around to handle problems.

+
+kotlin.ByteArray (extensions in package core.crypto) +
+kotlin.ByteArray (extensions in package core.serialization) +
+contracts.Cash +

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

+
+core.node.CityDatabase +

A simple lookup table of city names to their coordinates. Lookups are case insensitive.

+
+core.Command +

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

+
+core.CommandData +

Marker interface for classes that represent commands

+
+contracts.CommercialPaper +
+api.Config +

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work +and to organise serializers / deserializers for java.time.* classes as necessary

+
+core.node.ConfigurationException +
+core.Contract +

Implemented by a program that implements business logic on the shared ledger. All participants run this code for +every LedgerTransaction they see on the network, for every input and output state. All contracts must accept the +transaction for it to be accepted: failure of any aborts the entire thing. The time is taken from a trusted +timestamp attached to the transaction itself i.e. it is NOT necessarily the current time.

+
+api.ContractClassRef +
+api.ContractDefRef +

Encapsulates the contract type. e.g. Cash or CommercialPaper etc.

+
+api.ContractLedgerRef +
+core.ContractState +

A contract state (or just "state") contains opaque data used by a contract program. It can be thought of as a disk +file that the program can use to persist data across transactions. States are immutable: once created they are never +updated, instead, any changes must generate a new successor state.

+
+contracts.CrowdFund +

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+
+core.math.CubicSplineInterpolator +

Interpolates values between the given data points using a SplineFunction.

+
+core.node.servlets.DataUploadServlet +

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

+
+core.node.subsystems.DataVendingService +

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+
+core.DateOffset +

Date offset that the fixing is done prior to the accrual start date. +Currently not used in the calculation.

+
+core.DateRollConvention +

This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day +Depending on the accounting requirement, we can move forward until we get to a business day, or backwards +There are some additional rules which are explained in the individual cases below

+
+core.DateRollDirection +

This is utilised in the DateRollConvention class to determine which way we should initially step when +finding a business day

+
+core.DayCountBasisDay +

This forms the day part of the "Day Count Basis" used for interest calculation. +Note that the first character cannot be a number (enum naming constraints), so we drop that +in the toString lest some people get confused.

+
+core.DayCountBasisYear +

This forms the year part of the "Day Count Basis" used for interest calculation.

+
+contracts.DealState +

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies +implementation of general protocols that manipulate many agreement types.

+
+demos.DemoClock +

A Clock that can have the date advanced for use in demos

+
+core.crypto.DigitalSignature +

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

+
+kotlin.Double (extensions in package core) +
+contracts.DummyContract +
+core.crypto.DummyPublicKey +
+core.node.services.DummyTimestampingAuthority +
+core.node.subsystems.E2ETestKeyManagementService +

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+
+core.utilities.Emoji +

A simple wrapper class that contains icons and support for printing them only when were connected to a terminal.

+
+contracts.Event +

Event superclass - everything happens on a date.

+
+demos.protocols.ExitServerProtocol +
+core.Expression +

Represents a textual expression of e.g. a formula

+
+core.ExpressionDeserializer +
+core.ExpressionSerializer +
+protocols.FetchAttachmentsProtocol +

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+protocols.FetchDataProtocol +

An abstract protocol for fetching typed data from a remote peer.

+
+protocols.FetchTransactionsProtocol +

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+
+core.Fix +

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+core.FixOf +

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

+
+contracts.FixableDealState +

Interface adding fixing specific methods

+
+contracts.FixedRate +

A very basic subclass to represent a fixed rate.

+
+contracts.FixedRatePaymentEvent +

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+contracts.FloatingRate +

The parent class of the Floating rate classes

+
+contracts.FloatingRatePaymentEvent +

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+core.Frequency +

Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year +that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

+
+core.testing.IRSSimulation +

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+core.node.services.IdentityService +

An identity service maintains an bidirectional map of Partys to their associated public keys and thus supports +lookup of a party given its key. This is obviously very incomplete and does not reflect everything a real identity +service would provide.

+
+core.serialization.ImmutableClassSerializer +

Serializes properties and deserializes by using the constructor. This assumes that all backed properties are +set via the constructor and the class is immutable.

+
+core.node.subsystems.InMemoryIdentityService +

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+core.testing.InMemoryMessagingNetwork +

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each +InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches +messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which +case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit +testing).

+
+core.node.subsystems.InMemoryNetworkMapCache +

Extremely simple in-memory cache of the network map.

+
+core.node.services.InMemoryNetworkMapService +
+contracts.InsufficientBalanceException +
+kotlin.Int (extensions in package core) +
+kotlin.Int (extensions in package contracts) +
+contracts.InterestRateSwap +

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+api.InterestRateSwapAPI +

This provides a simplified API, currently for demonstration use only.

+
+core.math.Interpolator +
+core.math.InterpolatorFactory +
+kotlin.collections.Iterable (extensions in package core) +
+kotlin.collections.Iterable (extensions in package contracts) +
+core.utilities.JsonSupport +

Utilities and serialisers for working with JSON representations of basic types. This adds Jackson support for +the java.time API, some core types, and Kotlin data classes.

+
+core.node.subsystems.KeyManagementService +

The KMS is responsible for storing and using private keys to sign things. An implementation of this may, for example, +call out to a hardware security module that enforces various auditing and frequency-of-use requirements.

+
+java.security.KeyPair (extensions in package core.crypto) +
+core.LedgerTransaction +

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

+
+core.math.LinearInterpolator +

Interpolates values between the given data points using straight lines

+
+core.LinearState +

A state that evolves by superseding itself, all of which share the common "thread"

+
+kotlin.collections.List (extensions in package core) +
+java.time.LocalDate (extensions in package core) +
+kotlin.Long (extensions in package core) +
+core.messaging.Message +

A message is defined, at this level, to be a (topic, timestamp, byte arrays) triple, where the topic is a string in +Java-style reverse dns form, with "platform." being a prefix reserved by the platform for its own use. Vendor +specific messages can be defined, but use your domain name as the prefix e.g. "uk.co.bigbank.messages.SomeMessage".

+
+core.messaging.MessageHandlerRegistration +
+core.messaging.MessageRecipientGroup +

A base class for a set of recipients specifically identified by the sender.

+
+core.messaging.MessageRecipients +

The interface for a group of message recipients (which may contain only one recipient)

+
+core.messaging.MessagingService +

A MessagingService sits at the boundary between a message routing / networking layer and the core platform code.

+
+core.messaging.MessagingServiceBuilder +

This class lets you start up a MessagingService. Its purpose is to stop you from getting access to the methods +on the messaging service interface until you have successfully started up the system. One of these objects should +be the only way to obtain a reference to a MessagingService. Startup may be a slow process: some implementations +may let you cast the returned future to an object that lets you get status info.

+
+core.serialization.MissingAttachmentsException +

Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found

+
+core.testing.MockIdentityService +

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+core.testing.MockNetwork +

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. +Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.

+
+core.testing.MockNetworkMapCache +

Network map cache with no backing map service.

+
+core.node.subsystems.MonitoringService +

Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. +This is not an interface because it is too lightweight to bother mocking out.

+
+core.NamedByHash +

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

+
+core.node.subsystems.NetworkCacheError +
+core.node.subsystems.NetworkMapCache +

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. The cache wraps around a map fetched +from an authoritative service, and adds easy lookup of the data stored within it. Generally it would be initialised +with a specified network map service, which it fetches data from and then subscribes to updates of.

+
+core.node.services.NetworkMapService +

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. This information is cached locally within +nodes, by the NetworkMapCache. Currently very basic consensus controls are applied, using signed changes which +replace each other based on a serial number present in the change.

+
+core.node.Node +

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+
+core.node.services.NodeAttachmentService +

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+core.node.NodeConfiguration +
+core.node.NodeConfigurationFromConfig +
+core.node.NodeInfo +

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

+
+core.node.services.NodeInterestRates +

An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest +rate fix (e.g. LIBOR, EURIBOR ...).

+
+core.node.services.NodeMapError +
+core.node.services.NodeRegistration +

A node registration state in the network map.

+
+core.node.services.NodeTimestamperService +

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+
+core.node.subsystems.NodeWalletService +

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+core.crypto.NullPublicKey +
+core.serialization.OpaqueBytes +

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. +In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such +functionality to Java, but it wont arrive for a few years yet

+
+core.OwnableState +
+core.Party +

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

+
+core.PartyReference +

Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal +ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.

+
+java.nio.file.Path (extensions in package core) +
+contracts.PaymentEvent +

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+core.PaymentRule +

Whether the payment should be made before the due date, or after it.

+
+contracts.PercentageRatioUnit +

A class to reprecent a percentage in an unambiguous way.

+
+core.node.PhysicalLocation +

A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. +Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.

+
+core.math.Polynomial +

Represents a polynomial function of arbitrary degree

+
+java.security.PrivateKey (extensions in package core.crypto) +
+core.utilities.ProgressTracker +

A progress tracker helps surface information about the progress of an operation to a user interface or API of some +kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically +a singleton).

+
+api.ProtocolClassRef +
+api.ProtocolInstanceRef +
+core.protocols.ProtocolLogic +

A sub-class of ProtocolLogic implements a protocol flow using direct, straight line blocking code. Thus you +can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after +a node crash, how many instances of your protocol there are running and so on.

+
+api.ProtocolRef +

Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.

+
+api.ProtocolRequiringAttention +

Thinking that Instant is OK for short lived protocol deadlines.

+
+core.protocols.ProtocolStateMachine +

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

+
+java.security.PublicKey (extensions in package core.crypto) +
+contracts.Rate +

Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc

+
+contracts.RatePaymentEvent +

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+protocols.RatesFixProtocol +

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+
+contracts.RatioUnit +

A utility class to prevent the various mixups between percentages, decimals, bips etc.

+
+core.utilities.RecordingMap +

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

+
+contracts.ReferenceRate +

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+core.node.services.RegulatorService +

Placeholder interface for regulator services.

+
+core.Requirements +
+protocols.ResolveTransactionsProtocol +

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

+
+api.ResponseFilter +

This adds headers needed for cross site scripting on API clients

+
+core.crypto.SecureHash +
+core.serialization.SerializedBytes +

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+core.serialization.SerializedBytesSerializer +

A serialiser that avoids writing the wrapper class to the byte stream, thus ensuring SerializedBytes is a pure +type safety hack.

+
+core.node.ServiceHub +

A service hub simply vends references to the other services a node has. Some of those services may be missing or +mocked out. This class is useful to pass to chunks of pluggable code that might have need of many different kinds of +functionality and you dont want to hard-code which types in the interface.

+
+core.node.services.ServiceType +

Identifier for service types a node can expose over the network to other peers. These types are placed into network +map advertisements. Services that are purely local and are not providing functionality to other parts of the network +dont need a declared service type.

+
+core.crypto.SignedData +

A serialized piece of data and its signature. Enforces signature validity in order to deserialize the data +contained within.

+
+core.SignedTransaction +

Container for a WireTransaction and attached signatures.

+
+core.testing.Simulation +

Base class for network simulations that are based on the unit test / mock environment.

+
+core.messaging.SingleMessageRecipient +

A base class for the case of point-to-point messages

+
+core.math.SplineFunction +

A spline is function piecewise-defined by polynomial functions. +Points at which polynomial pieces connect are known as knots.

+
+core.messaging.StackSnapshot +
+core.StateAndRef +

A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.

+
+core.messaging.StateMachineManager +

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

+
+core.StateRef +

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

+
+api.StatesQuery +

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

+
+core.node.subsystems.StorageService +

A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like +transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or +anything like that, this interface is only big enough to support the prototyping work.

+
+core.node.subsystems.StorageServiceImpl +
+kotlin.String (extensions in package core) +
+kotlin.String (extensions in package contracts) +
+java.time.temporal.Temporal (extensions in package core) +
+core.Tenor +

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

+
+core.ThreadBox +

A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state. +Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only +instance to the ThreadBox constructor. You can now use the locked method with a lambda to take the lock in a +way that ensures itll be released if theres an exception.

+
+core.TimestampCommand +

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+core.node.services.TimestamperService +

Simple interface (for testing) to an abstract timestamping service. Note that this is not "timestamping" in the +blockchain sense of a total ordering of transactions, but rather, a signature from a well known/trusted timestamping +service over a transaction that indicates the timestamp in it is accurate. Such a signature may not always be +necessary: if there are multiple parties involved in a transaction then they can cross-check the timestamp +themselves.

+
+core.node.services.TimestampingError +
+protocols.TimestampingProtocol +

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+
+core.messaging.TopicStringValidator +

A singleton thats useful for validating topic strings

+
+core.testing.TradeSimulation +

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+demos.TraderDemoProtocolBuyer +
+demos.TraderDemoProtocolSeller +
+api.TransactionBuildStep +

Encapsulate a generateXXX method call on a contract.

+
+core.TransactionBuilder +

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is +intended to be passed around contracts that may edit it by adding new states/commands or modifying the existing set. +Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from +multiple parties.

+
+core.TransactionConflictException +
+core.TransactionForVerification +

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

+
+core.TransactionGraphSearch +

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from +the starting point down in order to find transactions that match the given query criteria.

+
+core.TransactionGroup +

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

+
+core.TransactionResolutionException +
+core.TransactionVerificationException +

Thrown if a verification fails due to a contract rejection.

+
+core.TransientProperty +

A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property +will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be +used to set it up. Note that the initializer will be called with the TransientProperty object locked.

+
+protocols.TwoPartyDealProtocol +

Classes for manipulating a two party deal or agreement.

+
+protocols.TwoPartyTradeProtocol +

This asset trading protocol implements a "delivery vs payment" type swap. It has two parties (B and S for buyer +and seller) and the following steps:

+
+core.TypeOnlyCommandData +

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+contracts.UnknownType +
+core.utilities.UntrustworthyData +

A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from +a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked +first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:

+
+demos.protocols.UpdateBusinessDayProtocol +

This is a very temporary, demo-oriented way of initiating processing of temporal events and is not +intended as the way things will necessarily be done longer term

+
+core.node.subsystems.Wallet +

A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, +because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to +change out from underneath you, even though the canonical currently-best-known wallet may change as we learn +about new transactions from our peers and generate new transactions that consume states ourselves.

+
+core.node.subsystems.WalletService +

A WalletService is responsible for securely and safely persisting the current state of a wallet to storage. The +wallet service vends immutable snapshots of the current wallet for working with: if you build a transaction based +on a wallet that isnt current, be aware that it may end up being invalid if the states that were used have been +consumed by someone else first

+
+core.node.services.WireNodeRegistration +

A node registration and its signature as a pair.

+
+core.WireTransaction +

Transaction ready for serialisation, without any signatures attached.

+
+core.serialization.WireTransactionSerializer +

A serialisation engine that knows how to deserialise code inside a sandbox

+
+core.node.WorldCoordinate +

A latitude/longitude pair.

+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/-init-.html b/docs/build/html/api/api/-a-p-i-server-impl/-init-.html new file mode 100644 index 0000000000..18200d6124 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/-init-.html @@ -0,0 +1,14 @@ + + +APIServerImpl.<init> - + + + +api / APIServerImpl / <init>
+
+

<init>

+APIServerImpl(node: AbstractNode)
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/build-transaction.html b/docs/build/html/api/api/-a-p-i-server-impl/build-transaction.html new file mode 100644 index 0000000000..6f618d718c --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/build-transaction.html @@ -0,0 +1,19 @@ + + +APIServerImpl.buildTransaction - + + + +api / APIServerImpl / buildTransaction
+
+

buildTransaction

+ +fun buildTransaction(type: ContractDefRef, steps: List<TransactionBuildStep>): SerializedBytes<WireTransaction>
+Overrides APIServer.buildTransaction
+

TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder +and a common contract type (e.g. Cash or CommercialPaper) +which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/commit-transaction.html b/docs/build/html/api/api/-a-p-i-server-impl/commit-transaction.html new file mode 100644 index 0000000000..bc016ec96e --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/commit-transaction.html @@ -0,0 +1,18 @@ + + +APIServerImpl.commitTransaction - + + + +api / APIServerImpl / commitTransaction
+
+

commitTransaction

+ +fun commitTransaction(tx: SerializedBytes<WireTransaction>, signatures: List<WithKey>): SecureHash
+Overrides APIServer.commitTransaction
+

Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be +successful, otherwise exception is thrown.

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/fetch-protocols-requiring-attention.html b/docs/build/html/api/api/-a-p-i-server-impl/fetch-protocols-requiring-attention.html new file mode 100644 index 0000000000..8452c98810 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/fetch-protocols-requiring-attention.html @@ -0,0 +1,17 @@ + + +APIServerImpl.fetchProtocolsRequiringAttention - + + + +api / APIServerImpl / fetchProtocolsRequiringAttention
+
+

fetchProtocolsRequiringAttention

+ +fun fetchProtocolsRequiringAttention(query: StatesQuery): Map<StateRef, ProtocolRequiringAttention>
+Overrides APIServer.fetchProtocolsRequiringAttention
+

Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/fetch-states.html b/docs/build/html/api/api/-a-p-i-server-impl/fetch-states.html new file mode 100644 index 0000000000..1b5a977dab --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/fetch-states.html @@ -0,0 +1,16 @@ + + +APIServerImpl.fetchStates - + + + +api / APIServerImpl / fetchStates
+
+

fetchStates

+ +fun fetchStates(states: List<StateRef>): Map<StateRef, ContractState?>
+Overrides APIServer.fetchStates
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/fetch-transactions.html b/docs/build/html/api/api/-a-p-i-server-impl/fetch-transactions.html new file mode 100644 index 0000000000..86e05fb7c8 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/fetch-transactions.html @@ -0,0 +1,22 @@ + + +APIServerImpl.fetchTransactions - + + + +api / APIServerImpl / fetchTransactions
+
+

fetchTransactions

+ +fun fetchTransactions(txs: List<SecureHash>): Map<SecureHash, SignedTransaction?>
+Overrides APIServer.fetchTransactions
+

Query for immutable transactions (results can be cached indefinitely by their id/hash).

+

Parameters

+ +txs - The hashes (from StateRef.txhash returned from queryStates) you would like full transactions for.
+Return
+null values indicate missing transactions from the requested list.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/generate-transaction-signature.html b/docs/build/html/api/api/-a-p-i-server-impl/generate-transaction-signature.html new file mode 100644 index 0000000000..c24ed027ab --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/generate-transaction-signature.html @@ -0,0 +1,17 @@ + + +APIServerImpl.generateTransactionSignature - + + + +api / APIServerImpl / generateTransactionSignature
+
+

generateTransactionSignature

+ +fun generateTransactionSignature(tx: SerializedBytes<WireTransaction>): WithKey
+Overrides APIServer.generateTransactionSignature
+

Generate a signature for this transaction signed by us.

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/index.html b/docs/build/html/api/api/-a-p-i-server-impl/index.html new file mode 100644 index 0000000000..3b254c4a0b --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/index.html @@ -0,0 +1,115 @@ + + +APIServerImpl - + + + +api / APIServerImpl
+
+

APIServerImpl

+class APIServerImpl : APIServer
+
+
+

Constructors

+ + + + + + + +
+<init> +APIServerImpl(node: AbstractNode)
+

Properties

+ + + + + + + +
+node +val node: AbstractNode
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+buildTransaction +fun buildTransaction(type: ContractDefRef, steps: List<TransactionBuildStep>): SerializedBytes<WireTransaction>

TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder +and a common contract type (e.g. Cash or CommercialPaper) +which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).

+
+commitTransaction +fun commitTransaction(tx: SerializedBytes<WireTransaction>, signatures: List<WithKey>): SecureHash

Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be +successful, otherwise exception is thrown.

+
+fetchProtocolsRequiringAttention +fun fetchProtocolsRequiringAttention(query: StatesQuery): Map<StateRef, ProtocolRequiringAttention>

Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).

+
+fetchStates +fun fetchStates(states: List<StateRef>): Map<StateRef, ContractState?>
+fetchTransactions +fun fetchTransactions(txs: List<SecureHash>): Map<SecureHash, SignedTransaction?>

Query for immutable transactions (results can be cached indefinitely by their id/hash).

+
+generateTransactionSignature +fun generateTransactionSignature(tx: SerializedBytes<WireTransaction>): WithKey

Generate a signature for this transaction signed by us.

+
+invokeProtocolSync +fun invokeProtocolSync(type: ProtocolRef, args: Map<String, Any?>): Any?

This method would not return until the protocol is finished (hence the "Sync").

+
+provideProtocolResponse +fun provideProtocolResponse(protocol: ProtocolInstanceRef, choice: SecureHash, args: Map<String, Any?>): Unit

Provide the response that a protocol is waiting for.

+
+queryStates +fun queryStates(query: StatesQuery): List<StateRef>

Query your "local" states (containing only outputs involving you) and return the hashes & indexes associated with them +to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them +to avoid calling fetchLedgerTransactions() many times.

+
+serverTime +fun serverTime(): LocalDateTime

Report current UTC time as understood by the platform.

+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/invoke-protocol-sync.html b/docs/build/html/api/api/-a-p-i-server-impl/invoke-protocol-sync.html new file mode 100644 index 0000000000..d3f58a6cc5 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/invoke-protocol-sync.html @@ -0,0 +1,22 @@ + + +APIServerImpl.invokeProtocolSync - + + + +api / APIServerImpl / invokeProtocolSync
+
+

invokeProtocolSync

+ +fun invokeProtocolSync(type: ProtocolRef, args: Map<String, Any?>): Any?
+Overrides APIServer.invokeProtocolSync
+

This method would not return until the protocol is finished (hence the "Sync").

+

Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and +would appear on some kind of event message that is broadcast informing of progress.

+

Will throw exception if protocol fails.

+
+
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/node.html b/docs/build/html/api/api/-a-p-i-server-impl/node.html new file mode 100644 index 0000000000..fd0b8bb8e4 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/node.html @@ -0,0 +1,15 @@ + + +APIServerImpl.node - + + + +api / APIServerImpl / node
+
+

node

+ +val node: AbstractNode
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/provide-protocol-response.html b/docs/build/html/api/api/-a-p-i-server-impl/provide-protocol-response.html new file mode 100644 index 0000000000..6c84da1fec --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/provide-protocol-response.html @@ -0,0 +1,29 @@ + + +APIServerImpl.provideProtocolResponse - + + + +api / APIServerImpl / provideProtocolResponse
+
+

provideProtocolResponse

+ +fun provideProtocolResponse(protocol: ProtocolInstanceRef, choice: SecureHash, args: Map<String, Any?>): Unit
+Overrides APIServer.provideProtocolResponse
+

Provide the response that a protocol is waiting for.

+

Parameters

+ +protocol - Should refer to a previously supplied ProtocolRequiringAttention.
+
+ +stepId - Which step of the protocol are we referring too.
+
+ +choice - Should be one of the choices presented in the ProtocolRequiringAttention.
+
+ +args - Any arguments required.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/query-states.html b/docs/build/html/api/api/-a-p-i-server-impl/query-states.html new file mode 100644 index 0000000000..8d93e87fea --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/query-states.html @@ -0,0 +1,24 @@ + + +APIServerImpl.queryStates - + + + +api / APIServerImpl / queryStates
+
+

queryStates

+ +fun queryStates(query: StatesQuery): List<StateRef>
+Overrides APIServer.queryStates
+

Query your "local" states (containing only outputs involving you) and return the hashes & indexes associated with them +to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them +to avoid calling fetchLedgerTransactions() many times.

+

Parameters

+ +query - Some "where clause" like expression.
+Return
+Zero or more matching States.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server-impl/server-time.html b/docs/build/html/api/api/-a-p-i-server-impl/server-time.html new file mode 100644 index 0000000000..099e9cbe06 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server-impl/server-time.html @@ -0,0 +1,17 @@ + + +APIServerImpl.serverTime - + + + +api / APIServerImpl / serverTime
+
+

serverTime

+ +fun serverTime(): LocalDateTime
+Overrides APIServer.serverTime
+

Report current UTC time as understood by the platform.

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/build-transaction.html b/docs/build/html/api/api/-a-p-i-server/build-transaction.html new file mode 100644 index 0000000000..3cb2a6b51b --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/build-transaction.html @@ -0,0 +1,18 @@ + + +APIServer.buildTransaction - + + + +api / APIServer / buildTransaction
+
+

buildTransaction

+ +abstract fun buildTransaction(type: ContractDefRef, steps: List<TransactionBuildStep>): SerializedBytes<WireTransaction>
+

TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder +and a common contract type (e.g. Cash or CommercialPaper) +which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/commit-transaction.html b/docs/build/html/api/api/-a-p-i-server/commit-transaction.html new file mode 100644 index 0000000000..4c2ebf9684 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/commit-transaction.html @@ -0,0 +1,17 @@ + + +APIServer.commitTransaction - + + + +api / APIServer / commitTransaction
+
+

commitTransaction

+ +abstract fun commitTransaction(tx: SerializedBytes<WireTransaction>, signatures: List<WithKey>): SecureHash
+

Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be +successful, otherwise exception is thrown.

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/fetch-protocols-requiring-attention.html b/docs/build/html/api/api/-a-p-i-server/fetch-protocols-requiring-attention.html new file mode 100644 index 0000000000..a38070a0a4 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/fetch-protocols-requiring-attention.html @@ -0,0 +1,16 @@ + + +APIServer.fetchProtocolsRequiringAttention - + + + +api / APIServer / fetchProtocolsRequiringAttention
+
+

fetchProtocolsRequiringAttention

+ +abstract fun fetchProtocolsRequiringAttention(query: StatesQuery): Map<StateRef, ProtocolRequiringAttention>
+

Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/fetch-states.html b/docs/build/html/api/api/-a-p-i-server/fetch-states.html new file mode 100644 index 0000000000..df4ee4df0b --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/fetch-states.html @@ -0,0 +1,15 @@ + + +APIServer.fetchStates - + + + +api / APIServer / fetchStates
+
+

fetchStates

+ +abstract fun fetchStates(states: List<StateRef>): Map<StateRef, ContractState?>
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/fetch-transactions.html b/docs/build/html/api/api/-a-p-i-server/fetch-transactions.html new file mode 100644 index 0000000000..1baf67b5e0 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/fetch-transactions.html @@ -0,0 +1,21 @@ + + +APIServer.fetchTransactions - + + + +api / APIServer / fetchTransactions
+
+

fetchTransactions

+ +abstract fun fetchTransactions(txs: List<SecureHash>): Map<SecureHash, SignedTransaction?>
+

Query for immutable transactions (results can be cached indefinitely by their id/hash).

+

Parameters

+ +txs - The hashes (from StateRef.txhash returned from queryStates) you would like full transactions for.
+Return
+null values indicate missing transactions from the requested list.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/generate-transaction-signature.html b/docs/build/html/api/api/-a-p-i-server/generate-transaction-signature.html new file mode 100644 index 0000000000..6ac63292c4 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/generate-transaction-signature.html @@ -0,0 +1,16 @@ + + +APIServer.generateTransactionSignature - + + + +api / APIServer / generateTransactionSignature
+
+

generateTransactionSignature

+ +abstract fun generateTransactionSignature(tx: SerializedBytes<WireTransaction>): WithKey
+

Generate a signature for this transaction signed by us.

+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/index.html b/docs/build/html/api/api/-a-p-i-server/index.html new file mode 100644 index 0000000000..44806903f5 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/index.html @@ -0,0 +1,109 @@ + + +APIServer - + + + +api / APIServer
+
+

APIServer

+interface APIServer
+

Top level interface to external interaction with the distributed ledger.

+

Wherever a list is returned by a fetchXXX method that corresponds with an input list, that output list will have optional elements +where a null indicates "missing" and the elements returned will be in the order corresponding with the input list.

+
+
+
+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+buildTransaction +abstract fun buildTransaction(type: ContractDefRef, steps: List<TransactionBuildStep>): SerializedBytes<WireTransaction>

TransactionBuildSteps would be invocations of contract.generateXXX() methods that all share a common TransactionBuilder +and a common contract type (e.g. Cash or CommercialPaper) +which would automatically be passed as the first argument (wed need that to be a criteria/pattern of the generateXXX methods).

+
+commitTransaction +abstract fun commitTransaction(tx: SerializedBytes<WireTransaction>, signatures: List<WithKey>): SecureHash

Attempt to commit transaction (returned from build transaction) with the necessary signatures for that to be +successful, otherwise exception is thrown.

+
+fetchProtocolsRequiringAttention +abstract fun fetchProtocolsRequiringAttention(query: StatesQuery): Map<StateRef, ProtocolRequiringAttention>

Fetch protocols that require a response to some prompt/question by a human (on the "bank" side).

+
+fetchStates +abstract fun fetchStates(states: List<StateRef>): Map<StateRef, ContractState?>
+fetchTransactions +abstract fun fetchTransactions(txs: List<SecureHash>): Map<SecureHash, SignedTransaction?>

Query for immutable transactions (results can be cached indefinitely by their id/hash).

+
+generateTransactionSignature +abstract fun generateTransactionSignature(tx: SerializedBytes<WireTransaction>): WithKey

Generate a signature for this transaction signed by us.

+
+invokeProtocolSync +abstract fun invokeProtocolSync(type: ProtocolRef, args: Map<String, Any?>): Any?

This method would not return until the protocol is finished (hence the "Sync").

+
+provideProtocolResponse +abstract fun provideProtocolResponse(protocol: ProtocolInstanceRef, choice: SecureHash, args: Map<String, Any?>): Unit

Provide the response that a protocol is waiting for.

+
+queryStates +abstract fun queryStates(query: StatesQuery): List<StateRef>

Query your "local" states (containing only outputs involving you) and return the hashes & indexes associated with them +to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them +to avoid calling fetchLedgerTransactions() many times.

+
+serverTime +abstract fun serverTime(): LocalDateTime

Report current UTC time as understood by the platform.

+
+

Inheritors

+ + + + + + + +
+APIServerImpl +class APIServerImpl : APIServer
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/invoke-protocol-sync.html b/docs/build/html/api/api/-a-p-i-server/invoke-protocol-sync.html new file mode 100644 index 0000000000..d37bd9927e --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/invoke-protocol-sync.html @@ -0,0 +1,21 @@ + + +APIServer.invokeProtocolSync - + + + +api / APIServer / invokeProtocolSync
+
+

invokeProtocolSync

+ +abstract fun invokeProtocolSync(type: ProtocolRef, args: Map<String, Any?>): Any?
+

This method would not return until the protocol is finished (hence the "Sync").

+

Longer term wed add an Async version that returns some kind of ProtocolInvocationRef that could be queried and +would appear on some kind of event message that is broadcast informing of progress.

+

Will throw exception if protocol fails.

+
+
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/provide-protocol-response.html b/docs/build/html/api/api/-a-p-i-server/provide-protocol-response.html new file mode 100644 index 0000000000..6e08f6af48 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/provide-protocol-response.html @@ -0,0 +1,28 @@ + + +APIServer.provideProtocolResponse - + + + +api / APIServer / provideProtocolResponse
+
+

provideProtocolResponse

+ +abstract fun provideProtocolResponse(protocol: ProtocolInstanceRef, choice: SecureHash, args: Map<String, Any?>): Unit
+

Provide the response that a protocol is waiting for.

+

Parameters

+ +protocol - Should refer to a previously supplied ProtocolRequiringAttention.
+
+ +stepId - Which step of the protocol are we referring too.
+
+ +choice - Should be one of the choices presented in the ProtocolRequiringAttention.
+
+ +args - Any arguments required.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/query-states.html b/docs/build/html/api/api/-a-p-i-server/query-states.html new file mode 100644 index 0000000000..8fc6dbb852 --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/query-states.html @@ -0,0 +1,23 @@ + + +APIServer.queryStates - + + + +api / APIServer / queryStates
+
+

queryStates

+ +abstract fun queryStates(query: StatesQuery): List<StateRef>
+

Query your "local" states (containing only outputs involving you) and return the hashes & indexes associated with them +to probably be later inflated by fetchLedgerTransactions() or fetchStates() although because immutable you can cache them +to avoid calling fetchLedgerTransactions() many times.

+

Parameters

+ +query - Some "where clause" like expression.
+Return
+Zero or more matching States.
+
+
+ + diff --git a/docs/build/html/api/api/-a-p-i-server/server-time.html b/docs/build/html/api/api/-a-p-i-server/server-time.html new file mode 100644 index 0000000000..09584b876a --- /dev/null +++ b/docs/build/html/api/api/-a-p-i-server/server-time.html @@ -0,0 +1,16 @@ + + +APIServer.serverTime - + + + +api / APIServer / serverTime
+
+

serverTime

+ +abstract fun serverTime(): LocalDateTime
+

Report current UTC time as understood by the platform.

+
+
+ + diff --git a/docs/build/html/api/api/-config/-init-.html b/docs/build/html/api/api/-config/-init-.html new file mode 100644 index 0000000000..95d3a0bb7d --- /dev/null +++ b/docs/build/html/api/api/-config/-init-.html @@ -0,0 +1,16 @@ + + +Config.<init> - + + + +api / Config / <init>
+
+

<init>

+Config(services: ServiceHub)
+

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work +and to organise serializers / deserializers for java.time.* classes as necessary

+
+
+ + diff --git a/docs/build/html/api/api/-config/default-object-mapper.html b/docs/build/html/api/api/-config/default-object-mapper.html new file mode 100644 index 0000000000..6dff95e89c --- /dev/null +++ b/docs/build/html/api/api/-config/default-object-mapper.html @@ -0,0 +1,15 @@ + + +Config.defaultObjectMapper - + + + +api / Config / defaultObjectMapper
+
+

defaultObjectMapper

+ +val defaultObjectMapper: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-config/get-context.html b/docs/build/html/api/api/-config/get-context.html new file mode 100644 index 0000000000..c2d2459cf3 --- /dev/null +++ b/docs/build/html/api/api/-config/get-context.html @@ -0,0 +1,15 @@ + + +Config.getContext - + + + +api / Config / getContext
+
+

getContext

+ +fun getContext(type: Class<*>): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-config/index.html b/docs/build/html/api/api/-config/index.html new file mode 100644 index 0000000000..4971ab9066 --- /dev/null +++ b/docs/build/html/api/api/-config/index.html @@ -0,0 +1,57 @@ + + +Config - + + + +api / Config
+
+

Config

+class Config
+

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work +and to organise serializers / deserializers for java.time.* classes as necessary

+
+
+

Constructors

+ + + + + + + +
+<init> +Config(services: ServiceHub)

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work +and to organise serializers / deserializers for java.time.* classes as necessary

+
+

Properties

+ + + + + + + + + + + +
+defaultObjectMapper +val defaultObjectMapper: <ERROR CLASS>
+services +val services: ServiceHub
+

Functions

+ + + + + + + +
+getContext +fun getContext(type: Class<*>): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/api/-config/services.html b/docs/build/html/api/api/-config/services.html new file mode 100644 index 0000000000..d688ab751e --- /dev/null +++ b/docs/build/html/api/api/-config/services.html @@ -0,0 +1,15 @@ + + +Config.services - + + + +api / Config / services
+
+

services

+ +val services: ServiceHub
+
+
+ + diff --git a/docs/build/html/api/api/-contract-class-ref/-init-.html b/docs/build/html/api/api/-contract-class-ref/-init-.html new file mode 100644 index 0000000000..2df8964c48 --- /dev/null +++ b/docs/build/html/api/api/-contract-class-ref/-init-.html @@ -0,0 +1,14 @@ + + +ContractClassRef.<init> - + + + +api / ContractClassRef / <init>
+
+

<init>

+ContractClassRef(className: String)
+
+
+ + diff --git a/docs/build/html/api/api/-contract-class-ref/class-name.html b/docs/build/html/api/api/-contract-class-ref/class-name.html new file mode 100644 index 0000000000..53d56fa9d6 --- /dev/null +++ b/docs/build/html/api/api/-contract-class-ref/class-name.html @@ -0,0 +1,15 @@ + + +ContractClassRef.className - + + + +api / ContractClassRef / className
+
+

className

+ +val className: String
+
+
+ + diff --git a/docs/build/html/api/api/-contract-class-ref/index.html b/docs/build/html/api/api/-contract-class-ref/index.html new file mode 100644 index 0000000000..e7da9791c9 --- /dev/null +++ b/docs/build/html/api/api/-contract-class-ref/index.html @@ -0,0 +1,36 @@ + + +ContractClassRef - + + + +api / ContractClassRef
+
+

ContractClassRef

+data class ContractClassRef : ContractDefRef
+
+
+

Constructors

+ + + + + + + +
+<init> +ContractClassRef(className: String)
+

Properties

+ + + + + + + +
+className +val className: String
+ + diff --git a/docs/build/html/api/api/-contract-def-ref.html b/docs/build/html/api/api/-contract-def-ref.html new file mode 100644 index 0000000000..fe2e395882 --- /dev/null +++ b/docs/build/html/api/api/-contract-def-ref.html @@ -0,0 +1,32 @@ + + +ContractDefRef - + + + +api / ContractDefRef
+
+

ContractDefRef

+interface ContractDefRef
+

Encapsulates the contract type. e.g. Cash or CommercialPaper etc.

+
+
+

Inheritors

+ + + + + + + + + + + +
+ContractClassRef +data class ContractClassRef : ContractDefRef
+ContractLedgerRef +data class ContractLedgerRef : ContractDefRef
+ + diff --git a/docs/build/html/api/api/-contract-ledger-ref/-init-.html b/docs/build/html/api/api/-contract-ledger-ref/-init-.html new file mode 100644 index 0000000000..2075740aa8 --- /dev/null +++ b/docs/build/html/api/api/-contract-ledger-ref/-init-.html @@ -0,0 +1,14 @@ + + +ContractLedgerRef.<init> - + + + +api / ContractLedgerRef / <init>
+
+

<init>

+ContractLedgerRef(hash: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/api/-contract-ledger-ref/hash.html b/docs/build/html/api/api/-contract-ledger-ref/hash.html new file mode 100644 index 0000000000..6a448997a9 --- /dev/null +++ b/docs/build/html/api/api/-contract-ledger-ref/hash.html @@ -0,0 +1,15 @@ + + +ContractLedgerRef.hash - + + + +api / ContractLedgerRef / hash
+
+

hash

+ +val hash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/api/-contract-ledger-ref/index.html b/docs/build/html/api/api/-contract-ledger-ref/index.html new file mode 100644 index 0000000000..ee67aad865 --- /dev/null +++ b/docs/build/html/api/api/-contract-ledger-ref/index.html @@ -0,0 +1,36 @@ + + +ContractLedgerRef - + + + +api / ContractLedgerRef
+
+

ContractLedgerRef

+data class ContractLedgerRef : ContractDefRef
+
+
+

Constructors

+ + + + + + + +
+<init> +ContractLedgerRef(hash: SecureHash)
+

Properties

+ + + + + + + +
+hash +val hash: SecureHash
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/-init-.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/-init-.html new file mode 100644 index 0000000000..7aaf61b4d0 --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/-init-.html @@ -0,0 +1,28 @@ + + +InterestRateSwapAPI.<init> - + + + +api / InterestRateSwapAPI / <init>
+
+

<init>

+InterestRateSwapAPI(api: APIServer)
+

This provides a simplified API, currently for demonstration use only.

+

It provides several JSON REST calls as follows:

+

GET /api/irs/deals - returns an array of all deals tracked by the wallet of this node. +GET /api/irs/deals/{ref} - return the deal referenced by the externally provided refence that was previously uploaded. +POST /api/irs/deals - Payload is a JSON formatted InterestRateSwap.State create a new deal (includes an externally provided reference for use above).

+

TODO: where we currently refer to singular external deal reference, of course this could easily be multiple identifiers e.g. CUSIP, ISIN.

+

GET /api/irs/demodate - return the current date as viewed by the system in YYYY-MM-DD format. +PUT /api/irs/demodate - put date in format YYYY-MM-DD to advance the current date as viewed by the system and +simulate any associated business processing (currently fixing).

+

TODO: replace simulated date advancement with business event based implementation

+

PUT /api/irs/restart - (empty payload) cause the node to restart for API user emergency use in case any servers become unresponsive, +or if the demodate or population of deals should be reset (will only work while persistence is disabled).

+
+
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/api.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/api.html new file mode 100644 index 0000000000..fa9d276c8e --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/api.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.api - + + + +api / InterestRateSwapAPI / api
+
+

api

+ +val api: APIServer
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/exit-server.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/exit-server.html new file mode 100644 index 0000000000..cb773d4cb6 --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/exit-server.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.exitServer - + + + +api / InterestRateSwapAPI / exitServer
+
+

exitServer

+ +fun exitServer(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deal.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deal.html new file mode 100644 index 0000000000..1bf670142f --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deal.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.fetchDeal - + + + +api / InterestRateSwapAPI / fetchDeal
+
+

fetchDeal

+ +fun fetchDeal(ref: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deals.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deals.html new file mode 100644 index 0000000000..3bca847540 --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-deals.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.fetchDeals - + + + +api / InterestRateSwapAPI / fetchDeals
+
+

fetchDeals

+ +fun fetchDeals(): Array<State>
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-demo-date.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-demo-date.html new file mode 100644 index 0000000000..6d7355de69 --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/fetch-demo-date.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.fetchDemoDate - + + + +api / InterestRateSwapAPI / fetchDemoDate
+
+

fetchDemoDate

+ +fun fetchDemoDate(): LocalDate
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/index.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/index.html new file mode 100644 index 0000000000..c6cca419db --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/index.html @@ -0,0 +1,92 @@ + + +InterestRateSwapAPI - + + + +api / InterestRateSwapAPI
+
+

InterestRateSwapAPI

+class InterestRateSwapAPI
+

This provides a simplified API, currently for demonstration use only.

+

It provides several JSON REST calls as follows:

+

GET /api/irs/deals - returns an array of all deals tracked by the wallet of this node. +GET /api/irs/deals/{ref} - return the deal referenced by the externally provided refence that was previously uploaded. +POST /api/irs/deals - Payload is a JSON formatted InterestRateSwap.State create a new deal (includes an externally provided reference for use above).

+

TODO: where we currently refer to singular external deal reference, of course this could easily be multiple identifiers e.g. CUSIP, ISIN.

+

GET /api/irs/demodate - return the current date as viewed by the system in YYYY-MM-DD format. +PUT /api/irs/demodate - put date in format YYYY-MM-DD to advance the current date as viewed by the system and +simulate any associated business processing (currently fixing).

+

TODO: replace simulated date advancement with business event based implementation

+

PUT /api/irs/restart - (empty payload) cause the node to restart for API user emergency use in case any servers become unresponsive, +or if the demodate or population of deals should be reset (will only work while persistence is disabled).

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +InterestRateSwapAPI(api: APIServer)

This provides a simplified API, currently for demonstration use only.

+
+

Properties

+ + + + + + + +
+api +val api: APIServer
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+exitServer +fun exitServer(): <ERROR CLASS>
+fetchDeal +fun fetchDeal(ref: String): <ERROR CLASS>
+fetchDeals +fun fetchDeals(): Array<State>
+fetchDemoDate +fun fetchDemoDate(): LocalDate
+storeDeal +fun storeDeal(newDeal: State): <ERROR CLASS>
+storeDemoDate +fun storeDemoDate(newDemoDate: LocalDate): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-deal.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-deal.html new file mode 100644 index 0000000000..faa85a14fb --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-deal.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.storeDeal - + + + +api / InterestRateSwapAPI / storeDeal
+
+

storeDeal

+ +fun storeDeal(newDeal: State): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-demo-date.html b/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-demo-date.html new file mode 100644 index 0000000000..8dc58c2e72 --- /dev/null +++ b/docs/build/html/api/api/-interest-rate-swap-a-p-i/store-demo-date.html @@ -0,0 +1,15 @@ + + +InterestRateSwapAPI.storeDemoDate - + + + +api / InterestRateSwapAPI / storeDemoDate
+
+

storeDemoDate

+ +fun storeDemoDate(newDemoDate: LocalDate): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-class-ref/-init-.html b/docs/build/html/api/api/-protocol-class-ref/-init-.html new file mode 100644 index 0000000000..32f874d3ab --- /dev/null +++ b/docs/build/html/api/api/-protocol-class-ref/-init-.html @@ -0,0 +1,14 @@ + + +ProtocolClassRef.<init> - + + + +api / ProtocolClassRef / <init>
+
+

<init>

+ProtocolClassRef(className: String)
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-class-ref/class-name.html b/docs/build/html/api/api/-protocol-class-ref/class-name.html new file mode 100644 index 0000000000..3e58beb5d7 --- /dev/null +++ b/docs/build/html/api/api/-protocol-class-ref/class-name.html @@ -0,0 +1,15 @@ + + +ProtocolClassRef.className - + + + +api / ProtocolClassRef / className
+
+

className

+ +val className: String
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-class-ref/index.html b/docs/build/html/api/api/-protocol-class-ref/index.html new file mode 100644 index 0000000000..ecb0ab82f4 --- /dev/null +++ b/docs/build/html/api/api/-protocol-class-ref/index.html @@ -0,0 +1,36 @@ + + +ProtocolClassRef - + + + +api / ProtocolClassRef
+
+

ProtocolClassRef

+data class ProtocolClassRef : ProtocolRef
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolClassRef(className: String)
+

Properties

+ + + + + + + +
+className +val className: String
+ + diff --git a/docs/build/html/api/api/-protocol-instance-ref/-init-.html b/docs/build/html/api/api/-protocol-instance-ref/-init-.html new file mode 100644 index 0000000000..cb0b9892ce --- /dev/null +++ b/docs/build/html/api/api/-protocol-instance-ref/-init-.html @@ -0,0 +1,14 @@ + + +ProtocolInstanceRef.<init> - + + + +api / ProtocolInstanceRef / <init>
+
+

<init>

+ProtocolInstanceRef(protocolInstance: SecureHash, protocolClass: ProtocolClassRef, protocolStepId: String)
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-instance-ref/index.html b/docs/build/html/api/api/-protocol-instance-ref/index.html new file mode 100644 index 0000000000..f3177805e7 --- /dev/null +++ b/docs/build/html/api/api/-protocol-instance-ref/index.html @@ -0,0 +1,48 @@ + + +ProtocolInstanceRef - + + + +api / ProtocolInstanceRef
+
+

ProtocolInstanceRef

+data class ProtocolInstanceRef
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolInstanceRef(protocolInstance: SecureHash, protocolClass: ProtocolClassRef, protocolStepId: String)
+

Properties

+ + + + + + + + + + + + + + + +
+protocolClass +val protocolClass: ProtocolClassRef
+protocolInstance +val protocolInstance: SecureHash
+protocolStepId +val protocolStepId: String
+ + diff --git a/docs/build/html/api/api/-protocol-instance-ref/protocol-class.html b/docs/build/html/api/api/-protocol-instance-ref/protocol-class.html new file mode 100644 index 0000000000..c47de895b5 --- /dev/null +++ b/docs/build/html/api/api/-protocol-instance-ref/protocol-class.html @@ -0,0 +1,15 @@ + + +ProtocolInstanceRef.protocolClass - + + + +api / ProtocolInstanceRef / protocolClass
+
+

protocolClass

+ +val protocolClass: ProtocolClassRef
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-instance-ref/protocol-instance.html b/docs/build/html/api/api/-protocol-instance-ref/protocol-instance.html new file mode 100644 index 0000000000..472e56b261 --- /dev/null +++ b/docs/build/html/api/api/-protocol-instance-ref/protocol-instance.html @@ -0,0 +1,15 @@ + + +ProtocolInstanceRef.protocolInstance - + + + +api / ProtocolInstanceRef / protocolInstance
+
+

protocolInstance

+ +val protocolInstance: SecureHash
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-instance-ref/protocol-step-id.html b/docs/build/html/api/api/-protocol-instance-ref/protocol-step-id.html new file mode 100644 index 0000000000..959d10ab08 --- /dev/null +++ b/docs/build/html/api/api/-protocol-instance-ref/protocol-step-id.html @@ -0,0 +1,15 @@ + + +ProtocolInstanceRef.protocolStepId - + + + +api / ProtocolInstanceRef / protocolStepId
+
+

protocolStepId

+ +val protocolStepId: String
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-ref.html b/docs/build/html/api/api/-protocol-ref.html new file mode 100644 index 0000000000..cd1f894115 --- /dev/null +++ b/docs/build/html/api/api/-protocol-ref.html @@ -0,0 +1,26 @@ + + +ProtocolRef - + + + +api / ProtocolRef
+
+

ProtocolRef

+interface ProtocolRef
+

Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.

+
+
+

Inheritors

+ + + + + + + +
+ProtocolClassRef +data class ProtocolClassRef : ProtocolRef
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/-init-.html b/docs/build/html/api/api/-protocol-requiring-attention/-init-.html new file mode 100644 index 0000000000..3d8da22d91 --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/-init-.html @@ -0,0 +1,15 @@ + + +ProtocolRequiringAttention.<init> - + + + +api / ProtocolRequiringAttention / <init>
+
+

<init>

+ProtocolRequiringAttention(ref: ProtocolInstanceRef, prompt: String, choiceIdsToMessages: Map<SecureHash, String>, dueBy: Instant)
+

Thinking that Instant is OK for short lived protocol deadlines.

+
+
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/choice-ids-to-messages.html b/docs/build/html/api/api/-protocol-requiring-attention/choice-ids-to-messages.html new file mode 100644 index 0000000000..720fa2c4f1 --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/choice-ids-to-messages.html @@ -0,0 +1,15 @@ + + +ProtocolRequiringAttention.choiceIdsToMessages - + + + +api / ProtocolRequiringAttention / choiceIdsToMessages
+
+

choiceIdsToMessages

+ +val choiceIdsToMessages: Map<SecureHash, String>
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/due-by.html b/docs/build/html/api/api/-protocol-requiring-attention/due-by.html new file mode 100644 index 0000000000..214ed6c59a --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/due-by.html @@ -0,0 +1,15 @@ + + +ProtocolRequiringAttention.dueBy - + + + +api / ProtocolRequiringAttention / dueBy
+
+

dueBy

+ +val dueBy: Instant
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/index.html b/docs/build/html/api/api/-protocol-requiring-attention/index.html new file mode 100644 index 0000000000..4fb7655c0a --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/index.html @@ -0,0 +1,56 @@ + + +ProtocolRequiringAttention - + + + +api / ProtocolRequiringAttention
+
+

ProtocolRequiringAttention

+data class ProtocolRequiringAttention
+

Thinking that Instant is OK for short lived protocol deadlines.

+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolRequiringAttention(ref: ProtocolInstanceRef, prompt: String, choiceIdsToMessages: Map<SecureHash, String>, dueBy: Instant)

Thinking that Instant is OK for short lived protocol deadlines.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+choiceIdsToMessages +val choiceIdsToMessages: Map<SecureHash, String>
+dueBy +val dueBy: Instant
+prompt +val prompt: String
+ref +val ref: ProtocolInstanceRef
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/prompt.html b/docs/build/html/api/api/-protocol-requiring-attention/prompt.html new file mode 100644 index 0000000000..5cd67e63ee --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/prompt.html @@ -0,0 +1,15 @@ + + +ProtocolRequiringAttention.prompt - + + + +api / ProtocolRequiringAttention / prompt
+
+

prompt

+ +val prompt: String
+
+
+ + diff --git a/docs/build/html/api/api/-protocol-requiring-attention/ref.html b/docs/build/html/api/api/-protocol-requiring-attention/ref.html new file mode 100644 index 0000000000..e7cb929d50 --- /dev/null +++ b/docs/build/html/api/api/-protocol-requiring-attention/ref.html @@ -0,0 +1,15 @@ + + +ProtocolRequiringAttention.ref - + + + +api / ProtocolRequiringAttention / ref
+
+

ref

+ +val ref: ProtocolInstanceRef
+
+
+ + diff --git a/docs/build/html/api/api/-response-filter/-init-.html b/docs/build/html/api/api/-response-filter/-init-.html new file mode 100644 index 0000000000..e7c5e0bc94 --- /dev/null +++ b/docs/build/html/api/api/-response-filter/-init-.html @@ -0,0 +1,15 @@ + + +ResponseFilter.<init> - + + + +api / ResponseFilter / <init>
+
+

<init>

+ResponseFilter()
+

This adds headers needed for cross site scripting on API clients

+
+
+ + diff --git a/docs/build/html/api/api/-response-filter/filter.html b/docs/build/html/api/api/-response-filter/filter.html new file mode 100644 index 0000000000..dd9f898179 --- /dev/null +++ b/docs/build/html/api/api/-response-filter/filter.html @@ -0,0 +1,15 @@ + + +ResponseFilter.filter - + + + +api / ResponseFilter / filter
+
+

filter

+ +fun filter(requestContext: <ERROR CLASS>, responseContext: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/api/-response-filter/index.html b/docs/build/html/api/api/-response-filter/index.html new file mode 100644 index 0000000000..f9fe3489e7 --- /dev/null +++ b/docs/build/html/api/api/-response-filter/index.html @@ -0,0 +1,38 @@ + + +ResponseFilter - + + + +api / ResponseFilter
+
+

ResponseFilter

+class ResponseFilter
+

This adds headers needed for cross site scripting on API clients

+
+
+

Constructors

+ + + + + + + +
+<init> +ResponseFilter()

This adds headers needed for cross site scripting on API clients

+
+

Functions

+ + + + + + + +
+filter +fun filter(requestContext: <ERROR CLASS>, responseContext: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/api/-states-query/-criteria/-all-deals.html b/docs/build/html/api/api/-states-query/-criteria/-all-deals.html new file mode 100644 index 0000000000..a0c3f1ce10 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-criteria/-all-deals.html @@ -0,0 +1,14 @@ + + +StatesQuery.Criteria.AllDeals - + + + +api / StatesQuery / Criteria / AllDeals
+
+

AllDeals

+object AllDeals : Criteria
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/-criteria/-deal/-init-.html b/docs/build/html/api/api/-states-query/-criteria/-deal/-init-.html new file mode 100644 index 0000000000..2faa5d49cc --- /dev/null +++ b/docs/build/html/api/api/-states-query/-criteria/-deal/-init-.html @@ -0,0 +1,14 @@ + + +StatesQuery.Criteria.Deal.<init> - + + + +api / StatesQuery / Criteria / Deal / <init>
+
+

<init>

+Deal(ref: String)
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/-criteria/-deal/index.html b/docs/build/html/api/api/-states-query/-criteria/-deal/index.html new file mode 100644 index 0000000000..f4fd30ce53 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-criteria/-deal/index.html @@ -0,0 +1,36 @@ + + +StatesQuery.Criteria.Deal - + + + +api / StatesQuery / Criteria / Deal
+
+

Deal

+data class Deal : Criteria
+
+
+

Constructors

+ + + + + + + +
+<init> +Deal(ref: String)
+

Properties

+ + + + + + + +
+ref +val ref: String
+ + diff --git a/docs/build/html/api/api/-states-query/-criteria/-deal/ref.html b/docs/build/html/api/api/-states-query/-criteria/-deal/ref.html new file mode 100644 index 0000000000..91cba70480 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-criteria/-deal/ref.html @@ -0,0 +1,15 @@ + + +StatesQuery.Criteria.Deal.ref - + + + +api / StatesQuery / Criteria / Deal / ref
+
+

ref

+ +val ref: String
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/-criteria/index.html b/docs/build/html/api/api/-states-query/-criteria/index.html new file mode 100644 index 0000000000..bb5bbfd9b7 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-criteria/index.html @@ -0,0 +1,48 @@ + + +StatesQuery.Criteria - + + + +api / StatesQuery / Criteria
+
+

Criteria

+interface Criteria
+
+
+

Types

+ + + + + + + + + + + +
+AllDeals +object AllDeals : Criteria
+Deal +data class Deal : Criteria
+

Inheritors

+ + + + + + + + + + + +
+AllDeals +object AllDeals : Criteria
+Deal +data class Deal : Criteria
+ + diff --git a/docs/build/html/api/api/-states-query/-selection/-init-.html b/docs/build/html/api/api/-states-query/-selection/-init-.html new file mode 100644 index 0000000000..ebc534a0b9 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-selection/-init-.html @@ -0,0 +1,14 @@ + + +StatesQuery.Selection.<init> - + + + +api / StatesQuery / Selection / <init>
+
+

<init>

+Selection(criteria: Criteria)
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/-selection/criteria.html b/docs/build/html/api/api/-states-query/-selection/criteria.html new file mode 100644 index 0000000000..f4dc1904b0 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-selection/criteria.html @@ -0,0 +1,15 @@ + + +StatesQuery.Selection.criteria - + + + +api / StatesQuery / Selection / criteria
+
+

criteria

+ +val criteria: Criteria
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/-selection/index.html b/docs/build/html/api/api/-states-query/-selection/index.html new file mode 100644 index 0000000000..66237ff816 --- /dev/null +++ b/docs/build/html/api/api/-states-query/-selection/index.html @@ -0,0 +1,36 @@ + + +StatesQuery.Selection - + + + +api / StatesQuery / Selection
+
+

Selection

+data class Selection : StatesQuery
+
+
+

Constructors

+ + + + + + + +
+<init> +Selection(criteria: Criteria)
+

Properties

+ + + + + + + +
+criteria +val criteria: Criteria
+ + diff --git a/docs/build/html/api/api/-states-query/index.html b/docs/build/html/api/api/-states-query/index.html new file mode 100644 index 0000000000..bea19a86f7 --- /dev/null +++ b/docs/build/html/api/api/-states-query/index.html @@ -0,0 +1,66 @@ + + +StatesQuery - + + + +api / StatesQuery
+
+

StatesQuery

+interface StatesQuery
+

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

+
+
+

Types

+ + + + + + + + + + + +
+Criteria +interface Criteria
+Selection +data class Selection : StatesQuery
+

Companion Object Functions

+ + + + + + + + + + + + + + + +
+select +fun select(criteria: Criteria): Selection
+selectAllDeals +fun selectAllDeals(): Selection
+selectDeal +fun selectDeal(ref: String): Selection
+

Inheritors

+ + + + + + + +
+Selection +data class Selection : StatesQuery
+ + diff --git a/docs/build/html/api/api/-states-query/select-all-deals.html b/docs/build/html/api/api/-states-query/select-all-deals.html new file mode 100644 index 0000000000..d236f0e17b --- /dev/null +++ b/docs/build/html/api/api/-states-query/select-all-deals.html @@ -0,0 +1,15 @@ + + +StatesQuery.selectAllDeals - + + + +api / StatesQuery / selectAllDeals
+
+

selectAllDeals

+ +fun selectAllDeals(): Selection
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/select-deal.html b/docs/build/html/api/api/-states-query/select-deal.html new file mode 100644 index 0000000000..37316bcdaf --- /dev/null +++ b/docs/build/html/api/api/-states-query/select-deal.html @@ -0,0 +1,15 @@ + + +StatesQuery.selectDeal - + + + +api / StatesQuery / selectDeal
+
+

selectDeal

+ +fun selectDeal(ref: String): Selection
+
+
+ + diff --git a/docs/build/html/api/api/-states-query/select.html b/docs/build/html/api/api/-states-query/select.html new file mode 100644 index 0000000000..38a84bed9a --- /dev/null +++ b/docs/build/html/api/api/-states-query/select.html @@ -0,0 +1,15 @@ + + +StatesQuery.select - + + + +api / StatesQuery / select
+
+

select

+ +fun select(criteria: Criteria): Selection
+
+
+ + diff --git a/docs/build/html/api/api/-transaction-build-step/-init-.html b/docs/build/html/api/api/-transaction-build-step/-init-.html new file mode 100644 index 0000000000..b680cfc751 --- /dev/null +++ b/docs/build/html/api/api/-transaction-build-step/-init-.html @@ -0,0 +1,15 @@ + + +TransactionBuildStep.<init> - + + + +api / TransactionBuildStep / <init>
+
+

<init>

+TransactionBuildStep(generateMethodName: String, args: Map<String, Any?>)
+

Encapsulate a generateXXX method call on a contract.

+
+
+ + diff --git a/docs/build/html/api/api/-transaction-build-step/args.html b/docs/build/html/api/api/-transaction-build-step/args.html new file mode 100644 index 0000000000..53f68d0dbf --- /dev/null +++ b/docs/build/html/api/api/-transaction-build-step/args.html @@ -0,0 +1,15 @@ + + +TransactionBuildStep.args - + + + +api / TransactionBuildStep / args
+
+

args

+ +val args: Map<String, Any?>
+
+
+ + diff --git a/docs/build/html/api/api/-transaction-build-step/generate-method-name.html b/docs/build/html/api/api/-transaction-build-step/generate-method-name.html new file mode 100644 index 0000000000..c01febba4a --- /dev/null +++ b/docs/build/html/api/api/-transaction-build-step/generate-method-name.html @@ -0,0 +1,15 @@ + + +TransactionBuildStep.generateMethodName - + + + +api / TransactionBuildStep / generateMethodName
+
+

generateMethodName

+ +val generateMethodName: String
+
+
+ + diff --git a/docs/build/html/api/api/-transaction-build-step/index.html b/docs/build/html/api/api/-transaction-build-step/index.html new file mode 100644 index 0000000000..3f50fe21b0 --- /dev/null +++ b/docs/build/html/api/api/-transaction-build-step/index.html @@ -0,0 +1,44 @@ + + +TransactionBuildStep - + + + +api / TransactionBuildStep
+
+

TransactionBuildStep

+data class TransactionBuildStep
+

Encapsulate a generateXXX method call on a contract.

+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionBuildStep(generateMethodName: String, args: Map<String, Any?>)

Encapsulate a generateXXX method call on a contract.

+
+

Properties

+ + + + + + + + + + + +
+args +val args: Map<String, Any?>
+generateMethodName +val generateMethodName: String
+ + diff --git a/docs/build/html/api/api/index.html b/docs/build/html/api/api/index.html new file mode 100644 index 0000000000..787f05b97c --- /dev/null +++ b/docs/build/html/api/api/index.html @@ -0,0 +1,110 @@ + + +api - + + + +api
+
+

Package api

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+APIServer +interface APIServer

Top level interface to external interaction with the distributed ledger.

+
+APIServerImpl +class APIServerImpl : APIServer
+Config +class Config

Primary purpose is to install Kotlin extensions for Jackson ObjectMapper so data classes work +and to organise serializers / deserializers for java.time.* classes as necessary

+
+ContractClassRef +data class ContractClassRef : ContractDefRef
+ContractDefRef +interface ContractDefRef

Encapsulates the contract type. e.g. Cash or CommercialPaper etc.

+
+ContractLedgerRef +data class ContractLedgerRef : ContractDefRef
+InterestRateSwapAPI +class InterestRateSwapAPI

This provides a simplified API, currently for demonstration use only.

+
+ProtocolClassRef +data class ProtocolClassRef : ProtocolRef
+ProtocolInstanceRef +data class ProtocolInstanceRef
+ProtocolRef +interface ProtocolRef

Encapsulates the protocol to be instantiated. e.g. TwoPartyTradeProtocol.Buyer.

+
+ProtocolRequiringAttention +data class ProtocolRequiringAttention

Thinking that Instant is OK for short lived protocol deadlines.

+
+ResponseFilter +class ResponseFilter

This adds headers needed for cross site scripting on API clients

+
+StatesQuery +interface StatesQuery

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

+
+TransactionBuildStep +data class TransactionBuildStep

Encapsulate a generateXXX method call on a contract.

+
+ + diff --git a/docs/build/html/api/contracts/-c-a-s-h_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/contracts/-c-a-s-h_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..26638c4d5b --- /dev/null +++ b/docs/build/html/api/contracts/-c-a-s-h_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,15 @@ + + +CASH_PROGRAM_ID - + + + +contracts / CASH_PROGRAM_ID
+
+

CASH_PROGRAM_ID

+ +val CASH_PROGRAM_ID: Cash
+
+
+ + diff --git a/docs/build/html/api/contracts/-c-p_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/contracts/-c-p_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..992a0419e3 --- /dev/null +++ b/docs/build/html/api/contracts/-c-p_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,34 @@ + + +CP_PROGRAM_ID - + + + +contracts / CP_PROGRAM_ID
+
+

CP_PROGRAM_ID

+ +val CP_PROGRAM_ID: CommercialPaper
+

This is an ultra-trivial implementation of commercial paper, which is essentially a simpler version of a corporate +bond. It can be seen as a company-specific currency. A company issues CP with a particular face value, say $100, +but sells it for less, say $90. The paper can be redeemed for cash at a given date in the future. Thus this example +would have a 10% interest rate with a single repayment. Commercial paper is often rolled over (the maturity date +is adjusted as if the paper was redeemed and immediately repurchased, but without having to front the cash).

+

This contract is not intended to realistically model CP. It is here only to act as a next step up above cash in +the prototyping phase. It is thus very incomplete.

+

Open issues:

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-c-r-o-w-d-f-u-n-d_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/contracts/-c-r-o-w-d-f-u-n-d_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..68be856996 --- /dev/null +++ b/docs/build/html/api/contracts/-c-r-o-w-d-f-u-n-d_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,15 @@ + + +CROWDFUND_PROGRAM_ID - + + + +contracts / CROWDFUND_PROGRAM_ID
+
+

CROWDFUND_PROGRAM_ID

+ +val CROWDFUND_PROGRAM_ID: CrowdFund
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-exit/-init-.html b/docs/build/html/api/contracts/-cash/-commands/-exit/-init-.html new file mode 100644 index 0000000000..c24ad10c11 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-exit/-init-.html @@ -0,0 +1,16 @@ + + +Cash.Commands.Exit.<init> - + + + +contracts / Cash / Commands / Exit / <init>
+
+

<init>

+Exit(amount: Amount)
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-exit/amount.html b/docs/build/html/api/contracts/-cash/-commands/-exit/amount.html new file mode 100644 index 0000000000..e626f38732 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-exit/amount.html @@ -0,0 +1,15 @@ + + +Cash.Commands.Exit.amount - + + + +contracts / Cash / Commands / Exit / amount
+
+

amount

+ +val amount: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-exit/index.html b/docs/build/html/api/contracts/-cash/-commands/-exit/index.html new file mode 100644 index 0000000000..fdec1b649f --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-exit/index.html @@ -0,0 +1,40 @@ + + +Cash.Commands.Exit - + + + +contracts / Cash / Commands / Exit
+
+

Exit

+data class Exit : Commands
+

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

+
+
+

Constructors

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

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

+
+

Properties

+ + + + + + + +
+amount +val amount: Amount
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-issue/-init-.html b/docs/build/html/api/contracts/-cash/-commands/-issue/-init-.html new file mode 100644 index 0000000000..bf80ca6432 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-issue/-init-.html @@ -0,0 +1,16 @@ + + +Cash.Commands.Issue.<init> - + + + +contracts / Cash / Commands / Issue / <init>
+
+

<init>

+Issue(nonce: Long = SecureRandom.getInstanceStrong().nextLong())
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-issue/index.html b/docs/build/html/api/contracts/-cash/-commands/-issue/index.html new file mode 100644 index 0000000000..a7516c9a01 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-issue/index.html @@ -0,0 +1,40 @@ + + +Cash.Commands.Issue - + + + +contracts / Cash / Commands / Issue
+
+

Issue

+data class Issue : Commands
+

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

+
+
+

Constructors

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

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

+
+

Properties

+ + + + + + + +
+nonce +val nonce: Long
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-issue/nonce.html b/docs/build/html/api/contracts/-cash/-commands/-issue/nonce.html new file mode 100644 index 0000000000..2cadc5d058 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-issue/nonce.html @@ -0,0 +1,15 @@ + + +Cash.Commands.Issue.nonce - + + + +contracts / Cash / Commands / Issue / nonce
+
+

nonce

+ +val nonce: Long
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-move/-init-.html b/docs/build/html/api/contracts/-cash/-commands/-move/-init-.html new file mode 100644 index 0000000000..ef579196f9 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-move/-init-.html @@ -0,0 +1,14 @@ + + +Cash.Commands.Move.<init> - + + + +contracts / Cash / Commands / Move / <init>
+
+

<init>

+Move()
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/-move/index.html b/docs/build/html/api/contracts/-cash/-commands/-move/index.html new file mode 100644 index 0000000000..6e6fe443da --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/-move/index.html @@ -0,0 +1,42 @@ + + +Cash.Commands.Move - + + + +contracts / Cash / Commands / Move
+
+

Move

+class Move : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Move()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-cash/-commands/index.html b/docs/build/html/api/contracts/-cash/-commands/index.html new file mode 100644 index 0000000000..bf5bb04ec8 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-commands/index.html @@ -0,0 +1,68 @@ + + +Cash.Commands - + + + +contracts / Cash / Commands
+
+

Commands

+interface Commands : CommandData
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Exit +data class Exit : Commands

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

+
+Issue +data class Issue : Commands

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

+
+Move +class Move : TypeOnlyCommandData, Commands
+

Inheritors

+ + + + + + + + + + + + + + + +
+Exit +data class Exit : Commands

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

+
+Issue +data class Issue : Commands

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

+
+Move +class Move : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/contracts/-cash/-init-.html b/docs/build/html/api/contracts/-cash/-init-.html new file mode 100644 index 0000000000..0bb6d2b8a5 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-init-.html @@ -0,0 +1,25 @@ + + +Cash.<init> - + + + +contracts / Cash / <init>
+
+

<init>

+Cash()
+

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

+

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

+

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

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/-init-.html b/docs/build/html/api/contracts/-cash/-state/-init-.html new file mode 100644 index 0000000000..2d4898ad5b --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/-init-.html @@ -0,0 +1,15 @@ + + +Cash.State.<init> - + + + +contracts / Cash / State / <init>
+
+

<init>

+State(deposit: PartyReference, amount: Amount, owner: PublicKey)
+

A state representing a cash claim against some party

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/amount.html b/docs/build/html/api/contracts/-cash/-state/amount.html new file mode 100644 index 0000000000..7592bde565 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/amount.html @@ -0,0 +1,15 @@ + + +Cash.State.amount - + + + +contracts / Cash / State / amount
+
+

amount

+ +val amount: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/contract.html b/docs/build/html/api/contracts/-cash/-state/contract.html new file mode 100644 index 0000000000..82dd69c6d7 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/contract.html @@ -0,0 +1,17 @@ + + +Cash.State.contract - + + + +contracts / Cash / State / contract
+
+

contract

+ +val contract: Cash
+Overrides ContractState.contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/deposit.html b/docs/build/html/api/contracts/-cash/-state/deposit.html new file mode 100644 index 0000000000..5719392e4d --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/deposit.html @@ -0,0 +1,16 @@ + + +Cash.State.deposit - + + + +contracts / Cash / State / deposit
+
+

deposit

+ +val deposit: PartyReference
+

Where the underlying currency backing this ledger entry can be found (propagated)

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/index.html b/docs/build/html/api/contracts/-cash/-state/index.html new file mode 100644 index 0000000000..07026c7fea --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/index.html @@ -0,0 +1,77 @@ + + +Cash.State - + + + +contracts / Cash / State
+
+

State

+data class State : OwnableState
+

A state representing a cash claim against some party

+
+
+

Constructors

+ + + + + + + +
+<init> +State(deposit: PartyReference, amount: Amount, owner: PublicKey)

A state representing a cash claim against some party

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+amount +val amount: Amount
+contract +val contract: Cash

Contract by which the state belongs

+
+deposit +val deposit: PartyReference

Where the underlying currency backing this ledger entry can be found (propagated)

+
+owner +val owner: PublicKey

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

+
+

Functions

+ + + + + + + + + + + +
+toString +fun toString(): String
+withNewOwner +fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>

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

+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/owner.html b/docs/build/html/api/contracts/-cash/-state/owner.html new file mode 100644 index 0000000000..40a8915dab --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/owner.html @@ -0,0 +1,17 @@ + + +Cash.State.owner - + + + +contracts / Cash / State / owner
+
+

owner

+ +val owner: PublicKey
+Overrides OwnableState.owner
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/to-string.html b/docs/build/html/api/contracts/-cash/-state/to-string.html new file mode 100644 index 0000000000..6d83eea3dd --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/to-string.html @@ -0,0 +1,15 @@ + + +Cash.State.toString - + + + +contracts / Cash / State / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/-state/with-new-owner.html b/docs/build/html/api/contracts/-cash/-state/with-new-owner.html new file mode 100644 index 0000000000..faac36ac28 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/-state/with-new-owner.html @@ -0,0 +1,17 @@ + + +Cash.State.withNewOwner - + + + +contracts / Cash / State / withNewOwner
+
+

withNewOwner

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/generate-issue.html b/docs/build/html/api/contracts/-cash/generate-issue.html new file mode 100644 index 0000000000..38be4af60c --- /dev/null +++ b/docs/build/html/api/contracts/-cash/generate-issue.html @@ -0,0 +1,16 @@ + + +Cash.generateIssue - + + + +contracts / Cash / generateIssue
+
+

generateIssue

+ +fun generateIssue(tx: TransactionBuilder, amount: Amount, at: PartyReference, owner: PublicKey): Unit
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/generate-spend.html b/docs/build/html/api/contracts/-cash/generate-spend.html new file mode 100644 index 0000000000..a19da53fbe --- /dev/null +++ b/docs/build/html/api/contracts/-cash/generate-spend.html @@ -0,0 +1,22 @@ + + +Cash.generateSpend - + + + +contracts / Cash / generateSpend
+
+

generateSpend

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

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

+

Parameters

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

Cash

+class Cash : Contract
+

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

+

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

+

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

+
+
+
+
+

Types

+ + + + + + + + + + + +
+Commands +interface Commands : CommandData
+State +data class State : OwnableState

A state representing a cash claim against some party

+
+

Constructors

+ + + + + + + +
+<init> +Cash()

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

+
+

Properties

+ + + + + + + +
+legalContractReference +val legalContractReference: SecureHash

TODO:

+
+

Functions

+ + + + + + + + + + + + + + + +
+generateIssue +fun generateIssue(tx: TransactionBuilder, amount: Amount, at: PartyReference, owner: PublicKey): Unit

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

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

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

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

This is the function EVERYONE runs

+
+ + diff --git a/docs/build/html/api/contracts/-cash/legal-contract-reference.html b/docs/build/html/api/contracts/-cash/legal-contract-reference.html new file mode 100644 index 0000000000..d151bdc904 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/legal-contract-reference.html @@ -0,0 +1,25 @@ + + +Cash.legalContractReference - + + + +contracts / Cash / legalContractReference
+
+

legalContractReference

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

TODO:

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

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

    +

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

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-cash/verify.html b/docs/build/html/api/contracts/-cash/verify.html new file mode 100644 index 0000000000..ef5a95f9a6 --- /dev/null +++ b/docs/build/html/api/contracts/-cash/verify.html @@ -0,0 +1,17 @@ + + +Cash.verify - + + + +contracts / Cash / verify
+
+

verify

+ +fun verify(tx: TransactionForVerification): Unit
+Overrides Contract.verify
+

This is the function EVERYONE runs

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/-init-.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/-init-.html new file mode 100644 index 0000000000..0599089f81 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaper.Commands.Issue.<init> - + + + +contracts / CommercialPaper / Commands / Issue / <init>
+
+

<init>

+Issue()
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/index.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/index.html new file mode 100644 index 0000000000..aaf6dffe72 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-issue/index.html @@ -0,0 +1,42 @@ + + +CommercialPaper.Commands.Issue - + + + +contracts / CommercialPaper / Commands / Issue
+
+

Issue

+class Issue : TypeOnlyCommandData, Commands
+
+
+

Constructors

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

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-move/-init-.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-move/-init-.html new file mode 100644 index 0000000000..11abf580a4 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-move/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaper.Commands.Move.<init> - + + + +contracts / CommercialPaper / Commands / Move / <init>
+
+

<init>

+Move()
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-move/index.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-move/index.html new file mode 100644 index 0000000000..fb104aae5a --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-move/index.html @@ -0,0 +1,42 @@ + + +CommercialPaper.Commands.Move - + + + +contracts / CommercialPaper / Commands / Move
+
+

Move

+class Move : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Move()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/-init-.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/-init-.html new file mode 100644 index 0000000000..eb9e49ac8f --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaper.Commands.Redeem.<init> - + + + +contracts / CommercialPaper / Commands / Redeem / <init>
+
+

<init>

+Redeem()
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/index.html b/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/index.html new file mode 100644 index 0000000000..12ccadeb7b --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/-redeem/index.html @@ -0,0 +1,42 @@ + + +CommercialPaper.Commands.Redeem - + + + +contracts / CommercialPaper / Commands / Redeem
+
+

Redeem

+class Redeem : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Redeem()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-commands/index.html b/docs/build/html/api/contracts/-commercial-paper/-commands/index.html new file mode 100644 index 0000000000..4eb4ec7d39 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-commands/index.html @@ -0,0 +1,60 @@ + + +CommercialPaper.Commands - + + + +contracts / CommercialPaper / Commands
+
+

Commands

+interface Commands : CommandData
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Issue +class Issue : TypeOnlyCommandData, Commands
+Move +class Move : TypeOnlyCommandData, Commands
+Redeem +class Redeem : TypeOnlyCommandData, Commands
+

Inheritors

+ + + + + + + + + + + + + + + +
+Issue +class Issue : TypeOnlyCommandData, Commands
+Move +class Move : TypeOnlyCommandData, Commands
+Redeem +class Redeem : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-init-.html b/docs/build/html/api/contracts/-commercial-paper/-init-.html new file mode 100644 index 0000000000..768c3ca4dc --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaper.<init> - + + + +contracts / CommercialPaper / <init>
+
+

<init>

+CommercialPaper()
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/-init-.html b/docs/build/html/api/contracts/-commercial-paper/-state/-init-.html new file mode 100644 index 0000000000..6f950169b3 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/-init-.html @@ -0,0 +1,14 @@ + + +CommercialPaper.State.<init> - + + + +contracts / CommercialPaper / State / <init>
+
+

<init>

+State(issuance: PartyReference, owner: PublicKey, faceValue: Amount, maturityDate: Instant)
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/contract.html b/docs/build/html/api/contracts/-commercial-paper/-state/contract.html new file mode 100644 index 0000000000..b367467db0 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/contract.html @@ -0,0 +1,17 @@ + + +CommercialPaper.State.contract - + + + +contracts / CommercialPaper / State / contract
+
+

contract

+ +val contract: CommercialPaper
+Overrides ContractState.contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/face-value.html b/docs/build/html/api/contracts/-commercial-paper/-state/face-value.html new file mode 100644 index 0000000000..6a1328d7c7 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/face-value.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.faceValue - + + + +contracts / CommercialPaper / State / faceValue
+
+

faceValue

+ +val faceValue: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/index.html b/docs/build/html/api/contracts/-commercial-paper/-state/index.html new file mode 100644 index 0000000000..cb574e974e --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/index.html @@ -0,0 +1,110 @@ + + +CommercialPaper.State - + + + +contracts / CommercialPaper / State
+
+

State

+data class State : OwnableState
+
+
+

Constructors

+ + + + + + + +
+<init> +State(issuance: PartyReference, owner: PublicKey, faceValue: Amount, maturityDate: Instant)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+contract +val contract: CommercialPaper

Contract by which the state belongs

+
+faceValue +val faceValue: Amount
+issuance +val issuance: PartyReference
+maturityDate +val maturityDate: Instant
+owner +val owner: PublicKey

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

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+toString +fun toString(): String
+withFaceValue +fun withFaceValue(newFaceValue: Amount): <ERROR CLASS>
+withIssuance +fun withIssuance(newIssuance: PartyReference): <ERROR CLASS>
+withMaturityDate +fun withMaturityDate(newMaturityDate: Instant): <ERROR CLASS>
+withNewOwner +fun withNewOwner(newOwner: PublicKey): <ERROR CLASS>

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

+
+withOwner +fun withOwner(newOwner: PublicKey): <ERROR CLASS>
+withoutOwner +fun withoutOwner(): State
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/issuance.html b/docs/build/html/api/contracts/-commercial-paper/-state/issuance.html new file mode 100644 index 0000000000..f1f65450bd --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/issuance.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.issuance - + + + +contracts / CommercialPaper / State / issuance
+
+

issuance

+ +val issuance: PartyReference
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/maturity-date.html b/docs/build/html/api/contracts/-commercial-paper/-state/maturity-date.html new file mode 100644 index 0000000000..58c6c8612a --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/maturity-date.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.maturityDate - + + + +contracts / CommercialPaper / State / maturityDate
+
+

maturityDate

+ +val maturityDate: Instant
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/owner.html b/docs/build/html/api/contracts/-commercial-paper/-state/owner.html new file mode 100644 index 0000000000..15bfe04c5b --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/owner.html @@ -0,0 +1,17 @@ + + +CommercialPaper.State.owner - + + + +contracts / CommercialPaper / State / owner
+
+

owner

+ +val owner: PublicKey
+Overrides OwnableState.owner
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/to-string.html b/docs/build/html/api/contracts/-commercial-paper/-state/to-string.html new file mode 100644 index 0000000000..7c24cfbc3e --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/to-string.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.toString - + + + +contracts / CommercialPaper / State / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/with-face-value.html b/docs/build/html/api/contracts/-commercial-paper/-state/with-face-value.html new file mode 100644 index 0000000000..bfe75c8f1b --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/with-face-value.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.withFaceValue - + + + +contracts / CommercialPaper / State / withFaceValue
+
+

withFaceValue

+ +fun withFaceValue(newFaceValue: Amount): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/with-issuance.html b/docs/build/html/api/contracts/-commercial-paper/-state/with-issuance.html new file mode 100644 index 0000000000..a995e0d8a0 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/with-issuance.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.withIssuance - + + + +contracts / CommercialPaper / State / withIssuance
+
+

withIssuance

+ +fun withIssuance(newIssuance: PartyReference): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/with-maturity-date.html b/docs/build/html/api/contracts/-commercial-paper/-state/with-maturity-date.html new file mode 100644 index 0000000000..ec0eba6df3 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/with-maturity-date.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.withMaturityDate - + + + +contracts / CommercialPaper / State / withMaturityDate
+
+

withMaturityDate

+ +fun withMaturityDate(newMaturityDate: Instant): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/with-new-owner.html b/docs/build/html/api/contracts/-commercial-paper/-state/with-new-owner.html new file mode 100644 index 0000000000..50cf564db4 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/with-new-owner.html @@ -0,0 +1,17 @@ + + +CommercialPaper.State.withNewOwner - + + + +contracts / CommercialPaper / State / withNewOwner
+
+

withNewOwner

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/with-owner.html b/docs/build/html/api/contracts/-commercial-paper/-state/with-owner.html new file mode 100644 index 0000000000..736f3e004b --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/with-owner.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.withOwner - + + + +contracts / CommercialPaper / State / withOwner
+
+

withOwner

+ +fun withOwner(newOwner: PublicKey): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/-state/without-owner.html b/docs/build/html/api/contracts/-commercial-paper/-state/without-owner.html new file mode 100644 index 0000000000..c37b1ec9fc --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/-state/without-owner.html @@ -0,0 +1,15 @@ + + +CommercialPaper.State.withoutOwner - + + + +contracts / CommercialPaper / State / withoutOwner
+
+

withoutOwner

+ +fun withoutOwner(): State
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/generate-issue.html b/docs/build/html/api/contracts/-commercial-paper/generate-issue.html new file mode 100644 index 0000000000..b5bf985fb6 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/generate-issue.html @@ -0,0 +1,18 @@ + + +CommercialPaper.generateIssue - + + + +contracts / CommercialPaper / generateIssue
+
+

generateIssue

+ +fun generateIssue(issuance: PartyReference, faceValue: Amount, maturityDate: Instant): TransactionBuilder
+

Returns a transaction that issues commercial paper, owned by the issuing parties key. Does not update +an existing transaction because you arent able to issue multiple pieces of CP in a single transaction +at the moment: this restriction is not fundamental and may be lifted later.

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/generate-move.html b/docs/build/html/api/contracts/-commercial-paper/generate-move.html new file mode 100644 index 0000000000..834b461948 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/generate-move.html @@ -0,0 +1,16 @@ + + +CommercialPaper.generateMove - + + + +contracts / CommercialPaper / generateMove
+
+

generateMove

+ +fun generateMove(tx: TransactionBuilder, paper: StateAndRef<State>, newOwner: PublicKey): Unit
+

Updates the given partial transaction with an input/output/command to reassign ownership of the paper.

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/generate-redeem.html b/docs/build/html/api/contracts/-commercial-paper/generate-redeem.html new file mode 100644 index 0000000000..d424ecf98f --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/generate-redeem.html @@ -0,0 +1,21 @@ + + +CommercialPaper.generateRedeem - + + + +contracts / CommercialPaper / generateRedeem
+
+

generateRedeem

+ +fun generateRedeem(tx: TransactionBuilder, paper: StateAndRef<State>, wallet: List<StateAndRef<State>>): Unit
+

Intended to be called by the issuer of some commercial paper, when an owner has notified us that they wish +to redeem the paper. We must therefore send enough money to the key that owns the paper to satisfy the face +value, and then ensure the paper is removed from the ledger.

+

Exceptions

+ +InsufficientBalanceException - if the wallet doesnt contain enough money to pay the redeemer
+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/index.html b/docs/build/html/api/contracts/-commercial-paper/index.html new file mode 100644 index 0000000000..401304d924 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/index.html @@ -0,0 +1,95 @@ + + +CommercialPaper - + + + +contracts / CommercialPaper
+
+

CommercialPaper

+class CommercialPaper : Contract
+
+
+

Types

+ + + + + + + + + + + +
+Commands +interface Commands : CommandData
+State +data class State : OwnableState
+

Constructors

+ + + + + + + +
+<init> +CommercialPaper()
+

Properties

+ + + + + + + +
+legalContractReference +val legalContractReference: SecureHash

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

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+generateIssue +fun generateIssue(issuance: PartyReference, faceValue: Amount, maturityDate: Instant): TransactionBuilder

Returns a transaction that issues commercial paper, owned by the issuing parties key. Does not update +an existing transaction because you arent able to issue multiple pieces of CP in a single transaction +at the moment: this restriction is not fundamental and may be lifted later.

+
+generateMove +fun generateMove(tx: TransactionBuilder, paper: StateAndRef<State>, newOwner: PublicKey): Unit

Updates the given partial transaction with an input/output/command to reassign ownership of the paper.

+
+generateRedeem +fun generateRedeem(tx: TransactionBuilder, paper: StateAndRef<State>, wallet: List<StateAndRef<State>>): Unit

Intended to be called by the issuer of some commercial paper, when an owner has notified us that they wish +to redeem the paper. We must therefore send enough money to the key that owns the paper to satisfy the face +value, and then ensure the paper is removed from the ledger.

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

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

+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/legal-contract-reference.html b/docs/build/html/api/contracts/-commercial-paper/legal-contract-reference.html new file mode 100644 index 0000000000..6f648f3ba7 --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/legal-contract-reference.html @@ -0,0 +1,18 @@ + + +CommercialPaper.legalContractReference - + + + +contracts / CommercialPaper / legalContractReference
+
+

legalContractReference

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-commercial-paper/verify.html b/docs/build/html/api/contracts/-commercial-paper/verify.html new file mode 100644 index 0000000000..193eabd96b --- /dev/null +++ b/docs/build/html/api/contracts/-commercial-paper/verify.html @@ -0,0 +1,20 @@ + + +CommercialPaper.verify - + + + +contracts / CommercialPaper / verify
+
+

verify

+ +fun verify(tx: TransactionForVerification): Unit
+Overrides Contract.verify
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/-init-.html new file mode 100644 index 0000000000..1d92af3e0e --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.Campaign.<init> - + + + +contracts / CrowdFund / Campaign / <init>
+
+

<init>

+Campaign(owner: PublicKey, name: String, target: Amount, closingTime: Instant)
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/closing-time.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/closing-time.html new file mode 100644 index 0000000000..8c0719923d --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/closing-time.html @@ -0,0 +1,15 @@ + + +CrowdFund.Campaign.closingTime - + + + +contracts / CrowdFund / Campaign / closingTime
+
+

closingTime

+ +val closingTime: Instant
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/index.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/index.html new file mode 100644 index 0000000000..eb908975bb --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/index.html @@ -0,0 +1,65 @@ + + +CrowdFund.Campaign - + + + +contracts / CrowdFund / Campaign
+
+

Campaign

+data class Campaign
+
+
+

Constructors

+ + + + + + + +
+<init> +Campaign(owner: PublicKey, name: String, target: Amount, closingTime: Instant)
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+closingTime +val closingTime: Instant
+name +val name: String
+owner +val owner: PublicKey
+target +val target: Amount
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/name.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/name.html new file mode 100644 index 0000000000..ed02e5e6d5 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/name.html @@ -0,0 +1,15 @@ + + +CrowdFund.Campaign.name - + + + +contracts / CrowdFund / Campaign / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/owner.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/owner.html new file mode 100644 index 0000000000..a345873eed --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/owner.html @@ -0,0 +1,15 @@ + + +CrowdFund.Campaign.owner - + + + +contracts / CrowdFund / Campaign / owner
+
+

owner

+ +val owner: PublicKey
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/target.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/target.html new file mode 100644 index 0000000000..9b1a849b44 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/target.html @@ -0,0 +1,15 @@ + + +CrowdFund.Campaign.target - + + + +contracts / CrowdFund / Campaign / target
+
+

target

+ +val target: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-campaign/to-string.html b/docs/build/html/api/contracts/-crowd-fund/-campaign/to-string.html new file mode 100644 index 0000000000..a978a705d2 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-campaign/to-string.html @@ -0,0 +1,15 @@ + + +CrowdFund.Campaign.toString - + + + +contracts / CrowdFund / Campaign / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-close/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-close/-init-.html new file mode 100644 index 0000000000..f11ce6dfbf --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-close/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.Commands.Close.<init> - + + + +contracts / CrowdFund / Commands / Close / <init>
+
+

<init>

+Close()
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-close/index.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-close/index.html new file mode 100644 index 0000000000..ea6b929738 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-close/index.html @@ -0,0 +1,42 @@ + + +CrowdFund.Commands.Close - + + + +contracts / CrowdFund / Commands / Close
+
+

Close

+class Close : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Close()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/-init-.html new file mode 100644 index 0000000000..47942123f9 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.Commands.Pledge.<init> - + + + +contracts / CrowdFund / Commands / Pledge / <init>
+
+

<init>

+Pledge()
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/index.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/index.html new file mode 100644 index 0000000000..06a44297b2 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-pledge/index.html @@ -0,0 +1,42 @@ + + +CrowdFund.Commands.Pledge - + + + +contracts / CrowdFund / Commands / Pledge
+
+

Pledge

+class Pledge : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Pledge()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-register/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-register/-init-.html new file mode 100644 index 0000000000..22df21abc1 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-register/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.Commands.Register.<init> - + + + +contracts / CrowdFund / Commands / Register / <init>
+
+

<init>

+Register()
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/-register/index.html b/docs/build/html/api/contracts/-crowd-fund/-commands/-register/index.html new file mode 100644 index 0000000000..0167d7b0c1 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/-register/index.html @@ -0,0 +1,42 @@ + + +CrowdFund.Commands.Register - + + + +contracts / CrowdFund / Commands / Register
+
+

Register

+class Register : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Register()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-commands/index.html b/docs/build/html/api/contracts/-crowd-fund/-commands/index.html new file mode 100644 index 0000000000..f9e012fe78 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-commands/index.html @@ -0,0 +1,60 @@ + + +CrowdFund.Commands - + + + +contracts / CrowdFund / Commands
+
+

Commands

+interface Commands : CommandData
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Close +class Close : TypeOnlyCommandData, Commands
+Pledge +class Pledge : TypeOnlyCommandData, Commands
+Register +class Register : TypeOnlyCommandData, Commands
+

Inheritors

+ + + + + + + + + + + + + + + +
+Close +class Close : TypeOnlyCommandData, Commands
+Pledge +class Pledge : TypeOnlyCommandData, Commands
+Register +class Register : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-init-.html new file mode 100644 index 0000000000..b87f6b9808 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-init-.html @@ -0,0 +1,32 @@ + + +CrowdFund.<init> - + + + +contracts / CrowdFund / <init>
+
+

<init>

+CrowdFund()
+

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+Discussion

This method of modelling a crowdfund is similar to how itd be done in Ethereum. The state is essentially a database +in which transactions evolve it over time. The state transition model we are using here though means its possible +to do it in a different approach, with some additional (not yet implemented) extensions to the model. In the UTXO +model you can do something more like the Lighthouse application (https://www.vinumeris.com/lighthouse) in which +the campaign data and peoples pledges are transmitted out of band, with a pledge being a partially signed +transaction which is valid only when merged with other transactions. The pledges can then be combined by the project +owner at the point at which sufficient amounts of money have been gathered, and this creates a valid transaction +that claims the money.

+

TODO: Prototype this second variant of crowdfunding once the core model has been sufficiently extended. +TODO: Experiment with the use of the javax.validation API to simplify the validation logic by annotating state members.

+

See JIRA bug PD-21 for further discussion and followup.

+
+
+Author
+James Carlyle
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-pledge/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-pledge/-init-.html new file mode 100644 index 0000000000..3131431ae9 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-pledge/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.Pledge.<init> - + + + +contracts / CrowdFund / Pledge / <init>
+
+

<init>

+Pledge(owner: PublicKey, amount: Amount)
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-pledge/amount.html b/docs/build/html/api/contracts/-crowd-fund/-pledge/amount.html new file mode 100644 index 0000000000..85d9aec14f --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-pledge/amount.html @@ -0,0 +1,15 @@ + + +CrowdFund.Pledge.amount - + + + +contracts / CrowdFund / Pledge / amount
+
+

amount

+ +val amount: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-pledge/index.html b/docs/build/html/api/contracts/-crowd-fund/-pledge/index.html new file mode 100644 index 0000000000..dd43ef2737 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-pledge/index.html @@ -0,0 +1,42 @@ + + +CrowdFund.Pledge - + + + +contracts / CrowdFund / Pledge
+
+

Pledge

+data class Pledge
+
+
+

Constructors

+ + + + + + + +
+<init> +Pledge(owner: PublicKey, amount: Amount)
+

Properties

+ + + + + + + + + + + +
+amount +val amount: Amount
+owner +val owner: PublicKey
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-pledge/owner.html b/docs/build/html/api/contracts/-crowd-fund/-pledge/owner.html new file mode 100644 index 0000000000..037e585180 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-pledge/owner.html @@ -0,0 +1,15 @@ + + +CrowdFund.Pledge.owner - + + + +contracts / CrowdFund / Pledge / owner
+
+

owner

+ +val owner: PublicKey
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/-init-.html b/docs/build/html/api/contracts/-crowd-fund/-state/-init-.html new file mode 100644 index 0000000000..8bfa9ace1a --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/-init-.html @@ -0,0 +1,14 @@ + + +CrowdFund.State.<init> - + + + +contracts / CrowdFund / State / <init>
+
+

<init>

+State(campaign: Campaign, closed: Boolean = false, pledges: List<Pledge> = ArrayList())
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/campaign.html b/docs/build/html/api/contracts/-crowd-fund/-state/campaign.html new file mode 100644 index 0000000000..47d993e7ec --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/campaign.html @@ -0,0 +1,15 @@ + + +CrowdFund.State.campaign - + + + +contracts / CrowdFund / State / campaign
+
+

campaign

+ +val campaign: Campaign
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/closed.html b/docs/build/html/api/contracts/-crowd-fund/-state/closed.html new file mode 100644 index 0000000000..a7ff3f4eb4 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/closed.html @@ -0,0 +1,15 @@ + + +CrowdFund.State.closed - + + + +contracts / CrowdFund / State / closed
+
+

closed

+ +val closed: Boolean
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/contract.html b/docs/build/html/api/contracts/-crowd-fund/-state/contract.html new file mode 100644 index 0000000000..d2cab1c1ac --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/contract.html @@ -0,0 +1,17 @@ + + +CrowdFund.State.contract - + + + +contracts / CrowdFund / State / contract
+
+

contract

+ +val contract: CrowdFund
+Overrides ContractState.contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/index.html b/docs/build/html/api/contracts/-crowd-fund/-state/index.html new file mode 100644 index 0000000000..f44878fda0 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/index.html @@ -0,0 +1,61 @@ + + +CrowdFund.State - + + + +contracts / CrowdFund / State
+
+

State

+data class State : ContractState
+
+
+

Constructors

+ + + + + + + +
+<init> +State(campaign: Campaign, closed: Boolean = false, pledges: List<Pledge> = ArrayList())
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+campaign +val campaign: Campaign
+closed +val closed: Boolean
+contract +val contract: CrowdFund

Contract by which the state belongs

+
+pledgedAmount +val pledgedAmount: Amount
+pledges +val pledges: List<Pledge>
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/pledged-amount.html b/docs/build/html/api/contracts/-crowd-fund/-state/pledged-amount.html new file mode 100644 index 0000000000..6e9610ac7f --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/pledged-amount.html @@ -0,0 +1,15 @@ + + +CrowdFund.State.pledgedAmount - + + + +contracts / CrowdFund / State / pledgedAmount
+
+

pledgedAmount

+ +val pledgedAmount: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/-state/pledges.html b/docs/build/html/api/contracts/-crowd-fund/-state/pledges.html new file mode 100644 index 0000000000..cc06a495fb --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/-state/pledges.html @@ -0,0 +1,15 @@ + + +CrowdFund.State.pledges - + + + +contracts / CrowdFund / State / pledges
+
+

pledges

+ +val pledges: List<Pledge>
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/generate-close.html b/docs/build/html/api/contracts/-crowd-fund/generate-close.html new file mode 100644 index 0000000000..a79c87e28c --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/generate-close.html @@ -0,0 +1,15 @@ + + +CrowdFund.generateClose - + + + +contracts / CrowdFund / generateClose
+
+

generateClose

+ +fun generateClose(tx: TransactionBuilder, campaign: StateAndRef<State>, wallet: List<StateAndRef<State>>): Unit
+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/generate-pledge.html b/docs/build/html/api/contracts/-crowd-fund/generate-pledge.html new file mode 100644 index 0000000000..acbdad624b --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/generate-pledge.html @@ -0,0 +1,16 @@ + + +CrowdFund.generatePledge - + + + +contracts / CrowdFund / generatePledge
+
+

generatePledge

+ +fun generatePledge(tx: TransactionBuilder, campaign: StateAndRef<State>, subscriber: PublicKey): Unit
+

Updates the given partial transaction with an input/output/command to fund the opportunity.

+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/generate-register.html b/docs/build/html/api/contracts/-crowd-fund/generate-register.html new file mode 100644 index 0000000000..1462ebbd49 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/generate-register.html @@ -0,0 +1,17 @@ + + +CrowdFund.generateRegister - + + + +contracts / CrowdFund / generateRegister
+
+

generateRegister

+ +fun generateRegister(owner: PartyReference, fundingTarget: Amount, fundingName: String, closingTime: Instant): TransactionBuilder
+

Returns a transaction that registers a crowd-funding campaing, owned by the issuing institutions key. Does not update +an existing transaction because its not possible to register multiple campaigns in a single transaction

+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/index.html b/docs/build/html/api/contracts/-crowd-fund/index.html new file mode 100644 index 0000000000..a5a5ae0583 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/index.html @@ -0,0 +1,124 @@ + + +CrowdFund - + + + +contracts / CrowdFund
+
+

CrowdFund

+class CrowdFund : Contract
+

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+Discussion

This method of modelling a crowdfund is similar to how itd be done in Ethereum. The state is essentially a database +in which transactions evolve it over time. The state transition model we are using here though means its possible +to do it in a different approach, with some additional (not yet implemented) extensions to the model. In the UTXO +model you can do something more like the Lighthouse application (https://www.vinumeris.com/lighthouse) in which +the campaign data and peoples pledges are transmitted out of band, with a pledge being a partially signed +transaction which is valid only when merged with other transactions. The pledges can then be combined by the project +owner at the point at which sufficient amounts of money have been gathered, and this creates a valid transaction +that claims the money.

+

TODO: Prototype this second variant of crowdfunding once the core model has been sufficiently extended. +TODO: Experiment with the use of the javax.validation API to simplify the validation logic by annotating state members.

+

See JIRA bug PD-21 for further discussion and followup.

+
+
+Author
+James Carlyle
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Campaign +data class Campaign
+Commands +interface Commands : CommandData
+Pledge +data class Pledge
+State +data class State : ContractState
+

Constructors

+ + + + + + + +
+<init> +CrowdFund()

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+
+

Properties

+ + + + + + + +
+legalContractReference +val legalContractReference: SecureHash

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

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+generateClose +fun generateClose(tx: TransactionBuilder, campaign: StateAndRef<State>, wallet: List<StateAndRef<State>>): Unit
+generatePledge +fun generatePledge(tx: TransactionBuilder, campaign: StateAndRef<State>, subscriber: PublicKey): Unit

Updates the given partial transaction with an input/output/command to fund the opportunity.

+
+generateRegister +fun generateRegister(owner: PartyReference, fundingTarget: Amount, fundingName: String, closingTime: Instant): TransactionBuilder

Returns a transaction that registers a crowd-funding campaing, owned by the issuing institutions key. Does not update +an existing transaction because its not possible to register multiple campaigns in a single transaction

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

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

+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/legal-contract-reference.html b/docs/build/html/api/contracts/-crowd-fund/legal-contract-reference.html new file mode 100644 index 0000000000..37f5459898 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/legal-contract-reference.html @@ -0,0 +1,18 @@ + + +CrowdFund.legalContractReference - + + + +contracts / CrowdFund / legalContractReference
+
+

legalContractReference

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-crowd-fund/verify.html b/docs/build/html/api/contracts/-crowd-fund/verify.html new file mode 100644 index 0000000000..696d65a209 --- /dev/null +++ b/docs/build/html/api/contracts/-crowd-fund/verify.html @@ -0,0 +1,20 @@ + + +CrowdFund.verify - + + + +contracts / CrowdFund / verify
+
+

verify

+ +fun verify(tx: TransactionForVerification): Unit
+Overrides Contract.verify
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-d-u-m-m-y_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/contracts/-d-u-m-m-y_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..599bdbbd29 --- /dev/null +++ b/docs/build/html/api/contracts/-d-u-m-m-y_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,15 @@ + + +DUMMY_PROGRAM_ID - + + + +contracts / DUMMY_PROGRAM_ID
+
+

DUMMY_PROGRAM_ID

+ +val DUMMY_PROGRAM_ID: DummyContract
+
+
+ + diff --git a/docs/build/html/api/contracts/-deal-state/generate-agreement.html b/docs/build/html/api/contracts/-deal-state/generate-agreement.html new file mode 100644 index 0000000000..c8e252b7a5 --- /dev/null +++ b/docs/build/html/api/contracts/-deal-state/generate-agreement.html @@ -0,0 +1,22 @@ + + +DealState.generateAgreement - + + + +contracts / DealState / generateAgreement
+
+

generateAgreement

+ +abstract fun generateAgreement(): TransactionBuilder
+

Generate a partial transaction representing an agreement (command) to this deal, allowing a general +deal/agreement protocol to generate the necessary transaction for potential implementations

+

TODO: Currently this is the "inception" transaction but in future an offer of some description might be an input state ref

+

TODO: This should more likely be a method on the Contract (on a common interface) and the changes to reference a +Contract instance from a ContractState are imminent, at which point we can move this out of here

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-deal-state/index.html b/docs/build/html/api/contracts/-deal-state/index.html new file mode 100644 index 0000000000..9c6062cec7 --- /dev/null +++ b/docs/build/html/api/contracts/-deal-state/index.html @@ -0,0 +1,102 @@ + + +DealState - + + + +contracts / DealState
+
+

DealState

+interface DealState : LinearState
+

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies +implementation of general protocols that manipulate many agreement types.

+
+
+

Properties

+ + + + + + + + + + + +
+parties +abstract val parties: Array<Party>

Exposes the Parties involved in a generic way

+
+ref +abstract val ref: String

Human readable well known reference (e.g. trade reference)

+
+

Inherited Properties

+ + + + + + + +
+thread +abstract val thread: SecureHash

Unique thread id within the wallets of all parties

+
+

Functions

+ + + + + + + + + + + +
+generateAgreement +abstract fun generateAgreement(): TransactionBuilder

Generate a partial transaction representing an agreement (command) to this deal, allowing a general +deal/agreement protocol to generate the necessary transaction for potential implementations

+
+withPublicKey +abstract fun withPublicKey(before: Party, after: PublicKey): DealState
+

Inherited Functions

+ + + + + + + +
+isRelevant +abstract fun isRelevant(ourKeys: Set<PublicKey>): Boolean

true if this should be tracked by our wallet(s)

+
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + +
+FixableDealState +interface FixableDealState : DealState

Interface adding fixing specific methods

+
+ + diff --git a/docs/build/html/api/contracts/-deal-state/parties.html b/docs/build/html/api/contracts/-deal-state/parties.html new file mode 100644 index 0000000000..b7b4b39fca --- /dev/null +++ b/docs/build/html/api/contracts/-deal-state/parties.html @@ -0,0 +1,16 @@ + + +DealState.parties - + + + +contracts / DealState / parties
+
+

parties

+ +abstract val parties: Array<Party>
+

Exposes the Parties involved in a generic way

+
+
+ + diff --git a/docs/build/html/api/contracts/-deal-state/ref.html b/docs/build/html/api/contracts/-deal-state/ref.html new file mode 100644 index 0000000000..1dfd7b8849 --- /dev/null +++ b/docs/build/html/api/contracts/-deal-state/ref.html @@ -0,0 +1,16 @@ + + +DealState.ref - + + + +contracts / DealState / ref
+
+

ref

+ +abstract val ref: String
+

Human readable well known reference (e.g. trade reference)

+
+
+ + diff --git a/docs/build/html/api/contracts/-deal-state/with-public-key.html b/docs/build/html/api/contracts/-deal-state/with-public-key.html new file mode 100644 index 0000000000..3c52c95858 --- /dev/null +++ b/docs/build/html/api/contracts/-deal-state/with-public-key.html @@ -0,0 +1,15 @@ + + +DealState.withPublicKey - + + + +contracts / DealState / withPublicKey
+
+

withPublicKey

+ +abstract fun withPublicKey(before: Party, after: PublicKey): DealState
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-commands/-create/-init-.html b/docs/build/html/api/contracts/-dummy-contract/-commands/-create/-init-.html new file mode 100644 index 0000000000..ac53a90846 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-commands/-create/-init-.html @@ -0,0 +1,14 @@ + + +DummyContract.Commands.Create.<init> - + + + +contracts / DummyContract / Commands / Create / <init>
+
+

<init>

+Create()
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-commands/-create/index.html b/docs/build/html/api/contracts/-dummy-contract/-commands/-create/index.html new file mode 100644 index 0000000000..9502a44f8a --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-commands/-create/index.html @@ -0,0 +1,42 @@ + + +DummyContract.Commands.Create - + + + +contracts / DummyContract / Commands / Create
+
+

Create

+class Create : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Create()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-commands/index.html b/docs/build/html/api/contracts/-dummy-contract/-commands/index.html new file mode 100644 index 0000000000..1cc55db2b2 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-commands/index.html @@ -0,0 +1,36 @@ + + +DummyContract.Commands - + + + +contracts / DummyContract / Commands
+
+

Commands

+interface Commands : CommandData
+
+
+

Types

+ + + + + + + +
+Create +class Create : TypeOnlyCommandData, Commands
+

Inheritors

+ + + + + + + +
+Create +class Create : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-init-.html b/docs/build/html/api/contracts/-dummy-contract/-init-.html new file mode 100644 index 0000000000..77db1224c8 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-init-.html @@ -0,0 +1,14 @@ + + +DummyContract.<init> - + + + +contracts / DummyContract / <init>
+
+

<init>

+DummyContract()
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-state/-init-.html b/docs/build/html/api/contracts/-dummy-contract/-state/-init-.html new file mode 100644 index 0000000000..415c70aea7 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-state/-init-.html @@ -0,0 +1,14 @@ + + +DummyContract.State.<init> - + + + +contracts / DummyContract / State / <init>
+
+

<init>

+State(magicNumber: Int = 0)
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-state/contract.html b/docs/build/html/api/contracts/-dummy-contract/-state/contract.html new file mode 100644 index 0000000000..49eee5a787 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-state/contract.html @@ -0,0 +1,17 @@ + + +DummyContract.State.contract - + + + +contracts / DummyContract / State / contract
+
+

contract

+ +val contract: DummyContract
+Overrides ContractState.contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-state/index.html b/docs/build/html/api/contracts/-dummy-contract/-state/index.html new file mode 100644 index 0000000000..59158bb0aa --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-state/index.html @@ -0,0 +1,43 @@ + + +DummyContract.State - + + + +contracts / DummyContract / State
+
+

State

+class State : ContractState
+
+
+

Constructors

+ + + + + + + +
+<init> +State(magicNumber: Int = 0)
+

Properties

+ + + + + + + + + + + +
+contract +val contract: DummyContract

Contract by which the state belongs

+
+magicNumber +val magicNumber: Int
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/-state/magic-number.html b/docs/build/html/api/contracts/-dummy-contract/-state/magic-number.html new file mode 100644 index 0000000000..6151c4da66 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/-state/magic-number.html @@ -0,0 +1,15 @@ + + +DummyContract.State.magicNumber - + + + +contracts / DummyContract / State / magicNumber
+
+

magicNumber

+ +val magicNumber: Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/generate-initial.html b/docs/build/html/api/contracts/-dummy-contract/generate-initial.html new file mode 100644 index 0000000000..19657ff999 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/generate-initial.html @@ -0,0 +1,15 @@ + + +DummyContract.generateInitial - + + + +contracts / DummyContract / generateInitial
+
+

generateInitial

+ +fun generateInitial(owner: PartyReference, magicNumber: Int): TransactionBuilder
+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/index.html b/docs/build/html/api/contracts/-dummy-contract/index.html new file mode 100644 index 0000000000..11dd998b8c --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/index.html @@ -0,0 +1,76 @@ + + +DummyContract - + + + +contracts / DummyContract
+
+

DummyContract

+class DummyContract : Contract
+
+
+

Types

+ + + + + + + + + + + +
+Commands +interface Commands : CommandData
+State +class State : ContractState
+

Constructors

+ + + + + + + +
+<init> +DummyContract()
+

Properties

+ + + + + + + +
+legalContractReference +val legalContractReference: SecureHash

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

+
+

Functions

+ + + + + + + + + + + +
+generateInitial +fun generateInitial(owner: PartyReference, magicNumber: Int): TransactionBuilder
+verify +fun verify(tx: TransactionForVerification): Unit

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

+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/legal-contract-reference.html b/docs/build/html/api/contracts/-dummy-contract/legal-contract-reference.html new file mode 100644 index 0000000000..63bbb94b13 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/legal-contract-reference.html @@ -0,0 +1,18 @@ + + +DummyContract.legalContractReference - + + + +contracts / DummyContract / legalContractReference
+
+

legalContractReference

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-dummy-contract/verify.html b/docs/build/html/api/contracts/-dummy-contract/verify.html new file mode 100644 index 0000000000..f71aa682b9 --- /dev/null +++ b/docs/build/html/api/contracts/-dummy-contract/verify.html @@ -0,0 +1,20 @@ + + +DummyContract.verify - + + + +contracts / DummyContract / verify
+
+

verify

+ +fun verify(tx: TransactionForVerification): Unit
+Overrides Contract.verify
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-event/-init-.html b/docs/build/html/api/contracts/-event/-init-.html new file mode 100644 index 0000000000..4bf59a4296 --- /dev/null +++ b/docs/build/html/api/contracts/-event/-init-.html @@ -0,0 +1,15 @@ + + +Event.<init> - + + + +contracts / Event / <init>
+
+

<init>

+Event(date: LocalDate)
+

Event superclass - everything happens on a date.

+
+
+ + diff --git a/docs/build/html/api/contracts/-event/date.html b/docs/build/html/api/contracts/-event/date.html new file mode 100644 index 0000000000..5707dbac78 --- /dev/null +++ b/docs/build/html/api/contracts/-event/date.html @@ -0,0 +1,15 @@ + + +Event.date - + + + +contracts / Event / date
+
+

date

+ +val date: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-event/index.html b/docs/build/html/api/contracts/-event/index.html new file mode 100644 index 0000000000..079617066e --- /dev/null +++ b/docs/build/html/api/contracts/-event/index.html @@ -0,0 +1,50 @@ + + +Event - + + + +contracts / Event
+
+

Event

+open class Event
+

Event superclass - everything happens on a date.

+
+
+

Constructors

+ + + + + + + +
+<init> +Event(date: LocalDate)

Event superclass - everything happens on a date.

+
+

Properties

+ + + + + + + +
+date +val date: LocalDate
+

Inheritors

+ + + + + + + +
+PaymentEvent +abstract class PaymentEvent : Event

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+ + diff --git a/docs/build/html/api/contracts/-fixable-deal-state/generate-fix.html b/docs/build/html/api/contracts/-fixable-deal-state/generate-fix.html new file mode 100644 index 0000000000..9c852008ec --- /dev/null +++ b/docs/build/html/api/contracts/-fixable-deal-state/generate-fix.html @@ -0,0 +1,20 @@ + + +FixableDealState.generateFix - + + + +contracts / FixableDealState / generateFix
+
+

generateFix

+ +abstract fun generateFix(ptx: TransactionBuilder, oldStateRef: StateRef, fix: Fix): Unit
+

Generate a fixing command for this deal and fix

+

TODO: This would also likely move to methods on the Contract once the changes to reference +the Contract from the ContractState are in

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-fixable-deal-state/index.html b/docs/build/html/api/contracts/-fixable-deal-state/index.html new file mode 100644 index 0000000000..d7cebbd7cd --- /dev/null +++ b/docs/build/html/api/contracts/-fixable-deal-state/index.html @@ -0,0 +1,96 @@ + + +FixableDealState - + + + +contracts / FixableDealState
+
+

FixableDealState

+interface FixableDealState : DealState
+

Interface adding fixing specific methods

+
+
+

Inherited Properties

+ + + + + + + + + + + +
+parties +abstract val parties: Array<Party>

Exposes the Parties involved in a generic way

+
+ref +abstract val ref: String

Human readable well known reference (e.g. trade reference)

+
+

Functions

+ + + + + + + + + + + +
+generateFix +abstract fun generateFix(ptx: TransactionBuilder, oldStateRef: StateRef, fix: Fix): Unit

Generate a fixing command for this deal and fix

+
+nextFixingOf +abstract fun nextFixingOf(): FixOf?

When is the next fixing and what is the fixing for?

+
+

Inherited Functions

+ + + + + + + + + + + +
+generateAgreement +abstract fun generateAgreement(): TransactionBuilder

Generate a partial transaction representing an agreement (command) to this deal, allowing a general +deal/agreement protocol to generate the necessary transaction for potential implementations

+
+withPublicKey +abstract fun withPublicKey(before: Party, after: PublicKey): DealState
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + +
+State +data class State : FixableDealState

The state class contains the 4 major data classes

+
+ + diff --git a/docs/build/html/api/contracts/-fixable-deal-state/next-fixing-of.html b/docs/build/html/api/contracts/-fixable-deal-state/next-fixing-of.html new file mode 100644 index 0000000000..b8bc1a4b71 --- /dev/null +++ b/docs/build/html/api/contracts/-fixable-deal-state/next-fixing-of.html @@ -0,0 +1,19 @@ + + +FixableDealState.nextFixingOf - + + + +contracts / FixableDealState / nextFixingOf
+
+

nextFixingOf

+ +abstract fun nextFixingOf(): FixOf?
+

When is the next fixing and what is the fixing for?

+

TODO: In future we would use this to register for an event to trigger a/the fixing protocol

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate-payment-event/-c-s-v-header.html b/docs/build/html/api/contracts/-fixed-rate-payment-event/-c-s-v-header.html new file mode 100644 index 0000000000..95aec7f022 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate-payment-event/-c-s-v-header.html @@ -0,0 +1,15 @@ + + +FixedRatePaymentEvent.CSVHeader - + + + +contracts / FixedRatePaymentEvent / CSVHeader
+
+

CSVHeader

+ +val CSVHeader: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate-payment-event/-init-.html b/docs/build/html/api/contracts/-fixed-rate-payment-event/-init-.html new file mode 100644 index 0000000000..28756419a1 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate-payment-event/-init-.html @@ -0,0 +1,16 @@ + + +FixedRatePaymentEvent.<init> - + + + +contracts / FixedRatePaymentEvent / <init>
+
+

<init>

+FixedRatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, notional: Amount, rate: Rate)
+

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate-payment-event/flow.html b/docs/build/html/api/contracts/-fixed-rate-payment-event/flow.html new file mode 100644 index 0000000000..3ac11d5de1 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate-payment-event/flow.html @@ -0,0 +1,16 @@ + + +FixedRatePaymentEvent.flow - + + + +contracts / FixedRatePaymentEvent / flow
+
+

flow

+ +val flow: Amount
+Overrides RatePaymentEvent.flow
+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate-payment-event/index.html b/docs/build/html/api/contracts/-fixed-rate-payment-event/index.html new file mode 100644 index 0000000000..d2a4d6f811 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate-payment-event/index.html @@ -0,0 +1,132 @@ + + +FixedRatePaymentEvent - + + + +contracts / FixedRatePaymentEvent
+
+

FixedRatePaymentEvent

+class FixedRatePaymentEvent : RatePaymentEvent
+

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+
+

Constructors

+ + + + + + + +
+<init> +FixedRatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, notional: Amount, rate: Rate)

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+

Properties

+ + + + + + + +
+flow +val flow: Amount
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+accrualEndDate +val accrualEndDate: LocalDate
+accrualStartDate +val accrualStartDate: LocalDate
+dayCountBasisDay +val dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +val dayCountBasisYear: DayCountBasisYear
+dayCountFactor +val dayCountFactor: BigDecimal
+days +val days: Int
+notional +val notional: Amount
+rate +val rate: Rate
+

Functions

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

Inherited Functions

+ + + + + + + + + + + +
+asCSV +open fun asCSV(): String
+calculate +open fun calculate(): Amount
+

Companion Object Properties

+ + + + + + + +
+CSVHeader +val CSVHeader: String
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate-payment-event/to-string.html b/docs/build/html/api/contracts/-fixed-rate-payment-event/to-string.html new file mode 100644 index 0000000000..628858f51a --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate-payment-event/to-string.html @@ -0,0 +1,15 @@ + + +FixedRatePaymentEvent.toString - + + + +contracts / FixedRatePaymentEvent / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate/-init-.html b/docs/build/html/api/contracts/-fixed-rate/-init-.html new file mode 100644 index 0000000000..3d706c48d3 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate/-init-.html @@ -0,0 +1,15 @@ + + +FixedRate.<init> - + + + +contracts / FixedRate / <init>
+
+

<init>

+FixedRate(ratioUnit: RatioUnit)
+

A very basic subclass to represent a fixed rate.

+
+
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate/index.html b/docs/build/html/api/contracts/-fixed-rate/index.html new file mode 100644 index 0000000000..f5a6a32404 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate/index.html @@ -0,0 +1,66 @@ + + +FixedRate - + + + +contracts / FixedRate
+
+

FixedRate

+class FixedRate : Rate
+

A very basic subclass to represent a fixed rate.

+
+
+

Constructors

+ + + + + + + +
+<init> +FixedRate(ratioUnit: RatioUnit)

A very basic subclass to represent a fixed rate.

+
+

Inherited Properties

+ + + + + + + +
+ratioUnit +val ratioUnit: RatioUnit?
+

Functions

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

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+ + diff --git a/docs/build/html/api/contracts/-fixed-rate/to-string.html b/docs/build/html/api/contracts/-fixed-rate/to-string.html new file mode 100644 index 0000000000..1487d96da2 --- /dev/null +++ b/docs/build/html/api/contracts/-fixed-rate/to-string.html @@ -0,0 +1,15 @@ + + +FixedRate.toString - + + + +contracts / FixedRate / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/-c-s-v-header.html b/docs/build/html/api/contracts/-floating-rate-payment-event/-c-s-v-header.html new file mode 100644 index 0000000000..8e13bdc41c --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/-c-s-v-header.html @@ -0,0 +1,15 @@ + + +FloatingRatePaymentEvent.CSVHeader - + + + +contracts / FloatingRatePaymentEvent / CSVHeader
+
+

CSVHeader

+ +val CSVHeader: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/-init-.html b/docs/build/html/api/contracts/-floating-rate-payment-event/-init-.html new file mode 100644 index 0000000000..ff95f11fbc --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/-init-.html @@ -0,0 +1,16 @@ + + +FloatingRatePaymentEvent.<init> - + + + +contracts / FloatingRatePaymentEvent / <init>
+
+

<init>

+FloatingRatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, fixingDate: LocalDate, notional: Amount, rate: Rate)
+

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/as-c-s-v.html b/docs/build/html/api/contracts/-floating-rate-payment-event/as-c-s-v.html new file mode 100644 index 0000000000..5335b30094 --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/as-c-s-v.html @@ -0,0 +1,16 @@ + + +FloatingRatePaymentEvent.asCSV - + + + +contracts / FloatingRatePaymentEvent / asCSV
+
+

asCSV

+ +fun asCSV(): String
+Overrides RatePaymentEvent.asCSV
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/fixing-date.html b/docs/build/html/api/contracts/-floating-rate-payment-event/fixing-date.html new file mode 100644 index 0000000000..de243088ae --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/fixing-date.html @@ -0,0 +1,15 @@ + + +FloatingRatePaymentEvent.fixingDate - + + + +contracts / FloatingRatePaymentEvent / fixingDate
+
+

fixingDate

+ +val fixingDate: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/flow.html b/docs/build/html/api/contracts/-floating-rate-payment-event/flow.html new file mode 100644 index 0000000000..5e4567e5be --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/flow.html @@ -0,0 +1,16 @@ + + +FloatingRatePaymentEvent.flow - + + + +contracts / FloatingRatePaymentEvent / flow
+
+

flow

+ +val flow: Amount
+Overrides RatePaymentEvent.flow
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/index.html b/docs/build/html/api/contracts/-floating-rate-payment-event/index.html new file mode 100644 index 0000000000..37145a773b --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/index.html @@ -0,0 +1,145 @@ + + +FloatingRatePaymentEvent - + + + +contracts / FloatingRatePaymentEvent
+
+

FloatingRatePaymentEvent

+class FloatingRatePaymentEvent : RatePaymentEvent
+

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+
+

Constructors

+ + + + + + + +
+<init> +FloatingRatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, fixingDate: LocalDate, notional: Amount, rate: Rate)

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+

Properties

+ + + + + + + + + + + +
+fixingDate +val fixingDate: LocalDate
+flow +val flow: Amount
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+accrualEndDate +val accrualEndDate: LocalDate
+accrualStartDate +val accrualStartDate: LocalDate
+dayCountBasisDay +val dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +val dayCountBasisYear: DayCountBasisYear
+dayCountFactor +val dayCountFactor: BigDecimal
+days +val days: Int
+notional +val notional: Amount
+rate +val rate: Rate
+

Functions

+ + + + + + + + + + + + + + + +
+asCSV +fun asCSV(): String
+toString +fun toString(): String
+withNewRate +fun withNewRate(newRate: Rate): FloatingRatePaymentEvent

Used for making immutables

+
+

Inherited Functions

+ + + + + + + +
+calculate +open fun calculate(): Amount
+

Companion Object Properties

+ + + + + + + +
+CSVHeader +val CSVHeader: String
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/to-string.html b/docs/build/html/api/contracts/-floating-rate-payment-event/to-string.html new file mode 100644 index 0000000000..7cf015a43e --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/to-string.html @@ -0,0 +1,15 @@ + + +FloatingRatePaymentEvent.toString - + + + +contracts / FloatingRatePaymentEvent / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate-payment-event/with-new-rate.html b/docs/build/html/api/contracts/-floating-rate-payment-event/with-new-rate.html new file mode 100644 index 0000000000..2c969decb9 --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate-payment-event/with-new-rate.html @@ -0,0 +1,16 @@ + + +FloatingRatePaymentEvent.withNewRate - + + + +contracts / FloatingRatePaymentEvent / withNewRate
+
+

withNewRate

+ +fun withNewRate(newRate: Rate): FloatingRatePaymentEvent
+

Used for making immutables

+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate/-init-.html b/docs/build/html/api/contracts/-floating-rate/-init-.html new file mode 100644 index 0000000000..9543cad6d0 --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate/-init-.html @@ -0,0 +1,15 @@ + + +FloatingRate.<init> - + + + +contracts / FloatingRate / <init>
+
+

<init>

+FloatingRate()
+

The parent class of the Floating rate classes

+
+
+ + diff --git a/docs/build/html/api/contracts/-floating-rate/index.html b/docs/build/html/api/contracts/-floating-rate/index.html new file mode 100644 index 0000000000..3d58836780 --- /dev/null +++ b/docs/build/html/api/contracts/-floating-rate/index.html @@ -0,0 +1,68 @@ + + +FloatingRate - + + + +contracts / FloatingRate
+
+

FloatingRate

+open class FloatingRate : Rate
+

The parent class of the Floating rate classes

+
+
+

Constructors

+ + + + + + + +
+<init> +FloatingRate()

The parent class of the Floating rate classes

+
+

Inherited Properties

+ + + + + + + +
+ratioUnit +val ratioUnit: RatioUnit?
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+

Inheritors

+ + + + + + + +
+ReferenceRate +class ReferenceRate : FloatingRate

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+ + diff --git a/docs/build/html/api/contracts/-i-r-s_-p-r-o-g-r-a-m_-i-d.html b/docs/build/html/api/contracts/-i-r-s_-p-r-o-g-r-a-m_-i-d.html new file mode 100644 index 0000000000..a9870016b3 --- /dev/null +++ b/docs/build/html/api/contracts/-i-r-s_-p-r-o-g-r-a-m_-i-d.html @@ -0,0 +1,15 @@ + + +IRS_PROGRAM_ID - + + + +contracts / IRS_PROGRAM_ID
+
+

IRS_PROGRAM_ID

+ +val IRS_PROGRAM_ID: InterestRateSwap
+
+
+ + diff --git a/docs/build/html/api/contracts/-insufficient-balance-exception/-init-.html b/docs/build/html/api/contracts/-insufficient-balance-exception/-init-.html new file mode 100644 index 0000000000..8968497aa1 --- /dev/null +++ b/docs/build/html/api/contracts/-insufficient-balance-exception/-init-.html @@ -0,0 +1,14 @@ + + +InsufficientBalanceException.<init> - + + + +contracts / InsufficientBalanceException / <init>
+
+

<init>

+InsufficientBalanceException(amountMissing: Amount)
+
+
+ + diff --git a/docs/build/html/api/contracts/-insufficient-balance-exception/amount-missing.html b/docs/build/html/api/contracts/-insufficient-balance-exception/amount-missing.html new file mode 100644 index 0000000000..1859ebcc8b --- /dev/null +++ b/docs/build/html/api/contracts/-insufficient-balance-exception/amount-missing.html @@ -0,0 +1,15 @@ + + +InsufficientBalanceException.amountMissing - + + + +contracts / InsufficientBalanceException / amountMissing
+
+

amountMissing

+ +val amountMissing: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-insufficient-balance-exception/index.html b/docs/build/html/api/contracts/-insufficient-balance-exception/index.html new file mode 100644 index 0000000000..eb79ffe2f4 --- /dev/null +++ b/docs/build/html/api/contracts/-insufficient-balance-exception/index.html @@ -0,0 +1,36 @@ + + +InsufficientBalanceException - + + + +contracts / InsufficientBalanceException
+
+

InsufficientBalanceException

+class InsufficientBalanceException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +InsufficientBalanceException(amountMissing: Amount)
+

Properties

+ + + + + + + +
+amountMissing +val amountMissing: Amount
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/-init-.html new file mode 100644 index 0000000000..106c73c07a --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/-init-.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.Calculation.<init> - + + + +contracts / InterestRateSwap / Calculation / <init>
+
+

<init>

+Calculation(expression: Expression, floatingLegPaymentSchedule: Map<LocalDate, FloatingRatePaymentEvent>, fixedLegPaymentSchedule: Map<LocalDate, FixedRatePaymentEvent>)
+

The Calculation data class is "mutable" through out the life of the swap, as in, its the only thing that contains +data that will changed from state to state (Recall that the design insists that everything is immutable, so we actually +copy / update for each transition)

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/apply-fixing.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/apply-fixing.html new file mode 100644 index 0000000000..1c7c359238 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/apply-fixing.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.Calculation.applyFixing - + + + +contracts / InterestRateSwap / Calculation / applyFixing
+
+

applyFixing

+ +fun applyFixing(date: LocalDate, newRate: Rate): Calculation
+

Returns a copy after modifying (applying) the fixing for that date.

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/export-schedule.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/export-schedule.html new file mode 100644 index 0000000000..3796d4443a --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/export-schedule.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Calculation.exportSchedule - + + + +contracts / InterestRateSwap / Calculation / exportSchedule
+
+

exportSchedule

+ +fun exportSchedule(): Unit
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/expression.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/expression.html new file mode 100644 index 0000000000..b32d90038d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/expression.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Calculation.expression - + + + +contracts / InterestRateSwap / Calculation / expression
+
+

expression

+ +val expression: Expression
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/fixed-leg-payment-schedule.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/fixed-leg-payment-schedule.html new file mode 100644 index 0000000000..edac0b566f --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/fixed-leg-payment-schedule.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Calculation.fixedLegPaymentSchedule - + + + +contracts / InterestRateSwap / Calculation / fixedLegPaymentSchedule
+
+

fixedLegPaymentSchedule

+ +val fixedLegPaymentSchedule: Map<LocalDate, FixedRatePaymentEvent>
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/floating-leg-payment-schedule.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/floating-leg-payment-schedule.html new file mode 100644 index 0000000000..0d4011afb5 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/floating-leg-payment-schedule.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Calculation.floatingLegPaymentSchedule - + + + +contracts / InterestRateSwap / Calculation / floatingLegPaymentSchedule
+
+

floatingLegPaymentSchedule

+ +val floatingLegPaymentSchedule: Map<LocalDate, FloatingRatePaymentEvent>
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/get-fixing.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/get-fixing.html new file mode 100644 index 0000000000..a7a1d17e85 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/get-fixing.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.Calculation.getFixing - + + + +contracts / InterestRateSwap / Calculation / getFixing
+
+

getFixing

+ +fun getFixing(date: LocalDate): FloatingRatePaymentEvent
+

Returns the fixing for that date

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/index.html new file mode 100644 index 0000000000..055e01ccc9 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/index.html @@ -0,0 +1,86 @@ + + +InterestRateSwap.Calculation - + + + +contracts / InterestRateSwap / Calculation
+
+

Calculation

+data class Calculation
+

The Calculation data class is "mutable" through out the life of the swap, as in, its the only thing that contains +data that will changed from state to state (Recall that the design insists that everything is immutable, so we actually +copy / update for each transition)

+
+
+

Constructors

+ + + + + + + +
+<init> +Calculation(expression: Expression, floatingLegPaymentSchedule: Map<LocalDate, FloatingRatePaymentEvent>, fixedLegPaymentSchedule: Map<LocalDate, FixedRatePaymentEvent>)

The Calculation data class is "mutable" through out the life of the swap, as in, its the only thing that contains +data that will changed from state to state (Recall that the design insists that everything is immutable, so we actually +copy / update for each transition)

+
+

Properties

+ + + + + + + + + + + + + + + +
+expression +val expression: Expression
+fixedLegPaymentSchedule +val fixedLegPaymentSchedule: Map<LocalDate, FixedRatePaymentEvent>
+floatingLegPaymentSchedule +val floatingLegPaymentSchedule: Map<LocalDate, FloatingRatePaymentEvent>
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+applyFixing +fun applyFixing(date: LocalDate, newRate: Rate): Calculation

Returns a copy after modifying (applying) the fixing for that date.

+
+exportSchedule +fun exportSchedule(): Unit
+getFixing +fun getFixing(date: LocalDate): FloatingRatePaymentEvent

Returns the fixing for that date

+
+nextFixingDate +fun nextFixingDate(): LocalDate?

Gets the date of the next fixing.

+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-calculation/next-fixing-date.html b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/next-fixing-date.html new file mode 100644 index 0000000000..dd5d3faacd --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-calculation/next-fixing-date.html @@ -0,0 +1,18 @@ + + +InterestRateSwap.Calculation.nextFixingDate - + + + +contracts / InterestRateSwap / Calculation / nextFixingDate
+
+

nextFixingDate

+ +fun nextFixingDate(): LocalDate?
+

Gets the date of the next fixing.

+Return
+LocalDate or null if no more fixings.
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/-init-.html new file mode 100644 index 0000000000..27db15a88f --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.Commands.Agree.<init> - + + + +contracts / InterestRateSwap / Commands / Agree / <init>
+
+

<init>

+Agree()
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/index.html new file mode 100644 index 0000000000..6de47ac409 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-agree/index.html @@ -0,0 +1,42 @@ + + +InterestRateSwap.Commands.Agree - + + + +contracts / InterestRateSwap / Commands / Agree
+
+

Agree

+class Agree : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Agree()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/-init-.html new file mode 100644 index 0000000000..e22a3cd566 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.Commands.Fix.<init> - + + + +contracts / InterestRateSwap / Commands / Fix / <init>
+
+

<init>

+Fix()
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/index.html new file mode 100644 index 0000000000..a82b427aa2 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-fix/index.html @@ -0,0 +1,42 @@ + + +InterestRateSwap.Commands.Fix - + + + +contracts / InterestRateSwap / Commands / Fix
+
+

Fix

+class Fix : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Fix()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/-init-.html new file mode 100644 index 0000000000..15cb25f580 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.Commands.Mature.<init> - + + + +contracts / InterestRateSwap / Commands / Mature / <init>
+
+

<init>

+Mature()
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/index.html new file mode 100644 index 0000000000..3ba7ad8410 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-mature/index.html @@ -0,0 +1,42 @@ + + +InterestRateSwap.Commands.Mature - + + + +contracts / InterestRateSwap / Commands / Mature
+
+

Mature

+class Mature : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Mature()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/-init-.html new file mode 100644 index 0000000000..c45d98e3c3 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.Commands.Pay.<init> - + + + +contracts / InterestRateSwap / Commands / Pay / <init>
+
+

<init>

+Pay()
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/index.html new file mode 100644 index 0000000000..1f16d74d50 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/-pay/index.html @@ -0,0 +1,42 @@ + + +InterestRateSwap.Commands.Pay - + + + +contracts / InterestRateSwap / Commands / Pay
+
+

Pay

+class Pay : TypeOnlyCommandData, Commands
+
+
+

Constructors

+ + + + + + + +
+<init> +Pay()
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-commands/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-commands/index.html new file mode 100644 index 0000000000..13f0e1752d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-commands/index.html @@ -0,0 +1,72 @@ + + +InterestRateSwap.Commands - + + + +contracts / InterestRateSwap / Commands
+
+

Commands

+interface Commands : CommandData
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Agree +class Agree : TypeOnlyCommandData, Commands
+Fix +class Fix : TypeOnlyCommandData, Commands
+Mature +class Mature : TypeOnlyCommandData, Commands
+Pay +class Pay : TypeOnlyCommandData, Commands
+

Inheritors

+ + + + + + + + + + + + + + + + + + + +
+Agree +class Agree : TypeOnlyCommandData, Commands
+Fix +class Fix : TypeOnlyCommandData, Commands
+Mature +class Mature : TypeOnlyCommandData, Commands
+Pay +class Pay : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/-init-.html new file mode 100644 index 0000000000..8f5d29858b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.CommonLeg.<init> - + + + +contracts / InterestRateSwap / CommonLeg / <init>
+
+

<init>

+CommonLeg(notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment)
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-day.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-day.html new file mode 100644 index 0000000000..3b39b9e4a6 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-day.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.dayCountBasisDay - + + + +contracts / InterestRateSwap / CommonLeg / dayCountBasisDay
+
+

dayCountBasisDay

+ +var dayCountBasisDay: DayCountBasisDay
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-year.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-year.html new file mode 100644 index 0000000000..fe80d1a391 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-count-basis-year.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.dayCountBasisYear - + + + +contracts / InterestRateSwap / CommonLeg / dayCountBasisYear
+
+

dayCountBasisYear

+ +var dayCountBasisYear: DayCountBasisYear
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-in-month.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-in-month.html new file mode 100644 index 0000000000..4ca68c4b5a --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/day-in-month.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.dayInMonth - + + + +contracts / InterestRateSwap / CommonLeg / dayInMonth
+
+

dayInMonth

+ +var dayInMonth: Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date-adjustment.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date-adjustment.html new file mode 100644 index 0000000000..683d0688ce --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date-adjustment.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.effectiveDateAdjustment - + + + +contracts / InterestRateSwap / CommonLeg / effectiveDateAdjustment
+
+

effectiveDateAdjustment

+ +val effectiveDateAdjustment: DateRollConvention?
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date.html new file mode 100644 index 0000000000..170610ab9d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/effective-date.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.effectiveDate - + + + +contracts / InterestRateSwap / CommonLeg / effectiveDate
+
+

effectiveDate

+ +val effectiveDate: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/equals.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/equals.html new file mode 100644 index 0000000000..05340b8474 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/equals.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.equals - + + + +contracts / InterestRateSwap / CommonLeg / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/hash-code.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/hash-code.html new file mode 100644 index 0000000000..4c65eeed4e --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/hash-code.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.hashCode - + + + +contracts / InterestRateSwap / CommonLeg / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/index.html new file mode 100644 index 0000000000..3f707176e6 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/index.html @@ -0,0 +1,148 @@ + + +InterestRateSwap.CommonLeg - + + + +contracts / InterestRateSwap / CommonLeg
+
+

CommonLeg

+abstract class CommonLeg
+
+
+

Constructors

+ + + + + + + +
+<init> +CommonLeg(notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+dayCountBasisDay +var dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +var dayCountBasisYear: DayCountBasisYear
+dayInMonth +var dayInMonth: Int
+effectiveDate +val effectiveDate: LocalDate
+effectiveDateAdjustment +val effectiveDateAdjustment: DateRollConvention?
+interestPeriodAdjustment +var interestPeriodAdjustment: AccrualAdjustment
+notional +val notional: Amount
+paymentCalendar +var paymentCalendar: BusinessCalendar
+paymentDelay +var paymentDelay: Int
+paymentFrequency +val paymentFrequency: Frequency
+paymentRule +var paymentRule: PaymentRule
+terminationDate +val terminationDate: LocalDate
+terminationDateAdjustment +val terminationDateAdjustment: DateRollConvention?
+

Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+

Inheritors

+ + + + + + + + + + + +
+FixedLeg +class FixedLeg : CommonLeg
+FloatingLeg +class FloatingLeg : CommonLeg
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/interest-period-adjustment.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/interest-period-adjustment.html new file mode 100644 index 0000000000..4411b85b13 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/interest-period-adjustment.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.interestPeriodAdjustment - + + + +contracts / InterestRateSwap / CommonLeg / interestPeriodAdjustment
+
+

interestPeriodAdjustment

+ +var interestPeriodAdjustment: AccrualAdjustment
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/notional.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/notional.html new file mode 100644 index 0000000000..42ac31720b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/notional.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.notional - + + + +contracts / InterestRateSwap / CommonLeg / notional
+
+

notional

+ +val notional: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-calendar.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-calendar.html new file mode 100644 index 0000000000..56fa1728fa --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-calendar.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.paymentCalendar - + + + +contracts / InterestRateSwap / CommonLeg / paymentCalendar
+
+

paymentCalendar

+ +var paymentCalendar: BusinessCalendar
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-delay.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-delay.html new file mode 100644 index 0000000000..7ed155c2a1 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-delay.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.paymentDelay - + + + +contracts / InterestRateSwap / CommonLeg / paymentDelay
+
+

paymentDelay

+ +var paymentDelay: Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-frequency.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-frequency.html new file mode 100644 index 0000000000..22b6bc2866 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-frequency.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.paymentFrequency - + + + +contracts / InterestRateSwap / CommonLeg / paymentFrequency
+
+

paymentFrequency

+ +val paymentFrequency: Frequency
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-rule.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-rule.html new file mode 100644 index 0000000000..113b552c09 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/payment-rule.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.paymentRule - + + + +contracts / InterestRateSwap / CommonLeg / paymentRule
+
+

paymentRule

+ +var paymentRule: PaymentRule
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date-adjustment.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date-adjustment.html new file mode 100644 index 0000000000..c93fa6654c --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date-adjustment.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.terminationDateAdjustment - + + + +contracts / InterestRateSwap / CommonLeg / terminationDateAdjustment
+
+

terminationDateAdjustment

+ +val terminationDateAdjustment: DateRollConvention?
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date.html new file mode 100644 index 0000000000..934d7a5d5a --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/termination-date.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.terminationDate - + + + +contracts / InterestRateSwap / CommonLeg / terminationDate
+
+

terminationDate

+ +val terminationDate: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/to-string.html b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/to-string.html new file mode 100644 index 0000000000..a039992476 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common-leg/to-string.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.CommonLeg.toString - + + + +contracts / InterestRateSwap / CommonLeg / toString
+
+

toString

+ +open fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/-init-.html new file mode 100644 index 0000000000..1350bf6fc6 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/-init-.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.<init> - + + + +contracts / InterestRateSwap / Common / <init>
+
+

<init>

+Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount, threshold: Amount, minimumTransferAmount: Amount, rounding: Amount, valuationDate: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)
+

This Common area contains all the information that is not leg specific.

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/address-for-transfers.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/address-for-transfers.html new file mode 100644 index 0000000000..6ea59085bd --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/address-for-transfers.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.addressForTransfers - + + + +contracts / InterestRateSwap / Common / addressForTransfers
+
+

addressForTransfers

+ +val addressForTransfers: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/base-currency.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/base-currency.html new file mode 100644 index 0000000000..760e4326b4 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/base-currency.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.baseCurrency - + + + +contracts / InterestRateSwap / Common / baseCurrency
+
+

baseCurrency

+ +val baseCurrency: Currency
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/daily-interest-amount.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/daily-interest-amount.html new file mode 100644 index 0000000000..fe2a5be0f6 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/daily-interest-amount.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.dailyInterestAmount - + + + +contracts / InterestRateSwap / Common / dailyInterestAmount
+
+

dailyInterestAmount

+ +val dailyInterestAmount: Expression
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-credit-support.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-credit-support.html new file mode 100644 index 0000000000..8b1c7feb6d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-credit-support.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.eligibleCreditSupport - + + + +contracts / InterestRateSwap / Common / eligibleCreditSupport
+
+

eligibleCreditSupport

+ +val eligibleCreditSupport: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-currency.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-currency.html new file mode 100644 index 0000000000..e1e2ecd9b8 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/eligible-currency.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.eligibleCurrency - + + + +contracts / InterestRateSwap / Common / eligibleCurrency
+
+

eligibleCurrency

+ +val eligibleCurrency: Currency
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/exposure.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/exposure.html new file mode 100644 index 0000000000..b8dd69b197 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/exposure.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.exposure - + + + +contracts / InterestRateSwap / Common / exposure
+
+

exposure

+ +val exposure: UnknownType
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/hash-legal-docs.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/hash-legal-docs.html new file mode 100644 index 0000000000..8d42863d79 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/hash-legal-docs.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.hashLegalDocs - + + + +contracts / InterestRateSwap / Common / hashLegalDocs
+
+

hashLegalDocs

+ +val hashLegalDocs: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/independent-amounts.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/independent-amounts.html new file mode 100644 index 0000000000..91eb6252fa --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/independent-amounts.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.independentAmounts - + + + +contracts / InterestRateSwap / Common / independentAmounts
+
+

independentAmounts

+ +val independentAmounts: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/index.html new file mode 100644 index 0000000000..db18d66344 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/index.html @@ -0,0 +1,134 @@ + + +InterestRateSwap.Common - + + + +contracts / InterestRateSwap / Common
+
+

Common

+data class Common
+

This Common area contains all the information that is not leg specific.

+
+
+

Constructors

+ + + + + + + +
+<init> +Common(baseCurrency: Currency, eligibleCurrency: Currency, eligibleCreditSupport: String, independentAmounts: Amount, threshold: Amount, minimumTransferAmount: Amount, rounding: Amount, valuationDate: String, notificationTime: String, resolutionTime: String, interestRate: ReferenceRate, addressForTransfers: String, exposure: UnknownType, localBusinessDay: BusinessCalendar, dailyInterestAmount: Expression, tradeID: String, hashLegalDocs: String)

This Common area contains all the information that is not leg specific.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addressForTransfers +val addressForTransfers: String
+baseCurrency +val baseCurrency: Currency
+dailyInterestAmount +val dailyInterestAmount: Expression
+eligibleCreditSupport +val eligibleCreditSupport: String
+eligibleCurrency +val eligibleCurrency: Currency
+exposure +val exposure: UnknownType
+hashLegalDocs +val hashLegalDocs: String
+independentAmounts +val independentAmounts: Amount
+interestRate +val interestRate: ReferenceRate
+localBusinessDay +val localBusinessDay: BusinessCalendar
+minimumTransferAmount +val minimumTransferAmount: Amount
+notificationTime +val notificationTime: String
+resolutionTime +val resolutionTime: String
+rounding +val rounding: Amount
+threshold +val threshold: Amount
+tradeID +val tradeID: String
+valuationDate +val valuationDate: String
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/interest-rate.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/interest-rate.html new file mode 100644 index 0000000000..4bf78464d8 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/interest-rate.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.interestRate - + + + +contracts / InterestRateSwap / Common / interestRate
+
+

interestRate

+ +val interestRate: ReferenceRate
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/local-business-day.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/local-business-day.html new file mode 100644 index 0000000000..0c92e142da --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/local-business-day.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.localBusinessDay - + + + +contracts / InterestRateSwap / Common / localBusinessDay
+
+

localBusinessDay

+ +val localBusinessDay: BusinessCalendar
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/minimum-transfer-amount.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/minimum-transfer-amount.html new file mode 100644 index 0000000000..56a7e30845 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/minimum-transfer-amount.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.minimumTransferAmount - + + + +contracts / InterestRateSwap / Common / minimumTransferAmount
+
+

minimumTransferAmount

+ +val minimumTransferAmount: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/notification-time.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/notification-time.html new file mode 100644 index 0000000000..3bcfe9d833 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/notification-time.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.notificationTime - + + + +contracts / InterestRateSwap / Common / notificationTime
+
+

notificationTime

+ +val notificationTime: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/resolution-time.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/resolution-time.html new file mode 100644 index 0000000000..e5d7eb8cb7 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/resolution-time.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.resolutionTime - + + + +contracts / InterestRateSwap / Common / resolutionTime
+
+

resolutionTime

+ +val resolutionTime: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/rounding.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/rounding.html new file mode 100644 index 0000000000..43591530f4 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/rounding.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.rounding - + + + +contracts / InterestRateSwap / Common / rounding
+
+

rounding

+ +val rounding: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/threshold.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/threshold.html new file mode 100644 index 0000000000..337d9b0f46 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/threshold.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.threshold - + + + +contracts / InterestRateSwap / Common / threshold
+
+

threshold

+ +val threshold: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/trade-i-d.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/trade-i-d.html new file mode 100644 index 0000000000..4fc9c87ab7 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/trade-i-d.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.tradeID - + + + +contracts / InterestRateSwap / Common / tradeID
+
+

tradeID

+ +val tradeID: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-common/valuation-date.html b/docs/build/html/api/contracts/-interest-rate-swap/-common/valuation-date.html new file mode 100644 index 0000000000..a90de611be --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-common/valuation-date.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.Common.valuationDate - + + + +contracts / InterestRateSwap / Common / valuationDate
+
+

valuationDate

+ +val valuationDate: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/-init-.html new file mode 100644 index 0000000000..ce86f8551b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.FixedLeg.<init> - + + + +contracts / InterestRateSwap / FixedLeg / <init>
+
+

<init>

+FixedLeg(fixedRatePayer: Party, notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment, fixedRate: FixedRate, rollConvention: DateRollConvention)
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/equals.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/equals.html new file mode 100644 index 0000000000..8ca503bd6b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/equals.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FixedLeg.equals - + + + +contracts / InterestRateSwap / FixedLeg / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+Overrides CommonLeg.equals
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate-payer.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate-payer.html new file mode 100644 index 0000000000..7c1d1334d9 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate-payer.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FixedLeg.fixedRatePayer - + + + +contracts / InterestRateSwap / FixedLeg / fixedRatePayer
+
+

fixedRatePayer

+ +var fixedRatePayer: Party
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate.html new file mode 100644 index 0000000000..fb1839a8c8 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/fixed-rate.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FixedLeg.fixedRate - + + + +contracts / InterestRateSwap / FixedLeg / fixedRate
+
+

fixedRate

+ +var fixedRate: FixedRate
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/hash-code.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/hash-code.html new file mode 100644 index 0000000000..0cff02cac0 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/hash-code.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FixedLeg.hashCode - + + + +contracts / InterestRateSwap / FixedLeg / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+Overrides CommonLeg.hashCode
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/index.html new file mode 100644 index 0000000000..249d04b5e9 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/index.html @@ -0,0 +1,154 @@ + + +InterestRateSwap.FixedLeg - + + + +contracts / InterestRateSwap / FixedLeg
+
+

FixedLeg

+class FixedLeg : CommonLeg
+
+
+

Constructors

+ + + + + + + +
+<init> +FixedLeg(fixedRatePayer: Party, notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment, fixedRate: FixedRate, rollConvention: DateRollConvention)
+

Properties

+ + + + + + + + + + + + + + + +
+fixedRate +var fixedRate: FixedRate
+fixedRatePayer +var fixedRatePayer: Party
+rollConvention +var rollConvention: DateRollConvention
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+dayCountBasisDay +var dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +var dayCountBasisYear: DayCountBasisYear
+dayInMonth +var dayInMonth: Int
+effectiveDate +val effectiveDate: LocalDate
+effectiveDateAdjustment +val effectiveDateAdjustment: DateRollConvention?
+interestPeriodAdjustment +var interestPeriodAdjustment: AccrualAdjustment
+notional +val notional: Amount
+paymentCalendar +var paymentCalendar: BusinessCalendar
+paymentDelay +var paymentDelay: Int
+paymentFrequency +val paymentFrequency: Frequency
+paymentRule +var paymentRule: PaymentRule
+terminationDate +val terminationDate: LocalDate
+terminationDateAdjustment +val terminationDateAdjustment: DateRollConvention?
+

Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/roll-convention.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/roll-convention.html new file mode 100644 index 0000000000..3226758b71 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/roll-convention.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FixedLeg.rollConvention - + + + +contracts / InterestRateSwap / FixedLeg / rollConvention
+
+

rollConvention

+ +var rollConvention: DateRollConvention
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/to-string.html b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/to-string.html new file mode 100644 index 0000000000..70e52dd709 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-fixed-leg/to-string.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FixedLeg.toString - + + + +contracts / InterestRateSwap / FixedLeg / toString
+
+

toString

+ +open fun toString(): String
+Overrides CommonLeg.toString
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/--index--.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/--index--.html new file mode 100644 index 0000000000..ac19c7366c --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/--index--.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.index - + + + +contracts / InterestRateSwap / FloatingLeg / index
+
+

index

+ +var index: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/-init-.html new file mode 100644 index 0000000000..f1d12a2b9c --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/-init-.html @@ -0,0 +1,14 @@ + + +InterestRateSwap.FloatingLeg.<init> - + + + +contracts / InterestRateSwap / FloatingLeg / <init>
+
+

<init>

+FloatingLeg(floatingRatePayer: Party, notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment, rollConvention: DateRollConvention, fixingRollConvention: DateRollConvention, resetDayInMonth: Int, fixingPeriod: DateOffset, resetRule: PaymentRule, fixingsPerPayment: Frequency, fixingCalendar: BusinessCalendar, index: String, indexSource: String, indexTenor: Tenor)
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/equals.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/equals.html new file mode 100644 index 0000000000..9c3871ea6b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/equals.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FloatingLeg.equals - + + + +contracts / InterestRateSwap / FloatingLeg / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+Overrides CommonLeg.equals
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-calendar.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-calendar.html new file mode 100644 index 0000000000..fb0a4000a0 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-calendar.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.fixingCalendar - + + + +contracts / InterestRateSwap / FloatingLeg / fixingCalendar
+
+

fixingCalendar

+ +var fixingCalendar: BusinessCalendar
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-period.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-period.html new file mode 100644 index 0000000000..9f861e53b1 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-period.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.fixingPeriod - + + + +contracts / InterestRateSwap / FloatingLeg / fixingPeriod
+
+

fixingPeriod

+ +var fixingPeriod: DateOffset
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-roll-convention.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-roll-convention.html new file mode 100644 index 0000000000..fc761c8917 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixing-roll-convention.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.fixingRollConvention - + + + +contracts / InterestRateSwap / FloatingLeg / fixingRollConvention
+
+

fixingRollConvention

+ +var fixingRollConvention: DateRollConvention
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixings-per-payment.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixings-per-payment.html new file mode 100644 index 0000000000..5bad76cc0b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/fixings-per-payment.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.fixingsPerPayment - + + + +contracts / InterestRateSwap / FloatingLeg / fixingsPerPayment
+
+

fixingsPerPayment

+ +var fixingsPerPayment: Frequency
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/floating-rate-payer.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/floating-rate-payer.html new file mode 100644 index 0000000000..0f80f3e489 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/floating-rate-payer.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.floatingRatePayer - + + + +contracts / InterestRateSwap / FloatingLeg / floatingRatePayer
+
+

floatingRatePayer

+ +var floatingRatePayer: Party
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/hash-code.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/hash-code.html new file mode 100644 index 0000000000..9bdad6337f --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/hash-code.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FloatingLeg.hashCode - + + + +contracts / InterestRateSwap / FloatingLeg / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+Overrides CommonLeg.hashCode
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-source.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-source.html new file mode 100644 index 0000000000..83bdb5e83a --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-source.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.indexSource - + + + +contracts / InterestRateSwap / FloatingLeg / indexSource
+
+

indexSource

+ +var indexSource: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-tenor.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-tenor.html new file mode 100644 index 0000000000..b27bbb6e47 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index-tenor.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.indexTenor - + + + +contracts / InterestRateSwap / FloatingLeg / indexTenor
+
+

indexTenor

+ +var indexTenor: Tenor
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index.html new file mode 100644 index 0000000000..25609901ce --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/index.html @@ -0,0 +1,202 @@ + + +InterestRateSwap.FloatingLeg - + + + +contracts / InterestRateSwap / FloatingLeg
+
+

FloatingLeg

+class FloatingLeg : CommonLeg
+
+
+

Constructors

+ + + + + + + +
+<init> +FloatingLeg(floatingRatePayer: Party, notional: Amount, paymentFrequency: Frequency, effectiveDate: LocalDate, effectiveDateAdjustment: DateRollConvention?, terminationDate: LocalDate, terminationDateAdjustment: DateRollConvention?, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, dayInMonth: Int, paymentRule: PaymentRule, paymentDelay: Int, paymentCalendar: BusinessCalendar, interestPeriodAdjustment: AccrualAdjustment, rollConvention: DateRollConvention, fixingRollConvention: DateRollConvention, resetDayInMonth: Int, fixingPeriod: DateOffset, resetRule: PaymentRule, fixingsPerPayment: Frequency, fixingCalendar: BusinessCalendar, index: String, indexSource: String, indexTenor: Tenor)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+fixingCalendar +var fixingCalendar: BusinessCalendar
+fixingPeriod +var fixingPeriod: DateOffset
+fixingRollConvention +var fixingRollConvention: DateRollConvention
+fixingsPerPayment +var fixingsPerPayment: Frequency
+floatingRatePayer +var floatingRatePayer: Party
+index +var index: String
+indexSource +var indexSource: String
+indexTenor +var indexTenor: Tenor
+resetDayInMonth +var resetDayInMonth: Int
+resetRule +var resetRule: PaymentRule
+rollConvention +var rollConvention: DateRollConvention
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+dayCountBasisDay +var dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +var dayCountBasisYear: DayCountBasisYear
+dayInMonth +var dayInMonth: Int
+effectiveDate +val effectiveDate: LocalDate
+effectiveDateAdjustment +val effectiveDateAdjustment: DateRollConvention?
+interestPeriodAdjustment +var interestPeriodAdjustment: AccrualAdjustment
+notional +val notional: Amount
+paymentCalendar +var paymentCalendar: BusinessCalendar
+paymentDelay +var paymentDelay: Int
+paymentFrequency +val paymentFrequency: Frequency
+paymentRule +var paymentRule: PaymentRule
+terminationDate +val terminationDate: LocalDate
+terminationDateAdjustment +val terminationDateAdjustment: DateRollConvention?
+

Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-day-in-month.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-day-in-month.html new file mode 100644 index 0000000000..4603a5450f --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-day-in-month.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.resetDayInMonth - + + + +contracts / InterestRateSwap / FloatingLeg / resetDayInMonth
+
+

resetDayInMonth

+ +var resetDayInMonth: Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-rule.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-rule.html new file mode 100644 index 0000000000..61c353b10d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/reset-rule.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.resetRule - + + + +contracts / InterestRateSwap / FloatingLeg / resetRule
+
+

resetRule

+ +var resetRule: PaymentRule
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/roll-convention.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/roll-convention.html new file mode 100644 index 0000000000..b086c64b75 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/roll-convention.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.FloatingLeg.rollConvention - + + + +contracts / InterestRateSwap / FloatingLeg / rollConvention
+
+

rollConvention

+ +var rollConvention: DateRollConvention
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/to-string.html b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/to-string.html new file mode 100644 index 0000000000..1370e6dff7 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-floating-leg/to-string.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.FloatingLeg.toString - + + + +contracts / InterestRateSwap / FloatingLeg / toString
+
+

toString

+ +open fun toString(): String
+Overrides CommonLeg.toString
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-init-.html new file mode 100644 index 0000000000..2d8d915b57 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-init-.html @@ -0,0 +1,19 @@ + + +InterestRateSwap.<init> - + + + +contracts / InterestRateSwap / <init>
+
+

<init>

+InterestRateSwap()
+

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/-init-.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/-init-.html new file mode 100644 index 0000000000..b57c4a0ac3 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/-init-.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.State.<init> - + + + +contracts / InterestRateSwap / State / <init>
+
+

<init>

+State(fixedLeg: FixedLeg, floatingLeg: FloatingLeg, calculation: Calculation, common: Common)
+

The state class contains the 4 major data classes

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/calculation.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/calculation.html new file mode 100644 index 0000000000..c1aa253ef7 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/calculation.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.State.calculation - + + + +contracts / InterestRateSwap / State / calculation
+
+

calculation

+ +val calculation: Calculation
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/common.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/common.html new file mode 100644 index 0000000000..11256484c4 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/common.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.State.common - + + + +contracts / InterestRateSwap / State / common
+
+

common

+ +val common: Common
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/contract.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/contract.html new file mode 100644 index 0000000000..861be8d2b1 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/contract.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.State.contract - + + + +contracts / InterestRateSwap / State / contract
+
+

contract

+ +val contract: InterestRateSwap
+Overrides ContractState.contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/evaluate-calculation.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/evaluate-calculation.html new file mode 100644 index 0000000000..c0e49fa51d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/evaluate-calculation.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.State.evaluateCalculation - + + + +contracts / InterestRateSwap / State / evaluateCalculation
+
+

evaluateCalculation

+ +fun evaluateCalculation(businessDate: LocalDate, expression: Expression = calculation.expression): Any
+

For evaluating arbitrary java on the platform

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/fixed-leg.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/fixed-leg.html new file mode 100644 index 0000000000..a78303e086 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/fixed-leg.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.State.fixedLeg - + + + +contracts / InterestRateSwap / State / fixedLeg
+
+

fixedLeg

+ +val fixedLeg: FixedLeg
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/floating-leg.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/floating-leg.html new file mode 100644 index 0000000000..60413f11c9 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/floating-leg.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.State.floatingLeg - + + + +contracts / InterestRateSwap / State / floatingLeg
+
+

floatingLeg

+ +val floatingLeg: FloatingLeg
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-agreement.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-agreement.html new file mode 100644 index 0000000000..fb58eb9899 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-agreement.html @@ -0,0 +1,23 @@ + + +InterestRateSwap.State.generateAgreement - + + + +contracts / InterestRateSwap / State / generateAgreement
+
+

generateAgreement

+ +fun generateAgreement(): TransactionBuilder
+Overrides DealState.generateAgreement
+

Generate a partial transaction representing an agreement (command) to this deal, allowing a general +deal/agreement protocol to generate the necessary transaction for potential implementations

+

TODO: Currently this is the "inception" transaction but in future an offer of some description might be an input state ref

+

TODO: This should more likely be a method on the Contract (on a common interface) and the changes to reference a +Contract instance from a ContractState are imminent, at which point we can move this out of here

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-fix.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-fix.html new file mode 100644 index 0000000000..cf541e0933 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/generate-fix.html @@ -0,0 +1,21 @@ + + +InterestRateSwap.State.generateFix - + + + +contracts / InterestRateSwap / State / generateFix
+
+

generateFix

+ +fun generateFix(ptx: TransactionBuilder, oldStateRef: StateRef, fix: Fix): Unit
+Overrides FixableDealState.generateFix
+

Generate a fixing command for this deal and fix

+

TODO: This would also likely move to methods on the Contract once the changes to reference +the Contract from the ContractState are in

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/index.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/index.html new file mode 100644 index 0000000000..c118cacf0b --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/index.html @@ -0,0 +1,149 @@ + + +InterestRateSwap.State - + + + +contracts / InterestRateSwap / State
+
+

State

+data class State : FixableDealState
+

The state class contains the 4 major data classes

+
+
+

Constructors

+ + + + + + + +
+<init> +State(fixedLeg: FixedLeg, floatingLeg: FloatingLeg, calculation: Calculation, common: Common)

The state class contains the 4 major data classes

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+calculation +val calculation: Calculation
+common +val common: Common
+contract +val contract: InterestRateSwap

Contract by which the state belongs

+
+fixedLeg +val fixedLeg: FixedLeg
+floatingLeg +val floatingLeg: FloatingLeg
+parties +val parties: Array<Party>

Exposes the Parties involved in a generic way

+
+ref +val ref: String

Human readable well known reference (e.g. trade reference)

+
+thread +val thread: <ERROR CLASS>

Unique thread id within the wallets of all parties

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+evaluateCalculation +fun evaluateCalculation(businessDate: LocalDate, expression: Expression = calculation.expression): Any

For evaluating arbitrary java on the platform

+
+generateAgreement +fun generateAgreement(): TransactionBuilder

Generate a partial transaction representing an agreement (command) to this deal, allowing a general +deal/agreement protocol to generate the necessary transaction for potential implementations

+
+generateFix +fun generateFix(ptx: TransactionBuilder, oldStateRef: StateRef, fix: Fix): Unit

Generate a fixing command for this deal and fix

+
+isRelevant +fun isRelevant(ourKeys: Set<PublicKey>): Boolean

true if this should be tracked by our wallet(s)

+
+nextFixingOf +fun nextFixingOf(): FixOf?

When is the next fixing and what is the fixing for?

+
+prettyPrint +fun prettyPrint(): String

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

+
+withPublicKey +fun withPublicKey(before: Party, after: PublicKey): DealState
+

Extension Functions

+ + + + + + + +
+exportIRSToCSV +fun State.exportIRSToCSV(): String
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/is-relevant.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/is-relevant.html new file mode 100644 index 0000000000..15ff265ffa --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/is-relevant.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.State.isRelevant - + + + +contracts / InterestRateSwap / State / isRelevant
+
+

isRelevant

+ +fun isRelevant(ourKeys: Set<PublicKey>): Boolean
+Overrides LinearState.isRelevant
+

true if this should be tracked by our wallet(s)

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/next-fixing-of.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/next-fixing-of.html new file mode 100644 index 0000000000..dc3ad7e009 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/next-fixing-of.html @@ -0,0 +1,20 @@ + + +InterestRateSwap.State.nextFixingOf - + + + +contracts / InterestRateSwap / State / nextFixingOf
+
+

nextFixingOf

+ +fun nextFixingOf(): FixOf?
+Overrides FixableDealState.nextFixingOf
+

When is the next fixing and what is the fixing for?

+

TODO: In future we would use this to register for an event to trigger a/the fixing protocol

+
+
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/parties.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/parties.html new file mode 100644 index 0000000000..d0a93ff4a1 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/parties.html @@ -0,0 +1,20 @@ + + +InterestRateSwap.State.parties - + + + +contracts / InterestRateSwap / State / parties
+
+

parties

+ +val parties: Array<Party>
+Overrides DealState.parties
+

Exposes the Parties involved in a generic way

+Getter
+

Exposes the Parties involved in a generic way

+
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/pretty-print.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/pretty-print.html new file mode 100644 index 0000000000..e7209cd041 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/pretty-print.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.State.prettyPrint - + + + +contracts / InterestRateSwap / State / prettyPrint
+
+

prettyPrint

+ +fun prettyPrint(): String
+

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/ref.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/ref.html new file mode 100644 index 0000000000..369e739166 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/ref.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.State.ref - + + + +contracts / InterestRateSwap / State / ref
+
+

ref

+ +val ref: String
+Overrides DealState.ref
+

Human readable well known reference (e.g. trade reference)

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/thread.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/thread.html new file mode 100644 index 0000000000..1aa14691ab --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/thread.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.State.thread - + + + +contracts / InterestRateSwap / State / thread
+
+

thread

+ +val thread: <ERROR CLASS>
+Overrides LinearState.thread
+

Unique thread id within the wallets of all parties

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/-state/with-public-key.html b/docs/build/html/api/contracts/-interest-rate-swap/-state/with-public-key.html new file mode 100644 index 0000000000..ac870e886e --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/-state/with-public-key.html @@ -0,0 +1,16 @@ + + +InterestRateSwap.State.withPublicKey - + + + +contracts / InterestRateSwap / State / withPublicKey
+
+

withPublicKey

+ +fun withPublicKey(before: Party, after: PublicKey): DealState
+Overrides DealState.withPublicKey
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/generate-agreement.html b/docs/build/html/api/contracts/-interest-rate-swap/generate-agreement.html new file mode 100644 index 0000000000..a39d24c79d --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/generate-agreement.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.generateAgreement - + + + +contracts / InterestRateSwap / generateAgreement
+
+

generateAgreement

+ +fun generateAgreement(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common): TransactionBuilder
+

This generates the agreement state and also the schedules from the initial data. +Note: The day count, interest rate calculation etc are not finished yet, but they are demonstrable.

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/generate-fix.html b/docs/build/html/api/contracts/-interest-rate-swap/generate-fix.html new file mode 100644 index 0000000000..61338083f0 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/generate-fix.html @@ -0,0 +1,15 @@ + + +InterestRateSwap.generateFix - + + + +contracts / InterestRateSwap / generateFix
+
+

generateFix

+ +fun generateFix(tx: TransactionBuilder, irs: StateAndRef<State>, fixing: <ERROR CLASS><LocalDate, Rate>): Unit
+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/index.html b/docs/build/html/api/contracts/-interest-rate-swap/index.html new file mode 100644 index 0000000000..fce5c12cc7 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/index.html @@ -0,0 +1,126 @@ + + +InterestRateSwap - + + + +contracts / InterestRateSwap
+
+

InterestRateSwap

+class InterestRateSwap : Contract
+

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Calculation +data class Calculation

The Calculation data class is "mutable" through out the life of the swap, as in, its the only thing that contains +data that will changed from state to state (Recall that the design insists that everything is immutable, so we actually +copy / update for each transition)

+
+Commands +interface Commands : CommandData
+Common +data class Common

This Common area contains all the information that is not leg specific.

+
+CommonLeg +abstract class CommonLeg
+FixedLeg +class FixedLeg : CommonLeg
+FloatingLeg +class FloatingLeg : CommonLeg
+State +data class State : FixableDealState

The state class contains the 4 major data classes

+
+

Constructors

+ + + + + + + +
+<init> +InterestRateSwap()

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+

Properties

+ + + + + + + +
+legalContractReference +val legalContractReference: SecureHash

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

+
+

Functions

+ + + + + + + + + + + + + + + +
+generateAgreement +fun generateAgreement(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common): TransactionBuilder

This generates the agreement state and also the schedules from the initial data. +Note: The day count, interest rate calculation etc are not finished yet, but they are demonstrable.

+
+generateFix +fun generateFix(tx: TransactionBuilder, irs: StateAndRef<State>, fixing: <ERROR CLASS><LocalDate, Rate>): Unit
+verify +fun verify(tx: TransactionForVerification): Unit

verify() with a few examples of what needs to be checked. TODO: Lots more to add.

+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/legal-contract-reference.html b/docs/build/html/api/contracts/-interest-rate-swap/legal-contract-reference.html new file mode 100644 index 0000000000..7c94a9dd42 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/legal-contract-reference.html @@ -0,0 +1,18 @@ + + +InterestRateSwap.legalContractReference - + + + +contracts / InterestRateSwap / legalContractReference
+
+

legalContractReference

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/-interest-rate-swap/verify.html b/docs/build/html/api/contracts/-interest-rate-swap/verify.html new file mode 100644 index 0000000000..a5e959c5c8 --- /dev/null +++ b/docs/build/html/api/contracts/-interest-rate-swap/verify.html @@ -0,0 +1,17 @@ + + +InterestRateSwap.verify - + + + +contracts / InterestRateSwap / verify
+
+

verify

+ +fun verify(tx: TransactionForVerification): Unit
+Overrides Contract.verify
+

verify() with a few examples of what needs to be checked. TODO: Lots more to add.

+
+
+ + diff --git a/docs/build/html/api/contracts/-payment-event/-init-.html b/docs/build/html/api/contracts/-payment-event/-init-.html new file mode 100644 index 0000000000..837dae01ac --- /dev/null +++ b/docs/build/html/api/contracts/-payment-event/-init-.html @@ -0,0 +1,15 @@ + + +PaymentEvent.<init> - + + + +contracts / PaymentEvent / <init>
+
+

<init>

+PaymentEvent(date: LocalDate)
+

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+
+ + diff --git a/docs/build/html/api/contracts/-payment-event/calculate.html b/docs/build/html/api/contracts/-payment-event/calculate.html new file mode 100644 index 0000000000..435a649875 --- /dev/null +++ b/docs/build/html/api/contracts/-payment-event/calculate.html @@ -0,0 +1,15 @@ + + +PaymentEvent.calculate - + + + +contracts / PaymentEvent / calculate
+
+

calculate

+ +abstract fun calculate(): Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-payment-event/index.html b/docs/build/html/api/contracts/-payment-event/index.html new file mode 100644 index 0000000000..451af5f9d1 --- /dev/null +++ b/docs/build/html/api/contracts/-payment-event/index.html @@ -0,0 +1,65 @@ + + +PaymentEvent - + + + +contracts / PaymentEvent
+
+

PaymentEvent

+abstract class PaymentEvent : Event
+

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+
+

Constructors

+ + + + + + + +
+<init> +PaymentEvent(date: LocalDate)

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+

Inherited Properties

+ + + + + + + +
+date +val date: LocalDate
+

Functions

+ + + + + + + +
+calculate +abstract fun calculate(): Amount
+

Inheritors

+ + + + + + + +
+RatePaymentEvent +abstract class RatePaymentEvent : PaymentEvent

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+ + diff --git a/docs/build/html/api/contracts/-percentage-ratio-unit/-init-.html b/docs/build/html/api/contracts/-percentage-ratio-unit/-init-.html new file mode 100644 index 0000000000..9f2a55f382 --- /dev/null +++ b/docs/build/html/api/contracts/-percentage-ratio-unit/-init-.html @@ -0,0 +1,15 @@ + + +PercentageRatioUnit.<init> - + + + +contracts / PercentageRatioUnit / <init>
+
+

<init>

+PercentageRatioUnit(percentageAsString: String)
+

A class to reprecent a percentage in an unambiguous way.

+
+
+ + diff --git a/docs/build/html/api/contracts/-percentage-ratio-unit/index.html b/docs/build/html/api/contracts/-percentage-ratio-unit/index.html new file mode 100644 index 0000000000..1619980624 --- /dev/null +++ b/docs/build/html/api/contracts/-percentage-ratio-unit/index.html @@ -0,0 +1,66 @@ + + +PercentageRatioUnit - + + + +contracts / PercentageRatioUnit
+
+

PercentageRatioUnit

+open class PercentageRatioUnit : RatioUnit
+

A class to reprecent a percentage in an unambiguous way.

+
+
+

Constructors

+ + + + + + + +
+<init> +PercentageRatioUnit(percentageAsString: String)

A class to reprecent a percentage in an unambiguous way.

+
+

Inherited Properties

+ + + + + + + +
+value +val value: BigDecimal
+

Functions

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

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+ + diff --git a/docs/build/html/api/contracts/-percentage-ratio-unit/to-string.html b/docs/build/html/api/contracts/-percentage-ratio-unit/to-string.html new file mode 100644 index 0000000000..0c2d3592de --- /dev/null +++ b/docs/build/html/api/contracts/-percentage-ratio-unit/to-string.html @@ -0,0 +1,15 @@ + + +PercentageRatioUnit.toString - + + + +contracts / PercentageRatioUnit / toString
+
+

toString

+ +open fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/-c-s-v-header.html b/docs/build/html/api/contracts/-rate-payment-event/-c-s-v-header.html new file mode 100644 index 0000000000..0cd2bc0e3b --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/-c-s-v-header.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.CSVHeader - + + + +contracts / RatePaymentEvent / CSVHeader
+
+

CSVHeader

+ +val CSVHeader: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/-init-.html b/docs/build/html/api/contracts/-rate-payment-event/-init-.html new file mode 100644 index 0000000000..a981dc1f5f --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/-init-.html @@ -0,0 +1,19 @@ + + +RatePaymentEvent.<init> - + + + +contracts / RatePaymentEvent / <init>
+
+

<init>

+RatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, notional: Amount, rate: Rate)
+

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/accrual-end-date.html b/docs/build/html/api/contracts/-rate-payment-event/accrual-end-date.html new file mode 100644 index 0000000000..a6f1b7e226 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/accrual-end-date.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.accrualEndDate - + + + +contracts / RatePaymentEvent / accrualEndDate
+
+

accrualEndDate

+ +val accrualEndDate: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/accrual-start-date.html b/docs/build/html/api/contracts/-rate-payment-event/accrual-start-date.html new file mode 100644 index 0000000000..0edcba7611 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/accrual-start-date.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.accrualStartDate - + + + +contracts / RatePaymentEvent / accrualStartDate
+
+

accrualStartDate

+ +val accrualStartDate: LocalDate
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/as-c-s-v.html b/docs/build/html/api/contracts/-rate-payment-event/as-c-s-v.html new file mode 100644 index 0000000000..86514af959 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/as-c-s-v.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.asCSV - + + + +contracts / RatePaymentEvent / asCSV
+
+

asCSV

+ +open fun asCSV(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/calculate.html b/docs/build/html/api/contracts/-rate-payment-event/calculate.html new file mode 100644 index 0000000000..4de05aec07 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/calculate.html @@ -0,0 +1,16 @@ + + +RatePaymentEvent.calculate - + + + +contracts / RatePaymentEvent / calculate
+
+

calculate

+ +open fun calculate(): Amount
+Overrides PaymentEvent.calculate
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-day.html b/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-day.html new file mode 100644 index 0000000000..2274547e9b --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-day.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.dayCountBasisDay - + + + +contracts / RatePaymentEvent / dayCountBasisDay
+
+

dayCountBasisDay

+ +val dayCountBasisDay: DayCountBasisDay
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-year.html b/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-year.html new file mode 100644 index 0000000000..775f8f18fb --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/day-count-basis-year.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.dayCountBasisYear - + + + +contracts / RatePaymentEvent / dayCountBasisYear
+
+

dayCountBasisYear

+ +val dayCountBasisYear: DayCountBasisYear
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/day-count-factor.html b/docs/build/html/api/contracts/-rate-payment-event/day-count-factor.html new file mode 100644 index 0000000000..0b02114923 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/day-count-factor.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.dayCountFactor - + + + +contracts / RatePaymentEvent / dayCountFactor
+
+

dayCountFactor

+ +val dayCountFactor: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/days.html b/docs/build/html/api/contracts/-rate-payment-event/days.html new file mode 100644 index 0000000000..effd540112 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/days.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.days - + + + +contracts / RatePaymentEvent / days
+
+

days

+ +val days: Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/flow.html b/docs/build/html/api/contracts/-rate-payment-event/flow.html new file mode 100644 index 0000000000..f79917af91 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/flow.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.flow - + + + +contracts / RatePaymentEvent / flow
+
+

flow

+ +abstract val flow: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/index.html b/docs/build/html/api/contracts/-rate-payment-event/index.html new file mode 100644 index 0000000000..b8acd1338a --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/index.html @@ -0,0 +1,143 @@ + + +RatePaymentEvent - + + + +contracts / RatePaymentEvent
+
+

RatePaymentEvent

+abstract class RatePaymentEvent : PaymentEvent
+

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+
+

Constructors

+ + + + + + + +
+<init> +RatePaymentEvent(date: LocalDate, accrualStartDate: LocalDate, accrualEndDate: LocalDate, dayCountBasisDay: DayCountBasisDay, dayCountBasisYear: DayCountBasisYear, notional: Amount, rate: Rate)

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+accrualEndDate +val accrualEndDate: LocalDate
+accrualStartDate +val accrualStartDate: LocalDate
+dayCountBasisDay +val dayCountBasisDay: DayCountBasisDay
+dayCountBasisYear +val dayCountBasisYear: DayCountBasisYear
+dayCountFactor +val dayCountFactor: BigDecimal
+days +val days: Int
+flow +abstract val flow: Amount
+notional +val notional: Amount
+rate +val rate: Rate
+

Functions

+ + + + + + + + + + + +
+asCSV +open fun asCSV(): String
+calculate +open fun calculate(): Amount
+

Companion Object Properties

+ + + + + + + +
+CSVHeader +val CSVHeader: String
+

Inheritors

+ + + + + + + + + + + +
+FixedRatePaymentEvent +class FixedRatePaymentEvent : RatePaymentEvent

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+FloatingRatePaymentEvent +class FloatingRatePaymentEvent : RatePaymentEvent

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/notional.html b/docs/build/html/api/contracts/-rate-payment-event/notional.html new file mode 100644 index 0000000000..6507963145 --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/notional.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.notional - + + + +contracts / RatePaymentEvent / notional
+
+

notional

+ +val notional: Amount
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate-payment-event/rate.html b/docs/build/html/api/contracts/-rate-payment-event/rate.html new file mode 100644 index 0000000000..a57be8468e --- /dev/null +++ b/docs/build/html/api/contracts/-rate-payment-event/rate.html @@ -0,0 +1,15 @@ + + +RatePaymentEvent.rate - + + + +contracts / RatePaymentEvent / rate
+
+

rate

+ +val rate: Rate
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate/-init-.html b/docs/build/html/api/contracts/-rate/-init-.html new file mode 100644 index 0000000000..e91652d714 --- /dev/null +++ b/docs/build/html/api/contracts/-rate/-init-.html @@ -0,0 +1,15 @@ + + +Rate.<init> - + + + +contracts / Rate / <init>
+
+

<init>

+Rate(ratioUnit: RatioUnit? = null)
+

Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc

+
+
+ + diff --git a/docs/build/html/api/contracts/-rate/equals.html b/docs/build/html/api/contracts/-rate/equals.html new file mode 100644 index 0000000000..f9485831db --- /dev/null +++ b/docs/build/html/api/contracts/-rate/equals.html @@ -0,0 +1,15 @@ + + +Rate.equals - + + + +contracts / Rate / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate/hash-code.html b/docs/build/html/api/contracts/-rate/hash-code.html new file mode 100644 index 0000000000..60000d4848 --- /dev/null +++ b/docs/build/html/api/contracts/-rate/hash-code.html @@ -0,0 +1,19 @@ + + +Rate.hashCode - + + + +contracts / Rate / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+Returns
+the hash code of the ratioUnit or zero if the ratioUnit is null, as is the case for floating rate fixings +that have not yet happened. Yet-to-be fixed floating rates need to be equal such that schedules can be tested +for equality.
+
+
+ + diff --git a/docs/build/html/api/contracts/-rate/index.html b/docs/build/html/api/contracts/-rate/index.html new file mode 100644 index 0000000000..8aa993e97a --- /dev/null +++ b/docs/build/html/api/contracts/-rate/index.html @@ -0,0 +1,74 @@ + + +Rate - + + + +contracts / Rate
+
+

Rate

+open class Rate
+

Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc

+
+
+

Constructors

+ + + + + + + +
+<init> +Rate(ratioUnit: RatioUnit? = null)

Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc

+
+

Properties

+ + + + + + + +
+ratioUnit +val ratioUnit: RatioUnit?
+

Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+

Inheritors

+ + + + + + + + + + + +
+FixedRate +class FixedRate : Rate

A very basic subclass to represent a fixed rate.

+
+FloatingRate +open class FloatingRate : Rate

The parent class of the Floating rate classes

+
+ + diff --git a/docs/build/html/api/contracts/-rate/ratio-unit.html b/docs/build/html/api/contracts/-rate/ratio-unit.html new file mode 100644 index 0000000000..bed563f5f4 --- /dev/null +++ b/docs/build/html/api/contracts/-rate/ratio-unit.html @@ -0,0 +1,15 @@ + + +Rate.ratioUnit - + + + +contracts / Rate / ratioUnit
+
+

ratioUnit

+ +val ratioUnit: RatioUnit?
+
+
+ + diff --git a/docs/build/html/api/contracts/-ratio-unit/-init-.html b/docs/build/html/api/contracts/-ratio-unit/-init-.html new file mode 100644 index 0000000000..c67d747f2a --- /dev/null +++ b/docs/build/html/api/contracts/-ratio-unit/-init-.html @@ -0,0 +1,15 @@ + + +RatioUnit.<init> - + + + +contracts / RatioUnit / <init>
+
+

<init>

+RatioUnit(value: BigDecimal)
+

A utility class to prevent the various mixups between percentages, decimals, bips etc.

+
+
+ + diff --git a/docs/build/html/api/contracts/-ratio-unit/equals.html b/docs/build/html/api/contracts/-ratio-unit/equals.html new file mode 100644 index 0000000000..7c6687e975 --- /dev/null +++ b/docs/build/html/api/contracts/-ratio-unit/equals.html @@ -0,0 +1,15 @@ + + +RatioUnit.equals - + + + +contracts / RatioUnit / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/contracts/-ratio-unit/hash-code.html b/docs/build/html/api/contracts/-ratio-unit/hash-code.html new file mode 100644 index 0000000000..f43e3e3d15 --- /dev/null +++ b/docs/build/html/api/contracts/-ratio-unit/hash-code.html @@ -0,0 +1,15 @@ + + +RatioUnit.hashCode - + + + +contracts / RatioUnit / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-ratio-unit/index.html b/docs/build/html/api/contracts/-ratio-unit/index.html new file mode 100644 index 0000000000..a099aaf936 --- /dev/null +++ b/docs/build/html/api/contracts/-ratio-unit/index.html @@ -0,0 +1,67 @@ + + +RatioUnit - + + + +contracts / RatioUnit
+
+

RatioUnit

+open class RatioUnit
+

A utility class to prevent the various mixups between percentages, decimals, bips etc.

+
+
+

Constructors

+ + + + + + + +
+<init> +RatioUnit(value: BigDecimal)

A utility class to prevent the various mixups between percentages, decimals, bips etc.

+
+

Properties

+ + + + + + + +
+value +val value: BigDecimal
+

Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+

Inheritors

+ + + + + + + +
+PercentageRatioUnit +open class PercentageRatioUnit : RatioUnit

A class to reprecent a percentage in an unambiguous way.

+
+ + diff --git a/docs/build/html/api/contracts/-ratio-unit/value.html b/docs/build/html/api/contracts/-ratio-unit/value.html new file mode 100644 index 0000000000..962c70aee2 --- /dev/null +++ b/docs/build/html/api/contracts/-ratio-unit/value.html @@ -0,0 +1,15 @@ + + +RatioUnit.value - + + + +contracts / RatioUnit / value
+
+

value

+ +val value: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/-init-.html b/docs/build/html/api/contracts/-reference-rate/-init-.html new file mode 100644 index 0000000000..75114f93c0 --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/-init-.html @@ -0,0 +1,16 @@ + + +ReferenceRate.<init> - + + + +contracts / ReferenceRate / <init>
+
+

<init>

+ReferenceRate(oracle: String, tenor: Tenor, name: String)
+

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/index.html b/docs/build/html/api/contracts/-reference-rate/index.html new file mode 100644 index 0000000000..6b0ffb7dbb --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/index.html @@ -0,0 +1,63 @@ + + +ReferenceRate - + + + +contracts / ReferenceRate
+
+

ReferenceRate

+class ReferenceRate : FloatingRate
+

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+
+

Constructors

+ + + + + + + +
+<init> +ReferenceRate(oracle: String, tenor: Tenor, name: String)

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+

Properties

+ + + + + + + + + + + + + + + +
+name +val name: String
+oracle +val oracle: String
+tenor +val tenor: Tenor
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/name.html b/docs/build/html/api/contracts/-reference-rate/name.html new file mode 100644 index 0000000000..612fa9c1ab --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/name.html @@ -0,0 +1,15 @@ + + +ReferenceRate.name - + + + +contracts / ReferenceRate / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/oracle.html b/docs/build/html/api/contracts/-reference-rate/oracle.html new file mode 100644 index 0000000000..06993dde84 --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/oracle.html @@ -0,0 +1,15 @@ + + +ReferenceRate.oracle - + + + +contracts / ReferenceRate / oracle
+
+

oracle

+ +val oracle: String
+
+
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/tenor.html b/docs/build/html/api/contracts/-reference-rate/tenor.html new file mode 100644 index 0000000000..d3eab1708b --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/tenor.html @@ -0,0 +1,15 @@ + + +ReferenceRate.tenor - + + + +contracts / ReferenceRate / tenor
+
+

tenor

+ +val tenor: Tenor
+
+
+ + diff --git a/docs/build/html/api/contracts/-reference-rate/to-string.html b/docs/build/html/api/contracts/-reference-rate/to-string.html new file mode 100644 index 0000000000..dab7d23be0 --- /dev/null +++ b/docs/build/html/api/contracts/-reference-rate/to-string.html @@ -0,0 +1,15 @@ + + +ReferenceRate.toString - + + + +contracts / ReferenceRate / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/-unknown-type/-init-.html b/docs/build/html/api/contracts/-unknown-type/-init-.html new file mode 100644 index 0000000000..dc9ecf27df --- /dev/null +++ b/docs/build/html/api/contracts/-unknown-type/-init-.html @@ -0,0 +1,14 @@ + + +UnknownType.<init> - + + + +contracts / UnknownType / <init>
+
+

<init>

+UnknownType()
+
+
+ + diff --git a/docs/build/html/api/contracts/-unknown-type/equals.html b/docs/build/html/api/contracts/-unknown-type/equals.html new file mode 100644 index 0000000000..23bcd43d6d --- /dev/null +++ b/docs/build/html/api/contracts/-unknown-type/equals.html @@ -0,0 +1,15 @@ + + +UnknownType.equals - + + + +contracts / UnknownType / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/contracts/-unknown-type/hash-code.html b/docs/build/html/api/contracts/-unknown-type/hash-code.html new file mode 100644 index 0000000000..293a0bc33d --- /dev/null +++ b/docs/build/html/api/contracts/-unknown-type/hash-code.html @@ -0,0 +1,15 @@ + + +UnknownType.hashCode - + + + +contracts / UnknownType / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/contracts/-unknown-type/index.html b/docs/build/html/api/contracts/-unknown-type/index.html new file mode 100644 index 0000000000..17d27a499e --- /dev/null +++ b/docs/build/html/api/contracts/-unknown-type/index.html @@ -0,0 +1,42 @@ + + +UnknownType - + + + +contracts / UnknownType
+
+

UnknownType

+open class UnknownType
+
+
+

Constructors

+ + + + + + + +
+<init> +UnknownType()
+

Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+ + diff --git a/docs/build/html/api/contracts/export-i-r-s-to-c-s-v.html b/docs/build/html/api/contracts/export-i-r-s-to-c-s-v.html new file mode 100644 index 0000000000..3a8dd27ae5 --- /dev/null +++ b/docs/build/html/api/contracts/export-i-r-s-to-c-s-v.html @@ -0,0 +1,15 @@ + + +exportIRSToCSV - + + + +contracts / exportIRSToCSV
+
+

exportIRSToCSV

+ +fun State.exportIRSToCSV(): String
+
+
+ + diff --git a/docs/build/html/api/contracts/index.html b/docs/build/html/api/contracts/index.html new file mode 100644 index 0000000000..717dac9af8 --- /dev/null +++ b/docs/build/html/api/contracts/index.html @@ -0,0 +1,254 @@ + + +contracts - + + + +contracts
+
+

Package contracts

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Cash +class Cash : Contract

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

+
+CommercialPaper +class CommercialPaper : Contract
+CrowdFund +class CrowdFund : Contract

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+
+DealState +interface DealState : LinearState

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies +implementation of general protocols that manipulate many agreement types.

+
+DummyContract +class DummyContract : Contract
+Event +open class Event

Event superclass - everything happens on a date.

+
+FixableDealState +interface FixableDealState : DealState

Interface adding fixing specific methods

+
+FixedRate +class FixedRate : Rate

A very basic subclass to represent a fixed rate.

+
+FixedRatePaymentEvent +class FixedRatePaymentEvent : RatePaymentEvent

Basic class for the Fixed Rate Payments on the fixed leg - see RatePaymentEvent +Assumes that the rate is valid.

+
+FloatingRate +open class FloatingRate : Rate

The parent class of the Floating rate classes

+
+FloatingRatePaymentEvent +class FloatingRatePaymentEvent : RatePaymentEvent

Basic class for the Floating Rate Payments on the floating leg - see RatePaymentEvent +If the rate is null returns a zero payment. // TODO: Is this the desired behaviour?

+
+InterestRateSwap +class InterestRateSwap : Contract

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+PaymentEvent +abstract class PaymentEvent : Event

Top level PaymentEvent class - represents an obligation to pay an amount on a given date, which may be either in the past or the future.

+
+PercentageRatioUnit +open class PercentageRatioUnit : RatioUnit

A class to reprecent a percentage in an unambiguous way.

+
+Rate +open class Rate

Parent of the Rate family. Used to denote fixed rates, floating rates, reference rates etc

+
+RatePaymentEvent +abstract class RatePaymentEvent : PaymentEvent

A RatePaymentEvent represents a dated obligation of payment. +It is a specialisation / modification of a basic cash flow event (to be written) that has some additional assistance +functions for interest rate swap legs of the fixed and floating nature. +For the fixed leg, the rate is already known at creation and therefore the flows can be pre-determined. +For the floating leg, the rate refers to a reference rate which is to be "fixed" at a point in the future.

+
+RatioUnit +open class RatioUnit

A utility class to prevent the various mixups between percentages, decimals, bips etc.

+
+ReferenceRate +class ReferenceRate : FloatingRate

So a reference rate is a rate that takes its value from a source at a given date +e.g. LIBOR 6M as of 17 March 2016. Hence it requires a source (name) and a value date in the getAsOf(..) method.

+
+UnknownType +open class UnknownType
+

Exceptions

+ + + + + + + +
+InsufficientBalanceException +class InsufficientBalanceException : Exception
+

Extensions for External Classes

+ + + + + + + + + + + + + + + +
+kotlin.Int +
+kotlin.String +
+kotlin.collections.Iterable +
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+CASH_PROGRAM_ID +val CASH_PROGRAM_ID: Cash
+CP_PROGRAM_ID +val CP_PROGRAM_ID: CommercialPaper

This is an ultra-trivial implementation of commercial paper, which is essentially a simpler version of a corporate +bond. It can be seen as a company-specific currency. A company issues CP with a particular face value, say $100, +but sells it for less, say $90. The paper can be redeemed for cash at a given date in the future. Thus this example +would have a 10% interest rate with a single repayment. Commercial paper is often rolled over (the maturity date +is adjusted as if the paper was redeemed and immediately repurchased, but without having to front the cash).

+
+CROWDFUND_PROGRAM_ID +val CROWDFUND_PROGRAM_ID: CrowdFund
+DUMMY_PROGRAM_ID +val DUMMY_PROGRAM_ID: DummyContract
+IRS_PROGRAM_ID +val IRS_PROGRAM_ID: InterestRateSwap
+

Functions

+ + + + + + + + + + + +
+exportIRSToCSV +fun State.exportIRSToCSV(): String
+times +operator fun Amount.times(other: RatioUnit): Amount
+ + diff --git a/docs/build/html/api/contracts/kotlin.-int/index.html b/docs/build/html/api/contracts/kotlin.-int/index.html new file mode 100644 index 0000000000..a1b8bfcc6d --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.-int/index.html @@ -0,0 +1,23 @@ + + +contracts.kotlin.Int - + + + +contracts / kotlin.Int
+
+

Extensions for kotlin.Int

+ + + + + + + +
+times +operator fun Int.times(other: FixedRate): Int
+operator fun Int.times(other: Rate): Int
+operator fun Int.times(other: RatioUnit): Int
+ + diff --git a/docs/build/html/api/contracts/kotlin.-int/times.html b/docs/build/html/api/contracts/kotlin.-int/times.html new file mode 100644 index 0000000000..e00e9f8c13 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.-int/times.html @@ -0,0 +1,19 @@ + + +times - + + + +contracts / kotlin.Int / times
+
+

times

+ +operator fun Int.times(other: FixedRate): Int
+ +operator fun Int.times(other: Rate): Int
+ +operator fun Int.times(other: RatioUnit): Int
+
+
+ + diff --git a/docs/build/html/api/contracts/kotlin.-string/index.html b/docs/build/html/api/contracts/kotlin.-string/index.html new file mode 100644 index 0000000000..3a22e7b44e --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.-string/index.html @@ -0,0 +1,24 @@ + + +contracts.kotlin.String - + + + +contracts / kotlin.String
+
+

Extensions for kotlin.String

+ + + + + + + +
+percent +val String.percent: PercentageRatioUnit

For the convenience of writing "5".percent +Note that we do not currently allow 10.percent (ie no quotes) as this might get a little confusing if +0.1.percent was written TODO: Discuss

+
+ + diff --git a/docs/build/html/api/contracts/kotlin.-string/percent.html b/docs/build/html/api/contracts/kotlin.-string/percent.html new file mode 100644 index 0000000000..ddedd3a2f1 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.-string/percent.html @@ -0,0 +1,18 @@ + + +percent - + + + +contracts / kotlin.String / percent
+
+

percent

+ +val String.percent: PercentageRatioUnit
+

For the convenience of writing "5".percent +Note that we do not currently allow 10.percent (ie no quotes) as this might get a little confusing if +0.1.percent was written TODO: Discuss

+
+
+ + diff --git a/docs/build/html/api/contracts/kotlin.collections.-iterable/index.html b/docs/build/html/api/contracts/kotlin.collections.-iterable/index.html new file mode 100644 index 0000000000..233dc75fb1 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.collections.-iterable/index.html @@ -0,0 +1,43 @@ + + +contracts.kotlin.collections.Iterable - + + + +contracts / kotlin.collections.Iterable
+
+

Extensions for kotlin.collections.Iterable

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

Sums the cash states in the list, throwing an exception if there are none.

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

Sums the cash states in the list that are owned by the given key, throwing an exception if there are none.

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

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

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

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

+
+ + diff --git a/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-by.html b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-by.html new file mode 100644 index 0000000000..d8e3203abf --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-by.html @@ -0,0 +1,16 @@ + + +sumCashBy - + + + +contracts / kotlin.collections.Iterable / sumCashBy
+
+

sumCashBy

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

Sums the cash states in the list that are owned by the given key, throwing an exception if there are none.

+
+
+ + diff --git a/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-null.html b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-null.html new file mode 100644 index 0000000000..04c256bd56 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-null.html @@ -0,0 +1,16 @@ + + +sumCashOrNull - + + + +contracts / kotlin.collections.Iterable / sumCashOrNull
+
+

sumCashOrNull

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-zero.html b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-zero.html new file mode 100644 index 0000000000..eb2e4faab0 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash-or-zero.html @@ -0,0 +1,16 @@ + + +sumCashOrZero - + + + +contracts / kotlin.collections.Iterable / sumCashOrZero
+
+

sumCashOrZero

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

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

+
+
+ + diff --git a/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash.html b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash.html new file mode 100644 index 0000000000..7e9b5ab3c7 --- /dev/null +++ b/docs/build/html/api/contracts/kotlin.collections.-iterable/sum-cash.html @@ -0,0 +1,16 @@ + + +sumCash - + + + +contracts / kotlin.collections.Iterable / sumCash
+
+

sumCash

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

Sums the cash states in the list, throwing an exception if there are none.

+
+
+ + diff --git a/docs/build/html/api/contracts/times.html b/docs/build/html/api/contracts/times.html new file mode 100644 index 0000000000..835b035a66 --- /dev/null +++ b/docs/build/html/api/contracts/times.html @@ -0,0 +1,15 @@ + + +times - + + + +contracts / times
+
+

times

+ +operator fun Amount.times(other: RatioUnit): Amount
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-init-.html b/docs/build/html/api/core.crypto/-digital-signature/-init-.html new file mode 100644 index 0000000000..5b4674412c --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-init-.html @@ -0,0 +1,17 @@ + + +DigitalSignature.<init> - + + + +core.crypto / DigitalSignature / <init>
+
+

<init>

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

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

+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/-init-.html b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/-init-.html new file mode 100644 index 0000000000..5ee39f099f --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/-init-.html @@ -0,0 +1,14 @@ + + +DigitalSignature.LegallyIdentifiable.<init> - + + + +core.crypto / DigitalSignature / LegallyIdentifiable / <init>
+
+

<init>

+LegallyIdentifiable(signer: Party, bits: ByteArray, covering: Int)
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/index.html b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/index.html new file mode 100644 index 0000000000..471c4af279 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/index.html @@ -0,0 +1,59 @@ + + +DigitalSignature.LegallyIdentifiable - + + + +core.crypto / DigitalSignature / LegallyIdentifiable
+
+

LegallyIdentifiable

+class LegallyIdentifiable : WithKey
+
+
+

Constructors

+ + + + + + + +
+<init> +LegallyIdentifiable(signer: Party, bits: ByteArray, covering: Int)
+

Properties

+ + + + + + + +
+signer +val signer: Party
+

Inherited Properties

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

Inherited Functions

+ + + + + + + +
+verifyWithECDSA +fun verifyWithECDSA(content: ByteArray): Unit
+fun verifyWithECDSA(content: OpaqueBytes): Unit
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/signer.html b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/signer.html new file mode 100644 index 0000000000..3e970b86a0 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-legally-identifiable/signer.html @@ -0,0 +1,15 @@ + + +DigitalSignature.LegallyIdentifiable.signer - + + + +core.crypto / DigitalSignature / LegallyIdentifiable / signer
+
+

signer

+ +val signer: Party
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-with-key/-init-.html b/docs/build/html/api/core.crypto/-digital-signature/-with-key/-init-.html new file mode 100644 index 0000000000..cfc0499347 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-with-key/-init-.html @@ -0,0 +1,15 @@ + + +DigitalSignature.WithKey.<init> - + + + +core.crypto / DigitalSignature / WithKey / <init>
+
+

<init>

+WithKey(by: PublicKey, bits: ByteArray, covering: Int = 0)
+

A digital signature that identifies who the public key is owned by.

+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-with-key/by.html b/docs/build/html/api/core.crypto/-digital-signature/-with-key/by.html new file mode 100644 index 0000000000..cd076a628f --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-with-key/by.html @@ -0,0 +1,15 @@ + + +DigitalSignature.WithKey.by - + + + +core.crypto / DigitalSignature / WithKey / by
+
+

by

+ +val by: PublicKey
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-with-key/index.html b/docs/build/html/api/core.crypto/-digital-signature/-with-key/index.html new file mode 100644 index 0000000000..c1e83127f6 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-with-key/index.html @@ -0,0 +1,72 @@ + + +DigitalSignature.WithKey - + + + +core.crypto / DigitalSignature / WithKey
+
+

WithKey

+open class WithKey : DigitalSignature
+

A digital signature that identifies who the public key is owned by.

+
+
+

Constructors

+ + + + + + + +
+<init> +WithKey(by: PublicKey, bits: ByteArray, covering: Int = 0)

A digital signature that identifies who the public key is owned by.

+
+

Properties

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

Inherited Properties

+ + + + + + + +
+covering +val covering: Int
+

Functions

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

Inheritors

+ + + + + + + +
+LegallyIdentifiable +class LegallyIdentifiable : WithKey
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/-with-key/verify-with-e-c-d-s-a.html b/docs/build/html/api/core.crypto/-digital-signature/-with-key/verify-with-e-c-d-s-a.html new file mode 100644 index 0000000000..f13a695a97 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/-with-key/verify-with-e-c-d-s-a.html @@ -0,0 +1,17 @@ + + +DigitalSignature.WithKey.verifyWithECDSA - + + + +core.crypto / DigitalSignature / WithKey / verifyWithECDSA
+
+

verifyWithECDSA

+ +fun verifyWithECDSA(content: ByteArray): Unit
+ +fun verifyWithECDSA(content: OpaqueBytes): Unit
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/covering.html b/docs/build/html/api/core.crypto/-digital-signature/covering.html new file mode 100644 index 0000000000..b7c52dae10 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/covering.html @@ -0,0 +1,15 @@ + + +DigitalSignature.covering - + + + +core.crypto / DigitalSignature / covering
+
+

covering

+ +val covering: Int
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-digital-signature/index.html b/docs/build/html/api/core.crypto/-digital-signature/index.html new file mode 100644 index 0000000000..7a1c391ef0 --- /dev/null +++ b/docs/build/html/api/core.crypto/-digital-signature/index.html @@ -0,0 +1,129 @@ + + +DigitalSignature - + + + +core.crypto / DigitalSignature
+
+

DigitalSignature

+open class DigitalSignature : OpaqueBytes
+

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

+
+
+

Types

+ + + + + + + + + + + +
+LegallyIdentifiable +class LegallyIdentifiable : WithKey
+WithKey +open class WithKey : DigitalSignature

A digital signature that identifies who the public key is owned by.

+
+

Constructors

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

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

+
+

Properties

+ + + + + + + +
+covering +val covering: Int
+

Inherited Properties

+ + + + + + + + + + + +
+bits +val bits: ByteArray
+size +val size: Int
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+

Extension Functions

+ + + + + + + + + + + +
+deserialize +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+sha256 +fun OpaqueBytes.sha256(): SHA256
+

Inheritors

+ + + + + + + +
+WithKey +open class WithKey : DigitalSignature

A digital signature that identifies who the public key is owned by.

+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/-init-.html b/docs/build/html/api/core.crypto/-dummy-public-key/-init-.html new file mode 100644 index 0000000000..7e497cf3f6 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/-init-.html @@ -0,0 +1,14 @@ + + +DummyPublicKey.<init> - + + + +core.crypto / DummyPublicKey / <init>
+
+

<init>

+DummyPublicKey(s: String)
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/compare-to.html b/docs/build/html/api/core.crypto/-dummy-public-key/compare-to.html new file mode 100644 index 0000000000..1ba1955412 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/compare-to.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.compareTo - + + + +core.crypto / DummyPublicKey / compareTo
+
+

compareTo

+ +fun compareTo(other: PublicKey): Int
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/equals.html b/docs/build/html/api/core.crypto/-dummy-public-key/equals.html new file mode 100644 index 0000000000..69c03e11b9 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/equals.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.equals - + + + +core.crypto / DummyPublicKey / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/get-algorithm.html b/docs/build/html/api/core.crypto/-dummy-public-key/get-algorithm.html new file mode 100644 index 0000000000..3aeb5a406c --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/get-algorithm.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.getAlgorithm - + + + +core.crypto / DummyPublicKey / getAlgorithm
+
+

getAlgorithm

+ +fun getAlgorithm(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/get-encoded.html b/docs/build/html/api/core.crypto/-dummy-public-key/get-encoded.html new file mode 100644 index 0000000000..a661becee0 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/get-encoded.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.getEncoded - + + + +core.crypto / DummyPublicKey / getEncoded
+
+

getEncoded

+ +fun getEncoded(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/get-format.html b/docs/build/html/api/core.crypto/-dummy-public-key/get-format.html new file mode 100644 index 0000000000..d02cd73265 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/get-format.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.getFormat - + + + +core.crypto / DummyPublicKey / getFormat
+
+

getFormat

+ +fun getFormat(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/hash-code.html b/docs/build/html/api/core.crypto/-dummy-public-key/hash-code.html new file mode 100644 index 0000000000..0f6ba11a88 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/hash-code.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.hashCode - + + + +core.crypto / DummyPublicKey / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/index.html b/docs/build/html/api/core.crypto/-dummy-public-key/index.html new file mode 100644 index 0000000000..a6a17ad207 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/index.html @@ -0,0 +1,102 @@ + + +DummyPublicKey - + + + +core.crypto / DummyPublicKey
+
+

DummyPublicKey

+class DummyPublicKey : PublicKey, Comparable<PublicKey>
+
+
+

Constructors

+ + + + + + + +
+<init> +DummyPublicKey(s: String)
+

Properties

+ + + + + + + +
+s +val s: String
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+compareTo +fun compareTo(other: PublicKey): Int
+equals +fun equals(other: Any?): Boolean
+getAlgorithm +fun getAlgorithm(): String
+getEncoded +fun getEncoded(): <ERROR CLASS>
+getFormat +fun getFormat(): String
+hashCode +fun hashCode(): Int
+toString +fun toString(): String
+

Extension Functions

+ + + + + + + + + + + +
+toStringShort +fun PublicKey.toStringShort(): String

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

+
+verifyWithECDSA +fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit

Utility to simplify the act of verifying a signature

+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/s.html b/docs/build/html/api/core.crypto/-dummy-public-key/s.html new file mode 100644 index 0000000000..bb917254a3 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/s.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.s - + + + +core.crypto / DummyPublicKey / s
+
+

s

+ +val s: String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-dummy-public-key/to-string.html b/docs/build/html/api/core.crypto/-dummy-public-key/to-string.html new file mode 100644 index 0000000000..d95d615f76 --- /dev/null +++ b/docs/build/html/api/core.crypto/-dummy-public-key/to-string.html @@ -0,0 +1,15 @@ + + +DummyPublicKey.toString - + + + +core.crypto / DummyPublicKey / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/compare-to.html b/docs/build/html/api/core.crypto/-null-public-key/compare-to.html new file mode 100644 index 0000000000..f238b63d0e --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/compare-to.html @@ -0,0 +1,15 @@ + + +NullPublicKey.compareTo - + + + +core.crypto / NullPublicKey / compareTo
+
+

compareTo

+ +fun compareTo(other: PublicKey): Int
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/get-algorithm.html b/docs/build/html/api/core.crypto/-null-public-key/get-algorithm.html new file mode 100644 index 0000000000..8d4d756c3c --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/get-algorithm.html @@ -0,0 +1,15 @@ + + +NullPublicKey.getAlgorithm - + + + +core.crypto / NullPublicKey / getAlgorithm
+
+

getAlgorithm

+ +fun getAlgorithm(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/get-encoded.html b/docs/build/html/api/core.crypto/-null-public-key/get-encoded.html new file mode 100644 index 0000000000..f8df818ca1 --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/get-encoded.html @@ -0,0 +1,15 @@ + + +NullPublicKey.getEncoded - + + + +core.crypto / NullPublicKey / getEncoded
+
+

getEncoded

+ +fun getEncoded(): ByteArray
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/get-format.html b/docs/build/html/api/core.crypto/-null-public-key/get-format.html new file mode 100644 index 0000000000..e81a606539 --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/get-format.html @@ -0,0 +1,15 @@ + + +NullPublicKey.getFormat - + + + +core.crypto / NullPublicKey / getFormat
+
+

getFormat

+ +fun getFormat(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/index.html b/docs/build/html/api/core.crypto/-null-public-key/index.html new file mode 100644 index 0000000000..ac5862d186 --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/index.html @@ -0,0 +1,68 @@ + + +NullPublicKey - + + + +core.crypto / NullPublicKey
+
+

NullPublicKey

+object NullPublicKey : PublicKey, Comparable<PublicKey>
+
+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+compareTo +fun compareTo(other: PublicKey): Int
+getAlgorithm +fun getAlgorithm(): String
+getEncoded +fun getEncoded(): ByteArray
+getFormat +fun getFormat(): String
+toString +fun toString(): String
+

Extension Functions

+ + + + + + + + + + + +
+toStringShort +fun PublicKey.toStringShort(): String

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

+
+verifyWithECDSA +fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit

Utility to simplify the act of verifying a signature

+
+ + diff --git a/docs/build/html/api/core.crypto/-null-public-key/to-string.html b/docs/build/html/api/core.crypto/-null-public-key/to-string.html new file mode 100644 index 0000000000..db2e9a537c --- /dev/null +++ b/docs/build/html/api/core.crypto/-null-public-key/to-string.html @@ -0,0 +1,15 @@ + + +NullPublicKey.toString - + + + +core.crypto / NullPublicKey / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/-init-.html b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/-init-.html new file mode 100644 index 0000000000..e5637e9e88 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/-init-.html @@ -0,0 +1,14 @@ + + +SecureHash.SHA256.<init> - + + + +core.crypto / SecureHash / SHA256 / <init>
+
+

<init>

+SHA256(bits: ByteArray)
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/index.html b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/index.html new file mode 100644 index 0000000000..d908544aac --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/index.html @@ -0,0 +1,53 @@ + + +SecureHash.SHA256 - + + + +core.crypto / SecureHash / SHA256
+
+

SHA256

+class SHA256 : SecureHash
+
+
+

Constructors

+ + + + + + + +
+<init> +SHA256(bits: ByteArray)
+

Properties

+ + + + + + + +
+signatureAlgorithmName +val signatureAlgorithmName: String
+

Inherited Functions

+ + + + + + + + + + + +
+prefixChars +fun prefixChars(prefixLen: Int = 6): <ERROR CLASS>
+toString +open fun toString(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/signature-algorithm-name.html b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/signature-algorithm-name.html new file mode 100644 index 0000000000..f385a8d85b --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/-s-h-a256/signature-algorithm-name.html @@ -0,0 +1,16 @@ + + +SecureHash.SHA256.signatureAlgorithmName - + + + +core.crypto / SecureHash / SHA256 / signatureAlgorithmName
+
+

signatureAlgorithmName

+ +val signatureAlgorithmName: String
+Overrides SecureHash.signatureAlgorithmName
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/index.html b/docs/build/html/api/core.crypto/-secure-hash/index.html new file mode 100644 index 0000000000..e487978b87 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/index.html @@ -0,0 +1,145 @@ + + +SecureHash - + + + +core.crypto / SecureHash
+
+

SecureHash

+sealed class SecureHash : OpaqueBytes
+
+
+

Types

+ + + + + + + +
+SHA256 +class SHA256 : SecureHash
+

Properties

+ + + + + + + +
+signatureAlgorithmName +abstract val signatureAlgorithmName: String
+

Inherited Properties

+ + + + + + + + + + + +
+bits +val bits: ByteArray
+size +val size: Int
+

Functions

+ + + + + + + + + + + +
+prefixChars +fun prefixChars(prefixLen: Int = 6): <ERROR CLASS>
+toString +open fun toString(): <ERROR CLASS>
+

Inherited Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+

Companion Object Functions

+ + + + + + + + + + + + + + + + + + + +
+parse +fun parse(str: String): <ERROR CLASS>
+randomSHA256 +fun randomSHA256(): SHA256
+sha256 +fun sha256(bits: ByteArray): SHA256
+fun sha256(str: String): <ERROR CLASS>
+sha256Twice +fun sha256Twice(bits: ByteArray): SHA256
+

Extension Functions

+ + + + + + + + + + + +
+deserialize +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+sha256 +fun OpaqueBytes.sha256(): SHA256
+

Inheritors

+ + + + + + + +
+SHA256 +class SHA256 : SecureHash
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/parse.html b/docs/build/html/api/core.crypto/-secure-hash/parse.html new file mode 100644 index 0000000000..80b4fd3c1f --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/parse.html @@ -0,0 +1,15 @@ + + +SecureHash.parse - + + + +core.crypto / SecureHash / parse
+
+

parse

+ +fun parse(str: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/prefix-chars.html b/docs/build/html/api/core.crypto/-secure-hash/prefix-chars.html new file mode 100644 index 0000000000..ed8d084dfd --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/prefix-chars.html @@ -0,0 +1,15 @@ + + +SecureHash.prefixChars - + + + +core.crypto / SecureHash / prefixChars
+
+

prefixChars

+ +fun prefixChars(prefixLen: Int = 6): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/random-s-h-a256.html b/docs/build/html/api/core.crypto/-secure-hash/random-s-h-a256.html new file mode 100644 index 0000000000..95f1a6b457 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/random-s-h-a256.html @@ -0,0 +1,15 @@ + + +SecureHash.randomSHA256 - + + + +core.crypto / SecureHash / randomSHA256
+
+

randomSHA256

+ +fun randomSHA256(): SHA256
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/sha256-twice.html b/docs/build/html/api/core.crypto/-secure-hash/sha256-twice.html new file mode 100644 index 0000000000..4e642f2e95 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/sha256-twice.html @@ -0,0 +1,15 @@ + + +SecureHash.sha256Twice - + + + +core.crypto / SecureHash / sha256Twice
+
+

sha256Twice

+ +fun sha256Twice(bits: ByteArray): SHA256
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/sha256.html b/docs/build/html/api/core.crypto/-secure-hash/sha256.html new file mode 100644 index 0000000000..7f35dfae02 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/sha256.html @@ -0,0 +1,17 @@ + + +SecureHash.sha256 - + + + +core.crypto / SecureHash / sha256
+
+

sha256

+ +fun sha256(bits: ByteArray): SHA256
+ +fun sha256(str: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/signature-algorithm-name.html b/docs/build/html/api/core.crypto/-secure-hash/signature-algorithm-name.html new file mode 100644 index 0000000000..0c7d92d3ea --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/signature-algorithm-name.html @@ -0,0 +1,15 @@ + + +SecureHash.signatureAlgorithmName - + + + +core.crypto / SecureHash / signatureAlgorithmName
+
+

signatureAlgorithmName

+ +abstract val signatureAlgorithmName: String
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-secure-hash/to-string.html b/docs/build/html/api/core.crypto/-secure-hash/to-string.html new file mode 100644 index 0000000000..2ca3e55287 --- /dev/null +++ b/docs/build/html/api/core.crypto/-secure-hash/to-string.html @@ -0,0 +1,16 @@ + + +SecureHash.toString - + + + +core.crypto / SecureHash / toString
+
+

toString

+ +open fun toString(): <ERROR CLASS>
+Overrides OpaqueBytes.toString
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/-init-.html b/docs/build/html/api/core.crypto/-signed-data/-init-.html new file mode 100644 index 0000000000..7d698338b1 --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/-init-.html @@ -0,0 +1,22 @@ + + +SignedData.<init> - + + + +core.crypto / SignedData / <init>
+
+

<init>

+SignedData(raw: SerializedBytes<T>, sig: WithKey)
+

A serialized piece of data and its signature. Enforces signature validity in order to deserialize the data +contained within.

+

Parameters

+ +raw - the raw serialized data
+
+ +sig - the (unverified) signature for the data
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/index.html b/docs/build/html/api/core.crypto/-signed-data/index.html new file mode 100644 index 0000000000..cd2d4df912 --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/index.html @@ -0,0 +1,84 @@ + + +SignedData - + + + +core.crypto / SignedData
+
+

SignedData

+open class SignedData<T : Any>
+

A serialized piece of data and its signature. Enforces signature validity in order to deserialize the data +contained within.

+

Parameters

+ +raw - the raw serialized data
+
+ +sig - the (unverified) signature for the data
+
+
+

Constructors

+ + + + + + + +
+<init> +SignedData(raw: SerializedBytes<T>, sig: WithKey)

A serialized piece of data and its signature. Enforces signature validity in order to deserialize the data +contained within.

+
+

Properties

+ + + + + + + + + + + +
+raw +val raw: SerializedBytes<T>
+sig +val sig: WithKey
+

Functions

+ + + + + + + + + + + +
+verified +fun verified(): T

Return the deserialized data if the signature can be verified.

+
+verifyData +open fun verifyData(data: T): Unit

Verify the wrapped data after the signature has been verified and the data deserialised. Provided as an extension +point for subclasses.

+
+

Inheritors

+ + + + + + + +
+WireNodeRegistration +class WireNodeRegistration : SignedData<NodeRegistration>

A node registration and its signature as a pair.

+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/raw.html b/docs/build/html/api/core.crypto/-signed-data/raw.html new file mode 100644 index 0000000000..355bb7a031 --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/raw.html @@ -0,0 +1,15 @@ + + +SignedData.raw - + + + +core.crypto / SignedData / raw
+
+

raw

+ +val raw: SerializedBytes<T>
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/sig.html b/docs/build/html/api/core.crypto/-signed-data/sig.html new file mode 100644 index 0000000000..5eacee8e02 --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/sig.html @@ -0,0 +1,15 @@ + + +SignedData.sig - + + + +core.crypto / SignedData / sig
+
+

sig

+ +val sig: WithKey
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/verified.html b/docs/build/html/api/core.crypto/-signed-data/verified.html new file mode 100644 index 0000000000..f9b71805ce --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/verified.html @@ -0,0 +1,22 @@ + + +SignedData.verified - + + + +core.crypto / SignedData / verified
+
+

verified

+ +fun verified(): T
+

Return the deserialized data if the signature can be verified.

+

Exceptions

+ +IllegalArgumentException - if the data is invalid (only used if verifyData() is overloaded).
+
+ +SignatureException - if the signature is invalid.
+
+
+ + diff --git a/docs/build/html/api/core.crypto/-signed-data/verify-data.html b/docs/build/html/api/core.crypto/-signed-data/verify-data.html new file mode 100644 index 0000000000..3ccca6a14c --- /dev/null +++ b/docs/build/html/api/core.crypto/-signed-data/verify-data.html @@ -0,0 +1,20 @@ + + +SignedData.verifyData - + + + +core.crypto / SignedData / verifyData
+
+

verifyData

+ +protected open fun verifyData(data: T): Unit
+

Verify the wrapped data after the signature has been verified and the data deserialised. Provided as an extension +point for subclasses.

+

Exceptions

+ +IllegalArgumentException - if the data is invalid.
+
+
+ + diff --git a/docs/build/html/api/core.crypto/generate-key-pair.html b/docs/build/html/api/core.crypto/generate-key-pair.html new file mode 100644 index 0000000000..9ebb5092bd --- /dev/null +++ b/docs/build/html/api/core.crypto/generate-key-pair.html @@ -0,0 +1,16 @@ + + +generateKeyPair - + + + +core.crypto / generateKeyPair
+
+

generateKeyPair

+ +fun generateKeyPair(): KeyPair
+

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

+
+
+ + diff --git a/docs/build/html/api/core.crypto/index.html b/docs/build/html/api/core.crypto/index.html new file mode 100644 index 0000000000..e3ce5cafda --- /dev/null +++ b/docs/build/html/api/core.crypto/index.html @@ -0,0 +1,98 @@ + + +core.crypto - + + + +core.crypto
+
+

Package core.crypto

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+DigitalSignature +open class DigitalSignature : OpaqueBytes

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

+
+DummyPublicKey +class DummyPublicKey : PublicKey, Comparable<PublicKey>
+NullPublicKey +object NullPublicKey : PublicKey, Comparable<PublicKey>
+SecureHash +sealed class SecureHash : OpaqueBytes
+SignedData +open class SignedData<T : Any>

A serialized piece of data and its signature. Enforces signature validity in order to deserialize the data +contained within.

+
+

Extensions for External Classes

+ + + + + + + + + + + + + + + + + + + +
+java.security.KeyPair +
+java.security.PrivateKey +
+java.security.PublicKey +
+kotlin.ByteArray +
+

Functions

+ + + + + + + + + + + +
+generateKeyPair +fun generateKeyPair(): KeyPair

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

+
+sha256 +fun OpaqueBytes.sha256(): SHA256
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-key-pair/component1.html b/docs/build/html/api/core.crypto/java.security.-key-pair/component1.html new file mode 100644 index 0000000000..e3cd60f572 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-key-pair/component1.html @@ -0,0 +1,15 @@ + + +component1 - + + + +core.crypto / java.security.KeyPair / component1
+
+

component1

+ +operator fun KeyPair.component1(): PrivateKey
+
+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-key-pair/component2.html b/docs/build/html/api/core.crypto/java.security.-key-pair/component2.html new file mode 100644 index 0000000000..e3aacd1733 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-key-pair/component2.html @@ -0,0 +1,15 @@ + + +component2 - + + + +core.crypto / java.security.KeyPair / component2
+
+

component2

+ +operator fun KeyPair.component2(): PublicKey
+
+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-key-pair/index.html b/docs/build/html/api/core.crypto/java.security.-key-pair/index.html new file mode 100644 index 0000000000..64d437b063 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-key-pair/index.html @@ -0,0 +1,36 @@ + + +core.crypto.java.security.KeyPair - + + + +core.crypto / java.security.KeyPair
+
+

Extensions for java.security.KeyPair

+ + + + + + + + + + + + + + + +
+component1 +operator fun KeyPair.component1(): PrivateKey
+component2 +operator fun KeyPair.component2(): PublicKey
+signWithECDSA +fun KeyPair.signWithECDSA(bitsToSign: ByteArray): WithKey
+fun KeyPair.signWithECDSA(bitsToSign: OpaqueBytes): WithKey
+fun KeyPair.signWithECDSA(bitsToSign: OpaqueBytes, party: Party): LegallyIdentifiable
+fun KeyPair.signWithECDSA(bitsToSign: ByteArray, party: Party): LegallyIdentifiable
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-key-pair/sign-with-e-c-d-s-a.html b/docs/build/html/api/core.crypto/java.security.-key-pair/sign-with-e-c-d-s-a.html new file mode 100644 index 0000000000..ea70ec4e1c --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-key-pair/sign-with-e-c-d-s-a.html @@ -0,0 +1,21 @@ + + +signWithECDSA - + + + +core.crypto / java.security.KeyPair / signWithECDSA
+
+

signWithECDSA

+ +fun KeyPair.signWithECDSA(bitsToSign: ByteArray): WithKey
+ +fun KeyPair.signWithECDSA(bitsToSign: OpaqueBytes): WithKey
+ +fun KeyPair.signWithECDSA(bitsToSign: OpaqueBytes, party: Party): LegallyIdentifiable
+ +fun KeyPair.signWithECDSA(bitsToSign: ByteArray, party: Party): LegallyIdentifiable
+
+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-private-key/index.html b/docs/build/html/api/core.crypto/java.security.-private-key/index.html new file mode 100644 index 0000000000..e91f3ca423 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-private-key/index.html @@ -0,0 +1,22 @@ + + +core.crypto.java.security.PrivateKey - + + + +core.crypto / java.security.PrivateKey
+
+

Extensions for java.security.PrivateKey

+ + + + + + + +
+signWithECDSA +fun PrivateKey.signWithECDSA(bits: ByteArray): DigitalSignature

Utility to simplify the act of signing a byte array

+fun PrivateKey.signWithECDSA(bitsToSign: ByteArray, publicKey: PublicKey): WithKey
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-private-key/sign-with-e-c-d-s-a.html b/docs/build/html/api/core.crypto/java.security.-private-key/sign-with-e-c-d-s-a.html new file mode 100644 index 0000000000..bab411e816 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-private-key/sign-with-e-c-d-s-a.html @@ -0,0 +1,20 @@ + + +signWithECDSA - + + + +core.crypto / java.security.PrivateKey / signWithECDSA
+
+

signWithECDSA

+ +fun PrivateKey.signWithECDSA(bits: ByteArray): DigitalSignature
+

Utility to simplify the act of signing a byte array

+
+
+ +fun PrivateKey.signWithECDSA(bitsToSign: ByteArray, publicKey: PublicKey): WithKey
+
+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-public-key/index.html b/docs/build/html/api/core.crypto/java.security.-public-key/index.html new file mode 100644 index 0000000000..9b29cd6b17 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-public-key/index.html @@ -0,0 +1,29 @@ + + +core.crypto.java.security.PublicKey - + + + +core.crypto / java.security.PublicKey
+
+

Extensions for java.security.PublicKey

+ + + + + + + + + + + +
+toStringShort +fun PublicKey.toStringShort(): String

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

+
+verifyWithECDSA +fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit

Utility to simplify the act of verifying a signature

+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-public-key/to-string-short.html b/docs/build/html/api/core.crypto/java.security.-public-key/to-string-short.html new file mode 100644 index 0000000000..ce69028b41 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-public-key/to-string-short.html @@ -0,0 +1,16 @@ + + +toStringShort - + + + +core.crypto / java.security.PublicKey / toStringShort
+
+

toStringShort

+ +fun PublicKey.toStringShort(): String
+

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

+
+
+ + diff --git a/docs/build/html/api/core.crypto/java.security.-public-key/verify-with-e-c-d-s-a.html b/docs/build/html/api/core.crypto/java.security.-public-key/verify-with-e-c-d-s-a.html new file mode 100644 index 0000000000..b4d58465a7 --- /dev/null +++ b/docs/build/html/api/core.crypto/java.security.-public-key/verify-with-e-c-d-s-a.html @@ -0,0 +1,16 @@ + + +verifyWithECDSA - + + + +core.crypto / java.security.PublicKey / verifyWithECDSA
+
+

verifyWithECDSA

+ +fun PublicKey.verifyWithECDSA(content: ByteArray, signature: DigitalSignature): Unit
+

Utility to simplify the act of verifying a signature

+
+
+ + diff --git a/docs/build/html/api/core.crypto/kotlin.-byte-array/index.html b/docs/build/html/api/core.crypto/kotlin.-byte-array/index.html new file mode 100644 index 0000000000..052f13c99a --- /dev/null +++ b/docs/build/html/api/core.crypto/kotlin.-byte-array/index.html @@ -0,0 +1,21 @@ + + +core.crypto.kotlin.ByteArray - + + + +core.crypto / kotlin.ByteArray
+
+

Extensions for kotlin.ByteArray

+ + + + + + + +
+sha256 +fun ByteArray.sha256(): SHA256
+ + diff --git a/docs/build/html/api/core.crypto/kotlin.-byte-array/sha256.html b/docs/build/html/api/core.crypto/kotlin.-byte-array/sha256.html new file mode 100644 index 0000000000..1d3b8e305a --- /dev/null +++ b/docs/build/html/api/core.crypto/kotlin.-byte-array/sha256.html @@ -0,0 +1,15 @@ + + +sha256 - + + + +core.crypto / kotlin.ByteArray / sha256
+
+

sha256

+ +fun ByteArray.sha256(): SHA256
+
+
+ + diff --git a/docs/build/html/api/core.crypto/sha256.html b/docs/build/html/api/core.crypto/sha256.html new file mode 100644 index 0000000000..89f290a8d5 --- /dev/null +++ b/docs/build/html/api/core.crypto/sha256.html @@ -0,0 +1,15 @@ + + +sha256 - + + + +core.crypto / sha256
+
+

sha256

+ +fun OpaqueBytes.sha256(): SHA256
+
+
+ + diff --git a/docs/build/html/api/core.math/-cubic-spline-interpolator/-init-.html b/docs/build/html/api/core.math/-cubic-spline-interpolator/-init-.html new file mode 100644 index 0000000000..d622336cdb --- /dev/null +++ b/docs/build/html/api/core.math/-cubic-spline-interpolator/-init-.html @@ -0,0 +1,19 @@ + + +CubicSplineInterpolator.<init> - + + + +core.math / CubicSplineInterpolator / <init>
+
+

<init>

+CubicSplineInterpolator(xs: DoubleArray, ys: DoubleArray)
+

Interpolates values between the given data points using a SplineFunction.

+

Implementation uses the Natural Cubic Spline algorithm as described in +R. L. Burden and J. D. Faires (2011), Numerical Analysis. 9th ed. Boston, MA: Brooks/Cole, Cengage Learning. p149-150.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.math/-cubic-spline-interpolator/create.html b/docs/build/html/api/core.math/-cubic-spline-interpolator/create.html new file mode 100644 index 0000000000..c16798279a --- /dev/null +++ b/docs/build/html/api/core.math/-cubic-spline-interpolator/create.html @@ -0,0 +1,16 @@ + + +CubicSplineInterpolator.create - + + + +core.math / CubicSplineInterpolator / create
+
+

create

+ +fun create(xs: DoubleArray, ys: DoubleArray): CubicSplineInterpolator
+Overrides InterpolatorFactory.create
+
+
+ + diff --git a/docs/build/html/api/core.math/-cubic-spline-interpolator/index.html b/docs/build/html/api/core.math/-cubic-spline-interpolator/index.html new file mode 100644 index 0000000000..1516af256c --- /dev/null +++ b/docs/build/html/api/core.math/-cubic-spline-interpolator/index.html @@ -0,0 +1,53 @@ + + +CubicSplineInterpolator - + + + +core.math / CubicSplineInterpolator
+
+

CubicSplineInterpolator

+class CubicSplineInterpolator : Interpolator
+

Interpolates values between the given data points using a SplineFunction.

+

Implementation uses the Natural Cubic Spline algorithm as described in +R. L. Burden and J. D. Faires (2011), Numerical Analysis. 9th ed. Boston, MA: Brooks/Cole, Cengage Learning. p149-150.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +CubicSplineInterpolator(xs: DoubleArray, ys: DoubleArray)

Interpolates values between the given data points using a SplineFunction.

+
+

Functions

+ + + + + + + +
+interpolate +fun interpolate(x: Double): Double
+

Companion Object Functions

+ + + + + + + +
+create +fun create(xs: DoubleArray, ys: DoubleArray): CubicSplineInterpolator
+ + diff --git a/docs/build/html/api/core.math/-cubic-spline-interpolator/interpolate.html b/docs/build/html/api/core.math/-cubic-spline-interpolator/interpolate.html new file mode 100644 index 0000000000..bb03b871b1 --- /dev/null +++ b/docs/build/html/api/core.math/-cubic-spline-interpolator/interpolate.html @@ -0,0 +1,16 @@ + + +CubicSplineInterpolator.interpolate - + + + +core.math / CubicSplineInterpolator / interpolate
+
+

interpolate

+ +fun interpolate(x: Double): Double
+Overrides Interpolator.interpolate
+
+
+ + diff --git a/docs/build/html/api/core.math/-interpolator-factory/create.html b/docs/build/html/api/core.math/-interpolator-factory/create.html new file mode 100644 index 0000000000..5ddab63fa2 --- /dev/null +++ b/docs/build/html/api/core.math/-interpolator-factory/create.html @@ -0,0 +1,15 @@ + + +InterpolatorFactory.create - + + + +core.math / InterpolatorFactory / create
+
+

create

+ +abstract fun create(xs: DoubleArray, ys: DoubleArray): Interpolator
+
+
+ + diff --git a/docs/build/html/api/core.math/-interpolator-factory/index.html b/docs/build/html/api/core.math/-interpolator-factory/index.html new file mode 100644 index 0000000000..d8f5298839 --- /dev/null +++ b/docs/build/html/api/core.math/-interpolator-factory/index.html @@ -0,0 +1,25 @@ + + +InterpolatorFactory - + + + +core.math / InterpolatorFactory
+
+

InterpolatorFactory

+interface InterpolatorFactory
+
+
+

Functions

+ + + + + + + +
+create +abstract fun create(xs: DoubleArray, ys: DoubleArray): Interpolator
+ + diff --git a/docs/build/html/api/core.math/-interpolator/index.html b/docs/build/html/api/core.math/-interpolator/index.html new file mode 100644 index 0000000000..5ff1f88cb7 --- /dev/null +++ b/docs/build/html/api/core.math/-interpolator/index.html @@ -0,0 +1,44 @@ + + +Interpolator - + + + +core.math / Interpolator
+
+

Interpolator

+interface Interpolator
+
+
+

Functions

+ + + + + + + +
+interpolate +abstract fun interpolate(x: Double): Double
+

Inheritors

+ + + + + + + + + + + +
+CubicSplineInterpolator +class CubicSplineInterpolator : Interpolator

Interpolates values between the given data points using a SplineFunction.

+
+LinearInterpolator +class LinearInterpolator : Interpolator

Interpolates values between the given data points using straight lines

+
+ + diff --git a/docs/build/html/api/core.math/-interpolator/interpolate.html b/docs/build/html/api/core.math/-interpolator/interpolate.html new file mode 100644 index 0000000000..62912b5690 --- /dev/null +++ b/docs/build/html/api/core.math/-interpolator/interpolate.html @@ -0,0 +1,15 @@ + + +Interpolator.interpolate - + + + +core.math / Interpolator / interpolate
+
+

interpolate

+ +abstract fun interpolate(x: Double): Double
+
+
+ + diff --git a/docs/build/html/api/core.math/-linear-interpolator/-init-.html b/docs/build/html/api/core.math/-linear-interpolator/-init-.html new file mode 100644 index 0000000000..80f3be4341 --- /dev/null +++ b/docs/build/html/api/core.math/-linear-interpolator/-init-.html @@ -0,0 +1,15 @@ + + +LinearInterpolator.<init> - + + + +core.math / LinearInterpolator / <init>
+
+

<init>

+LinearInterpolator(xs: DoubleArray, ys: DoubleArray)
+

Interpolates values between the given data points using straight lines

+
+
+ + diff --git a/docs/build/html/api/core.math/-linear-interpolator/create.html b/docs/build/html/api/core.math/-linear-interpolator/create.html new file mode 100644 index 0000000000..13265e3d5e --- /dev/null +++ b/docs/build/html/api/core.math/-linear-interpolator/create.html @@ -0,0 +1,16 @@ + + +LinearInterpolator.create - + + + +core.math / LinearInterpolator / create
+
+

create

+ +fun create(xs: DoubleArray, ys: DoubleArray): LinearInterpolator
+Overrides InterpolatorFactory.create
+
+
+ + diff --git a/docs/build/html/api/core.math/-linear-interpolator/index.html b/docs/build/html/api/core.math/-linear-interpolator/index.html new file mode 100644 index 0000000000..6420a04a86 --- /dev/null +++ b/docs/build/html/api/core.math/-linear-interpolator/index.html @@ -0,0 +1,49 @@ + + +LinearInterpolator - + + + +core.math / LinearInterpolator
+
+

LinearInterpolator

+class LinearInterpolator : Interpolator
+

Interpolates values between the given data points using straight lines

+
+
+

Constructors

+ + + + + + + +
+<init> +LinearInterpolator(xs: DoubleArray, ys: DoubleArray)

Interpolates values between the given data points using straight lines

+
+

Functions

+ + + + + + + +
+interpolate +fun interpolate(x: Double): Double
+

Companion Object Functions

+ + + + + + + +
+create +fun create(xs: DoubleArray, ys: DoubleArray): LinearInterpolator
+ + diff --git a/docs/build/html/api/core.math/-linear-interpolator/interpolate.html b/docs/build/html/api/core.math/-linear-interpolator/interpolate.html new file mode 100644 index 0000000000..c2177cf1eb --- /dev/null +++ b/docs/build/html/api/core.math/-linear-interpolator/interpolate.html @@ -0,0 +1,16 @@ + + +LinearInterpolator.interpolate - + + + +core.math / LinearInterpolator / interpolate
+
+

interpolate

+ +fun interpolate(x: Double): Double
+Overrides Interpolator.interpolate
+
+
+ + diff --git a/docs/build/html/api/core.math/-polynomial/-init-.html b/docs/build/html/api/core.math/-polynomial/-init-.html new file mode 100644 index 0000000000..dd7e1bfcef --- /dev/null +++ b/docs/build/html/api/core.math/-polynomial/-init-.html @@ -0,0 +1,18 @@ + + +Polynomial.<init> - + + + +core.math / Polynomial / <init>
+
+

<init>

+Polynomial(coefficients: DoubleArray)
+

Represents a polynomial function of arbitrary degree

+

Parameters

+ +coefficients - polynomial coefficients in the order of degree (constant first, followed by higher degree term coefficients)
+
+
+ + diff --git a/docs/build/html/api/core.math/-polynomial/get-value.html b/docs/build/html/api/core.math/-polynomial/get-value.html new file mode 100644 index 0000000000..cd90ae13cd --- /dev/null +++ b/docs/build/html/api/core.math/-polynomial/get-value.html @@ -0,0 +1,15 @@ + + +Polynomial.getValue - + + + +core.math / Polynomial / getValue
+
+

getValue

+ +fun getValue(x: Double): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.math/-polynomial/index.html b/docs/build/html/api/core.math/-polynomial/index.html new file mode 100644 index 0000000000..6912268589 --- /dev/null +++ b/docs/build/html/api/core.math/-polynomial/index.html @@ -0,0 +1,41 @@ + + +Polynomial - + + + +core.math / Polynomial
+
+

Polynomial

+class Polynomial
+

Represents a polynomial function of arbitrary degree

+

Parameters

+ +coefficients - polynomial coefficients in the order of degree (constant first, followed by higher degree term coefficients)
+
+
+

Constructors

+ + + + + + + +
+<init> +Polynomial(coefficients: DoubleArray)

Represents a polynomial function of arbitrary degree

+
+

Functions

+ + + + + + + +
+getValue +fun getValue(x: Double): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.math/-spline-function/-init-.html b/docs/build/html/api/core.math/-spline-function/-init-.html new file mode 100644 index 0000000000..ff34aea811 --- /dev/null +++ b/docs/build/html/api/core.math/-spline-function/-init-.html @@ -0,0 +1,19 @@ + + +SplineFunction.<init> - + + + +core.math / SplineFunction / <init>
+
+

<init>

+SplineFunction(segmentMap: TreeMap<Double, Polynomial>)
+

A spline is function piecewise-defined by polynomial functions. +Points at which polynomial pieces connect are known as knots.

+

Parameters

+ +segmentMap - a mapping between a knot and the polynomial that covers the subsequent interval
+
+
+ + diff --git a/docs/build/html/api/core.math/-spline-function/get-value.html b/docs/build/html/api/core.math/-spline-function/get-value.html new file mode 100644 index 0000000000..64a579ce74 --- /dev/null +++ b/docs/build/html/api/core.math/-spline-function/get-value.html @@ -0,0 +1,15 @@ + + +SplineFunction.getValue - + + + +core.math / SplineFunction / getValue
+
+

getValue

+ +fun getValue(x: Double): Double
+
+
+ + diff --git a/docs/build/html/api/core.math/-spline-function/index.html b/docs/build/html/api/core.math/-spline-function/index.html new file mode 100644 index 0000000000..86a1cf989b --- /dev/null +++ b/docs/build/html/api/core.math/-spline-function/index.html @@ -0,0 +1,43 @@ + + +SplineFunction - + + + +core.math / SplineFunction
+
+

SplineFunction

+class SplineFunction
+

A spline is function piecewise-defined by polynomial functions. +Points at which polynomial pieces connect are known as knots.

+

Parameters

+ +segmentMap - a mapping between a knot and the polynomial that covers the subsequent interval
+
+
+

Constructors

+ + + + + + + +
+<init> +SplineFunction(segmentMap: TreeMap<Double, Polynomial>)

A spline is function piecewise-defined by polynomial functions. +Points at which polynomial pieces connect are known as knots.

+
+

Functions

+ + + + + + + +
+getValue +fun getValue(x: Double): Double
+ + diff --git a/docs/build/html/api/core.math/index.html b/docs/build/html/api/core.math/index.html new file mode 100644 index 0000000000..7b74ffa5b4 --- /dev/null +++ b/docs/build/html/api/core.math/index.html @@ -0,0 +1,57 @@ + + +core.math - + + + +core.math
+
+

Package core.math

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+CubicSplineInterpolator +class CubicSplineInterpolator : Interpolator

Interpolates values between the given data points using a SplineFunction.

+
+Interpolator +interface Interpolator
+InterpolatorFactory +interface InterpolatorFactory
+LinearInterpolator +class LinearInterpolator : Interpolator

Interpolates values between the given data points using straight lines

+
+Polynomial +class Polynomial

Represents a polynomial function of arbitrary degree

+
+SplineFunction +class SplineFunction

A spline is function piecewise-defined by polynomial functions. +Points at which polynomial pieces connect are known as knots.

+
+ + diff --git a/docs/build/html/api/core.messaging/-all-possible-recipients.html b/docs/build/html/api/core.messaging/-all-possible-recipients.html new file mode 100644 index 0000000000..e7c15d9999 --- /dev/null +++ b/docs/build/html/api/core.messaging/-all-possible-recipients.html @@ -0,0 +1,15 @@ + + +AllPossibleRecipients - + + + +core.messaging / AllPossibleRecipients
+
+

AllPossibleRecipients

+interface AllPossibleRecipients : MessageRecipients
+

A special base class for the set of all possible recipients, without having to identify who they all are.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message-handler-registration.html b/docs/build/html/api/core.messaging/-message-handler-registration.html new file mode 100644 index 0000000000..86b836ed92 --- /dev/null +++ b/docs/build/html/api/core.messaging/-message-handler-registration.html @@ -0,0 +1,32 @@ + + +MessageHandlerRegistration - + + + +core.messaging / MessageHandlerRegistration
+
+

MessageHandlerRegistration

+interface MessageHandlerRegistration
+
+
+

Inheritors

+ + + + + + + + + + + +
+Handler +inner class Handler : MessageHandlerRegistration

A registration to handle messages of different types

+
+Handler +inner class Handler : MessageHandlerRegistration
+ + diff --git a/docs/build/html/api/core.messaging/-message-recipient-group.html b/docs/build/html/api/core.messaging/-message-recipient-group.html new file mode 100644 index 0000000000..2c0e30e09c --- /dev/null +++ b/docs/build/html/api/core.messaging/-message-recipient-group.html @@ -0,0 +1,15 @@ + + +MessageRecipientGroup - + + + +core.messaging / MessageRecipientGroup
+
+

MessageRecipientGroup

+interface MessageRecipientGroup : MessageRecipients
+

A base class for a set of recipients specifically identified by the sender.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message-recipients.html b/docs/build/html/api/core.messaging/-message-recipients.html new file mode 100644 index 0000000000..c65fba1cc4 --- /dev/null +++ b/docs/build/html/api/core.messaging/-message-recipients.html @@ -0,0 +1,41 @@ + + +MessageRecipients - + + + +core.messaging / MessageRecipients
+
+

MessageRecipients

+interface MessageRecipients
+

The interface for a group of message recipients (which may contain only one recipient)

+
+
+

Inheritors

+ + + + + + + + + + + + + + + +
+AllPossibleRecipients +interface AllPossibleRecipients : MessageRecipients

A special base class for the set of all possible recipients, without having to identify who they all are.

+
+MessageRecipientGroup +interface MessageRecipientGroup : MessageRecipients

A base class for a set of recipients specifically identified by the sender.

+
+SingleMessageRecipient +interface SingleMessageRecipient : MessageRecipients

A base class for the case of point-to-point messages

+
+ + diff --git a/docs/build/html/api/core.messaging/-message/data.html b/docs/build/html/api/core.messaging/-message/data.html new file mode 100644 index 0000000000..6265b6f3cb --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/data.html @@ -0,0 +1,15 @@ + + +Message.data - + + + +core.messaging / Message / data
+
+

data

+ +abstract val data: ByteArray
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message/debug-message-i-d.html b/docs/build/html/api/core.messaging/-message/debug-message-i-d.html new file mode 100644 index 0000000000..207af85bcc --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/debug-message-i-d.html @@ -0,0 +1,15 @@ + + +Message.debugMessageID - + + + +core.messaging / Message / debugMessageID
+
+

debugMessageID

+ +abstract val debugMessageID: String
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message/debug-timestamp.html b/docs/build/html/api/core.messaging/-message/debug-timestamp.html new file mode 100644 index 0000000000..eaa930929a --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/debug-timestamp.html @@ -0,0 +1,15 @@ + + +Message.debugTimestamp - + + + +core.messaging / Message / debugTimestamp
+
+

debugTimestamp

+ +abstract val debugTimestamp: Instant
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message/index.html b/docs/build/html/api/core.messaging/-message/index.html new file mode 100644 index 0000000000..9f4cf5220b --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/index.html @@ -0,0 +1,63 @@ + + +Message - + + + +core.messaging / Message
+
+

Message

+interface Message
+

A message is defined, at this level, to be a (topic, timestamp, byte arrays) triple, where the topic is a string in +Java-style reverse dns form, with "platform." being a prefix reserved by the platform for its own use. Vendor +specific messages can be defined, but use your domain name as the prefix e.g. "uk.co.bigbank.messages.SomeMessage".

+

The debugTimestamp field is intended to aid in tracking messages as they flow across the network, likewise, the +message ID is intended to be an ad-hoc way to identify a message sent in the system through debug logs and so on. +These IDs and timestamps should not be assumed to be globally unique, although due to the nanosecond precision of +the timestamp field they probably will be, even if an implementation just uses a hash prefix as the message id.

+
+
+
+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+data +abstract val data: ByteArray
+debugMessageID +abstract val debugMessageID: String
+debugTimestamp +abstract val debugTimestamp: Instant
+topic +abstract val topic: String
+

Functions

+ + + + + + + +
+serialise +abstract fun serialise(): ByteArray
+ + diff --git a/docs/build/html/api/core.messaging/-message/serialise.html b/docs/build/html/api/core.messaging/-message/serialise.html new file mode 100644 index 0000000000..fbd1892aac --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/serialise.html @@ -0,0 +1,15 @@ + + +Message.serialise - + + + +core.messaging / Message / serialise
+
+

serialise

+ +abstract fun serialise(): ByteArray
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-message/topic.html b/docs/build/html/api/core.messaging/-message/topic.html new file mode 100644 index 0000000000..52d3745896 --- /dev/null +++ b/docs/build/html/api/core.messaging/-message/topic.html @@ -0,0 +1,15 @@ + + +Message.topic - + + + +core.messaging / Message / topic
+
+

topic

+ +abstract val topic: String
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service-builder/index.html b/docs/build/html/api/core.messaging/-messaging-service-builder/index.html new file mode 100644 index 0000000000..886500d3c2 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service-builder/index.html @@ -0,0 +1,44 @@ + + +MessagingServiceBuilder - + + + +core.messaging / MessagingServiceBuilder
+
+

MessagingServiceBuilder

+interface MessagingServiceBuilder<out T : MessagingService>
+

This class lets you start up a MessagingService. Its purpose is to stop you from getting access to the methods +on the messaging service interface until you have successfully started up the system. One of these objects should +be the only way to obtain a reference to a MessagingService. Startup may be a slow process: some implementations +may let you cast the returned future to an object that lets you get status info.

+

A specific implementation of the controller class will have extra features that let you customise it before starting +it up.

+
+
+
+
+

Functions

+ + + + + + + +
+start +abstract fun start(): <ERROR CLASS><out T>
+

Inheritors

+ + + + + + + +
+Builder +inner class Builder : MessagingServiceBuilder<InMemoryMessaging>
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service-builder/start.html b/docs/build/html/api/core.messaging/-messaging-service-builder/start.html new file mode 100644 index 0000000000..1f0675d399 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service-builder/start.html @@ -0,0 +1,15 @@ + + +MessagingServiceBuilder.start - + + + +core.messaging / MessagingServiceBuilder / start
+
+

start

+ +abstract fun start(): <ERROR CLASS><out T>
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/add-message-handler.html b/docs/build/html/api/core.messaging/-messaging-service/add-message-handler.html new file mode 100644 index 0000000000..2e4f54cbc2 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/add-message-handler.html @@ -0,0 +1,24 @@ + + +MessagingService.addMessageHandler - + + + +core.messaging / MessagingService / addMessageHandler
+
+

addMessageHandler

+ +abstract fun addMessageHandler(topic: String = "", executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
+

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+

If no executor is received then the callback will run on threads provided by the messaging service, and the +callback is expected to be thread safe as a result.

+

The returned object is an opaque handle that may be used to un-register handlers later with removeMessageHandler. +The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister +itself and yet addMessageHandler hasnt returned the handle yet.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/create-message.html b/docs/build/html/api/core.messaging/-messaging-service/create-message.html new file mode 100644 index 0000000000..c9cfd40309 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/create-message.html @@ -0,0 +1,16 @@ + + +MessagingService.createMessage - + + + +core.messaging / MessagingService / createMessage
+
+

createMessage

+ +abstract fun createMessage(topic: String, data: ByteArray): Message
+

Returns an initialised Message with the current time, etc, already filled in.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/index.html b/docs/build/html/api/core.messaging/-messaging-service/index.html new file mode 100644 index 0000000000..22be71d9ac --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/index.html @@ -0,0 +1,122 @@ + + +MessagingService - + + + +core.messaging / MessagingService
+
+

MessagingService

+interface MessagingService
+

A MessagingService sits at the boundary between a message routing / networking layer and the core platform code.

+

A messaging system must provide the ability to send 1:many messages, potentially to an abstract "group", the +membership of which is defined elsewhere. Messages are atomic and the system guarantees that a sent message +eventually will arrive in the exact form it was sent, however, messages can be arbitrarily re-ordered or delayed.

+

Example implementations might be a custom P2P layer, Akka, Apache Kafka, etc. It is assumed that the message layer +is reliable and as such messages may be stored to disk once queued.

+
+
+
+
+

Properties

+ + + + + + + +
+myAddress +abstract val myAddress: SingleMessageRecipient

Returns an address that refers to this node.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+addMessageHandler +abstract fun addMessageHandler(topic: String = "", executor: Executor? = null, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+
+createMessage +abstract fun createMessage(topic: String, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+
+removeMessageHandler +abstract fun removeMessageHandler(registration: MessageHandlerRegistration): Unit

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+
+send +abstract fun send(message: Message, target: MessageRecipients): Unit

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+
+stop +abstract fun stop(): Unit
+

Extension Functions

+ + + + + + + + + + + +
+runOnNextMessage +fun MessagingService.runOnNextMessage(topic: String = "", executor: Executor? = null, callback: (Message) -> Unit): Unit

Registers a handler for the given topic that runs the given callback with the message and then removes itself. This +is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt +take the registration object, unlike the callback to MessagingService.addMessageHandler.

+
+send +fun MessagingService.send(topic: String, to: MessageRecipients, obj: Any): Unit
+

Inheritors

+ + + + + + + + + + + +
+ArtemisMessagingService +class ArtemisMessagingService : MessagingService

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

+
+InMemoryMessaging +inner class InMemoryMessaging : MessagingService

An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage +system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience +when all entities on the network are being simulated in-process.

+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/my-address.html b/docs/build/html/api/core.messaging/-messaging-service/my-address.html new file mode 100644 index 0000000000..5f0286063d --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/my-address.html @@ -0,0 +1,16 @@ + + +MessagingService.myAddress - + + + +core.messaging / MessagingService / myAddress
+
+

myAddress

+ +abstract val myAddress: SingleMessageRecipient
+

Returns an address that refers to this node.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/remove-message-handler.html b/docs/build/html/api/core.messaging/-messaging-service/remove-message-handler.html new file mode 100644 index 0000000000..7ac4c91a54 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/remove-message-handler.html @@ -0,0 +1,23 @@ + + +MessagingService.removeMessageHandler - + + + +core.messaging / MessagingService / removeMessageHandler
+
+

removeMessageHandler

+ +abstract fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
+

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+

Exceptions

+ +IllegalArgumentException - if the given registration isnt valid for this messaging service.
+
+ +IllegalStateException - if the given registration was already de-registered.
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/send.html b/docs/build/html/api/core.messaging/-messaging-service/send.html new file mode 100644 index 0000000000..2ffad23f5c --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/send.html @@ -0,0 +1,23 @@ + + +MessagingService.send - + + + +core.messaging / MessagingService / send
+
+

send

+ +abstract fun send(message: Message, target: MessageRecipients): Unit
+

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+

There is no way to know if a message has been received. If your protocol requires this, you need the recipient +to send an ACK message back.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-messaging-service/stop.html b/docs/build/html/api/core.messaging/-messaging-service/stop.html new file mode 100644 index 0000000000..9a242c0228 --- /dev/null +++ b/docs/build/html/api/core.messaging/-messaging-service/stop.html @@ -0,0 +1,15 @@ + + +MessagingService.stop - + + + +core.messaging / MessagingService / stop
+
+

stop

+ +abstract fun stop(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-single-message-recipient.html b/docs/build/html/api/core.messaging/-single-message-recipient.html new file mode 100644 index 0000000000..1991805b3c --- /dev/null +++ b/docs/build/html/api/core.messaging/-single-message-recipient.html @@ -0,0 +1,32 @@ + + +SingleMessageRecipient - + + + +core.messaging / SingleMessageRecipient
+
+

SingleMessageRecipient

+interface SingleMessageRecipient : MessageRecipients
+

A base class for the case of point-to-point messages

+
+
+

Inheritors

+ + + + + + + + + + + +
+Handle +class Handle : SingleMessageRecipient
+MockAddress +data class MockAddress : SingleMessageRecipient
+ + diff --git a/docs/build/html/api/core.messaging/-stack-snapshot/-init-.html b/docs/build/html/api/core.messaging/-stack-snapshot/-init-.html new file mode 100644 index 0000000000..e918751227 --- /dev/null +++ b/docs/build/html/api/core.messaging/-stack-snapshot/-init-.html @@ -0,0 +1,14 @@ + + +StackSnapshot.<init> - + + + +core.messaging / StackSnapshot / <init>
+
+

<init>

+StackSnapshot()
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-stack-snapshot/index.html b/docs/build/html/api/core.messaging/-stack-snapshot/index.html new file mode 100644 index 0000000000..35ecece2f0 --- /dev/null +++ b/docs/build/html/api/core.messaging/-stack-snapshot/index.html @@ -0,0 +1,25 @@ + + +StackSnapshot - + + + +core.messaging / StackSnapshot
+
+

StackSnapshot

+class StackSnapshot : Throwable
+
+
+

Constructors

+ + + + + + + +
+<init> +StackSnapshot()
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/-init-.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/-init-.html new file mode 100644 index 0000000000..bc39c91e16 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.FiberRequest.ExpectingResponse.<init> - + + + +core.messaging / StateMachineManager / FiberRequest / ExpectingResponse / <init>
+
+

<init>

+ExpectingResponse(topic: String, destination: MessageRecipients?, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any?, responseType: Class<R>)
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/index.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/index.html new file mode 100644 index 0000000000..551f1c91ea --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/index.html @@ -0,0 +1,77 @@ + + +StateMachineManager.FiberRequest.ExpectingResponse - + + + +core.messaging / StateMachineManager / FiberRequest / ExpectingResponse
+
+

ExpectingResponse

+class ExpectingResponse<R : Any> : FiberRequest
+
+
+

Constructors

+ + + + + + + +
+<init> +ExpectingResponse(topic: String, destination: MessageRecipients?, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any?, responseType: Class<R>)
+

Properties

+ + + + + + + +
+responseType +val responseType: Class<R>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+destination +val destination: MessageRecipients?
+obj +val obj: Any?
+sessionIDForReceive +val sessionIDForReceive: Long
+sessionIDForSend +val sessionIDForSend: Long
+stackTraceInCaseOfProblems +val stackTraceInCaseOfProblems: StackSnapshot
+topic +val topic: String
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/response-type.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/response-type.html new file mode 100644 index 0000000000..06808768a7 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-expecting-response/response-type.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.ExpectingResponse.responseType - + + + +core.messaging / StateMachineManager / FiberRequest / ExpectingResponse / responseType
+
+

responseType

+ +val responseType: Class<R>
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-init-.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-init-.html new file mode 100644 index 0000000000..8cd98d402b --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.FiberRequest.<init> - + + + +core.messaging / StateMachineManager / FiberRequest / <init>
+
+

<init>

+FiberRequest(topic: String, destination: MessageRecipients?, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any?)
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/-init-.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/-init-.html new file mode 100644 index 0000000000..ec9db5833d --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.FiberRequest.NotExpectingResponse.<init> - + + + +core.messaging / StateMachineManager / FiberRequest / NotExpectingResponse / <init>
+
+

<init>

+NotExpectingResponse(topic: String, destination: MessageRecipients, sessionIDForSend: Long, obj: Any?)
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/index.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/index.html new file mode 100644 index 0000000000..d34b2017ef --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/-not-expecting-response/index.html @@ -0,0 +1,66 @@ + + +StateMachineManager.FiberRequest.NotExpectingResponse - + + + +core.messaging / StateMachineManager / FiberRequest / NotExpectingResponse
+
+

NotExpectingResponse

+class NotExpectingResponse : FiberRequest
+
+
+

Constructors

+ + + + + + + +
+<init> +NotExpectingResponse(topic: String, destination: MessageRecipients, sessionIDForSend: Long, obj: Any?)
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+destination +val destination: MessageRecipients?
+obj +val obj: Any?
+sessionIDForReceive +val sessionIDForReceive: Long
+sessionIDForSend +val sessionIDForSend: Long
+stackTraceInCaseOfProblems +val stackTraceInCaseOfProblems: StackSnapshot
+topic +val topic: String
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/destination.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/destination.html new file mode 100644 index 0000000000..c67bf7ad20 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/destination.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.destination - + + + +core.messaging / StateMachineManager / FiberRequest / destination
+
+

destination

+ +val destination: MessageRecipients?
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/index.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/index.html new file mode 100644 index 0000000000..b3dd2a2730 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/index.html @@ -0,0 +1,100 @@ + + +StateMachineManager.FiberRequest - + + + +core.messaging / StateMachineManager / FiberRequest
+
+

FiberRequest

+class FiberRequest
+
+
+

Types

+ + + + + + + + + + + +
+ExpectingResponse +class ExpectingResponse<R : Any> : FiberRequest
+NotExpectingResponse +class NotExpectingResponse : FiberRequest
+

Constructors

+ + + + + + + +
+<init> +FiberRequest(topic: String, destination: MessageRecipients?, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any?)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+destination +val destination: MessageRecipients?
+obj +val obj: Any?
+sessionIDForReceive +val sessionIDForReceive: Long
+sessionIDForSend +val sessionIDForSend: Long
+stackTraceInCaseOfProblems +val stackTraceInCaseOfProblems: StackSnapshot
+topic +val topic: String
+

Inheritors

+ + + + + + + + + + + +
+ExpectingResponse +class ExpectingResponse<R : Any> : FiberRequest
+NotExpectingResponse +class NotExpectingResponse : FiberRequest
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/obj.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/obj.html new file mode 100644 index 0000000000..59a930234b --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/obj.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.obj - + + + +core.messaging / StateMachineManager / FiberRequest / obj
+
+

obj

+ +val obj: Any?
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-receive.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-receive.html new file mode 100644 index 0000000000..71edcfa82c --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-receive.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.sessionIDForReceive - + + + +core.messaging / StateMachineManager / FiberRequest / sessionIDForReceive
+
+

sessionIDForReceive

+ +val sessionIDForReceive: Long
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-send.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-send.html new file mode 100644 index 0000000000..31900075b9 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/session-i-d-for-send.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.sessionIDForSend - + + + +core.messaging / StateMachineManager / FiberRequest / sessionIDForSend
+
+

sessionIDForSend

+ +val sessionIDForSend: Long
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/stack-trace-in-case-of-problems.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/stack-trace-in-case-of-problems.html new file mode 100644 index 0000000000..b734831095 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/stack-trace-in-case-of-problems.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.stackTraceInCaseOfProblems - + + + +core.messaging / StateMachineManager / FiberRequest / stackTraceInCaseOfProblems
+
+

stackTraceInCaseOfProblems

+ +val stackTraceInCaseOfProblems: StackSnapshot
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/topic.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/topic.html new file mode 100644 index 0000000000..6a805c7ceb --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-request/topic.html @@ -0,0 +1,15 @@ + + +StateMachineManager.FiberRequest.topic - + + + +core.messaging / StateMachineManager / FiberRequest / topic
+
+

topic

+ +val topic: String
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/-init-.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/-init-.html new file mode 100644 index 0000000000..9fa7e40bc2 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/-init-.html @@ -0,0 +1,14 @@ + + +StateMachineManager.FiberScheduler.<init> - + + + +core.messaging / StateMachineManager / FiberScheduler / <init>
+
+

<init>

+FiberScheduler()
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/index.html b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/index.html new file mode 100644 index 0000000000..c3c2920ce5 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-fiber-scheduler/index.html @@ -0,0 +1,25 @@ + + +StateMachineManager.FiberScheduler - + + + +core.messaging / StateMachineManager / FiberScheduler
+
+

FiberScheduler

+inner class FiberScheduler
+
+
+

Constructors

+ + + + + + + +
+<init> +FiberScheduler()
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/-init-.html b/docs/build/html/api/core.messaging/-state-machine-manager/-init-.html new file mode 100644 index 0000000000..70db983fe2 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/-init-.html @@ -0,0 +1,35 @@ + + +StateMachineManager.<init> - + + + +core.messaging / StateMachineManager / <init>
+
+

<init>

+StateMachineManager(serviceHub: ServiceHub, executor: AffinityExecutor)
+

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

+

An implementation of this class will persist state machines to long term storage so they can survive process restarts +and, if run with a single-threaded executor, will ensure no two state machines run concurrently with each other +(bad for performance, good for programmer mental health).

+

A "state machine" is a class with a single call method. The call method and any others it invokes are rewritten by +a bytecode rewriting engine called Quasar, to ensure the code can be suspended and resumed at any point.

+

The SMM will always invoke the protocol fibers on the given AffinityExecutor, regardless of which thread actually +starts them via add.

+

TODO: Session IDs should be set up and propagated automatically, on demand. +TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised +continuation is always unique? +TODO: Think about how to bring the system to a clean stop so it can be upgraded without any serialised stacks on disk +TODO: Timeouts +TODO: Surfacing of exceptions via an API and/or management UI +TODO: Ability to control checkpointing explicitly, for cases where you know replaying a message cant hurt +TODO: Make Kryo (de)serialize markers for heavy objects that are currently in the service hub. This avoids mistakes +where services are temporarily put on the stack. +TODO: Implement stub/skel classes that provide a basic RPC framework on top of this.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/add.html b/docs/build/html/api/core.messaging/-state-machine-manager/add.html new file mode 100644 index 0000000000..fa28ee12f5 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/add.html @@ -0,0 +1,18 @@ + + +StateMachineManager.add - + + + +core.messaging / StateMachineManager / add
+
+

add

+ +fun <T> add(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>
+

Kicks off a brand new state machine of the given class. It will log with the named logger. +The state machine will be persisted when it suspends, with automated restart if the StateMachineManager is +restarted with checkpointed state machines in the storage service.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/executor.html b/docs/build/html/api/core.messaging/-state-machine-manager/executor.html new file mode 100644 index 0000000000..75f15716f3 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/executor.html @@ -0,0 +1,15 @@ + + +StateMachineManager.executor - + + + +core.messaging / StateMachineManager / executor
+
+

executor

+ +val executor: AffinityExecutor
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/find-state-machines.html b/docs/build/html/api/core.messaging/-state-machine-manager/find-state-machines.html new file mode 100644 index 0000000000..88a2990dc7 --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/find-state-machines.html @@ -0,0 +1,16 @@ + + +StateMachineManager.findStateMachines - + + + +core.messaging / StateMachineManager / findStateMachines
+
+

findStateMachines

+ +fun <T> findStateMachines(klass: Class<out ProtocolLogic<T>>): List<<ERROR CLASS><ProtocolLogic<T>, <ERROR CLASS><T>>>
+

Returns a list of all state machines executing the given protocol logic at the top level (subprotocols do not count)

+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/index.html b/docs/build/html/api/core.messaging/-state-machine-manager/index.html new file mode 100644 index 0000000000..3cf765f3df --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/index.html @@ -0,0 +1,109 @@ + + +StateMachineManager - + + + +core.messaging / StateMachineManager
+
+

StateMachineManager

+class StateMachineManager
+

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

+

An implementation of this class will persist state machines to long term storage so they can survive process restarts +and, if run with a single-threaded executor, will ensure no two state machines run concurrently with each other +(bad for performance, good for programmer mental health).

+

A "state machine" is a class with a single call method. The call method and any others it invokes are rewritten by +a bytecode rewriting engine called Quasar, to ensure the code can be suspended and resumed at any point.

+

The SMM will always invoke the protocol fibers on the given AffinityExecutor, regardless of which thread actually +starts them via add.

+

TODO: Session IDs should be set up and propagated automatically, on demand. +TODO: Consider the issue of continuation identity more deeply: is it a safe assumption that a serialised +continuation is always unique? +TODO: Think about how to bring the system to a clean stop so it can be upgraded without any serialised stacks on disk +TODO: Timeouts +TODO: Surfacing of exceptions via an API and/or management UI +TODO: Ability to control checkpointing explicitly, for cases where you know replaying a message cant hurt +TODO: Make Kryo (de)serialize markers for heavy objects that are currently in the service hub. This avoids mistakes +where services are temporarily put on the stack. +TODO: Implement stub/skel classes that provide a basic RPC framework on top of this.

+
+
+
+
+

Types

+ + + + + + + + + + + +
+FiberRequest +class FiberRequest
+FiberScheduler +inner class FiberScheduler
+

Constructors

+ + + + + + + +
+<init> +StateMachineManager(serviceHub: ServiceHub, executor: AffinityExecutor)

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

+
+

Properties

+ + + + + + + + + + + + + + + +
+executor +val executor: AffinityExecutor
+scheduler +val scheduler: FiberScheduler
+serviceHub +val serviceHub: ServiceHub
+

Functions

+ + + + + + + + + + + +
+add +fun <T> add(loggerName: String, logic: ProtocolLogic<T>): <ERROR CLASS><T>

Kicks off a brand new state machine of the given class. It will log with the named logger. +The state machine will be persisted when it suspends, with automated restart if the StateMachineManager is +restarted with checkpointed state machines in the storage service.

+
+findStateMachines +fun <T> findStateMachines(klass: Class<out ProtocolLogic<T>>): List<<ERROR CLASS><ProtocolLogic<T>, <ERROR CLASS><T>>>

Returns a list of all state machines executing the given protocol logic at the top level (subprotocols do not count)

+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/scheduler.html b/docs/build/html/api/core.messaging/-state-machine-manager/scheduler.html new file mode 100644 index 0000000000..f99b8f43ef --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/scheduler.html @@ -0,0 +1,15 @@ + + +StateMachineManager.scheduler - + + + +core.messaging / StateMachineManager / scheduler
+
+

scheduler

+ +val scheduler: FiberScheduler
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-state-machine-manager/service-hub.html b/docs/build/html/api/core.messaging/-state-machine-manager/service-hub.html new file mode 100644 index 0000000000..2c30dba92a --- /dev/null +++ b/docs/build/html/api/core.messaging/-state-machine-manager/service-hub.html @@ -0,0 +1,15 @@ + + +StateMachineManager.serviceHub - + + + +core.messaging / StateMachineManager / serviceHub
+
+

serviceHub

+ +val serviceHub: ServiceHub
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-topic-string-validator/check.html b/docs/build/html/api/core.messaging/-topic-string-validator/check.html new file mode 100644 index 0000000000..1f0e354172 --- /dev/null +++ b/docs/build/html/api/core.messaging/-topic-string-validator/check.html @@ -0,0 +1,18 @@ + + +TopicStringValidator.check - + + + +core.messaging / TopicStringValidator / check
+
+

check

+ +fun check(tag: String): <ERROR CLASS>
+

Exceptions

+ +IllegalArgumentException - if the given topic contains invalid characters
+
+
+ + diff --git a/docs/build/html/api/core.messaging/-topic-string-validator/index.html b/docs/build/html/api/core.messaging/-topic-string-validator/index.html new file mode 100644 index 0000000000..a7591963dd --- /dev/null +++ b/docs/build/html/api/core.messaging/-topic-string-validator/index.html @@ -0,0 +1,26 @@ + + +TopicStringValidator - + + + +core.messaging / TopicStringValidator
+
+

TopicStringValidator

+object TopicStringValidator
+

A singleton thats useful for validating topic strings

+
+
+

Functions

+ + + + + + + +
+check +fun check(tag: String): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.messaging/index.html b/docs/build/html/api/core.messaging/index.html new file mode 100644 index 0000000000..842b8f464b --- /dev/null +++ b/docs/build/html/api/core.messaging/index.html @@ -0,0 +1,122 @@ + + +core.messaging - + + + +core.messaging
+
+

Package core.messaging

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AllPossibleRecipients +interface AllPossibleRecipients : MessageRecipients

A special base class for the set of all possible recipients, without having to identify who they all are.

+
+Message +interface Message

A message is defined, at this level, to be a (topic, timestamp, byte arrays) triple, where the topic is a string in +Java-style reverse dns form, with "platform." being a prefix reserved by the platform for its own use. Vendor +specific messages can be defined, but use your domain name as the prefix e.g. "uk.co.bigbank.messages.SomeMessage".

+
+MessageHandlerRegistration +interface MessageHandlerRegistration
+MessageRecipientGroup +interface MessageRecipientGroup : MessageRecipients

A base class for a set of recipients specifically identified by the sender.

+
+MessageRecipients +interface MessageRecipients

The interface for a group of message recipients (which may contain only one recipient)

+
+MessagingService +interface MessagingService

A MessagingService sits at the boundary between a message routing / networking layer and the core platform code.

+
+MessagingServiceBuilder +interface MessagingServiceBuilder<out T : MessagingService>

This class lets you start up a MessagingService. Its purpose is to stop you from getting access to the methods +on the messaging service interface until you have successfully started up the system. One of these objects should +be the only way to obtain a reference to a MessagingService. Startup may be a slow process: some implementations +may let you cast the returned future to an object that lets you get status info.

+
+SingleMessageRecipient +interface SingleMessageRecipient : MessageRecipients

A base class for the case of point-to-point messages

+
+StateMachineManager +class StateMachineManager

A StateMachineManager is responsible for coordination and persistence of multiple ProtocolStateMachine objects. +Each such object represents an instantiation of a (two-party) protocol that has reached a particular point.

+
+TopicStringValidator +object TopicStringValidator

A singleton thats useful for validating topic strings

+
+

Exceptions

+ + + + + + + +
+StackSnapshot +class StackSnapshot : Throwable
+

Functions

+ + + + + + + + + + + +
+runOnNextMessage +fun MessagingService.runOnNextMessage(topic: String = "", executor: Executor? = null, callback: (Message) -> Unit): Unit

Registers a handler for the given topic that runs the given callback with the message and then removes itself. This +is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt +take the registration object, unlike the callback to MessagingService.addMessageHandler.

+
+send +fun MessagingService.send(topic: String, to: MessageRecipients, obj: Any): Unit
+ + diff --git a/docs/build/html/api/core.messaging/run-on-next-message.html b/docs/build/html/api/core.messaging/run-on-next-message.html new file mode 100644 index 0000000000..5f29bdc4a7 --- /dev/null +++ b/docs/build/html/api/core.messaging/run-on-next-message.html @@ -0,0 +1,18 @@ + + +runOnNextMessage - + + + +core.messaging / runOnNextMessage
+
+

runOnNextMessage

+ +fun MessagingService.runOnNextMessage(topic: String = "", executor: Executor? = null, callback: (Message) -> Unit): Unit
+

Registers a handler for the given topic that runs the given callback with the message and then removes itself. This +is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt +take the registration object, unlike the callback to MessagingService.addMessageHandler.

+
+
+ + diff --git a/docs/build/html/api/core.messaging/send.html b/docs/build/html/api/core.messaging/send.html new file mode 100644 index 0000000000..4b0b0475bb --- /dev/null +++ b/docs/build/html/api/core.messaging/send.html @@ -0,0 +1,15 @@ + + +send - + + + +core.messaging / send
+
+

send

+ +fun MessagingService.send(topic: String, to: MessageRecipients, obj: Any): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-abstract-node-service/-init-.html b/docs/build/html/api/core.node.services/-abstract-node-service/-init-.html new file mode 100644 index 0000000000..fef3411e7d --- /dev/null +++ b/docs/build/html/api/core.node.services/-abstract-node-service/-init-.html @@ -0,0 +1,15 @@ + + +AbstractNodeService.<init> - + + + +core.node.services / AbstractNodeService / <init>
+
+

<init>

+AbstractNodeService(net: MessagingService)
+

Abstract superclass for services that a node can host, which provides helper functions.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-abstract-node-service/add-message-handler.html b/docs/build/html/api/core.node.services/-abstract-node-service/add-message-handler.html new file mode 100644 index 0000000000..010b6e12a0 --- /dev/null +++ b/docs/build/html/api/core.node.services/-abstract-node-service/add-message-handler.html @@ -0,0 +1,38 @@ + + +AbstractNodeService.addMessageHandler - + + + +core.node.services / AbstractNodeService / addMessageHandler
+
+

addMessageHandler

+ +protected inline fun <reified Q : AbstractRequestMessage, reified R : Any> addMessageHandler(topic: String, crossinline handler: (Q) -> R, crossinline exceptionConsumer: (Message, Exception) -> Unit): Unit
+

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+

Parameters

+ +topic - the topic, without the default session ID postfix (".0)
+
+ +handler - a function to handle the deserialised request and return a response
+
+ +exceptionConsumer - a function to which any thrown exception is passed.
+
+
+ +protected inline fun <reified Q : AbstractRequestMessage, reified R : Any> addMessageHandler(topic: String, crossinline handler: (Q) -> R): Unit
+

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+

Parameters

+ +topic - the topic, without the default session ID postfix (".0)
+
+ +handler - a function to handle the deserialised request and return a response
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-abstract-node-service/index.html b/docs/build/html/api/core.node.services/-abstract-node-service/index.html new file mode 100644 index 0000000000..ab8ae9725b --- /dev/null +++ b/docs/build/html/api/core.node.services/-abstract-node-service/index.html @@ -0,0 +1,87 @@ + + +AbstractNodeService - + + + +core.node.services / AbstractNodeService
+
+

AbstractNodeService

+abstract class AbstractNodeService
+

Abstract superclass for services that a node can host, which provides helper functions.

+
+
+

Constructors

+ + + + + + + +
+<init> +AbstractNodeService(net: MessagingService)

Abstract superclass for services that a node can host, which provides helper functions.

+
+

Properties

+ + + + + + + +
+net +val net: MessagingService
+

Functions

+ + + + + + + +
+addMessageHandler +fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+
+

Inheritors

+ + + + + + + + + + + + + + + + + + + +
+DataVendingService +class DataVendingService : AbstractNodeService

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+
+InMemoryNetworkMapService +class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService
+NodeTimestamperService +class NodeTimestamperService : AbstractNodeService

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+
+Service +class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+ + diff --git a/docs/build/html/api/core.node.services/-abstract-node-service/net.html b/docs/build/html/api/core.node.services/-abstract-node-service/net.html new file mode 100644 index 0000000000..3c56620f90 --- /dev/null +++ b/docs/build/html/api/core.node.services/-abstract-node-service/net.html @@ -0,0 +1,15 @@ + + +AbstractNodeService.net - + + + +core.node.services / AbstractNodeService / net
+
+

net

+ +val net: MessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-attachment-storage/import-attachment.html b/docs/build/html/api/core.node.services/-attachment-storage/import-attachment.html new file mode 100644 index 0000000000..05eef512a3 --- /dev/null +++ b/docs/build/html/api/core.node.services/-attachment-storage/import-attachment.html @@ -0,0 +1,30 @@ + + +AttachmentStorage.importAttachment - + + + +core.node.services / AttachmentStorage / importAttachment
+
+

importAttachment

+ +abstract fun importAttachment(jar: InputStream): SecureHash
+

Inserts the given attachment into the store, does not close the input stream. This can be an intensive +operation due to the need to copy the bytes to disk and hash them along the way.

+

Note that you should not pass a JarInputStream into this method and it will throw if you do, because access +to the raw byte stream is required.

+
+
+

Exceptions

+ +FileAlreadyExistsException - if the given byte stream has already been inserted.
+
+ +IllegalArgumentException - if the given byte stream is empty or a JarInputStream
+
+ +IOException - if something went wrong.
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-attachment-storage/index.html b/docs/build/html/api/core.node.services/-attachment-storage/index.html new file mode 100644 index 0000000000..fb413bd55f --- /dev/null +++ b/docs/build/html/api/core.node.services/-attachment-storage/index.html @@ -0,0 +1,51 @@ + + +AttachmentStorage - + + + +core.node.services / AttachmentStorage
+
+

AttachmentStorage

+interface AttachmentStorage
+

An attachment store records potentially large binary objects, identified by their hash. Note that attachments are +immutable and can never be erased once inserted

+
+
+

Functions

+ + + + + + + + + + + +
+importAttachment +abstract fun importAttachment(jar: InputStream): SecureHash

Inserts the given attachment into the store, does not close the input stream. This can be an intensive +operation due to the need to copy the bytes to disk and hash them along the way.

+
+openAttachment +abstract fun openAttachment(id: SecureHash): Attachment?

Returns a newly opened stream for the given locally stored attachment, or null if no such attachment is known. +The returned stream must be closed when you are done with it to avoid resource leaks. You should probably wrap +the result in a JarInputStream unless youre sending it somewhere, there is a convenience helper for this +on Attachment.

+
+

Inheritors

+ + + + + + + +
+NodeAttachmentService +class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+ + diff --git a/docs/build/html/api/core.node.services/-attachment-storage/open-attachment.html b/docs/build/html/api/core.node.services/-attachment-storage/open-attachment.html new file mode 100644 index 0000000000..c8994d97e9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-attachment-storage/open-attachment.html @@ -0,0 +1,19 @@ + + +AttachmentStorage.openAttachment - + + + +core.node.services / AttachmentStorage / openAttachment
+
+

openAttachment

+ +abstract fun openAttachment(id: SecureHash): Attachment?
+

Returns a newly opened stream for the given locally stored attachment, or null if no such attachment is known. +The returned stream must be closed when you are done with it to avoid resource leaks. You should probably wrap +the result in a JarInputStream unless youre sending it somewhere, there is a convenience helper for this +on Attachment.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-dummy-timestamping-authority/identity.html b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/identity.html new file mode 100644 index 0000000000..add30e7a97 --- /dev/null +++ b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/identity.html @@ -0,0 +1,15 @@ + + +DummyTimestampingAuthority.identity - + + + +core.node.services / DummyTimestampingAuthority / identity
+
+

identity

+ +val identity: Party
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-dummy-timestamping-authority/index.html b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/index.html new file mode 100644 index 0000000000..fec26a679f --- /dev/null +++ b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/index.html @@ -0,0 +1,31 @@ + + +DummyTimestampingAuthority - + + + +core.node.services / DummyTimestampingAuthority
+
+

DummyTimestampingAuthority

+object DummyTimestampingAuthority
+
+
+

Properties

+ + + + + + + + + + + +
+identity +val identity: Party
+key +val key: KeyPair
+ + diff --git a/docs/build/html/api/core.node.services/-dummy-timestamping-authority/key.html b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/key.html new file mode 100644 index 0000000000..bc68a6b5b6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-dummy-timestamping-authority/key.html @@ -0,0 +1,15 @@ + + +DummyTimestampingAuthority.key - + + + +core.node.services / DummyTimestampingAuthority / key
+
+

key

+ +val key: KeyPair
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-identity-service/index.html b/docs/build/html/api/core.node.services/-identity-service/index.html new file mode 100644 index 0000000000..375ac3b3f9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-identity-service/index.html @@ -0,0 +1,62 @@ + + +IdentityService - + + + +core.node.services / IdentityService
+
+

IdentityService

+interface IdentityService
+

An identity service maintains an bidirectional map of Partys to their associated public keys and thus supports +lookup of a party given its key. This is obviously very incomplete and does not reflect everything a real identity +service would provide.

+
+
+

Functions

+ + + + + + + + + + + + + + + +
+partyFromKey +abstract fun partyFromKey(key: PublicKey): Party?
+partyFromName +abstract fun partyFromName(name: String): Party?
+registerIdentity +abstract fun registerIdentity(party: Party): Unit
+

Inheritors

+ + + + + + + + + + + +
+InMemoryIdentityService +class InMemoryIdentityService : IdentityService

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+MockIdentityService +class MockIdentityService : IdentityService

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+ + diff --git a/docs/build/html/api/core.node.services/-identity-service/party-from-key.html b/docs/build/html/api/core.node.services/-identity-service/party-from-key.html new file mode 100644 index 0000000000..8e1681c060 --- /dev/null +++ b/docs/build/html/api/core.node.services/-identity-service/party-from-key.html @@ -0,0 +1,15 @@ + + +IdentityService.partyFromKey - + + + +core.node.services / IdentityService / partyFromKey
+
+

partyFromKey

+ +abstract fun partyFromKey(key: PublicKey): Party?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-identity-service/party-from-name.html b/docs/build/html/api/core.node.services/-identity-service/party-from-name.html new file mode 100644 index 0000000000..42a8ac97c0 --- /dev/null +++ b/docs/build/html/api/core.node.services/-identity-service/party-from-name.html @@ -0,0 +1,15 @@ + + +IdentityService.partyFromName - + + + +core.node.services / IdentityService / partyFromName
+
+

partyFromName

+ +abstract fun partyFromName(name: String): Party?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-identity-service/register-identity.html b/docs/build/html/api/core.node.services/-identity-service/register-identity.html new file mode 100644 index 0000000000..26eb9fbfe6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-identity-service/register-identity.html @@ -0,0 +1,15 @@ + + +IdentityService.registerIdentity - + + + +core.node.services / IdentityService / registerIdentity
+
+

registerIdentity

+ +abstract fun registerIdentity(party: Party): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/-init-.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/-init-.html new file mode 100644 index 0000000000..1b31bee785 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/-init-.html @@ -0,0 +1,14 @@ + + +InMemoryNetworkMapService.<init> - + + + +core.node.services / InMemoryNetworkMapService / <init>
+
+

<init>

+InMemoryNetworkMapService(net: MessagingService, home: NodeRegistration, cache: NetworkMapCache)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/cache.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/cache.html new file mode 100644 index 0000000000..20076e7f8d --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/cache.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.cache - + + + +core.node.services / InMemoryNetworkMapService / cache
+
+

cache

+ +val cache: NetworkMapCache
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/get-unacknowledged-count.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/get-unacknowledged-count.html new file mode 100644 index 0000000000..c5f4291e88 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/get-unacknowledged-count.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.getUnacknowledgedCount - + + + +core.node.services / InMemoryNetworkMapService / getUnacknowledgedCount
+
+

getUnacknowledgedCount

+ +fun getUnacknowledgedCount(subscriber: SingleMessageRecipient): Int?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/index.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/index.html new file mode 100644 index 0000000000..878e2f217e --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/index.html @@ -0,0 +1,130 @@ + + +InMemoryNetworkMapService - + + + +core.node.services / InMemoryNetworkMapService
+
+

InMemoryNetworkMapService

+class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService
+
+
+

Constructors

+ + + + + + + +
+<init> +InMemoryNetworkMapService(net: MessagingService, home: NodeRegistration, cache: NetworkMapCache)
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+cache +val cache: NetworkMapCache
+maxSizeRegistrationRequestBytes +val maxSizeRegistrationRequestBytes: Int

Maximum credible size for a registration request. Generally requests are around 500-600 bytes, so this gives a +10 times overhead.

+
+maxUnacknowledgedUpdates +val maxUnacknowledgedUpdates: Int

Maximum number of unacknowledged updates to send to a node before automatically unregistering them for updates

+
+nodes +val nodes: List<NodeInfo>
+

Inherited Properties

+ + + + + + + +
+net +val net: MessagingService
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+getUnacknowledgedCount +fun getUnacknowledgedCount(subscriber: SingleMessageRecipient): Int?
+notifySubscribers +fun notifySubscribers(wireReg: WireNodeRegistration): Unit
+processAcknowledge +fun processAcknowledge(req: UpdateAcknowledge): Unit
+processFetchAllRequest +fun processFetchAllRequest(req: FetchMapRequest): FetchMapResponse
+processQueryRequest +fun processQueryRequest(req: QueryIdentityRequest): QueryIdentityResponse
+processRegistrationChangeRequest +fun processRegistrationChangeRequest(req: RegistrationRequest): RegistrationResponse
+processSubscriptionRequest +fun processSubscriptionRequest(req: SubscribeRequest): SubscribeResponse
+

Inherited Functions

+ + + + + + + +
+addMessageHandler +fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-size-registration-request-bytes.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-size-registration-request-bytes.html new file mode 100644 index 0000000000..61d590c4f1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-size-registration-request-bytes.html @@ -0,0 +1,17 @@ + + +InMemoryNetworkMapService.maxSizeRegistrationRequestBytes - + + + +core.node.services / InMemoryNetworkMapService / maxSizeRegistrationRequestBytes
+
+

maxSizeRegistrationRequestBytes

+ +val maxSizeRegistrationRequestBytes: Int
+

Maximum credible size for a registration request. Generally requests are around 500-600 bytes, so this gives a +10 times overhead.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-unacknowledged-updates.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-unacknowledged-updates.html new file mode 100644 index 0000000000..31b3ee776c --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/max-unacknowledged-updates.html @@ -0,0 +1,16 @@ + + +InMemoryNetworkMapService.maxUnacknowledgedUpdates - + + + +core.node.services / InMemoryNetworkMapService / maxUnacknowledgedUpdates
+
+

maxUnacknowledgedUpdates

+ +val maxUnacknowledgedUpdates: Int
+

Maximum number of unacknowledged updates to send to a node before automatically unregistering them for updates

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/nodes.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/nodes.html new file mode 100644 index 0000000000..b9dccf1f67 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/nodes.html @@ -0,0 +1,16 @@ + + +InMemoryNetworkMapService.nodes - + + + +core.node.services / InMemoryNetworkMapService / nodes
+
+

nodes

+ +val nodes: List<NodeInfo>
+Overrides NetworkMapService.nodes
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/notify-subscribers.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/notify-subscribers.html new file mode 100644 index 0000000000..c209b51a2c --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/notify-subscribers.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.notifySubscribers - + + + +core.node.services / InMemoryNetworkMapService / notifySubscribers
+
+

notifySubscribers

+ +fun notifySubscribers(wireReg: WireNodeRegistration): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-acknowledge.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-acknowledge.html new file mode 100644 index 0000000000..672fdcbe36 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-acknowledge.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.processAcknowledge - + + + +core.node.services / InMemoryNetworkMapService / processAcknowledge
+
+

processAcknowledge

+ +fun processAcknowledge(req: UpdateAcknowledge): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-fetch-all-request.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-fetch-all-request.html new file mode 100644 index 0000000000..232eb5f681 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-fetch-all-request.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.processFetchAllRequest - + + + +core.node.services / InMemoryNetworkMapService / processFetchAllRequest
+
+

processFetchAllRequest

+ +fun processFetchAllRequest(req: FetchMapRequest): FetchMapResponse
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-query-request.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-query-request.html new file mode 100644 index 0000000000..4cd4b84eb7 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-query-request.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.processQueryRequest - + + + +core.node.services / InMemoryNetworkMapService / processQueryRequest
+
+

processQueryRequest

+ +fun processQueryRequest(req: QueryIdentityRequest): QueryIdentityResponse
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-registration-change-request.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-registration-change-request.html new file mode 100644 index 0000000000..639462f564 --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-registration-change-request.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.processRegistrationChangeRequest - + + + +core.node.services / InMemoryNetworkMapService / processRegistrationChangeRequest
+
+

processRegistrationChangeRequest

+ +fun processRegistrationChangeRequest(req: RegistrationRequest): RegistrationResponse
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-subscription-request.html b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-subscription-request.html new file mode 100644 index 0000000000..654d45a0ff --- /dev/null +++ b/docs/build/html/api/core.node.services/-in-memory-network-map-service/process-subscription-request.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapService.processSubscriptionRequest - + + + +core.node.services / InMemoryNetworkMapService / processSubscriptionRequest
+
+

processSubscriptionRequest

+ +fun processSubscriptionRequest(req: SubscribeRequest): SubscribeResponse
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-d-e-f-a-u-l-t_-e-x-p-i-r-a-t-i-o-n_-p-e-r-i-o-d.html b/docs/build/html/api/core.node.services/-network-map-service/-d-e-f-a-u-l-t_-e-x-p-i-r-a-t-i-o-n_-p-e-r-i-o-d.html new file mode 100644 index 0000000000..091d844167 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-d-e-f-a-u-l-t_-e-x-p-i-r-a-t-i-o-n_-p-e-r-i-o-d.html @@ -0,0 +1,15 @@ + + +NetworkMapService.DEFAULT_EXPIRATION_PERIOD - + + + +core.node.services / NetworkMapService / DEFAULT_EXPIRATION_PERIOD
+
+

DEFAULT_EXPIRATION_PERIOD

+ +val DEFAULT_EXPIRATION_PERIOD: Period
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-f-e-t-c-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-f-e-t-c-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..391e234dbb --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-f-e-t-c-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.FETCH_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / FETCH_PROTOCOL_TOPIC
+
+

FETCH_PROTOCOL_TOPIC

+ +val FETCH_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/-init-.html new file mode 100644 index 0000000000..4ad91d3436 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.FetchMapRequest.<init> - + + + +core.node.services / NetworkMapService / FetchMapRequest / <init>
+
+

<init>

+FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: MessageRecipients, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/if-changed-since-version.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/if-changed-since-version.html new file mode 100644 index 0000000000..f7528cb89c --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/if-changed-since-version.html @@ -0,0 +1,15 @@ + + +NetworkMapService.FetchMapRequest.ifChangedSinceVersion - + + + +core.node.services / NetworkMapService / FetchMapRequest / ifChangedSinceVersion
+
+

ifChangedSinceVersion

+ +val ifChangedSinceVersion: Int?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/index.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/index.html new file mode 100644 index 0000000000..899537d1ba --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/index.html @@ -0,0 +1,59 @@ + + +NetworkMapService.FetchMapRequest - + + + +core.node.services / NetworkMapService / FetchMapRequest
+
+

FetchMapRequest

+class FetchMapRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +FetchMapRequest(subscribe: Boolean, ifChangedSinceVersion: Int?, replyTo: MessageRecipients, sessionID: Long)
+

Properties

+ + + + + + + + + + + +
+ifChangedSinceVersion +val ifChangedSinceVersion: Int?
+subscribe +val subscribe: Boolean
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/subscribe.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/subscribe.html new file mode 100644 index 0000000000..e089589b14 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-request/subscribe.html @@ -0,0 +1,15 @@ + + +NetworkMapService.FetchMapRequest.subscribe - + + + +core.node.services / NetworkMapService / FetchMapRequest / subscribe
+
+

subscribe

+ +val subscribe: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/-init-.html new file mode 100644 index 0000000000..1195a194a1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.FetchMapResponse.<init> - + + + +core.node.services / NetworkMapService / FetchMapResponse / <init>
+
+

<init>

+FetchMapResponse(nodes: Collection<NodeRegistration>?, version: Int)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/index.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/index.html new file mode 100644 index 0000000000..e030d8fd47 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/index.html @@ -0,0 +1,42 @@ + + +NetworkMapService.FetchMapResponse - + + + +core.node.services / NetworkMapService / FetchMapResponse
+
+

FetchMapResponse

+data class FetchMapResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +FetchMapResponse(nodes: Collection<NodeRegistration>?, version: Int)
+

Properties

+ + + + + + + + + + + +
+nodes +val nodes: Collection<NodeRegistration>?
+version +val version: Int
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/nodes.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/nodes.html new file mode 100644 index 0000000000..6489556d3b --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/nodes.html @@ -0,0 +1,15 @@ + + +NetworkMapService.FetchMapResponse.nodes - + + + +core.node.services / NetworkMapService / FetchMapResponse / nodes
+
+

nodes

+ +val nodes: Collection<NodeRegistration>?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/version.html b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/version.html new file mode 100644 index 0000000000..f761a9e2fe --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-fetch-map-response/version.html @@ -0,0 +1,15 @@ + + +NetworkMapService.FetchMapResponse.version - + + + +core.node.services / NetworkMapService / FetchMapResponse / version
+
+

version

+ +val version: Int
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-a-c-k_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-a-c-k_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..d1d1a0e2de --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-a-c-k_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.PUSH_ACK_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / PUSH_ACK_PROTOCOL_TOPIC
+
+

PUSH_ACK_PROTOCOL_TOPIC

+ +val PUSH_ACK_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..eda1965be4 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-p-u-s-h_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.PUSH_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / PUSH_PROTOCOL_TOPIC
+
+

PUSH_PROTOCOL_TOPIC

+ +val PUSH_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-q-u-e-r-y_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-q-u-e-r-y_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..7b2fe0fa87 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-q-u-e-r-y_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.QUERY_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / QUERY_PROTOCOL_TOPIC
+
+

QUERY_PROTOCOL_TOPIC

+ +val QUERY_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/-init-.html new file mode 100644 index 0000000000..0674016254 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.QueryIdentityRequest.<init> - + + + +core.node.services / NetworkMapService / QueryIdentityRequest / <init>
+
+

<init>

+QueryIdentityRequest(identity: Party, replyTo: MessageRecipients, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/identity.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/identity.html new file mode 100644 index 0000000000..888dd05cdd --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/identity.html @@ -0,0 +1,15 @@ + + +NetworkMapService.QueryIdentityRequest.identity - + + + +core.node.services / NetworkMapService / QueryIdentityRequest / identity
+
+

identity

+ +val identity: Party
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/index.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/index.html new file mode 100644 index 0000000000..2dfb1685a6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-request/index.html @@ -0,0 +1,53 @@ + + +NetworkMapService.QueryIdentityRequest - + + + +core.node.services / NetworkMapService / QueryIdentityRequest
+
+

QueryIdentityRequest

+class QueryIdentityRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +QueryIdentityRequest(identity: Party, replyTo: MessageRecipients, sessionID: Long)
+

Properties

+ + + + + + + +
+identity +val identity: Party
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/-init-.html new file mode 100644 index 0000000000..38680a0759 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.QueryIdentityResponse.<init> - + + + +core.node.services / NetworkMapService / QueryIdentityResponse / <init>
+
+

<init>

+QueryIdentityResponse(node: NodeInfo?)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/index.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/index.html new file mode 100644 index 0000000000..de092cf79c --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/index.html @@ -0,0 +1,36 @@ + + +NetworkMapService.QueryIdentityResponse - + + + +core.node.services / NetworkMapService / QueryIdentityResponse
+
+

QueryIdentityResponse

+data class QueryIdentityResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +QueryIdentityResponse(node: NodeInfo?)
+

Properties

+ + + + + + + +
+node +val node: NodeInfo?
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/node.html b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/node.html new file mode 100644 index 0000000000..3512d24d27 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-query-identity-response/node.html @@ -0,0 +1,15 @@ + + +NetworkMapService.QueryIdentityResponse.node - + + + +core.node.services / NetworkMapService / QueryIdentityResponse / node
+
+

node

+ +val node: NodeInfo?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-r-e-g-i-s-t-e-r_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-r-e-g-i-s-t-e-r_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..c56cf4fec9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-r-e-g-i-s-t-e-r_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.REGISTER_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / REGISTER_PROTOCOL_TOPIC
+
+

REGISTER_PROTOCOL_TOPIC

+ +val REGISTER_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-request/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/-init-.html new file mode 100644 index 0000000000..eced992064 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.RegistrationRequest.<init> - + + + +core.node.services / NetworkMapService / RegistrationRequest / <init>
+
+

<init>

+RegistrationRequest(wireReg: WireNodeRegistration, replyTo: MessageRecipients, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-request/index.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/index.html new file mode 100644 index 0000000000..36f43ae538 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/index.html @@ -0,0 +1,53 @@ + + +NetworkMapService.RegistrationRequest - + + + +core.node.services / NetworkMapService / RegistrationRequest
+
+

RegistrationRequest

+class RegistrationRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +RegistrationRequest(wireReg: WireNodeRegistration, replyTo: MessageRecipients, sessionID: Long)
+

Properties

+ + + + + + + +
+wireReg +val wireReg: WireNodeRegistration
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-request/wire-reg.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/wire-reg.html new file mode 100644 index 0000000000..d9be6ddb4e --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-request/wire-reg.html @@ -0,0 +1,15 @@ + + +NetworkMapService.RegistrationRequest.wireReg - + + + +core.node.services / NetworkMapService / RegistrationRequest / wireReg
+
+

wireReg

+ +val wireReg: WireNodeRegistration
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-response/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/-init-.html new file mode 100644 index 0000000000..5cc33c6fec --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.RegistrationResponse.<init> - + + + +core.node.services / NetworkMapService / RegistrationResponse / <init>
+
+

<init>

+RegistrationResponse(success: Boolean)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-response/index.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/index.html new file mode 100644 index 0000000000..346cb979f8 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/index.html @@ -0,0 +1,36 @@ + + +NetworkMapService.RegistrationResponse - + + + +core.node.services / NetworkMapService / RegistrationResponse
+
+

RegistrationResponse

+data class RegistrationResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +RegistrationResponse(success: Boolean)
+

Properties

+ + + + + + + +
+success +val success: Boolean
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-registration-response/success.html b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/success.html new file mode 100644 index 0000000000..76e186bc00 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-registration-response/success.html @@ -0,0 +1,15 @@ + + +NetworkMapService.RegistrationResponse.success - + + + +core.node.services / NetworkMapService / RegistrationResponse / success
+
+

success

+ +val success: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-s-u-b-s-c-r-i-p-t-i-o-n_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-network-map-service/-s-u-b-s-c-r-i-p-t-i-o-n_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..b947cd97c1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-s-u-b-s-c-r-i-p-t-i-o-n_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NetworkMapService.SUBSCRIPTION_PROTOCOL_TOPIC - + + + +core.node.services / NetworkMapService / SUBSCRIPTION_PROTOCOL_TOPIC
+
+

SUBSCRIPTION_PROTOCOL_TOPIC

+ +val SUBSCRIPTION_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/-init-.html new file mode 100644 index 0000000000..cf51439727 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.SubscribeRequest.<init> - + + + +core.node.services / NetworkMapService / SubscribeRequest / <init>
+
+

<init>

+SubscribeRequest(subscribe: Boolean, replyTo: MessageRecipients, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/index.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/index.html new file mode 100644 index 0000000000..01f1916a65 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/index.html @@ -0,0 +1,53 @@ + + +NetworkMapService.SubscribeRequest - + + + +core.node.services / NetworkMapService / SubscribeRequest
+
+

SubscribeRequest

+class SubscribeRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +SubscribeRequest(subscribe: Boolean, replyTo: MessageRecipients, sessionID: Long)
+

Properties

+ + + + + + + +
+subscribe +val subscribe: Boolean
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/subscribe.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/subscribe.html new file mode 100644 index 0000000000..4870d74d68 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-request/subscribe.html @@ -0,0 +1,15 @@ + + +NetworkMapService.SubscribeRequest.subscribe - + + + +core.node.services / NetworkMapService / SubscribeRequest / subscribe
+
+

subscribe

+ +val subscribe: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/-init-.html new file mode 100644 index 0000000000..a12c534bc7 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.SubscribeResponse.<init> - + + + +core.node.services / NetworkMapService / SubscribeResponse / <init>
+
+

<init>

+SubscribeResponse(confirmed: Boolean)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/confirmed.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/confirmed.html new file mode 100644 index 0000000000..3642ae5ed1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/confirmed.html @@ -0,0 +1,15 @@ + + +NetworkMapService.SubscribeResponse.confirmed - + + + +core.node.services / NetworkMapService / SubscribeResponse / confirmed
+
+

confirmed

+ +val confirmed: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/index.html b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/index.html new file mode 100644 index 0000000000..7f03db7a23 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-subscribe-response/index.html @@ -0,0 +1,36 @@ + + +NetworkMapService.SubscribeResponse - + + + +core.node.services / NetworkMapService / SubscribeResponse
+
+

SubscribeResponse

+data class SubscribeResponse
+
+
+

Constructors

+ + + + + + + +
+<init> +SubscribeResponse(confirmed: Boolean)
+

Properties

+ + + + + + + +
+confirmed +val confirmed: Boolean
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-type.html b/docs/build/html/api/core.node.services/-network-map-service/-type.html new file mode 100644 index 0000000000..733d39c608 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-type.html @@ -0,0 +1,48 @@ + + +NetworkMapService.Type - + + + +core.node.services / NetworkMapService / Type
+
+

Type

+object Type : ServiceType
+
+
+

Inherited Properties

+ + + + + + + +
+id +val id: String
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open operator fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/-init-.html new file mode 100644 index 0000000000..7266d08e30 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.UpdateAcknowledge.<init> - + + + +core.node.services / NetworkMapService / UpdateAcknowledge / <init>
+
+

<init>

+UpdateAcknowledge(wireRegHash: SecureHash, replyTo: MessageRecipients)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/index.html b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/index.html new file mode 100644 index 0000000000..a9c7bfac8c --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/index.html @@ -0,0 +1,42 @@ + + +NetworkMapService.UpdateAcknowledge - + + + +core.node.services / NetworkMapService / UpdateAcknowledge
+
+

UpdateAcknowledge

+data class UpdateAcknowledge
+
+
+

Constructors

+ + + + + + + +
+<init> +UpdateAcknowledge(wireRegHash: SecureHash, replyTo: MessageRecipients)
+

Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+wireRegHash +val wireRegHash: SecureHash
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/reply-to.html b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/reply-to.html new file mode 100644 index 0000000000..3e386e36cd --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/reply-to.html @@ -0,0 +1,15 @@ + + +NetworkMapService.UpdateAcknowledge.replyTo - + + + +core.node.services / NetworkMapService / UpdateAcknowledge / replyTo
+
+

replyTo

+ +val replyTo: MessageRecipients
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/wire-reg-hash.html b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/wire-reg-hash.html new file mode 100644 index 0000000000..acd9ac5e84 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update-acknowledge/wire-reg-hash.html @@ -0,0 +1,15 @@ + + +NetworkMapService.UpdateAcknowledge.wireRegHash - + + + +core.node.services / NetworkMapService / UpdateAcknowledge / wireRegHash
+
+

wireRegHash

+ +val wireRegHash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update/-init-.html b/docs/build/html/api/core.node.services/-network-map-service/-update/-init-.html new file mode 100644 index 0000000000..f270f1ab90 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update/-init-.html @@ -0,0 +1,14 @@ + + +NetworkMapService.Update.<init> - + + + +core.node.services / NetworkMapService / Update / <init>
+
+

<init>

+Update(wireReg: WireNodeRegistration, replyTo: MessageRecipients)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update/index.html b/docs/build/html/api/core.node.services/-network-map-service/-update/index.html new file mode 100644 index 0000000000..1e5476571c --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update/index.html @@ -0,0 +1,42 @@ + + +NetworkMapService.Update - + + + +core.node.services / NetworkMapService / Update
+
+

Update

+data class Update
+
+
+

Constructors

+ + + + + + + +
+<init> +Update(wireReg: WireNodeRegistration, replyTo: MessageRecipients)
+

Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+wireReg +val wireReg: WireNodeRegistration
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update/reply-to.html b/docs/build/html/api/core.node.services/-network-map-service/-update/reply-to.html new file mode 100644 index 0000000000..d508d11149 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update/reply-to.html @@ -0,0 +1,15 @@ + + +NetworkMapService.Update.replyTo - + + + +core.node.services / NetworkMapService / Update / replyTo
+
+

replyTo

+ +val replyTo: MessageRecipients
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/-update/wire-reg.html b/docs/build/html/api/core.node.services/-network-map-service/-update/wire-reg.html new file mode 100644 index 0000000000..9dc209c6e7 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/-update/wire-reg.html @@ -0,0 +1,15 @@ + + +NetworkMapService.Update.wireReg - + + + +core.node.services / NetworkMapService / Update / wireReg
+
+

wireReg

+ +val wireReg: WireNodeRegistration
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/index.html b/docs/build/html/api/core.node.services/-network-map-service/index.html new file mode 100644 index 0000000000..0618740191 --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/index.html @@ -0,0 +1,164 @@ + + +NetworkMapService - + + + +core.node.services / NetworkMapService
+
+

NetworkMapService

+interface NetworkMapService
+

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. This information is cached locally within +nodes, by the NetworkMapCache. Currently very basic consensus controls are applied, using signed changes which +replace each other based on a serial number present in the change.

+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+FetchMapRequest +class FetchMapRequest : AbstractRequestMessage
+FetchMapResponse +data class FetchMapResponse
+QueryIdentityRequest +class QueryIdentityRequest : AbstractRequestMessage
+QueryIdentityResponse +data class QueryIdentityResponse
+RegistrationRequest +class RegistrationRequest : AbstractRequestMessage
+RegistrationResponse +data class RegistrationResponse
+SubscribeRequest +class SubscribeRequest : AbstractRequestMessage
+SubscribeResponse +data class SubscribeResponse
+Type +object Type : ServiceType
+Update +data class Update
+UpdateAcknowledge +data class UpdateAcknowledge
+

Properties

+ + + + + + + +
+nodes +abstract val nodes: List<NodeInfo>
+

Companion Object Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+DEFAULT_EXPIRATION_PERIOD +val DEFAULT_EXPIRATION_PERIOD: Period
+FETCH_PROTOCOL_TOPIC +val FETCH_PROTOCOL_TOPIC: String
+PUSH_ACK_PROTOCOL_TOPIC +val PUSH_ACK_PROTOCOL_TOPIC: String
+PUSH_PROTOCOL_TOPIC +val PUSH_PROTOCOL_TOPIC: String
+QUERY_PROTOCOL_TOPIC +val QUERY_PROTOCOL_TOPIC: String
+REGISTER_PROTOCOL_TOPIC +val REGISTER_PROTOCOL_TOPIC: String
+SUBSCRIPTION_PROTOCOL_TOPIC +val SUBSCRIPTION_PROTOCOL_TOPIC: String
+logger +val logger: <ERROR CLASS>
+

Inheritors

+ + + + + + + +
+InMemoryNetworkMapService +class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/logger.html b/docs/build/html/api/core.node.services/-network-map-service/logger.html new file mode 100644 index 0000000000..5e5a95482e --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/logger.html @@ -0,0 +1,15 @@ + + +NetworkMapService.logger - + + + +core.node.services / NetworkMapService / logger
+
+

logger

+ +val logger: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-network-map-service/nodes.html b/docs/build/html/api/core.node.services/-network-map-service/nodes.html new file mode 100644 index 0000000000..b911ca67bf --- /dev/null +++ b/docs/build/html/api/core.node.services/-network-map-service/nodes.html @@ -0,0 +1,15 @@ + + +NetworkMapService.nodes - + + + +core.node.services / NetworkMapService / nodes
+
+

nodes

+ +abstract val nodes: List<NodeInfo>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-init-.html b/docs/build/html/api/core.node.services/-node-attachment-service/-init-.html new file mode 100644 index 0000000000..c1a6280724 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-init-.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.<init> - + + + +core.node.services / NodeAttachmentService / <init>
+
+

<init>

+NodeAttachmentService(storePath: Path, metrics: <ERROR CLASS>)
+

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/-init-.html b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/-init-.html new file mode 100644 index 0000000000..ac35735919 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/-init-.html @@ -0,0 +1,14 @@ + + +NodeAttachmentService.OnDiskHashMismatch.<init> - + + + +core.node.services / NodeAttachmentService / OnDiskHashMismatch / <init>
+
+

<init>

+OnDiskHashMismatch(file: Path, actual: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/actual.html b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/actual.html new file mode 100644 index 0000000000..cdf98db116 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/actual.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.OnDiskHashMismatch.actual - + + + +core.node.services / NodeAttachmentService / OnDiskHashMismatch / actual
+
+

actual

+ +val actual: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/file.html b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/file.html new file mode 100644 index 0000000000..91ef8e9d8f --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/file.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.OnDiskHashMismatch.file - + + + +core.node.services / NodeAttachmentService / OnDiskHashMismatch / file
+
+

file

+ +val file: Path
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/index.html b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/index.html new file mode 100644 index 0000000000..d4f8830675 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/index.html @@ -0,0 +1,53 @@ + + +NodeAttachmentService.OnDiskHashMismatch - + + + +core.node.services / NodeAttachmentService / OnDiskHashMismatch
+
+

OnDiskHashMismatch

+class OnDiskHashMismatch : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +OnDiskHashMismatch(file: Path, actual: SecureHash)
+

Properties

+ + + + + + + + + + + +
+actual +val actual: SecureHash
+file +val file: Path
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/to-string.html b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/to-string.html new file mode 100644 index 0000000000..1216e5b38a --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/-on-disk-hash-mismatch/to-string.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.OnDiskHashMismatch.toString - + + + +core.node.services / NodeAttachmentService / OnDiskHashMismatch / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/acceptable-file-extensions.html b/docs/build/html/api/core.node.services/-node-attachment-service/acceptable-file-extensions.html new file mode 100644 index 0000000000..5f3df00398 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/acceptable-file-extensions.html @@ -0,0 +1,17 @@ + + +NodeAttachmentService.acceptableFileExtensions - + + + +core.node.services / NodeAttachmentService / acceptableFileExtensions
+
+

acceptableFileExtensions

+ +val acceptableFileExtensions: <ERROR CLASS>
+Overrides AcceptsFileUpload.acceptableFileExtensions
+

What file extensions are acceptable for the file to be handed to upload()

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/automatically-extract-attachments.html b/docs/build/html/api/core.node.services/-node-attachment-service/automatically-extract-attachments.html new file mode 100644 index 0000000000..e54d99170d --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/automatically-extract-attachments.html @@ -0,0 +1,18 @@ + + +NodeAttachmentService.automaticallyExtractAttachments - + + + +core.node.services / NodeAttachmentService / automaticallyExtractAttachments
+
+

automaticallyExtractAttachments

+ +var automaticallyExtractAttachments: Boolean
+

If true, newly inserted attachments will be unzipped to a subdirectory of the storePath. This is intended for +human browsing convenience: the attachment itself will still be the file (that is, edits to the extracted directory +will not have any effect).

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/check-attachments-on-load.html b/docs/build/html/api/core.node.services/-node-attachment-service/check-attachments-on-load.html new file mode 100644 index 0000000000..0b2e54365a --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/check-attachments-on-load.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.checkAttachmentsOnLoad - + + + +core.node.services / NodeAttachmentService / checkAttachmentsOnLoad
+
+

checkAttachmentsOnLoad

+ +var checkAttachmentsOnLoad: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/data-type-prefix.html b/docs/build/html/api/core.node.services/-node-attachment-service/data-type-prefix.html new file mode 100644 index 0000000000..fe164f99d9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/data-type-prefix.html @@ -0,0 +1,17 @@ + + +NodeAttachmentService.dataTypePrefix - + + + +core.node.services / NodeAttachmentService / dataTypePrefix
+
+

dataTypePrefix

+ +val dataTypePrefix: String
+Overrides AcceptsFileUpload.dataTypePrefix
+

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/import-attachment.html b/docs/build/html/api/core.node.services/-node-attachment-service/import-attachment.html new file mode 100644 index 0000000000..68c1d0b6e4 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/import-attachment.html @@ -0,0 +1,31 @@ + + +NodeAttachmentService.importAttachment - + + + +core.node.services / NodeAttachmentService / importAttachment
+
+

importAttachment

+ +fun importAttachment(jar: InputStream): SecureHash
+Overrides AttachmentStorage.importAttachment
+

Inserts the given attachment into the store, does not close the input stream. This can be an intensive +operation due to the need to copy the bytes to disk and hash them along the way.

+

Note that you should not pass a JarInputStream into this method and it will throw if you do, because access +to the raw byte stream is required.

+
+
+

Exceptions

+ +FileAlreadyExistsException - if the given byte stream has already been inserted.
+
+ +IllegalArgumentException - if the given byte stream is empty or a JarInputStream
+
+ +IOException - if something went wrong.
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/index.html b/docs/build/html/api/core.node.services/-node-attachment-service/index.html new file mode 100644 index 0000000000..67e5aec8a6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/index.html @@ -0,0 +1,115 @@ + + +NodeAttachmentService - + + + +core.node.services / NodeAttachmentService
+
+

NodeAttachmentService

+class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload
+

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+
+

Exceptions

+ + + + + + + +
+OnDiskHashMismatch +class OnDiskHashMismatch : Exception
+

Constructors

+ + + + + + + +
+<init> +NodeAttachmentService(storePath: Path, metrics: <ERROR CLASS>)

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+acceptableFileExtensions +val acceptableFileExtensions: <ERROR CLASS>

What file extensions are acceptable for the file to be handed to upload()

+
+automaticallyExtractAttachments +var automaticallyExtractAttachments: Boolean

If true, newly inserted attachments will be unzipped to a subdirectory of the storePath. This is intended for +human browsing convenience: the attachment itself will still be the file (that is, edits to the extracted directory +will not have any effect).

+
+checkAttachmentsOnLoad +var checkAttachmentsOnLoad: Boolean
+dataTypePrefix +val dataTypePrefix: String

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+metrics +val metrics: <ERROR CLASS>
+storePath +val storePath: Path
+

Functions

+ + + + + + + + + + + + + + + +
+importAttachment +fun importAttachment(jar: InputStream): SecureHash

Inserts the given attachment into the store, does not close the input stream. This can be an intensive +operation due to the need to copy the bytes to disk and hash them along the way.

+
+openAttachment +fun openAttachment(id: SecureHash): Attachment?

Returns a newly opened stream for the given locally stored attachment, or null if no such attachment is known. +The returned stream must be closed when you are done with it to avoid resource leaks. You should probably wrap +the result in a JarInputStream unless youre sending it somewhere, there is a convenience helper for this +on Attachment.

+
+upload +fun upload(data: InputStream): <ERROR CLASS>

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/metrics.html b/docs/build/html/api/core.node.services/-node-attachment-service/metrics.html new file mode 100644 index 0000000000..30fa055874 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/metrics.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.metrics - + + + +core.node.services / NodeAttachmentService / metrics
+
+

metrics

+ +val metrics: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/open-attachment.html b/docs/build/html/api/core.node.services/-node-attachment-service/open-attachment.html new file mode 100644 index 0000000000..49c09d80e1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/open-attachment.html @@ -0,0 +1,20 @@ + + +NodeAttachmentService.openAttachment - + + + +core.node.services / NodeAttachmentService / openAttachment
+
+

openAttachment

+ +fun openAttachment(id: SecureHash): Attachment?
+Overrides AttachmentStorage.openAttachment
+

Returns a newly opened stream for the given locally stored attachment, or null if no such attachment is known. +The returned stream must be closed when you are done with it to avoid resource leaks. You should probably wrap +the result in a JarInputStream unless youre sending it somewhere, there is a convenience helper for this +on Attachment.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/store-path.html b/docs/build/html/api/core.node.services/-node-attachment-service/store-path.html new file mode 100644 index 0000000000..65acbfe05d --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/store-path.html @@ -0,0 +1,15 @@ + + +NodeAttachmentService.storePath - + + + +core.node.services / NodeAttachmentService / storePath
+
+

storePath

+ +val storePath: Path
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-attachment-service/upload.html b/docs/build/html/api/core.node.services/-node-attachment-service/upload.html new file mode 100644 index 0000000000..ef56ff01a4 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-attachment-service/upload.html @@ -0,0 +1,18 @@ + + +NodeAttachmentService.upload - + + + +core.node.services / NodeAttachmentService / upload
+
+

upload

+ +fun upload(data: InputStream): <ERROR CLASS>
+Overrides AcceptsFileUpload.upload
+

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/-init-.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/-init-.html new file mode 100644 index 0000000000..36f92e1c38 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/-init-.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.<init> - + + + +core.node.services / NodeInterestRates / FixContainer / <init>
+
+

<init>

+FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator.Factory)
+

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/factory.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/factory.html new file mode 100644 index 0000000000..5d497810ae --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/factory.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.factory - + + + +core.node.services / NodeInterestRates / FixContainer / factory
+
+

factory

+ +val factory: InterpolatorFactory
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/fixes.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/fixes.html new file mode 100644 index 0000000000..19a56e864b --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/fixes.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.fixes - + + + +core.node.services / NodeInterestRates / FixContainer / fixes
+
+

fixes

+ +val fixes: List<Fix>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/get.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/get.html new file mode 100644 index 0000000000..b7272a3790 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/get.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.get - + + + +core.node.services / NodeInterestRates / FixContainer / get
+
+

get

+ +operator fun get(fixOf: FixOf): Fix?
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/index.html new file mode 100644 index 0000000000..ea478236e2 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/index.html @@ -0,0 +1,61 @@ + + +NodeInterestRates.FixContainer - + + + +core.node.services / NodeInterestRates / FixContainer
+
+

FixContainer

+class FixContainer
+

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

+
+
+

Constructors

+ + + + + + + +
+<init> +FixContainer(fixes: List<Fix>, factory: InterpolatorFactory = CubicSplineInterpolator.Factory)

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

+
+

Properties

+ + + + + + + + + + + + + + + +
+factory +val factory: InterpolatorFactory
+fixes +val fixes: List<Fix>
+size +val size: Int
+

Functions

+ + + + + + + +
+get +operator fun get(fixOf: FixOf): Fix?
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/size.html b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/size.html new file mode 100644 index 0000000000..f26be8ea5e --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-fix-container/size.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.FixContainer.size - + + + +core.node.services / NodeInterestRates / FixContainer / size
+
+

size

+ +val size: Int
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/-init-.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/-init-.html new file mode 100644 index 0000000000..7cd5d20fb9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/-init-.html @@ -0,0 +1,16 @@ + + +NodeInterestRates.InterpolatingRateMap.<init> - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / <init>
+
+

<init>

+InterpolatingRateMap(date: LocalDate, inputRates: Map<Tenor, BigDecimal>, calendar: BusinessCalendar, factory: InterpolatorFactory)
+

Stores a mapping between tenors and interest rates. +Interpolates missing values using the provided interpolation mechanism.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/calendar.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/calendar.html new file mode 100644 index 0000000000..ea24e81ff8 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/calendar.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.InterpolatingRateMap.calendar - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / calendar
+
+

calendar

+ +val calendar: BusinessCalendar
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/date.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/date.html new file mode 100644 index 0000000000..14e7b74392 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/date.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.InterpolatingRateMap.date - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / date
+
+

date

+ +val date: LocalDate
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/factory.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/factory.html new file mode 100644 index 0000000000..19dba977cf --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/factory.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.InterpolatingRateMap.factory - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / factory
+
+

factory

+ +val factory: InterpolatorFactory
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/get-rate.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/get-rate.html new file mode 100644 index 0000000000..33de60f5f1 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/get-rate.html @@ -0,0 +1,17 @@ + + +NodeInterestRates.InterpolatingRateMap.getRate - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / getRate
+
+

getRate

+ +fun getRate(tenor: Tenor): BigDecimal?
+

Returns the interest rate for a given Tenor, +or null if the rate is not found and cannot be interpolated

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/index.html new file mode 100644 index 0000000000..6bb224fe5e --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/index.html @@ -0,0 +1,78 @@ + + +NodeInterestRates.InterpolatingRateMap - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap
+
+

InterpolatingRateMap

+class InterpolatingRateMap
+

Stores a mapping between tenors and interest rates. +Interpolates missing values using the provided interpolation mechanism.

+
+
+

Constructors

+ + + + + + + +
+<init> +InterpolatingRateMap(date: LocalDate, inputRates: Map<Tenor, BigDecimal>, calendar: BusinessCalendar, factory: InterpolatorFactory)

Stores a mapping between tenors and interest rates. +Interpolates missing values using the provided interpolation mechanism.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+calendar +val calendar: BusinessCalendar
+date +val date: LocalDate
+factory +val factory: InterpolatorFactory
+inputRates +val inputRates: Map<Tenor, BigDecimal>
+size +val size: Int

Number of rates excluding the interpolated ones

+
+

Functions

+ + + + + + + +
+getRate +fun getRate(tenor: Tenor): BigDecimal?

Returns the interest rate for a given Tenor, +or null if the rate is not found and cannot be interpolated

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/input-rates.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/input-rates.html new file mode 100644 index 0000000000..8baa420cc3 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/input-rates.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.InterpolatingRateMap.inputRates - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / inputRates
+
+

inputRates

+ +val inputRates: Map<Tenor, BigDecimal>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/size.html b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/size.html new file mode 100644 index 0000000000..a888263ea5 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-interpolating-rate-map/size.html @@ -0,0 +1,16 @@ + + +NodeInterestRates.InterpolatingRateMap.size - + + + +core.node.services / NodeInterestRates / InterpolatingRateMap / size
+
+

size

+ +val size: Int
+

Number of rates excluding the interpolated ones

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/-init-.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/-init-.html new file mode 100644 index 0000000000..3150ff3822 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/-init-.html @@ -0,0 +1,18 @@ + + +NodeInterestRates.Oracle.<init> - + + + +core.node.services / NodeInterestRates / Oracle / <init>
+
+

<init>

+Oracle(identity: Party, signingKey: KeyPair)
+

An implementation of an interest rate fix oracle which is given data in a simple string format.

+

The oracle will try to interpolate the missing value of a tenor for the given fix name and date.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/identity.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/identity.html new file mode 100644 index 0000000000..6ddbc6627c --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/identity.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Oracle.identity - + + + +core.node.services / NodeInterestRates / Oracle / identity
+
+

identity

+ +val identity: Party
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/index.html new file mode 100644 index 0000000000..6dda32a4fb --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/index.html @@ -0,0 +1,64 @@ + + +NodeInterestRates.Oracle - + + + +core.node.services / NodeInterestRates / Oracle
+
+

Oracle

+class Oracle
+

An implementation of an interest rate fix oracle which is given data in a simple string format.

+

The oracle will try to interpolate the missing value of a tenor for the given fix name and date.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +Oracle(identity: Party, signingKey: KeyPair)

An implementation of an interest rate fix oracle which is given data in a simple string format.

+
+

Properties

+ + + + + + + + + + + +
+identity +val identity: Party
+knownFixes +var knownFixes: FixContainer
+

Functions

+ + + + + + + + + + + +
+query +fun query(queries: List<FixOf>): List<Fix>
+sign +fun sign(wtx: WireTransaction): LegallyIdentifiable
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/known-fixes.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/known-fixes.html new file mode 100644 index 0000000000..8b47da7570 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/known-fixes.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Oracle.knownFixes - + + + +core.node.services / NodeInterestRates / Oracle / knownFixes
+
+

knownFixes

+ +var knownFixes: FixContainer
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/query.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/query.html new file mode 100644 index 0000000000..792c9726c5 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/query.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Oracle.query - + + + +core.node.services / NodeInterestRates / Oracle / query
+
+

query

+ +fun query(queries: List<FixOf>): List<Fix>
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/sign.html b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/sign.html new file mode 100644 index 0000000000..f031c1ec55 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-oracle/sign.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Oracle.sign - + + + +core.node.services / NodeInterestRates / Oracle / sign
+
+

sign

+ +fun sign(wtx: WireTransaction): LegallyIdentifiable
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/-init-.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/-init-.html new file mode 100644 index 0000000000..541268f247 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/-init-.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Service.<init> - + + + +core.node.services / NodeInterestRates / Service / <init>
+
+

<init>

+Service(node: AbstractNode)
+

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/acceptable-file-extensions.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/acceptable-file-extensions.html new file mode 100644 index 0000000000..482cb21589 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/acceptable-file-extensions.html @@ -0,0 +1,17 @@ + + +NodeInterestRates.Service.acceptableFileExtensions - + + + +core.node.services / NodeInterestRates / Service / acceptableFileExtensions
+
+

acceptableFileExtensions

+ +val acceptableFileExtensions: <ERROR CLASS>
+Overrides AcceptsFileUpload.acceptableFileExtensions
+

What file extensions are acceptable for the file to be handed to upload()

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/data-type-prefix.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/data-type-prefix.html new file mode 100644 index 0000000000..7b6a55cd35 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/data-type-prefix.html @@ -0,0 +1,17 @@ + + +NodeInterestRates.Service.dataTypePrefix - + + + +core.node.services / NodeInterestRates / Service / dataTypePrefix
+
+

dataTypePrefix

+ +val dataTypePrefix: String
+Overrides AcceptsFileUpload.dataTypePrefix
+

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/index.html new file mode 100644 index 0000000000..5a509a9296 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/index.html @@ -0,0 +1,97 @@ + + +NodeInterestRates.Service - + + + +core.node.services / NodeInterestRates / Service
+
+

Service

+class Service : AcceptsFileUpload, AbstractNodeService
+

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+
+

Constructors

+ + + + + + + +
+<init> +Service(node: AbstractNode)

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+acceptableFileExtensions +val acceptableFileExtensions: <ERROR CLASS>

What file extensions are acceptable for the file to be handed to upload()

+
+dataTypePrefix +val dataTypePrefix: String

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+oracle +val oracle: Oracle
+ss +val ss: StorageService
+

Inherited Properties

+ + + + + + + +
+net +val net: MessagingService
+

Functions

+ + + + + + + +
+upload +fun upload(data: InputStream): String

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+

Inherited Functions

+ + + + + + + +
+addMessageHandler +fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/oracle.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/oracle.html new file mode 100644 index 0000000000..28a4984ba4 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/oracle.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Service.oracle - + + + +core.node.services / NodeInterestRates / Service / oracle
+
+

oracle

+ +val oracle: Oracle
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/ss.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/ss.html new file mode 100644 index 0000000000..ea231a1e30 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/ss.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.Service.ss - + + + +core.node.services / NodeInterestRates / Service / ss
+
+

ss

+ +val ss: StorageService
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-service/upload.html b/docs/build/html/api/core.node.services/-node-interest-rates/-service/upload.html new file mode 100644 index 0000000000..ff8c7d9459 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-service/upload.html @@ -0,0 +1,18 @@ + + +NodeInterestRates.Service.upload - + + + +core.node.services / NodeInterestRates / Service / upload
+
+

upload

+ +fun upload(data: InputStream): String
+Overrides AcceptsFileUpload.upload
+

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-type.html b/docs/build/html/api/core.node.services/-node-interest-rates/-type.html new file mode 100644 index 0000000000..8ba277424c --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-type.html @@ -0,0 +1,48 @@ + + +NodeInterestRates.Type - + + + +core.node.services / NodeInterestRates / Type
+
+

Type

+object Type : ServiceType
+
+
+

Inherited Properties

+ + + + + + + +
+id +val id: String
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open operator fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/-init-.html b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/-init-.html new file mode 100644 index 0000000000..f1327796f5 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/-init-.html @@ -0,0 +1,14 @@ + + +NodeInterestRates.UnknownFix.<init> - + + + +core.node.services / NodeInterestRates / UnknownFix / <init>
+
+

<init>

+UnknownFix(fix: FixOf)
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/fix.html b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/fix.html new file mode 100644 index 0000000000..98f7bde4a9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/fix.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.UnknownFix.fix - + + + +core.node.services / NodeInterestRates / UnknownFix / fix
+
+

fix

+ +val fix: FixOf
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/index.html new file mode 100644 index 0000000000..cf1db518d6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/index.html @@ -0,0 +1,47 @@ + + +NodeInterestRates.UnknownFix - + + + +core.node.services / NodeInterestRates / UnknownFix
+
+

UnknownFix

+class UnknownFix : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +UnknownFix(fix: FixOf)
+

Properties

+ + + + + + + +
+fix +val fix: FixOf
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/to-string.html b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/to-string.html new file mode 100644 index 0000000000..1d8e06a529 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/-unknown-fix/to-string.html @@ -0,0 +1,15 @@ + + +NodeInterestRates.UnknownFix.toString - + + + +core.node.services / NodeInterestRates / UnknownFix / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/index.html b/docs/build/html/api/core.node.services/-node-interest-rates/index.html new file mode 100644 index 0000000000..7186f8db56 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/index.html @@ -0,0 +1,99 @@ + + +NodeInterestRates - + + + +core.node.services / NodeInterestRates
+
+

NodeInterestRates

+object NodeInterestRates
+

An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest +rate fix (e.g. LIBOR, EURIBOR ...).

+

The oracle has two functions. It can be queried for a fix for the given day. And it can sign a transaction that +includes a fix that it finds acceptable. So to use it you would query the oracle, incorporate its answer into the +transaction you are building, and then (after possibly extra steps) hand the final transaction back to the oracle +for signing.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+FixContainer +class FixContainer

Fix container, for every fix name & date pair stores a tenor to interest rate map - InterpolatingRateMap

+
+InterpolatingRateMap +class InterpolatingRateMap

Stores a mapping between tenors and interest rates. +Interpolates missing values using the provided interpolation mechanism.

+
+Oracle +class Oracle

An implementation of an interest rate fix oracle which is given data in a simple string format.

+
+Service +class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+Type +object Type : ServiceType
+

Exceptions

+ + + + + + + +
+UnknownFix +class UnknownFix : Exception
+

Functions

+ + + + + + + + + + + + + + + +
+parseFile +fun parseFile(s: String): FixContainer

Parses lines containing fixes

+
+parseFix +fun parseFix(s: String): Fix

Parses a string of the form "LIBOR 16-March-2016 1M = 0.678" into a Fix

+
+parseFixOf +fun parseFixOf(key: String): FixOf

Parses a string of the form "LIBOR 16-March-2016 1M" into a FixOf

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/parse-file.html b/docs/build/html/api/core.node.services/-node-interest-rates/parse-file.html new file mode 100644 index 0000000000..16e2ba9040 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/parse-file.html @@ -0,0 +1,16 @@ + + +NodeInterestRates.parseFile - + + + +core.node.services / NodeInterestRates / parseFile
+
+

parseFile

+ +fun parseFile(s: String): FixContainer
+

Parses lines containing fixes

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix-of.html b/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix-of.html new file mode 100644 index 0000000000..cb71e8a137 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix-of.html @@ -0,0 +1,16 @@ + + +NodeInterestRates.parseFixOf - + + + +core.node.services / NodeInterestRates / parseFixOf
+
+

parseFixOf

+ +fun parseFixOf(key: String): FixOf
+

Parses a string of the form "LIBOR 16-March-2016 1M" into a FixOf

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix.html b/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix.html new file mode 100644 index 0000000000..a33d1e8df4 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-interest-rates/parse-fix.html @@ -0,0 +1,16 @@ + + +NodeInterestRates.parseFix - + + + +core.node.services / NodeInterestRates / parseFix
+
+

parseFix

+ +fun parseFix(s: String): Fix
+

Parses a string of the form "LIBOR 16-March-2016 1M = 0.678" into a Fix

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/-init-.html b/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/-init-.html new file mode 100644 index 0000000000..4c73d33fad --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/-init-.html @@ -0,0 +1,15 @@ + + +NodeMapError.InvalidSignature.<init> - + + + +core.node.services / NodeMapError / InvalidSignature / <init>
+
+

<init>

+InvalidSignature()
+

Thrown if the signature on the node info does not match the public key for the identity

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/index.html b/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/index.html new file mode 100644 index 0000000000..911017cf6a --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-invalid-signature/index.html @@ -0,0 +1,27 @@ + + +NodeMapError.InvalidSignature - + + + +core.node.services / NodeMapError / InvalidSignature
+
+

InvalidSignature

+class InvalidSignature : NodeMapError
+

Thrown if the signature on the node info does not match the public key for the identity

+
+
+

Constructors

+ + + + + + + +
+<init> +InvalidSignature()

Thrown if the signature on the node info does not match the public key for the identity

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/-init-.html b/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/-init-.html new file mode 100644 index 0000000000..ffc7351983 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/-init-.html @@ -0,0 +1,15 @@ + + +NodeMapError.InvalidSubscriber.<init> - + + + +core.node.services / NodeMapError / InvalidSubscriber / <init>
+
+

<init>

+InvalidSubscriber()
+

Thrown if the replyTo of a subscription change message is not a single message recipient

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/index.html b/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/index.html new file mode 100644 index 0000000000..c9c8e6b87e --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-invalid-subscriber/index.html @@ -0,0 +1,27 @@ + + +NodeMapError.InvalidSubscriber - + + + +core.node.services / NodeMapError / InvalidSubscriber
+
+

InvalidSubscriber

+class InvalidSubscriber : NodeMapError
+

Thrown if the replyTo of a subscription change message is not a single message recipient

+
+
+

Constructors

+ + + + + + + +
+<init> +InvalidSubscriber()

Thrown if the replyTo of a subscription change message is not a single message recipient

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/-init-.html b/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/-init-.html new file mode 100644 index 0000000000..928a9415ac --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/-init-.html @@ -0,0 +1,15 @@ + + +NodeMapError.UnknownChangeType.<init> - + + + +core.node.services / NodeMapError / UnknownChangeType / <init>
+
+

<init>

+UnknownChangeType()
+

Thrown if a change arrives which is of an unknown type

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/index.html b/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/index.html new file mode 100644 index 0000000000..28d590f577 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/-unknown-change-type/index.html @@ -0,0 +1,27 @@ + + +NodeMapError.UnknownChangeType - + + + +core.node.services / NodeMapError / UnknownChangeType
+
+

UnknownChangeType

+class UnknownChangeType : NodeMapError
+

Thrown if a change arrives which is of an unknown type

+
+
+

Constructors

+ + + + + + + +
+<init> +UnknownChangeType()

Thrown if a change arrives which is of an unknown type

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-map-error/index.html b/docs/build/html/api/core.node.services/-node-map-error/index.html new file mode 100644 index 0000000000..b5f26491d9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-map-error/index.html @@ -0,0 +1,66 @@ + + +NodeMapError - + + + +core.node.services / NodeMapError
+
+

NodeMapError

+sealed class NodeMapError : Exception
+
+
+

Exceptions

+ + + + + + + + + + + + + + + +
+InvalidSignature +class InvalidSignature : NodeMapError

Thrown if the signature on the node info does not match the public key for the identity

+
+InvalidSubscriber +class InvalidSubscriber : NodeMapError

Thrown if the replyTo of a subscription change message is not a single message recipient

+
+UnknownChangeType +class UnknownChangeType : NodeMapError

Thrown if a change arrives which is of an unknown type

+
+

Inheritors

+ + + + + + + + + + + + + + + +
+InvalidSignature +class InvalidSignature : NodeMapError

Thrown if the signature on the node info does not match the public key for the identity

+
+InvalidSubscriber +class InvalidSubscriber : NodeMapError

Thrown if the replyTo of a subscription change message is not a single message recipient

+
+UnknownChangeType +class UnknownChangeType : NodeMapError

Thrown if a change arrives which is of an unknown type

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/-init-.html b/docs/build/html/api/core.node.services/-node-registration/-init-.html new file mode 100644 index 0000000000..5b5fde8852 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/-init-.html @@ -0,0 +1,30 @@ + + +NodeRegistration.<init> - + + + +core.node.services / NodeRegistration / <init>
+
+

<init>

+NodeRegistration(node: NodeInfo, serial: Long, type: AddOrRemove, expires: Instant)
+

A node registration state in the network map.

+

Parameters

+ +node - the node being added/removed.
+
+ +serial - an increasing value which represents the version of this registration. Not expected to be sequential, +but later versions of the registration must have higher values (or they will be ignored by the map service). +Similar to the serial number on DNS records.
+
+ +type - add if the node is being added to the map, or remove if a previous node is being removed (indicated as +going offline).
+
+ +expires - when the registration expires. Only used when adding a node to a map.
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/expires.html b/docs/build/html/api/core.node.services/-node-registration/expires.html new file mode 100644 index 0000000000..6c369e0eca --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/expires.html @@ -0,0 +1,15 @@ + + +NodeRegistration.expires - + + + +core.node.services / NodeRegistration / expires
+
+

expires

+ +var expires: Instant
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/index.html b/docs/build/html/api/core.node.services/-node-registration/index.html new file mode 100644 index 0000000000..004a92612f --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/index.html @@ -0,0 +1,89 @@ + + +NodeRegistration - + + + +core.node.services / NodeRegistration
+
+

NodeRegistration

+class NodeRegistration
+

A node registration state in the network map.

+

Parameters

+ +node - the node being added/removed.
+
+ +serial - an increasing value which represents the version of this registration. Not expected to be sequential, +but later versions of the registration must have higher values (or they will be ignored by the map service). +Similar to the serial number on DNS records.
+
+ +type - add if the node is being added to the map, or remove if a previous node is being removed (indicated as +going offline).
+
+ +expires - when the registration expires. Only used when adding a node to a map.
+
+
+

Constructors

+ + + + + + + +
+<init> +NodeRegistration(node: NodeInfo, serial: Long, type: AddOrRemove, expires: Instant)

A node registration state in the network map.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+expires +var expires: Instant
+node +val node: NodeInfo
+serial +val serial: Long
+type +val type: AddOrRemove
+

Functions

+ + + + + + + + + + + +
+toString +fun toString(): String
+toWire +fun toWire(privateKey: PrivateKey): WireNodeRegistration

Build a node registration in wire format.

+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/node.html b/docs/build/html/api/core.node.services/-node-registration/node.html new file mode 100644 index 0000000000..492077f462 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/node.html @@ -0,0 +1,15 @@ + + +NodeRegistration.node - + + + +core.node.services / NodeRegistration / node
+
+

node

+ +val node: NodeInfo
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/serial.html b/docs/build/html/api/core.node.services/-node-registration/serial.html new file mode 100644 index 0000000000..dd048ae4bf --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/serial.html @@ -0,0 +1,15 @@ + + +NodeRegistration.serial - + + + +core.node.services / NodeRegistration / serial
+
+

serial

+ +val serial: Long
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/to-string.html b/docs/build/html/api/core.node.services/-node-registration/to-string.html new file mode 100644 index 0000000000..9233eb4fe6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/to-string.html @@ -0,0 +1,15 @@ + + +NodeRegistration.toString - + + + +core.node.services / NodeRegistration / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/to-wire.html b/docs/build/html/api/core.node.services/-node-registration/to-wire.html new file mode 100644 index 0000000000..1dfa75aaff --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/to-wire.html @@ -0,0 +1,16 @@ + + +NodeRegistration.toWire - + + + +core.node.services / NodeRegistration / toWire
+
+

toWire

+ +fun toWire(privateKey: PrivateKey): WireNodeRegistration
+

Build a node registration in wire format.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-registration/type.html b/docs/build/html/api/core.node.services/-node-registration/type.html new file mode 100644 index 0000000000..a22fbc05af --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-registration/type.html @@ -0,0 +1,15 @@ + + +NodeRegistration.type - + + + +core.node.services / NodeRegistration / type
+
+

type

+ +val type: AddOrRemove
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/-init-.html b/docs/build/html/api/core.node.services/-node-timestamper-service/-init-.html new file mode 100644 index 0000000000..070a1e8ce8 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/-init-.html @@ -0,0 +1,19 @@ + + +NodeTimestamperService.<init> - + + + +core.node.services / NodeTimestamperService / <init>
+
+

<init>

+NodeTimestamperService(net: MessagingService, identity: Party, signingKey: KeyPair, clock: Clock = Clock.systemDefaultZone(), tolerance: Duration = 30.seconds)
+

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+

See the doc site to learn more about timestamping authorities (nodes) and the role they play in the data model.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/-t-i-m-e-s-t-a-m-p-i-n-g_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html b/docs/build/html/api/core.node.services/-node-timestamper-service/-t-i-m-e-s-t-a-m-p-i-n-g_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..ab2ea04343 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/-t-i-m-e-s-t-a-m-p-i-n-g_-p-r-o-t-o-c-o-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.TIMESTAMPING_PROTOCOL_TOPIC - + + + +core.node.services / NodeTimestamperService / TIMESTAMPING_PROTOCOL_TOPIC
+
+

TIMESTAMPING_PROTOCOL_TOPIC

+ +val TIMESTAMPING_PROTOCOL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/clock.html b/docs/build/html/api/core.node.services/-node-timestamper-service/clock.html new file mode 100644 index 0000000000..90caf5fdef --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/clock.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.clock - + + + +core.node.services / NodeTimestamperService / clock
+
+

clock

+ +val clock: Clock
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/identity.html b/docs/build/html/api/core.node.services/-node-timestamper-service/identity.html new file mode 100644 index 0000000000..13403b5f2a --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/identity.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.identity - + + + +core.node.services / NodeTimestamperService / identity
+
+

identity

+ +val identity: Party
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/index.html b/docs/build/html/api/core.node.services/-node-timestamper-service/index.html new file mode 100644 index 0000000000..6b2d3b8d50 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/index.html @@ -0,0 +1,109 @@ + + +NodeTimestamperService - + + + +core.node.services / NodeTimestamperService
+
+

NodeTimestamperService

+class NodeTimestamperService : AbstractNodeService
+

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+

See the doc site to learn more about timestamping authorities (nodes) and the role they play in the data model.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +NodeTimestamperService(net: MessagingService, identity: Party, signingKey: KeyPair, clock: Clock = Clock.systemDefaultZone(), tolerance: Duration = 30.seconds)

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+clock +val clock: Clock
+identity +val identity: Party
+signingKey +val signingKey: KeyPair
+tolerance +val tolerance: Duration
+

Inherited Properties

+ + + + + + + +
+net +val net: MessagingService
+

Functions

+ + + + + + + +
+processRequest +fun processRequest(req: Request): LegallyIdentifiable
+

Inherited Functions

+ + + + + + + +
+addMessageHandler +fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+
+

Companion Object Properties

+ + + + + + + +
+TIMESTAMPING_PROTOCOL_TOPIC +val TIMESTAMPING_PROTOCOL_TOPIC: String
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/process-request.html b/docs/build/html/api/core.node.services/-node-timestamper-service/process-request.html new file mode 100644 index 0000000000..e88ea19d2c --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/process-request.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.processRequest - + + + +core.node.services / NodeTimestamperService / processRequest
+
+

processRequest

+ +fun processRequest(req: Request): LegallyIdentifiable
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/signing-key.html b/docs/build/html/api/core.node.services/-node-timestamper-service/signing-key.html new file mode 100644 index 0000000000..4dca551458 --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/signing-key.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.signingKey - + + + +core.node.services / NodeTimestamperService / signingKey
+
+

signingKey

+ +val signingKey: KeyPair
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-node-timestamper-service/tolerance.html b/docs/build/html/api/core.node.services/-node-timestamper-service/tolerance.html new file mode 100644 index 0000000000..11ba2cde5e --- /dev/null +++ b/docs/build/html/api/core.node.services/-node-timestamper-service/tolerance.html @@ -0,0 +1,15 @@ + + +NodeTimestamperService.tolerance - + + + +core.node.services / NodeTimestamperService / tolerance
+
+

tolerance

+ +val tolerance: Duration
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-regulator-service/-type.html b/docs/build/html/api/core.node.services/-regulator-service/-type.html new file mode 100644 index 0000000000..17695f4c63 --- /dev/null +++ b/docs/build/html/api/core.node.services/-regulator-service/-type.html @@ -0,0 +1,48 @@ + + +RegulatorService.Type - + + + +core.node.services / RegulatorService / Type
+
+

Type

+object Type : ServiceType
+
+
+

Inherited Properties

+ + + + + + + +
+id +val id: String
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open operator fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-regulator-service/index.html b/docs/build/html/api/core.node.services/-regulator-service/index.html new file mode 100644 index 0000000000..477a89d9df --- /dev/null +++ b/docs/build/html/api/core.node.services/-regulator-service/index.html @@ -0,0 +1,26 @@ + + +RegulatorService - + + + +core.node.services / RegulatorService
+
+

RegulatorService

+interface RegulatorService
+

Placeholder interface for regulator services.

+
+
+

Types

+ + + + + + + +
+Type +object Type : ServiceType
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/-init-.html b/docs/build/html/api/core.node.services/-service-type/-init-.html new file mode 100644 index 0000000000..c6d4c90769 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/-init-.html @@ -0,0 +1,17 @@ + + +ServiceType.<init> - + + + +core.node.services / ServiceType / <init>
+
+

<init>

+ServiceType(id: String)
+

Identifier for service types a node can expose over the network to other peers. These types are placed into network +map advertisements. Services that are purely local and are not providing functionality to other parts of the network +dont need a declared service type.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/equals.html b/docs/build/html/api/core.node.services/-service-type/equals.html new file mode 100644 index 0000000000..4b40097252 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/equals.html @@ -0,0 +1,15 @@ + + +ServiceType.equals - + + + +core.node.services / ServiceType / equals
+
+

equals

+ +open operator fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/hash-code.html b/docs/build/html/api/core.node.services/-service-type/hash-code.html new file mode 100644 index 0000000000..73d55851e3 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/hash-code.html @@ -0,0 +1,15 @@ + + +ServiceType.hashCode - + + + +core.node.services / ServiceType / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/id.html b/docs/build/html/api/core.node.services/-service-type/id.html new file mode 100644 index 0000000000..6a3b5a5870 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/id.html @@ -0,0 +1,15 @@ + + +ServiceType.id - + + + +core.node.services / ServiceType / id
+
+

id

+ +val id: String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/index.html b/docs/build/html/api/core.node.services/-service-type/index.html new file mode 100644 index 0000000000..392db86475 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/index.html @@ -0,0 +1,94 @@ + + +ServiceType - + + + +core.node.services / ServiceType
+
+

ServiceType

+abstract class ServiceType
+

Identifier for service types a node can expose over the network to other peers. These types are placed into network +map advertisements. Services that are purely local and are not providing functionality to other parts of the network +dont need a declared service type.

+
+
+

Constructors

+ + + + + + + +
+<init> +ServiceType(id: String)

Identifier for service types a node can expose over the network to other peers. These types are placed into network +map advertisements. Services that are purely local and are not providing functionality to other parts of the network +dont need a declared service type.

+
+

Properties

+ + + + + + + +
+id +val id: String
+

Functions

+ + + + + + + + + + + + + + + +
+equals +open operator fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+

Inheritors

+ + + + + + + + + + + + + + + + + + + +
+Type +object Type : ServiceType
+Type +object Type : ServiceType
+Type +object Type : ServiceType
+Type +object Type : ServiceType
+ + diff --git a/docs/build/html/api/core.node.services/-service-type/to-string.html b/docs/build/html/api/core.node.services/-service-type/to-string.html new file mode 100644 index 0000000000..7e9d431750 --- /dev/null +++ b/docs/build/html/api/core.node.services/-service-type/to-string.html @@ -0,0 +1,15 @@ + + +ServiceType.toString - + + + +core.node.services / ServiceType / toString
+
+

toString

+ +open fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamper-service/-type.html b/docs/build/html/api/core.node.services/-timestamper-service/-type.html new file mode 100644 index 0000000000..e372482fe3 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamper-service/-type.html @@ -0,0 +1,48 @@ + + +TimestamperService.Type - + + + +core.node.services / TimestamperService / Type
+
+

Type

+object Type : ServiceType
+
+
+

Inherited Properties

+ + + + + + + +
+id +val id: String
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open operator fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+ + diff --git a/docs/build/html/api/core.node.services/-timestamper-service/identity.html b/docs/build/html/api/core.node.services/-timestamper-service/identity.html new file mode 100644 index 0000000000..3c861673b6 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamper-service/identity.html @@ -0,0 +1,16 @@ + + +TimestamperService.identity - + + + +core.node.services / TimestamperService / identity
+
+

identity

+ +abstract val identity: Party
+

The name+pubkey that this timestamper will sign with.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamper-service/index.html b/docs/build/html/api/core.node.services/-timestamper-service/index.html new file mode 100644 index 0000000000..e8321734e9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamper-service/index.html @@ -0,0 +1,64 @@ + + +TimestamperService - + + + +core.node.services / TimestamperService
+
+

TimestamperService

+interface TimestamperService
+

Simple interface (for testing) to an abstract timestamping service. Note that this is not "timestamping" in the +blockchain sense of a total ordering of transactions, but rather, a signature from a well known/trusted timestamping +service over a transaction that indicates the timestamp in it is accurate. Such a signature may not always be +necessary: if there are multiple parties involved in a transaction then they can cross-check the timestamp +themselves.

+
+
+

Types

+ + + + + + + +
+Type +object Type : ServiceType
+

Properties

+ + + + + + + +
+identity +abstract val identity: Party

The name+pubkey that this timestamper will sign with.

+
+

Functions

+ + + + + + + +
+timestamp +abstract fun timestamp(wtxBytes: SerializedBytes<WireTransaction>): LegallyIdentifiable
+

Inheritors

+ + + + + + + +
+Client +class Client : TimestamperService
+ + diff --git a/docs/build/html/api/core.node.services/-timestamper-service/timestamp.html b/docs/build/html/api/core.node.services/-timestamper-service/timestamp.html new file mode 100644 index 0000000000..5a861dd890 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamper-service/timestamp.html @@ -0,0 +1,15 @@ + + +TimestamperService.timestamp - + + + +core.node.services / TimestamperService / timestamp
+
+

timestamp

+ +abstract fun timestamp(wtxBytes: SerializedBytes<WireTransaction>): LegallyIdentifiable
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/-init-.html b/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/-init-.html new file mode 100644 index 0000000000..de3ee1ef7a --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/-init-.html @@ -0,0 +1,15 @@ + + +TimestampingError.NotForMe.<init> - + + + +core.node.services / TimestampingError / NotForMe / <init>
+
+

<init>

+NotForMe()
+

Thrown if the command in the transaction doesnt list this timestamping authorities public key as a signer

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/index.html b/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/index.html new file mode 100644 index 0000000000..45cb733153 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-not-for-me/index.html @@ -0,0 +1,27 @@ + + +TimestampingError.NotForMe - + + + +core.node.services / TimestampingError / NotForMe
+
+

NotForMe

+class NotForMe : TimestampingError
+

Thrown if the command in the transaction doesnt list this timestamping authorities public key as a signer

+
+
+

Constructors

+ + + + + + + +
+<init> +NotForMe()

Thrown if the command in the transaction doesnt list this timestamping authorities public key as a signer

+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/-init-.html b/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/-init-.html new file mode 100644 index 0000000000..283afe7aa9 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/-init-.html @@ -0,0 +1,17 @@ + + +TimestampingError.NotOnTimeException.<init> - + + + +core.node.services / TimestampingError / NotOnTimeException / <init>
+
+

<init>

+NotOnTimeException()
+

Thrown if an attempt is made to timestamp a transaction using a trusted timestamper, but the time on the +transaction is too far in the past or future relative to the local clock and thus the timestamper would reject +it.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/index.html b/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/index.html new file mode 100644 index 0000000000..7808752072 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-not-on-time-exception/index.html @@ -0,0 +1,31 @@ + + +TimestampingError.NotOnTimeException - + + + +core.node.services / TimestampingError / NotOnTimeException
+
+

NotOnTimeException

+class NotOnTimeException : TimestampingError
+

Thrown if an attempt is made to timestamp a transaction using a trusted timestamper, but the time on the +transaction is too far in the past or future relative to the local clock and thus the timestamper would reject +it.

+
+
+

Constructors

+ + + + + + + +
+<init> +NotOnTimeException()

Thrown if an attempt is made to timestamp a transaction using a trusted timestamper, but the time on the +transaction is too far in the past or future relative to the local clock and thus the timestamper would reject +it.

+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/-init-.html b/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/-init-.html new file mode 100644 index 0000000000..485b64f464 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/-init-.html @@ -0,0 +1,14 @@ + + +TimestampingError.RequiresExactlyOneCommand.<init> - + + + +core.node.services / TimestampingError / RequiresExactlyOneCommand / <init>
+
+

<init>

+RequiresExactlyOneCommand()
+
+
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/index.html b/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/index.html new file mode 100644 index 0000000000..71c7fed21f --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/-requires-exactly-one-command/index.html @@ -0,0 +1,25 @@ + + +TimestampingError.RequiresExactlyOneCommand - + + + +core.node.services / TimestampingError / RequiresExactlyOneCommand
+
+

RequiresExactlyOneCommand

+class RequiresExactlyOneCommand : TimestampingError
+
+
+

Constructors

+ + + + + + + +
+<init> +RequiresExactlyOneCommand()
+ + diff --git a/docs/build/html/api/core.node.services/-timestamping-error/index.html b/docs/build/html/api/core.node.services/-timestamping-error/index.html new file mode 100644 index 0000000000..53b2b37e68 --- /dev/null +++ b/docs/build/html/api/core.node.services/-timestamping-error/index.html @@ -0,0 +1,68 @@ + + +TimestampingError - + + + +core.node.services / TimestampingError
+
+

TimestampingError

+sealed class TimestampingError : Exception
+
+
+

Exceptions

+ + + + + + + + + + + + + + + +
+NotForMe +class NotForMe : TimestampingError

Thrown if the command in the transaction doesnt list this timestamping authorities public key as a signer

+
+NotOnTimeException +class NotOnTimeException : TimestampingError

Thrown if an attempt is made to timestamp a transaction using a trusted timestamper, but the time on the +transaction is too far in the past or future relative to the local clock and thus the timestamper would reject +it.

+
+RequiresExactlyOneCommand +class RequiresExactlyOneCommand : TimestampingError
+

Inheritors

+ + + + + + + + + + + + + + + +
+NotForMe +class NotForMe : TimestampingError

Thrown if the command in the transaction doesnt list this timestamping authorities public key as a signer

+
+NotOnTimeException +class NotOnTimeException : TimestampingError

Thrown if an attempt is made to timestamp a transaction using a trusted timestamper, but the time on the +transaction is too far in the past or future relative to the local clock and thus the timestamper would reject +it.

+
+RequiresExactlyOneCommand +class RequiresExactlyOneCommand : TimestampingError
+ + diff --git a/docs/build/html/api/core.node.services/-wire-node-registration/-init-.html b/docs/build/html/api/core.node.services/-wire-node-registration/-init-.html new file mode 100644 index 0000000000..6c5e446136 --- /dev/null +++ b/docs/build/html/api/core.node.services/-wire-node-registration/-init-.html @@ -0,0 +1,15 @@ + + +WireNodeRegistration.<init> - + + + +core.node.services / WireNodeRegistration / <init>
+
+

<init>

+WireNodeRegistration(raw: SerializedBytes<NodeRegistration>, sig: WithKey)
+

A node registration and its signature as a pair.

+
+
+ + diff --git a/docs/build/html/api/core.node.services/-wire-node-registration/index.html b/docs/build/html/api/core.node.services/-wire-node-registration/index.html new file mode 100644 index 0000000000..a949646c9e --- /dev/null +++ b/docs/build/html/api/core.node.services/-wire-node-registration/index.html @@ -0,0 +1,69 @@ + + +WireNodeRegistration - + + + +core.node.services / WireNodeRegistration
+
+

WireNodeRegistration

+class WireNodeRegistration : SignedData<NodeRegistration>
+

A node registration and its signature as a pair.

+
+
+

Constructors

+ + + + + + + +
+<init> +WireNodeRegistration(raw: SerializedBytes<NodeRegistration>, sig: WithKey)

A node registration and its signature as a pair.

+
+

Inherited Properties

+ + + + + + + + + + + +
+raw +val raw: SerializedBytes<T>
+sig +val sig: WithKey
+

Functions

+ + + + + + + +
+verifyData +fun verifyData(reg: NodeRegistration): Unit

Verify the wrapped data after the signature has been verified and the data deserialised. Provided as an extension +point for subclasses.

+
+

Inherited Functions

+ + + + + + + +
+verified +fun verified(): T

Return the deserialized data if the signature can be verified.

+
+ + diff --git a/docs/build/html/api/core.node.services/-wire-node-registration/verify-data.html b/docs/build/html/api/core.node.services/-wire-node-registration/verify-data.html new file mode 100644 index 0000000000..9aed2f3d05 --- /dev/null +++ b/docs/build/html/api/core.node.services/-wire-node-registration/verify-data.html @@ -0,0 +1,20 @@ + + +WireNodeRegistration.verifyData - + + + +core.node.services / WireNodeRegistration / verifyData
+
+

verifyData

+ +protected fun verifyData(reg: NodeRegistration): Unit
+

Verify the wrapped data after the signature has been verified and the data deserialised. Provided as an extension +point for subclasses.

+

Exceptions

+ +IllegalArgumentException - if the data is invalid.
+
+
+ + diff --git a/docs/build/html/api/core.node.services/index.html b/docs/build/html/api/core.node.services/index.html new file mode 100644 index 0000000000..89311044c7 --- /dev/null +++ b/docs/build/html/api/core.node.services/index.html @@ -0,0 +1,143 @@ + + +core.node.services - + + + +core.node.services
+
+

Package core.node.services

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AbstractNodeService +abstract class AbstractNodeService

Abstract superclass for services that a node can host, which provides helper functions.

+
+AttachmentStorage +interface AttachmentStorage

An attachment store records potentially large binary objects, identified by their hash. Note that attachments are +immutable and can never be erased once inserted

+
+DummyTimestampingAuthority +object DummyTimestampingAuthority
+IdentityService +interface IdentityService

An identity service maintains an bidirectional map of Partys to their associated public keys and thus supports +lookup of a party given its key. This is obviously very incomplete and does not reflect everything a real identity +service would provide.

+
+InMemoryNetworkMapService +class InMemoryNetworkMapService : NetworkMapService, AbstractNodeService
+NetworkMapService +interface NetworkMapService

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. This information is cached locally within +nodes, by the NetworkMapCache. Currently very basic consensus controls are applied, using signed changes which +replace each other based on a serial number present in the change.

+
+NodeAttachmentService +class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+NodeInterestRates +object NodeInterestRates

An interest rates service is an oracle that signs transactions which contain embedded assertions about an interest +rate fix (e.g. LIBOR, EURIBOR ...).

+
+NodeRegistration +class NodeRegistration

A node registration state in the network map.

+
+NodeTimestamperService +class NodeTimestamperService : AbstractNodeService

This class implements the server side of the timestamping protocol, using the local clock. A future version might +add features like checking against other NTP servers to make sure the clock hasnt drifted by too much.

+
+RegulatorService +interface RegulatorService

Placeholder interface for regulator services.

+
+ServiceType +abstract class ServiceType

Identifier for service types a node can expose over the network to other peers. These types are placed into network +map advertisements. Services that are purely local and are not providing functionality to other parts of the network +dont need a declared service type.

+
+TimestamperService +interface TimestamperService

Simple interface (for testing) to an abstract timestamping service. Note that this is not "timestamping" in the +blockchain sense of a total ordering of transactions, but rather, a signature from a well known/trusted timestamping +service over a transaction that indicates the timestamp in it is accurate. Such a signature may not always be +necessary: if there are multiple parties involved in a transaction then they can cross-check the timestamp +themselves.

+
+WireNodeRegistration +class WireNodeRegistration : SignedData<NodeRegistration>

A node registration and its signature as a pair.

+
+

Exceptions

+ + + + + + + + + + + +
+NodeMapError +sealed class NodeMapError : Exception
+TimestampingError +sealed class TimestampingError : Exception
+ + diff --git a/docs/build/html/api/core.node.servlets/-attachment-download-servlet/-init-.html b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/-init-.html new file mode 100644 index 0000000000..0b82f0af72 --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/-init-.html @@ -0,0 +1,22 @@ + + +AttachmentDownloadServlet.<init> - + + + +core.node.servlets / AttachmentDownloadServlet / <init>
+
+

<init>

+AttachmentDownloadServlet()
+

Allows the node administrator to either download full attachment zips, or individual files within those zips.

+

GET /attachments/123abcdef12121 -> download the zip identified by this hash +GET /attachments/123abcdef12121/foo.txt -> download that file specifically

+

Files are always forced to be downloads, they may not be embedded into web pages for security reasons.

+

TODO: See if theres a way to prevent access by JavaScript. +TODO: Provide an endpoint that exposes attachment file listings, to make attachments browseable.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.servlets/-attachment-download-servlet/do-get.html b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/do-get.html new file mode 100644 index 0000000000..04e6cc252f --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/do-get.html @@ -0,0 +1,15 @@ + + +AttachmentDownloadServlet.doGet - + + + +core.node.servlets / AttachmentDownloadServlet / doGet
+
+

doGet

+ +fun doGet(req: <ERROR CLASS>, resp: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.servlets/-attachment-download-servlet/index.html b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/index.html new file mode 100644 index 0000000000..4e8050ed7c --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-attachment-download-servlet/index.html @@ -0,0 +1,45 @@ + + +AttachmentDownloadServlet - + + + +core.node.servlets / AttachmentDownloadServlet
+
+

AttachmentDownloadServlet

+class AttachmentDownloadServlet
+

Allows the node administrator to either download full attachment zips, or individual files within those zips.

+

GET /attachments/123abcdef12121 -> download the zip identified by this hash +GET /attachments/123abcdef12121/foo.txt -> download that file specifically

+

Files are always forced to be downloads, they may not be embedded into web pages for security reasons.

+

TODO: See if theres a way to prevent access by JavaScript. +TODO: Provide an endpoint that exposes attachment file listings, to make attachments browseable.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +AttachmentDownloadServlet()

Allows the node administrator to either download full attachment zips, or individual files within those zips.

+
+

Functions

+ + + + + + + +
+doGet +fun doGet(req: <ERROR CLASS>, resp: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core.node.servlets/-data-upload-servlet/-init-.html b/docs/build/html/api/core.node.servlets/-data-upload-servlet/-init-.html new file mode 100644 index 0000000000..36a1c1f0d5 --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-data-upload-servlet/-init-.html @@ -0,0 +1,15 @@ + + +DataUploadServlet.<init> - + + + +core.node.servlets / DataUploadServlet / <init>
+
+

<init>

+DataUploadServlet()
+

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

+
+
+ + diff --git a/docs/build/html/api/core.node.servlets/-data-upload-servlet/do-post.html b/docs/build/html/api/core.node.servlets/-data-upload-servlet/do-post.html new file mode 100644 index 0000000000..701d31306e --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-data-upload-servlet/do-post.html @@ -0,0 +1,15 @@ + + +DataUploadServlet.doPost - + + + +core.node.servlets / DataUploadServlet / doPost
+
+

doPost

+ +fun doPost(req: <ERROR CLASS>, resp: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.servlets/-data-upload-servlet/index.html b/docs/build/html/api/core.node.servlets/-data-upload-servlet/index.html new file mode 100644 index 0000000000..58f75683e5 --- /dev/null +++ b/docs/build/html/api/core.node.servlets/-data-upload-servlet/index.html @@ -0,0 +1,38 @@ + + +DataUploadServlet - + + + +core.node.servlets / DataUploadServlet
+
+

DataUploadServlet

+class DataUploadServlet
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +DataUploadServlet()

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

+
+

Functions

+ + + + + + + +
+doPost +fun doPost(req: <ERROR CLASS>, resp: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core.node.servlets/index.html b/docs/build/html/api/core.node.servlets/index.html new file mode 100644 index 0000000000..d97ca6ab62 --- /dev/null +++ b/docs/build/html/api/core.node.servlets/index.html @@ -0,0 +1,30 @@ + + +core.node.servlets - + + + +core.node.servlets
+
+

Package core.node.servlets

+

Types

+ + + + + + + + + + + +
+AttachmentDownloadServlet +class AttachmentDownloadServlet

Allows the node administrator to either download full attachment zips, or individual files within those zips.

+
+DataUploadServlet +class DataUploadServlet

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

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/-init-.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/-init-.html new file mode 100644 index 0000000000..3b9fb03c66 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/-init-.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.Handler.<init> - + + + +core.node.subsystems / ArtemisMessagingService / Handler / <init>
+
+

<init>

+Handler(executor: Executor?, topic: String, callback: (Message, MessageHandlerRegistration) -> Unit)
+

A registration to handle messages of different types

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/callback.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/callback.html new file mode 100644 index 0000000000..74322be108 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/callback.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.Handler.callback - + + + +core.node.subsystems / ArtemisMessagingService / Handler / callback
+
+

callback

+ +val callback: (Message, MessageHandlerRegistration) -> Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/executor.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/executor.html new file mode 100644 index 0000000000..529b7d400d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/executor.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.Handler.executor - + + + +core.node.subsystems / ArtemisMessagingService / Handler / executor
+
+

executor

+ +val executor: Executor?
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/index.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/index.html new file mode 100644 index 0000000000..d1cc75f8ff --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/index.html @@ -0,0 +1,50 @@ + + +ArtemisMessagingService.Handler - + + + +core.node.subsystems / ArtemisMessagingService / Handler
+
+

Handler

+inner class Handler : MessageHandlerRegistration
+

A registration to handle messages of different types

+
+
+

Constructors

+ + + + + + + +
+<init> +Handler(executor: Executor?, topic: String, callback: (Message, MessageHandlerRegistration) -> Unit)

A registration to handle messages of different types

+
+

Properties

+ + + + + + + + + + + + + + + +
+callback +val callback: (Message, MessageHandlerRegistration) -> Unit
+executor +val executor: Executor?
+topic +val topic: String
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/topic.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/topic.html new file mode 100644 index 0000000000..db1ab7bd2b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-handler/topic.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.Handler.topic - + + + +core.node.subsystems / ArtemisMessagingService / Handler / topic
+
+

topic

+ +val topic: String
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-init-.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-init-.html new file mode 100644 index 0000000000..48e9a62f13 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-init-.html @@ -0,0 +1,32 @@ + + +ArtemisMessagingService.<init> - + + + +core.node.subsystems / ArtemisMessagingService / <init>
+
+

<init>

+ArtemisMessagingService(directory: Path, myHostPort: <ERROR CLASS>, defaultExecutor: Executor = RunOnCallerThread)
+

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

+

The current implementation is skeletal and lacks features like security or firewall tunnelling (that is, you must +be able to receive TCP connections in order to receive messages). It is good enough for local communication within +a fully connected network, trusted network or on localhost.

+
+
+

Parameters

+ +directory - A place where Artemis can stash its message journal and other files.
+
+ +myHostPort - What host and port to bind to for receiving inbound connections.
+
+ +defaultExecutor - This will be used as the default executor to run message handlers on, if no other is specified.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html new file mode 100644 index 0000000000..64bc99cb35 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/-t-o-p-i-c_-p-r-o-p-e-r-t-y.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.TOPIC_PROPERTY - + + + +core.node.subsystems / ArtemisMessagingService / TOPIC_PROPERTY
+
+

TOPIC_PROPERTY

+ +val TOPIC_PROPERTY: String
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/add-message-handler.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/add-message-handler.html new file mode 100644 index 0000000000..f61c109bc1 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/add-message-handler.html @@ -0,0 +1,25 @@ + + +ArtemisMessagingService.addMessageHandler - + + + +core.node.subsystems / ArtemisMessagingService / addMessageHandler
+
+

addMessageHandler

+ +fun addMessageHandler(topic: String, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
+Overrides MessagingService.addMessageHandler
+

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+

If no executor is received then the callback will run on threads provided by the messaging service, and the +callback is expected to be thread safe as a result.

+

The returned object is an opaque handle that may be used to un-register handlers later with removeMessageHandler. +The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister +itself and yet addMessageHandler hasnt returned the handle yet.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/create-message.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/create-message.html new file mode 100644 index 0000000000..9f97187e10 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/create-message.html @@ -0,0 +1,17 @@ + + +ArtemisMessagingService.createMessage - + + + +core.node.subsystems / ArtemisMessagingService / createMessage
+
+

createMessage

+ +fun createMessage(topic: String, data: ByteArray): Message
+Overrides MessagingService.createMessage
+

Returns an initialised Message with the current time, etc, already filled in.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/default-executor.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/default-executor.html new file mode 100644 index 0000000000..7b6867f3cb --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/default-executor.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.defaultExecutor - + + + +core.node.subsystems / ArtemisMessagingService / defaultExecutor
+
+

defaultExecutor

+ +val defaultExecutor: Executor
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/directory.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/directory.html new file mode 100644 index 0000000000..4c57958855 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/directory.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.directory - + + + +core.node.subsystems / ArtemisMessagingService / directory
+
+

directory

+ +val directory: Path
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/index.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/index.html new file mode 100644 index 0000000000..71604a87c0 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/index.html @@ -0,0 +1,194 @@ + + +ArtemisMessagingService - + + + +core.node.subsystems / ArtemisMessagingService
+
+

ArtemisMessagingService

+class ArtemisMessagingService : MessagingService
+

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

+

The current implementation is skeletal and lacks features like security or firewall tunnelling (that is, you must +be able to receive TCP connections in order to receive messages). It is good enough for local communication within +a fully connected network, trusted network or on localhost.

+
+
+

Parameters

+ +directory - A place where Artemis can stash its message journal and other files.
+
+ +myHostPort - What host and port to bind to for receiving inbound connections.
+
+ +defaultExecutor - This will be used as the default executor to run message handlers on, if no other is specified.
+
+
+

Types

+ + + + + + + +
+Handler +inner class Handler : MessageHandlerRegistration

A registration to handle messages of different types

+
+

Constructors

+ + + + + + + +
+<init> +ArtemisMessagingService(directory: Path, myHostPort: <ERROR CLASS>, defaultExecutor: Executor = RunOnCallerThread)

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

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+defaultExecutor +val defaultExecutor: Executor
+directory +val directory: Path
+myAddress +val myAddress: SingleMessageRecipient

Returns an address that refers to this node.

+
+myHostPort +val myHostPort: <ERROR CLASS>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addMessageHandler +fun addMessageHandler(topic: String, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+
+createMessage +fun createMessage(topic: String, data: ByteArray): Message

Returns an initialised Message with the current time, etc, already filled in.

+
+removeMessageHandler +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+
+send +fun send(message: Message, target: MessageRecipients): Unit

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+
+start +fun start(): Unit
+stop +fun stop(): Unit
+

Companion Object Properties

+ + + + + + + + + + + +
+TOPIC_PROPERTY +val TOPIC_PROPERTY: String
+log +val log: <ERROR CLASS>
+

Companion Object Functions

+ + + + + + + + + + + +
+makeRecipient +fun makeRecipient(hostAndPort: <ERROR CLASS>): SingleMessageRecipient

Temp helper until network map is established.

+fun makeRecipient(hostname: String): <ERROR CLASS>
+toHostAndPort +fun toHostAndPort(hostname: String): <ERROR CLASS>
+

Extension Functions

+ + + + + + + + + + + +
+runOnNextMessage +fun MessagingService.runOnNextMessage(topic: String = "", executor: Executor? = null, callback: (Message) -> Unit): Unit

Registers a handler for the given topic that runs the given callback with the message and then removes itself. This +is useful for one-shot handlers that arent supposed to stick around permanently. Note that this callback doesnt +take the registration object, unlike the callback to MessagingService.addMessageHandler.

+
+send +fun MessagingService.send(topic: String, to: MessageRecipients, obj: Any): Unit
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/log.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/log.html new file mode 100644 index 0000000000..445b93a3ed --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/log.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.log - + + + +core.node.subsystems / ArtemisMessagingService / log
+
+

log

+ +val log: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/make-recipient.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/make-recipient.html new file mode 100644 index 0000000000..13621d0cf2 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/make-recipient.html @@ -0,0 +1,20 @@ + + +ArtemisMessagingService.makeRecipient - + + + +core.node.subsystems / ArtemisMessagingService / makeRecipient
+
+

makeRecipient

+ +fun makeRecipient(hostAndPort: <ERROR CLASS>): SingleMessageRecipient
+

Temp helper until network map is established.

+
+
+ +fun makeRecipient(hostname: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-address.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-address.html new file mode 100644 index 0000000000..8de9bd3c4d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-address.html @@ -0,0 +1,17 @@ + + +ArtemisMessagingService.myAddress - + + + +core.node.subsystems / ArtemisMessagingService / myAddress
+
+

myAddress

+ +val myAddress: SingleMessageRecipient
+Overrides MessagingService.myAddress
+

Returns an address that refers to this node.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-host-port.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-host-port.html new file mode 100644 index 0000000000..92ffa422cf --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/my-host-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.myHostPort - + + + +core.node.subsystems / ArtemisMessagingService / myHostPort
+
+

myHostPort

+ +val myHostPort: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/remove-message-handler.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/remove-message-handler.html new file mode 100644 index 0000000000..5dd7a82a26 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/remove-message-handler.html @@ -0,0 +1,24 @@ + + +ArtemisMessagingService.removeMessageHandler - + + + +core.node.subsystems / ArtemisMessagingService / removeMessageHandler
+
+

removeMessageHandler

+ +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
+Overrides MessagingService.removeMessageHandler
+

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+

Exceptions

+ +IllegalArgumentException - if the given registration isnt valid for this messaging service.
+
+ +IllegalStateException - if the given registration was already de-registered.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/send.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/send.html new file mode 100644 index 0000000000..40b754409e --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/send.html @@ -0,0 +1,24 @@ + + +ArtemisMessagingService.send - + + + +core.node.subsystems / ArtemisMessagingService / send
+
+

send

+ +fun send(message: Message, target: MessageRecipients): Unit
+Overrides MessagingService.send
+

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+

There is no way to know if a message has been received. If your protocol requires this, you need the recipient +to send an ACK message back.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/start.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/start.html new file mode 100644 index 0000000000..4048ae83f2 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/start.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.start - + + + +core.node.subsystems / ArtemisMessagingService / start
+
+

start

+ +fun start(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/stop.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/stop.html new file mode 100644 index 0000000000..b8c90ec91c --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/stop.html @@ -0,0 +1,16 @@ + + +ArtemisMessagingService.stop - + + + +core.node.subsystems / ArtemisMessagingService / stop
+
+

stop

+ +fun stop(): Unit
+Overrides MessagingService.stop
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/to-host-and-port.html b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/to-host-and-port.html new file mode 100644 index 0000000000..bad3d965c4 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-artemis-messaging-service/to-host-and-port.html @@ -0,0 +1,15 @@ + + +ArtemisMessagingService.toHostAndPort - + + + +core.node.subsystems / ArtemisMessagingService / toHostAndPort
+
+

toHostAndPort

+ +fun toHostAndPort(hostname: String): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/-init-.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/-init-.html new file mode 100644 index 0000000000..bb73fa1540 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/-init-.html @@ -0,0 +1,24 @@ + + +DataVendingService.<init> - + + + +core.node.subsystems / DataVendingService / <init>
+
+

<init>

+DataVendingService(net: MessagingService, storage: StorageService)
+

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+

Note that in our data model, to be able to name a thing by hash automatically gives the power to request it. There +are no access control lists. If you want to keep some data private, then you must be careful who you give its name +to, and trust that they will not pass the name onwards. If someone suspects some data might exist but does not have +its name, then the 256-bit search space theyd have to cover makes it physically impossible to enumerate, and as +such the hash of a piece of data can be seen as a type of password allowing access to it.

+

Additionally, because nodes do not store invalid transactions, requesting such a transaction will always yield null.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/-init-.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/-init-.html new file mode 100644 index 0000000000..ce3ffc58a6 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/-init-.html @@ -0,0 +1,14 @@ + + +DataVendingService.Request.<init> - + + + +core.node.subsystems / DataVendingService / Request / <init>
+
+

<init>

+Request(hashes: List<SecureHash>, replyTo: SingleMessageRecipient, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/hashes.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/hashes.html new file mode 100644 index 0000000000..0b12bd5fff --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/hashes.html @@ -0,0 +1,15 @@ + + +DataVendingService.Request.hashes - + + + +core.node.subsystems / DataVendingService / Request / hashes
+
+

hashes

+ +val hashes: List<SecureHash>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/index.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/index.html new file mode 100644 index 0000000000..e21760d9ce --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/-request/index.html @@ -0,0 +1,53 @@ + + +DataVendingService.Request - + + + +core.node.subsystems / DataVendingService / Request
+
+

Request

+class Request : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +Request(hashes: List<SecureHash>, replyTo: SingleMessageRecipient, sessionID: Long)
+

Properties

+ + + + + + + +
+hashes +val hashes: List<SecureHash>
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/index.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/index.html new file mode 100644 index 0000000000..d8b74cb46d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/index.html @@ -0,0 +1,85 @@ + + +DataVendingService - + + + +core.node.subsystems / DataVendingService
+
+

DataVendingService

+class DataVendingService : AbstractNodeService
+

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+

Note that in our data model, to be able to name a thing by hash automatically gives the power to request it. There +are no access control lists. If you want to keep some data private, then you must be careful who you give its name +to, and trust that they will not pass the name onwards. If someone suspects some data might exist but does not have +its name, then the 256-bit search space theyd have to cover makes it physically impossible to enumerate, and as +such the hash of a piece of data can be seen as a type of password allowing access to it.

+

Additionally, because nodes do not store invalid transactions, requesting such a transaction will always yield null.

+
+
+
+
+

Types

+ + + + + + + +
+Request +class Request : AbstractRequestMessage
+

Constructors

+ + + + + + + +
+<init> +DataVendingService(net: MessagingService, storage: StorageService)

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+
+

Inherited Properties

+ + + + + + + +
+net +val net: MessagingService
+

Inherited Functions

+ + + + + + + +
+addMessageHandler +fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R, exceptionConsumer: (Message, Exception) -> Unit): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are caught and passed to the provided consumer.

+fun <Q : AbstractRequestMessage, R : Any> addMessageHandler(topic: String, handler: (Q) -> R): Unit

Register a handler for a message topic. In comparison to using net.addMessageHandler() this manages a lot of +common boilerplate code. Exceptions are propagated to the messaging layer.

+
+

Companion Object Properties

+ + + + + + + +
+logger +val logger: <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.node.subsystems/-data-vending-service/logger.html b/docs/build/html/api/core.node.subsystems/-data-vending-service/logger.html new file mode 100644 index 0000000000..7220b16436 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-data-vending-service/logger.html @@ -0,0 +1,15 @@ + + +DataVendingService.logger - + + + +core.node.subsystems / DataVendingService / logger
+
+

logger

+ +val logger: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/-init-.html b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/-init-.html new file mode 100644 index 0000000000..7c5813be5e --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/-init-.html @@ -0,0 +1,23 @@ + + +E2ETestKeyManagementService.<init> - + + + +core.node.subsystems / E2ETestKeyManagementService / <init>
+
+

<init>

+E2ETestKeyManagementService()
+

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+

etc

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/fresh-key.html b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/fresh-key.html new file mode 100644 index 0000000000..7abc42d843 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/fresh-key.html @@ -0,0 +1,17 @@ + + +E2ETestKeyManagementService.freshKey - + + + +core.node.subsystems / E2ETestKeyManagementService / freshKey
+
+

freshKey

+ +fun freshKey(): KeyPair
+Overrides KeyManagementService.freshKey
+

Generates a new random key and adds it to the exposed map.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/index.html b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/index.html new file mode 100644 index 0000000000..d78bebda2b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/index.html @@ -0,0 +1,70 @@ + + +E2ETestKeyManagementService - + + + +core.node.subsystems / E2ETestKeyManagementService
+
+

E2ETestKeyManagementService

+class E2ETestKeyManagementService : KeyManagementService
+

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+

etc

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +E2ETestKeyManagementService()

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+
+

Properties

+ + + + + + + +
+keys +val keys: Map<PublicKey, PrivateKey>

Returns a snapshot of the current pubkey->privkey mapping.

+
+

Functions

+ + + + + + + +
+freshKey +fun freshKey(): KeyPair

Generates a new random key and adds it to the exposed map.

+
+

Inherited Functions

+ + + + + + + +
+toPrivate +open fun toPrivate(publicKey: PublicKey): PrivateKey
+ + diff --git a/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/keys.html b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/keys.html new file mode 100644 index 0000000000..ffb996c1ce --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-e2-e-test-key-management-service/keys.html @@ -0,0 +1,20 @@ + + +E2ETestKeyManagementService.keys - + + + +core.node.subsystems / E2ETestKeyManagementService / keys
+
+

keys

+ +val keys: Map<PublicKey, PrivateKey>
+Overrides KeyManagementService.keys
+

Returns a snapshot of the current pubkey->privkey mapping.

+Getter
+

Returns a snapshot of the current pubkey->privkey mapping.

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/-init-.html b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/-init-.html new file mode 100644 index 0000000000..876a92ce90 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/-init-.html @@ -0,0 +1,15 @@ + + +InMemoryIdentityService.<init> - + + + +core.node.subsystems / InMemoryIdentityService / <init>
+
+

<init>

+InMemoryIdentityService()
+

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/index.html b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/index.html new file mode 100644 index 0000000000..7c2d45fb14 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/index.html @@ -0,0 +1,50 @@ + + +InMemoryIdentityService - + + + +core.node.subsystems / InMemoryIdentityService
+
+

InMemoryIdentityService

+class InMemoryIdentityService : IdentityService
+

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+
+

Constructors

+ + + + + + + +
+<init> +InMemoryIdentityService()

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+

Functions

+ + + + + + + + + + + + + + + +
+partyFromKey +fun partyFromKey(key: PublicKey): Party?
+partyFromName +fun partyFromName(name: String): Party?
+registerIdentity +fun registerIdentity(party: Party): Unit
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-key.html b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-key.html new file mode 100644 index 0000000000..640f965623 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-key.html @@ -0,0 +1,16 @@ + + +InMemoryIdentityService.partyFromKey - + + + +core.node.subsystems / InMemoryIdentityService / partyFromKey
+
+

partyFromKey

+ +fun partyFromKey(key: PublicKey): Party?
+Overrides IdentityService.partyFromKey
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-name.html b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-name.html new file mode 100644 index 0000000000..c626fd9fd7 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/party-from-name.html @@ -0,0 +1,16 @@ + + +InMemoryIdentityService.partyFromName - + + + +core.node.subsystems / InMemoryIdentityService / partyFromName
+
+

partyFromName

+ +fun partyFromName(name: String): Party?
+Overrides IdentityService.partyFromName
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/register-identity.html b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/register-identity.html new file mode 100644 index 0000000000..eba11a64d9 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-identity-service/register-identity.html @@ -0,0 +1,16 @@ + + +InMemoryIdentityService.registerIdentity - + + + +core.node.subsystems / InMemoryIdentityService / registerIdentity
+
+

registerIdentity

+ +fun registerIdentity(party: Party): Unit
+Overrides IdentityService.registerIdentity
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/-init-.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/-init-.html new file mode 100644 index 0000000000..fd52fd0ca6 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/-init-.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapCache.<init> - + + + +core.node.subsystems / InMemoryNetworkMapCache / <init>
+
+

<init>

+InMemoryNetworkMapCache()
+

Extremely simple in-memory cache of the network map.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-map-service.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-map-service.html new file mode 100644 index 0000000000..66c10cb536 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-map-service.html @@ -0,0 +1,34 @@ + + +InMemoryNetworkMapCache.addMapService - + + + +core.node.subsystems / InMemoryNetworkMapCache / addMapService
+
+

addMapService

+ +open fun addMapService(smm: StateMachineManager, net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int?): <ERROR CLASS><Unit>
+Overrides NetworkMapCache.addMapService
+

Add a network map service; fetches a copy of the latest map from the service and subscribes to any further +updates.

+

Parameters

+ +smm - state machine manager to use when requesting
+
+ +net - the network messaging service
+
+ +service - the network map service to fetch current state from.
+
+ +subscribe - if the cache should subscribe to updates
+
+ +ifChangedSinceVer - an optional version number to limit updating the map based on. If the latest map +version is less than or equal to the given version, no update is fetched.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-node.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-node.html new file mode 100644 index 0000000000..84e5127876 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/add-node.html @@ -0,0 +1,17 @@ + + +InMemoryNetworkMapCache.addNode - + + + +core.node.subsystems / InMemoryNetworkMapCache / addNode
+
+

addNode

+ +open fun addNode(node: NodeInfo): Unit
+Overrides NetworkMapCache.addNode
+

Adds a node to the local cache (generally only used for adding ourselves)

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/deregister-for-updates.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/deregister-for-updates.html new file mode 100644 index 0000000000..9c9fdc2361 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/deregister-for-updates.html @@ -0,0 +1,20 @@ + + +InMemoryNetworkMapCache.deregisterForUpdates - + + + +core.node.subsystems / InMemoryNetworkMapCache / deregisterForUpdates
+
+

deregisterForUpdates

+ +open fun deregisterForUpdates(smm: StateMachineManager, net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>
+Overrides NetworkMapCache.deregisterForUpdates
+

Unsubscribes from updates from the given map service.

+

Parameters

+ +service - the network map service to listen to updates from.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get-recommended.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get-recommended.html new file mode 100644 index 0000000000..69ad678f54 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get-recommended.html @@ -0,0 +1,19 @@ + + +InMemoryNetworkMapCache.getRecommended - + + + +core.node.subsystems / InMemoryNetworkMapCache / getRecommended
+
+

getRecommended

+ +open fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?
+Overrides NetworkMapCache.getRecommended
+

Get a recommended node that advertises a service, and is suitable for the specified contract and parties. +Implementations might understand, for example, the correct regulator to use for specific contracts/parties, +or the appropriate oracle for a contract.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get.html new file mode 100644 index 0000000000..13e793cd33 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/get.html @@ -0,0 +1,23 @@ + + +InMemoryNetworkMapCache.get - + + + +core.node.subsystems / InMemoryNetworkMapCache / get
+
+

get

+ +open fun get(): <ERROR CLASS>
+Overrides NetworkMapCache.get
+

Get a copy of all nodes in the map.

+
+
+ +open fun get(serviceType: ServiceType): <ERROR CLASS>
+Overrides NetworkMapCache.get
+

Get the collection of nodes which advertise a specific service.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/index.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/index.html new file mode 100644 index 0000000000..5568aeaddf --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/index.html @@ -0,0 +1,156 @@ + + +InMemoryNetworkMapCache - + + + +core.node.subsystems / InMemoryNetworkMapCache
+
+

InMemoryNetworkMapCache

+open class InMemoryNetworkMapCache : NetworkMapCache
+

Extremely simple in-memory cache of the network map.

+
+
+

Constructors

+ + + + + + + +
+<init> +InMemoryNetworkMapCache()

Extremely simple in-memory cache of the network map.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+networkMapNodes +open val networkMapNodes: List<NodeInfo>

A list of nodes that advertise a network map service

+
+partyNodes +open val partyNodes: List<NodeInfo>

A list of all nodes the cache is aware of

+
+ratesOracleNodes +open val ratesOracleNodes: List<NodeInfo>

A list of nodes that advertise a rates oracle service

+
+registeredNodes +var registeredNodes: MutableMap<Party, NodeInfo>
+regulators +open val regulators: List<NodeInfo>

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+
+timestampingNodes +open val timestampingNodes: List<NodeInfo>

A list of nodes that advertise a timestamping service

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addMapService +open fun addMapService(smm: StateMachineManager, net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int?): <ERROR CLASS><Unit>

Add a network map service; fetches a copy of the latest map from the service and subscribes to any further +updates.

+
+addNode +open fun addNode(node: NodeInfo): Unit

Adds a node to the local cache (generally only used for adding ourselves)

+
+deregisterForUpdates +open fun deregisterForUpdates(smm: StateMachineManager, net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>

Unsubscribes from updates from the given map service.

+
+get +open fun get(): <ERROR CLASS>

Get a copy of all nodes in the map.

+open fun get(serviceType: ServiceType): <ERROR CLASS>

Get the collection of nodes which advertise a specific service.

+
+getRecommended +open fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?

Get a recommended node that advertises a service, and is suitable for the specified contract and parties. +Implementations might understand, for example, the correct regulator to use for specific contracts/parties, +or the appropriate oracle for a contract.

+
+processUpdatePush +fun processUpdatePush(req: Update): Unit
+removeNode +open fun removeNode(node: NodeInfo): Unit

Removes a node from the local cache

+
+

Inherited Functions

+ + + + + + + +
+nodeForPartyName +open fun nodeForPartyName(name: String): NodeInfo?

Look up the node info for a party.

+
+

Inheritors

+ + + + + + + +
+MockNetworkMapCache +class MockNetworkMapCache : InMemoryNetworkMapCache

Network map cache with no backing map service.

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/network-map-nodes.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/network-map-nodes.html new file mode 100644 index 0000000000..7f5da8f63e --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/network-map-nodes.html @@ -0,0 +1,20 @@ + + +InMemoryNetworkMapCache.networkMapNodes - + + + +core.node.subsystems / InMemoryNetworkMapCache / networkMapNodes
+
+

networkMapNodes

+ +open val networkMapNodes: List<NodeInfo>
+Overrides NetworkMapCache.networkMapNodes
+

A list of nodes that advertise a network map service

+Getter
+

A list of nodes that advertise a network map service

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/party-nodes.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/party-nodes.html new file mode 100644 index 0000000000..34b657c271 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/party-nodes.html @@ -0,0 +1,20 @@ + + +InMemoryNetworkMapCache.partyNodes - + + + +core.node.subsystems / InMemoryNetworkMapCache / partyNodes
+
+

partyNodes

+ +open val partyNodes: List<NodeInfo>
+Overrides NetworkMapCache.partyNodes
+

A list of all nodes the cache is aware of

+Getter
+

A list of all nodes the cache is aware of

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/process-update-push.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/process-update-push.html new file mode 100644 index 0000000000..2b428b71c1 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/process-update-push.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapCache.processUpdatePush - + + + +core.node.subsystems / InMemoryNetworkMapCache / processUpdatePush
+
+

processUpdatePush

+ +fun processUpdatePush(req: Update): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/rates-oracle-nodes.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/rates-oracle-nodes.html new file mode 100644 index 0000000000..118e8689a4 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/rates-oracle-nodes.html @@ -0,0 +1,20 @@ + + +InMemoryNetworkMapCache.ratesOracleNodes - + + + +core.node.subsystems / InMemoryNetworkMapCache / ratesOracleNodes
+
+

ratesOracleNodes

+ +open val ratesOracleNodes: List<NodeInfo>
+Overrides NetworkMapCache.ratesOracleNodes
+

A list of nodes that advertise a rates oracle service

+Getter
+

A list of nodes that advertise a rates oracle service

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/registered-nodes.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/registered-nodes.html new file mode 100644 index 0000000000..0cb416f7b6 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/registered-nodes.html @@ -0,0 +1,15 @@ + + +InMemoryNetworkMapCache.registeredNodes - + + + +core.node.subsystems / InMemoryNetworkMapCache / registeredNodes
+
+

registeredNodes

+ +protected var registeredNodes: MutableMap<Party, NodeInfo>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/regulators.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/regulators.html new file mode 100644 index 0000000000..e62e881178 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/regulators.html @@ -0,0 +1,24 @@ + + +InMemoryNetworkMapCache.regulators - + + + +core.node.subsystems / InMemoryNetworkMapCache / regulators
+
+

regulators

+ +open val regulators: List<NodeInfo>
+Overrides NetworkMapCache.regulators
+

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+Getter
+

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/remove-node.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/remove-node.html new file mode 100644 index 0000000000..4c36d442b0 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/remove-node.html @@ -0,0 +1,17 @@ + + +InMemoryNetworkMapCache.removeNode - + + + +core.node.subsystems / InMemoryNetworkMapCache / removeNode
+
+

removeNode

+ +open fun removeNode(node: NodeInfo): Unit
+Overrides NetworkMapCache.removeNode
+

Removes a node from the local cache

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/timestamping-nodes.html b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/timestamping-nodes.html new file mode 100644 index 0000000000..f7d20d209a --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-in-memory-network-map-cache/timestamping-nodes.html @@ -0,0 +1,20 @@ + + +InMemoryNetworkMapCache.timestampingNodes - + + + +core.node.subsystems / InMemoryNetworkMapCache / timestampingNodes
+
+

timestampingNodes

+ +open val timestampingNodes: List<NodeInfo>
+Overrides NetworkMapCache.timestampingNodes
+

A list of nodes that advertise a timestamping service

+Getter
+

A list of nodes that advertise a timestamping service

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-key-management-service/fresh-key.html b/docs/build/html/api/core.node.subsystems/-key-management-service/fresh-key.html new file mode 100644 index 0000000000..d09ad96e15 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-key-management-service/fresh-key.html @@ -0,0 +1,16 @@ + + +KeyManagementService.freshKey - + + + +core.node.subsystems / KeyManagementService / freshKey
+
+

freshKey

+ +abstract fun freshKey(): KeyPair
+

Generates a new random key and adds it to the exposed map.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-key-management-service/index.html b/docs/build/html/api/core.node.subsystems/-key-management-service/index.html new file mode 100644 index 0000000000..5cfbadd829 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-key-management-service/index.html @@ -0,0 +1,62 @@ + + +KeyManagementService - + + + +core.node.subsystems / KeyManagementService
+
+

KeyManagementService

+interface KeyManagementService
+

The KMS is responsible for storing and using private keys to sign things. An implementation of this may, for example, +call out to a hardware security module that enforces various auditing and frequency-of-use requirements.

+

The current interface is obviously not usable for those use cases: this is just where wed put a real signing +interface if/when one is developed.

+
+
+
+
+

Properties

+ + + + + + + +
+keys +abstract val keys: Map<PublicKey, PrivateKey>

Returns a snapshot of the current pubkey->privkey mapping.

+
+

Functions

+ + + + + + + + + + + +
+freshKey +abstract fun freshKey(): KeyPair

Generates a new random key and adds it to the exposed map.

+
+toPrivate +open fun toPrivate(publicKey: PublicKey): PrivateKey
+

Inheritors

+ + + + + + + +
+E2ETestKeyManagementService +class E2ETestKeyManagementService : KeyManagementService

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-key-management-service/keys.html b/docs/build/html/api/core.node.subsystems/-key-management-service/keys.html new file mode 100644 index 0000000000..31fbdf88ab --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-key-management-service/keys.html @@ -0,0 +1,16 @@ + + +KeyManagementService.keys - + + + +core.node.subsystems / KeyManagementService / keys
+
+

keys

+ +abstract val keys: Map<PublicKey, PrivateKey>
+

Returns a snapshot of the current pubkey->privkey mapping.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-key-management-service/to-private.html b/docs/build/html/api/core.node.subsystems/-key-management-service/to-private.html new file mode 100644 index 0000000000..da1d95acdf --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-key-management-service/to-private.html @@ -0,0 +1,15 @@ + + +KeyManagementService.toPrivate - + + + +core.node.subsystems / KeyManagementService / toPrivate
+
+

toPrivate

+ +open fun toPrivate(publicKey: PublicKey): PrivateKey
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-monitoring-service/-init-.html b/docs/build/html/api/core.node.subsystems/-monitoring-service/-init-.html new file mode 100644 index 0000000000..d2930ad3ee --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-monitoring-service/-init-.html @@ -0,0 +1,16 @@ + + +MonitoringService.<init> - + + + +core.node.subsystems / MonitoringService / <init>
+
+

<init>

+MonitoringService(metrics: <ERROR CLASS>)
+

Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. +This is not an interface because it is too lightweight to bother mocking out.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-monitoring-service/index.html b/docs/build/html/api/core.node.subsystems/-monitoring-service/index.html new file mode 100644 index 0000000000..ce0893730e --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-monitoring-service/index.html @@ -0,0 +1,40 @@ + + +MonitoringService - + + + +core.node.subsystems / MonitoringService
+
+

MonitoringService

+class MonitoringService
+

Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. +This is not an interface because it is too lightweight to bother mocking out.

+
+
+

Constructors

+ + + + + + + +
+<init> +MonitoringService(metrics: <ERROR CLASS>)

Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. +This is not an interface because it is too lightweight to bother mocking out.

+
+

Properties

+ + + + + + + +
+metrics +val metrics: <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.node.subsystems/-monitoring-service/metrics.html b/docs/build/html/api/core.node.subsystems/-monitoring-service/metrics.html new file mode 100644 index 0000000000..46d6d168bb --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-monitoring-service/metrics.html @@ -0,0 +1,15 @@ + + +MonitoringService.metrics - + + + +core.node.subsystems / MonitoringService / metrics
+
+

metrics

+ +val metrics: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/-init-.html b/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/-init-.html new file mode 100644 index 0000000000..b1d2510ee6 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/-init-.html @@ -0,0 +1,15 @@ + + +NetworkCacheError.DeregistrationFailed.<init> - + + + +core.node.subsystems / NetworkCacheError / DeregistrationFailed / <init>
+
+

<init>

+DeregistrationFailed()
+

Indicates a failure to deregister, because of a rejected request from the remote node

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/index.html b/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/index.html new file mode 100644 index 0000000000..33d7fd6f01 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-cache-error/-deregistration-failed/index.html @@ -0,0 +1,27 @@ + + +NetworkCacheError.DeregistrationFailed - + + + +core.node.subsystems / NetworkCacheError / DeregistrationFailed
+
+

DeregistrationFailed

+class DeregistrationFailed : NetworkCacheError
+

Indicates a failure to deregister, because of a rejected request from the remote node

+
+
+

Constructors

+ + + + + + + +
+<init> +DeregistrationFailed()

Indicates a failure to deregister, because of a rejected request from the remote node

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-cache-error/index.html b/docs/build/html/api/core.node.subsystems/-network-cache-error/index.html new file mode 100644 index 0000000000..f35c010a6d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-cache-error/index.html @@ -0,0 +1,38 @@ + + +NetworkCacheError - + + + +core.node.subsystems / NetworkCacheError
+
+

NetworkCacheError

+sealed class NetworkCacheError : Exception
+
+
+

Exceptions

+ + + + + + + +
+DeregistrationFailed +class DeregistrationFailed : NetworkCacheError

Indicates a failure to deregister, because of a rejected request from the remote node

+
+

Inheritors

+ + + + + + + +
+DeregistrationFailed +class DeregistrationFailed : NetworkCacheError

Indicates a failure to deregister, because of a rejected request from the remote node

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/add-map-service.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/add-map-service.html new file mode 100644 index 0000000000..12b1a7a084 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/add-map-service.html @@ -0,0 +1,33 @@ + + +NetworkMapCache.addMapService - + + + +core.node.subsystems / NetworkMapCache / addMapService
+
+

addMapService

+ +abstract fun addMapService(smm: StateMachineManager, net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int? = null): <ERROR CLASS><Unit>
+

Add a network map service; fetches a copy of the latest map from the service and subscribes to any further +updates.

+

Parameters

+ +smm - state machine manager to use when requesting
+
+ +net - the network messaging service
+
+ +service - the network map service to fetch current state from.
+
+ +subscribe - if the cache should subscribe to updates
+
+ +ifChangedSinceVer - an optional version number to limit updating the map based on. If the latest map +version is less than or equal to the given version, no update is fetched.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/add-node.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/add-node.html new file mode 100644 index 0000000000..be637ccf0b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/add-node.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.addNode - + + + +core.node.subsystems / NetworkMapCache / addNode
+
+

addNode

+ +abstract fun addNode(node: NodeInfo): Unit
+

Adds a node to the local cache (generally only used for adding ourselves)

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/deregister-for-updates.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/deregister-for-updates.html new file mode 100644 index 0000000000..0d227f1fba --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/deregister-for-updates.html @@ -0,0 +1,25 @@ + + +NetworkMapCache.deregisterForUpdates - + + + +core.node.subsystems / NetworkMapCache / deregisterForUpdates
+
+

deregisterForUpdates

+ +abstract fun deregisterForUpdates(smm: StateMachineManager, net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>
+

Deregister from updates from the given map service.

+

Parameters

+ +smm - state machine manager to use when requesting
+
+ +net - the network messaging service
+
+ +service - the network map service to fetch current state from.
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/get-recommended.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/get-recommended.html new file mode 100644 index 0000000000..4344ba301b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/get-recommended.html @@ -0,0 +1,18 @@ + + +NetworkMapCache.getRecommended - + + + +core.node.subsystems / NetworkMapCache / getRecommended
+
+

getRecommended

+ +abstract fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?
+

Get a recommended node that advertises a service, and is suitable for the specified contract and parties. +Implementations might understand, for example, the correct regulator to use for specific contracts/parties, +or the appropriate oracle for a contract.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/get.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/get.html new file mode 100644 index 0000000000..0d370e5376 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/get.html @@ -0,0 +1,21 @@ + + +NetworkMapCache.get - + + + +core.node.subsystems / NetworkMapCache / get
+
+

get

+ +abstract fun get(): Collection<NodeInfo>
+

Get a copy of all nodes in the map.

+
+
+ +abstract fun get(serviceType: ServiceType): Collection<NodeInfo>
+

Get the collection of nodes which advertise a specific service.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/index.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/index.html new file mode 100644 index 0000000000..300c87bd15 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/index.html @@ -0,0 +1,141 @@ + + +NetworkMapCache - + + + +core.node.subsystems / NetworkMapCache
+
+

NetworkMapCache

+interface NetworkMapCache
+

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. The cache wraps around a map fetched +from an authoritative service, and adds easy lookup of the data stored within it. Generally it would be initialised +with a specified network map service, which it fetches data from and then subscribes to updates of.

+
+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+networkMapNodes +abstract val networkMapNodes: List<NodeInfo>

A list of nodes that advertise a network map service

+
+partyNodes +abstract val partyNodes: List<NodeInfo>

A list of all nodes the cache is aware of

+
+ratesOracleNodes +abstract val ratesOracleNodes: List<NodeInfo>

A list of nodes that advertise a rates oracle service

+
+regulators +abstract val regulators: List<NodeInfo>

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+
+timestampingNodes +abstract val timestampingNodes: List<NodeInfo>

A list of nodes that advertise a timestamping service

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addMapService +abstract fun addMapService(smm: StateMachineManager, net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int? = null): <ERROR CLASS><Unit>

Add a network map service; fetches a copy of the latest map from the service and subscribes to any further +updates.

+
+addNode +abstract fun addNode(node: NodeInfo): Unit

Adds a node to the local cache (generally only used for adding ourselves)

+
+deregisterForUpdates +abstract fun deregisterForUpdates(smm: StateMachineManager, net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>

Deregister from updates from the given map service.

+
+get +abstract fun get(): Collection<NodeInfo>

Get a copy of all nodes in the map.

+abstract fun get(serviceType: ServiceType): Collection<NodeInfo>

Get the collection of nodes which advertise a specific service.

+
+getRecommended +abstract fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?

Get a recommended node that advertises a service, and is suitable for the specified contract and parties. +Implementations might understand, for example, the correct regulator to use for specific contracts/parties, +or the appropriate oracle for a contract.

+
+nodeForPartyName +open fun nodeForPartyName(name: String): NodeInfo?

Look up the node info for a party.

+
+removeNode +abstract fun removeNode(node: NodeInfo): Unit

Removes a node from the local cache

+
+

Companion Object Properties

+ + + + + + + +
+logger +val logger: <ERROR CLASS>
+

Inheritors

+ + + + + + + +
+InMemoryNetworkMapCache +open class InMemoryNetworkMapCache : NetworkMapCache

Extremely simple in-memory cache of the network map.

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/logger.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/logger.html new file mode 100644 index 0000000000..bc750de9c4 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/logger.html @@ -0,0 +1,15 @@ + + +NetworkMapCache.logger - + + + +core.node.subsystems / NetworkMapCache / logger
+
+

logger

+ +val logger: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/network-map-nodes.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/network-map-nodes.html new file mode 100644 index 0000000000..c06e75ff1c --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/network-map-nodes.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.networkMapNodes - + + + +core.node.subsystems / NetworkMapCache / networkMapNodes
+
+

networkMapNodes

+ +abstract val networkMapNodes: List<NodeInfo>
+

A list of nodes that advertise a network map service

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/node-for-party-name.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/node-for-party-name.html new file mode 100644 index 0000000000..be34262f1a --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/node-for-party-name.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.nodeForPartyName - + + + +core.node.subsystems / NetworkMapCache / nodeForPartyName
+
+

nodeForPartyName

+ +open fun nodeForPartyName(name: String): NodeInfo?
+

Look up the node info for a party.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/party-nodes.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/party-nodes.html new file mode 100644 index 0000000000..9baf0dc160 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/party-nodes.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.partyNodes - + + + +core.node.subsystems / NetworkMapCache / partyNodes
+
+

partyNodes

+ +abstract val partyNodes: List<NodeInfo>
+

A list of all nodes the cache is aware of

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/rates-oracle-nodes.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/rates-oracle-nodes.html new file mode 100644 index 0000000000..6e7d3b2771 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/rates-oracle-nodes.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.ratesOracleNodes - + + + +core.node.subsystems / NetworkMapCache / ratesOracleNodes
+
+

ratesOracleNodes

+ +abstract val ratesOracleNodes: List<NodeInfo>
+

A list of nodes that advertise a rates oracle service

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/regulators.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/regulators.html new file mode 100644 index 0000000000..3e5b71200a --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/regulators.html @@ -0,0 +1,18 @@ + + +NetworkMapCache.regulators - + + + +core.node.subsystems / NetworkMapCache / regulators
+
+

regulators

+ +abstract val regulators: List<NodeInfo>
+

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/remove-node.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/remove-node.html new file mode 100644 index 0000000000..da50a028fa --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/remove-node.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.removeNode - + + + +core.node.subsystems / NetworkMapCache / removeNode
+
+

removeNode

+ +abstract fun removeNode(node: NodeInfo): Unit
+

Removes a node from the local cache

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-network-map-cache/timestamping-nodes.html b/docs/build/html/api/core.node.subsystems/-network-map-cache/timestamping-nodes.html new file mode 100644 index 0000000000..293d2bd027 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-network-map-cache/timestamping-nodes.html @@ -0,0 +1,16 @@ + + +NetworkMapCache.timestampingNodes - + + + +core.node.subsystems / NetworkMapCache / timestampingNodes
+
+

timestampingNodes

+ +abstract val timestampingNodes: List<NodeInfo>
+

A list of nodes that advertise a timestamping service

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/-init-.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/-init-.html new file mode 100644 index 0000000000..f0828687e5 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/-init-.html @@ -0,0 +1,17 @@ + + +NodeWalletService.<init> - + + + +core.node.subsystems / NodeWalletService / <init>
+
+

<init>

+NodeWalletService(services: ServiceHub)
+

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/cash-balances.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/cash-balances.html new file mode 100644 index 0000000000..68fc252b3a --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/cash-balances.html @@ -0,0 +1,22 @@ + + +NodeWalletService.cashBalances - + + + +core.node.subsystems / NodeWalletService / cashBalances
+
+

cashBalances

+ +val cashBalances: Map<Currency, Amount>
+Overrides WalletService.cashBalances
+

Returns a snapshot of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null, not 0.

+Getter
+

Returns a snapshot of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null, not 0.

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/current-wallet.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/current-wallet.html new file mode 100644 index 0000000000..5e86ab0e9b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/current-wallet.html @@ -0,0 +1,22 @@ + + +NodeWalletService.currentWallet - + + + +core.node.subsystems / NodeWalletService / currentWallet
+
+

currentWallet

+ +val currentWallet: Wallet
+Overrides WalletService.currentWallet
+

Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or +keys in this wallet, you must inform the wallet service so it can update its internal state.

+Getter
+

Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or +keys in this wallet, you must inform the wallet service so it can update its internal state.

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/fill-with-some-test-cash.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/fill-with-some-test-cash.html new file mode 100644 index 0000000000..6028160c7d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/fill-with-some-test-cash.html @@ -0,0 +1,23 @@ + + +NodeWalletService.fillWithSomeTestCash - + + + +core.node.subsystems / NodeWalletService / fillWithSomeTestCash
+
+

fillWithSomeTestCash

+ +fun fillWithSomeTestCash(howMuch: Amount, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random()): Unit
+

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet.

+

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

+

TODO: Move this out of NodeWalletService

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/index.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/index.html new file mode 100644 index 0000000000..af8730cf29 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/index.html @@ -0,0 +1,116 @@ + + +NodeWalletService - + + + +core.node.subsystems / NodeWalletService
+
+

NodeWalletService

+class NodeWalletService : WalletService
+

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+
+

Constructors

+ + + + + + + +
+<init> +NodeWalletService(services: ServiceHub)

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+

Properties

+ + + + + + + + + + + + + + + +
+cashBalances +val cashBalances: Map<Currency, Amount>

Returns a snapshot of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null, not 0.

+
+currentWallet +val currentWallet: Wallet

Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or +keys in this wallet, you must inform the wallet service so it can update its internal state.

+
+linearHeads +val linearHeads: Map<SecureHash, StateAndRef<LinearState>>

Returns a snapshot of the heads of LinearStates

+
+

Functions

+ + + + + + + + + + + +
+fillWithSomeTestCash +fun fillWithSomeTestCash(howMuch: Amount, atLeastThisManyStates: Int = 3, atMostThisManyStates: Int = 10, rng: Random = Random()): Unit

Creates a random set of between (by default) 3 and 10 cash states that add up to the given amount and adds them +to the wallet.

+
+notifyAll +fun notifyAll(txns: Iterable<WireTransaction>): Wallet

Possibly update the wallet by marking as spent states that these transactions consume, and adding any relevant +new states that they create. You should only insert transactions that have been successfully verified here

+
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+linearHeadsOfType_ +open fun <T : LinearState> linearHeadsOfType_(stateType: Class<T>): Map<SecureHash, StateAndRef<T>>

Returns the linearHeads only when the type of the state would be considered an instanceof the given type.

+
+notify +open fun notify(tx: WireTransaction): Wallet

Same as notifyAll but with a single transaction.

+
+statesForRefs +open fun statesForRefs(refs: List<StateRef>): Map<StateRef, ContractState?>
+

Extension Functions

+ + + + + + + +
+linearHeadsOfType +fun <T : LinearState> WalletService.linearHeadsOfType(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/linear-heads.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/linear-heads.html new file mode 100644 index 0000000000..6c1edfea99 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/linear-heads.html @@ -0,0 +1,20 @@ + + +NodeWalletService.linearHeads - + + + +core.node.subsystems / NodeWalletService / linearHeads
+
+

linearHeads

+ +val linearHeads: Map<SecureHash, StateAndRef<LinearState>>
+Overrides WalletService.linearHeads
+

Returns a snapshot of the heads of LinearStates

+Getter
+

Returns a snapshot of the heads of LinearStates

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-node-wallet-service/notify-all.html b/docs/build/html/api/core.node.subsystems/-node-wallet-service/notify-all.html new file mode 100644 index 0000000000..12d07f7f37 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-node-wallet-service/notify-all.html @@ -0,0 +1,22 @@ + + +NodeWalletService.notifyAll - + + + +core.node.subsystems / NodeWalletService / notifyAll
+
+

notifyAll

+ +fun notifyAll(txns: Iterable<WireTransaction>): Wallet
+Overrides WalletService.notifyAll
+

Possibly update the wallet by marking as spent states that these transactions consume, and adding any relevant +new states that they create. You should only insert transactions that have been successfully verified here

+

Returns the new wallet that resulted from applying the transactions (note: it may quickly become out of date).

+

TODO: Consider if theres a good way to enforce the must-be-verified requirement in the type system.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/-init-.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/-init-.html new file mode 100644 index 0000000000..e6258c3948 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/-init-.html @@ -0,0 +1,14 @@ + + +StorageServiceImpl.<init> - + + + +core.node.subsystems / StorageServiceImpl / <init>
+
+

<init>

+StorageServiceImpl(attachments: AttachmentStorage, keypair: KeyPair, identity: Party = Party("Unit test party", keypair.public), recordingAs: (String) -> String = { tableName -> "" })
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/attachments.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/attachments.html new file mode 100644 index 0000000000..03fdb23eee --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/attachments.html @@ -0,0 +1,17 @@ + + +StorageServiceImpl.attachments - + + + +core.node.subsystems / StorageServiceImpl / attachments
+
+

attachments

+ +open val attachments: AttachmentStorage
+Overrides StorageService.attachments
+

Provides access to storage of arbitrary JAR files (which may contain only data, no code).

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/index.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/index.html new file mode 100644 index 0000000000..e6becf293b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/index.html @@ -0,0 +1,78 @@ + + +StorageServiceImpl - + + + +core.node.subsystems / StorageServiceImpl
+
+

StorageServiceImpl

+open class StorageServiceImpl : StorageService
+
+
+

Constructors

+ + + + + + + +
+<init> +StorageServiceImpl(attachments: AttachmentStorage, keypair: KeyPair, identity: Party = Party("Unit test party", keypair.public), recordingAs: (String) -> String = { tableName -> "" })
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+attachments +open val attachments: AttachmentStorage

Provides access to storage of arbitrary JAR files (which may contain only data, no code).

+
+myLegalIdentity +open val myLegalIdentity: Party

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is +first installed.

+
+myLegalIdentityKey +open val myLegalIdentityKey: KeyPair
+recordingAs +val recordingAs: (String) -> String
+stateMachines +open val stateMachines: MutableMap<SecureHash, ByteArray>
+tables +val tables: HashMap<String, MutableMap<*, *>>
+validatedTransactions +open val validatedTransactions: MutableMap<SecureHash, SignedTransaction>

A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. +The signatures arent technically needed after that point, but we keep them around so that we can relay +the transaction data to other nodes that need it.

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity-key.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity-key.html new file mode 100644 index 0000000000..fb90b5de51 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity-key.html @@ -0,0 +1,16 @@ + + +StorageServiceImpl.myLegalIdentityKey - + + + +core.node.subsystems / StorageServiceImpl / myLegalIdentityKey
+
+

myLegalIdentityKey

+ +open val myLegalIdentityKey: KeyPair
+Overrides StorageService.myLegalIdentityKey
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity.html new file mode 100644 index 0000000000..fb4f5bb586 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/my-legal-identity.html @@ -0,0 +1,18 @@ + + +StorageServiceImpl.myLegalIdentity - + + + +core.node.subsystems / StorageServiceImpl / myLegalIdentity
+
+

myLegalIdentity

+ +open val myLegalIdentity: Party
+Overrides StorageService.myLegalIdentity
+

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is +first installed.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/recording-as.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/recording-as.html new file mode 100644 index 0000000000..8f763ffcc6 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/recording-as.html @@ -0,0 +1,15 @@ + + +StorageServiceImpl.recordingAs - + + + +core.node.subsystems / StorageServiceImpl / recordingAs
+
+

recordingAs

+ +val recordingAs: (String) -> String
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/state-machines.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/state-machines.html new file mode 100644 index 0000000000..a145cb8b69 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/state-machines.html @@ -0,0 +1,16 @@ + + +StorageServiceImpl.stateMachines - + + + +core.node.subsystems / StorageServiceImpl / stateMachines
+
+

stateMachines

+ +open val stateMachines: MutableMap<SecureHash, ByteArray>
+Overrides StorageService.stateMachines
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/tables.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/tables.html new file mode 100644 index 0000000000..b215205d32 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/tables.html @@ -0,0 +1,15 @@ + + +StorageServiceImpl.tables - + + + +core.node.subsystems / StorageServiceImpl / tables
+
+

tables

+ +protected val tables: HashMap<String, MutableMap<*, *>>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service-impl/validated-transactions.html b/docs/build/html/api/core.node.subsystems/-storage-service-impl/validated-transactions.html new file mode 100644 index 0000000000..e69c861c41 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service-impl/validated-transactions.html @@ -0,0 +1,24 @@ + + +StorageServiceImpl.validatedTransactions - + + + +core.node.subsystems / StorageServiceImpl / validatedTransactions
+
+

validatedTransactions

+ +open val validatedTransactions: MutableMap<SecureHash, SignedTransaction>
+Overrides StorageService.validatedTransactions
+

A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. +The signatures arent technically needed after that point, but we keep them around so that we can relay +the transaction data to other nodes that need it.

+Getter
+

A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. +The signatures arent technically needed after that point, but we keep them around so that we can relay +the transaction data to other nodes that need it.

+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/attachments.html b/docs/build/html/api/core.node.subsystems/-storage-service/attachments.html new file mode 100644 index 0000000000..cff171927f --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/attachments.html @@ -0,0 +1,16 @@ + + +StorageService.attachments - + + + +core.node.subsystems / StorageService / attachments
+
+

attachments

+ +abstract val attachments: AttachmentStorage
+

Provides access to storage of arbitrary JAR files (which may contain only data, no code).

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/index.html b/docs/build/html/api/core.node.subsystems/-storage-service/index.html new file mode 100644 index 0000000000..c0477fa596 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/index.html @@ -0,0 +1,69 @@ + + +StorageService - + + + +core.node.subsystems / StorageService
+
+

StorageService

+interface StorageService
+

A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like +transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or +anything like that, this interface is only big enough to support the prototyping work.

+
+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+attachments +abstract val attachments: AttachmentStorage

Provides access to storage of arbitrary JAR files (which may contain only data, no code).

+
+myLegalIdentity +abstract val myLegalIdentity: Party

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is +first installed.

+
+myLegalIdentityKey +abstract val myLegalIdentityKey: KeyPair
+stateMachines +abstract val stateMachines: MutableMap<SecureHash, ByteArray>
+validatedTransactions +abstract val validatedTransactions: MutableMap<SecureHash, SignedTransaction>

A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. +The signatures arent technically needed after that point, but we keep them around so that we can relay +the transaction data to other nodes that need it.

+
+

Inheritors

+ + + + + + + +
+StorageServiceImpl +open class StorageServiceImpl : StorageService
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity-key.html b/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity-key.html new file mode 100644 index 0000000000..644fdd050d --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity-key.html @@ -0,0 +1,15 @@ + + +StorageService.myLegalIdentityKey - + + + +core.node.subsystems / StorageService / myLegalIdentityKey
+
+

myLegalIdentityKey

+ +abstract val myLegalIdentityKey: KeyPair
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity.html b/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity.html new file mode 100644 index 0000000000..cd301f81a3 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/my-legal-identity.html @@ -0,0 +1,17 @@ + + +StorageService.myLegalIdentity - + + + +core.node.subsystems / StorageService / myLegalIdentity
+
+

myLegalIdentity

+ +abstract val myLegalIdentity: Party
+

Returns the legal identity that this node is configured with. Assumed to be initialised when the node is +first installed.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/state-machines.html b/docs/build/html/api/core.node.subsystems/-storage-service/state-machines.html new file mode 100644 index 0000000000..2734f7caa4 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/state-machines.html @@ -0,0 +1,15 @@ + + +StorageService.stateMachines - + + + +core.node.subsystems / StorageService / stateMachines
+
+

stateMachines

+ +abstract val stateMachines: MutableMap<SecureHash, ByteArray>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-storage-service/validated-transactions.html b/docs/build/html/api/core.node.subsystems/-storage-service/validated-transactions.html new file mode 100644 index 0000000000..015880b293 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-storage-service/validated-transactions.html @@ -0,0 +1,18 @@ + + +StorageService.validatedTransactions - + + + +core.node.subsystems / StorageService / validatedTransactions
+
+

validatedTransactions

+ +abstract val validatedTransactions: MutableMap<SecureHash, SignedTransaction>
+

A map of hash->tx where tx has been signature/contract validated and the states are known to be correct. +The signatures arent technically needed after that point, but we keep them around so that we can relay +the transaction data to other nodes that need it.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-t-o-p-i-c_-d-e-f-a-u-l-t_-p-o-s-t-f-i-x.html b/docs/build/html/api/core.node.subsystems/-t-o-p-i-c_-d-e-f-a-u-l-t_-p-o-s-t-f-i-x.html new file mode 100644 index 0000000000..947b648902 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-t-o-p-i-c_-d-e-f-a-u-l-t_-p-o-s-t-f-i-x.html @@ -0,0 +1,16 @@ + + +TOPIC_DEFAULT_POSTFIX - + + + +core.node.subsystems / TOPIC_DEFAULT_POSTFIX
+
+

TOPIC_DEFAULT_POSTFIX

+ +val TOPIC_DEFAULT_POSTFIX: String
+

Postfix for base topics when sending a request to a service.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/cash-balances.html b/docs/build/html/api/core.node.subsystems/-wallet-service/cash-balances.html new file mode 100644 index 0000000000..97935c1486 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/cash-balances.html @@ -0,0 +1,17 @@ + + +WalletService.cashBalances - + + + +core.node.subsystems / WalletService / cashBalances
+
+

cashBalances

+ +abstract val cashBalances: Map<Currency, Amount>
+

Returns a snapshot of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null, not 0.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/current-wallet.html b/docs/build/html/api/core.node.subsystems/-wallet-service/current-wallet.html new file mode 100644 index 0000000000..1b9a7ca390 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/current-wallet.html @@ -0,0 +1,17 @@ + + +WalletService.currentWallet - + + + +core.node.subsystems / WalletService / currentWallet
+
+

currentWallet

+ +abstract val currentWallet: Wallet
+

Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or +keys in this wallet, you must inform the wallet service so it can update its internal state.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/index.html b/docs/build/html/api/core.node.subsystems/-wallet-service/index.html new file mode 100644 index 0000000000..2c6346b471 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/index.html @@ -0,0 +1,104 @@ + + +WalletService - + + + +core.node.subsystems / WalletService
+
+

WalletService

+interface WalletService
+

A WalletService is responsible for securely and safely persisting the current state of a wallet to storage. The +wallet service vends immutable snapshots of the current wallet for working with: if you build a transaction based +on a wallet that isnt current, be aware that it may end up being invalid if the states that were used have been +consumed by someone else first

+
+
+

Properties

+ + + + + + + + + + + + + + + +
+cashBalances +abstract val cashBalances: Map<Currency, Amount>

Returns a snapshot of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null, not 0.

+
+currentWallet +abstract val currentWallet: Wallet

Returns a read-only snapshot of the wallet at the time the call is made. Note that if you consume states or +keys in this wallet, you must inform the wallet service so it can update its internal state.

+
+linearHeads +abstract val linearHeads: Map<SecureHash, StateAndRef<LinearState>>

Returns a snapshot of the heads of LinearStates

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+linearHeadsOfType_ +open fun <T : LinearState> linearHeadsOfType_(stateType: Class<T>): Map<SecureHash, StateAndRef<T>>

Returns the linearHeads only when the type of the state would be considered an instanceof the given type.

+
+notify +open fun notify(tx: WireTransaction): Wallet

Same as notifyAll but with a single transaction.

+
+notifyAll +abstract fun notifyAll(txns: Iterable<WireTransaction>): Wallet

Possibly update the wallet by marking as spent states that these transactions consume, and adding any relevant +new states that they create. You should only insert transactions that have been successfully verified here

+
+statesForRefs +open fun statesForRefs(refs: List<StateRef>): Map<StateRef, ContractState?>
+

Extension Functions

+ + + + + + + +
+linearHeadsOfType +fun <T : LinearState> WalletService.linearHeadsOfType(): <ERROR CLASS>
+

Inheritors

+ + + + + + + +
+NodeWalletService +class NodeWalletService : WalletService

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads-of-type_.html b/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads-of-type_.html new file mode 100644 index 0000000000..1af12bbe1b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads-of-type_.html @@ -0,0 +1,16 @@ + + +WalletService.linearHeadsOfType_ - + + + +core.node.subsystems / WalletService / linearHeadsOfType_
+
+

linearHeadsOfType_

+ +open fun <T : LinearState> linearHeadsOfType_(stateType: Class<T>): Map<SecureHash, StateAndRef<T>>
+

Returns the linearHeads only when the type of the state would be considered an instanceof the given type.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads.html b/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads.html new file mode 100644 index 0000000000..8024fd3d28 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/linear-heads.html @@ -0,0 +1,16 @@ + + +WalletService.linearHeads - + + + +core.node.subsystems / WalletService / linearHeads
+
+

linearHeads

+ +abstract val linearHeads: Map<SecureHash, StateAndRef<LinearState>>
+

Returns a snapshot of the heads of LinearStates

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/notify-all.html b/docs/build/html/api/core.node.subsystems/-wallet-service/notify-all.html new file mode 100644 index 0000000000..853c3f5505 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/notify-all.html @@ -0,0 +1,21 @@ + + +WalletService.notifyAll - + + + +core.node.subsystems / WalletService / notifyAll
+
+

notifyAll

+ +abstract fun notifyAll(txns: Iterable<WireTransaction>): Wallet
+

Possibly update the wallet by marking as spent states that these transactions consume, and adding any relevant +new states that they create. You should only insert transactions that have been successfully verified here

+

Returns the new wallet that resulted from applying the transactions (note: it may quickly become out of date).

+

TODO: Consider if theres a good way to enforce the must-be-verified requirement in the type system.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/notify.html b/docs/build/html/api/core.node.subsystems/-wallet-service/notify.html new file mode 100644 index 0000000000..e936cf2684 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/notify.html @@ -0,0 +1,16 @@ + + +WalletService.notify - + + + +core.node.subsystems / WalletService / notify
+
+

notify

+ +open fun notify(tx: WireTransaction): Wallet
+

Same as notifyAll but with a single transaction.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet-service/states-for-refs.html b/docs/build/html/api/core.node.subsystems/-wallet-service/states-for-refs.html new file mode 100644 index 0000000000..533ceffb1a --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet-service/states-for-refs.html @@ -0,0 +1,15 @@ + + +WalletService.statesForRefs - + + + +core.node.subsystems / WalletService / statesForRefs
+
+

statesForRefs

+ +open fun statesForRefs(refs: List<StateRef>): Map<StateRef, ContractState?>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet/-init-.html b/docs/build/html/api/core.node.subsystems/-wallet/-init-.html new file mode 100644 index 0000000000..ebf618f19b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet/-init-.html @@ -0,0 +1,18 @@ + + +Wallet.<init> - + + + +core.node.subsystems / Wallet / <init>
+
+

<init>

+Wallet(states: List<StateAndRef<ContractState>>)
+

A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, +because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to +change out from underneath you, even though the canonical currently-best-known wallet may change as we learn +about new transactions from our peers and generate new transactions that consume states ourselves.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet/cash-balances.html b/docs/build/html/api/core.node.subsystems/-wallet/cash-balances.html new file mode 100644 index 0000000000..cf97f342b3 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet/cash-balances.html @@ -0,0 +1,17 @@ + + +Wallet.cashBalances - + + + +core.node.subsystems / Wallet / cashBalances
+
+

cashBalances

+ +val cashBalances: Map<Currency, Amount>
+

Returns a map of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null (not present in map), not 0.

+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet/index.html b/docs/build/html/api/core.node.subsystems/-wallet/index.html new file mode 100644 index 0000000000..1d4a4c882c --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet/index.html @@ -0,0 +1,63 @@ + + +Wallet - + + + +core.node.subsystems / Wallet
+
+

Wallet

+data class Wallet
+

A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, +because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to +change out from underneath you, even though the canonical currently-best-known wallet may change as we learn +about new transactions from our peers and generate new transactions that consume states ourselves.

+
+
+

Constructors

+ + + + + + + +
+<init> +Wallet(states: List<StateAndRef<ContractState>>)

A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, +because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to +change out from underneath you, even though the canonical currently-best-known wallet may change as we learn +about new transactions from our peers and generate new transactions that consume states ourselves.

+
+

Properties

+ + + + + + + + + + + +
+cashBalances +val cashBalances: Map<Currency, Amount>

Returns a map of how much cash we have in each currency, ignoring details like issuer. Note: currencies for +which we have no cash evaluate to null (not present in map), not 0.

+
+states +val states: List<StateAndRef<ContractState>>
+

Functions

+ + + + + + + +
+statesOfType +fun <T : OwnableState> statesOfType(): List<StateAndRef<T>>
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet/states-of-type.html b/docs/build/html/api/core.node.subsystems/-wallet/states-of-type.html new file mode 100644 index 0000000000..d699ba4b37 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet/states-of-type.html @@ -0,0 +1,15 @@ + + +Wallet.statesOfType - + + + +core.node.subsystems / Wallet / statesOfType
+
+

statesOfType

+ +inline fun <reified T : OwnableState> statesOfType(): List<StateAndRef<T>>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/-wallet/states.html b/docs/build/html/api/core.node.subsystems/-wallet/states.html new file mode 100644 index 0000000000..59d3ed93e9 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/-wallet/states.html @@ -0,0 +1,15 @@ + + +Wallet.states - + + + +core.node.subsystems / Wallet / states
+
+

states

+ +val states: List<StateAndRef<ContractState>>
+
+
+ + diff --git a/docs/build/html/api/core.node.subsystems/index.html b/docs/build/html/api/core.node.subsystems/index.html new file mode 100644 index 0000000000..aa3e60b066 --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/index.html @@ -0,0 +1,159 @@ + + +core.node.subsystems - + + + +core.node.subsystems
+
+

Package core.node.subsystems

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ArtemisMessagingService +class ArtemisMessagingService : MessagingService

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

+
+DataVendingService +class DataVendingService : AbstractNodeService

This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple +glue that sits between the network layer and the database layer.

+
+E2ETestKeyManagementService +class E2ETestKeyManagementService : KeyManagementService

A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:

+
+InMemoryIdentityService +class InMemoryIdentityService : IdentityService

Simple identity service which caches parties and provides functionality for efficient lookup.

+
+InMemoryNetworkMapCache +open class InMemoryNetworkMapCache : NetworkMapCache

Extremely simple in-memory cache of the network map.

+
+KeyManagementService +interface KeyManagementService

The KMS is responsible for storing and using private keys to sign things. An implementation of this may, for example, +call out to a hardware security module that enforces various auditing and frequency-of-use requirements.

+
+MonitoringService +class MonitoringService

Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. +This is not an interface because it is too lightweight to bother mocking out.

+
+NetworkMapCache +interface NetworkMapCache

A network map contains lists of nodes on the network along with information about their identity keys, services +they provide and host names or IP addresses where they can be connected to. The cache wraps around a map fetched +from an authoritative service, and adds easy lookup of the data stored within it. Generally it would be initialised +with a specified network map service, which it fetches data from and then subscribes to updates of.

+
+NodeWalletService +class NodeWalletService : WalletService

This class implements a simple, in memory wallet that tracks states that are owned by us, and also has a convenience +method to auto-generate some self-issued cash states that can be used for test trading. A real wallet would persist +states relevant to us into a database and once such a wallet is implemented, this scaffolding can be removed.

+
+StorageService +interface StorageService

A sketch of an interface to a simple key/value storage system. Intended for persistence of simple blobs like +transactions, serialised protocol state machines and so on. Again, this isnt intended to imply lack of SQL or +anything like that, this interface is only big enough to support the prototyping work.

+
+StorageServiceImpl +open class StorageServiceImpl : StorageService
+Wallet +data class Wallet

A wallet (name may be temporary) wraps a set of states that are useful for us to keep track of, for instance, +because we own them. This class represents an immutable, stable state of a wallet: it is guaranteed not to +change out from underneath you, even though the canonical currently-best-known wallet may change as we learn +about new transactions from our peers and generate new transactions that consume states ourselves.

+
+WalletService +interface WalletService

A WalletService is responsible for securely and safely persisting the current state of a wallet to storage. The +wallet service vends immutable snapshots of the current wallet for working with: if you build a transaction based +on a wallet that isnt current, be aware that it may end up being invalid if the states that were used have been +consumed by someone else first

+
+

Exceptions

+ + + + + + + +
+NetworkCacheError +sealed class NetworkCacheError : Exception
+

Properties

+ + + + + + + +
+TOPIC_DEFAULT_POSTFIX +val TOPIC_DEFAULT_POSTFIX: String

Postfix for base topics when sending a request to a service.

+
+

Functions

+ + + + + + + +
+linearHeadsOfType +fun <T : LinearState> WalletService.linearHeadsOfType(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.node.subsystems/linear-heads-of-type.html b/docs/build/html/api/core.node.subsystems/linear-heads-of-type.html new file mode 100644 index 0000000000..ea2d8e467b --- /dev/null +++ b/docs/build/html/api/core.node.subsystems/linear-heads-of-type.html @@ -0,0 +1,15 @@ + + +linearHeadsOfType - + + + +core.node.subsystems / linearHeadsOfType
+
+

linearHeadsOfType

+ +inline fun <reified T : LinearState> WalletService.linearHeadsOfType(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/-init-.html b/docs/build/html/api/core.node/-abstract-node/-init-.html new file mode 100644 index 0000000000..42557660c1 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/-init-.html @@ -0,0 +1,16 @@ + + +AbstractNode.<init> - + + + +core.node / AbstractNode / <init>
+
+

<init>

+AbstractNode(dir: Path, configuration: NodeConfiguration, initialNetworkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, platformClock: Clock)
+

A base node implementation that can be customised either for production (with real implementations that do real +I/O), or a mock implementation suitable for unit test environments.

+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/-p-r-i-v-a-t-e_-k-e-y_-f-i-l-e_-n-a-m-e.html b/docs/build/html/api/core.node/-abstract-node/-p-r-i-v-a-t-e_-k-e-y_-f-i-l-e_-n-a-m-e.html new file mode 100644 index 0000000000..bd8f3475a8 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/-p-r-i-v-a-t-e_-k-e-y_-f-i-l-e_-n-a-m-e.html @@ -0,0 +1,15 @@ + + +AbstractNode.PRIVATE_KEY_FILE_NAME - + + + +core.node / AbstractNode / PRIVATE_KEY_FILE_NAME
+
+

PRIVATE_KEY_FILE_NAME

+ +val PRIVATE_KEY_FILE_NAME: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/-p-u-b-l-i-c_-i-d-e-n-t-i-t-y_-f-i-l-e_-n-a-m-e.html b/docs/build/html/api/core.node/-abstract-node/-p-u-b-l-i-c_-i-d-e-n-t-i-t-y_-f-i-l-e_-n-a-m-e.html new file mode 100644 index 0000000000..10f31803f8 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/-p-u-b-l-i-c_-i-d-e-n-t-i-t-y_-f-i-l-e_-n-a-m-e.html @@ -0,0 +1,15 @@ + + +AbstractNode.PUBLIC_IDENTITY_FILE_NAME - + + + +core.node / AbstractNode / PUBLIC_IDENTITY_FILE_NAME
+
+

PUBLIC_IDENTITY_FILE_NAME

+ +val PUBLIC_IDENTITY_FILE_NAME: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/_services-that-accept-uploads.html b/docs/build/html/api/core.node/-abstract-node/_services-that-accept-uploads.html new file mode 100644 index 0000000000..fc519de7f8 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/_services-that-accept-uploads.html @@ -0,0 +1,15 @@ + + +AbstractNode._servicesThatAcceptUploads - + + + +core.node / AbstractNode / _servicesThatAcceptUploads
+
+

_servicesThatAcceptUploads

+ +protected val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/advertised-services.html b/docs/build/html/api/core.node/-abstract-node/advertised-services.html new file mode 100644 index 0000000000..6f356071da --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/advertised-services.html @@ -0,0 +1,15 @@ + + +AbstractNode.advertisedServices - + + + +core.node / AbstractNode / advertisedServices
+
+

advertisedServices

+ +val advertisedServices: Set<ServiceType>
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/api.html b/docs/build/html/api/core.node/-abstract-node/api.html new file mode 100644 index 0000000000..60a91f39f6 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/api.html @@ -0,0 +1,15 @@ + + +AbstractNode.api - + + + +core.node / AbstractNode / api
+
+

api

+ +lateinit var api: APIServer
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/configuration.html b/docs/build/html/api/core.node/-abstract-node/configuration.html new file mode 100644 index 0000000000..769502f9b9 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/configuration.html @@ -0,0 +1,15 @@ + + +AbstractNode.configuration - + + + +core.node / AbstractNode / configuration
+
+

configuration

+ +val configuration: NodeConfiguration
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/construct-storage-service.html b/docs/build/html/api/core.node/-abstract-node/construct-storage-service.html new file mode 100644 index 0000000000..fe10e1d93e --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/construct-storage-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.constructStorageService - + + + +core.node / AbstractNode / constructStorageService
+
+

constructStorageService

+ +protected open fun constructStorageService(attachments: NodeAttachmentService, keypair: KeyPair, identity: Party): StorageServiceImpl
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/dir.html b/docs/build/html/api/core.node/-abstract-node/dir.html new file mode 100644 index 0000000000..418f2aaf09 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/dir.html @@ -0,0 +1,15 @@ + + +AbstractNode.dir - + + + +core.node / AbstractNode / dir
+
+

dir

+ +val dir: Path
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/find-my-location.html b/docs/build/html/api/core.node/-abstract-node/find-my-location.html new file mode 100644 index 0000000000..898e6fd912 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/find-my-location.html @@ -0,0 +1,15 @@ + + +AbstractNode.findMyLocation - + + + +core.node / AbstractNode / findMyLocation
+
+

findMyLocation

+ +protected open fun findMyLocation(): PhysicalLocation?
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/identity.html b/docs/build/html/api/core.node/-abstract-node/identity.html new file mode 100644 index 0000000000..686c3fa385 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/identity.html @@ -0,0 +1,15 @@ + + +AbstractNode.identity - + + + +core.node / AbstractNode / identity
+
+

identity

+ +lateinit var identity: IdentityService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/in-node-network-map-service.html b/docs/build/html/api/core.node/-abstract-node/in-node-network-map-service.html new file mode 100644 index 0000000000..a241257d39 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/in-node-network-map-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.inNodeNetworkMapService - + + + +core.node / AbstractNode / inNodeNetworkMapService
+
+

inNodeNetworkMapService

+ +var inNodeNetworkMapService: NetworkMapService?
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/in-node-timestamping-service.html b/docs/build/html/api/core.node/-abstract-node/in-node-timestamping-service.html new file mode 100644 index 0000000000..717307dd29 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/in-node-timestamping-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.inNodeTimestampingService - + + + +core.node / AbstractNode / inNodeTimestampingService
+
+

inNodeTimestampingService

+ +var inNodeTimestampingService: NodeTimestamperService?
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/index.html b/docs/build/html/api/core.node/-abstract-node/index.html new file mode 100644 index 0000000000..aea8dbdb38 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/index.html @@ -0,0 +1,280 @@ + + +AbstractNode - + + + +core.node / AbstractNode
+
+

AbstractNode

+abstract class AbstractNode
+

A base node implementation that can be customised either for production (with real implementations that do real +I/O), or a mock implementation suitable for unit test environments.

+
+
+

Constructors

+ + + + + + + +
+<init> +AbstractNode(dir: Path, configuration: NodeConfiguration, initialNetworkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, platformClock: Clock)

A base node implementation that can be customised either for production (with real implementations that do real +I/O), or a mock implementation suitable for unit test environments.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+_servicesThatAcceptUploads +val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
+advertisedServices +val advertisedServices: Set<ServiceType>
+api +lateinit var api: APIServer
+configuration +val configuration: NodeConfiguration
+dir +val dir: Path
+identity +lateinit var identity: IdentityService
+inNodeNetworkMapService +var inNodeNetworkMapService: NetworkMapService?
+inNodeTimestampingService +var inNodeTimestampingService: NodeTimestamperService?
+info +val info: NodeInfo
+initialNetworkMapAddress +val initialNetworkMapAddress: NodeInfo?
+interestRatesService +lateinit var interestRatesService: Service
+keyManagement +lateinit var keyManagement: E2ETestKeyManagementService
+log +abstract val log: <ERROR CLASS>
+net +lateinit var net: MessagingService
+networkMapSeq +var networkMapSeq: Long

Sequence number of changes sent to the network map service, when registering/de-registering this node

+
+networkMapServiceCallTimeout +val networkMapServiceCallTimeout: Duration
+platformClock +val platformClock: Clock
+serverThread +abstract val serverThread: AffinityExecutor
+services +val services: ServiceHub
+servicesThatAcceptUploads +val servicesThatAcceptUploads: List<AcceptsFileUpload>
+smm +lateinit var smm: StateMachineManager
+storage +lateinit var storage: StorageService
+wallet +lateinit var wallet: WalletService
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+constructStorageService +open fun constructStorageService(attachments: NodeAttachmentService, keypair: KeyPair, identity: Party): StorageServiceImpl
+findMyLocation +open fun findMyLocation(): PhysicalLocation?
+initialiseStorageService +open fun initialiseStorageService(dir: Path): StorageService
+makeIdentityService +open fun makeIdentityService(): IdentityService
+makeInterestRatesOracleService +open fun makeInterestRatesOracleService(): Unit
+makeMessagingService +abstract fun makeMessagingService(): MessagingService
+makeNetworkMapService +open fun makeNetworkMapService(): Unit
+makeTimestampingService +open fun makeTimestampingService(): Unit
+start +open fun start(): AbstractNode
+startMessagingService +abstract fun startMessagingService(): Unit
+stop +open fun stop(): Unit
+

Companion Object Properties

+ + + + + + + + + + + +
+PRIVATE_KEY_FILE_NAME +val PRIVATE_KEY_FILE_NAME: String
+PUBLIC_IDENTITY_FILE_NAME +val PUBLIC_IDENTITY_FILE_NAME: String
+

Inheritors

+ + + + + + + + + + + +
+MockNode +class MockNode : AbstractNode
+Node +class Node : AbstractNode

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/info.html b/docs/build/html/api/core.node/-abstract-node/info.html new file mode 100644 index 0000000000..f05c53b167 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/info.html @@ -0,0 +1,15 @@ + + +AbstractNode.info - + + + +core.node / AbstractNode / info
+
+

info

+ +val info: NodeInfo
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/initial-network-map-address.html b/docs/build/html/api/core.node/-abstract-node/initial-network-map-address.html new file mode 100644 index 0000000000..f94843b863 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/initial-network-map-address.html @@ -0,0 +1,15 @@ + + +AbstractNode.initialNetworkMapAddress - + + + +core.node / AbstractNode / initialNetworkMapAddress
+
+

initialNetworkMapAddress

+ +val initialNetworkMapAddress: NodeInfo?
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/initialise-storage-service.html b/docs/build/html/api/core.node/-abstract-node/initialise-storage-service.html new file mode 100644 index 0000000000..53eda34149 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/initialise-storage-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.initialiseStorageService - + + + +core.node / AbstractNode / initialiseStorageService
+
+

initialiseStorageService

+ +protected open fun initialiseStorageService(dir: Path): StorageService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/interest-rates-service.html b/docs/build/html/api/core.node/-abstract-node/interest-rates-service.html new file mode 100644 index 0000000000..09980c470f --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/interest-rates-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.interestRatesService - + + + +core.node / AbstractNode / interestRatesService
+
+

interestRatesService

+ +lateinit var interestRatesService: Service
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/key-management.html b/docs/build/html/api/core.node/-abstract-node/key-management.html new file mode 100644 index 0000000000..0875fce5cd --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/key-management.html @@ -0,0 +1,15 @@ + + +AbstractNode.keyManagement - + + + +core.node / AbstractNode / keyManagement
+
+

keyManagement

+ +lateinit var keyManagement: E2ETestKeyManagementService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/log.html b/docs/build/html/api/core.node/-abstract-node/log.html new file mode 100644 index 0000000000..dfda462656 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/log.html @@ -0,0 +1,15 @@ + + +AbstractNode.log - + + + +core.node / AbstractNode / log
+
+

log

+ +protected abstract val log: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/make-identity-service.html b/docs/build/html/api/core.node/-abstract-node/make-identity-service.html new file mode 100644 index 0000000000..dc6436503c --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/make-identity-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeIdentityService - + + + +core.node / AbstractNode / makeIdentityService
+
+

makeIdentityService

+ +protected open fun makeIdentityService(): IdentityService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/make-interest-rates-oracle-service.html b/docs/build/html/api/core.node/-abstract-node/make-interest-rates-oracle-service.html new file mode 100644 index 0000000000..116e02f95e --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/make-interest-rates-oracle-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeInterestRatesOracleService - + + + +core.node / AbstractNode / makeInterestRatesOracleService
+
+

makeInterestRatesOracleService

+ +protected open fun makeInterestRatesOracleService(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/make-messaging-service.html b/docs/build/html/api/core.node/-abstract-node/make-messaging-service.html new file mode 100644 index 0000000000..462ad95146 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/make-messaging-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeMessagingService - + + + +core.node / AbstractNode / makeMessagingService
+
+

makeMessagingService

+ +protected abstract fun makeMessagingService(): MessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/make-network-map-service.html b/docs/build/html/api/core.node/-abstract-node/make-network-map-service.html new file mode 100644 index 0000000000..53be475127 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/make-network-map-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeNetworkMapService - + + + +core.node / AbstractNode / makeNetworkMapService
+
+

makeNetworkMapService

+ +protected open fun makeNetworkMapService(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/make-timestamping-service.html b/docs/build/html/api/core.node/-abstract-node/make-timestamping-service.html new file mode 100644 index 0000000000..9653e98668 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/make-timestamping-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.makeTimestampingService - + + + +core.node / AbstractNode / makeTimestampingService
+
+

makeTimestampingService

+ +protected open fun makeTimestampingService(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/net.html b/docs/build/html/api/core.node/-abstract-node/net.html new file mode 100644 index 0000000000..1a16b40ba0 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/net.html @@ -0,0 +1,15 @@ + + +AbstractNode.net - + + + +core.node / AbstractNode / net
+
+

net

+ +lateinit var net: MessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/network-map-seq.html b/docs/build/html/api/core.node/-abstract-node/network-map-seq.html new file mode 100644 index 0000000000..2a5ffc3f39 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/network-map-seq.html @@ -0,0 +1,16 @@ + + +AbstractNode.networkMapSeq - + + + +core.node / AbstractNode / networkMapSeq
+
+

networkMapSeq

+ +var networkMapSeq: Long
+

Sequence number of changes sent to the network map service, when registering/de-registering this node

+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/network-map-service-call-timeout.html b/docs/build/html/api/core.node/-abstract-node/network-map-service-call-timeout.html new file mode 100644 index 0000000000..2d03f73cb2 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/network-map-service-call-timeout.html @@ -0,0 +1,15 @@ + + +AbstractNode.networkMapServiceCallTimeout - + + + +core.node / AbstractNode / networkMapServiceCallTimeout
+
+

networkMapServiceCallTimeout

+ +val networkMapServiceCallTimeout: Duration
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/platform-clock.html b/docs/build/html/api/core.node/-abstract-node/platform-clock.html new file mode 100644 index 0000000000..23f139cd96 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/platform-clock.html @@ -0,0 +1,15 @@ + + +AbstractNode.platformClock - + + + +core.node / AbstractNode / platformClock
+
+

platformClock

+ +val platformClock: Clock
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/server-thread.html b/docs/build/html/api/core.node/-abstract-node/server-thread.html new file mode 100644 index 0000000000..2741771fe9 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/server-thread.html @@ -0,0 +1,15 @@ + + +AbstractNode.serverThread - + + + +core.node / AbstractNode / serverThread
+
+

serverThread

+ +protected abstract val serverThread: AffinityExecutor
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/services-that-accept-uploads.html b/docs/build/html/api/core.node/-abstract-node/services-that-accept-uploads.html new file mode 100644 index 0000000000..8de63aff7f --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/services-that-accept-uploads.html @@ -0,0 +1,15 @@ + + +AbstractNode.servicesThatAcceptUploads - + + + +core.node / AbstractNode / servicesThatAcceptUploads
+
+

servicesThatAcceptUploads

+ +val servicesThatAcceptUploads: List<AcceptsFileUpload>
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/services.html b/docs/build/html/api/core.node/-abstract-node/services.html new file mode 100644 index 0000000000..941bf394c0 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/services.html @@ -0,0 +1,15 @@ + + +AbstractNode.services - + + + +core.node / AbstractNode / services
+
+

services

+ +val services: ServiceHub
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/smm.html b/docs/build/html/api/core.node/-abstract-node/smm.html new file mode 100644 index 0000000000..e0b11eeb35 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/smm.html @@ -0,0 +1,15 @@ + + +AbstractNode.smm - + + + +core.node / AbstractNode / smm
+
+

smm

+ +lateinit var smm: StateMachineManager
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/start-messaging-service.html b/docs/build/html/api/core.node/-abstract-node/start-messaging-service.html new file mode 100644 index 0000000000..7060446768 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/start-messaging-service.html @@ -0,0 +1,15 @@ + + +AbstractNode.startMessagingService - + + + +core.node / AbstractNode / startMessagingService
+
+

startMessagingService

+ +protected abstract fun startMessagingService(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/start.html b/docs/build/html/api/core.node/-abstract-node/start.html new file mode 100644 index 0000000000..55ab8d4bf2 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/start.html @@ -0,0 +1,15 @@ + + +AbstractNode.start - + + + +core.node / AbstractNode / start
+
+

start

+ +open fun start(): AbstractNode
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/stop.html b/docs/build/html/api/core.node/-abstract-node/stop.html new file mode 100644 index 0000000000..56c931528c --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/stop.html @@ -0,0 +1,15 @@ + + +AbstractNode.stop - + + + +core.node / AbstractNode / stop
+
+

stop

+ +open fun stop(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/storage.html b/docs/build/html/api/core.node/-abstract-node/storage.html new file mode 100644 index 0000000000..317ee5f183 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/storage.html @@ -0,0 +1,15 @@ + + +AbstractNode.storage - + + + +core.node / AbstractNode / storage
+
+

storage

+ +lateinit var storage: StorageService
+
+
+ + diff --git a/docs/build/html/api/core.node/-abstract-node/wallet.html b/docs/build/html/api/core.node/-abstract-node/wallet.html new file mode 100644 index 0000000000..ec058966f0 --- /dev/null +++ b/docs/build/html/api/core.node/-abstract-node/wallet.html @@ -0,0 +1,15 @@ + + +AbstractNode.wallet - + + + +core.node / AbstractNode / wallet
+
+

wallet

+ +lateinit var wallet: WalletService
+
+
+ + diff --git a/docs/build/html/api/core.node/-accepts-file-upload/acceptable-file-extensions.html b/docs/build/html/api/core.node/-accepts-file-upload/acceptable-file-extensions.html new file mode 100644 index 0000000000..baa94957fe --- /dev/null +++ b/docs/build/html/api/core.node/-accepts-file-upload/acceptable-file-extensions.html @@ -0,0 +1,16 @@ + + +AcceptsFileUpload.acceptableFileExtensions - + + + +core.node / AcceptsFileUpload / acceptableFileExtensions
+
+

acceptableFileExtensions

+ +abstract val acceptableFileExtensions: List<String>
+

What file extensions are acceptable for the file to be handed to upload()

+
+
+ + diff --git a/docs/build/html/api/core.node/-accepts-file-upload/data-type-prefix.html b/docs/build/html/api/core.node/-accepts-file-upload/data-type-prefix.html new file mode 100644 index 0000000000..aafb037fd7 --- /dev/null +++ b/docs/build/html/api/core.node/-accepts-file-upload/data-type-prefix.html @@ -0,0 +1,16 @@ + + +AcceptsFileUpload.dataTypePrefix - + + + +core.node / AcceptsFileUpload / dataTypePrefix
+
+

dataTypePrefix

+ +abstract val dataTypePrefix: String
+

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+
+ + diff --git a/docs/build/html/api/core.node/-accepts-file-upload/index.html b/docs/build/html/api/core.node/-accepts-file-upload/index.html new file mode 100644 index 0000000000..9a435410cf --- /dev/null +++ b/docs/build/html/api/core.node/-accepts-file-upload/index.html @@ -0,0 +1,69 @@ + + +AcceptsFileUpload - + + + +core.node / AcceptsFileUpload
+
+

AcceptsFileUpload

+interface AcceptsFileUpload
+

A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.

+

TODO: In future, also accept uploads over the MQ interface too.

+
+
+
+
+

Properties

+ + + + + + + + + + + +
+acceptableFileExtensions +abstract val acceptableFileExtensions: List<String>

What file extensions are acceptable for the file to be handed to upload()

+
+dataTypePrefix +abstract val dataTypePrefix: String

A string that prefixes the URLs, e.g. "attachments" or "interest-rates". Should be OK for URLs.

+
+

Functions

+ + + + + + + +
+upload +abstract fun upload(data: InputStream): String

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+

Inheritors

+ + + + + + + + + + + +
+NodeAttachmentService +class NodeAttachmentService : AttachmentStorage, AcceptsFileUpload

Stores attachments in the specified local directory, which must exist. Doesnt allow new attachments to be uploaded.

+
+Service +class Service : AcceptsFileUpload, AbstractNodeService

The Service that wraps Oracle and handles messages/network interaction/request scrubbing.

+
+ + diff --git a/docs/build/html/api/core.node/-accepts-file-upload/upload.html b/docs/build/html/api/core.node/-accepts-file-upload/upload.html new file mode 100644 index 0000000000..f776240a65 --- /dev/null +++ b/docs/build/html/api/core.node/-accepts-file-upload/upload.html @@ -0,0 +1,17 @@ + + +AcceptsFileUpload.upload - + + + +core.node / AcceptsFileUpload / upload
+
+

upload

+ +abstract fun upload(data: InputStream): String
+

Accepts the data in the given input stream, and returns some sort of useful return message that will be sent +back to the user in the response.

+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/-init-.html b/docs/build/html/api/core.node/-attachments-class-loader/-init-.html new file mode 100644 index 0000000000..47bfe46fdd --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/-init-.html @@ -0,0 +1,18 @@ + + +AttachmentsClassLoader.<init> - + + + +core.node / AttachmentsClassLoader / <init>
+
+

<init>

+AttachmentsClassLoader(attachments: List<Attachment>, parent: ClassLoader = ClassLoader.getSystemClassLoader())
+

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only +need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an +AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping +file paths.

+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/-init-.html b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/-init-.html new file mode 100644 index 0000000000..1bd32ed3d1 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/-init-.html @@ -0,0 +1,14 @@ + + +AttachmentsClassLoader.OverlappingAttachments.<init> - + + + +core.node / AttachmentsClassLoader / OverlappingAttachments / <init>
+
+

<init>

+OverlappingAttachments(path: String)
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/index.html b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/index.html new file mode 100644 index 0000000000..7c27edbc78 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/index.html @@ -0,0 +1,47 @@ + + +AttachmentsClassLoader.OverlappingAttachments - + + + +core.node / AttachmentsClassLoader / OverlappingAttachments
+
+

OverlappingAttachments

+class OverlappingAttachments : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +OverlappingAttachments(path: String)
+

Properties

+ + + + + + + +
+path +val path: String
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/path.html b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/path.html new file mode 100644 index 0000000000..7836b11263 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/path.html @@ -0,0 +1,15 @@ + + +AttachmentsClassLoader.OverlappingAttachments.path - + + + +core.node / AttachmentsClassLoader / OverlappingAttachments / path
+
+

path

+ +val path: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/to-string.html b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/to-string.html new file mode 100644 index 0000000000..6a2ae609c9 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/-overlapping-attachments/to-string.html @@ -0,0 +1,15 @@ + + +AttachmentsClassLoader.OverlappingAttachments.toString - + + + +core.node / AttachmentsClassLoader / OverlappingAttachments / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/find-class.html b/docs/build/html/api/core.node/-attachments-class-loader/find-class.html new file mode 100644 index 0000000000..3d2f326469 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/find-class.html @@ -0,0 +1,15 @@ + + +AttachmentsClassLoader.findClass - + + + +core.node / AttachmentsClassLoader / findClass
+
+

findClass

+ +protected fun findClass(name: String): Class<*>
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/find-resource.html b/docs/build/html/api/core.node/-attachments-class-loader/find-resource.html new file mode 100644 index 0000000000..f271e760ae --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/find-resource.html @@ -0,0 +1,15 @@ + + +AttachmentsClassLoader.findResource - + + + +core.node / AttachmentsClassLoader / findResource
+
+

findResource

+ +protected fun findResource(name: String): URL?
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/get-resource-as-stream.html b/docs/build/html/api/core.node/-attachments-class-loader/get-resource-as-stream.html new file mode 100644 index 0000000000..aaafe50a22 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/get-resource-as-stream.html @@ -0,0 +1,15 @@ + + +AttachmentsClassLoader.getResourceAsStream - + + + +core.node / AttachmentsClassLoader / getResourceAsStream
+
+

getResourceAsStream

+ +fun getResourceAsStream(name: String): InputStream?
+
+
+ + diff --git a/docs/build/html/api/core.node/-attachments-class-loader/index.html b/docs/build/html/api/core.node/-attachments-class-loader/index.html new file mode 100644 index 0000000000..cd99a4e3d2 --- /dev/null +++ b/docs/build/html/api/core.node/-attachments-class-loader/index.html @@ -0,0 +1,67 @@ + + +AttachmentsClassLoader - + + + +core.node / AttachmentsClassLoader
+
+

AttachmentsClassLoader

+class AttachmentsClassLoader : SecureClassLoader
+

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only +need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an +AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping +file paths.

+
+
+

Exceptions

+ + + + + + + +
+OverlappingAttachments +class OverlappingAttachments : Exception
+

Constructors

+ + + + + + + +
+<init> +AttachmentsClassLoader(attachments: List<Attachment>, parent: ClassLoader = ClassLoader.getSystemClassLoader())

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only +need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an +AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping +file paths.

+
+

Functions

+ + + + + + + + + + + + + + + +
+findClass +fun findClass(name: String): Class<*>
+findResource +fun findResource(name: String): URL?
+getResourceAsStream +fun getResourceAsStream(name: String): InputStream?
+ + diff --git a/docs/build/html/api/core.node/-city-database/get.html b/docs/build/html/api/core.node/-city-database/get.html new file mode 100644 index 0000000000..4769d7592d --- /dev/null +++ b/docs/build/html/api/core.node/-city-database/get.html @@ -0,0 +1,15 @@ + + +CityDatabase.get - + + + +core.node / CityDatabase / get
+
+

get

+ +operator fun get(name: String): PhysicalLocation?
+
+
+ + diff --git a/docs/build/html/api/core.node/-city-database/index.html b/docs/build/html/api/core.node/-city-database/index.html new file mode 100644 index 0000000000..3caae10cab --- /dev/null +++ b/docs/build/html/api/core.node/-city-database/index.html @@ -0,0 +1,26 @@ + + +CityDatabase - + + + +core.node / CityDatabase
+
+

CityDatabase

+object CityDatabase
+

A simple lookup table of city names to their coordinates. Lookups are case insensitive.

+
+
+

Functions

+ + + + + + + +
+get +operator fun get(name: String): PhysicalLocation?
+ + diff --git a/docs/build/html/api/core.node/-configuration-exception/-init-.html b/docs/build/html/api/core.node/-configuration-exception/-init-.html new file mode 100644 index 0000000000..2462adf97e --- /dev/null +++ b/docs/build/html/api/core.node/-configuration-exception/-init-.html @@ -0,0 +1,14 @@ + + +ConfigurationException.<init> - + + + +core.node / ConfigurationException / <init>
+
+

<init>

+ConfigurationException(message: String)
+
+
+ + diff --git a/docs/build/html/api/core.node/-configuration-exception/index.html b/docs/build/html/api/core.node/-configuration-exception/index.html new file mode 100644 index 0000000000..da5f0659d3 --- /dev/null +++ b/docs/build/html/api/core.node/-configuration-exception/index.html @@ -0,0 +1,25 @@ + + +ConfigurationException - + + + +core.node / ConfigurationException
+
+

ConfigurationException

+class ConfigurationException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +ConfigurationException(message: String)
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/-init-.html b/docs/build/html/api/core.node/-node-configuration-from-config/-init-.html new file mode 100644 index 0000000000..0ce0342869 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/-init-.html @@ -0,0 +1,14 @@ + + +NodeConfigurationFromConfig.<init> - + + + +core.node / NodeConfigurationFromConfig / <init>
+
+

<init>

+NodeConfigurationFromConfig(config: <ERROR CLASS> = ConfigFactory.load())
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/config.html b/docs/build/html/api/core.node/-node-configuration-from-config/config.html new file mode 100644 index 0000000000..afef8e3ba8 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/config.html @@ -0,0 +1,15 @@ + + +NodeConfigurationFromConfig.config - + + + +core.node / NodeConfigurationFromConfig / config
+
+

config

+ +val config: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/export-j-m-xto.html b/docs/build/html/api/core.node/-node-configuration-from-config/export-j-m-xto.html new file mode 100644 index 0000000000..dbe0874cec --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/export-j-m-xto.html @@ -0,0 +1,16 @@ + + +NodeConfigurationFromConfig.exportJMXto - + + + +core.node / NodeConfigurationFromConfig / exportJMXto
+
+

exportJMXto

+ +val exportJMXto: String
+Overrides NodeConfiguration.exportJMXto
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/index.html b/docs/build/html/api/core.node/-node-configuration-from-config/index.html new file mode 100644 index 0000000000..f6e0e2afb8 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/index.html @@ -0,0 +1,54 @@ + + +NodeConfigurationFromConfig - + + + +core.node / NodeConfigurationFromConfig
+
+

NodeConfigurationFromConfig

+class NodeConfigurationFromConfig : NodeConfiguration
+
+
+

Constructors

+ + + + + + + +
+<init> +NodeConfigurationFromConfig(config: <ERROR CLASS> = ConfigFactory.load())
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+config +val config: <ERROR CLASS>
+exportJMXto +val exportJMXto: String
+myLegalName +val myLegalName: String
+nearestCity +val nearestCity: String
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/my-legal-name.html b/docs/build/html/api/core.node/-node-configuration-from-config/my-legal-name.html new file mode 100644 index 0000000000..7fb8dba49b --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/my-legal-name.html @@ -0,0 +1,16 @@ + + +NodeConfigurationFromConfig.myLegalName - + + + +core.node / NodeConfigurationFromConfig / myLegalName
+
+

myLegalName

+ +val myLegalName: String
+Overrides NodeConfiguration.myLegalName
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration-from-config/nearest-city.html b/docs/build/html/api/core.node/-node-configuration-from-config/nearest-city.html new file mode 100644 index 0000000000..a8c2f549c4 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration-from-config/nearest-city.html @@ -0,0 +1,16 @@ + + +NodeConfigurationFromConfig.nearestCity - + + + +core.node / NodeConfigurationFromConfig / nearestCity
+
+

nearestCity

+ +val nearestCity: String
+Overrides NodeConfiguration.nearestCity
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration/export-j-m-xto.html b/docs/build/html/api/core.node/-node-configuration/export-j-m-xto.html new file mode 100644 index 0000000000..9b40116068 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration/export-j-m-xto.html @@ -0,0 +1,15 @@ + + +NodeConfiguration.exportJMXto - + + + +core.node / NodeConfiguration / exportJMXto
+
+

exportJMXto

+ +abstract val exportJMXto: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration/index.html b/docs/build/html/api/core.node/-node-configuration/index.html new file mode 100644 index 0000000000..69dc3b06c6 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration/index.html @@ -0,0 +1,48 @@ + + +NodeConfiguration - + + + +core.node / NodeConfiguration
+
+

NodeConfiguration

+interface NodeConfiguration
+
+
+

Properties

+ + + + + + + + + + + + + + + +
+exportJMXto +abstract val exportJMXto: String
+myLegalName +abstract val myLegalName: String
+nearestCity +abstract val nearestCity: String
+

Inheritors

+ + + + + + + +
+NodeConfigurationFromConfig +class NodeConfigurationFromConfig : NodeConfiguration
+ + diff --git a/docs/build/html/api/core.node/-node-configuration/my-legal-name.html b/docs/build/html/api/core.node/-node-configuration/my-legal-name.html new file mode 100644 index 0000000000..3c22314914 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration/my-legal-name.html @@ -0,0 +1,15 @@ + + +NodeConfiguration.myLegalName - + + + +core.node / NodeConfiguration / myLegalName
+
+

myLegalName

+ +abstract val myLegalName: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-configuration/nearest-city.html b/docs/build/html/api/core.node/-node-configuration/nearest-city.html new file mode 100644 index 0000000000..1f56299094 --- /dev/null +++ b/docs/build/html/api/core.node/-node-configuration/nearest-city.html @@ -0,0 +1,15 @@ + + +NodeConfiguration.nearestCity - + + + +core.node / NodeConfiguration / nearestCity
+
+

nearestCity

+ +abstract val nearestCity: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-info/-init-.html b/docs/build/html/api/core.node/-node-info/-init-.html new file mode 100644 index 0000000000..4bad4bc915 --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/-init-.html @@ -0,0 +1,15 @@ + + +NodeInfo.<init> - + + + +core.node / NodeInfo / <init>
+
+

<init>

+NodeInfo(address: SingleMessageRecipient, identity: Party, advertisedServices: Set<ServiceType> = emptySet(), physicalLocation: PhysicalLocation? = null)
+

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

+
+
+ + diff --git a/docs/build/html/api/core.node/-node-info/address.html b/docs/build/html/api/core.node/-node-info/address.html new file mode 100644 index 0000000000..939e39109e --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/address.html @@ -0,0 +1,15 @@ + + +NodeInfo.address - + + + +core.node / NodeInfo / address
+
+

address

+ +val address: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-info/advertised-services.html b/docs/build/html/api/core.node/-node-info/advertised-services.html new file mode 100644 index 0000000000..7a1fb2462b --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/advertised-services.html @@ -0,0 +1,15 @@ + + +NodeInfo.advertisedServices - + + + +core.node / NodeInfo / advertisedServices
+
+

advertisedServices

+ +var advertisedServices: Set<ServiceType>
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-info/identity.html b/docs/build/html/api/core.node/-node-info/identity.html new file mode 100644 index 0000000000..68b135c307 --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/identity.html @@ -0,0 +1,15 @@ + + +NodeInfo.identity - + + + +core.node / NodeInfo / identity
+
+

identity

+ +val identity: Party
+
+
+ + diff --git a/docs/build/html/api/core.node/-node-info/index.html b/docs/build/html/api/core.node/-node-info/index.html new file mode 100644 index 0000000000..728e4aff3c --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/index.html @@ -0,0 +1,56 @@ + + +NodeInfo - + + + +core.node / NodeInfo
+
+

NodeInfo

+data class NodeInfo
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +NodeInfo(address: SingleMessageRecipient, identity: Party, advertisedServices: Set<ServiceType> = emptySet(), physicalLocation: PhysicalLocation? = null)

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

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+address +val address: SingleMessageRecipient
+advertisedServices +var advertisedServices: Set<ServiceType>
+identity +val identity: Party
+physicalLocation +val physicalLocation: PhysicalLocation?
+ + diff --git a/docs/build/html/api/core.node/-node-info/physical-location.html b/docs/build/html/api/core.node/-node-info/physical-location.html new file mode 100644 index 0000000000..59ced916a9 --- /dev/null +++ b/docs/build/html/api/core.node/-node-info/physical-location.html @@ -0,0 +1,15 @@ + + +NodeInfo.physicalLocation - + + + +core.node / NodeInfo / physicalLocation
+
+

physicalLocation

+ +val physicalLocation: PhysicalLocation?
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/-d-e-f-a-u-l-t_-p-o-r-t.html b/docs/build/html/api/core.node/-node/-d-e-f-a-u-l-t_-p-o-r-t.html new file mode 100644 index 0000000000..7c366d0e50 --- /dev/null +++ b/docs/build/html/api/core.node/-node/-d-e-f-a-u-l-t_-p-o-r-t.html @@ -0,0 +1,16 @@ + + +Node.DEFAULT_PORT - + + + +core.node / Node / DEFAULT_PORT
+
+

DEFAULT_PORT

+ +val DEFAULT_PORT: Int
+

The port that is used by default if none is specified. As you know, 31337 is the most elite number.

+
+
+ + diff --git a/docs/build/html/api/core.node/-node/-init-.html b/docs/build/html/api/core.node/-node/-init-.html new file mode 100644 index 0000000000..9984c17773 --- /dev/null +++ b/docs/build/html/api/core.node/-node/-init-.html @@ -0,0 +1,37 @@ + + +Node.<init> - + + + +core.node / Node / <init>
+
+

<init>

+Node(dir: Path, p2pAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = Clock.systemUTC())
+

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+

Parameters

+ +dir - A Path to a location on disk where working files can be found or stored.
+
+ +p2pAddr - The host and port that this server will use. It cant find out its own external hostname, so you +have to specify that yourself.
+
+ +configuration - This is typically loaded from a .properties file
+
+ +networkMapAddress - An external network map service to use. Should only ever be null when creating the first +network map service, while bootstrapping a network.
+
+ +advertisedServices - The services this node advertises. This must be a subset of the services it runs, +but nodes are not required to advertise services they run (hence subset).
+
+ +clock - The clock used within the node and by all protocols etc
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/index.html b/docs/build/html/api/core.node/-node/index.html new file mode 100644 index 0000000000..beb17c6a6f --- /dev/null +++ b/docs/build/html/api/core.node/-node/index.html @@ -0,0 +1,299 @@ + + +Node - + + + +core.node / Node
+
+

Node

+class Node : AbstractNode
+

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+

Parameters

+ +dir - A Path to a location on disk where working files can be found or stored.
+
+ +p2pAddr - The host and port that this server will use. It cant find out its own external hostname, so you +have to specify that yourself.
+
+ +configuration - This is typically loaded from a .properties file
+
+ +networkMapAddress - An external network map service to use. Should only ever be null when creating the first +network map service, while bootstrapping a network.
+
+ +advertisedServices - The services this node advertises. This must be a subset of the services it runs, +but nodes are not required to advertise services they run (hence subset).
+
+ +clock - The clock used within the node and by all protocols etc
+
+
+

Constructors

+ + + + + + + +
+<init> +Node(dir: Path, p2pAddr: <ERROR CLASS>, configuration: NodeConfiguration, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, clock: Clock = Clock.systemUTC())

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+log +val log: <ERROR CLASS>
+p2pAddr +val p2pAddr: <ERROR CLASS>
+serverThread +val serverThread: ServiceAffinityExecutor
+webServer +lateinit var webServer: <ERROR CLASS>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+_servicesThatAcceptUploads +val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
+advertisedServices +val advertisedServices: Set<ServiceType>
+api +lateinit var api: APIServer
+configuration +val configuration: NodeConfiguration
+dir +val dir: Path
+identity +lateinit var identity: IdentityService
+inNodeNetworkMapService +var inNodeNetworkMapService: NetworkMapService?
+inNodeTimestampingService +var inNodeTimestampingService: NodeTimestamperService?
+info +val info: NodeInfo
+initialNetworkMapAddress +val initialNetworkMapAddress: NodeInfo?
+interestRatesService +lateinit var interestRatesService: Service
+keyManagement +lateinit var keyManagement: E2ETestKeyManagementService
+net +lateinit var net: MessagingService
+networkMapSeq +var networkMapSeq: Long

Sequence number of changes sent to the network map service, when registering/de-registering this node

+
+networkMapServiceCallTimeout +val networkMapServiceCallTimeout: Duration
+platformClock +val platformClock: Clock
+services +val services: ServiceHub
+servicesThatAcceptUploads +val servicesThatAcceptUploads: List<AcceptsFileUpload>
+smm +lateinit var smm: StateMachineManager
+storage +lateinit var storage: StorageService
+wallet +lateinit var wallet: WalletService
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+makeMessagingService +fun makeMessagingService(): MessagingService
+start +fun start(): Node
+startMessagingService +fun startMessagingService(): Unit
+stop +fun stop(): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+constructStorageService +open fun constructStorageService(attachments: NodeAttachmentService, keypair: KeyPair, identity: Party): StorageServiceImpl
+findMyLocation +open fun findMyLocation(): PhysicalLocation?
+initialiseStorageService +open fun initialiseStorageService(dir: Path): StorageService
+makeIdentityService +open fun makeIdentityService(): IdentityService
+makeInterestRatesOracleService +open fun makeInterestRatesOracleService(): Unit
+makeNetworkMapService +open fun makeNetworkMapService(): Unit
+makeTimestampingService +open fun makeTimestampingService(): Unit
+

Companion Object Properties

+ + + + + + + +
+DEFAULT_PORT +val DEFAULT_PORT: Int

The port that is used by default if none is specified. As you know, 31337 is the most elite number.

+
+ + diff --git a/docs/build/html/api/core.node/-node/log.html b/docs/build/html/api/core.node/-node/log.html new file mode 100644 index 0000000000..f1c28c0a26 --- /dev/null +++ b/docs/build/html/api/core.node/-node/log.html @@ -0,0 +1,16 @@ + + +Node.log - + + + +core.node / Node / log
+
+

log

+ +protected val log: <ERROR CLASS>
+Overrides AbstractNode.log
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/make-messaging-service.html b/docs/build/html/api/core.node/-node/make-messaging-service.html new file mode 100644 index 0000000000..a63c87715f --- /dev/null +++ b/docs/build/html/api/core.node/-node/make-messaging-service.html @@ -0,0 +1,16 @@ + + +Node.makeMessagingService - + + + +core.node / Node / makeMessagingService
+
+

makeMessagingService

+ +protected fun makeMessagingService(): MessagingService
+Overrides AbstractNode.makeMessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/p2p-addr.html b/docs/build/html/api/core.node/-node/p2p-addr.html new file mode 100644 index 0000000000..5eb2fd3213 --- /dev/null +++ b/docs/build/html/api/core.node/-node/p2p-addr.html @@ -0,0 +1,15 @@ + + +Node.p2pAddr - + + + +core.node / Node / p2pAddr
+
+

p2pAddr

+ +val p2pAddr: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/server-thread.html b/docs/build/html/api/core.node/-node/server-thread.html new file mode 100644 index 0000000000..fd896b070d --- /dev/null +++ b/docs/build/html/api/core.node/-node/server-thread.html @@ -0,0 +1,16 @@ + + +Node.serverThread - + + + +core.node / Node / serverThread
+
+

serverThread

+ +protected val serverThread: ServiceAffinityExecutor
+Overrides AbstractNode.serverThread
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/start-messaging-service.html b/docs/build/html/api/core.node/-node/start-messaging-service.html new file mode 100644 index 0000000000..5de4a813f2 --- /dev/null +++ b/docs/build/html/api/core.node/-node/start-messaging-service.html @@ -0,0 +1,16 @@ + + +Node.startMessagingService - + + + +core.node / Node / startMessagingService
+
+

startMessagingService

+ +protected fun startMessagingService(): Unit
+Overrides AbstractNode.startMessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/start.html b/docs/build/html/api/core.node/-node/start.html new file mode 100644 index 0000000000..f059695ccc --- /dev/null +++ b/docs/build/html/api/core.node/-node/start.html @@ -0,0 +1,16 @@ + + +Node.start - + + + +core.node / Node / start
+
+

start

+ +fun start(): Node
+Overrides AbstractNode.start
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/stop.html b/docs/build/html/api/core.node/-node/stop.html new file mode 100644 index 0000000000..82a2e47b51 --- /dev/null +++ b/docs/build/html/api/core.node/-node/stop.html @@ -0,0 +1,16 @@ + + +Node.stop - + + + +core.node / Node / stop
+
+

stop

+ +fun stop(): Unit
+Overrides AbstractNode.stop
+
+
+ + diff --git a/docs/build/html/api/core.node/-node/web-server.html b/docs/build/html/api/core.node/-node/web-server.html new file mode 100644 index 0000000000..e108a48ebe --- /dev/null +++ b/docs/build/html/api/core.node/-node/web-server.html @@ -0,0 +1,15 @@ + + +Node.webServer - + + + +core.node / Node / webServer
+
+

webServer

+ +lateinit var webServer: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/-physical-location/-init-.html b/docs/build/html/api/core.node/-physical-location/-init-.html new file mode 100644 index 0000000000..cc8f036274 --- /dev/null +++ b/docs/build/html/api/core.node/-physical-location/-init-.html @@ -0,0 +1,16 @@ + + +PhysicalLocation.<init> - + + + +core.node / PhysicalLocation / <init>
+
+

<init>

+PhysicalLocation(coordinate: WorldCoordinate, description: String)
+

A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. +Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.

+
+
+ + diff --git a/docs/build/html/api/core.node/-physical-location/coordinate.html b/docs/build/html/api/core.node/-physical-location/coordinate.html new file mode 100644 index 0000000000..f332764c26 --- /dev/null +++ b/docs/build/html/api/core.node/-physical-location/coordinate.html @@ -0,0 +1,15 @@ + + +PhysicalLocation.coordinate - + + + +core.node / PhysicalLocation / coordinate
+
+

coordinate

+ +val coordinate: WorldCoordinate
+
+
+ + diff --git a/docs/build/html/api/core.node/-physical-location/description.html b/docs/build/html/api/core.node/-physical-location/description.html new file mode 100644 index 0000000000..d098b0bce6 --- /dev/null +++ b/docs/build/html/api/core.node/-physical-location/description.html @@ -0,0 +1,15 @@ + + +PhysicalLocation.description - + + + +core.node / PhysicalLocation / description
+
+

description

+ +val description: String
+
+
+ + diff --git a/docs/build/html/api/core.node/-physical-location/index.html b/docs/build/html/api/core.node/-physical-location/index.html new file mode 100644 index 0000000000..2255e37fc8 --- /dev/null +++ b/docs/build/html/api/core.node/-physical-location/index.html @@ -0,0 +1,46 @@ + + +PhysicalLocation - + + + +core.node / PhysicalLocation
+
+

PhysicalLocation

+data class PhysicalLocation
+

A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. +Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.

+
+
+

Constructors

+ + + + + + + +
+<init> +PhysicalLocation(coordinate: WorldCoordinate, description: String)

A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. +Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.

+
+

Properties

+ + + + + + + + + + + +
+coordinate +val coordinate: WorldCoordinate
+description +val description: String
+ + diff --git a/docs/build/html/api/core.node/-service-hub/clock.html b/docs/build/html/api/core.node/-service-hub/clock.html new file mode 100644 index 0000000000..b3d0ed1bcc --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/clock.html @@ -0,0 +1,15 @@ + + +ServiceHub.clock - + + + +core.node / ServiceHub / clock
+
+

clock

+ +abstract val clock: Clock
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/identity-service.html b/docs/build/html/api/core.node/-service-hub/identity-service.html new file mode 100644 index 0000000000..41bf89500f --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/identity-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.identityService - + + + +core.node / ServiceHub / identityService
+
+

identityService

+ +abstract val identityService: IdentityService
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/index.html b/docs/build/html/api/core.node/-service-hub/index.html new file mode 100644 index 0000000000..e30d19fce6 --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/index.html @@ -0,0 +1,92 @@ + + +ServiceHub - + + + +core.node / ServiceHub
+
+

ServiceHub

+interface ServiceHub
+

A service hub simply vends references to the other services a node has. Some of those services may be missing or +mocked out. This class is useful to pass to chunks of pluggable code that might have need of many different kinds of +functionality and you dont want to hard-code which types in the interface.

+
+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+clock +abstract val clock: Clock
+identityService +abstract val identityService: IdentityService
+keyManagementService +abstract val keyManagementService: KeyManagementService
+monitoringService +abstract val monitoringService: MonitoringService
+networkMapCache +abstract val networkMapCache: NetworkMapCache
+networkService +abstract val networkService: MessagingService
+storageService +abstract val storageService: StorageService
+walletService +abstract val walletService: WalletService
+

Functions

+ + + + + + + + + + + +
+recordTransactions +open fun recordTransactions(txs: List<SignedTransaction>, skipRecordingMap: Boolean = false): Unit

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

+
+verifyTransaction +open fun verifyTransaction(ltx: LedgerTransaction): Unit

Given a LedgerTransaction, looks up all its dependencies in the local database, uses the identity service to map +the SignedTransactions the DB gives back into LedgerTransactions, and then runs the smart contracts for the +transaction. If no exception is thrown, the transaction is valid.

+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/key-management-service.html b/docs/build/html/api/core.node/-service-hub/key-management-service.html new file mode 100644 index 0000000000..32eb8364e8 --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/key-management-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.keyManagementService - + + + +core.node / ServiceHub / keyManagementService
+
+

keyManagementService

+ +abstract val keyManagementService: KeyManagementService
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/monitoring-service.html b/docs/build/html/api/core.node/-service-hub/monitoring-service.html new file mode 100644 index 0000000000..d21af0dbae --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/monitoring-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.monitoringService - + + + +core.node / ServiceHub / monitoringService
+
+

monitoringService

+ +abstract val monitoringService: MonitoringService
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/network-map-cache.html b/docs/build/html/api/core.node/-service-hub/network-map-cache.html new file mode 100644 index 0000000000..0298458455 --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/network-map-cache.html @@ -0,0 +1,15 @@ + + +ServiceHub.networkMapCache - + + + +core.node / ServiceHub / networkMapCache
+
+

networkMapCache

+ +abstract val networkMapCache: NetworkMapCache
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/network-service.html b/docs/build/html/api/core.node/-service-hub/network-service.html new file mode 100644 index 0000000000..96a9e9327f --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/network-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.networkService - + + + +core.node / ServiceHub / networkService
+
+

networkService

+ +abstract val networkService: MessagingService
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/record-transactions.html b/docs/build/html/api/core.node/-service-hub/record-transactions.html new file mode 100644 index 0000000000..2b7f5c3e8c --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/record-transactions.html @@ -0,0 +1,27 @@ + + +ServiceHub.recordTransactions - + + + +core.node / ServiceHub / recordTransactions
+
+

recordTransactions

+ +open fun recordTransactions(txs: List<SignedTransaction>, skipRecordingMap: Boolean = false): Unit
+

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

+

TODO: Need to come up with a way for preventing transactions being written other than by this method. +TODO: RecordingMap is test infrastructure. Refactor it away or find a way to ensure its only used in tests.

+
+
+

Parameters

+ +txs - The transactions to record
+
+ +skipRecordingMap - This is used in unit testing and can be ignored most of the time.
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/storage-service.html b/docs/build/html/api/core.node/-service-hub/storage-service.html new file mode 100644 index 0000000000..34d3006d1a --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/storage-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.storageService - + + + +core.node / ServiceHub / storageService
+
+

storageService

+ +abstract val storageService: StorageService
+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/verify-transaction.html b/docs/build/html/api/core.node/-service-hub/verify-transaction.html new file mode 100644 index 0000000000..fb20112548 --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/verify-transaction.html @@ -0,0 +1,18 @@ + + +ServiceHub.verifyTransaction - + + + +core.node / ServiceHub / verifyTransaction
+
+

verifyTransaction

+ +open fun verifyTransaction(ltx: LedgerTransaction): Unit
+

Given a LedgerTransaction, looks up all its dependencies in the local database, uses the identity service to map +the SignedTransactions the DB gives back into LedgerTransactions, and then runs the smart contracts for the +transaction. If no exception is thrown, the transaction is valid.

+
+
+ + diff --git a/docs/build/html/api/core.node/-service-hub/wallet-service.html b/docs/build/html/api/core.node/-service-hub/wallet-service.html new file mode 100644 index 0000000000..e309f81f34 --- /dev/null +++ b/docs/build/html/api/core.node/-service-hub/wallet-service.html @@ -0,0 +1,15 @@ + + +ServiceHub.walletService - + + + +core.node / ServiceHub / walletService
+
+

walletService

+ +abstract val walletService: WalletService
+
+
+ + diff --git a/docs/build/html/api/core.node/-world-coordinate/-init-.html b/docs/build/html/api/core.node/-world-coordinate/-init-.html new file mode 100644 index 0000000000..7c4b83403a --- /dev/null +++ b/docs/build/html/api/core.node/-world-coordinate/-init-.html @@ -0,0 +1,15 @@ + + +WorldCoordinate.<init> - + + + +core.node / WorldCoordinate / <init>
+
+

<init>

+WorldCoordinate(latitude: Double, longitude: Double)
+

A latitude/longitude pair.

+
+
+ + diff --git a/docs/build/html/api/core.node/-world-coordinate/index.html b/docs/build/html/api/core.node/-world-coordinate/index.html new file mode 100644 index 0000000000..8f363b0614 --- /dev/null +++ b/docs/build/html/api/core.node/-world-coordinate/index.html @@ -0,0 +1,57 @@ + + +WorldCoordinate - + + + +core.node / WorldCoordinate
+
+

WorldCoordinate

+data class WorldCoordinate
+

A latitude/longitude pair.

+
+
+

Constructors

+ + + + + + + +
+<init> +WorldCoordinate(latitude: Double, longitude: Double)

A latitude/longitude pair.

+
+

Properties

+ + + + + + + + + + + +
+latitude +val latitude: Double
+longitude +val longitude: Double
+

Functions

+ + + + + + + +
+project +fun project(screenWidth: Double, screenHeight: Double, topLatitude: Double, bottomLatitude: Double, leftLongitude: Double, rightLongitude: Double): <ERROR CLASS><Double, Double>

Convert to screen coordinates using the Mercator projection. You should have a world map image that +you know the precise extents of for this function to work.

+
+ + diff --git a/docs/build/html/api/core.node/-world-coordinate/latitude.html b/docs/build/html/api/core.node/-world-coordinate/latitude.html new file mode 100644 index 0000000000..701da8bb09 --- /dev/null +++ b/docs/build/html/api/core.node/-world-coordinate/latitude.html @@ -0,0 +1,15 @@ + + +WorldCoordinate.latitude - + + + +core.node / WorldCoordinate / latitude
+
+

latitude

+ +val latitude: Double
+
+
+ + diff --git a/docs/build/html/api/core.node/-world-coordinate/longitude.html b/docs/build/html/api/core.node/-world-coordinate/longitude.html new file mode 100644 index 0000000000..edbdbbb88e --- /dev/null +++ b/docs/build/html/api/core.node/-world-coordinate/longitude.html @@ -0,0 +1,15 @@ + + +WorldCoordinate.longitude - + + + +core.node / WorldCoordinate / longitude
+
+

longitude

+ +val longitude: Double
+
+
+ + diff --git a/docs/build/html/api/core.node/-world-coordinate/project.html b/docs/build/html/api/core.node/-world-coordinate/project.html new file mode 100644 index 0000000000..0b5e4357f8 --- /dev/null +++ b/docs/build/html/api/core.node/-world-coordinate/project.html @@ -0,0 +1,22 @@ + + +WorldCoordinate.project - + + + +core.node / WorldCoordinate / project
+
+

project

+ +fun project(screenWidth: Double, screenHeight: Double, topLatitude: Double, bottomLatitude: Double, leftLongitude: Double, rightLongitude: Double): <ERROR CLASS><Double, Double>
+

Convert to screen coordinates using the Mercator projection. You should have a world map image that +you know the precise extents of for this function to work.

+

Note that no world map ever has latitude extents of -90 to 90 because at these extremes the mapping tends +to infinity. Google Maps, for example, uses a square map image, and square maps yield latitude extents +of 85.0511 to -85.0511 = arctan(sinh(Ï€)).

+
+
+
+
+ + diff --git a/docs/build/html/api/core.node/get-value.html b/docs/build/html/api/core.node/get-value.html new file mode 100644 index 0000000000..f409e40ee4 --- /dev/null +++ b/docs/build/html/api/core.node/get-value.html @@ -0,0 +1,15 @@ + + +getValue - + + + +core.node / getValue
+
+

getValue

+ +operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.node/index.html b/docs/build/html/api/core.node/index.html new file mode 100644 index 0000000000..bc6bce267e --- /dev/null +++ b/docs/build/html/api/core.node/index.html @@ -0,0 +1,121 @@ + + +core.node - + + + +core.node
+
+

Package core.node

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AbstractNode +abstract class AbstractNode

A base node implementation that can be customised either for production (with real implementations that do real +I/O), or a mock implementation suitable for unit test environments.

+
+AcceptsFileUpload +interface AcceptsFileUpload

A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.

+
+AttachmentsClassLoader +class AttachmentsClassLoader : SecureClassLoader

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only +need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an +AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping +file paths.

+
+CityDatabase +object CityDatabase

A simple lookup table of city names to their coordinates. Lookups are case insensitive.

+
+Node +class Node : AbstractNode

A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, +loads important data off disk and starts listening for connections.

+
+NodeConfiguration +interface NodeConfiguration
+NodeConfigurationFromConfig +class NodeConfigurationFromConfig : NodeConfiguration
+NodeInfo +data class NodeInfo

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

+
+PhysicalLocation +data class PhysicalLocation

A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. +Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.

+
+ServiceHub +interface ServiceHub

A service hub simply vends references to the other services a node has. Some of those services may be missing or +mocked out. This class is useful to pass to chunks of pluggable code that might have need of many different kinds of +functionality and you dont want to hard-code which types in the interface.

+
+WorldCoordinate +data class WorldCoordinate

A latitude/longitude pair.

+
+

Exceptions

+ + + + + + + +
+ConfigurationException +class ConfigurationException : Exception
+

Functions

+ + + + + + + +
+getValue +operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/-init-.html b/docs/build/html/api/core.protocols/-protocol-logic/-init-.html new file mode 100644 index 0000000000..608006173b --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/-init-.html @@ -0,0 +1,28 @@ + + +ProtocolLogic.<init> - + + + +core.protocols / ProtocolLogic / <init>
+
+

<init>

+ProtocolLogic()
+

A sub-class of ProtocolLogic implements a protocol flow using direct, straight line blocking code. Thus you +can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after +a node crash, how many instances of your protocol there are running and so on.

+

Invoking the network will cause the call stack to be suspended onto the heap and then serialized to a database using +the Quasar fibers framework. Because of this, if you need access to data that might change over time, you should +request it just-in-time via the serviceHub property which is provided. Dont try and keep data you got from a +service across calls to send/receive/sendAndReceive because the world might change in arbitrary ways out from +underneath you, for instance, if the node is restarted or reconfigured

+

Additionally, be aware of what data you pin either via the stack or in your ProtocolLogic implementation. Very large +objects or datasets will hurt performance by increasing the amount of data stored in each checkpoint.

+

If youd like to use another ProtocolLogic class as a component of your own, construct it on the fly and then pass +it to the subProtocol method. It will return the result of that protocol when it completes.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/call.html b/docs/build/html/api/core.protocols/-protocol-logic/call.html new file mode 100644 index 0000000000..d57ececdc0 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/call.html @@ -0,0 +1,16 @@ + + +ProtocolLogic.call - + + + +core.protocols / ProtocolLogic / call
+
+

call

+ +abstract fun call(): T
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/index.html b/docs/build/html/api/core.protocols/-protocol-logic/index.html new file mode 100644 index 0000000000..5c8afe34c6 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/index.html @@ -0,0 +1,220 @@ + + +ProtocolLogic - + + + +core.protocols / ProtocolLogic
+
+

ProtocolLogic

+abstract class ProtocolLogic<T>
+

A sub-class of ProtocolLogic implements a protocol flow using direct, straight line blocking code. Thus you +can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after +a node crash, how many instances of your protocol there are running and so on.

+

Invoking the network will cause the call stack to be suspended onto the heap and then serialized to a database using +the Quasar fibers framework. Because of this, if you need access to data that might change over time, you should +request it just-in-time via the serviceHub property which is provided. Dont try and keep data you got from a +service across calls to send/receive/sendAndReceive because the world might change in arbitrary ways out from +underneath you, for instance, if the node is restarted or reconfigured

+

Additionally, be aware of what data you pin either via the stack or in your ProtocolLogic implementation. Very large +objects or datasets will hurt performance by increasing the amount of data stored in each checkpoint.

+

If youd like to use another ProtocolLogic class as a component of your own, construct it on the fly and then pass +it to the subProtocol method. It will return the result of that protocol when it completes.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolLogic()

A sub-class of ProtocolLogic implements a protocol flow using direct, straight line blocking code. Thus you +can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after +a node crash, how many instances of your protocol there are running and so on.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+progressTracker +open val progressTracker: ProgressTracker?

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+call +abstract fun call(): T

This is where you fill out your business logic.

+
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Broadcast +class Broadcast : ProtocolLogic<Boolean>

This takes a Java Integer rather than Kotlin Int as that is what we end up with in the calling map and currently +we do not support coercing numeric types in the reflective search for matching constructors

+
+Broadcast +class Broadcast : ProtocolLogic<Boolean>
+Buyer +class Buyer : ProtocolLogic<SignedTransaction>
+FetchDataProtocol +abstract class FetchDataProtocol<T : NamedByHash, W : Any> : ProtocolLogic<Result<T>>

An abstract protocol for fetching typed data from a remote peer.

+
+Primary +abstract class Primary<U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+
+RatesFixProtocol +open class RatesFixProtocol : ProtocolLogic<Unit>

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+
+Requester +class Requester<T> : ProtocolLogic<SignedTransaction>
+ResolveTransactionsProtocol +class ResolveTransactionsProtocol : ProtocolLogic<Unit>

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

+
+Secondary +abstract class Secondary<U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that is recipient of initial communication.

+
+Seller +class Seller : ProtocolLogic<SignedTransaction>
+TimestampingProtocol +class TimestampingProtocol : ProtocolLogic<LegallyIdentifiable>

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+
+TraderDemoProtocolBuyer +class TraderDemoProtocolBuyer : ProtocolLogic<Unit>
+TraderDemoProtocolSeller +class TraderDemoProtocolSeller : ProtocolLogic<Unit>
+Updater +class Updater : ProtocolLogic<Boolean>
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/logger.html b/docs/build/html/api/core.protocols/-protocol-logic/logger.html new file mode 100644 index 0000000000..1edfb304dd --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/logger.html @@ -0,0 +1,16 @@ + + +ProtocolLogic.logger - + + + +core.protocols / ProtocolLogic / logger
+
+

logger

+ +val logger: <ERROR CLASS>
+

This is where you should log things to.

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/progress-tracker.html b/docs/build/html/api/core.protocols/-protocol-logic/progress-tracker.html new file mode 100644 index 0000000000..61c1033178 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/progress-tracker.html @@ -0,0 +1,23 @@ + + +ProtocolLogic.progressTracker - + + + +core.protocols / ProtocolLogic / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker?
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/psm.html b/docs/build/html/api/core.protocols/-protocol-logic/psm.html new file mode 100644 index 0000000000..93cebeb618 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/psm.html @@ -0,0 +1,16 @@ + + +ProtocolLogic.psm - + + + +core.protocols / ProtocolLogic / psm
+
+

psm

+ +lateinit var psm: ProtocolStateMachine<*>
+

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/receive.html b/docs/build/html/api/core.protocols/-protocol-logic/receive.html new file mode 100644 index 0000000000..f56695b319 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/receive.html @@ -0,0 +1,17 @@ + + +ProtocolLogic.receive - + + + +core.protocols / ProtocolLogic / receive
+
+

receive

+ +inline fun <reified T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+ +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/send-and-receive.html b/docs/build/html/api/core.protocols/-protocol-logic/send-and-receive.html new file mode 100644 index 0000000000..6f6f8a309e --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/send-and-receive.html @@ -0,0 +1,15 @@ + + +ProtocolLogic.sendAndReceive - + + + +core.protocols / ProtocolLogic / sendAndReceive
+
+

sendAndReceive

+ +inline fun <reified T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/send.html b/docs/build/html/api/core.protocols/-protocol-logic/send.html new file mode 100644 index 0000000000..79003b4e87 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/send.html @@ -0,0 +1,15 @@ + + +ProtocolLogic.send - + + + +core.protocols / ProtocolLogic / send
+
+

send

+ +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/service-hub.html b/docs/build/html/api/core.protocols/-protocol-logic/service-hub.html new file mode 100644 index 0000000000..d77e9484dc --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/service-hub.html @@ -0,0 +1,16 @@ + + +ProtocolLogic.serviceHub - + + + +core.protocols / ProtocolLogic / serviceHub
+
+

serviceHub

+ +val serviceHub: ServiceHub
+

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-logic/sub-protocol.html b/docs/build/html/api/core.protocols/-protocol-logic/sub-protocol.html new file mode 100644 index 0000000000..19d404435f --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-logic/sub-protocol.html @@ -0,0 +1,17 @@ + + +ProtocolLogic.subProtocol - + + + +core.protocols / ProtocolLogic / subProtocol
+
+

subProtocol

+ +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R
+

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/-init-.html b/docs/build/html/api/core.protocols/-protocol-state-machine/-init-.html new file mode 100644 index 0000000000..c3b7aa6837 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/-init-.html @@ -0,0 +1,21 @@ + + +ProtocolStateMachine.<init> - + + + +core.protocols / ProtocolStateMachine / <init>
+
+

<init>

+ProtocolStateMachine(logic: ProtocolLogic<R>, scheduler: <ERROR CLASS>)
+

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

+

These classes are created by the StateMachineManager when a new protocol is started at the topmost level. If +a protocol invokes a sub-protocol, then it will pass along the PSM to the child. The call method of the topmost +logic element gets to return the value that the entire state machine resolves to.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/index.html b/docs/build/html/api/core.protocols/-protocol-state-machine/index.html new file mode 100644 index 0000000000..88082f7093 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/index.html @@ -0,0 +1,99 @@ + + +ProtocolStateMachine - + + + +core.protocols / ProtocolStateMachine
+
+

ProtocolStateMachine

+class ProtocolStateMachine<R>
+

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

+

These classes are created by the StateMachineManager when a new protocol is started at the topmost level. If +a protocol invokes a sub-protocol, then it will pass along the PSM to the child. The call method of the topmost +logic element gets to return the value that the entire state machine resolves to.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +ProtocolStateMachine(logic: ProtocolLogic<R>, scheduler: <ERROR CLASS>)

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

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +lateinit var logger: <ERROR CLASS>
+logic +val logic: ProtocolLogic<R>
+resultFuture +val resultFuture: <ERROR CLASS><R>

This future will complete when the call method returns.

+
+serviceHub +lateinit var serviceHub: ServiceHub
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+prepareForResumeWith +fun prepareForResumeWith(serviceHub: ServiceHub, withObject: Any?, logger: <ERROR CLASS>, suspendFunc: (FiberRequest, ByteArray) -> Unit): Unit
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, recvType: Class<T>): UntrustworthyData<T>
+run +fun run(): R
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any, recvType: Class<T>): UntrustworthyData<T>
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/logger.html b/docs/build/html/api/core.protocols/-protocol-state-machine/logger.html new file mode 100644 index 0000000000..ee52ad408f --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/logger.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.logger - + + + +core.protocols / ProtocolStateMachine / logger
+
+

logger

+ +lateinit var logger: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/logic.html b/docs/build/html/api/core.protocols/-protocol-state-machine/logic.html new file mode 100644 index 0000000000..48dc16d757 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/logic.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.logic - + + + +core.protocols / ProtocolStateMachine / logic
+
+

logic

+ +val logic: ProtocolLogic<R>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/prepare-for-resume-with.html b/docs/build/html/api/core.protocols/-protocol-state-machine/prepare-for-resume-with.html new file mode 100644 index 0000000000..314381a4e5 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/prepare-for-resume-with.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.prepareForResumeWith - + + + +core.protocols / ProtocolStateMachine / prepareForResumeWith
+
+

prepareForResumeWith

+ +fun prepareForResumeWith(serviceHub: ServiceHub, withObject: Any?, logger: <ERROR CLASS>, suspendFunc: (FiberRequest, ByteArray) -> Unit): Unit
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/receive.html b/docs/build/html/api/core.protocols/-protocol-state-machine/receive.html new file mode 100644 index 0000000000..bcc203a290 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/receive.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.receive - + + + +core.protocols / ProtocolStateMachine / receive
+
+

receive

+ +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, recvType: Class<T>): UntrustworthyData<T>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/result-future.html b/docs/build/html/api/core.protocols/-protocol-state-machine/result-future.html new file mode 100644 index 0000000000..6868b0c36f --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/result-future.html @@ -0,0 +1,16 @@ + + +ProtocolStateMachine.resultFuture - + + + +core.protocols / ProtocolStateMachine / resultFuture
+
+

resultFuture

+ +val resultFuture: <ERROR CLASS><R>
+

This future will complete when the call method returns.

+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/run.html b/docs/build/html/api/core.protocols/-protocol-state-machine/run.html new file mode 100644 index 0000000000..d348d2ab72 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/run.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.run - + + + +core.protocols / ProtocolStateMachine / run
+
+

run

+ +fun run(): R
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/send-and-receive.html b/docs/build/html/api/core.protocols/-protocol-state-machine/send-and-receive.html new file mode 100644 index 0000000000..a78e7f2d18 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/send-and-receive.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.sendAndReceive - + + + +core.protocols / ProtocolStateMachine / sendAndReceive
+
+

sendAndReceive

+ +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any, recvType: Class<T>): UntrustworthyData<T>
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/send.html b/docs/build/html/api/core.protocols/-protocol-state-machine/send.html new file mode 100644 index 0000000000..537477163c --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/send.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.send - + + + +core.protocols / ProtocolStateMachine / send
+
+

send

+ +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+
+
+ + diff --git a/docs/build/html/api/core.protocols/-protocol-state-machine/service-hub.html b/docs/build/html/api/core.protocols/-protocol-state-machine/service-hub.html new file mode 100644 index 0000000000..a457540053 --- /dev/null +++ b/docs/build/html/api/core.protocols/-protocol-state-machine/service-hub.html @@ -0,0 +1,15 @@ + + +ProtocolStateMachine.serviceHub - + + + +core.protocols / ProtocolStateMachine / serviceHub
+
+

serviceHub

+ +lateinit var serviceHub: ServiceHub
+
+
+ + diff --git a/docs/build/html/api/core.protocols/index.html b/docs/build/html/api/core.protocols/index.html new file mode 100644 index 0000000000..b1e35c12be --- /dev/null +++ b/docs/build/html/api/core.protocols/index.html @@ -0,0 +1,33 @@ + + +core.protocols - + + + +core.protocols
+
+

Package core.protocols

+

Types

+ + + + + + + + + + + +
+ProtocolLogic +abstract class ProtocolLogic<T>

A sub-class of ProtocolLogic implements a protocol flow using direct, straight line blocking code. Thus you +can write complex protocol logic in an ordinary fashion, without having to think about callbacks, restarting after +a node crash, how many instances of your protocol there are running and so on.

+
+ProtocolStateMachine +class ProtocolStateMachine<R>

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

+
+ + diff --git a/docs/build/html/api/core.serialization/-a-t-t-a-c-h-m-e-n-t_-s-t-o-r-a-g-e.html b/docs/build/html/api/core.serialization/-a-t-t-a-c-h-m-e-n-t_-s-t-o-r-a-g-e.html new file mode 100644 index 0000000000..2d928f20b3 --- /dev/null +++ b/docs/build/html/api/core.serialization/-a-t-t-a-c-h-m-e-n-t_-s-t-o-r-a-g-e.html @@ -0,0 +1,15 @@ + + +ATTACHMENT_STORAGE - + + + +core.serialization / ATTACHMENT_STORAGE
+
+

ATTACHMENT_STORAGE

+ +val ATTACHMENT_STORAGE: String
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/-init-.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/-init-.html new file mode 100644 index 0000000000..2e64a45bb0 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/-init-.html @@ -0,0 +1,16 @@ + + +ImmutableClassSerializer.<init> - + + + +core.serialization / ImmutableClassSerializer / <init>
+
+

<init>

+ImmutableClassSerializer(klass: KClass<T>)
+

Serializes properties and deserializes by using the constructor. This assumes that all backed properties are +set via the constructor and the class is immutable.

+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/constructor.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/constructor.html new file mode 100644 index 0000000000..6aef5d8540 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/constructor.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.constructor - + + + +core.serialization / ImmutableClassSerializer / constructor
+
+

constructor

+ +val constructor: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/index.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/index.html new file mode 100644 index 0000000000..692a4402af --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/index.html @@ -0,0 +1,75 @@ + + +ImmutableClassSerializer - + + + +core.serialization / ImmutableClassSerializer
+
+

ImmutableClassSerializer

+class ImmutableClassSerializer<T : Any>
+

Serializes properties and deserializes by using the constructor. This assumes that all backed properties are +set via the constructor and the class is immutable.

+
+
+

Constructors

+ + + + + + + +
+<init> +ImmutableClassSerializer(klass: KClass<T>)

Serializes properties and deserializes by using the constructor. This assumes that all backed properties are +set via the constructor and the class is immutable.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+constructor +val constructor: <ERROR CLASS>
+klass +val klass: KClass<T>
+props +val props: <ERROR CLASS>
+propsByName +val propsByName: <ERROR CLASS>
+

Functions

+ + + + + + + + + + + +
+read +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<T>): T
+write +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: T): Unit
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/klass.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/klass.html new file mode 100644 index 0000000000..2364ab2637 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/klass.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.klass - + + + +core.serialization / ImmutableClassSerializer / klass
+
+

klass

+ +val klass: KClass<T>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/props-by-name.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/props-by-name.html new file mode 100644 index 0000000000..fa117e05b6 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/props-by-name.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.propsByName - + + + +core.serialization / ImmutableClassSerializer / propsByName
+
+

propsByName

+ +val propsByName: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/props.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/props.html new file mode 100644 index 0000000000..b0b6bf2a28 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/props.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.props - + + + +core.serialization / ImmutableClassSerializer / props
+
+

props

+ +val props: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/read.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/read.html new file mode 100644 index 0000000000..3938d44d99 --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/read.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.read - + + + +core.serialization / ImmutableClassSerializer / read
+
+

read

+ +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<T>): T
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-immutable-class-serializer/write.html b/docs/build/html/api/core.serialization/-immutable-class-serializer/write.html new file mode 100644 index 0000000000..c5d295685a --- /dev/null +++ b/docs/build/html/api/core.serialization/-immutable-class-serializer/write.html @@ -0,0 +1,15 @@ + + +ImmutableClassSerializer.write - + + + +core.serialization / ImmutableClassSerializer / write
+
+

write

+ +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: T): Unit
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-missing-attachments-exception/-init-.html b/docs/build/html/api/core.serialization/-missing-attachments-exception/-init-.html new file mode 100644 index 0000000000..e940ee0880 --- /dev/null +++ b/docs/build/html/api/core.serialization/-missing-attachments-exception/-init-.html @@ -0,0 +1,15 @@ + + +MissingAttachmentsException.<init> - + + + +core.serialization / MissingAttachmentsException / <init>
+
+

<init>

+MissingAttachmentsException(ids: List<SecureHash>)
+

Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found

+
+
+ + diff --git a/docs/build/html/api/core.serialization/-missing-attachments-exception/ids.html b/docs/build/html/api/core.serialization/-missing-attachments-exception/ids.html new file mode 100644 index 0000000000..a3a040cb8c --- /dev/null +++ b/docs/build/html/api/core.serialization/-missing-attachments-exception/ids.html @@ -0,0 +1,15 @@ + + +MissingAttachmentsException.ids - + + + +core.serialization / MissingAttachmentsException / ids
+
+

ids

+ +val ids: List<SecureHash>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-missing-attachments-exception/index.html b/docs/build/html/api/core.serialization/-missing-attachments-exception/index.html new file mode 100644 index 0000000000..6c3e2ee8aa --- /dev/null +++ b/docs/build/html/api/core.serialization/-missing-attachments-exception/index.html @@ -0,0 +1,38 @@ + + +MissingAttachmentsException - + + + +core.serialization / MissingAttachmentsException
+
+

MissingAttachmentsException

+class MissingAttachmentsException : Exception
+

Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found

+
+
+

Constructors

+ + + + + + + +
+<init> +MissingAttachmentsException(ids: List<SecureHash>)

Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found

+
+

Properties

+ + + + + + + +
+ids +val ids: List<SecureHash>
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/-init-.html b/docs/build/html/api/core.serialization/-opaque-bytes/-init-.html new file mode 100644 index 0000000000..dc6a32ac31 --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/-init-.html @@ -0,0 +1,17 @@ + + +OpaqueBytes.<init> - + + + +core.serialization / OpaqueBytes / <init>
+
+

<init>

+OpaqueBytes(bits: ByteArray)
+

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. +In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such +functionality to Java, but it wont arrive for a few years yet

+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/bits.html b/docs/build/html/api/core.serialization/-opaque-bytes/bits.html new file mode 100644 index 0000000000..ac93754a3c --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/bits.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.bits - + + + +core.serialization / OpaqueBytes / bits
+
+

bits

+ +val bits: ByteArray
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/equals.html b/docs/build/html/api/core.serialization/-opaque-bytes/equals.html new file mode 100644 index 0000000000..32d92ad64e --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/equals.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.equals - + + + +core.serialization / OpaqueBytes / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/hash-code.html b/docs/build/html/api/core.serialization/-opaque-bytes/hash-code.html new file mode 100644 index 0000000000..7b12a43e91 --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/hash-code.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.hashCode - + + + +core.serialization / OpaqueBytes / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/index.html b/docs/build/html/api/core.serialization/-opaque-bytes/index.html new file mode 100644 index 0000000000..fbc96eea3f --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/index.html @@ -0,0 +1,127 @@ + + +OpaqueBytes - + + + +core.serialization / OpaqueBytes
+
+

OpaqueBytes

+open class OpaqueBytes
+

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. +In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such +functionality to Java, but it wont arrive for a few years yet

+
+
+

Constructors

+ + + + + + + +
+<init> +OpaqueBytes(bits: ByteArray)

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. +In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such +functionality to Java, but it wont arrive for a few years yet

+
+

Properties

+ + + + + + + + + + + +
+bits +val bits: ByteArray
+size +val size: Int
+

Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+

Companion Object Functions

+ + + + + + + +
+of +fun of(vararg b: Byte): OpaqueBytes
+

Extension Functions

+ + + + + + + + + + + +
+deserialize +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+sha256 +fun OpaqueBytes.sha256(): SHA256
+

Inheritors

+ + + + + + + + + + + + + + + +
+DigitalSignature +open class DigitalSignature : OpaqueBytes

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

+
+SecureHash +sealed class SecureHash : OpaqueBytes
+SerializedBytes +class SerializedBytes<T : Any> : OpaqueBytes

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/of.html b/docs/build/html/api/core.serialization/-opaque-bytes/of.html new file mode 100644 index 0000000000..d741a14bcd --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/of.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.of - + + + +core.serialization / OpaqueBytes / of
+
+

of

+ +fun of(vararg b: Byte): OpaqueBytes
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/size.html b/docs/build/html/api/core.serialization/-opaque-bytes/size.html new file mode 100644 index 0000000000..6481021502 --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/size.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.size - + + + +core.serialization / OpaqueBytes / size
+
+

size

+ +val size: Int
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-opaque-bytes/to-string.html b/docs/build/html/api/core.serialization/-opaque-bytes/to-string.html new file mode 100644 index 0000000000..c5eadf1572 --- /dev/null +++ b/docs/build/html/api/core.serialization/-opaque-bytes/to-string.html @@ -0,0 +1,15 @@ + + +OpaqueBytes.toString - + + + +core.serialization / OpaqueBytes / toString
+
+

toString

+ +open fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes-serializer/index.html b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/index.html new file mode 100644 index 0000000000..29cb75bfa3 --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/index.html @@ -0,0 +1,33 @@ + + +SerializedBytesSerializer - + + + +core.serialization / SerializedBytesSerializer
+
+

SerializedBytesSerializer

+object SerializedBytesSerializer
+

A serialiser that avoids writing the wrapper class to the byte stream, thus ensuring SerializedBytes is a pure +type safety hack.

+
+
+

Functions

+ + + + + + + + + + + +
+read +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<SerializedBytes<Any>>): SerializedBytes<Any>
+write +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: SerializedBytes<Any>): Unit
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes-serializer/read.html b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/read.html new file mode 100644 index 0000000000..e610bb4ea6 --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/read.html @@ -0,0 +1,15 @@ + + +SerializedBytesSerializer.read - + + + +core.serialization / SerializedBytesSerializer / read
+
+

read

+ +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<SerializedBytes<Any>>): SerializedBytes<Any>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes-serializer/write.html b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/write.html new file mode 100644 index 0000000000..732dd6ecc9 --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes-serializer/write.html @@ -0,0 +1,15 @@ + + +SerializedBytesSerializer.write - + + + +core.serialization / SerializedBytesSerializer / write
+
+

write

+ +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: SerializedBytes<Any>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes/-init-.html b/docs/build/html/api/core.serialization/-serialized-bytes/-init-.html new file mode 100644 index 0000000000..d3d39468ba --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes/-init-.html @@ -0,0 +1,16 @@ + + +SerializedBytes.<init> - + + + +core.serialization / SerializedBytes / <init>
+
+

<init>

+SerializedBytes(bits: ByteArray)
+

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes/hash.html b/docs/build/html/api/core.serialization/-serialized-bytes/hash.html new file mode 100644 index 0000000000..1e2408062a --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes/hash.html @@ -0,0 +1,15 @@ + + +SerializedBytes.hash - + + + +core.serialization / SerializedBytes / hash
+
+

hash

+ +val hash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes/index.html b/docs/build/html/api/core.serialization/-serialized-bytes/index.html new file mode 100644 index 0000000000..3ff44aca5a --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes/index.html @@ -0,0 +1,110 @@ + + +SerializedBytes - + + + +core.serialization / SerializedBytes
+
+

SerializedBytes

+class SerializedBytes<T : Any> : OpaqueBytes
+

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+
+

Constructors

+ + + + + + + +
+<init> +SerializedBytes(bits: ByteArray)

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+

Properties

+ + + + + + + +
+hash +val hash: SecureHash
+

Inherited Properties

+ + + + + + + + + + + +
+bits +val bits: ByteArray
+size +val size: Int
+

Functions

+ + + + + + + +
+writeToFile +fun writeToFile(path: Path): Path
+

Inherited Functions

+ + + + + + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+toString +open fun toString(): String
+

Extension Functions

+ + + + + + + + + + + +
+deserialize +fun SerializedBytes<WireTransaction>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction
+fun <T : Any> SerializedBytes<T>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+sha256 +fun OpaqueBytes.sha256(): SHA256
+ + diff --git a/docs/build/html/api/core.serialization/-serialized-bytes/write-to-file.html b/docs/build/html/api/core.serialization/-serialized-bytes/write-to-file.html new file mode 100644 index 0000000000..5c4232fe2e --- /dev/null +++ b/docs/build/html/api/core.serialization/-serialized-bytes/write-to-file.html @@ -0,0 +1,15 @@ + + +SerializedBytes.writeToFile - + + + +core.serialization / SerializedBytes / writeToFile
+
+

writeToFile

+ +fun writeToFile(path: Path): Path
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-t-h-r-e-a-d_-l-o-c-a-l_-k-r-y-o.html b/docs/build/html/api/core.serialization/-t-h-r-e-a-d_-l-o-c-a-l_-k-r-y-o.html new file mode 100644 index 0000000000..b30b67df9e --- /dev/null +++ b/docs/build/html/api/core.serialization/-t-h-r-e-a-d_-l-o-c-a-l_-k-r-y-o.html @@ -0,0 +1,36 @@ + + +THREAD_LOCAL_KRYO - + + + +core.serialization / THREAD_LOCAL_KRYO
+
+

THREAD_LOCAL_KRYO

+ +val THREAD_LOCAL_KRYO: <ERROR CLASS>
+

Serialization utilities, using the Kryo framework with a custom serialiser for immutable data classes and a dead +simple, totally non-extensible binary (sub)format.

+

This is NOT what should be used in any final platform product, rather, the final state should be a precisely +specified and standardised binary format with attention paid to anti-malleability, versioning and performance. +FIX SBE is a potential candidate: it prioritises performance over convenience and was designed for HFT. Google +Protocol Buffers with a minor tightening to make field reordering illegal is another possibility.

+

FIX SBE: +https://real-logic.github.io/simple-binary-encoding/ +http://mechanical-sympathy.blogspot.co.at/2014/05/simple-binary-encoding.html +Protocol buffers: +https://developers.google.com/protocol-buffers/

+

But for now we use Kryo to maximise prototyping speed.

+

Note that this code ignores ALL concerns beyond convenience, in particular it ignores:

+

This code will happily deserialise literally anything, including malicious streams that would reconstruct classes +in invalid states, thus violating system invariants. It isnt designed to handle malicious streams and therefore, +isnt usable beyond the prototyping stage. But thats fine: we can revisit serialisation technologies later after +a formal evaluation process.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-wire-transaction-serializer/index.html b/docs/build/html/api/core.serialization/-wire-transaction-serializer/index.html new file mode 100644 index 0000000000..38503259ee --- /dev/null +++ b/docs/build/html/api/core.serialization/-wire-transaction-serializer/index.html @@ -0,0 +1,32 @@ + + +WireTransactionSerializer - + + + +core.serialization / WireTransactionSerializer
+
+

WireTransactionSerializer

+object WireTransactionSerializer
+

A serialisation engine that knows how to deserialise code inside a sandbox

+
+
+

Functions

+ + + + + + + + + + + +
+read +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<WireTransaction>): WireTransaction
+write +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: WireTransaction): Unit
+ + diff --git a/docs/build/html/api/core.serialization/-wire-transaction-serializer/read.html b/docs/build/html/api/core.serialization/-wire-transaction-serializer/read.html new file mode 100644 index 0000000000..391e852af3 --- /dev/null +++ b/docs/build/html/api/core.serialization/-wire-transaction-serializer/read.html @@ -0,0 +1,15 @@ + + +WireTransactionSerializer.read - + + + +core.serialization / WireTransactionSerializer / read
+
+

read

+ +fun read(kryo: <ERROR CLASS>, input: <ERROR CLASS>, type: Class<WireTransaction>): WireTransaction
+
+
+ + diff --git a/docs/build/html/api/core.serialization/-wire-transaction-serializer/write.html b/docs/build/html/api/core.serialization/-wire-transaction-serializer/write.html new file mode 100644 index 0000000000..38bd8fef79 --- /dev/null +++ b/docs/build/html/api/core.serialization/-wire-transaction-serializer/write.html @@ -0,0 +1,15 @@ + + +WireTransactionSerializer.write - + + + +core.serialization / WireTransactionSerializer / write
+
+

write

+ +fun write(kryo: <ERROR CLASS>, output: <ERROR CLASS>, obj: WireTransaction): Unit
+
+
+ + diff --git a/docs/build/html/api/core.serialization/attachment-storage.html b/docs/build/html/api/core.serialization/attachment-storage.html new file mode 100644 index 0000000000..8b2533e19f --- /dev/null +++ b/docs/build/html/api/core.serialization/attachment-storage.html @@ -0,0 +1,15 @@ + + +attachmentStorage - + + + +core.serialization / attachmentStorage
+
+

attachmentStorage

+ +var <ERROR CLASS>.attachmentStorage: AttachmentStorage?
+
+
+ + diff --git a/docs/build/html/api/core.serialization/create-kryo.html b/docs/build/html/api/core.serialization/create-kryo.html new file mode 100644 index 0000000000..e3646c7c59 --- /dev/null +++ b/docs/build/html/api/core.serialization/create-kryo.html @@ -0,0 +1,15 @@ + + +createKryo - + + + +core.serialization / createKryo
+
+

createKryo

+ +fun createKryo(k: <ERROR CLASS> = Kryo()): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.serialization/deserialize.html b/docs/build/html/api/core.serialization/deserialize.html new file mode 100644 index 0000000000..054ff66478 --- /dev/null +++ b/docs/build/html/api/core.serialization/deserialize.html @@ -0,0 +1,19 @@ + + +deserialize - + + + +core.serialization / deserialize
+
+

deserialize

+ +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+ +fun SerializedBytes<WireTransaction>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction
+ +fun <T : Any> SerializedBytes<T>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+
+
+ + diff --git a/docs/build/html/api/core.serialization/index.html b/docs/build/html/api/core.serialization/index.html new file mode 100644 index 0000000000..18571e7889 --- /dev/null +++ b/docs/build/html/api/core.serialization/index.html @@ -0,0 +1,137 @@ + + +core.serialization - + + + +core.serialization
+
+

Package core.serialization

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+ImmutableClassSerializer +class ImmutableClassSerializer<T : Any>

Serializes properties and deserializes by using the constructor. This assumes that all backed properties are +set via the constructor and the class is immutable.

+
+OpaqueBytes +open class OpaqueBytes

A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. +In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such +functionality to Java, but it wont arrive for a few years yet

+
+SerializedBytes +class SerializedBytes<T : Any> : OpaqueBytes

A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize +to get the original object back.

+
+SerializedBytesSerializer +object SerializedBytesSerializer

A serialiser that avoids writing the wrapper class to the byte stream, thus ensuring SerializedBytes is a pure +type safety hack.

+
+WireTransactionSerializer +object WireTransactionSerializer

A serialisation engine that knows how to deserialise code inside a sandbox

+
+

Exceptions

+ + + + + + + +
+MissingAttachmentsException +class MissingAttachmentsException : Exception

Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found

+
+

Extensions for External Classes

+ + + + + + + +
+kotlin.ByteArray +
+

Properties

+ + + + + + + + + + + + + + + +
+ATTACHMENT_STORAGE +val ATTACHMENT_STORAGE: String
+THREAD_LOCAL_KRYO +val THREAD_LOCAL_KRYO: <ERROR CLASS>

Serialization utilities, using the Kryo framework with a custom serialiser for immutable data classes and a dead +simple, totally non-extensible binary (sub)format.

+
+attachmentStorage +var <ERROR CLASS>.attachmentStorage: AttachmentStorage?
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+createKryo +fun createKryo(k: <ERROR CLASS> = Kryo()): <ERROR CLASS>
+deserialize +fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+fun SerializedBytes<WireTransaction>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction
+fun <T : Any> SerializedBytes<T>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+serialize +fun <T : Any> T.serialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): SerializedBytes<T>

Can be called on any object to convert it to a byte array (wrapped by SerializedBytes), regardless of whether +the type is marked as serializable or was designed for it (so be careful)

+
+useClassLoader +fun <T> <ERROR CLASS>.useClassLoader(cl: ClassLoader, body: () -> T): T
+ + diff --git a/docs/build/html/api/core.serialization/kotlin.-byte-array/deserialize.html b/docs/build/html/api/core.serialization/kotlin.-byte-array/deserialize.html new file mode 100644 index 0000000000..566a9bc90e --- /dev/null +++ b/docs/build/html/api/core.serialization/kotlin.-byte-array/deserialize.html @@ -0,0 +1,15 @@ + + +deserialize - + + + +core.serialization / kotlin.ByteArray / deserialize
+
+

deserialize

+ +fun <T : Any> ByteArray.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+
+
+ + diff --git a/docs/build/html/api/core.serialization/kotlin.-byte-array/index.html b/docs/build/html/api/core.serialization/kotlin.-byte-array/index.html new file mode 100644 index 0000000000..9a48530313 --- /dev/null +++ b/docs/build/html/api/core.serialization/kotlin.-byte-array/index.html @@ -0,0 +1,27 @@ + + +core.serialization.kotlin.ByteArray - + + + +core.serialization / kotlin.ByteArray
+
+

Extensions for kotlin.ByteArray

+ + + + + + + + + + + +
+deserialize +fun <T : Any> ByteArray.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T
+opaque +fun ByteArray.opaque(): OpaqueBytes
+ + diff --git a/docs/build/html/api/core.serialization/kotlin.-byte-array/opaque.html b/docs/build/html/api/core.serialization/kotlin.-byte-array/opaque.html new file mode 100644 index 0000000000..5baa528246 --- /dev/null +++ b/docs/build/html/api/core.serialization/kotlin.-byte-array/opaque.html @@ -0,0 +1,15 @@ + + +opaque - + + + +core.serialization / kotlin.ByteArray / opaque
+
+

opaque

+ +fun ByteArray.opaque(): OpaqueBytes
+
+
+ + diff --git a/docs/build/html/api/core.serialization/serialize.html b/docs/build/html/api/core.serialization/serialize.html new file mode 100644 index 0000000000..1495069db4 --- /dev/null +++ b/docs/build/html/api/core.serialization/serialize.html @@ -0,0 +1,17 @@ + + +serialize - + + + +core.serialization / serialize
+
+

serialize

+ +fun <T : Any> T.serialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): SerializedBytes<T>
+

Can be called on any object to convert it to a byte array (wrapped by SerializedBytes), regardless of whether +the type is marked as serializable or was designed for it (so be careful)

+
+
+ + diff --git a/docs/build/html/api/core.serialization/use-class-loader.html b/docs/build/html/api/core.serialization/use-class-loader.html new file mode 100644 index 0000000000..a632d4b84c --- /dev/null +++ b/docs/build/html/api/core.serialization/use-class-loader.html @@ -0,0 +1,15 @@ + + +useClassLoader - + + + +core.serialization / useClassLoader
+
+

useClassLoader

+ +inline fun <T> <ERROR CLASS>.useClassLoader(cl: ClassLoader, body: () -> T): T
+
+
+ + diff --git a/docs/build/html/api/core.testing/-i-r-s-simulation/-init-.html b/docs/build/html/api/core.testing/-i-r-s-simulation/-init-.html new file mode 100644 index 0000000000..24f576813f --- /dev/null +++ b/docs/build/html/api/core.testing/-i-r-s-simulation/-init-.html @@ -0,0 +1,15 @@ + + +IRSSimulation.<init> - + + + +core.testing / IRSSimulation / <init>
+
+

<init>

+IRSSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)
+

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-i-r-s-simulation/index.html b/docs/build/html/api/core.testing/-i-r-s-simulation/index.html new file mode 100644 index 0000000000..27ea4cc5b5 --- /dev/null +++ b/docs/build/html/api/core.testing/-i-r-s-simulation/index.html @@ -0,0 +1,192 @@ + + +IRSSimulation - + + + +core.testing / IRSSimulation
+
+

IRSSimulation

+class IRSSimulation : Simulation
+

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+
+

Constructors

+ + + + + + + +
+<init> +IRSSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+

Properties

+ + + + + + + +
+om +val om: <ERROR CLASS>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+allProtocolSteps +val allProtocolSteps: <ERROR CLASS><<ERROR CLASS><SimulatedNode, Change>>
+bankFactory +val bankFactory: BankFactory
+bankLocations +val bankLocations: <ERROR CLASS>
+banks +val banks: List<SimulatedNode>
+currentDay +var currentDay: LocalDate

The current simulated date. By default this never changes. If you want it to change, you should do so from +within your overridden iterate call. Changes in the current day surface in the dateChanges observable.

+
+dateChanges +val dateChanges: <ERROR CLASS><LocalDate>
+doneSteps +val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
+extraNodeLabels +val extraNodeLabels: MutableMap<SimulatedNode, String>

A place for simulations to stash human meaningful text about what the node is "thinking", which might appear +in the UI somewhere.

+
+latencyInjector +val latencyInjector: LatencyCalculator?
+network +val network: MockNetwork
+networkMap +val networkMap: SimulatedNode
+ratesOracle +val ratesOracle: SimulatedNode
+regulators +val regulators: List<SimulatedNode>
+runAsync +val runAsync: Boolean
+serviceProviders +val serviceProviders: List<SimulatedNode>
+timestamper +val timestamper: SimulatedNode
+

Functions

+ + + + + + + + + + + +
+iterate +fun iterate(): Unit

Iterates the simulation by one step.

+
+start +fun start(): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+linkConsensus +fun linkConsensus(nodes: Collection<SimulatedNode>, protocol: ProtocolLogic<*>): Unit
+linkProtocolProgress +fun linkProtocolProgress(node: SimulatedNode, protocol: ProtocolLogic<*>): Unit
+startTradingCircle +fun startTradingCircle(tradeBetween: (Int, Int) -> <ERROR CLASS><out <ERROR CLASS>>): Unit

Given a function that returns a future, iterates that function with arguments like (0, 1), (1, 2), (2, 3) etc +each time the returned future completes.

+
+stop +fun stop(): Unit
+ + diff --git a/docs/build/html/api/core.testing/-i-r-s-simulation/iterate.html b/docs/build/html/api/core.testing/-i-r-s-simulation/iterate.html new file mode 100644 index 0000000000..8ae7e7d1ce --- /dev/null +++ b/docs/build/html/api/core.testing/-i-r-s-simulation/iterate.html @@ -0,0 +1,23 @@ + + +IRSSimulation.iterate - + + + +core.testing / IRSSimulation / iterate
+
+

iterate

+ +fun iterate(): Unit
+Overrides Simulation.iterate
+

Iterates the simulation by one step.

+

The default implementation circles around the nodes, pumping until one of them handles a message. The next call +will carry on from where this one stopped. In an environment where you want to take actions between anything +interesting happening, or control the precise speed at which things operate (beyond the latency injector), this +is a useful way to do things.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-i-r-s-simulation/om.html b/docs/build/html/api/core.testing/-i-r-s-simulation/om.html new file mode 100644 index 0000000000..1959022bc3 --- /dev/null +++ b/docs/build/html/api/core.testing/-i-r-s-simulation/om.html @@ -0,0 +1,15 @@ + + +IRSSimulation.om - + + + +core.testing / IRSSimulation / om
+
+

om

+ +val om: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-i-r-s-simulation/start.html b/docs/build/html/api/core.testing/-i-r-s-simulation/start.html new file mode 100644 index 0000000000..46e3274d0e --- /dev/null +++ b/docs/build/html/api/core.testing/-i-r-s-simulation/start.html @@ -0,0 +1,16 @@ + + +IRSSimulation.start - + + + +core.testing / IRSSimulation / start
+
+

start

+ +fun start(): Unit
+Overrides Simulation.start
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/-init-.html new file mode 100644 index 0000000000..c1e02772a7 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/-init-.html @@ -0,0 +1,14 @@ + + +InMemoryMessagingNetwork.Builder.<init> - + + + +core.testing / InMemoryMessagingNetwork / Builder / <init>
+
+

<init>

+Builder(manuallyPumped: Boolean, id: Handle)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/id.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/id.html new file mode 100644 index 0000000000..f4bd38116f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/id.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Builder.id - + + + +core.testing / InMemoryMessagingNetwork / Builder / id
+
+

id

+ +val id: Handle
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/index.html new file mode 100644 index 0000000000..191b79cf00 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/index.html @@ -0,0 +1,53 @@ + + +InMemoryMessagingNetwork.Builder - + + + +core.testing / InMemoryMessagingNetwork / Builder
+
+

Builder

+inner class Builder : MessagingServiceBuilder<InMemoryMessaging>
+
+
+

Constructors

+ + + + + + + +
+<init> +Builder(manuallyPumped: Boolean, id: Handle)
+

Properties

+ + + + + + + + + + + +
+id +val id: Handle
+manuallyPumped +val manuallyPumped: Boolean
+

Functions

+ + + + + + + +
+start +fun start(): <ERROR CLASS><InMemoryMessaging>
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/manually-pumped.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/manually-pumped.html new file mode 100644 index 0000000000..e241852871 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/manually-pumped.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Builder.manuallyPumped - + + + +core.testing / InMemoryMessagingNetwork / Builder / manuallyPumped
+
+

manuallyPumped

+ +val manuallyPumped: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/start.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/start.html new file mode 100644 index 0000000000..f19a7d678f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-builder/start.html @@ -0,0 +1,16 @@ + + +InMemoryMessagingNetwork.Builder.start - + + + +core.testing / InMemoryMessagingNetwork / Builder / start
+
+

start

+ +fun start(): <ERROR CLASS><InMemoryMessaging>
+Overrides MessagingServiceBuilder.start
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/-init-.html new file mode 100644 index 0000000000..0ad586171c --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/-init-.html @@ -0,0 +1,14 @@ + + +InMemoryMessagingNetwork.Handle.<init> - + + + +core.testing / InMemoryMessagingNetwork / Handle / <init>
+
+

<init>

+Handle(id: Int)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/equals.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/equals.html new file mode 100644 index 0000000000..ca855e76d3 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/equals.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Handle.equals - + + + +core.testing / InMemoryMessagingNetwork / Handle / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/hash-code.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/hash-code.html new file mode 100644 index 0000000000..e0990da3d8 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/hash-code.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Handle.hashCode - + + + +core.testing / InMemoryMessagingNetwork / Handle / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/id.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/id.html new file mode 100644 index 0000000000..b496820a59 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/id.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Handle.id - + + + +core.testing / InMemoryMessagingNetwork / Handle / id
+
+

id

+ +val id: Int
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/index.html new file mode 100644 index 0000000000..c0a09e63f5 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/index.html @@ -0,0 +1,59 @@ + + +InMemoryMessagingNetwork.Handle - + + + +core.testing / InMemoryMessagingNetwork / Handle
+
+

Handle

+class Handle : SingleMessageRecipient
+
+
+

Constructors

+ + + + + + + +
+<init> +Handle(id: Int)
+

Properties

+ + + + + + + +
+id +val id: Int
+

Functions

+ + + + + + + + + + + + + + + +
+equals +fun equals(other: Any?): Boolean
+hashCode +fun hashCode(): Int
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/to-string.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/to-string.html new file mode 100644 index 0000000000..4dce75ca1d --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-handle/to-string.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.Handle.toString - + + + +core.testing / InMemoryMessagingNetwork / Handle / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/-init-.html new file mode 100644 index 0000000000..a1b90bf8b7 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/-init-.html @@ -0,0 +1,14 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.Handler.<init> - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / Handler / <init>
+
+

<init>

+Handler(executor: Executor?, topic: String, callback: (Message, MessageHandlerRegistration) -> Unit)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/callback.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/callback.html new file mode 100644 index 0000000000..e808bec54a --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/callback.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.Handler.callback - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / Handler / callback
+
+

callback

+ +val callback: (Message, MessageHandlerRegistration) -> Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/executor.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/executor.html new file mode 100644 index 0000000000..38ccc4f263 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/executor.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.Handler.executor - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / Handler / executor
+
+

executor

+ +val executor: Executor?
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/index.html new file mode 100644 index 0000000000..fc9988f7ff --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/index.html @@ -0,0 +1,48 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.Handler - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / Handler
+
+

Handler

+inner class Handler : MessageHandlerRegistration
+
+
+

Constructors

+ + + + + + + +
+<init> +Handler(executor: Executor?, topic: String, callback: (Message, MessageHandlerRegistration) -> Unit)
+

Properties

+ + + + + + + + + + + + + + + +
+callback +val callback: (Message, MessageHandlerRegistration) -> Unit
+executor +val executor: Executor?
+topic +val topic: String
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/topic.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/topic.html new file mode 100644 index 0000000000..c1100cdb08 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-handler/topic.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.Handler.topic - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / Handler / topic
+
+

topic

+ +val topic: String
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-init-.html new file mode 100644 index 0000000000..372d3d101a --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-init-.html @@ -0,0 +1,20 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.<init> - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / <init>
+
+

<init>

+InMemoryMessaging(manuallyPumped: Boolean, handle: Handle)
+

An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage +system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience +when all entities on the network are being simulated in-process.

+

An instance can be obtained by creating a builder and then using the start method.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/-init-.html new file mode 100644 index 0000000000..333a60112d --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/-init-.html @@ -0,0 +1,14 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.InnerState.<init> - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / InnerState / <init>
+
+

<init>

+InnerState()
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/handlers.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/handlers.html new file mode 100644 index 0000000000..0b0004522f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/handlers.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.InnerState.handlers - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / InnerState / handlers
+
+

handlers

+ +val handlers: MutableList<Handler>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/index.html new file mode 100644 index 0000000000..0547ddb92f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/index.html @@ -0,0 +1,42 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.InnerState - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / InnerState
+
+

InnerState

+protected inner class InnerState
+
+
+

Constructors

+ + + + + + + +
+<init> +InnerState()
+

Properties

+ + + + + + + + + + + +
+handlers +val handlers: MutableList<Handler>
+pendingRedelivery +val pendingRedelivery: LinkedList<Message>
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/pending-redelivery.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/pending-redelivery.html new file mode 100644 index 0000000000..f85443ddc7 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/-inner-state/pending-redelivery.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.InnerState.pendingRedelivery - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / InnerState / pendingRedelivery
+
+

pendingRedelivery

+ +val pendingRedelivery: LinkedList<Message>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/add-message-handler.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/add-message-handler.html new file mode 100644 index 0000000000..8677abbf03 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/add-message-handler.html @@ -0,0 +1,25 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.addMessageHandler - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / addMessageHandler
+
+

addMessageHandler

+ +fun addMessageHandler(topic: String, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration
+Overrides MessagingService.addMessageHandler
+

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+

If no executor is received then the callback will run on threads provided by the messaging service, and the +callback is expected to be thread safe as a result.

+

The returned object is an opaque handle that may be used to un-register handlers later with removeMessageHandler. +The handle is passed to the callback as well, to avoid race conditions whereby the callback wants to unregister +itself and yet addMessageHandler hasnt returned the handle yet.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/background-thread.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/background-thread.html new file mode 100644 index 0000000000..51d36a939f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/background-thread.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.backgroundThread - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / backgroundThread
+
+

backgroundThread

+ +protected val backgroundThread: Nothing?
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/create-message.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/create-message.html new file mode 100644 index 0000000000..8da74b6702 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/create-message.html @@ -0,0 +1,17 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.createMessage - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / createMessage
+
+

createMessage

+ +fun createMessage(topic: String, data: ByteArray): Message
+Overrides MessagingService.createMessage
+

Returns the given (topic, data) pair as a newly created message object.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html new file mode 100644 index 0000000000..d7cf37d9a8 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/index.html @@ -0,0 +1,134 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging
+
+

InMemoryMessaging

+inner class InMemoryMessaging : MessagingService
+

An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage +system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience +when all entities on the network are being simulated in-process.

+

An instance can be obtained by creating a builder and then using the start method.

+
+
+
+
+

Types

+ + + + + + + + + + + +
+Handler +inner class Handler : MessageHandlerRegistration
+InnerState +inner class InnerState
+

Constructors

+ + + + + + + +
+<init> +InMemoryMessaging(manuallyPumped: Boolean, handle: Handle)

An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage +system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience +when all entities on the network are being simulated in-process.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+backgroundThread +val backgroundThread: Nothing?
+myAddress +val myAddress: SingleMessageRecipient

Returns an address that refers to this node.

+
+running +var running: Boolean
+state +val state: ThreadBox<InnerState>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addMessageHandler +fun addMessageHandler(topic: String, executor: Executor?, callback: (Message, MessageHandlerRegistration) -> Unit): MessageHandlerRegistration

The provided function will be invoked for each received message whose topic matches the given string, on the given +executor. The topic can be the empty string to match all messages.

+
+createMessage +fun createMessage(topic: String, data: ByteArray): Message

Returns the given (topic, data) pair as a newly created message object.

+
+pump +fun pump(block: Boolean): Boolean

Delivers a single message from the internal queue. If there are no messages waiting to be delivered and block +is true, waits until one has been provided on a different thread via send. If block is false, the return +result indicates whether a message was delivered or not.

+
+removeMessageHandler +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+
+send +fun send(message: Message, target: MessageRecipients): Unit

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+
+stop +fun stop(): Unit
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/my-address.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/my-address.html new file mode 100644 index 0000000000..b571e55acc --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/my-address.html @@ -0,0 +1,17 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.myAddress - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / myAddress
+
+

myAddress

+ +val myAddress: SingleMessageRecipient
+Overrides MessagingService.myAddress
+

Returns an address that refers to this node.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/pump.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/pump.html new file mode 100644 index 0000000000..41dab54118 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/pump.html @@ -0,0 +1,18 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.pump - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / pump
+
+

pump

+ +fun pump(block: Boolean): Boolean
+

Delivers a single message from the internal queue. If there are no messages waiting to be delivered and block +is true, waits until one has been provided on a different thread via send. If block is false, the return +result indicates whether a message was delivered or not.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/remove-message-handler.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/remove-message-handler.html new file mode 100644 index 0000000000..1d98c1b102 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/remove-message-handler.html @@ -0,0 +1,24 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.removeMessageHandler - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / removeMessageHandler
+
+

removeMessageHandler

+ +fun removeMessageHandler(registration: MessageHandlerRegistration): Unit
+Overrides MessagingService.removeMessageHandler
+

Removes a handler given the object returned from addMessageHandler. The callback will no longer be invoked once +this method has returned, although executions that are currently in flight will not be interrupted.

+

Exceptions

+ +IllegalArgumentException - if the given registration isnt valid for this messaging service.
+
+ +IllegalStateException - if the given registration was already de-registered.
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/running.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/running.html new file mode 100644 index 0000000000..3e2fb8ae10 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/running.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.running - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / running
+
+

running

+ +protected var running: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/send.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/send.html new file mode 100644 index 0000000000..3197cdcb58 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/send.html @@ -0,0 +1,24 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.send - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / send
+
+

send

+ +fun send(message: Message, target: MessageRecipients): Unit
+Overrides MessagingService.send
+

Sends a message to the given receiver. The details of how receivers are identified is up to the messaging +implementation: the type system provides an opaque high level view, with more fine grained control being +available via type casting. Once this function returns the message is queued for delivery but not necessarily +delivered: if the recipients are offline then the message could be queued hours or days later.

+

There is no way to know if a message has been received. If your protocol requires this, you need the recipient +to send an ACK message back.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/state.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/state.html new file mode 100644 index 0000000000..652cb9ec49 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/state.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.state - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / state
+
+

state

+ +protected val state: ThreadBox<InnerState>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/stop.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/stop.html new file mode 100644 index 0000000000..99f0b522b8 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-in-memory-messaging/stop.html @@ -0,0 +1,16 @@ + + +InMemoryMessagingNetwork.InMemoryMessaging.stop - + + + +core.testing / InMemoryMessagingNetwork / InMemoryMessaging / stop
+
+

stop

+ +fun stop(): Unit
+Overrides MessagingService.stop
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-init-.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-init-.html new file mode 100644 index 0000000000..13aac93e46 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-init-.html @@ -0,0 +1,19 @@ + + +InMemoryMessagingNetwork.<init> - + + + +core.testing / InMemoryMessagingNetwork / <init>
+
+

<init>

+InMemoryMessagingNetwork()
+

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each +InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches +messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which +case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit +testing).

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/between.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/between.html new file mode 100644 index 0000000000..c0809d14c9 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/between.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.LatencyCalculator.between - + + + +core.testing / InMemoryMessagingNetwork / LatencyCalculator / between
+
+

between

+ +abstract fun between(sender: SingleMessageRecipient, receiver: SingleMessageRecipient): Duration
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/index.html new file mode 100644 index 0000000000..7a66d85289 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/-latency-calculator/index.html @@ -0,0 +1,25 @@ + + +InMemoryMessagingNetwork.LatencyCalculator - + + + +core.testing / InMemoryMessagingNetwork / LatencyCalculator
+
+

LatencyCalculator

+interface LatencyCalculator
+
+
+

Functions

+ + + + + + + +
+between +abstract fun between(sender: SingleMessageRecipient, receiver: SingleMessageRecipient): Duration
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/all-messages.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/all-messages.html new file mode 100644 index 0000000000..940beba695 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/all-messages.html @@ -0,0 +1,16 @@ + + +InMemoryMessagingNetwork.allMessages - + + + +core.testing / InMemoryMessagingNetwork / allMessages
+
+

allMessages

+ +val allMessages: <ERROR CLASS><<ERROR CLASS><SingleMessageRecipient, Message, MessageRecipients>>
+

A stream of (sender, message, recipients) triples

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node-with-i-d.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node-with-i-d.html new file mode 100644 index 0000000000..6735d4c313 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node-with-i-d.html @@ -0,0 +1,16 @@ + + +InMemoryMessagingNetwork.createNodeWithID - + + + +core.testing / InMemoryMessagingNetwork / createNodeWithID
+
+

createNodeWithID

+ +fun createNodeWithID(manuallyPumped: Boolean, id: Int): MessagingServiceBuilder<InMemoryMessaging>
+

Creates a node at the given address: useful if you want to recreate a node to simulate a restart

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node.html new file mode 100644 index 0000000000..5703add566 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/create-node.html @@ -0,0 +1,23 @@ + + +InMemoryMessagingNetwork.createNode - + + + +core.testing / InMemoryMessagingNetwork / createNode
+
+

createNode

+ +fun createNode(manuallyPumped: Boolean): <ERROR CLASS><Handle, MessagingServiceBuilder<InMemoryMessaging>>
+

Creates a node and returns the new object that identifies its location on the network to senders, and the +InMemoryMessaging that the recipient/in-memory node uses to receive messages and send messages itself.

+

If manuallyPumped is set to true, then you are expected to call the InMemoryMessaging.pump method on the InMemoryMessaging +in order to cause the delivery of a single message, which will occur on the thread of the caller. If set to false +then this class will set up a background thread to deliver messages asynchronously, if the handler specifies no +executor.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/endpoints.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/endpoints.html new file mode 100644 index 0000000000..afd3c3571d --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/endpoints.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.endpoints - + + + +core.testing / InMemoryMessagingNetwork / endpoints
+
+

endpoints

+ +val endpoints: List<InMemoryMessaging>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/everyone-online.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/everyone-online.html new file mode 100644 index 0000000000..8d64c6aa4e --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/everyone-online.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.everyoneOnline - + + + +core.testing / InMemoryMessagingNetwork / everyoneOnline
+
+

everyoneOnline

+ +val everyoneOnline: AllPossibleRecipients
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/index.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/index.html new file mode 100644 index 0000000000..683439837f --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/index.html @@ -0,0 +1,130 @@ + + +InMemoryMessagingNetwork - + + + +core.testing / InMemoryMessagingNetwork
+
+

InMemoryMessagingNetwork

+class InMemoryMessagingNetwork
+

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each +InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches +messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which +case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit +testing).

+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Builder +inner class Builder : MessagingServiceBuilder<InMemoryMessaging>
+Handle +class Handle : SingleMessageRecipient
+InMemoryMessaging +inner class InMemoryMessaging : MessagingService

An InMemoryMessaging provides a MessagingService that isnt backed by any kind of network or disk storage +system, but just uses regular queues on the heap instead. It is intended for unit testing and developer convenience +when all entities on the network are being simulated in-process.

+
+LatencyCalculator +interface LatencyCalculator
+

Constructors

+ + + + + + + +
+<init> +InMemoryMessagingNetwork()

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each +InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches +messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which +case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit +testing).

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+allMessages +val allMessages: <ERROR CLASS><<ERROR CLASS><SingleMessageRecipient, Message, MessageRecipients>>

A stream of (sender, message, recipients) triples

+
+endpoints +val endpoints: List<InMemoryMessaging>
+everyoneOnline +val everyoneOnline: AllPossibleRecipients
+latencyCalculator +var latencyCalculator: LatencyCalculator?

This can be set to an object which can inject artificial latency between sender/recipient pairs.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+createNode +fun createNode(manuallyPumped: Boolean): <ERROR CLASS><Handle, MessagingServiceBuilder<InMemoryMessaging>>

Creates a node and returns the new object that identifies its location on the network to senders, and the +InMemoryMessaging that the recipient/in-memory node uses to receive messages and send messages itself.

+
+createNodeWithID +fun createNodeWithID(manuallyPumped: Boolean, id: Int): MessagingServiceBuilder<InMemoryMessaging>

Creates a node at the given address: useful if you want to recreate a node to simulate a restart

+
+setupTimestampingNode +fun setupTimestampingNode(manuallyPumped: Boolean): <ERROR CLASS><NodeInfo, InMemoryMessaging>
+stop +fun stop(): Unit
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/latency-calculator.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/latency-calculator.html new file mode 100644 index 0000000000..77f5335464 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/latency-calculator.html @@ -0,0 +1,16 @@ + + +InMemoryMessagingNetwork.latencyCalculator - + + + +core.testing / InMemoryMessagingNetwork / latencyCalculator
+
+

latencyCalculator

+ +var latencyCalculator: LatencyCalculator?
+

This can be set to an object which can inject artificial latency between sender/recipient pairs.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/setup-timestamping-node.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/setup-timestamping-node.html new file mode 100644 index 0000000000..257b2c8b43 --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/setup-timestamping-node.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.setupTimestampingNode - + + + +core.testing / InMemoryMessagingNetwork / setupTimestampingNode
+
+

setupTimestampingNode

+ +fun setupTimestampingNode(manuallyPumped: Boolean): <ERROR CLASS><NodeInfo, InMemoryMessaging>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-in-memory-messaging-network/stop.html b/docs/build/html/api/core.testing/-in-memory-messaging-network/stop.html new file mode 100644 index 0000000000..6db908560a --- /dev/null +++ b/docs/build/html/api/core.testing/-in-memory-messaging-network/stop.html @@ -0,0 +1,15 @@ + + +InMemoryMessagingNetwork.stop - + + + +core.testing / InMemoryMessagingNetwork / stop
+
+

stop

+ +fun stop(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/-init-.html b/docs/build/html/api/core.testing/-mock-identity-service/-init-.html new file mode 100644 index 0000000000..490bec9770 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/-init-.html @@ -0,0 +1,18 @@ + + +MockIdentityService.<init> - + + + +core.testing / MockIdentityService / <init>
+
+

<init>

+MockIdentityService(identities: List<Party>)
+

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/identities.html b/docs/build/html/api/core.testing/-mock-identity-service/identities.html new file mode 100644 index 0000000000..03ed802108 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/identities.html @@ -0,0 +1,15 @@ + + +MockIdentityService.identities - + + + +core.testing / MockIdentityService / identities
+
+

identities

+ +val identities: List<Party>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/index.html b/docs/build/html/api/core.testing/-mock-identity-service/index.html new file mode 100644 index 0000000000..4006a2806c --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/index.html @@ -0,0 +1,67 @@ + + +MockIdentityService - + + + +core.testing / MockIdentityService
+
+

MockIdentityService

+class MockIdentityService : IdentityService
+

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+
+

Constructors

+ + + + + + + +
+<init> +MockIdentityService(identities: List<Party>)

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+

Properties

+ + + + + + + +
+identities +val identities: List<Party>
+

Functions

+ + + + + + + + + + + + + + + +
+partyFromKey +fun partyFromKey(key: PublicKey): Party?
+partyFromName +fun partyFromName(name: String): Party?
+registerIdentity +fun registerIdentity(party: Party): Unit
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/party-from-key.html b/docs/build/html/api/core.testing/-mock-identity-service/party-from-key.html new file mode 100644 index 0000000000..20b8dc25e3 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/party-from-key.html @@ -0,0 +1,16 @@ + + +MockIdentityService.partyFromKey - + + + +core.testing / MockIdentityService / partyFromKey
+
+

partyFromKey

+ +fun partyFromKey(key: PublicKey): Party?
+Overrides IdentityService.partyFromKey
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/party-from-name.html b/docs/build/html/api/core.testing/-mock-identity-service/party-from-name.html new file mode 100644 index 0000000000..7940872531 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/party-from-name.html @@ -0,0 +1,16 @@ + + +MockIdentityService.partyFromName - + + + +core.testing / MockIdentityService / partyFromName
+
+

partyFromName

+ +fun partyFromName(name: String): Party?
+Overrides IdentityService.partyFromName
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-identity-service/register-identity.html b/docs/build/html/api/core.testing/-mock-identity-service/register-identity.html new file mode 100644 index 0000000000..a3c8c2288a --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-identity-service/register-identity.html @@ -0,0 +1,16 @@ + + +MockIdentityService.registerIdentity - + + + +core.testing / MockIdentityService / registerIdentity
+
+

registerIdentity

+ +fun registerIdentity(party: Party): Unit
+Overrides IdentityService.registerIdentity
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/-init-.html b/docs/build/html/api/core.testing/-mock-network-map-cache/-init-.html new file mode 100644 index 0000000000..60612afcce --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/-init-.html @@ -0,0 +1,15 @@ + + +MockNetworkMapCache.<init> - + + + +core.testing / MockNetworkMapCache / <init>
+
+

<init>

+MockNetworkMapCache()
+

Network map cache with no backing map service.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/-init-.html b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/-init-.html new file mode 100644 index 0000000000..01aad1210f --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/-init-.html @@ -0,0 +1,14 @@ + + +MockNetworkMapCache.MockAddress.<init> - + + + +core.testing / MockNetworkMapCache / MockAddress / <init>
+
+

<init>

+MockAddress(id: String)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/id.html b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/id.html new file mode 100644 index 0000000000..c597ab8da0 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/id.html @@ -0,0 +1,15 @@ + + +MockNetworkMapCache.MockAddress.id - + + + +core.testing / MockNetworkMapCache / MockAddress / id
+
+

id

+ +val id: String
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/index.html b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/index.html new file mode 100644 index 0000000000..5be158a945 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/-mock-address/index.html @@ -0,0 +1,36 @@ + + +MockNetworkMapCache.MockAddress - + + + +core.testing / MockNetworkMapCache / MockAddress
+
+

MockAddress

+data class MockAddress : SingleMessageRecipient
+
+
+

Constructors

+ + + + + + + +
+<init> +MockAddress(id: String)
+

Properties

+ + + + + + + +
+id +val id: String
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/add-registration.html b/docs/build/html/api/core.testing/-mock-network-map-cache/add-registration.html new file mode 100644 index 0000000000..dce318c165 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/add-registration.html @@ -0,0 +1,17 @@ + + +MockNetworkMapCache.addRegistration - + + + +core.testing / MockNetworkMapCache / addRegistration
+
+

addRegistration

+ +fun addRegistration(node: NodeInfo): Unit
+

Directly add a registration to the internal cache. DOES NOT fire the change listeners, as its +not a change being received.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/delete-registration.html b/docs/build/html/api/core.testing/-mock-network-map-cache/delete-registration.html new file mode 100644 index 0000000000..1077e8986c --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/delete-registration.html @@ -0,0 +1,17 @@ + + +MockNetworkMapCache.deleteRegistration - + + + +core.testing / MockNetworkMapCache / deleteRegistration
+
+

deleteRegistration

+ +fun deleteRegistration(identity: Party): Boolean
+

Directly remove a registration from the internal cache. DOES NOT fire the change listeners, as its +not a change being received.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network-map-cache/index.html b/docs/build/html/api/core.testing/-mock-network-map-cache/index.html new file mode 100644 index 0000000000..3a85d5eb0b --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network-map-cache/index.html @@ -0,0 +1,164 @@ + + +MockNetworkMapCache - + + + +core.testing / MockNetworkMapCache
+
+

MockNetworkMapCache

+class MockNetworkMapCache : InMemoryNetworkMapCache
+

Network map cache with no backing map service.

+
+
+

Types

+ + + + + + + +
+MockAddress +data class MockAddress : SingleMessageRecipient
+

Constructors

+ + + + + + + +
+<init> +MockNetworkMapCache()

Network map cache with no backing map service.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+networkMapNodes +open val networkMapNodes: List<NodeInfo>

A list of nodes that advertise a network map service

+
+partyNodes +open val partyNodes: List<NodeInfo>

A list of all nodes the cache is aware of

+
+ratesOracleNodes +open val ratesOracleNodes: List<NodeInfo>

A list of nodes that advertise a rates oracle service

+
+registeredNodes +var registeredNodes: MutableMap<Party, NodeInfo>
+regulators +open val regulators: List<NodeInfo>

A list of nodes that advertise a regulatory service. Identifying the correct regulator for a trade is outwith +the scope of the network map service, and this is intended solely as a sanity check on configuration stored +elsewhere.

+
+timestampingNodes +open val timestampingNodes: List<NodeInfo>

A list of nodes that advertise a timestamping service

+
+

Functions

+ + + + + + + + + + + +
+addRegistration +fun addRegistration(node: NodeInfo): Unit

Directly add a registration to the internal cache. DOES NOT fire the change listeners, as its +not a change being received.

+
+deleteRegistration +fun deleteRegistration(identity: Party): Boolean

Directly remove a registration from the internal cache. DOES NOT fire the change listeners, as its +not a change being received.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addMapService +open fun addMapService(smm: StateMachineManager, net: MessagingService, service: NodeInfo, subscribe: Boolean, ifChangedSinceVer: Int?): <ERROR CLASS><Unit>

Add a network map service; fetches a copy of the latest map from the service and subscribes to any further +updates.

+
+addNode +open fun addNode(node: NodeInfo): Unit

Adds a node to the local cache (generally only used for adding ourselves)

+
+deregisterForUpdates +open fun deregisterForUpdates(smm: StateMachineManager, net: MessagingService, service: NodeInfo): <ERROR CLASS><Unit>

Unsubscribes from updates from the given map service.

+
+get +open fun get(): <ERROR CLASS>

Get a copy of all nodes in the map.

+open fun get(serviceType: ServiceType): <ERROR CLASS>

Get the collection of nodes which advertise a specific service.

+
+getRecommended +open fun getRecommended(type: ServiceType, contract: Contract, vararg party: Party): NodeInfo?

Get a recommended node that advertises a service, and is suitable for the specified contract and parties. +Implementations might understand, for example, the correct regulator to use for specific contracts/parties, +or the appropriate oracle for a contract.

+
+processUpdatePush +fun processUpdatePush(req: Update): Unit
+removeNode +open fun removeNode(node: NodeInfo): Unit

Removes a node from the local cache

+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-default-factory/create.html b/docs/build/html/api/core.testing/-mock-network/-default-factory/create.html new file mode 100644 index 0000000000..8b553395d6 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-default-factory/create.html @@ -0,0 +1,16 @@ + + +MockNetwork.DefaultFactory.create - + + + +core.testing / MockNetwork / DefaultFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-default-factory/index.html b/docs/build/html/api/core.testing/-mock-network/-default-factory/index.html new file mode 100644 index 0000000000..5afae25ed9 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-default-factory/index.html @@ -0,0 +1,25 @@ + + +MockNetwork.DefaultFactory - + + + +core.testing / MockNetwork / DefaultFactory
+
+

DefaultFactory

+object DefaultFactory : Factory
+
+
+

Functions

+ + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-factory/create.html b/docs/build/html/api/core.testing/-mock-network/-factory/create.html new file mode 100644 index 0000000000..582bf40ebd --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-factory/create.html @@ -0,0 +1,15 @@ + + +MockNetwork.Factory.create - + + + +core.testing / MockNetwork / Factory / create
+
+

create

+ +abstract fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-factory/index.html b/docs/build/html/api/core.testing/-mock-network/-factory/index.html new file mode 100644 index 0000000000..b0a77e930f --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-factory/index.html @@ -0,0 +1,67 @@ + + +MockNetwork.Factory - + + + +core.testing / MockNetwork / Factory
+
+

Factory

+interface Factory
+

Allows customisation of how nodes are created.

+
+
+

Functions

+ + + + + + + +
+create +abstract fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+BankFactory +inner class BankFactory : Factory
+DefaultFactory +object DefaultFactory : Factory
+NetworkMapNodeFactory +object NetworkMapNodeFactory : Factory
+RatesOracleFactory +object RatesOracleFactory : Factory
+RegulatorFactory +object RegulatorFactory : Factory
+TimestampingNodeFactory +object TimestampingNodeFactory : Factory
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-init-.html b/docs/build/html/api/core.testing/-mock-network/-init-.html new file mode 100644 index 0000000000..a640c171f5 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-init-.html @@ -0,0 +1,21 @@ + + +MockNetwork.<init> - + + + +core.testing / MockNetwork / <init>
+
+

<init>

+MockNetwork(threadPerNode: Boolean = false, defaultFactory: Factory = MockNetwork.DefaultFactory)
+

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. +Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.

+

Mock network nodes require manual pumping by default: they will not run asynchronous. This means that +for message exchanges to take place (and associated handlers to run), you must call the runNetwork +method.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/-init-.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/-init-.html new file mode 100644 index 0000000000..a677a70f7c --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/-init-.html @@ -0,0 +1,14 @@ + + +MockNetwork.MockNode.<init> - + + + +core.testing / MockNetwork / MockNode / <init>
+
+

<init>

+MockNode(dir: Path, config: NodeConfiguration, mockNet: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/find-my-location.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/find-my-location.html new file mode 100644 index 0000000000..eb15f72e02 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/find-my-location.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.findMyLocation - + + + +core.testing / MockNetwork / MockNode / findMyLocation
+
+

findMyLocation

+ +protected open fun findMyLocation(): PhysicalLocation?
+Overrides AbstractNode.findMyLocation
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/id.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/id.html new file mode 100644 index 0000000000..c890864911 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/id.html @@ -0,0 +1,15 @@ + + +MockNetwork.MockNode.id - + + + +core.testing / MockNetwork / MockNode / id
+
+

id

+ +val id: Int
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/index.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/index.html new file mode 100644 index 0000000000..c1aa0794db --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/index.html @@ -0,0 +1,279 @@ + + +MockNetwork.MockNode - + + + +core.testing / MockNetwork / MockNode
+
+

MockNode

+class MockNode : AbstractNode
+
+
+

Constructors

+ + + + + + + +
+<init> +MockNode(dir: Path, config: NodeConfiguration, mockNet: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+id +val id: Int
+log +open val log: <ERROR CLASS>
+mockNet +val mockNet: MockNetwork
+place +val place: PhysicalLocation
+serverThread +open val serverThread: AffinityExecutor
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+_servicesThatAcceptUploads +val _servicesThatAcceptUploads: ArrayList<AcceptsFileUpload>
+advertisedServices +val advertisedServices: Set<ServiceType>
+api +lateinit var api: APIServer
+configuration +val configuration: NodeConfiguration
+dir +val dir: Path
+identity +lateinit var identity: IdentityService
+inNodeNetworkMapService +var inNodeNetworkMapService: NetworkMapService?
+inNodeTimestampingService +var inNodeTimestampingService: NodeTimestamperService?
+info +val info: NodeInfo
+initialNetworkMapAddress +val initialNetworkMapAddress: NodeInfo?
+interestRatesService +lateinit var interestRatesService: Service
+keyManagement +lateinit var keyManagement: E2ETestKeyManagementService
+net +lateinit var net: MessagingService
+networkMapSeq +var networkMapSeq: Long

Sequence number of changes sent to the network map service, when registering/de-registering this node

+
+networkMapServiceCallTimeout +val networkMapServiceCallTimeout: Duration
+platformClock +val platformClock: Clock
+services +val services: ServiceHub
+servicesThatAcceptUploads +val servicesThatAcceptUploads: List<AcceptsFileUpload>
+smm +lateinit var smm: StateMachineManager
+storage +lateinit var storage: StorageService
+wallet +lateinit var wallet: WalletService
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+findMyLocation +open fun findMyLocation(): PhysicalLocation?
+makeIdentityService +open fun makeIdentityService(): MockIdentityService
+makeMessagingService +open fun makeMessagingService(): MessagingService
+start +open fun start(): MockNode
+startMessagingService +open fun startMessagingService(): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+constructStorageService +open fun constructStorageService(attachments: NodeAttachmentService, keypair: KeyPair, identity: Party): StorageServiceImpl
+initialiseStorageService +open fun initialiseStorageService(dir: Path): StorageService
+makeInterestRatesOracleService +open fun makeInterestRatesOracleService(): Unit
+makeNetworkMapService +open fun makeNetworkMapService(): Unit
+makeTimestampingService +open fun makeTimestampingService(): Unit
+stop +open fun stop(): Unit
+

Inheritors

+ + + + + + + +
+SimulatedNode +open class SimulatedNode : MockNode
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/log.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/log.html new file mode 100644 index 0000000000..d667bd5887 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/log.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.log - + + + +core.testing / MockNetwork / MockNode / log
+
+

log

+ +protected open val log: <ERROR CLASS>
+Overrides AbstractNode.log
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/make-identity-service.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/make-identity-service.html new file mode 100644 index 0000000000..f95b365775 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/make-identity-service.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.makeIdentityService - + + + +core.testing / MockNetwork / MockNode / makeIdentityService
+
+

makeIdentityService

+ +protected open fun makeIdentityService(): MockIdentityService
+Overrides AbstractNode.makeIdentityService
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/make-messaging-service.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/make-messaging-service.html new file mode 100644 index 0000000000..72427e55f0 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/make-messaging-service.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.makeMessagingService - + + + +core.testing / MockNetwork / MockNode / makeMessagingService
+
+

makeMessagingService

+ +protected open fun makeMessagingService(): MessagingService
+Overrides AbstractNode.makeMessagingService
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/mock-net.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/mock-net.html new file mode 100644 index 0000000000..723dc25cd4 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/mock-net.html @@ -0,0 +1,15 @@ + + +MockNetwork.MockNode.mockNet - + + + +core.testing / MockNetwork / MockNode / mockNet
+
+

mockNet

+ +val mockNet: MockNetwork
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/place.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/place.html new file mode 100644 index 0000000000..672c506e5d --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/place.html @@ -0,0 +1,15 @@ + + +MockNetwork.MockNode.place - + + + +core.testing / MockNetwork / MockNode / place
+
+

place

+ +val place: PhysicalLocation
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/server-thread.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/server-thread.html new file mode 100644 index 0000000000..1138e9de41 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/server-thread.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.serverThread - + + + +core.testing / MockNetwork / MockNode / serverThread
+
+

serverThread

+ +protected open val serverThread: AffinityExecutor
+Overrides AbstractNode.serverThread
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/start-messaging-service.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/start-messaging-service.html new file mode 100644 index 0000000000..4fa954aa81 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/start-messaging-service.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.startMessagingService - + + + +core.testing / MockNetwork / MockNode / startMessagingService
+
+

startMessagingService

+ +protected open fun startMessagingService(): Unit
+Overrides AbstractNode.startMessagingService
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/-mock-node/start.html b/docs/build/html/api/core.testing/-mock-network/-mock-node/start.html new file mode 100644 index 0000000000..4f65881577 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/-mock-node/start.html @@ -0,0 +1,16 @@ + + +MockNetwork.MockNode.start - + + + +core.testing / MockNetwork / MockNode / start
+
+

start

+ +open fun start(): MockNode
+Overrides AbstractNode.start
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/address-to-node.html b/docs/build/html/api/core.testing/-mock-network/address-to-node.html new file mode 100644 index 0000000000..82d88f3ff3 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/address-to-node.html @@ -0,0 +1,15 @@ + + +MockNetwork.addressToNode - + + + +core.testing / MockNetwork / addressToNode
+
+

addressToNode

+ +fun addressToNode(address: SingleMessageRecipient): MockNode
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/create-node.html b/docs/build/html/api/core.testing/-mock-network/create-node.html new file mode 100644 index 0000000000..d4fe73d33a --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/create-node.html @@ -0,0 +1,16 @@ + + +MockNetwork.createNode - + + + +core.testing / MockNetwork / createNode
+
+

createNode

+ +fun createNode(networkMapAddress: NodeInfo? = null, forcedID: Int = -1, nodeFactory: Factory = defaultFactory, vararg advertisedServices: ServiceType): MockNode
+

Returns a started node, optionally created by the passed factory method

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/create-two-nodes.html b/docs/build/html/api/core.testing/-mock-network/create-two-nodes.html new file mode 100644 index 0000000000..5c36b5e577 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/create-two-nodes.html @@ -0,0 +1,17 @@ + + +MockNetwork.createTwoNodes - + + + +core.testing / MockNetwork / createTwoNodes
+
+

createTwoNodes

+ +fun createTwoNodes(nodeFactory: Factory = defaultFactory): <ERROR CLASS><MockNode, MockNode>
+

Sets up a two node network, in which the first node runs network map and timestamping services and the other +doesnt.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/filesystem.html b/docs/build/html/api/core.testing/-mock-network/filesystem.html new file mode 100644 index 0000000000..f555202525 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/filesystem.html @@ -0,0 +1,15 @@ + + +MockNetwork.filesystem - + + + +core.testing / MockNetwork / filesystem
+
+

filesystem

+ +val filesystem: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/identities.html b/docs/build/html/api/core.testing/-mock-network/identities.html new file mode 100644 index 0000000000..014ec2e23f --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/identities.html @@ -0,0 +1,15 @@ + + +MockNetwork.identities - + + + +core.testing / MockNetwork / identities
+
+

identities

+ +val identities: ArrayList<Party>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/index.html b/docs/build/html/api/core.testing/-mock-network/index.html new file mode 100644 index 0000000000..337ed8ba2f --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/index.html @@ -0,0 +1,124 @@ + + +MockNetwork - + + + +core.testing / MockNetwork
+
+

MockNetwork

+class MockNetwork
+

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. +Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.

+

Mock network nodes require manual pumping by default: they will not run asynchronous. This means that +for message exchanges to take place (and associated handlers to run), you must call the runNetwork +method.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + +
+DefaultFactory +object DefaultFactory : Factory
+Factory +interface Factory

Allows customisation of how nodes are created.

+
+MockNode +class MockNode : AbstractNode
+

Constructors

+ + + + + + + +
+<init> +MockNetwork(threadPerNode: Boolean = false, defaultFactory: Factory = MockNetwork.DefaultFactory)

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. +Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+filesystem +val filesystem: <ERROR CLASS>
+identities +val identities: ArrayList<Party>
+messagingNetwork +val messagingNetwork: InMemoryMessagingNetwork
+nodes +val nodes: List<MockNode>

A read only view of the current set of executing nodes.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+addressToNode +fun addressToNode(address: SingleMessageRecipient): MockNode
+createNode +fun createNode(networkMapAddress: NodeInfo? = null, forcedID: Int = -1, nodeFactory: Factory = defaultFactory, vararg advertisedServices: ServiceType): MockNode

Returns a started node, optionally created by the passed factory method

+
+createTwoNodes +fun createTwoNodes(nodeFactory: Factory = defaultFactory): <ERROR CLASS><MockNode, MockNode>

Sets up a two node network, in which the first node runs network map and timestamping services and the other +doesnt.

+
+runNetwork +fun runNetwork(rounds: Int = -1): Unit

Asks every node in order to process any queued up inbound messages. This may in turn result in nodes +sending more messages to each other, thus, a typical usage is to call runNetwork with the rounds +parameter set to -1 (the default) which simply runs as many rounds as necessary to result in network +stability (no nodes sent any messages in the last round).

+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/messaging-network.html b/docs/build/html/api/core.testing/-mock-network/messaging-network.html new file mode 100644 index 0000000000..0ef8581db8 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/messaging-network.html @@ -0,0 +1,15 @@ + + +MockNetwork.messagingNetwork - + + + +core.testing / MockNetwork / messagingNetwork
+
+

messagingNetwork

+ +val messagingNetwork: InMemoryMessagingNetwork
+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/nodes.html b/docs/build/html/api/core.testing/-mock-network/nodes.html new file mode 100644 index 0000000000..46381893f7 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/nodes.html @@ -0,0 +1,16 @@ + + +MockNetwork.nodes - + + + +core.testing / MockNetwork / nodes
+
+

nodes

+ +val nodes: List<MockNode>
+

A read only view of the current set of executing nodes.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-mock-network/run-network.html b/docs/build/html/api/core.testing/-mock-network/run-network.html new file mode 100644 index 0000000000..6d92852d14 --- /dev/null +++ b/docs/build/html/api/core.testing/-mock-network/run-network.html @@ -0,0 +1,19 @@ + + +MockNetwork.runNetwork - + + + +core.testing / MockNetwork / runNetwork
+
+

runNetwork

+ +fun runNetwork(rounds: Int = -1): Unit
+

Asks every node in order to process any queued up inbound messages. This may in turn result in nodes +sending more messages to each other, thus, a typical usage is to call runNetwork with the rounds +parameter set to -1 (the default) which simply runs as many rounds as necessary to result in network +stability (no nodes sent any messages in the last round).

+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-bank-factory/-init-.html b/docs/build/html/api/core.testing/-simulation/-bank-factory/-init-.html new file mode 100644 index 0000000000..282cbeb414 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-bank-factory/-init-.html @@ -0,0 +1,14 @@ + + +Simulation.BankFactory.<init> - + + + +core.testing / Simulation / BankFactory / <init>
+
+

<init>

+BankFactory()
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-bank-factory/counter.html b/docs/build/html/api/core.testing/-simulation/-bank-factory/counter.html new file mode 100644 index 0000000000..d369268411 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-bank-factory/counter.html @@ -0,0 +1,15 @@ + + +Simulation.BankFactory.counter - + + + +core.testing / Simulation / BankFactory / counter
+
+

counter

+ +var counter: Int
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-bank-factory/create-all.html b/docs/build/html/api/core.testing/-simulation/-bank-factory/create-all.html new file mode 100644 index 0000000000..fa782fea0a --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-bank-factory/create-all.html @@ -0,0 +1,15 @@ + + +Simulation.BankFactory.createAll - + + + +core.testing / Simulation / BankFactory / createAll
+
+

createAll

+ +fun createAll(): List<SimulatedNode>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-bank-factory/create.html b/docs/build/html/api/core.testing/-simulation/-bank-factory/create.html new file mode 100644 index 0000000000..73dc8dfd50 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-bank-factory/create.html @@ -0,0 +1,16 @@ + + +Simulation.BankFactory.create - + + + +core.testing / Simulation / BankFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-bank-factory/index.html b/docs/build/html/api/core.testing/-simulation/-bank-factory/index.html new file mode 100644 index 0000000000..53ab792516 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-bank-factory/index.html @@ -0,0 +1,53 @@ + + +Simulation.BankFactory - + + + +core.testing / Simulation / BankFactory
+
+

BankFactory

+inner class BankFactory : Factory
+
+
+

Constructors

+ + + + + + + +
+<init> +BankFactory()
+

Properties

+ + + + + + + +
+counter +var counter: Int
+

Functions

+ + + + + + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+createAll +fun createAll(): List<SimulatedNode>
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-init-.html b/docs/build/html/api/core.testing/-simulation/-init-.html new file mode 100644 index 0000000000..70eda4e879 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-init-.html @@ -0,0 +1,19 @@ + + +Simulation.<init> - + + + +core.testing / Simulation / <init>
+
+

<init>

+Simulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)
+

Base class for network simulations that are based on the unit test / mock environment.

+

Sets up some nodes that can run protocols between each other, and exposes their progress trackers. Provides banks +in a few cities around the world.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/create.html b/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/create.html new file mode 100644 index 0000000000..46d5bbfa95 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/create.html @@ -0,0 +1,16 @@ + + +Simulation.NetworkMapNodeFactory.create - + + + +core.testing / Simulation / NetworkMapNodeFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/index.html b/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/index.html new file mode 100644 index 0000000000..1f3e20fdcd --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-network-map-node-factory/index.html @@ -0,0 +1,25 @@ + + +Simulation.NetworkMapNodeFactory - + + + +core.testing / Simulation / NetworkMapNodeFactory
+
+

NetworkMapNodeFactory

+object NetworkMapNodeFactory : Factory
+
+
+

Functions

+ + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/create.html b/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/create.html new file mode 100644 index 0000000000..3cb9a85be4 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/create.html @@ -0,0 +1,16 @@ + + +Simulation.RatesOracleFactory.create - + + + +core.testing / Simulation / RatesOracleFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/index.html b/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/index.html new file mode 100644 index 0000000000..3f0abf513d --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-rates-oracle-factory/index.html @@ -0,0 +1,25 @@ + + +Simulation.RatesOracleFactory - + + + +core.testing / Simulation / RatesOracleFactory
+
+

RatesOracleFactory

+object RatesOracleFactory : Factory
+
+
+

Functions

+ + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-regulator-factory/create.html b/docs/build/html/api/core.testing/-simulation/-regulator-factory/create.html new file mode 100644 index 0000000000..420828e891 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-regulator-factory/create.html @@ -0,0 +1,16 @@ + + +Simulation.RegulatorFactory.create - + + + +core.testing / Simulation / RegulatorFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-regulator-factory/index.html b/docs/build/html/api/core.testing/-simulation/-regulator-factory/index.html new file mode 100644 index 0000000000..457fd3265e --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-regulator-factory/index.html @@ -0,0 +1,25 @@ + + +Simulation.RegulatorFactory - + + + +core.testing / Simulation / RegulatorFactory
+
+

RegulatorFactory

+object RegulatorFactory : Factory
+
+
+

Functions

+ + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-simulated-node/-init-.html b/docs/build/html/api/core.testing/-simulation/-simulated-node/-init-.html new file mode 100644 index 0000000000..269717799b --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-simulated-node/-init-.html @@ -0,0 +1,14 @@ + + +Simulation.SimulatedNode.<init> - + + + +core.testing / Simulation / SimulatedNode / <init>
+
+

<init>

+SimulatedNode(dir: Path, config: NodeConfiguration, mockNet: MockNetwork, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int)
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-simulated-node/find-my-location.html b/docs/build/html/api/core.testing/-simulation/-simulated-node/find-my-location.html new file mode 100644 index 0000000000..e0933721c2 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-simulated-node/find-my-location.html @@ -0,0 +1,16 @@ + + +Simulation.SimulatedNode.findMyLocation - + + + +core.testing / Simulation / SimulatedNode / findMyLocation
+
+

findMyLocation

+ +protected open fun findMyLocation(): PhysicalLocation?
+Overrides MockNode.findMyLocation
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-simulated-node/index.html b/docs/build/html/api/core.testing/-simulation/-simulated-node/index.html new file mode 100644 index 0000000000..6eddc0eddd --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-simulated-node/index.html @@ -0,0 +1,100 @@ + + +Simulation.SimulatedNode - + + + +core.testing / Simulation / SimulatedNode
+
+

SimulatedNode

+open class SimulatedNode : MockNode
+
+
+

Constructors

+ + + + + + + +
+<init> +SimulatedNode(dir: Path, config: NodeConfiguration, mockNet: MockNetwork, networkMapAddress: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int)
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+id +val id: Int
+log +open val log: <ERROR CLASS>
+mockNet +val mockNet: MockNetwork
+place +val place: PhysicalLocation
+serverThread +open val serverThread: AffinityExecutor
+

Functions

+ + + + + + + +
+findMyLocation +open fun findMyLocation(): PhysicalLocation?
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+makeIdentityService +open fun makeIdentityService(): MockIdentityService
+makeMessagingService +open fun makeMessagingService(): MessagingService
+start +open fun start(): MockNode
+startMessagingService +open fun startMessagingService(): Unit
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/create.html b/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/create.html new file mode 100644 index 0000000000..ea6005515c --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/create.html @@ -0,0 +1,16 @@ + + +Simulation.TimestampingNodeFactory.create - + + + +core.testing / Simulation / TimestampingNodeFactory / create
+
+

create

+ +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+Overrides Factory.create
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/index.html b/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/index.html new file mode 100644 index 0000000000..1c2517853a --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/-timestamping-node-factory/index.html @@ -0,0 +1,25 @@ + + +Simulation.TimestampingNodeFactory - + + + +core.testing / Simulation / TimestampingNodeFactory
+
+

TimestampingNodeFactory

+object TimestampingNodeFactory : Factory
+
+
+

Functions

+ + + + + + + +
+create +fun create(dir: Path, config: NodeConfiguration, network: MockNetwork, networkMapAddr: NodeInfo?, advertisedServices: Set<ServiceType>, id: Int): MockNode
+ + diff --git a/docs/build/html/api/core.testing/-simulation/all-protocol-steps.html b/docs/build/html/api/core.testing/-simulation/all-protocol-steps.html new file mode 100644 index 0000000000..6f1811c960 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/all-protocol-steps.html @@ -0,0 +1,15 @@ + + +Simulation.allProtocolSteps - + + + +core.testing / Simulation / allProtocolSteps
+
+

allProtocolSteps

+ +val allProtocolSteps: <ERROR CLASS><<ERROR CLASS><SimulatedNode, Change>>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/bank-factory.html b/docs/build/html/api/core.testing/-simulation/bank-factory.html new file mode 100644 index 0000000000..34e947fdfc --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/bank-factory.html @@ -0,0 +1,15 @@ + + +Simulation.bankFactory - + + + +core.testing / Simulation / bankFactory
+
+

bankFactory

+ +val bankFactory: BankFactory
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/bank-locations.html b/docs/build/html/api/core.testing/-simulation/bank-locations.html new file mode 100644 index 0000000000..678ea3e1d2 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/bank-locations.html @@ -0,0 +1,15 @@ + + +Simulation.bankLocations - + + + +core.testing / Simulation / bankLocations
+
+

bankLocations

+ +val bankLocations: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/banks.html b/docs/build/html/api/core.testing/-simulation/banks.html new file mode 100644 index 0000000000..327c39b2d9 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/banks.html @@ -0,0 +1,15 @@ + + +Simulation.banks - + + + +core.testing / Simulation / banks
+
+

banks

+ +val banks: List<SimulatedNode>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/current-day.html b/docs/build/html/api/core.testing/-simulation/current-day.html new file mode 100644 index 0000000000..ccc1842d22 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/current-day.html @@ -0,0 +1,17 @@ + + +Simulation.currentDay - + + + +core.testing / Simulation / currentDay
+
+

currentDay

+ +var currentDay: LocalDate
+

The current simulated date. By default this never changes. If you want it to change, you should do so from +within your overridden iterate call. Changes in the current day surface in the dateChanges observable.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/date-changes.html b/docs/build/html/api/core.testing/-simulation/date-changes.html new file mode 100644 index 0000000000..9e4ef67ebc --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/date-changes.html @@ -0,0 +1,15 @@ + + +Simulation.dateChanges - + + + +core.testing / Simulation / dateChanges
+
+

dateChanges

+ +val dateChanges: <ERROR CLASS><LocalDate>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/done-steps.html b/docs/build/html/api/core.testing/-simulation/done-steps.html new file mode 100644 index 0000000000..a931f01cfb --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/done-steps.html @@ -0,0 +1,15 @@ + + +Simulation.doneSteps - + + + +core.testing / Simulation / doneSteps
+
+

doneSteps

+ +val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/extra-node-labels.html b/docs/build/html/api/core.testing/-simulation/extra-node-labels.html new file mode 100644 index 0000000000..f20204204b --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/extra-node-labels.html @@ -0,0 +1,17 @@ + + +Simulation.extraNodeLabels - + + + +core.testing / Simulation / extraNodeLabels
+
+

extraNodeLabels

+ +val extraNodeLabels: MutableMap<SimulatedNode, String>
+

A place for simulations to stash human meaningful text about what the node is "thinking", which might appear +in the UI somewhere.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/index.html b/docs/build/html/api/core.testing/-simulation/index.html new file mode 100644 index 0000000000..c078a1054d --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/index.html @@ -0,0 +1,241 @@ + + +Simulation - + + + +core.testing / Simulation
+
+

Simulation

+abstract class Simulation
+

Base class for network simulations that are based on the unit test / mock environment.

+

Sets up some nodes that can run protocols between each other, and exposes their progress trackers. Provides banks +in a few cities around the world.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+BankFactory +inner class BankFactory : Factory
+NetworkMapNodeFactory +object NetworkMapNodeFactory : Factory
+RatesOracleFactory +object RatesOracleFactory : Factory
+RegulatorFactory +object RegulatorFactory : Factory
+SimulatedNode +open class SimulatedNode : MockNode
+TimestampingNodeFactory +object TimestampingNodeFactory : Factory
+

Constructors

+ + + + + + + +
+<init> +Simulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)

Base class for network simulations that are based on the unit test / mock environment.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+allProtocolSteps +val allProtocolSteps: <ERROR CLASS><<ERROR CLASS><SimulatedNode, Change>>
+bankFactory +val bankFactory: BankFactory
+bankLocations +val bankLocations: <ERROR CLASS>
+banks +val banks: List<SimulatedNode>
+currentDay +var currentDay: LocalDate

The current simulated date. By default this never changes. If you want it to change, you should do so from +within your overridden iterate call. Changes in the current day surface in the dateChanges observable.

+
+dateChanges +val dateChanges: <ERROR CLASS><LocalDate>
+doneSteps +val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
+extraNodeLabels +val extraNodeLabels: MutableMap<SimulatedNode, String>

A place for simulations to stash human meaningful text about what the node is "thinking", which might appear +in the UI somewhere.

+
+latencyInjector +val latencyInjector: LatencyCalculator?
+network +val network: MockNetwork
+networkMap +val networkMap: SimulatedNode
+ratesOracle +val ratesOracle: SimulatedNode
+regulators +val regulators: List<SimulatedNode>
+runAsync +val runAsync: Boolean
+serviceProviders +val serviceProviders: List<SimulatedNode>
+timestamper +val timestamper: SimulatedNode
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+iterate +open fun iterate(): Unit

Iterates the simulation by one step.

+
+linkConsensus +fun linkConsensus(nodes: Collection<SimulatedNode>, protocol: ProtocolLogic<*>): Unit
+linkProtocolProgress +fun linkProtocolProgress(node: SimulatedNode, protocol: ProtocolLogic<*>): Unit
+start +open fun start(): Unit
+startTradingCircle +fun startTradingCircle(tradeBetween: (Int, Int) -> <ERROR CLASS><out <ERROR CLASS>>): Unit

Given a function that returns a future, iterates that function with arguments like (0, 1), (1, 2), (2, 3) etc +each time the returned future completes.

+
+stop +fun stop(): Unit
+

Inheritors

+ + + + + + + + + + + +
+IRSSimulation +class IRSSimulation : Simulation

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+TradeSimulation +class TradeSimulation : Simulation

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/iterate.html b/docs/build/html/api/core.testing/-simulation/iterate.html new file mode 100644 index 0000000000..e8971cfd88 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/iterate.html @@ -0,0 +1,22 @@ + + +Simulation.iterate - + + + +core.testing / Simulation / iterate
+
+

iterate

+ +open fun iterate(): Unit
+

Iterates the simulation by one step.

+

The default implementation circles around the nodes, pumping until one of them handles a message. The next call +will carry on from where this one stopped. In an environment where you want to take actions between anything +interesting happening, or control the precise speed at which things operate (beyond the latency injector), this +is a useful way to do things.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/latency-injector.html b/docs/build/html/api/core.testing/-simulation/latency-injector.html new file mode 100644 index 0000000000..60b97e0b0a --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/latency-injector.html @@ -0,0 +1,15 @@ + + +Simulation.latencyInjector - + + + +core.testing / Simulation / latencyInjector
+
+

latencyInjector

+ +val latencyInjector: LatencyCalculator?
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/link-consensus.html b/docs/build/html/api/core.testing/-simulation/link-consensus.html new file mode 100644 index 0000000000..d531ec62b4 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/link-consensus.html @@ -0,0 +1,15 @@ + + +Simulation.linkConsensus - + + + +core.testing / Simulation / linkConsensus
+
+

linkConsensus

+ +protected fun linkConsensus(nodes: Collection<SimulatedNode>, protocol: ProtocolLogic<*>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/link-protocol-progress.html b/docs/build/html/api/core.testing/-simulation/link-protocol-progress.html new file mode 100644 index 0000000000..a87f8be26d --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/link-protocol-progress.html @@ -0,0 +1,15 @@ + + +Simulation.linkProtocolProgress - + + + +core.testing / Simulation / linkProtocolProgress
+
+

linkProtocolProgress

+ +protected fun linkProtocolProgress(node: SimulatedNode, protocol: ProtocolLogic<*>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/network-map.html b/docs/build/html/api/core.testing/-simulation/network-map.html new file mode 100644 index 0000000000..0e6267bfe7 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/network-map.html @@ -0,0 +1,15 @@ + + +Simulation.networkMap - + + + +core.testing / Simulation / networkMap
+
+

networkMap

+ +val networkMap: SimulatedNode
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/network.html b/docs/build/html/api/core.testing/-simulation/network.html new file mode 100644 index 0000000000..7969e71dca --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/network.html @@ -0,0 +1,15 @@ + + +Simulation.network - + + + +core.testing / Simulation / network
+
+

network

+ +val network: MockNetwork
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/rates-oracle.html b/docs/build/html/api/core.testing/-simulation/rates-oracle.html new file mode 100644 index 0000000000..6c44429d76 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/rates-oracle.html @@ -0,0 +1,15 @@ + + +Simulation.ratesOracle - + + + +core.testing / Simulation / ratesOracle
+
+

ratesOracle

+ +val ratesOracle: SimulatedNode
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/regulators.html b/docs/build/html/api/core.testing/-simulation/regulators.html new file mode 100644 index 0000000000..73eefc9f84 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/regulators.html @@ -0,0 +1,15 @@ + + +Simulation.regulators - + + + +core.testing / Simulation / regulators
+
+

regulators

+ +val regulators: List<SimulatedNode>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/run-async.html b/docs/build/html/api/core.testing/-simulation/run-async.html new file mode 100644 index 0000000000..089def887d --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/run-async.html @@ -0,0 +1,15 @@ + + +Simulation.runAsync - + + + +core.testing / Simulation / runAsync
+
+

runAsync

+ +val runAsync: Boolean
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/service-providers.html b/docs/build/html/api/core.testing/-simulation/service-providers.html new file mode 100644 index 0000000000..6064a096c8 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/service-providers.html @@ -0,0 +1,15 @@ + + +Simulation.serviceProviders - + + + +core.testing / Simulation / serviceProviders
+
+

serviceProviders

+ +val serviceProviders: List<SimulatedNode>
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/start-trading-circle.html b/docs/build/html/api/core.testing/-simulation/start-trading-circle.html new file mode 100644 index 0000000000..8c3f2d463a --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/start-trading-circle.html @@ -0,0 +1,17 @@ + + +Simulation.startTradingCircle - + + + +core.testing / Simulation / startTradingCircle
+
+

startTradingCircle

+ +fun startTradingCircle(tradeBetween: (Int, Int) -> <ERROR CLASS><out <ERROR CLASS>>): Unit
+

Given a function that returns a future, iterates that function with arguments like (0, 1), (1, 2), (2, 3) etc +each time the returned future completes.

+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/start.html b/docs/build/html/api/core.testing/-simulation/start.html new file mode 100644 index 0000000000..eadfabecd7 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/start.html @@ -0,0 +1,15 @@ + + +Simulation.start - + + + +core.testing / Simulation / start
+
+

start

+ +open fun start(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/stop.html b/docs/build/html/api/core.testing/-simulation/stop.html new file mode 100644 index 0000000000..4061571a45 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/stop.html @@ -0,0 +1,15 @@ + + +Simulation.stop - + + + +core.testing / Simulation / stop
+
+

stop

+ +fun stop(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.testing/-simulation/timestamper.html b/docs/build/html/api/core.testing/-simulation/timestamper.html new file mode 100644 index 0000000000..cbe0c85086 --- /dev/null +++ b/docs/build/html/api/core.testing/-simulation/timestamper.html @@ -0,0 +1,15 @@ + + +Simulation.timestamper - + + + +core.testing / Simulation / timestamper
+
+

timestamper

+ +val timestamper: SimulatedNode
+
+
+ + diff --git a/docs/build/html/api/core.testing/-trade-simulation/-init-.html b/docs/build/html/api/core.testing/-trade-simulation/-init-.html new file mode 100644 index 0000000000..a534d1b0bb --- /dev/null +++ b/docs/build/html/api/core.testing/-trade-simulation/-init-.html @@ -0,0 +1,16 @@ + + +TradeSimulation.<init> - + + + +core.testing / TradeSimulation / <init>
+
+

<init>

+TradeSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)
+

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+
+ + diff --git a/docs/build/html/api/core.testing/-trade-simulation/index.html b/docs/build/html/api/core.testing/-trade-simulation/index.html new file mode 100644 index 0000000000..10c5318bc2 --- /dev/null +++ b/docs/build/html/api/core.testing/-trade-simulation/index.html @@ -0,0 +1,183 @@ + + +TradeSimulation - + + + +core.testing / TradeSimulation
+
+

TradeSimulation

+class TradeSimulation : Simulation
+

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+
+

Constructors

+ + + + + + + +
+<init> +TradeSimulation(runAsync: Boolean, latencyInjector: LatencyCalculator?)

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+allProtocolSteps +val allProtocolSteps: <ERROR CLASS><<ERROR CLASS><SimulatedNode, Change>>
+bankFactory +val bankFactory: BankFactory
+bankLocations +val bankLocations: <ERROR CLASS>
+banks +val banks: List<SimulatedNode>
+currentDay +var currentDay: LocalDate

The current simulated date. By default this never changes. If you want it to change, you should do so from +within your overridden iterate call. Changes in the current day surface in the dateChanges observable.

+
+dateChanges +val dateChanges: <ERROR CLASS><LocalDate>
+doneSteps +val doneSteps: <ERROR CLASS><Collection<SimulatedNode>>
+extraNodeLabels +val extraNodeLabels: MutableMap<SimulatedNode, String>

A place for simulations to stash human meaningful text about what the node is "thinking", which might appear +in the UI somewhere.

+
+latencyInjector +val latencyInjector: LatencyCalculator?
+network +val network: MockNetwork
+networkMap +val networkMap: SimulatedNode
+ratesOracle +val ratesOracle: SimulatedNode
+regulators +val regulators: List<SimulatedNode>
+runAsync +val runAsync: Boolean
+serviceProviders +val serviceProviders: List<SimulatedNode>
+timestamper +val timestamper: SimulatedNode
+

Functions

+ + + + + + + +
+start +fun start(): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+iterate +open fun iterate(): Unit

Iterates the simulation by one step.

+
+linkConsensus +fun linkConsensus(nodes: Collection<SimulatedNode>, protocol: ProtocolLogic<*>): Unit
+linkProtocolProgress +fun linkProtocolProgress(node: SimulatedNode, protocol: ProtocolLogic<*>): Unit
+startTradingCircle +fun startTradingCircle(tradeBetween: (Int, Int) -> <ERROR CLASS><out <ERROR CLASS>>): Unit

Given a function that returns a future, iterates that function with arguments like (0, 1), (1, 2), (2, 3) etc +each time the returned future completes.

+
+stop +fun stop(): Unit
+ + diff --git a/docs/build/html/api/core.testing/-trade-simulation/start.html b/docs/build/html/api/core.testing/-trade-simulation/start.html new file mode 100644 index 0000000000..52c44ce7ab --- /dev/null +++ b/docs/build/html/api/core.testing/-trade-simulation/start.html @@ -0,0 +1,16 @@ + + +TradeSimulation.start - + + + +core.testing / TradeSimulation / start
+
+

start

+ +fun start(): Unit
+Overrides Simulation.start
+
+
+ + diff --git a/docs/build/html/api/core.testing/index.html b/docs/build/html/api/core.testing/index.html new file mode 100644 index 0000000000..a749a23036 --- /dev/null +++ b/docs/build/html/api/core.testing/index.html @@ -0,0 +1,74 @@ + + +core.testing - + + + +core.testing
+
+

Package core.testing

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+IRSSimulation +class IRSSimulation : Simulation

A simulation in which banks execute interest rate swaps with each other, including the fixing events.

+
+InMemoryMessagingNetwork +class InMemoryMessagingNetwork

An in-memory network allows you to manufacture InMemoryMessagings for a set of participants. Each +InMemoryMessaging maintains a queue of messages it has received, and a background thread that dispatches +messages one by one to registered handlers. Alternatively, a messaging system may be manually pumped, in which +case no thread is created and a caller is expected to force delivery one at a time (this is useful for unit +testing).

+
+MockIdentityService +class MockIdentityService : IdentityService

Scaffolding: a dummy identity service that just expects to have identities loaded off disk or found elsewhere. +This class allows the provided list of identities to be mutated after construction, so it takes the list lock +when doing lookups and recalculates the mapping each time. The ability to change the list is used by the +MockNetwork code.

+
+MockNetwork +class MockNetwork

A mock node brings up a suite of in-memory services in a fast manner suitable for unit testing. +Components that do IO are either swapped out for mocks, or pointed to a Jimfs in memory filesystem.

+
+MockNetworkMapCache +class MockNetworkMapCache : InMemoryNetworkMapCache

Network map cache with no backing map service.

+
+Simulation +abstract class Simulation

Base class for network simulations that are based on the unit test / mock environment.

+
+TradeSimulation +class TradeSimulation : Simulation

Simulates a never ending series of trades that go pair-wise through the banks (e.g. A and B trade with each other, +then B and C trade with each other, then C and A etc).

+
+ + diff --git a/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/index.html b/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/index.html new file mode 100644 index 0000000000..7da9900c13 --- /dev/null +++ b/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/index.html @@ -0,0 +1,31 @@ + + +ANSIProgressRenderer - + + + +core.utilities / ANSIProgressRenderer
+
+

ANSIProgressRenderer

+object ANSIProgressRenderer
+

Knows how to render a ProgressTracker to the terminal using coloured, emoji-fied output. Useful when writing small +command line tools, demos, tests etc. Just set the progressTracker field and it will go ahead and start drawing +if the terminal supports it. Otherwise it just prints out the name of the step whenever it changes.

+

TODO: Thread safety

+
+
+
+
+

Properties

+ + + + + + + +
+progressTracker +var progressTracker: ProgressTracker?
+ + diff --git a/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/progress-tracker.html b/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/progress-tracker.html new file mode 100644 index 0000000000..7e37f12890 --- /dev/null +++ b/docs/build/html/api/core.utilities/-a-n-s-i-progress-renderer/progress-tracker.html @@ -0,0 +1,15 @@ + + +ANSIProgressRenderer.progressTracker - + + + +core.utilities / ANSIProgressRenderer / progressTracker
+
+

progressTracker

+ +var progressTracker: ProgressTracker?
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-add-or-remove/-a-d-d.html b/docs/build/html/api/core.utilities/-add-or-remove/-a-d-d.html new file mode 100644 index 0000000000..76227a9c94 --- /dev/null +++ b/docs/build/html/api/core.utilities/-add-or-remove/-a-d-d.html @@ -0,0 +1,14 @@ + + +AddOrRemove.ADD - + + + +core.utilities / AddOrRemove / ADD
+
+

ADD

+ADD
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-add-or-remove/-r-e-m-o-v-e.html b/docs/build/html/api/core.utilities/-add-or-remove/-r-e-m-o-v-e.html new file mode 100644 index 0000000000..5b461da6d7 --- /dev/null +++ b/docs/build/html/api/core.utilities/-add-or-remove/-r-e-m-o-v-e.html @@ -0,0 +1,14 @@ + + +AddOrRemove.REMOVE - + + + +core.utilities / AddOrRemove / REMOVE
+
+

REMOVE

+REMOVE
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-add-or-remove/index.html b/docs/build/html/api/core.utilities/-add-or-remove/index.html new file mode 100644 index 0000000000..542405cb16 --- /dev/null +++ b/docs/build/html/api/core.utilities/-add-or-remove/index.html @@ -0,0 +1,32 @@ + + +AddOrRemove - + + + +core.utilities / AddOrRemove
+
+

AddOrRemove

+enum class AddOrRemove
+

Enum for when adding/removing something, for example adding or removing an entry in a directory.

+
+
+

Enum Values

+ + + + + + + + + + + +
+ADD +
+REMOVE +
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/-init-.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/-init-.html new file mode 100644 index 0000000000..80062a2c6f --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/-init-.html @@ -0,0 +1,19 @@ + + +AffinityExecutor.Gate.<init> - + + + +core.utilities / AffinityExecutor / Gate / <init>
+
+

<init>

+Gate(alwaysQueue: Boolean = false)
+

An executor useful for unit tests: allows the current thread to block until a command arrives from another +thread, which is then executed. Inbound closures/commands stack up until they are cleared by looping.

+

Parameters

+ +alwaysQueue - If true, executeASAP will never short-circuit and will always queue up.
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/execute.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/execute.html new file mode 100644 index 0000000000..762d8ce916 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/execute.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.Gate.execute - + + + +core.utilities / AffinityExecutor / Gate / execute
+
+

execute

+ +fun execute(command: Runnable): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/index.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/index.html new file mode 100644 index 0000000000..0193716541 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/index.html @@ -0,0 +1,102 @@ + + +AffinityExecutor.Gate - + + + +core.utilities / AffinityExecutor / Gate
+
+

Gate

+class Gate : AffinityExecutor
+

An executor useful for unit tests: allows the current thread to block until a command arrives from another +thread, which is then executed. Inbound closures/commands stack up until they are cleared by looping.

+

Parameters

+ +alwaysQueue - If true, executeASAP will never short-circuit and will always queue up.
+
+
+

Constructors

+ + + + + + + +
+<init> +Gate(alwaysQueue: Boolean = false)

An executor useful for unit tests: allows the current thread to block until a command arrives from another +thread, which is then executed. Inbound closures/commands stack up until they are cleared by looping.

+
+

Properties

+ + + + + + + + + + + +
+isOnThread +val isOnThread: Boolean

Returns true if the current thread is equal to the thread this executor is backed by.

+
+taskQueueSize +val taskQueueSize: Int
+

Functions

+ + + + + + + + + + + +
+execute +fun execute(command: Runnable): Unit
+waitAndRun +fun waitAndRun(): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+checkOnThread +open fun checkOnThread(): Unit

Throws an IllegalStateException if the current thread is not one of the threads this executor is backed by.

+
+executeASAP +open fun executeASAP(runnable: () -> Unit): Unit

If isOnThread() then runnable is invoked immediately, otherwise the closure is queued onto the backing thread.

+
+fetchFrom +open fun <T> fetchFrom(fetcher: () -> T): T

Runs the given function on the executor, blocking until the result is available. Be careful not to deadlock this +way Make sure the executor cant possibly be waiting for the calling thread.

+
+flush +open fun flush(): Unit

Posts a no-op task to the executor and blocks this thread waiting for it to complete. This can be useful in +tests when you want to be sure that a previous task submitted via execute has completed.

+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/is-on-thread.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/is-on-thread.html new file mode 100644 index 0000000000..287a88307b --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/is-on-thread.html @@ -0,0 +1,20 @@ + + +AffinityExecutor.Gate.isOnThread - + + + +core.utilities / AffinityExecutor / Gate / isOnThread
+
+

isOnThread

+ +val isOnThread: Boolean
+Overrides AffinityExecutor.isOnThread
+

Returns true if the current thread is equal to the thread this executor is backed by.

+Getter
+

Returns true if the current thread is equal to the thread this executor is backed by.

+
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/task-queue-size.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/task-queue-size.html new file mode 100644 index 0000000000..79ab88d13b --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/task-queue-size.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.Gate.taskQueueSize - + + + +core.utilities / AffinityExecutor / Gate / taskQueueSize
+
+

taskQueueSize

+ +val taskQueueSize: Int
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-gate/wait-and-run.html b/docs/build/html/api/core.utilities/-affinity-executor/-gate/wait-and-run.html new file mode 100644 index 0000000000..9f04059860 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-gate/wait-and-run.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.Gate.waitAndRun - + + + +core.utilities / AffinityExecutor / Gate / waitAndRun
+
+

waitAndRun

+ +fun waitAndRun(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-s-a-m-e_-t-h-r-e-a-d.html b/docs/build/html/api/core.utilities/-affinity-executor/-s-a-m-e_-t-h-r-e-a-d.html new file mode 100644 index 0000000000..116d1a630d --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-s-a-m-e_-t-h-r-e-a-d.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.SAME_THREAD - + + + +core.utilities / AffinityExecutor / SAME_THREAD
+
+

SAME_THREAD

+ +val SAME_THREAD: AffinityExecutor
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/-init-.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/-init-.html new file mode 100644 index 0000000000..2c36d61ab8 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/-init-.html @@ -0,0 +1,16 @@ + + +AffinityExecutor.ServiceAffinityExecutor.<init> - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor / <init>
+
+

<init>

+ServiceAffinityExecutor(threadName: String, numThreads: Int)
+

An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule +tasks in the future and verify code is running on the executor.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/after-execute.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/after-execute.html new file mode 100644 index 0000000000..6e22ad5b7d --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/after-execute.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.ServiceAffinityExecutor.afterExecute - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor / afterExecute
+
+

afterExecute

+ +protected fun afterExecute(r: Runnable, t: Throwable?): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/index.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/index.html new file mode 100644 index 0000000000..cfec5ab733 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/index.html @@ -0,0 +1,104 @@ + + +AffinityExecutor.ServiceAffinityExecutor - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor
+
+

ServiceAffinityExecutor

+class ServiceAffinityExecutor : AffinityExecutor, ThreadPoolExecutor
+

An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule +tasks in the future and verify code is running on the executor.

+
+
+

Constructors

+ + + + + + + +
+<init> +ServiceAffinityExecutor(threadName: String, numThreads: Int)

An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule +tasks in the future and verify code is running on the executor.

+
+

Properties

+ + + + + + + + + + + +
+isOnThread +val isOnThread: Boolean

Returns true if the current thread is equal to the thread this executor is backed by.

+
+threads +val threads: MutableSet<Thread>
+

Functions

+ + + + + + + +
+afterExecute +fun afterExecute(r: Runnable, t: Throwable?): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+checkOnThread +open fun checkOnThread(): Unit

Throws an IllegalStateException if the current thread is not one of the threads this executor is backed by.

+
+executeASAP +open fun executeASAP(runnable: () -> Unit): Unit

If isOnThread() then runnable is invoked immediately, otherwise the closure is queued onto the backing thread.

+
+fetchFrom +open fun <T> fetchFrom(fetcher: () -> T): T

Runs the given function on the executor, blocking until the result is available. Be careful not to deadlock this +way Make sure the executor cant possibly be waiting for the calling thread.

+
+flush +open fun flush(): Unit

Posts a no-op task to the executor and blocks this thread waiting for it to complete. This can be useful in +tests when you want to be sure that a previous task submitted via execute has completed.

+
+

Companion Object Properties

+ + + + + + + +
+logger +val logger: <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/is-on-thread.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/is-on-thread.html new file mode 100644 index 0000000000..0513d3b4af --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/is-on-thread.html @@ -0,0 +1,20 @@ + + +AffinityExecutor.ServiceAffinityExecutor.isOnThread - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor / isOnThread
+
+

isOnThread

+ +val isOnThread: Boolean
+Overrides AffinityExecutor.isOnThread
+

Returns true if the current thread is equal to the thread this executor is backed by.

+Getter
+

Returns true if the current thread is equal to the thread this executor is backed by.

+
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/logger.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/logger.html new file mode 100644 index 0000000000..cb5083da7a --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/logger.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.ServiceAffinityExecutor.logger - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor / logger
+
+

logger

+ +val logger: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/threads.html b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/threads.html new file mode 100644 index 0000000000..131f2831fb --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/-service-affinity-executor/threads.html @@ -0,0 +1,15 @@ + + +AffinityExecutor.ServiceAffinityExecutor.threads - + + + +core.utilities / AffinityExecutor / ServiceAffinityExecutor / threads
+
+

threads

+ +protected val threads: MutableSet<Thread>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/check-on-thread.html b/docs/build/html/api/core.utilities/-affinity-executor/check-on-thread.html new file mode 100644 index 0000000000..3e741168f2 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/check-on-thread.html @@ -0,0 +1,16 @@ + + +AffinityExecutor.checkOnThread - + + + +core.utilities / AffinityExecutor / checkOnThread
+
+

checkOnThread

+ +open fun checkOnThread(): Unit
+

Throws an IllegalStateException if the current thread is not one of the threads this executor is backed by.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/execute-a-s-a-p.html b/docs/build/html/api/core.utilities/-affinity-executor/execute-a-s-a-p.html new file mode 100644 index 0000000000..ef2b92cc21 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/execute-a-s-a-p.html @@ -0,0 +1,16 @@ + + +AffinityExecutor.executeASAP - + + + +core.utilities / AffinityExecutor / executeASAP
+
+

executeASAP

+ +open fun executeASAP(runnable: () -> Unit): Unit
+

If isOnThread() then runnable is invoked immediately, otherwise the closure is queued onto the backing thread.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/fetch-from.html b/docs/build/html/api/core.utilities/-affinity-executor/fetch-from.html new file mode 100644 index 0000000000..0d61bdcd88 --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/fetch-from.html @@ -0,0 +1,17 @@ + + +AffinityExecutor.fetchFrom - + + + +core.utilities / AffinityExecutor / fetchFrom
+
+

fetchFrom

+ +open fun <T> fetchFrom(fetcher: () -> T): T
+

Runs the given function on the executor, blocking until the result is available. Be careful not to deadlock this +way Make sure the executor cant possibly be waiting for the calling thread.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/flush.html b/docs/build/html/api/core.utilities/-affinity-executor/flush.html new file mode 100644 index 0000000000..585d8888de --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/flush.html @@ -0,0 +1,17 @@ + + +AffinityExecutor.flush - + + + +core.utilities / AffinityExecutor / flush
+
+

flush

+ +open fun flush(): Unit
+

Posts a no-op task to the executor and blocks this thread waiting for it to complete. This can be useful in +tests when you want to be sure that a previous task submitted via execute has completed.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/index.html b/docs/build/html/api/core.utilities/-affinity-executor/index.html new file mode 100644 index 0000000000..c911c81f1b --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/index.html @@ -0,0 +1,116 @@ + + +AffinityExecutor - + + + +core.utilities / AffinityExecutor
+
+

AffinityExecutor

+interface AffinityExecutor : Executor
+

An extended executor interface that supports thread affinity assertions and short circuiting. This can be useful +for ensuring code runs on the right thread, and also for unit testing.

+
+
+

Types

+ + + + + + + + + + + +
+Gate +class Gate : AffinityExecutor

An executor useful for unit tests: allows the current thread to block until a command arrives from another +thread, which is then executed. Inbound closures/commands stack up until they are cleared by looping.

+
+ServiceAffinityExecutor +class ServiceAffinityExecutor : AffinityExecutor, ThreadPoolExecutor

An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule +tasks in the future and verify code is running on the executor.

+
+

Properties

+ + + + + + + +
+isOnThread +abstract val isOnThread: Boolean

Returns true if the current thread is equal to the thread this executor is backed by.

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+checkOnThread +open fun checkOnThread(): Unit

Throws an IllegalStateException if the current thread is not one of the threads this executor is backed by.

+
+executeASAP +open fun executeASAP(runnable: () -> Unit): Unit

If isOnThread() then runnable is invoked immediately, otherwise the closure is queued onto the backing thread.

+
+fetchFrom +open fun <T> fetchFrom(fetcher: () -> T): T

Runs the given function on the executor, blocking until the result is available. Be careful not to deadlock this +way Make sure the executor cant possibly be waiting for the calling thread.

+
+flush +open fun flush(): Unit

Posts a no-op task to the executor and blocks this thread waiting for it to complete. This can be useful in +tests when you want to be sure that a previous task submitted via execute has completed.

+
+

Companion Object Properties

+ + + + + + + +
+SAME_THREAD +val SAME_THREAD: AffinityExecutor
+

Inheritors

+ + + + + + + + + + + +
+Gate +class Gate : AffinityExecutor

An executor useful for unit tests: allows the current thread to block until a command arrives from another +thread, which is then executed. Inbound closures/commands stack up until they are cleared by looping.

+
+ServiceAffinityExecutor +class ServiceAffinityExecutor : AffinityExecutor, ThreadPoolExecutor

An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule +tasks in the future and verify code is running on the executor.

+
+ + diff --git a/docs/build/html/api/core.utilities/-affinity-executor/is-on-thread.html b/docs/build/html/api/core.utilities/-affinity-executor/is-on-thread.html new file mode 100644 index 0000000000..d8d7a70a7b --- /dev/null +++ b/docs/build/html/api/core.utilities/-affinity-executor/is-on-thread.html @@ -0,0 +1,16 @@ + + +AffinityExecutor.isOnThread - + + + +core.utilities / AffinityExecutor / isOnThread
+
+

isOnThread

+ +abstract val isOnThread: Boolean
+

Returns true if the current thread is equal to the thread this executor is backed by.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/-init-.html b/docs/build/html/api/core.utilities/-brief-log-formatter/-init-.html new file mode 100644 index 0000000000..7c2e4e6af1 --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/-init-.html @@ -0,0 +1,15 @@ + + +BriefLogFormatter.<init> - + + + +core.utilities / BriefLogFormatter / <init>
+
+

<init>

+BriefLogFormatter()
+

A Java logging formatter that writes more compact output than the default.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/format.html b/docs/build/html/api/core.utilities/-brief-log-formatter/format.html new file mode 100644 index 0000000000..70d22f5c28 --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/format.html @@ -0,0 +1,15 @@ + + +BriefLogFormatter.format - + + + +core.utilities / BriefLogFormatter / format
+
+

format

+ +fun format(logRecord: LogRecord): String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/index.html b/docs/build/html/api/core.utilities/-brief-log-formatter/index.html new file mode 100644 index 0000000000..5965fbf2dd --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/index.html @@ -0,0 +1,73 @@ + + +BriefLogFormatter - + + + +core.utilities / BriefLogFormatter
+
+

BriefLogFormatter

+class BriefLogFormatter : Formatter
+

A Java logging formatter that writes more compact output than the default.

+
+
+

Constructors

+ + + + + + + +
+<init> +BriefLogFormatter()

A Java logging formatter that writes more compact output than the default.

+
+

Functions

+ + + + + + + +
+format +fun format(logRecord: LogRecord): String
+

Companion Object Functions

+ + + + + + + + + + + + + + + + + + + +
+init +fun init(): Unit

Configures JDK logging to use this class for everything.

+
+initVerbose +fun initVerbose(vararg loggerNames: String): Unit

Takes a set of strings identifying logger names for which the logging level should be configured. +If the logger name starts with a + or an ordinary character, the level is set to Level.ALL. If it starts +with a - then logging is switched off.

+
+loggingOff +fun loggingOff(vararg names: String): Unit
+fun loggingOff(vararg classes: KClass<*>): Unit
+loggingOn +fun loggingOn(vararg names: String): Unit
+fun loggingOn(vararg classes: KClass<*>): Unit
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/init-verbose.html b/docs/build/html/api/core.utilities/-brief-log-formatter/init-verbose.html new file mode 100644 index 0000000000..920c2e131d --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/init-verbose.html @@ -0,0 +1,18 @@ + + +BriefLogFormatter.initVerbose - + + + +core.utilities / BriefLogFormatter / initVerbose
+
+

initVerbose

+ +fun initVerbose(vararg loggerNames: String): Unit
+

Takes a set of strings identifying logger names for which the logging level should be configured. +If the logger name starts with a + or an ordinary character, the level is set to Level.ALL. If it starts +with a - then logging is switched off.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/init.html b/docs/build/html/api/core.utilities/-brief-log-formatter/init.html new file mode 100644 index 0000000000..53cb05f503 --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/init.html @@ -0,0 +1,16 @@ + + +BriefLogFormatter.init - + + + +core.utilities / BriefLogFormatter / init
+
+

init

+ +fun init(): Unit
+

Configures JDK logging to use this class for everything.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/logging-off.html b/docs/build/html/api/core.utilities/-brief-log-formatter/logging-off.html new file mode 100644 index 0000000000..7ad456b3d2 --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/logging-off.html @@ -0,0 +1,17 @@ + + +BriefLogFormatter.loggingOff - + + + +core.utilities / BriefLogFormatter / loggingOff
+
+

loggingOff

+ +fun loggingOff(vararg names: String): Unit
+ +fun loggingOff(vararg classes: KClass<*>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-brief-log-formatter/logging-on.html b/docs/build/html/api/core.utilities/-brief-log-formatter/logging-on.html new file mode 100644 index 0000000000..3cbfedd011 --- /dev/null +++ b/docs/build/html/api/core.utilities/-brief-log-formatter/logging-on.html @@ -0,0 +1,17 @@ + + +BriefLogFormatter.loggingOn - + + + +core.utilities / BriefLogFormatter / loggingOn
+
+

loggingOn

+ +fun loggingOn(vararg names: String): Unit
+ +fun loggingOn(vararg classes: KClass<*>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-b-a-g_-o-f_-c-a-s-h.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-b-a-g_-o-f_-c-a-s-h.html new file mode 100644 index 0000000000..f56bc76eb5 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-b-a-g_-o-f_-c-a-s-h.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_BAG_OF_CASH - + + + +core.utilities / Emoji / CODE_BAG_OF_CASH
+
+

CODE_BAG_OF_CASH

+ +const val CODE_BAG_OF_CASH: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-d-i-a-m-o-n-d.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-d-i-a-m-o-n-d.html new file mode 100644 index 0000000000..a6e6697383 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-d-i-a-m-o-n-d.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_DIAMOND - + + + +core.utilities / Emoji / CODE_DIAMOND
+
+

CODE_DIAMOND

+ +const val CODE_DIAMOND: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-g-r-e-e-n_-t-i-c-k.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-g-r-e-e-n_-t-i-c-k.html new file mode 100644 index 0000000000..72624c3f88 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-g-r-e-e-n_-t-i-c-k.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_GREEN_TICK - + + + +core.utilities / Emoji / CODE_GREEN_TICK
+
+

CODE_GREEN_TICK

+ +const val CODE_GREEN_TICK: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-l-e-f-t_-a-r-r-o-w.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-l-e-f-t_-a-r-r-o-w.html new file mode 100644 index 0000000000..04abb44704 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-l-e-f-t_-a-r-r-o-w.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_LEFT_ARROW - + + + +core.utilities / Emoji / CODE_LEFT_ARROW
+
+

CODE_LEFT_ARROW

+ +const val CODE_LEFT_ARROW: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-n-e-w-s-p-a-p-e-r.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-n-e-w-s-p-a-p-e-r.html new file mode 100644 index 0000000000..d856145fbe --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-n-e-w-s-p-a-p-e-r.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_NEWSPAPER - + + + +core.utilities / Emoji / CODE_NEWSPAPER
+
+

CODE_NEWSPAPER

+ +const val CODE_NEWSPAPER: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-p-a-p-e-r-c-l-i-p.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-p-a-p-e-r-c-l-i-p.html new file mode 100644 index 0000000000..210a7adc32 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-p-a-p-e-r-c-l-i-p.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_PAPERCLIP - + + + +core.utilities / Emoji / CODE_PAPERCLIP
+
+

CODE_PAPERCLIP

+ +const val CODE_PAPERCLIP: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-r-i-g-h-t_-a-r-r-o-w.html b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-r-i-g-h-t_-a-r-r-o-w.html new file mode 100644 index 0000000000..91fbe93d93 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/-c-o-d-e_-r-i-g-h-t_-a-r-r-o-w.html @@ -0,0 +1,15 @@ + + +Emoji.CODE_RIGHT_ARROW - + + + +core.utilities / Emoji / CODE_RIGHT_ARROW
+
+

CODE_RIGHT_ARROW

+ +const val CODE_RIGHT_ARROW: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/bag-of-cash.html b/docs/build/html/api/core.utilities/-emoji/bag-of-cash.html new file mode 100644 index 0000000000..23e6ae865b --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/bag-of-cash.html @@ -0,0 +1,15 @@ + + +Emoji.bagOfCash - + + + +core.utilities / Emoji / bagOfCash
+
+

bagOfCash

+ +val bagOfCash: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/diamond.html b/docs/build/html/api/core.utilities/-emoji/diamond.html new file mode 100644 index 0000000000..62caebb134 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/diamond.html @@ -0,0 +1,15 @@ + + +Emoji.diamond - + + + +core.utilities / Emoji / diamond
+
+

diamond

+ +val diamond: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/has-emoji-terminal.html b/docs/build/html/api/core.utilities/-emoji/has-emoji-terminal.html new file mode 100644 index 0000000000..1ca86c4faf --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/has-emoji-terminal.html @@ -0,0 +1,15 @@ + + +Emoji.hasEmojiTerminal - + + + +core.utilities / Emoji / hasEmojiTerminal
+
+

hasEmojiTerminal

+ +val hasEmojiTerminal: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/index.html b/docs/build/html/api/core.utilities/-emoji/index.html new file mode 100644 index 0000000000..d5d41921a7 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/index.html @@ -0,0 +1,115 @@ + + +Emoji - + + + +core.utilities / Emoji
+
+

Emoji

+object Emoji
+

A simple wrapper class that contains icons and support for printing them only when were connected to a terminal.

+
+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+CODE_BAG_OF_CASH +const val CODE_BAG_OF_CASH: String
+CODE_DIAMOND +const val CODE_DIAMOND: String
+CODE_GREEN_TICK +const val CODE_GREEN_TICK: String
+CODE_LEFT_ARROW +const val CODE_LEFT_ARROW: String
+CODE_NEWSPAPER +const val CODE_NEWSPAPER: String
+CODE_PAPERCLIP +const val CODE_PAPERCLIP: String
+CODE_RIGHT_ARROW +const val CODE_RIGHT_ARROW: String
+bagOfCash +val bagOfCash: String
+diamond +val diamond: String
+hasEmojiTerminal +val hasEmojiTerminal: <ERROR CLASS>
+leftArrow +val leftArrow: String
+newspaper +val newspaper: String
+paperclip +val paperclip: String
+rightArrow +val rightArrow: String
+

Functions

+ + + + + + + +
+renderIfSupported +fun renderIfSupported(obj: Any): String
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/left-arrow.html b/docs/build/html/api/core.utilities/-emoji/left-arrow.html new file mode 100644 index 0000000000..3cb0ac00af --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/left-arrow.html @@ -0,0 +1,15 @@ + + +Emoji.leftArrow - + + + +core.utilities / Emoji / leftArrow
+
+

leftArrow

+ +val leftArrow: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/newspaper.html b/docs/build/html/api/core.utilities/-emoji/newspaper.html new file mode 100644 index 0000000000..a5e1246f35 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/newspaper.html @@ -0,0 +1,15 @@ + + +Emoji.newspaper - + + + +core.utilities / Emoji / newspaper
+
+

newspaper

+ +val newspaper: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/paperclip.html b/docs/build/html/api/core.utilities/-emoji/paperclip.html new file mode 100644 index 0000000000..045814bffd --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/paperclip.html @@ -0,0 +1,15 @@ + + +Emoji.paperclip - + + + +core.utilities / Emoji / paperclip
+
+

paperclip

+ +val paperclip: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/render-if-supported.html b/docs/build/html/api/core.utilities/-emoji/render-if-supported.html new file mode 100644 index 0000000000..9243d5126c --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/render-if-supported.html @@ -0,0 +1,15 @@ + + +Emoji.renderIfSupported - + + + +core.utilities / Emoji / renderIfSupported
+
+

renderIfSupported

+ +fun renderIfSupported(obj: Any): String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-emoji/right-arrow.html b/docs/build/html/api/core.utilities/-emoji/right-arrow.html new file mode 100644 index 0000000000..bced5b19b5 --- /dev/null +++ b/docs/build/html/api/core.utilities/-emoji/right-arrow.html @@ -0,0 +1,15 @@ + + +Emoji.rightArrow - + + + +core.utilities / Emoji / rightArrow
+
+

rightArrow

+ +val rightArrow: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/deserialize.html b/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/deserialize.html new file mode 100644 index 0000000000..f84a775a8f --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.CalendarDeserializer.deserialize - + + + +core.utilities / JsonSupport / CalendarDeserializer / deserialize
+
+

deserialize

+ +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): BusinessCalendar
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/index.html b/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/index.html new file mode 100644 index 0000000000..880e0eb658 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-calendar-deserializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.CalendarDeserializer - + + + +core.utilities / JsonSupport / CalendarDeserializer
+
+

CalendarDeserializer

+object CalendarDeserializer
+
+
+

Functions

+ + + + + + + +
+deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): BusinessCalendar
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/deserialize.html b/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/deserialize.html new file mode 100644 index 0000000000..d37c9d3fb2 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.LocalDateDeserializer.deserialize - + + + +core.utilities / JsonSupport / LocalDateDeserializer / deserialize
+
+

deserialize

+ +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): LocalDate
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/index.html b/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/index.html new file mode 100644 index 0000000000..214de2e71f --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-local-date-deserializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.LocalDateDeserializer - + + + +core.utilities / JsonSupport / LocalDateDeserializer
+
+

LocalDateDeserializer

+object LocalDateDeserializer
+
+
+

Functions

+ + + + + + + +
+deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): LocalDate
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/deserialize-key.html b/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/deserialize-key.html new file mode 100644 index 0000000000..e50468d71c --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/deserialize-key.html @@ -0,0 +1,15 @@ + + +JsonSupport.LocalDateKeyDeserializer.deserializeKey - + + + +core.utilities / JsonSupport / LocalDateKeyDeserializer / deserializeKey
+
+

deserializeKey

+ +fun deserializeKey(text: String, p1: <ERROR CLASS>): Any?
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/index.html b/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/index.html new file mode 100644 index 0000000000..990c2b7c6e --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-local-date-key-deserializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.LocalDateKeyDeserializer - + + + +core.utilities / JsonSupport / LocalDateKeyDeserializer
+
+

LocalDateKeyDeserializer

+object LocalDateKeyDeserializer
+
+
+

Functions

+ + + + + + + +
+deserializeKey +fun deserializeKey(text: String, p1: <ERROR CLASS>): Any?
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-party-deserializer/deserialize.html b/docs/build/html/api/core.utilities/-json-support/-party-deserializer/deserialize.html new file mode 100644 index 0000000000..c68cf8b545 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-party-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.PartyDeserializer.deserialize - + + + +core.utilities / JsonSupport / PartyDeserializer / deserialize
+
+

deserialize

+ +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): Party
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-party-deserializer/index.html b/docs/build/html/api/core.utilities/-json-support/-party-deserializer/index.html new file mode 100644 index 0000000000..6da655e7d9 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-party-deserializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.PartyDeserializer - + + + +core.utilities / JsonSupport / PartyDeserializer
+
+

PartyDeserializer

+object PartyDeserializer
+
+
+

Functions

+ + + + + + + +
+deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): Party
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-party-serializer/index.html b/docs/build/html/api/core.utilities/-json-support/-party-serializer/index.html new file mode 100644 index 0000000000..c61545a84b --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-party-serializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.PartySerializer - + + + +core.utilities / JsonSupport / PartySerializer
+
+

PartySerializer

+object PartySerializer
+
+
+

Functions

+ + + + + + + +
+serialize +fun serialize(obj: Party, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-party-serializer/serialize.html b/docs/build/html/api/core.utilities/-json-support/-party-serializer/serialize.html new file mode 100644 index 0000000000..f90ee398bb --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-party-serializer/serialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.PartySerializer.serialize - + + + +core.utilities / JsonSupport / PartySerializer / serialize
+
+

serialize

+ +fun serialize(obj: Party, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/-init-.html b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/-init-.html new file mode 100644 index 0000000000..7d966009a5 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/-init-.html @@ -0,0 +1,15 @@ + + +JsonSupport.SecureHashDeserializer.<init> - + + + +core.utilities / JsonSupport / SecureHashDeserializer / <init>
+
+

<init>

+SecureHashDeserializer()
+

Implemented as a class so that we can instantiate for T

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/deserialize.html b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/deserialize.html new file mode 100644 index 0000000000..30f8f963c6 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.SecureHashDeserializer.deserialize - + + + +core.utilities / JsonSupport / SecureHashDeserializer / deserialize
+
+

deserialize

+ +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): T
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/index.html b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/index.html new file mode 100644 index 0000000000..041a0f03b7 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-secure-hash-deserializer/index.html @@ -0,0 +1,38 @@ + + +JsonSupport.SecureHashDeserializer - + + + +core.utilities / JsonSupport / SecureHashDeserializer
+
+

SecureHashDeserializer

+class SecureHashDeserializer<T : SecureHash>
+

Implemented as a class so that we can instantiate for T

+
+
+

Constructors

+ + + + + + + +
+<init> +SecureHashDeserializer()

Implemented as a class so that we can instantiate for T

+
+

Functions

+ + + + + + + +
+deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): T
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/index.html b/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/index.html new file mode 100644 index 0000000000..2b33a2ba62 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.SecureHashSerializer - + + + +core.utilities / JsonSupport / SecureHashSerializer
+
+

SecureHashSerializer

+object SecureHashSerializer
+
+
+

Functions

+ + + + + + + +
+serialize +fun serialize(obj: SecureHash, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/serialize.html b/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/serialize.html new file mode 100644 index 0000000000..1a05012083 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-secure-hash-serializer/serialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.SecureHashSerializer.serialize - + + + +core.utilities / JsonSupport / SecureHashSerializer / serialize
+
+

serialize

+ +fun serialize(obj: SecureHash, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/-init-.html b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/-init-.html new file mode 100644 index 0000000000..47967d5bbc --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/-init-.html @@ -0,0 +1,14 @@ + + +JsonSupport.ServiceHubObjectMapper.<init> - + + + +core.utilities / JsonSupport / ServiceHubObjectMapper / <init>
+
+

<init>

+ServiceHubObjectMapper(identities: IdentityService)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/identities.html b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/identities.html new file mode 100644 index 0000000000..f6d3707147 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/identities.html @@ -0,0 +1,15 @@ + + +JsonSupport.ServiceHubObjectMapper.identities - + + + +core.utilities / JsonSupport / ServiceHubObjectMapper / identities
+
+

identities

+ +val identities: IdentityService
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/index.html b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/index.html new file mode 100644 index 0000000000..4dd6b5f75b --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-service-hub-object-mapper/index.html @@ -0,0 +1,36 @@ + + +JsonSupport.ServiceHubObjectMapper - + + + +core.utilities / JsonSupport / ServiceHubObjectMapper
+
+

ServiceHubObjectMapper

+class ServiceHubObjectMapper
+
+
+

Constructors

+ + + + + + + +
+<init> +ServiceHubObjectMapper(identities: IdentityService)
+

Properties

+ + + + + + + +
+identities +val identities: IdentityService
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/index.html b/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/index.html new file mode 100644 index 0000000000..de4d71944a --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/index.html @@ -0,0 +1,25 @@ + + +JsonSupport.ToStringSerializer - + + + +core.utilities / JsonSupport / ToStringSerializer
+
+

ToStringSerializer

+object ToStringSerializer
+
+
+

Functions

+ + + + + + + +
+serialize +fun serialize(obj: Any, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/serialize.html b/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/serialize.html new file mode 100644 index 0000000000..f922a020db --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/-to-string-serializer/serialize.html @@ -0,0 +1,15 @@ + + +JsonSupport.ToStringSerializer.serialize - + + + +core.utilities / JsonSupport / ToStringSerializer / serialize
+
+

serialize

+ +fun serialize(obj: Any, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/create-default-mapper.html b/docs/build/html/api/core.utilities/-json-support/create-default-mapper.html new file mode 100644 index 0000000000..41df616812 --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/create-default-mapper.html @@ -0,0 +1,15 @@ + + +JsonSupport.createDefaultMapper - + + + +core.utilities / JsonSupport / createDefaultMapper
+
+

createDefaultMapper

+ +fun createDefaultMapper(identities: IdentityService): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-json-support/index.html b/docs/build/html/api/core.utilities/-json-support/index.html new file mode 100644 index 0000000000..817c73cf9e --- /dev/null +++ b/docs/build/html/api/core.utilities/-json-support/index.html @@ -0,0 +1,87 @@ + + +JsonSupport - + + + +core.utilities / JsonSupport
+
+

JsonSupport

+object JsonSupport
+

Utilities and serialisers for working with JSON representations of basic types. This adds Jackson support for +the java.time API, some core types, and Kotlin data classes.

+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+CalendarDeserializer +object CalendarDeserializer
+LocalDateDeserializer +object LocalDateDeserializer
+LocalDateKeyDeserializer +object LocalDateKeyDeserializer
+PartyDeserializer +object PartyDeserializer
+PartySerializer +object PartySerializer
+SecureHashDeserializer +class SecureHashDeserializer<T : SecureHash>

Implemented as a class so that we can instantiate for T

+
+SecureHashSerializer +object SecureHashSerializer
+ServiceHubObjectMapper +class ServiceHubObjectMapper
+ToStringSerializer +object ToStringSerializer
+

Functions

+ + + + + + + +
+createDefaultMapper +fun createDefaultMapper(identities: IdentityService): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/-init-.html new file mode 100644 index 0000000000..d27ac99cd8 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/-init-.html @@ -0,0 +1,14 @@ + + +ProgressTracker.Change.Position.<init> - + + + +core.utilities / ProgressTracker / Change / Position / <init>
+
+

<init>

+Position(tracker: ProgressTracker, newStep: Step)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/index.html new file mode 100644 index 0000000000..f3a0354e37 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/index.html @@ -0,0 +1,53 @@ + + +ProgressTracker.Change.Position - + + + +core.utilities / ProgressTracker / Change / Position
+
+

Position

+class Position : Change
+
+
+

Constructors

+ + + + + + + +
+<init> +Position(tracker: ProgressTracker, newStep: Step)
+

Properties

+ + + + + + + + + + + +
+newStep +val newStep: Step
+tracker +val tracker: ProgressTracker
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/new-step.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/new-step.html new file mode 100644 index 0000000000..7b00c5d886 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/new-step.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Position.newStep - + + + +core.utilities / ProgressTracker / Change / Position / newStep
+
+

newStep

+ +val newStep: Step
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/to-string.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/to-string.html new file mode 100644 index 0000000000..a4efe2475c --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/to-string.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Position.toString - + + + +core.utilities / ProgressTracker / Change / Position / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/tracker.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/tracker.html new file mode 100644 index 0000000000..7b4d1d63be --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-position/tracker.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Position.tracker - + + + +core.utilities / ProgressTracker / Change / Position / tracker
+
+

tracker

+ +val tracker: ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/-init-.html new file mode 100644 index 0000000000..29b25478d7 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/-init-.html @@ -0,0 +1,14 @@ + + +ProgressTracker.Change.Rendering.<init> - + + + +core.utilities / ProgressTracker / Change / Rendering / <init>
+
+

<init>

+Rendering(tracker: ProgressTracker, ofStep: Step)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/index.html new file mode 100644 index 0000000000..e42954df47 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/index.html @@ -0,0 +1,53 @@ + + +ProgressTracker.Change.Rendering - + + + +core.utilities / ProgressTracker / Change / Rendering
+
+

Rendering

+class Rendering : Change
+
+
+

Constructors

+ + + + + + + +
+<init> +Rendering(tracker: ProgressTracker, ofStep: Step)
+

Properties

+ + + + + + + + + + + +
+ofStep +val ofStep: Step
+tracker +val tracker: ProgressTracker
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/of-step.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/of-step.html new file mode 100644 index 0000000000..13ef31091d --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/of-step.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Rendering.ofStep - + + + +core.utilities / ProgressTracker / Change / Rendering / ofStep
+
+

ofStep

+ +val ofStep: Step
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/to-string.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/to-string.html new file mode 100644 index 0000000000..a27082bc4c --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/to-string.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Rendering.toString - + + + +core.utilities / ProgressTracker / Change / Rendering / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/tracker.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/tracker.html new file mode 100644 index 0000000000..b99e46ee27 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-rendering/tracker.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Rendering.tracker - + + + +core.utilities / ProgressTracker / Change / Rendering / tracker
+
+

tracker

+ +val tracker: ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/-init-.html new file mode 100644 index 0000000000..d6eeb1bacb --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/-init-.html @@ -0,0 +1,14 @@ + + +ProgressTracker.Change.Structural.<init> - + + + +core.utilities / ProgressTracker / Change / Structural / <init>
+
+

<init>

+Structural(tracker: ProgressTracker, parent: Step)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/index.html new file mode 100644 index 0000000000..1cac84480c --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/index.html @@ -0,0 +1,53 @@ + + +ProgressTracker.Change.Structural - + + + +core.utilities / ProgressTracker / Change / Structural
+
+

Structural

+class Structural : Change
+
+
+

Constructors

+ + + + + + + +
+<init> +Structural(tracker: ProgressTracker, parent: Step)
+

Properties

+ + + + + + + + + + + +
+parent +val parent: Step
+tracker +val tracker: ProgressTracker
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/parent.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/parent.html new file mode 100644 index 0000000000..f3cad7fa8e --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/parent.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Structural.parent - + + + +core.utilities / ProgressTracker / Change / Structural / parent
+
+

parent

+ +val parent: Step
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/to-string.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/to-string.html new file mode 100644 index 0000000000..6c35fc13d8 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/to-string.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Structural.toString - + + + +core.utilities / ProgressTracker / Change / Structural / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/tracker.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/tracker.html new file mode 100644 index 0000000000..2f7495ff47 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/-structural/tracker.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Change.Structural.tracker - + + + +core.utilities / ProgressTracker / Change / Structural / tracker
+
+

tracker

+ +val tracker: ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-change/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-change/index.html new file mode 100644 index 0000000000..5367e4e52d --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-change/index.html @@ -0,0 +1,60 @@ + + +ProgressTracker.Change - + + + +core.utilities / ProgressTracker / Change
+
+

Change

+sealed class Change
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Position +class Position : Change
+Rendering +class Rendering : Change
+Structural +class Structural : Change
+

Inheritors

+ + + + + + + + + + + + + + + +
+Position +class Position : Change
+Rendering +class Rendering : Change
+Structural +class Structural : Change
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/equals.html b/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/equals.html new file mode 100644 index 0000000000..e7f798c1e2 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/equals.html @@ -0,0 +1,15 @@ + + +ProgressTracker.DONE.equals - + + + +core.utilities / ProgressTracker / DONE / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/index.html new file mode 100644 index 0000000000..d5c2f0f7b0 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-d-o-n-e/index.html @@ -0,0 +1,42 @@ + + +ProgressTracker.DONE - + + + +core.utilities / ProgressTracker / DONE
+
+

DONE

+object DONE : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+

Functions

+ + + + + + + +
+equals +fun equals(other: Any?): Boolean
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-init-.html new file mode 100644 index 0000000000..e369c39d71 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-init-.html @@ -0,0 +1,32 @@ + + +ProgressTracker.<init> - + + + +core.utilities / ProgressTracker / <init>
+
+

<init>

+ProgressTracker(vararg steps: Step)
+

A progress tracker helps surface information about the progress of an operation to a user interface or API of some +kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically +a singleton).

+

Steps may logically be children of other steps, which models the case where a large top level operation involves +sub-operations which may also have a notion of progress. If a step has children, then the tracker will report the +steps children as the "next step" after the parent. In other words, a parent step is considered to involve actual +reportable work and is a thing. If the parent step simply groups other steps, then youll have to step over it +manually.

+

Each step has a label. It is assumed by default that the label does not change. If you want a label to change, then +you can emit a ProgressTracker.Change.Rendering object on the ProgressTracker.Step.changes observable stream +after it changes. That object will propagate through to the top level trackers changes stream, which renderers can +subscribe to in order to learn about progress.

+

An operation can move both forwards and backwards through steps, thus, a ProgressTracker can represent operations +that include loops.

+

A progress tracker is not thread safe. You may move events from the thread making progress to another thread by +using the Observable subscribeOn call.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/-init-.html new file mode 100644 index 0000000000..1e4056bc53 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/-init-.html @@ -0,0 +1,15 @@ + + +ProgressTracker.RelabelableStep.<init> - + + + +core.utilities / ProgressTracker / RelabelableStep / <init>
+
+

<init>

+RelabelableStep(currentLabel: String)
+

This class makes it easier to relabel a step on the fly, to provide transient information.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/changes.html b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/changes.html new file mode 100644 index 0000000000..39cbec6403 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/changes.html @@ -0,0 +1,16 @@ + + +ProgressTracker.RelabelableStep.changes - + + + +core.utilities / ProgressTracker / RelabelableStep / changes
+
+

changes

+ +open val changes: <ERROR CLASS>
+Overrides Step.changes
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/current-label.html b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/current-label.html new file mode 100644 index 0000000000..9eb9b4b51d --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/current-label.html @@ -0,0 +1,15 @@ + + +ProgressTracker.RelabelableStep.currentLabel - + + + +core.utilities / ProgressTracker / RelabelableStep / currentLabel
+
+

currentLabel

+ +var currentLabel: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/index.html new file mode 100644 index 0000000000..55dee917fd --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/index.html @@ -0,0 +1,50 @@ + + +ProgressTracker.RelabelableStep - + + + +core.utilities / ProgressTracker / RelabelableStep
+
+

RelabelableStep

+inner class RelabelableStep : Step
+

This class makes it easier to relabel a step on the fly, to provide transient information.

+
+
+

Constructors

+ + + + + + + +
+<init> +RelabelableStep(currentLabel: String)

This class makes it easier to relabel a step on the fly, to provide transient information.

+
+

Properties

+ + + + + + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS>
+currentLabel +var currentLabel: String
+label +open val label: String
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/label.html b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/label.html new file mode 100644 index 0000000000..4d497ea609 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-relabelable-step/label.html @@ -0,0 +1,16 @@ + + +ProgressTracker.RelabelableStep.label - + + + +core.utilities / ProgressTracker / RelabelableStep / label
+
+

label

+ +open val label: String
+Overrides Step.label
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-step/-init-.html b/docs/build/html/api/core.utilities/-progress-tracker/-step/-init-.html new file mode 100644 index 0000000000..dc7052ff8c --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-step/-init-.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Step.<init> - + + + +core.utilities / ProgressTracker / Step / <init>
+
+

<init>

+Step(label: String)
+

The superclass of all step objects.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-step/changes.html b/docs/build/html/api/core.utilities/-progress-tracker/-step/changes.html new file mode 100644 index 0000000000..b0041ee03d --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-step/changes.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Step.changes - + + + +core.utilities / ProgressTracker / Step / changes
+
+

changes

+ +open val changes: <ERROR CLASS><Change>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-step/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-step/index.html new file mode 100644 index 0000000000..bc7af9804f --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-step/index.html @@ -0,0 +1,320 @@ + + +ProgressTracker.Step - + + + +core.utilities / ProgressTracker / Step
+
+

Step

+class Step
+

The superclass of all step objects.

+
+
+

Constructors

+ + + + + + + +
+<init> +Step(label: String)

The superclass of all step objects.

+
+

Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ANNOUNCING +object ANNOUNCING : Step
+ANNOUNCING +object ANNOUNCING : Step
+AWAITING_PROPOSAL +object AWAITING_PROPOSAL : Step
+AWAITING_PROPOSAL +object AWAITING_PROPOSAL : Step
+COPYING_TO_REGULATOR +object COPYING_TO_REGULATOR : Step
+DEALING +object DEALING : Step
+DEALING +object DEALING : Step
+DONE +object DONE : Step
+FETCHING +object FETCHING : Step
+FIXING +object FIXING : Step
+ITERATING_DEALS +object ITERATING_DEALS : Step
+ITERATING_FIXINGS +object ITERATING_FIXINGS : Step
+LOCAL +object LOCAL : Step
+NOTIFYING +object NOTIFYING : Step
+QUERYING +class QUERYING : Step
+RECEIVED +object RECEIVED : Step
+RECEIVED +object RECEIVED : Step
+RECEIVING +object RECEIVING : Step
+RECEIVING +object RECEIVING : Step
+RECORDING +object RECORDING : Step
+RECORDING +object RECORDING : Step
+REQUESTING +object REQUESTING : Step
+RelabelableStep +inner class RelabelableStep : Step

This class makes it easier to relabel a step on the fly, to provide transient information.

+
+SELF_ISSUING +object SELF_ISSUING : Step
+SENDING_SIGS +object SENDING_SIGS : Step
+SENDING_SIGS +object SENDING_SIGS : Step
+SIGNING +object SIGNING : Step
+SIGNING +object SIGNING : Step
+SIGNING +object SIGNING : Step
+SIGNING +object SIGNING : Step
+SIGNING +object SIGNING : Step
+STARTING_BUY +object STARTING_BUY : Step
+SWAPPING_SIGNATURES +object SWAPPING_SIGNATURES : Step
+SWAPPING_SIGNATURES +object SWAPPING_SIGNATURES : Step
+TIMESTAMPING +object TIMESTAMPING : Step
+TIMESTAMPING +object TIMESTAMPING : Step
+TRADING +object TRADING : Step
+UNSTARTED +object UNSTARTED : Step
+VALIDATING +object VALIDATING : Step
+VERIFYING +object VERIFYING : Step
+VERIFYING +object VERIFYING : Step
+VERIFYING +object VERIFYING : Step
+VERIFYING +object VERIFYING : Step
+WAITING_FOR_SELLER_TO_CONNECT +object WAITING_FOR_SELLER_TO_CONNECT : Step
+WORKING +object WORKING : Step
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-step/label.html b/docs/build/html/api/core.utilities/-progress-tracker/-step/label.html new file mode 100644 index 0000000000..5d74fe0889 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-step/label.html @@ -0,0 +1,15 @@ + + +ProgressTracker.Step.label - + + + +core.utilities / ProgressTracker / Step / label
+
+

label

+ +open val label: String
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/equals.html b/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/equals.html new file mode 100644 index 0000000000..a9d6deb366 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/equals.html @@ -0,0 +1,15 @@ + + +ProgressTracker.UNSTARTED.equals - + + + +core.utilities / ProgressTracker / UNSTARTED / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/index.html b/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/index.html new file mode 100644 index 0000000000..0f585a7cb8 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/-u-n-s-t-a-r-t-e-d/index.html @@ -0,0 +1,42 @@ + + +ProgressTracker.UNSTARTED - + + + +core.utilities / ProgressTracker / UNSTARTED
+
+

UNSTARTED

+object UNSTARTED : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+

Functions

+ + + + + + + +
+equals +fun equals(other: Any?): Boolean
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/all-steps.html b/docs/build/html/api/core.utilities/-progress-tracker/all-steps.html new file mode 100644 index 0000000000..20fa748bfb --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/all-steps.html @@ -0,0 +1,17 @@ + + +ProgressTracker.allSteps - + + + +core.utilities / ProgressTracker / allSteps
+
+

allSteps

+ +val allSteps: List<<ERROR CLASS><Int, Step>>
+

A list of all steps in this ProgressTracker and the children, with the indent level provided starting at zero. +Note that UNSTARTED is never counted, and DONE is only counted at the calling level.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/changes.html b/docs/build/html/api/core.utilities/-progress-tracker/changes.html new file mode 100644 index 0000000000..659242afd8 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/changes.html @@ -0,0 +1,17 @@ + + +ProgressTracker.changes - + + + +core.utilities / ProgressTracker / changes
+
+

changes

+ +val changes: <ERROR CLASS><Change>
+

An observable stream of changes: includes child steps, resets and any changes emitted by individual steps (e.g. +if a step changed its label or rendering).

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/children-for.html b/docs/build/html/api/core.utilities/-progress-tracker/children-for.html new file mode 100644 index 0000000000..6f924d9a9f --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/children-for.html @@ -0,0 +1,17 @@ + + +ProgressTracker.childrenFor - + + + +core.utilities / ProgressTracker / childrenFor
+
+

childrenFor

+ +var childrenFor: HashMap<Step, ProgressTracker>
+

Writable map that lets you insert child ProgressTrackers for particular steps. Its OK to edit this even +after a progress tracker has been started.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/current-step-recursive.html b/docs/build/html/api/core.utilities/-progress-tracker/current-step-recursive.html new file mode 100644 index 0000000000..1dd821beca --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/current-step-recursive.html @@ -0,0 +1,16 @@ + + +ProgressTracker.currentStepRecursive - + + + +core.utilities / ProgressTracker / currentStepRecursive
+
+

currentStepRecursive

+ +val currentStepRecursive: Step
+

Returns the current step, descending into children to find the deepest step we are up to.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/current-step.html b/docs/build/html/api/core.utilities/-progress-tracker/current-step.html new file mode 100644 index 0000000000..0676229240 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/current-step.html @@ -0,0 +1,17 @@ + + +ProgressTracker.currentStep - + + + +core.utilities / ProgressTracker / currentStep
+
+

currentStep

+ +var currentStep: Step
+

Reading returns the value of stepsstepIndex, writing moves the position of the current tracker. Once moved to +the DONE state, this tracker is finished and the current step cannot be moved again.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/index.html b/docs/build/html/api/core.utilities/-progress-tracker/index.html new file mode 100644 index 0000000000..2a0101a831 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/index.html @@ -0,0 +1,168 @@ + + +ProgressTracker - + + + +core.utilities / ProgressTracker
+
+

ProgressTracker

+class ProgressTracker
+

A progress tracker helps surface information about the progress of an operation to a user interface or API of some +kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically +a singleton).

+

Steps may logically be children of other steps, which models the case where a large top level operation involves +sub-operations which may also have a notion of progress. If a step has children, then the tracker will report the +steps children as the "next step" after the parent. In other words, a parent step is considered to involve actual +reportable work and is a thing. If the parent step simply groups other steps, then youll have to step over it +manually.

+

Each step has a label. It is assumed by default that the label does not change. If you want a label to change, then +you can emit a ProgressTracker.Change.Rendering object on the ProgressTracker.Step.changes observable stream +after it changes. That object will propagate through to the top level trackers changes stream, which renderers can +subscribe to in order to learn about progress.

+

An operation can move both forwards and backwards through steps, thus, a ProgressTracker can represent operations +that include loops.

+

A progress tracker is not thread safe. You may move events from the thread making progress to another thread by +using the Observable subscribeOn call.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+Change +sealed class Change
+DONE +object DONE : Step
+RelabelableStep +inner class RelabelableStep : Step

This class makes it easier to relabel a step on the fly, to provide transient information.

+
+Step +class Step

The superclass of all step objects.

+
+UNSTARTED +object UNSTARTED : Step
+

Constructors

+ + + + + + + +
+<init> +ProgressTracker(vararg steps: Step)

A progress tracker helps surface information about the progress of an operation to a user interface or API of some +kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically +a singleton).

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+allSteps +val allSteps: List<<ERROR CLASS><Int, Step>>

A list of all steps in this ProgressTracker and the children, with the indent level provided starting at zero. +Note that UNSTARTED is never counted, and DONE is only counted at the calling level.

+
+changes +val changes: <ERROR CLASS><Change>

An observable stream of changes: includes child steps, resets and any changes emitted by individual steps (e.g. +if a step changed its label or rendering).

+
+childrenFor +var childrenFor: HashMap<Step, ProgressTracker>

Writable map that lets you insert child ProgressTrackers for particular steps. Its OK to edit this even +after a progress tracker has been started.

+
+currentStep +var currentStep: Step

Reading returns the value of stepsstepIndex, writing moves the position of the current tracker. Once moved to +the DONE state, this tracker is finished and the current step cannot be moved again.

+
+currentStepRecursive +val currentStepRecursive: Step

Returns the current step, descending into children to find the deepest step we are up to.

+
+parent +var parent: ProgressTracker?

The parent of this tracker: set automatically by the parent when a tracker is added as a child

+
+stepIndex +var stepIndex: Int

The zero-based index of the current step in the steps array (i.e. with UNSTARTED and DONE)

+
+steps +val steps: Array<Step>

The steps in this tracker, same as the steps passed to the constructor but with UNSTARTED and DONE inserted.

+
+topLevelTracker +val topLevelTracker: ProgressTracker

Walks up the tree to find the top level tracker. If this is the top level tracker, returns this

+
+

Functions

+ + + + + + + +
+nextStep +fun nextStep(): Step

Iterates the progress tracker. If the current step has a child, the child is iterated instead (recursively). +Returns the latest step at the bottom of the step tree.

+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/next-step.html b/docs/build/html/api/core.utilities/-progress-tracker/next-step.html new file mode 100644 index 0000000000..986e9481c6 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/next-step.html @@ -0,0 +1,17 @@ + + +ProgressTracker.nextStep - + + + +core.utilities / ProgressTracker / nextStep
+
+

nextStep

+ +fun nextStep(): Step
+

Iterates the progress tracker. If the current step has a child, the child is iterated instead (recursively). +Returns the latest step at the bottom of the step tree.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/parent.html b/docs/build/html/api/core.utilities/-progress-tracker/parent.html new file mode 100644 index 0000000000..c6d60ec0c5 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/parent.html @@ -0,0 +1,16 @@ + + +ProgressTracker.parent - + + + +core.utilities / ProgressTracker / parent
+
+

parent

+ +var parent: ProgressTracker?
+

The parent of this tracker: set automatically by the parent when a tracker is added as a child

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/step-index.html b/docs/build/html/api/core.utilities/-progress-tracker/step-index.html new file mode 100644 index 0000000000..70277cc814 --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/step-index.html @@ -0,0 +1,16 @@ + + +ProgressTracker.stepIndex - + + + +core.utilities / ProgressTracker / stepIndex
+
+

stepIndex

+ +var stepIndex: Int
+

The zero-based index of the current step in the steps array (i.e. with UNSTARTED and DONE)

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/steps.html b/docs/build/html/api/core.utilities/-progress-tracker/steps.html new file mode 100644 index 0000000000..8658aadb7f --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/steps.html @@ -0,0 +1,16 @@ + + +ProgressTracker.steps - + + + +core.utilities / ProgressTracker / steps
+
+

steps

+ +val steps: Array<Step>
+

The steps in this tracker, same as the steps passed to the constructor but with UNSTARTED and DONE inserted.

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-progress-tracker/top-level-tracker.html b/docs/build/html/api/core.utilities/-progress-tracker/top-level-tracker.html new file mode 100644 index 0000000000..3f21fe933c --- /dev/null +++ b/docs/build/html/api/core.utilities/-progress-tracker/top-level-tracker.html @@ -0,0 +1,16 @@ + + +ProgressTracker.topLevelTracker - + + + +core.utilities / ProgressTracker / topLevelTracker
+
+

topLevelTracker

+ +val topLevelTracker: ProgressTracker
+

Walks up the tree to find the top level tracker. If this is the top level tracker, returns this

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-get/-init-.html b/docs/build/html/api/core.utilities/-recording-map/-get/-init-.html new file mode 100644 index 0000000000..5628f40dd0 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-get/-init-.html @@ -0,0 +1,14 @@ + + +RecordingMap.Get.<init> - + + + +core.utilities / RecordingMap / Get / <init>
+
+

<init>

+Get(key: K)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-get/index.html b/docs/build/html/api/core.utilities/-recording-map/-get/index.html new file mode 100644 index 0000000000..3da97739d3 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-get/index.html @@ -0,0 +1,36 @@ + + +RecordingMap.Get - + + + +core.utilities / RecordingMap / Get
+
+

Get

+data class Get<K> : Record
+
+
+

Constructors

+ + + + + + + +
+<init> +Get(key: K)
+

Properties

+ + + + + + + +
+key +val key: K
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-get/key.html b/docs/build/html/api/core.utilities/-recording-map/-get/key.html new file mode 100644 index 0000000000..2258527a9f --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-get/key.html @@ -0,0 +1,15 @@ + + +RecordingMap.Get.key - + + + +core.utilities / RecordingMap / Get / key
+
+

key

+ +val key: K
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-init-.html b/docs/build/html/api/core.utilities/-recording-map/-init-.html new file mode 100644 index 0000000000..15957c4314 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-init-.html @@ -0,0 +1,19 @@ + + +RecordingMap.<init> - + + + +core.utilities / RecordingMap / <init>
+
+

<init>

+RecordingMap(wrappedMap: MutableMap<K, V>, logger: <ERROR CLASS> = loggerFor<RecordingMap<K, V>>())
+

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

+

Note: although this class itself thread safe, if the underlying map is not, then this class loses its thread safety.

+
+
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-put/-init-.html b/docs/build/html/api/core.utilities/-recording-map/-put/-init-.html new file mode 100644 index 0000000000..eb68644f4b --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-put/-init-.html @@ -0,0 +1,14 @@ + + +RecordingMap.Put.<init> - + + + +core.utilities / RecordingMap / Put / <init>
+
+

<init>

+Put(key: K, value: V)
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-put/index.html b/docs/build/html/api/core.utilities/-recording-map/-put/index.html new file mode 100644 index 0000000000..647a25b641 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-put/index.html @@ -0,0 +1,42 @@ + + +RecordingMap.Put - + + + +core.utilities / RecordingMap / Put
+
+

Put

+data class Put<K, V> : Record
+
+
+

Constructors

+ + + + + + + +
+<init> +Put(key: K, value: V)
+

Properties

+ + + + + + + + + + + +
+key +val key: K
+value +val value: V
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-put/key.html b/docs/build/html/api/core.utilities/-recording-map/-put/key.html new file mode 100644 index 0000000000..7681d678d6 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-put/key.html @@ -0,0 +1,15 @@ + + +RecordingMap.Put.key - + + + +core.utilities / RecordingMap / Put / key
+
+

key

+ +val key: K
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-put/value.html b/docs/build/html/api/core.utilities/-recording-map/-put/value.html new file mode 100644 index 0000000000..41179571ce --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-put/value.html @@ -0,0 +1,15 @@ + + +RecordingMap.Put.value - + + + +core.utilities / RecordingMap / Put / value
+
+

value

+ +val value: V
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/-record.html b/docs/build/html/api/core.utilities/-recording-map/-record.html new file mode 100644 index 0000000000..71989e9691 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/-record.html @@ -0,0 +1,31 @@ + + +RecordingMap.Record - + + + +core.utilities / RecordingMap / Record
+
+

Record

+interface Record
+
+
+

Inheritors

+ + + + + + + + + + + +
+Get +data class Get<K> : Record
+Put +data class Put<K, V> : Record
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/clear-records.html b/docs/build/html/api/core.utilities/-recording-map/clear-records.html new file mode 100644 index 0000000000..0df3fef3bb --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/clear-records.html @@ -0,0 +1,15 @@ + + +RecordingMap.clearRecords - + + + +core.utilities / RecordingMap / clearRecords
+
+

clearRecords

+ +fun clearRecords(): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/get.html b/docs/build/html/api/core.utilities/-recording-map/get.html new file mode 100644 index 0000000000..b3dd0d1755 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/get.html @@ -0,0 +1,15 @@ + + +RecordingMap.get - + + + +core.utilities / RecordingMap / get
+
+

get

+ +fun get(key: K): V?
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/index.html b/docs/build/html/api/core.utilities/-recording-map/index.html new file mode 100644 index 0000000000..ded4b44c74 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/index.html @@ -0,0 +1,102 @@ + + +RecordingMap - + + + +core.utilities / RecordingMap
+
+

RecordingMap

+class RecordingMap<K, V> : MutableMap<K, V>
+

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

+

Note: although this class itself thread safe, if the underlying map is not, then this class loses its thread safety.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Get +data class Get<K> : Record
+Put +data class Put<K, V> : Record
+Record +interface Record
+

Constructors

+ + + + + + + +
+<init> +RecordingMap(wrappedMap: MutableMap<K, V>, logger: <ERROR CLASS> = loggerFor<RecordingMap<K, V>>())

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

+
+

Properties

+ + + + + + + +
+records +val records: List<Record>

Returns a snapshot of the set of records

+
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+clearRecords +fun clearRecords(): Unit
+get +fun get(key: K): V?
+put +fun put(key: K, value: V): V?
+putAll +fun putAll(from: Map<out K, V>): Unit
+putAllUnrecorded +fun putAllUnrecorded(from: Map<out K, V>): Unit
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/put-all-unrecorded.html b/docs/build/html/api/core.utilities/-recording-map/put-all-unrecorded.html new file mode 100644 index 0000000000..e173ae5e6e --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/put-all-unrecorded.html @@ -0,0 +1,15 @@ + + +RecordingMap.putAllUnrecorded - + + + +core.utilities / RecordingMap / putAllUnrecorded
+
+

putAllUnrecorded

+ +fun putAllUnrecorded(from: Map<out K, V>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/put-all.html b/docs/build/html/api/core.utilities/-recording-map/put-all.html new file mode 100644 index 0000000000..3ddb32df43 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/put-all.html @@ -0,0 +1,15 @@ + + +RecordingMap.putAll - + + + +core.utilities / RecordingMap / putAll
+
+

putAll

+ +fun putAll(from: Map<out K, V>): Unit
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/put.html b/docs/build/html/api/core.utilities/-recording-map/put.html new file mode 100644 index 0000000000..aef789c9a5 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/put.html @@ -0,0 +1,15 @@ + + +RecordingMap.put - + + + +core.utilities / RecordingMap / put
+
+

put

+ +fun put(key: K, value: V): V?
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-recording-map/records.html b/docs/build/html/api/core.utilities/-recording-map/records.html new file mode 100644 index 0000000000..938e81e1c6 --- /dev/null +++ b/docs/build/html/api/core.utilities/-recording-map/records.html @@ -0,0 +1,16 @@ + + +RecordingMap.records - + + + +core.utilities / RecordingMap / records
+
+

records

+ +val records: List<Record>
+

Returns a snapshot of the set of records

+
+
+ + diff --git a/docs/build/html/api/core.utilities/-untrustworthy-data/-init-.html b/docs/build/html/api/core.utilities/-untrustworthy-data/-init-.html new file mode 100644 index 0000000000..041561576d --- /dev/null +++ b/docs/build/html/api/core.utilities/-untrustworthy-data/-init-.html @@ -0,0 +1,24 @@ + + +UntrustworthyData.<init> - + + + +core.utilities / UntrustworthyData / <init>
+
+

<init>

+UntrustworthyData(fromUntrustedWorld: T)
+

A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from +a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked +first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:

+
+
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-untrustworthy-data/data.html b/docs/build/html/api/core.utilities/-untrustworthy-data/data.html new file mode 100644 index 0000000000..0e103bf4cd --- /dev/null +++ b/docs/build/html/api/core.utilities/-untrustworthy-data/data.html @@ -0,0 +1,15 @@ + + +UntrustworthyData.data - + + + +core.utilities / UntrustworthyData / data
+
+

data

+ +val data: T
+
+
+ + diff --git a/docs/build/html/api/core.utilities/-untrustworthy-data/index.html b/docs/build/html/api/core.utilities/-untrustworthy-data/index.html new file mode 100644 index 0000000000..05b11dabf7 --- /dev/null +++ b/docs/build/html/api/core.utilities/-untrustworthy-data/index.html @@ -0,0 +1,60 @@ + + +UntrustworthyData - + + + +core.utilities / UntrustworthyData
+
+

UntrustworthyData

+class UntrustworthyData<T>
+

A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from +a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked +first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +UntrustworthyData(fromUntrustedWorld: T)

A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from +a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked +first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:

+
+

Properties

+ + + + + + + +
+data +val data: T
+

Functions

+ + + + + + + +
+validate +fun <R> validate(validator: (T) -> R): R
+ + diff --git a/docs/build/html/api/core.utilities/-untrustworthy-data/validate.html b/docs/build/html/api/core.utilities/-untrustworthy-data/validate.html new file mode 100644 index 0000000000..4845c1bb56 --- /dev/null +++ b/docs/build/html/api/core.utilities/-untrustworthy-data/validate.html @@ -0,0 +1,15 @@ + + +UntrustworthyData.validate - + + + +core.utilities / UntrustworthyData / validate
+
+

validate

+ +inline fun <R> validate(validator: (T) -> R): R
+
+
+ + diff --git a/docs/build/html/api/core.utilities/index.html b/docs/build/html/api/core.utilities/index.html new file mode 100644 index 0000000000..f0c8c310bc --- /dev/null +++ b/docs/build/html/api/core.utilities/index.html @@ -0,0 +1,105 @@ + + +core.utilities - + + + +core.utilities
+
+

Package core.utilities

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ANSIProgressRenderer +object ANSIProgressRenderer

Knows how to render a ProgressTracker to the terminal using coloured, emoji-fied output. Useful when writing small +command line tools, demos, tests etc. Just set the progressTracker field and it will go ahead and start drawing +if the terminal supports it. Otherwise it just prints out the name of the step whenever it changes.

+
+AddOrRemove +enum class AddOrRemove

Enum for when adding/removing something, for example adding or removing an entry in a directory.

+
+AffinityExecutor +interface AffinityExecutor : Executor

An extended executor interface that supports thread affinity assertions and short circuiting. This can be useful +for ensuring code runs on the right thread, and also for unit testing.

+
+BriefLogFormatter +class BriefLogFormatter : Formatter

A Java logging formatter that writes more compact output than the default.

+
+Emoji +object Emoji

A simple wrapper class that contains icons and support for printing them only when were connected to a terminal.

+
+JsonSupport +object JsonSupport

Utilities and serialisers for working with JSON representations of basic types. This adds Jackson support for +the java.time API, some core types, and Kotlin data classes.

+
+ProgressTracker +class ProgressTracker

A progress tracker helps surface information about the progress of an operation to a user interface or API of some +kind. It lets you define a set of steps that represent an operation. A step is represented by an object (typically +a singleton).

+
+RecordingMap +class RecordingMap<K, V> : MutableMap<K, V>

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

+
+UntrustworthyData +class UntrustworthyData<T>

A small utility to approximate taint tracking: if a method gives you back one of these, it means the data came from +a remote source that may be incentivised to pass us junk that violates basic assumptions and thus must be checked +first. The wrapper helps you to avoid forgetting this vital step. Things you might want to check are:

+
+

Functions

+ + + + + + + + + + + +
+loggerFor +fun <T : Any> loggerFor(): <ERROR CLASS>
+trace +fun <ERROR CLASS>.trace(msg: () -> String): Unit
+ + diff --git a/docs/build/html/api/core.utilities/logger-for.html b/docs/build/html/api/core.utilities/logger-for.html new file mode 100644 index 0000000000..bac5e99b46 --- /dev/null +++ b/docs/build/html/api/core.utilities/logger-for.html @@ -0,0 +1,15 @@ + + +loggerFor - + + + +core.utilities / loggerFor
+
+

loggerFor

+ +inline fun <reified T : Any> loggerFor(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core.utilities/trace.html b/docs/build/html/api/core.utilities/trace.html new file mode 100644 index 0000000000..5f74e1f669 --- /dev/null +++ b/docs/build/html/api/core.utilities/trace.html @@ -0,0 +1,15 @@ + + +trace - + + + +core.utilities / trace
+
+

trace

+ +inline fun <ERROR CLASS>.trace(msg: () -> String): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-accrual-adjustment/-adjusted.html b/docs/build/html/api/core/-accrual-adjustment/-adjusted.html new file mode 100644 index 0000000000..ac7dccdae5 --- /dev/null +++ b/docs/build/html/api/core/-accrual-adjustment/-adjusted.html @@ -0,0 +1,14 @@ + + +AccrualAdjustment.Adjusted - + + + +core / AccrualAdjustment / Adjusted
+
+

Adjusted

+Adjusted
+
+
+ + diff --git a/docs/build/html/api/core/-accrual-adjustment/-unadjusted.html b/docs/build/html/api/core/-accrual-adjustment/-unadjusted.html new file mode 100644 index 0000000000..880cce63a5 --- /dev/null +++ b/docs/build/html/api/core/-accrual-adjustment/-unadjusted.html @@ -0,0 +1,14 @@ + + +AccrualAdjustment.Unadjusted - + + + +core / AccrualAdjustment / Unadjusted
+
+

Unadjusted

+Unadjusted
+
+
+ + diff --git a/docs/build/html/api/core/-accrual-adjustment/index.html b/docs/build/html/api/core/-accrual-adjustment/index.html new file mode 100644 index 0000000000..c8eba6940c --- /dev/null +++ b/docs/build/html/api/core/-accrual-adjustment/index.html @@ -0,0 +1,33 @@ + + +AccrualAdjustment - + + + +core / AccrualAdjustment
+
+

AccrualAdjustment

+enum class AccrualAdjustment
+

Simple enum for returning accurals adjusted or unadjusted. +We dont actually do anything with this yet though, so its ignored for now.

+
+
+

Enum Values

+ + + + + + + + + + + +
+Adjusted +
+Unadjusted +
+ + diff --git a/docs/build/html/api/core/-amount/-init-.html b/docs/build/html/api/core/-amount/-init-.html new file mode 100644 index 0000000000..52662cb8d0 --- /dev/null +++ b/docs/build/html/api/core/-amount/-init-.html @@ -0,0 +1,30 @@ + + +Amount.<init> - + + + +core / Amount / <init>
+
+

<init>

+Amount(amount: BigDecimal, currency: Currency)
+
+
+Amount(pennies: Long, currency: Currency)
+

Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.

+

Note that "pennies" are not necessarily 1/100ths of a currency unit, but are the actual smallest amount used in +whatever currency the amount represents.

+

Amounts of different currencies do not mix and attempting to add or subtract two amounts of different currencies +will throw IllegalArgumentException. Amounts may not be negative. Amounts are represented internally using a signed +64 bit value, therefore, the maximum expressable amount is 2^63 - 1 == Long.MAX_VALUE. Addition, subtraction and +multiplication are overflow checked and will throw ArithmeticException if the operation would have caused integer +overflow.

+

TODO: It may make sense to replace this with convenience extensions over the JSR 354 MonetaryAmount interface +TODO: Should amount be abstracted to cover things like quantities of a stock, bond, commercial paper etc? Probably. +TODO: Think about how positive-only vs positive-or-negative amounts can be represented in the type system.

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-amount/compare-to.html b/docs/build/html/api/core/-amount/compare-to.html new file mode 100644 index 0000000000..c24817ff64 --- /dev/null +++ b/docs/build/html/api/core/-amount/compare-to.html @@ -0,0 +1,15 @@ + + +Amount.compareTo - + + + +core / Amount / compareTo
+
+

compareTo

+ +fun compareTo(other: Amount): Int
+
+
+ + diff --git a/docs/build/html/api/core/-amount/currency.html b/docs/build/html/api/core/-amount/currency.html new file mode 100644 index 0000000000..c7ca2d0e17 --- /dev/null +++ b/docs/build/html/api/core/-amount/currency.html @@ -0,0 +1,15 @@ + + +Amount.currency - + + + +core / Amount / currency
+
+

currency

+ +val currency: Currency
+
+
+ + diff --git a/docs/build/html/api/core/-amount/div.html b/docs/build/html/api/core/-amount/div.html new file mode 100644 index 0000000000..4a3f5654ea --- /dev/null +++ b/docs/build/html/api/core/-amount/div.html @@ -0,0 +1,17 @@ + + +Amount.div - + + + +core / Amount / div
+
+

div

+ +operator fun div(other: Long): Amount
+ +operator fun div(other: Int): Amount
+
+
+ + diff --git a/docs/build/html/api/core/-amount/index.html b/docs/build/html/api/core/-amount/index.html new file mode 100644 index 0000000000..01c7925a49 --- /dev/null +++ b/docs/build/html/api/core/-amount/index.html @@ -0,0 +1,110 @@ + + +Amount - + + + +core / Amount
+
+

Amount

+data class Amount : Comparable<Amount>
+

Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.

+

Note that "pennies" are not necessarily 1/100ths of a currency unit, but are the actual smallest amount used in +whatever currency the amount represents.

+

Amounts of different currencies do not mix and attempting to add or subtract two amounts of different currencies +will throw IllegalArgumentException. Amounts may not be negative. Amounts are represented internally using a signed +64 bit value, therefore, the maximum expressable amount is 2^63 - 1 == Long.MAX_VALUE. Addition, subtraction and +multiplication are overflow checked and will throw ArithmeticException if the operation would have caused integer +overflow.

+

TODO: It may make sense to replace this with convenience extensions over the JSR 354 MonetaryAmount interface +TODO: Should amount be abstracted to cover things like quantities of a stock, bond, commercial paper etc? Probably. +TODO: Think about how positive-only vs positive-or-negative amounts can be represented in the type system.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +Amount(amount: BigDecimal, currency: Currency)Amount(pennies: Long, currency: Currency)

Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.

+
+

Properties

+ + + + + + + + + + + +
+currency +val currency: Currency
+pennies +val pennies: Long
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+compareTo +fun compareTo(other: Amount): Int
+div +operator fun div(other: Long): Amount
+operator fun div(other: Int): Amount
+minus +operator fun minus(other: Amount): Amount
+plus +operator fun plus(other: Amount): Amount
+times +operator fun times(other: Long): Amount
+operator fun times(other: Int): Amount
+toString +fun toString(): String
+

Extension Functions

+ + + + + + + +
+times +operator fun Amount.times(other: RatioUnit): Amount
+ + diff --git a/docs/build/html/api/core/-amount/minus.html b/docs/build/html/api/core/-amount/minus.html new file mode 100644 index 0000000000..7b46b0b7b8 --- /dev/null +++ b/docs/build/html/api/core/-amount/minus.html @@ -0,0 +1,15 @@ + + +Amount.minus - + + + +core / Amount / minus
+
+

minus

+ +operator fun minus(other: Amount): Amount
+
+
+ + diff --git a/docs/build/html/api/core/-amount/pennies.html b/docs/build/html/api/core/-amount/pennies.html new file mode 100644 index 0000000000..89373ffc17 --- /dev/null +++ b/docs/build/html/api/core/-amount/pennies.html @@ -0,0 +1,15 @@ + + +Amount.pennies - + + + +core / Amount / pennies
+
+

pennies

+ +val pennies: Long
+
+
+ + diff --git a/docs/build/html/api/core/-amount/plus.html b/docs/build/html/api/core/-amount/plus.html new file mode 100644 index 0000000000..e9f60611b6 --- /dev/null +++ b/docs/build/html/api/core/-amount/plus.html @@ -0,0 +1,15 @@ + + +Amount.plus - + + + +core / Amount / plus
+
+

plus

+ +operator fun plus(other: Amount): Amount
+
+
+ + diff --git a/docs/build/html/api/core/-amount/times.html b/docs/build/html/api/core/-amount/times.html new file mode 100644 index 0000000000..9e1b616af5 --- /dev/null +++ b/docs/build/html/api/core/-amount/times.html @@ -0,0 +1,17 @@ + + +Amount.times - + + + +core / Amount / times
+
+

times

+ +operator fun times(other: Long): Amount
+ +operator fun times(other: Int): Amount
+
+
+ + diff --git a/docs/build/html/api/core/-amount/to-string.html b/docs/build/html/api/core/-amount/to-string.html new file mode 100644 index 0000000000..e2bf66cca5 --- /dev/null +++ b/docs/build/html/api/core/-amount/to-string.html @@ -0,0 +1,15 @@ + + +Amount.toString - + + + +core / Amount / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-attachment/extract-file.html b/docs/build/html/api/core/-attachment/extract-file.html new file mode 100644 index 0000000000..57235e160a --- /dev/null +++ b/docs/build/html/api/core/-attachment/extract-file.html @@ -0,0 +1,19 @@ + + +Attachment.extractFile - + + + +core / Attachment / extractFile
+
+

extractFile

+ +open fun extractFile(path: String, outputTo: OutputStream): Unit
+

Finds the named file case insensitively and copies it to the output stream.

+

Exceptions

+ +FileNotFoundException - if the given path doesnt exist in the attachment.
+
+
+ + diff --git a/docs/build/html/api/core/-attachment/index.html b/docs/build/html/api/core/-attachment/index.html new file mode 100644 index 0000000000..0f80af0e32 --- /dev/null +++ b/docs/build/html/api/core/-attachment/index.html @@ -0,0 +1,59 @@ + + +Attachment - + + + +core / Attachment
+
+

Attachment

+interface Attachment : NamedByHash
+

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to +contain public static data which can be referenced from transactions and utilised from contracts. Good examples +of how attachments are meant to be used include:

+
+
+
+
+

Inherited Properties

+ + + + + + + +
+id +abstract val id: SecureHash
+

Functions

+ + + + + + + + + + + + + + + +
+extractFile +open fun extractFile(path: String, outputTo: OutputStream): Unit

Finds the named file case insensitively and copies it to the output stream.

+
+open +abstract fun open(): InputStream
+openAsJAR +open fun openAsJAR(): JarInputStream
+ + diff --git a/docs/build/html/api/core/-attachment/open-as-j-a-r.html b/docs/build/html/api/core/-attachment/open-as-j-a-r.html new file mode 100644 index 0000000000..d4861d6f58 --- /dev/null +++ b/docs/build/html/api/core/-attachment/open-as-j-a-r.html @@ -0,0 +1,15 @@ + + +Attachment.openAsJAR - + + + +core / Attachment / openAsJAR
+
+

openAsJAR

+ +open fun openAsJAR(): JarInputStream
+
+
+ + diff --git a/docs/build/html/api/core/-attachment/open.html b/docs/build/html/api/core/-attachment/open.html new file mode 100644 index 0000000000..f3d25f4b3b --- /dev/null +++ b/docs/build/html/api/core/-attachment/open.html @@ -0,0 +1,15 @@ + + +Attachment.open - + + + +core / Attachment / open
+
+

open

+ +abstract fun open(): InputStream
+
+
+ + diff --git a/docs/build/html/api/core/-authenticated-object/-init-.html b/docs/build/html/api/core/-authenticated-object/-init-.html new file mode 100644 index 0000000000..110cafc4ed --- /dev/null +++ b/docs/build/html/api/core/-authenticated-object/-init-.html @@ -0,0 +1,15 @@ + + +AuthenticatedObject.<init> - + + + +core / AuthenticatedObject / <init>
+
+

<init>

+AuthenticatedObject(signers: List<PublicKey>, signingParties: List<Party>, value: T)
+

Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.

+
+
+ + diff --git a/docs/build/html/api/core/-authenticated-object/index.html b/docs/build/html/api/core/-authenticated-object/index.html new file mode 100644 index 0000000000..7ef638481a --- /dev/null +++ b/docs/build/html/api/core/-authenticated-object/index.html @@ -0,0 +1,51 @@ + + +AuthenticatedObject - + + + +core / AuthenticatedObject
+
+

AuthenticatedObject

+data class AuthenticatedObject<out T : Any>
+

Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.

+
+
+

Constructors

+ + + + + + + +
+<init> +AuthenticatedObject(signers: List<PublicKey>, signingParties: List<Party>, value: T)

Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.

+
+

Properties

+ + + + + + + + + + + + + + + +
+signers +val signers: List<PublicKey>
+signingParties +val signingParties: List<Party>

If any public keys were recognised, the looked up institutions are available here

+
+value +val value: T
+ + diff --git a/docs/build/html/api/core/-authenticated-object/signers.html b/docs/build/html/api/core/-authenticated-object/signers.html new file mode 100644 index 0000000000..acc0700c35 --- /dev/null +++ b/docs/build/html/api/core/-authenticated-object/signers.html @@ -0,0 +1,15 @@ + + +AuthenticatedObject.signers - + + + +core / AuthenticatedObject / signers
+
+

signers

+ +val signers: List<PublicKey>
+
+
+ + diff --git a/docs/build/html/api/core/-authenticated-object/signing-parties.html b/docs/build/html/api/core/-authenticated-object/signing-parties.html new file mode 100644 index 0000000000..c18c83829d --- /dev/null +++ b/docs/build/html/api/core/-authenticated-object/signing-parties.html @@ -0,0 +1,16 @@ + + +AuthenticatedObject.signingParties - + + + +core / AuthenticatedObject / signingParties
+
+

signingParties

+ +val signingParties: List<Party>
+

If any public keys were recognised, the looked up institutions are available here

+
+
+ + diff --git a/docs/build/html/api/core/-authenticated-object/value.html b/docs/build/html/api/core/-authenticated-object/value.html new file mode 100644 index 0000000000..95fd39959a --- /dev/null +++ b/docs/build/html/api/core/-authenticated-object/value.html @@ -0,0 +1,15 @@ + + +AuthenticatedObject.value - + + + +core / AuthenticatedObject / value
+
+

value

+ +val value: T
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/-t-e-s-t_-c-a-l-e-n-d-a-r_-d-a-t-a.html b/docs/build/html/api/core/-business-calendar/-t-e-s-t_-c-a-l-e-n-d-a-r_-d-a-t-a.html new file mode 100644 index 0000000000..dcd80431bb --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/-t-e-s-t_-c-a-l-e-n-d-a-r_-d-a-t-a.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.TEST_CALENDAR_DATA - + + + +core / BusinessCalendar / TEST_CALENDAR_DATA
+
+

TEST_CALENDAR_DATA

+ +val TEST_CALENDAR_DATA: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/-unknown-calendar/-init-.html b/docs/build/html/api/core/-business-calendar/-unknown-calendar/-init-.html new file mode 100644 index 0000000000..24b880d02a --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/-unknown-calendar/-init-.html @@ -0,0 +1,14 @@ + + +BusinessCalendar.UnknownCalendar.<init> - + + + +core / BusinessCalendar / UnknownCalendar / <init>
+
+

<init>

+UnknownCalendar(name: String)
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/-unknown-calendar/index.html b/docs/build/html/api/core/-business-calendar/-unknown-calendar/index.html new file mode 100644 index 0000000000..793ae18d92 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/-unknown-calendar/index.html @@ -0,0 +1,25 @@ + + +BusinessCalendar.UnknownCalendar - + + + +core / BusinessCalendar / UnknownCalendar
+
+

UnknownCalendar

+class UnknownCalendar : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +UnknownCalendar(name: String)
+ + diff --git a/docs/build/html/api/core/-business-calendar/apply-roll-convention.html b/docs/build/html/api/core/-business-calendar/apply-roll-convention.html new file mode 100644 index 0000000000..8b4fd2658b --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/apply-roll-convention.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.applyRollConvention - + + + +core / BusinessCalendar / applyRollConvention
+
+

applyRollConvention

+ +open fun applyRollConvention(testDate: LocalDate, dateRollConvention: DateRollConvention): LocalDate
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/calendars.html b/docs/build/html/api/core/-business-calendar/calendars.html new file mode 100644 index 0000000000..355ec625c5 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/calendars.html @@ -0,0 +1,17 @@ + + +BusinessCalendar.calendars - + + + +core / BusinessCalendar / calendars
+
+

calendars

+ +val calendars: Array<out String>
+ +val calendars: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/create-generic-schedule.html b/docs/build/html/api/core/-business-calendar/create-generic-schedule.html new file mode 100644 index 0000000000..0249ca1e8b --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/create-generic-schedule.html @@ -0,0 +1,16 @@ + + +BusinessCalendar.createGenericSchedule - + + + +core / BusinessCalendar / createGenericSchedule
+
+

createGenericSchedule

+ +fun createGenericSchedule(startDate: LocalDate, period: Frequency, calendar: BusinessCalendar = BusinessCalendar.getInstance(), dateRollConvention: DateRollConvention = DateRollConvention.Following, noOfAdditionalPeriods: Int = Integer.MAX_VALUE, endDate: LocalDate? = null, periodOffset: Int? = null): List<LocalDate>
+

Calculates an event schedule that moves events around to ensure they fall on working days.

+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/equals.html b/docs/build/html/api/core/-business-calendar/equals.html new file mode 100644 index 0000000000..b8ed3d8041 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/equals.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.equals - + + + +core / BusinessCalendar / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/get-instance.html b/docs/build/html/api/core/-business-calendar/get-instance.html new file mode 100644 index 0000000000..ed60237ba2 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/get-instance.html @@ -0,0 +1,16 @@ + + +BusinessCalendar.getInstance - + + + +core / BusinessCalendar / getInstance
+
+

getInstance

+ +fun getInstance(vararg calname: String): BusinessCalendar
+

Returns a business calendar that combines all the named holiday calendars into one list of holiday dates.

+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/hash-code.html b/docs/build/html/api/core/-business-calendar/hash-code.html new file mode 100644 index 0000000000..17d49a9732 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/hash-code.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.hashCode - + + + +core / BusinessCalendar / hashCode
+
+

hashCode

+ +open fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/holiday-dates.html b/docs/build/html/api/core/-business-calendar/holiday-dates.html new file mode 100644 index 0000000000..c93e97086e --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/holiday-dates.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.holidayDates - + + + +core / BusinessCalendar / holidayDates
+
+

holidayDates

+ +val holidayDates: List<LocalDate>
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/index.html b/docs/build/html/api/core/-business-calendar/index.html new file mode 100644 index 0000000000..36141aafb4 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/index.html @@ -0,0 +1,125 @@ + + +BusinessCalendar - + + + +core / BusinessCalendar
+
+

BusinessCalendar

+open class BusinessCalendar
+

A business calendar performs date calculations that take into account national holidays and weekends. This is a +typical feature of financial contracts, in which a business may not want a payment event to fall on a day when +no staff are around to handle problems.

+
+
+

Exceptions

+ + + + + + + +
+UnknownCalendar +class UnknownCalendar : Exception
+

Properties

+ + + + + + + + + + + +
+calendars +val calendars: Array<out String>
+holidayDates +val holidayDates: List<LocalDate>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + +
+applyRollConvention +open fun applyRollConvention(testDate: LocalDate, dateRollConvention: DateRollConvention): LocalDate
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): Int
+isWorkingDay +open fun isWorkingDay(date: LocalDate): Boolean
+moveBusinessDays +fun moveBusinessDays(date: LocalDate, direction: DateRollDirection, i: Int): LocalDate

Returns a date which is the inbound date plus/minus a given number of business days. +TODO: Make more efficient if necessary

+
+

Companion Object Properties

+ + + + + + + + + + + +
+TEST_CALENDAR_DATA +val TEST_CALENDAR_DATA: <ERROR CLASS>
+calendars +val calendars: <ERROR CLASS>
+

Companion Object Functions

+ + + + + + + + + + + + + + + +
+createGenericSchedule +fun createGenericSchedule(startDate: LocalDate, period: Frequency, calendar: BusinessCalendar = BusinessCalendar.getInstance(), dateRollConvention: DateRollConvention = DateRollConvention.Following, noOfAdditionalPeriods: Int = Integer.MAX_VALUE, endDate: LocalDate? = null, periodOffset: Int? = null): List<LocalDate>

Calculates an event schedule that moves events around to ensure they fall on working days.

+
+getInstance +fun getInstance(vararg calname: String): BusinessCalendar

Returns a business calendar that combines all the named holiday calendars into one list of holiday dates.

+
+parseDateFromString +fun parseDateFromString(it: String): LocalDate

Parses a date of the form YYYY-MM-DD, like 2016-01-10 for 10th Jan.

+
+ + diff --git a/docs/build/html/api/core/-business-calendar/is-working-day.html b/docs/build/html/api/core/-business-calendar/is-working-day.html new file mode 100644 index 0000000000..a01367a055 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/is-working-day.html @@ -0,0 +1,15 @@ + + +BusinessCalendar.isWorkingDay - + + + +core / BusinessCalendar / isWorkingDay
+
+

isWorkingDay

+ +open fun isWorkingDay(date: LocalDate): Boolean
+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/move-business-days.html b/docs/build/html/api/core/-business-calendar/move-business-days.html new file mode 100644 index 0000000000..428f658421 --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/move-business-days.html @@ -0,0 +1,17 @@ + + +BusinessCalendar.moveBusinessDays - + + + +core / BusinessCalendar / moveBusinessDays
+
+

moveBusinessDays

+ +fun moveBusinessDays(date: LocalDate, direction: DateRollDirection, i: Int): LocalDate
+

Returns a date which is the inbound date plus/minus a given number of business days. +TODO: Make more efficient if necessary

+
+
+ + diff --git a/docs/build/html/api/core/-business-calendar/parse-date-from-string.html b/docs/build/html/api/core/-business-calendar/parse-date-from-string.html new file mode 100644 index 0000000000..4290dbbc9c --- /dev/null +++ b/docs/build/html/api/core/-business-calendar/parse-date-from-string.html @@ -0,0 +1,16 @@ + + +BusinessCalendar.parseDateFromString - + + + +core / BusinessCalendar / parseDateFromString
+
+

parseDateFromString

+ +fun parseDateFromString(it: String): LocalDate
+

Parses a date of the form YYYY-MM-DD, like 2016-01-10 for 10th Jan.

+
+
+ + diff --git a/docs/build/html/api/core/-c-h-f.html b/docs/build/html/api/core/-c-h-f.html new file mode 100644 index 0000000000..4fd93288c1 --- /dev/null +++ b/docs/build/html/api/core/-c-h-f.html @@ -0,0 +1,15 @@ + + +CHF - + + + +core / CHF
+
+

CHF

+ +val CHF: Currency
+
+
+ + diff --git a/docs/build/html/api/core/-command-data.html b/docs/build/html/api/core/-command-data.html new file mode 100644 index 0000000000..e628436ce3 --- /dev/null +++ b/docs/build/html/api/core/-command-data.html @@ -0,0 +1,72 @@ + + +CommandData - + + + +core / CommandData
+
+

CommandData

+interface CommandData
+

Marker interface for classes that represent commands

+
+
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Commands +interface Commands : CommandData
+Commands +interface Commands : CommandData
+Commands +interface Commands : CommandData
+Commands +interface Commands : CommandData
+Commands +interface Commands : CommandData
+Fix +data class Fix : CommandData

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+TimestampCommand +data class TimestampCommand : CommandData

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+TypeOnlyCommandData +abstract class TypeOnlyCommandData : CommandData

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+ + diff --git a/docs/build/html/api/core/-command/-init-.html b/docs/build/html/api/core/-command/-init-.html new file mode 100644 index 0000000000..2c77018cca --- /dev/null +++ b/docs/build/html/api/core/-command/-init-.html @@ -0,0 +1,18 @@ + + +Command.<init> - + + + +core / Command / <init>
+
+

<init>

+Command(data: CommandData, key: PublicKey)
+
+
+Command(value: CommandData, signers: List<PublicKey>)
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-command/index.html b/docs/build/html/api/core/-command/index.html new file mode 100644 index 0000000000..b81e4a109c --- /dev/null +++ b/docs/build/html/api/core/-command/index.html @@ -0,0 +1,55 @@ + + +Command - + + + +core / Command
+
+

Command

+data class Command
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +Command(data: CommandData, key: PublicKey)Command(value: CommandData, signers: List<PublicKey>)

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

+
+

Properties

+ + + + + + + + + + + +
+signers +val signers: List<PublicKey>
+value +val value: CommandData
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-command/signers.html b/docs/build/html/api/core/-command/signers.html new file mode 100644 index 0000000000..d6f5899fd2 --- /dev/null +++ b/docs/build/html/api/core/-command/signers.html @@ -0,0 +1,15 @@ + + +Command.signers - + + + +core / Command / signers
+
+

signers

+ +val signers: List<PublicKey>
+
+
+ + diff --git a/docs/build/html/api/core/-command/to-string.html b/docs/build/html/api/core/-command/to-string.html new file mode 100644 index 0000000000..3d72244f93 --- /dev/null +++ b/docs/build/html/api/core/-command/to-string.html @@ -0,0 +1,15 @@ + + +Command.toString - + + + +core / Command / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-command/value.html b/docs/build/html/api/core/-command/value.html new file mode 100644 index 0000000000..c5f601f9dc --- /dev/null +++ b/docs/build/html/api/core/-command/value.html @@ -0,0 +1,15 @@ + + +Command.value - + + + +core / Command / value
+
+

value

+ +val value: CommandData
+
+
+ + diff --git a/docs/build/html/api/core/-contract-state/contract.html b/docs/build/html/api/core/-contract-state/contract.html new file mode 100644 index 0000000000..71ce3645be --- /dev/null +++ b/docs/build/html/api/core/-contract-state/contract.html @@ -0,0 +1,16 @@ + + +ContractState.contract - + + + +core / ContractState / contract
+
+

contract

+ +abstract val contract: Contract
+

Contract by which the state belongs

+
+
+ + diff --git a/docs/build/html/api/core/-contract-state/index.html b/docs/build/html/api/core/-contract-state/index.html new file mode 100644 index 0000000000..6eb97ea70f --- /dev/null +++ b/docs/build/html/api/core/-contract-state/index.html @@ -0,0 +1,71 @@ + + +ContractState - + + + +core / ContractState
+
+

ContractState

+interface ContractState
+

A contract state (or just "state") contains opaque data used by a contract program. It can be thought of as a disk +file that the program can use to persist data across transactions. States are immutable: once created they are never +updated, instead, any changes must generate a new successor state.

+
+
+

Properties

+ + + + + + + +
+contract +abstract val contract: Contract

Contract by which the state belongs

+
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + + + + + + + + + + + + + +
+LinearState +interface LinearState : ContractState

A state that evolves by superseding itself, all of which share the common "thread"

+
+OwnableState +interface OwnableState : ContractState
+State +data class State : ContractState
+State +class State : ContractState
+ + diff --git a/docs/build/html/api/core/-contract/index.html b/docs/build/html/api/core/-contract/index.html new file mode 100644 index 0000000000..ebc00a0876 --- /dev/null +++ b/docs/build/html/api/core/-contract/index.html @@ -0,0 +1,93 @@ + + +Contract - + + + +core / Contract
+
+

Contract

+interface Contract
+

Implemented by a program that implements business logic on the shared ledger. All participants run this code for +every LedgerTransaction they see on the network, for every input and output state. All contracts must accept the +transaction for it to be accepted: failure of any aborts the entire thing. The time is taken from a trusted +timestamp attached to the transaction itself i.e. it is NOT necessarily the current time.

+
+
+

Properties

+ + + + + + + +
+legalContractReference +abstract val legalContractReference: SecureHash

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

+
+

Functions

+ + + + + + + +
+verify +abstract fun verify(tx: TransactionForVerification): Unit

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

+
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + +
+Cash +class Cash : Contract

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

+
+CommercialPaper +class CommercialPaper : Contract
+CrowdFund +class CrowdFund : Contract

This is a basic crowd funding contract. It allows a party to create a funding opportunity, then for others to +pledge during the funding period , and then for the party to either accept the funding (if the target has been reached) +return the funds to the pledge-makers (if the target has not been reached).

+
+DummyContract +class DummyContract : Contract
+InterestRateSwap +class InterestRateSwap : Contract

The Interest Rate Swap class. For a quick overview of what an IRS is, see here - http://www.pimco.co.uk/EN/Education/Pages/InterestRateSwapsBasics1-08.aspx (no endorsement) +This contract has 4 significant data classes within it, the "Common", "Calculation", "FixedLeg" and "FloatingLeg" +It also has 4 commands, "Agree", "Fix", "Pay" and "Mature". +Currently, we are not interested (excuse pun) in valuing the swap, calculating the PVs, DFs and all that good stuff (soon though). +This is just a representation of a vanilla Fixed vs Floating (same currency) IRS in the R3 prototype model.

+
+ + diff --git a/docs/build/html/api/core/-contract/legal-contract-reference.html b/docs/build/html/api/core/-contract/legal-contract-reference.html new file mode 100644 index 0000000000..ad62fa457e --- /dev/null +++ b/docs/build/html/api/core/-contract/legal-contract-reference.html @@ -0,0 +1,17 @@ + + +Contract.legalContractReference - + + + +core / Contract / legalContractReference
+
+

legalContractReference

+ +abstract val legalContractReference: SecureHash
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-contract/verify.html b/docs/build/html/api/core/-contract/verify.html new file mode 100644 index 0000000000..b2b6b174b9 --- /dev/null +++ b/docs/build/html/api/core/-contract/verify.html @@ -0,0 +1,19 @@ + + +Contract.verify - + + + +core / Contract / verify
+
+

verify

+ +abstract fun verify(tx: TransactionForVerification): Unit
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-date-offset/-t-w-o-d-a-y-s.html b/docs/build/html/api/core/-date-offset/-t-w-o-d-a-y-s.html new file mode 100644 index 0000000000..022f213cc8 --- /dev/null +++ b/docs/build/html/api/core/-date-offset/-t-w-o-d-a-y-s.html @@ -0,0 +1,14 @@ + + +DateOffset.TWODAYS - + + + +core / DateOffset / TWODAYS
+
+

TWODAYS

+TWODAYS
+
+
+ + diff --git a/docs/build/html/api/core/-date-offset/-z-e-r-o.html b/docs/build/html/api/core/-date-offset/-z-e-r-o.html new file mode 100644 index 0000000000..7fc53b91fe --- /dev/null +++ b/docs/build/html/api/core/-date-offset/-z-e-r-o.html @@ -0,0 +1,14 @@ + + +DateOffset.ZERO - + + + +core / DateOffset / ZERO
+
+

ZERO

+ZERO
+
+
+ + diff --git a/docs/build/html/api/core/-date-offset/index.html b/docs/build/html/api/core/-date-offset/index.html new file mode 100644 index 0000000000..2aa5f49e8d --- /dev/null +++ b/docs/build/html/api/core/-date-offset/index.html @@ -0,0 +1,33 @@ + + +DateOffset - + + + +core / DateOffset
+
+

DateOffset

+enum class DateOffset
+

Date offset that the fixing is done prior to the accrual start date. +Currently not used in the calculation.

+
+
+

Enum Values

+ + + + + + + + + + + +
+ZERO +
+TWODAYS +
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-actual/direction.html b/docs/build/html/api/core/-date-roll-convention/-actual/direction.html new file mode 100644 index 0000000000..02df8f991f --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-actual/direction.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Actual.direction - + + + +core / DateRollConvention / Actual / direction
+
+

direction

+ +fun direction(): DateRollDirection
+Overrides DateRollConvention.direction
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-actual/index.html b/docs/build/html/api/core/-date-roll-convention/-actual/index.html new file mode 100644 index 0000000000..1cedcb1d3e --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-actual/index.html @@ -0,0 +1,37 @@ + + +DateRollConvention.Actual - + + + +core / DateRollConvention / Actual
+
+

Actual

+Actual
+

Dont roll the date, use the one supplied.

+
+
+

Properties

+ + + + + + + +
+isModified +val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-actual/is-modified.html b/docs/build/html/api/core/-date-roll-convention/-actual/is-modified.html new file mode 100644 index 0000000000..7ad66902b5 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-actual/is-modified.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Actual.isModified - + + + +core / DateRollConvention / Actual / isModified
+
+

isModified

+ +val isModified: Boolean
+Overrides DateRollConvention.isModified
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-following/direction.html b/docs/build/html/api/core/-date-roll-convention/-following/direction.html new file mode 100644 index 0000000000..01212e6bdb --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-following/direction.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Following.direction - + + + +core / DateRollConvention / Following / direction
+
+

direction

+ +fun direction(): DateRollDirection
+Overrides DateRollConvention.direction
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-following/index.html b/docs/build/html/api/core/-date-roll-convention/-following/index.html new file mode 100644 index 0000000000..143862dd2b --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-following/index.html @@ -0,0 +1,37 @@ + + +DateRollConvention.Following - + + + +core / DateRollConvention / Following
+
+

Following

+Following
+

Following is the next business date from this one.

+
+
+

Properties

+ + + + + + + +
+isModified +val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-following/is-modified.html b/docs/build/html/api/core/-date-roll-convention/-following/is-modified.html new file mode 100644 index 0000000000..cfdacdd0c8 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-following/is-modified.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Following.isModified - + + + +core / DateRollConvention / Following / isModified
+
+

isModified

+ +val isModified: Boolean
+Overrides DateRollConvention.isModified
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-following/direction.html b/docs/build/html/api/core/-date-roll-convention/-modified-following/direction.html new file mode 100644 index 0000000000..7d0a7b5044 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-following/direction.html @@ -0,0 +1,16 @@ + + +DateRollConvention.ModifiedFollowing.direction - + + + +core / DateRollConvention / ModifiedFollowing / direction
+
+

direction

+ +fun direction(): DateRollDirection
+Overrides DateRollConvention.direction
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-following/index.html b/docs/build/html/api/core/-date-roll-convention/-modified-following/index.html new file mode 100644 index 0000000000..5eed9b6674 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-following/index.html @@ -0,0 +1,38 @@ + + +DateRollConvention.ModifiedFollowing - + + + +core / DateRollConvention / ModifiedFollowing
+
+

ModifiedFollowing

+ModifiedFollowing
+

"Modified following" is the next business date, unless its in the next month, in which case use the preceeding +business date.

+
+
+

Properties

+ + + + + + + +
+isModified +val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-following/is-modified.html b/docs/build/html/api/core/-date-roll-convention/-modified-following/is-modified.html new file mode 100644 index 0000000000..93af7ce260 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-following/is-modified.html @@ -0,0 +1,16 @@ + + +DateRollConvention.ModifiedFollowing.isModified - + + + +core / DateRollConvention / ModifiedFollowing / isModified
+
+

isModified

+ +val isModified: Boolean
+Overrides DateRollConvention.isModified
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-previous/direction.html b/docs/build/html/api/core/-date-roll-convention/-modified-previous/direction.html new file mode 100644 index 0000000000..669fd6ef56 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-previous/direction.html @@ -0,0 +1,16 @@ + + +DateRollConvention.ModifiedPrevious.direction - + + + +core / DateRollConvention / ModifiedPrevious / direction
+
+

direction

+ +fun direction(): DateRollDirection
+Overrides DateRollConvention.direction
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-previous/index.html b/docs/build/html/api/core/-date-roll-convention/-modified-previous/index.html new file mode 100644 index 0000000000..4b9e017b7d --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-previous/index.html @@ -0,0 +1,38 @@ + + +DateRollConvention.ModifiedPrevious - + + + +core / DateRollConvention / ModifiedPrevious
+
+

ModifiedPrevious

+ModifiedPrevious
+

Modified previous is the previous business date, unless its in the previous month, in which case use the next +business date.

+
+
+

Properties

+ + + + + + + +
+isModified +val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-modified-previous/is-modified.html b/docs/build/html/api/core/-date-roll-convention/-modified-previous/is-modified.html new file mode 100644 index 0000000000..d42ee9a53d --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-modified-previous/is-modified.html @@ -0,0 +1,16 @@ + + +DateRollConvention.ModifiedPrevious.isModified - + + + +core / DateRollConvention / ModifiedPrevious / isModified
+
+

isModified

+ +val isModified: Boolean
+Overrides DateRollConvention.isModified
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-previous/direction.html b/docs/build/html/api/core/-date-roll-convention/-previous/direction.html new file mode 100644 index 0000000000..f786358109 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-previous/direction.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Previous.direction - + + + +core / DateRollConvention / Previous / direction
+
+

direction

+ +fun direction(): DateRollDirection
+Overrides DateRollConvention.direction
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-previous/index.html b/docs/build/html/api/core/-date-roll-convention/-previous/index.html new file mode 100644 index 0000000000..daf9d99dcf --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-previous/index.html @@ -0,0 +1,37 @@ + + +DateRollConvention.Previous - + + + +core / DateRollConvention / Previous
+
+

Previous

+Previous
+

Previous is the previous business date from this one.

+
+
+

Properties

+ + + + + + + +
+isModified +val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/-previous/is-modified.html b/docs/build/html/api/core/-date-roll-convention/-previous/is-modified.html new file mode 100644 index 0000000000..fef5521936 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/-previous/is-modified.html @@ -0,0 +1,16 @@ + + +DateRollConvention.Previous.isModified - + + + +core / DateRollConvention / Previous / isModified
+
+

isModified

+ +val isModified: Boolean
+Overrides DateRollConvention.isModified
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/direction.html b/docs/build/html/api/core/-date-roll-convention/direction.html new file mode 100644 index 0000000000..6675112b9d --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/direction.html @@ -0,0 +1,15 @@ + + +DateRollConvention.direction - + + + +core / DateRollConvention / direction
+
+

direction

+ +abstract fun direction(): DateRollDirection
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/index.html b/docs/build/html/api/core/-date-roll-convention/index.html new file mode 100644 index 0000000000..4479e5b4da --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/index.html @@ -0,0 +1,81 @@ + + +DateRollConvention - + + + +core / DateRollConvention
+
+

DateRollConvention

+enum class DateRollConvention
+

This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day +Depending on the accounting requirement, we can move forward until we get to a business day, or backwards +There are some additional rules which are explained in the individual cases below

+
+
+

Enum Values

+ + + + + + + + + + + + + + + + + + + + + + + +
+Actual +

Dont roll the date, use the one supplied.

+
+Following +

Following is the next business date from this one.

+
+ModifiedFollowing +

"Modified following" is the next business date, unless its in the next month, in which case use the preceeding +business date.

+
+Previous +

Previous is the previous business date from this one.

+
+ModifiedPrevious +

Modified previous is the previous business date, unless its in the previous month, in which case use the next +business date.

+
+

Properties

+ + + + + + + +
+isModified +abstract val isModified: Boolean
+

Functions

+ + + + + + + +
+direction +abstract fun direction(): DateRollDirection
+ + diff --git a/docs/build/html/api/core/-date-roll-convention/is-modified.html b/docs/build/html/api/core/-date-roll-convention/is-modified.html new file mode 100644 index 0000000000..f999b8fd22 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-convention/is-modified.html @@ -0,0 +1,15 @@ + + +DateRollConvention.isModified - + + + +core / DateRollConvention / isModified
+
+

isModified

+ +abstract val isModified: Boolean
+
+
+ + diff --git a/docs/build/html/api/core/-date-roll-direction/-b-a-c-k-w-a-r-d.html b/docs/build/html/api/core/-date-roll-direction/-b-a-c-k-w-a-r-d.html new file mode 100644 index 0000000000..519db20d5c --- /dev/null +++ b/docs/build/html/api/core/-date-roll-direction/-b-a-c-k-w-a-r-d.html @@ -0,0 +1,25 @@ + + +DateRollDirection.BACKWARD - + + + +core / DateRollDirection / BACKWARD
+
+

BACKWARD

+BACKWARD
+
+
+

Inherited Properties

+ + + + + + + +
+value +val value: Long
+ + diff --git a/docs/build/html/api/core/-date-roll-direction/-f-o-r-w-a-r-d.html b/docs/build/html/api/core/-date-roll-direction/-f-o-r-w-a-r-d.html new file mode 100644 index 0000000000..2b35f935c9 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-direction/-f-o-r-w-a-r-d.html @@ -0,0 +1,25 @@ + + +DateRollDirection.FORWARD - + + + +core / DateRollDirection / FORWARD
+
+

FORWARD

+FORWARD
+
+
+

Inherited Properties

+ + + + + + + +
+value +val value: Long
+ + diff --git a/docs/build/html/api/core/-date-roll-direction/index.html b/docs/build/html/api/core/-date-roll-direction/index.html new file mode 100644 index 0000000000..fcb8dcdb18 --- /dev/null +++ b/docs/build/html/api/core/-date-roll-direction/index.html @@ -0,0 +1,44 @@ + + +DateRollDirection - + + + +core / DateRollDirection
+
+

DateRollDirection

+enum class DateRollDirection
+

This is utilised in the DateRollConvention class to determine which way we should initially step when +finding a business day

+
+
+

Enum Values

+ + + + + + + + + + + +
+FORWARD +
+BACKWARD +
+

Properties

+ + + + + + + +
+value +val value: Long
+ + diff --git a/docs/build/html/api/core/-date-roll-direction/value.html b/docs/build/html/api/core/-date-roll-direction/value.html new file mode 100644 index 0000000000..33697c2a5f --- /dev/null +++ b/docs/build/html/api/core/-date-roll-direction/value.html @@ -0,0 +1,15 @@ + + +DateRollDirection.value - + + + +core / DateRollDirection / value
+
+

value

+ +val value: Long
+
+
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d-actual-j.html b/docs/build/html/api/core/-day-count-basis-day/-d-actual-j.html new file mode 100644 index 0000000000..bc7b51d415 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d-actual-j.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.DActualJ - + + + +core / DayCountBasisDay / DActualJ
+
+

DActualJ

+DActualJ
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d-actual.html b/docs/build/html/api/core/-day-count-basis-day/-d-actual.html new file mode 100644 index 0000000000..75e06ccd5f --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d-actual.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.DActual - + + + +core / DayCountBasisDay / DActual
+
+

DActual

+DActual
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d-bus_-sao-paulo.html b/docs/build/html/api/core/-day-count-basis-day/-d-bus_-sao-paulo.html new file mode 100644 index 0000000000..805901c757 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d-bus_-sao-paulo.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.DBus_SaoPaulo - + + + +core / DayCountBasisDay / DBus_SaoPaulo
+
+

DBus_SaoPaulo

+DBus_SaoPaulo
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-e.html b/docs/build/html/api/core/-day-count-basis-day/-d30-e.html new file mode 100644 index 0000000000..6cef728542 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-e.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30E - + + + +core / DayCountBasisDay / D30E
+
+

D30E

+D30E
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-f.html b/docs/build/html/api/core/-day-count-basis-day/-d30-f.html new file mode 100644 index 0000000000..0b35df25a9 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-f.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30F - + + + +core / DayCountBasisDay / D30F
+
+

D30F

+D30F
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-g.html b/docs/build/html/api/core/-day-count-basis-day/-d30-g.html new file mode 100644 index 0000000000..62576d36cf --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-g.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30G - + + + +core / DayCountBasisDay / D30G
+
+

D30G

+D30G
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-n.html b/docs/build/html/api/core/-day-count-basis-day/-d30-n.html new file mode 100644 index 0000000000..f3dc371fc8 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-n.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30N - + + + +core / DayCountBasisDay / D30N
+
+

D30N

+D30N
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-p.html b/docs/build/html/api/core/-day-count-basis-day/-d30-p.html new file mode 100644 index 0000000000..c5c8a5ae80 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-p.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30P - + + + +core / DayCountBasisDay / D30P
+
+

D30P

+D30P
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30-z.html b/docs/build/html/api/core/-day-count-basis-day/-d30-z.html new file mode 100644 index 0000000000..e8613a4e18 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30-z.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30Z - + + + +core / DayCountBasisDay / D30Z
+
+

D30Z

+D30Z
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/-d30.html b/docs/build/html/api/core/-day-count-basis-day/-d30.html new file mode 100644 index 0000000000..d9485d292f --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/-d30.html @@ -0,0 +1,25 @@ + + +DayCountBasisDay.D30 - + + + +core / DayCountBasisDay / D30
+
+

D30

+D30
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/index.html b/docs/build/html/api/core/-day-count-basis-day/index.html new file mode 100644 index 0000000000..614f51e6cc --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/index.html @@ -0,0 +1,93 @@ + + +DayCountBasisDay - + + + +core / DayCountBasisDay
+
+

DayCountBasisDay

+enum class DayCountBasisDay
+

This forms the day part of the "Day Count Basis" used for interest calculation. +Note that the first character cannot be a number (enum naming constraints), so we drop that +in the toString lest some people get confused.

+
+
+

Enum Values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+D30 +
+D30N +
+D30P +
+D30E +
+D30G +
+DActual +
+DActualJ +
+D30Z +
+D30F +
+DBus_SaoPaulo +
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-day/to-string.html b/docs/build/html/api/core/-day-count-basis-day/to-string.html new file mode 100644 index 0000000000..59b61a3dfa --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-day/to-string.html @@ -0,0 +1,15 @@ + + +DayCountBasisDay.toString - + + + +core / DayCountBasisDay / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y-actual-a.html b/docs/build/html/api/core/-day-count-basis-year/-y-actual-a.html new file mode 100644 index 0000000000..f5a0108254 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y-actual-a.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.YActualA - + + + +core / DayCountBasisYear / YActualA
+
+

YActualA

+YActualA
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y-actual.html b/docs/build/html/api/core/-day-count-basis-year/-y-actual.html new file mode 100644 index 0000000000..421217cee4 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y-actual.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.YActual - + + + +core / DayCountBasisYear / YActual
+
+

YActual

+YActual
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y-i-c-m-a.html b/docs/build/html/api/core/-day-count-basis-year/-y-i-c-m-a.html new file mode 100644 index 0000000000..82eaa89c01 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y-i-c-m-a.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.YICMA - + + + +core / DayCountBasisYear / YICMA
+
+

YICMA

+YICMA
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y-i-s-m-a.html b/docs/build/html/api/core/-day-count-basis-year/-y-i-s-m-a.html new file mode 100644 index 0000000000..9d3a806a45 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y-i-s-m-a.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.YISMA - + + + +core / DayCountBasisYear / YISMA
+
+

YISMA

+YISMA
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y252.html b/docs/build/html/api/core/-day-count-basis-year/-y252.html new file mode 100644 index 0000000000..0a2440be40 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y252.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y252 - + + + +core / DayCountBasisYear / Y252
+
+

Y252

+Y252
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y360.html b/docs/build/html/api/core/-day-count-basis-year/-y360.html new file mode 100644 index 0000000000..2b0da7feac --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y360.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y360 - + + + +core / DayCountBasisYear / Y360
+
+

Y360

+Y360
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y365-b.html b/docs/build/html/api/core/-day-count-basis-year/-y365-b.html new file mode 100644 index 0000000000..171bae742b --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y365-b.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y365B - + + + +core / DayCountBasisYear / Y365B
+
+

Y365B

+Y365B
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y365-f.html b/docs/build/html/api/core/-day-count-basis-year/-y365-f.html new file mode 100644 index 0000000000..136183a5e2 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y365-f.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y365F - + + + +core / DayCountBasisYear / Y365F
+
+

Y365F

+Y365F
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y365-l.html b/docs/build/html/api/core/-day-count-basis-year/-y365-l.html new file mode 100644 index 0000000000..e565f3cd7f --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y365-l.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y365L - + + + +core / DayCountBasisYear / Y365L
+
+

Y365L

+Y365L
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y365-q.html b/docs/build/html/api/core/-day-count-basis-year/-y365-q.html new file mode 100644 index 0000000000..c353a9c5bb --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y365-q.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y365Q - + + + +core / DayCountBasisYear / Y365Q
+
+

Y365Q

+Y365Q
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y365.html b/docs/build/html/api/core/-day-count-basis-year/-y365.html new file mode 100644 index 0000000000..a27ae3a393 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y365.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y365 - + + + +core / DayCountBasisYear / Y365
+
+

Y365

+Y365
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/-y366.html b/docs/build/html/api/core/-day-count-basis-year/-y366.html new file mode 100644 index 0000000000..f411c7ac86 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/-y366.html @@ -0,0 +1,25 @@ + + +DayCountBasisYear.Y366 - + + + +core / DayCountBasisYear / Y366
+
+

Y366

+Y366
+
+
+

Inherited Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/index.html b/docs/build/html/api/core/-day-count-basis-year/index.html new file mode 100644 index 0000000000..5c92d0759c --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/index.html @@ -0,0 +1,103 @@ + + +DayCountBasisYear - + + + +core / DayCountBasisYear
+
+

DayCountBasisYear

+enum class DayCountBasisYear
+

This forms the year part of the "Day Count Basis" used for interest calculation.

+
+
+

Enum Values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Y360 +
+Y365F +
+Y365L +
+Y365Q +
+Y366 +
+YActual +
+YActualA +
+Y365B +
+Y365 +
+YISMA +
+YICMA +
+Y252 +
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-day-count-basis-year/to-string.html b/docs/build/html/api/core/-day-count-basis-year/to-string.html new file mode 100644 index 0000000000..0dc4229919 --- /dev/null +++ b/docs/build/html/api/core/-day-count-basis-year/to-string.html @@ -0,0 +1,15 @@ + + +DayCountBasisYear.toString - + + + +core / DayCountBasisYear / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-expression-deserializer/deserialize.html b/docs/build/html/api/core/-expression-deserializer/deserialize.html new file mode 100644 index 0000000000..9e332f7d05 --- /dev/null +++ b/docs/build/html/api/core/-expression-deserializer/deserialize.html @@ -0,0 +1,15 @@ + + +ExpressionDeserializer.deserialize - + + + +core / ExpressionDeserializer / deserialize
+
+

deserialize

+ +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): Expression
+
+
+ + diff --git a/docs/build/html/api/core/-expression-deserializer/index.html b/docs/build/html/api/core/-expression-deserializer/index.html new file mode 100644 index 0000000000..ac4fdec4f6 --- /dev/null +++ b/docs/build/html/api/core/-expression-deserializer/index.html @@ -0,0 +1,25 @@ + + +ExpressionDeserializer - + + + +core / ExpressionDeserializer
+
+

ExpressionDeserializer

+object ExpressionDeserializer
+
+
+

Functions

+ + + + + + + +
+deserialize +fun deserialize(parser: <ERROR CLASS>, context: <ERROR CLASS>): Expression
+ + diff --git a/docs/build/html/api/core/-expression-serializer/index.html b/docs/build/html/api/core/-expression-serializer/index.html new file mode 100644 index 0000000000..dfdbb0f9c5 --- /dev/null +++ b/docs/build/html/api/core/-expression-serializer/index.html @@ -0,0 +1,25 @@ + + +ExpressionSerializer - + + + +core / ExpressionSerializer
+
+

ExpressionSerializer

+object ExpressionSerializer
+
+
+

Functions

+ + + + + + + +
+serialize +fun serialize(expr: Expression, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+ + diff --git a/docs/build/html/api/core/-expression-serializer/serialize.html b/docs/build/html/api/core/-expression-serializer/serialize.html new file mode 100644 index 0000000000..a538100508 --- /dev/null +++ b/docs/build/html/api/core/-expression-serializer/serialize.html @@ -0,0 +1,15 @@ + + +ExpressionSerializer.serialize - + + + +core / ExpressionSerializer / serialize
+
+

serialize

+ +fun serialize(expr: Expression, generator: <ERROR CLASS>, provider: <ERROR CLASS>): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-expression/-init-.html b/docs/build/html/api/core/-expression/-init-.html new file mode 100644 index 0000000000..acef77cdc4 --- /dev/null +++ b/docs/build/html/api/core/-expression/-init-.html @@ -0,0 +1,15 @@ + + +Expression.<init> - + + + +core / Expression / <init>
+
+

<init>

+Expression(expr: String)
+

Represents a textual expression of e.g. a formula

+
+
+ + diff --git a/docs/build/html/api/core/-expression/expr.html b/docs/build/html/api/core/-expression/expr.html new file mode 100644 index 0000000000..85e9b5a245 --- /dev/null +++ b/docs/build/html/api/core/-expression/expr.html @@ -0,0 +1,15 @@ + + +Expression.expr - + + + +core / Expression / expr
+
+

expr

+ +val expr: String
+
+
+ + diff --git a/docs/build/html/api/core/-expression/index.html b/docs/build/html/api/core/-expression/index.html new file mode 100644 index 0000000000..5fa83a1843 --- /dev/null +++ b/docs/build/html/api/core/-expression/index.html @@ -0,0 +1,38 @@ + + +Expression - + + + +core / Expression
+
+

Expression

+data class Expression
+

Represents a textual expression of e.g. a formula

+
+
+

Constructors

+ + + + + + + +
+<init> +Expression(expr: String)

Represents a textual expression of e.g. a formula

+
+

Properties

+ + + + + + + +
+expr +val expr: String
+ + diff --git a/docs/build/html/api/core/-fix-of/-init-.html b/docs/build/html/api/core/-fix-of/-init-.html new file mode 100644 index 0000000000..e7d0c6d687 --- /dev/null +++ b/docs/build/html/api/core/-fix-of/-init-.html @@ -0,0 +1,15 @@ + + +FixOf.<init> - + + + +core / FixOf / <init>
+
+

<init>

+FixOf(name: String, forDay: LocalDate, ofTenor: Tenor)
+

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

+
+
+ + diff --git a/docs/build/html/api/core/-fix-of/for-day.html b/docs/build/html/api/core/-fix-of/for-day.html new file mode 100644 index 0000000000..f51365377b --- /dev/null +++ b/docs/build/html/api/core/-fix-of/for-day.html @@ -0,0 +1,15 @@ + + +FixOf.forDay - + + + +core / FixOf / forDay
+
+

forDay

+ +val forDay: LocalDate
+
+
+ + diff --git a/docs/build/html/api/core/-fix-of/index.html b/docs/build/html/api/core/-fix-of/index.html new file mode 100644 index 0000000000..e476f877d4 --- /dev/null +++ b/docs/build/html/api/core/-fix-of/index.html @@ -0,0 +1,50 @@ + + +FixOf - + + + +core / FixOf
+
+

FixOf

+data class FixOf
+

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

+
+
+

Constructors

+ + + + + + + +
+<init> +FixOf(name: String, forDay: LocalDate, ofTenor: Tenor)

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

+
+

Properties

+ + + + + + + + + + + + + + + +
+forDay +val forDay: LocalDate
+name +val name: String
+ofTenor +val ofTenor: Tenor
+ + diff --git a/docs/build/html/api/core/-fix-of/name.html b/docs/build/html/api/core/-fix-of/name.html new file mode 100644 index 0000000000..2c59fe85d0 --- /dev/null +++ b/docs/build/html/api/core/-fix-of/name.html @@ -0,0 +1,15 @@ + + +FixOf.name - + + + +core / FixOf / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/core/-fix-of/of-tenor.html b/docs/build/html/api/core/-fix-of/of-tenor.html new file mode 100644 index 0000000000..3d28b0d19e --- /dev/null +++ b/docs/build/html/api/core/-fix-of/of-tenor.html @@ -0,0 +1,15 @@ + + +FixOf.ofTenor - + + + +core / FixOf / ofTenor
+
+

ofTenor

+ +val ofTenor: Tenor
+
+
+ + diff --git a/docs/build/html/api/core/-fix/-init-.html b/docs/build/html/api/core/-fix/-init-.html new file mode 100644 index 0000000000..117f7c4f0d --- /dev/null +++ b/docs/build/html/api/core/-fix/-init-.html @@ -0,0 +1,15 @@ + + +Fix.<init> - + + + +core / Fix / <init>
+
+

<init>

+Fix(of: FixOf, value: BigDecimal)
+

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+
+ + diff --git a/docs/build/html/api/core/-fix/index.html b/docs/build/html/api/core/-fix/index.html new file mode 100644 index 0000000000..e8fad58f5c --- /dev/null +++ b/docs/build/html/api/core/-fix/index.html @@ -0,0 +1,44 @@ + + +Fix - + + + +core / Fix
+
+

Fix

+data class Fix : CommandData
+

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+
+

Constructors

+ + + + + + + +
+<init> +Fix(of: FixOf, value: BigDecimal)

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+

Properties

+ + + + + + + + + + + +
+of +val of: FixOf
+value +val value: BigDecimal
+ + diff --git a/docs/build/html/api/core/-fix/of.html b/docs/build/html/api/core/-fix/of.html new file mode 100644 index 0000000000..c7d73fa7da --- /dev/null +++ b/docs/build/html/api/core/-fix/of.html @@ -0,0 +1,15 @@ + + +Fix.of - + + + +core / Fix / of
+
+

of

+ +val of: FixOf
+
+
+ + diff --git a/docs/build/html/api/core/-fix/value.html b/docs/build/html/api/core/-fix/value.html new file mode 100644 index 0000000000..0b64ccf180 --- /dev/null +++ b/docs/build/html/api/core/-fix/value.html @@ -0,0 +1,15 @@ + + +Fix.value - + + + +core / Fix / value
+
+

value

+ +val value: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-annual/index.html b/docs/build/html/api/core/-frequency/-annual/index.html new file mode 100644 index 0000000000..181218a44a --- /dev/null +++ b/docs/build/html/api/core/-frequency/-annual/index.html @@ -0,0 +1,36 @@ + + +Frequency.Annual - + + + +core / Frequency / Annual
+
+

Annual

+Annual
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-annual/offset.html b/docs/build/html/api/core/-frequency/-annual/offset.html new file mode 100644 index 0000000000..aba88b1062 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-annual/offset.html @@ -0,0 +1,16 @@ + + +Frequency.Annual.offset - + + + +core / Frequency / Annual / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-bi-weekly/index.html b/docs/build/html/api/core/-frequency/-bi-weekly/index.html new file mode 100644 index 0000000000..7b1199ff10 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-bi-weekly/index.html @@ -0,0 +1,36 @@ + + +Frequency.BiWeekly - + + + +core / Frequency / BiWeekly
+
+

BiWeekly

+BiWeekly
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-bi-weekly/offset.html b/docs/build/html/api/core/-frequency/-bi-weekly/offset.html new file mode 100644 index 0000000000..11b1855633 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-bi-weekly/offset.html @@ -0,0 +1,16 @@ + + +Frequency.BiWeekly.offset - + + + +core / Frequency / BiWeekly / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-monthly/index.html b/docs/build/html/api/core/-frequency/-monthly/index.html new file mode 100644 index 0000000000..fc84dc0cd8 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-monthly/index.html @@ -0,0 +1,36 @@ + + +Frequency.Monthly - + + + +core / Frequency / Monthly
+
+

Monthly

+Monthly
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-monthly/offset.html b/docs/build/html/api/core/-frequency/-monthly/offset.html new file mode 100644 index 0000000000..6f60806089 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-monthly/offset.html @@ -0,0 +1,16 @@ + + +Frequency.Monthly.offset - + + + +core / Frequency / Monthly / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-quarterly/index.html b/docs/build/html/api/core/-frequency/-quarterly/index.html new file mode 100644 index 0000000000..43deb93886 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-quarterly/index.html @@ -0,0 +1,36 @@ + + +Frequency.Quarterly - + + + +core / Frequency / Quarterly
+
+

Quarterly

+Quarterly
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-quarterly/offset.html b/docs/build/html/api/core/-frequency/-quarterly/offset.html new file mode 100644 index 0000000000..14c9a349c3 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-quarterly/offset.html @@ -0,0 +1,16 @@ + + +Frequency.Quarterly.offset - + + + +core / Frequency / Quarterly / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-semi-annual/index.html b/docs/build/html/api/core/-frequency/-semi-annual/index.html new file mode 100644 index 0000000000..0f60cf7f02 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-semi-annual/index.html @@ -0,0 +1,36 @@ + + +Frequency.SemiAnnual - + + + +core / Frequency / SemiAnnual
+
+

SemiAnnual

+SemiAnnual
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-semi-annual/offset.html b/docs/build/html/api/core/-frequency/-semi-annual/offset.html new file mode 100644 index 0000000000..7a9c359397 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-semi-annual/offset.html @@ -0,0 +1,16 @@ + + +Frequency.SemiAnnual.offset - + + + +core / Frequency / SemiAnnual / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/-weekly/index.html b/docs/build/html/api/core/-frequency/-weekly/index.html new file mode 100644 index 0000000000..0c6fb19cf5 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-weekly/index.html @@ -0,0 +1,36 @@ + + +Frequency.Weekly - + + + +core / Frequency / Weekly
+
+

Weekly

+Weekly
+
+
+

Inherited Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/-weekly/offset.html b/docs/build/html/api/core/-frequency/-weekly/offset.html new file mode 100644 index 0000000000..a7f7467fd9 --- /dev/null +++ b/docs/build/html/api/core/-frequency/-weekly/offset.html @@ -0,0 +1,16 @@ + + +Frequency.Weekly.offset - + + + +core / Frequency / Weekly / offset
+
+

offset

+ +fun offset(d: LocalDate): LocalDate
+Overrides Frequency.offset
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/annual-compound-count.html b/docs/build/html/api/core/-frequency/annual-compound-count.html new file mode 100644 index 0000000000..3794be0a04 --- /dev/null +++ b/docs/build/html/api/core/-frequency/annual-compound-count.html @@ -0,0 +1,15 @@ + + +Frequency.annualCompoundCount - + + + +core / Frequency / annualCompoundCount
+
+

annualCompoundCount

+ +val annualCompoundCount: Int
+
+
+ + diff --git a/docs/build/html/api/core/-frequency/index.html b/docs/build/html/api/core/-frequency/index.html new file mode 100644 index 0000000000..9bf6036f75 --- /dev/null +++ b/docs/build/html/api/core/-frequency/index.html @@ -0,0 +1,79 @@ + + +Frequency - + + + +core / Frequency
+
+

Frequency

+enum class Frequency
+

Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year +that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

+
+
+

Enum Values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Annual +
+SemiAnnual +
+Quarterly +
+Monthly +
+Weekly +
+BiWeekly +
+

Properties

+ + + + + + + +
+annualCompoundCount +val annualCompoundCount: Int
+

Functions

+ + + + + + + +
+offset +abstract fun offset(d: LocalDate): LocalDate
+ + diff --git a/docs/build/html/api/core/-frequency/offset.html b/docs/build/html/api/core/-frequency/offset.html new file mode 100644 index 0000000000..053108cea9 --- /dev/null +++ b/docs/build/html/api/core/-frequency/offset.html @@ -0,0 +1,15 @@ + + +Frequency.offset - + + + +core / Frequency / offset
+
+

offset

+ +abstract fun offset(d: LocalDate): LocalDate
+
+
+ + diff --git a/docs/build/html/api/core/-g-b-p.html b/docs/build/html/api/core/-g-b-p.html new file mode 100644 index 0000000000..6118a89695 --- /dev/null +++ b/docs/build/html/api/core/-g-b-p.html @@ -0,0 +1,15 @@ + + +GBP - + + + +core / GBP
+
+

GBP

+ +val GBP: Currency
+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/-init-.html b/docs/build/html/api/core/-ledger-transaction/-init-.html new file mode 100644 index 0000000000..d40f2e61e1 --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/-init-.html @@ -0,0 +1,20 @@ + + +LedgerTransaction.<init> - + + + +core / LedgerTransaction / <init>
+
+

<init>

+LedgerTransaction(inputs: List<StateRef>, attachments: List<Attachment>, outputs: List<ContractState>, commands: List<AuthenticatedObject<CommandData>>, id: SecureHash)
+

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

+

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

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/attachments.html b/docs/build/html/api/core/-ledger-transaction/attachments.html new file mode 100644 index 0000000000..3d8e61e964 --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/attachments.html @@ -0,0 +1,16 @@ + + +LedgerTransaction.attachments - + + + +core / LedgerTransaction / attachments
+
+

attachments

+ +val attachments: List<Attachment>
+

A list of Attachment objects identified by the transaction that are needed for this transaction to verify.

+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/commands.html b/docs/build/html/api/core/-ledger-transaction/commands.html new file mode 100644 index 0000000000..e182fc5ceb --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/commands.html @@ -0,0 +1,16 @@ + + +LedgerTransaction.commands - + + + +core / LedgerTransaction / commands
+
+

commands

+ +val commands: List<AuthenticatedObject<CommandData>>
+

Arbitrary data passed to the program of each input state.

+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/id.html b/docs/build/html/api/core/-ledger-transaction/id.html new file mode 100644 index 0000000000..1b8481fef9 --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/id.html @@ -0,0 +1,17 @@ + + +LedgerTransaction.id - + + + +core / LedgerTransaction / id
+
+

id

+ +val id: SecureHash
+Overrides NamedByHash.id
+

The hash of the original serialised WireTransaction

+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/index.html b/docs/build/html/api/core/-ledger-transaction/index.html new file mode 100644 index 0000000000..5e3e948237 --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/index.html @@ -0,0 +1,85 @@ + + +LedgerTransaction - + + + +core / LedgerTransaction
+
+

LedgerTransaction

+data class LedgerTransaction : NamedByHash
+

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

+

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

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +LedgerTransaction(inputs: List<StateRef>, attachments: List<Attachment>, outputs: List<ContractState>, commands: List<AuthenticatedObject<CommandData>>, id: SecureHash)

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

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+attachments +val attachments: List<Attachment>

A list of Attachment objects identified by the transaction that are needed for this transaction to verify.

+
+commands +val commands: List<AuthenticatedObject<CommandData>>

Arbitrary data passed to the program of each input state.

+
+id +val id: SecureHash

The hash of the original serialised WireTransaction

+
+inputs +val inputs: List<StateRef>

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

+
+outputs +val outputs: List<ContractState>

The states that will be generated by the execution of this transaction.

+
+

Functions

+ + + + + + + +
+outRef +fun <T : ContractState> outRef(index: Int): StateAndRef<T>
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/inputs.html b/docs/build/html/api/core/-ledger-transaction/inputs.html new file mode 100644 index 0000000000..1cb40b5a5d --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/inputs.html @@ -0,0 +1,16 @@ + + +LedgerTransaction.inputs - + + + +core / LedgerTransaction / inputs
+
+

inputs

+ +val inputs: List<StateRef>
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/out-ref.html b/docs/build/html/api/core/-ledger-transaction/out-ref.html new file mode 100644 index 0000000000..89848282ca --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/out-ref.html @@ -0,0 +1,15 @@ + + +LedgerTransaction.outRef - + + + +core / LedgerTransaction / outRef
+
+

outRef

+ +fun <T : ContractState> outRef(index: Int): StateAndRef<T>
+
+
+ + diff --git a/docs/build/html/api/core/-ledger-transaction/outputs.html b/docs/build/html/api/core/-ledger-transaction/outputs.html new file mode 100644 index 0000000000..fbdb16b89d --- /dev/null +++ b/docs/build/html/api/core/-ledger-transaction/outputs.html @@ -0,0 +1,16 @@ + + +LedgerTransaction.outputs - + + + +core / LedgerTransaction / outputs
+
+

outputs

+ +val outputs: List<ContractState>
+

The states that will be generated by the execution of this transaction.

+
+
+ + diff --git a/docs/build/html/api/core/-linear-state/index.html b/docs/build/html/api/core/-linear-state/index.html new file mode 100644 index 0000000000..14771b63e6 --- /dev/null +++ b/docs/build/html/api/core/-linear-state/index.html @@ -0,0 +1,79 @@ + + +LinearState - + + + +core / LinearState
+
+

LinearState

+interface LinearState : ContractState
+

A state that evolves by superseding itself, all of which share the common "thread"

+

This simplifies the job of tracking the current version of certain types of state in e.g. a wallet

+
+
+
+
+

Properties

+ + + + + + + +
+thread +abstract val thread: SecureHash

Unique thread id within the wallets of all parties

+
+

Inherited Properties

+ + + + + + + +
+contract +abstract val contract: Contract

Contract by which the state belongs

+
+

Functions

+ + + + + + + +
+isRelevant +abstract fun isRelevant(ourKeys: Set<PublicKey>): Boolean

true if this should be tracked by our wallet(s)

+
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + +
+DealState +interface DealState : LinearState

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies +implementation of general protocols that manipulate many agreement types.

+
+ + diff --git a/docs/build/html/api/core/-linear-state/is-relevant.html b/docs/build/html/api/core/-linear-state/is-relevant.html new file mode 100644 index 0000000000..e476cfef08 --- /dev/null +++ b/docs/build/html/api/core/-linear-state/is-relevant.html @@ -0,0 +1,16 @@ + + +LinearState.isRelevant - + + + +core / LinearState / isRelevant
+
+

isRelevant

+ +abstract fun isRelevant(ourKeys: Set<PublicKey>): Boolean
+

true if this should be tracked by our wallet(s)

+
+
+ + diff --git a/docs/build/html/api/core/-linear-state/thread.html b/docs/build/html/api/core/-linear-state/thread.html new file mode 100644 index 0000000000..0dd40bea36 --- /dev/null +++ b/docs/build/html/api/core/-linear-state/thread.html @@ -0,0 +1,16 @@ + + +LinearState.thread - + + + +core / LinearState / thread
+
+

thread

+ +abstract val thread: SecureHash
+

Unique thread id within the wallets of all parties

+
+
+ + diff --git a/docs/build/html/api/core/-named-by-hash/id.html b/docs/build/html/api/core/-named-by-hash/id.html new file mode 100644 index 0000000000..8e28e971aa --- /dev/null +++ b/docs/build/html/api/core/-named-by-hash/id.html @@ -0,0 +1,15 @@ + + +NamedByHash.id - + + + +core / NamedByHash / id
+
+

id

+ +abstract val id: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core/-named-by-hash/index.html b/docs/build/html/api/core/-named-by-hash/index.html new file mode 100644 index 0000000000..1b96821996 --- /dev/null +++ b/docs/build/html/api/core/-named-by-hash/index.html @@ -0,0 +1,63 @@ + + +NamedByHash - + + + +core / NamedByHash
+
+

NamedByHash

+interface NamedByHash
+

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

+
+
+

Properties

+ + + + + + + +
+id +abstract val id: SecureHash
+

Inheritors

+ + + + + + + + + + + + + + + + + + + +
+Attachment +interface Attachment : NamedByHash

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to +contain public static data which can be referenced from transactions and utilised from contracts. Good examples +of how attachments are meant to be used include:

+
+LedgerTransaction +data class LedgerTransaction : NamedByHash

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

+
+SignedTransaction +data class SignedTransaction : NamedByHash

Container for a WireTransaction and attached signatures.

+
+WireTransaction +data class WireTransaction : NamedByHash

Transaction ready for serialisation, without any signatures attached.

+
+ + diff --git a/docs/build/html/api/core/-ownable-state/index.html b/docs/build/html/api/core/-ownable-state/index.html new file mode 100644 index 0000000000..ddc4efee0e --- /dev/null +++ b/docs/build/html/api/core/-ownable-state/index.html @@ -0,0 +1,80 @@ + + +OwnableState - + + + +core / OwnableState
+
+

OwnableState

+interface OwnableState : ContractState
+
+
+

Properties

+ + + + + + + +
+owner +abstract val owner: PublicKey

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

+
+

Inherited Properties

+ + + + + + + +
+contract +abstract val contract: Contract

Contract by which the state belongs

+
+

Functions

+ + + + + + + +
+withNewOwner +abstract fun withNewOwner(newOwner: PublicKey): <ERROR CLASS><CommandData, OwnableState>

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

+
+

Extension Functions

+ + + + + + + +
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+

Inheritors

+ + + + + + + + + + + +
+State +data class State : OwnableState

A state representing a cash claim against some party

+
+State +data class State : OwnableState
+ + diff --git a/docs/build/html/api/core/-ownable-state/owner.html b/docs/build/html/api/core/-ownable-state/owner.html new file mode 100644 index 0000000000..05d702d1bb --- /dev/null +++ b/docs/build/html/api/core/-ownable-state/owner.html @@ -0,0 +1,16 @@ + + +OwnableState.owner - + + + +core / OwnableState / owner
+
+

owner

+ +abstract val owner: PublicKey
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-ownable-state/with-new-owner.html b/docs/build/html/api/core/-ownable-state/with-new-owner.html new file mode 100644 index 0000000000..1b9b41d8e0 --- /dev/null +++ b/docs/build/html/api/core/-ownable-state/with-new-owner.html @@ -0,0 +1,16 @@ + + +OwnableState.withNewOwner - + + + +core / OwnableState / withNewOwner
+
+

withNewOwner

+ +abstract fun withNewOwner(newOwner: PublicKey): <ERROR CLASS><CommandData, OwnableState>
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-party-reference/-init-.html b/docs/build/html/api/core/-party-reference/-init-.html new file mode 100644 index 0000000000..391c96996e --- /dev/null +++ b/docs/build/html/api/core/-party-reference/-init-.html @@ -0,0 +1,16 @@ + + +PartyReference.<init> - + + + +core / PartyReference / <init>
+
+

<init>

+PartyReference(party: Party, reference: OpaqueBytes)
+

Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal +ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.

+
+
+ + diff --git a/docs/build/html/api/core/-party-reference/index.html b/docs/build/html/api/core/-party-reference/index.html new file mode 100644 index 0000000000..8558a27a13 --- /dev/null +++ b/docs/build/html/api/core/-party-reference/index.html @@ -0,0 +1,57 @@ + + +PartyReference - + + + +core / PartyReference
+
+

PartyReference

+data class PartyReference
+

Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal +ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.

+
+
+

Constructors

+ + + + + + + +
+<init> +PartyReference(party: Party, reference: OpaqueBytes)

Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal +ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.

+
+

Properties

+ + + + + + + + + + + +
+party +val party: Party
+reference +val reference: OpaqueBytes
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-party-reference/party.html b/docs/build/html/api/core/-party-reference/party.html new file mode 100644 index 0000000000..d7bdeec32a --- /dev/null +++ b/docs/build/html/api/core/-party-reference/party.html @@ -0,0 +1,15 @@ + + +PartyReference.party - + + + +core / PartyReference / party
+
+

party

+ +val party: Party
+
+
+ + diff --git a/docs/build/html/api/core/-party-reference/reference.html b/docs/build/html/api/core/-party-reference/reference.html new file mode 100644 index 0000000000..bf0508c7fc --- /dev/null +++ b/docs/build/html/api/core/-party-reference/reference.html @@ -0,0 +1,15 @@ + + +PartyReference.reference - + + + +core / PartyReference / reference
+
+

reference

+ +val reference: OpaqueBytes
+
+
+ + diff --git a/docs/build/html/api/core/-party-reference/to-string.html b/docs/build/html/api/core/-party-reference/to-string.html new file mode 100644 index 0000000000..57795715c5 --- /dev/null +++ b/docs/build/html/api/core/-party-reference/to-string.html @@ -0,0 +1,15 @@ + + +PartyReference.toString - + + + +core / PartyReference / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-party/-init-.html b/docs/build/html/api/core/-party/-init-.html new file mode 100644 index 0000000000..fa5b451522 --- /dev/null +++ b/docs/build/html/api/core/-party/-init-.html @@ -0,0 +1,15 @@ + + +Party.<init> - + + + +core / Party / <init>
+
+

<init>

+Party(name: String, owningKey: PublicKey)
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-party/index.html b/docs/build/html/api/core/-party/index.html new file mode 100644 index 0000000000..41d06a0151 --- /dev/null +++ b/docs/build/html/api/core/-party/index.html @@ -0,0 +1,62 @@ + + +Party - + + + +core / Party
+
+

Party

+data class Party
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +Party(name: String, owningKey: PublicKey)

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

+
+

Properties

+ + + + + + + + + + + +
+name +val name: String
+owningKey +val owningKey: PublicKey
+

Functions

+ + + + + + + + + + + +
+ref +fun ref(bytes: OpaqueBytes): PartyReference
+fun ref(vararg bytes: Byte): PartyReference
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-party/name.html b/docs/build/html/api/core/-party/name.html new file mode 100644 index 0000000000..1153a4a85e --- /dev/null +++ b/docs/build/html/api/core/-party/name.html @@ -0,0 +1,15 @@ + + +Party.name - + + + +core / Party / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/core/-party/owning-key.html b/docs/build/html/api/core/-party/owning-key.html new file mode 100644 index 0000000000..efbbdff22f --- /dev/null +++ b/docs/build/html/api/core/-party/owning-key.html @@ -0,0 +1,15 @@ + + +Party.owningKey - + + + +core / Party / owningKey
+
+

owningKey

+ +val owningKey: PublicKey
+
+
+ + diff --git a/docs/build/html/api/core/-party/ref.html b/docs/build/html/api/core/-party/ref.html new file mode 100644 index 0000000000..94db4e8377 --- /dev/null +++ b/docs/build/html/api/core/-party/ref.html @@ -0,0 +1,17 @@ + + +Party.ref - + + + +core / Party / ref
+
+

ref

+ +fun ref(bytes: OpaqueBytes): PartyReference
+ +fun ref(vararg bytes: Byte): PartyReference
+
+
+ + diff --git a/docs/build/html/api/core/-party/to-string.html b/docs/build/html/api/core/-party/to-string.html new file mode 100644 index 0000000000..37c022f67c --- /dev/null +++ b/docs/build/html/api/core/-party/to-string.html @@ -0,0 +1,15 @@ + + +Party.toString - + + + +core / Party / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-payment-rule/-in-advance.html b/docs/build/html/api/core/-payment-rule/-in-advance.html new file mode 100644 index 0000000000..54867d5f0a --- /dev/null +++ b/docs/build/html/api/core/-payment-rule/-in-advance.html @@ -0,0 +1,14 @@ + + +PaymentRule.InAdvance - + + + +core / PaymentRule / InAdvance
+
+

InAdvance

+InAdvance
+
+
+ + diff --git a/docs/build/html/api/core/-payment-rule/-in-arrears.html b/docs/build/html/api/core/-payment-rule/-in-arrears.html new file mode 100644 index 0000000000..42a6c7babb --- /dev/null +++ b/docs/build/html/api/core/-payment-rule/-in-arrears.html @@ -0,0 +1,14 @@ + + +PaymentRule.InArrears - + + + +core / PaymentRule / InArrears
+
+

InArrears

+InArrears
+
+
+ + diff --git a/docs/build/html/api/core/-payment-rule/index.html b/docs/build/html/api/core/-payment-rule/index.html new file mode 100644 index 0000000000..77bdece74b --- /dev/null +++ b/docs/build/html/api/core/-payment-rule/index.html @@ -0,0 +1,32 @@ + + +PaymentRule - + + + +core / PaymentRule
+
+

PaymentRule

+enum class PaymentRule
+

Whether the payment should be made before the due date, or after it.

+
+
+

Enum Values

+ + + + + + + + + + + +
+InAdvance +
+InArrears +
+ + diff --git a/docs/build/html/api/core/-r.html b/docs/build/html/api/core/-r.html new file mode 100644 index 0000000000..46acd4906d --- /dev/null +++ b/docs/build/html/api/core/-r.html @@ -0,0 +1,15 @@ + + +R - + + + +core / R
+
+

R

+ +val R: Requirements
+
+
+ + diff --git a/docs/build/html/api/core/-requirements/-init-.html b/docs/build/html/api/core/-requirements/-init-.html new file mode 100644 index 0000000000..4a56980dff --- /dev/null +++ b/docs/build/html/api/core/-requirements/-init-.html @@ -0,0 +1,14 @@ + + +Requirements.<init> - + + + +core / Requirements / <init>
+
+

<init>

+Requirements()
+
+
+ + diff --git a/docs/build/html/api/core/-requirements/by.html b/docs/build/html/api/core/-requirements/by.html new file mode 100644 index 0000000000..63dc9d818a --- /dev/null +++ b/docs/build/html/api/core/-requirements/by.html @@ -0,0 +1,15 @@ + + +Requirements.by - + + + +core / Requirements / by
+
+

by

+ +infix fun String.by(expr: Boolean): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-requirements/index.html b/docs/build/html/api/core/-requirements/index.html new file mode 100644 index 0000000000..bd3ab917b5 --- /dev/null +++ b/docs/build/html/api/core/-requirements/index.html @@ -0,0 +1,36 @@ + + +Requirements - + + + +core / Requirements
+
+

Requirements

+class Requirements
+
+
+

Constructors

+ + + + + + + +
+<init> +Requirements()
+

Functions

+ + + + + + + +
+by +infix fun String.by(expr: Boolean): Unit
+ + diff --git a/docs/build/html/api/core/-run-on-caller-thread.html b/docs/build/html/api/core/-run-on-caller-thread.html new file mode 100644 index 0000000000..2d10a41e9d --- /dev/null +++ b/docs/build/html/api/core/-run-on-caller-thread.html @@ -0,0 +1,15 @@ + + +RunOnCallerThread - + + + +core / RunOnCallerThread
+
+

RunOnCallerThread

+ +val RunOnCallerThread: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/-init-.html b/docs/build/html/api/core/-signed-transaction/-init-.html new file mode 100644 index 0000000000..15149417df --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/-init-.html @@ -0,0 +1,15 @@ + + +SignedTransaction.<init> - + + + +core / SignedTransaction / <init>
+
+

<init>

+SignedTransaction(txBits: SerializedBytes<WireTransaction>, sigs: List<WithKey>)
+

Container for a WireTransaction and attached signatures.

+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/id.html b/docs/build/html/api/core/-signed-transaction/id.html new file mode 100644 index 0000000000..7e14131fd3 --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/id.html @@ -0,0 +1,17 @@ + + +SignedTransaction.id - + + + +core / SignedTransaction / id
+
+

id

+ +val id: SecureHash
+Overrides NamedByHash.id
+

A transaction ID is the hash of the WireTransaction. Thus adding or removing a signature does not change it.

+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/index.html b/docs/build/html/api/core/-signed-transaction/index.html new file mode 100644 index 0000000000..c67d44ecb5 --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/index.html @@ -0,0 +1,108 @@ + + +SignedTransaction - + + + +core / SignedTransaction
+
+

SignedTransaction

+data class SignedTransaction : NamedByHash
+

Container for a WireTransaction and attached signatures.

+
+
+

Constructors

+ + + + + + + +
+<init> +SignedTransaction(txBits: SerializedBytes<WireTransaction>, sigs: List<WithKey>)

Container for a WireTransaction and attached signatures.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+id +val id: SecureHash

A transaction ID is the hash of the WireTransaction. Thus adding or removing a signature does not change it.

+
+sigs +val sigs: List<WithKey>
+tx +val tx: WireTransaction

Lazily calculated access to the deserialised/hashed transaction data.

+
+txBits +val txBits: SerializedBytes<WireTransaction>
+

Functions

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

Alias for withAdditionalSignature to let you use Kotlin operator overloading.

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

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

+
+verifySignatures +fun verifySignatures(): Unit

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

+
+withAdditionalSignature +fun withAdditionalSignature(sig: WithKey): SignedTransaction

Returns the same transaction but with an additional (unchecked) signature

+
+

Extension Functions

+ + + + + + + +
+verifyToLedgerTransaction +fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

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

+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/plus.html b/docs/build/html/api/core/-signed-transaction/plus.html new file mode 100644 index 0000000000..378a35e540 --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/plus.html @@ -0,0 +1,16 @@ + + +SignedTransaction.plus - + + + +core / SignedTransaction / plus
+
+

plus

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

Alias for withAdditionalSignature to let you use Kotlin operator overloading.

+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/sigs.html b/docs/build/html/api/core/-signed-transaction/sigs.html new file mode 100644 index 0000000000..f8b0561c3d --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/sigs.html @@ -0,0 +1,15 @@ + + +SignedTransaction.sigs - + + + +core / SignedTransaction / sigs
+
+

sigs

+ +val sigs: List<WithKey>
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/tx-bits.html b/docs/build/html/api/core/-signed-transaction/tx-bits.html new file mode 100644 index 0000000000..0662e6cad7 --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/tx-bits.html @@ -0,0 +1,15 @@ + + +SignedTransaction.txBits - + + + +core / SignedTransaction / txBits
+
+

txBits

+ +val txBits: SerializedBytes<WireTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/tx.html b/docs/build/html/api/core/-signed-transaction/tx.html new file mode 100644 index 0000000000..a42c1611c4 --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/tx.html @@ -0,0 +1,19 @@ + + +SignedTransaction.tx - + + + +core / SignedTransaction / tx
+
+

tx

+ +val tx: WireTransaction
+

Lazily calculated access to the deserialised/hashed transaction data.

+Getter
+

Lazily calculated access to the deserialised/hashed transaction data.

+
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/verify-signatures.html b/docs/build/html/api/core/-signed-transaction/verify-signatures.html new file mode 100644 index 0000000000..73eebd118d --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/verify-signatures.html @@ -0,0 +1,21 @@ + + +SignedTransaction.verifySignatures - + + + +core / SignedTransaction / verifySignatures
+
+

verifySignatures

+ +fun verifySignatures(): Unit
+

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

+

Exceptions

+ +SignatureException - if the signature is invalid or does not match.
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/verify.html b/docs/build/html/api/core/-signed-transaction/verify.html new file mode 100644 index 0000000000..a2370789fc --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/verify.html @@ -0,0 +1,21 @@ + + +SignedTransaction.verify - + + + +core / SignedTransaction / verify
+
+

verify

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

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

+

Exceptions

+ +SignatureException - if a signature is invalid, does not match or if any signature is missing.
+
+
+ + diff --git a/docs/build/html/api/core/-signed-transaction/with-additional-signature.html b/docs/build/html/api/core/-signed-transaction/with-additional-signature.html new file mode 100644 index 0000000000..4c5d153c6a --- /dev/null +++ b/docs/build/html/api/core/-signed-transaction/with-additional-signature.html @@ -0,0 +1,16 @@ + + +SignedTransaction.withAdditionalSignature - + + + +core / SignedTransaction / withAdditionalSignature
+
+

withAdditionalSignature

+ +fun withAdditionalSignature(sig: WithKey): SignedTransaction
+

Returns the same transaction but with an additional (unchecked) signature

+
+
+ + diff --git a/docs/build/html/api/core/-state-and-ref/-init-.html b/docs/build/html/api/core/-state-and-ref/-init-.html new file mode 100644 index 0000000000..785f77d98a --- /dev/null +++ b/docs/build/html/api/core/-state-and-ref/-init-.html @@ -0,0 +1,15 @@ + + +StateAndRef.<init> - + + + +core / StateAndRef / <init>
+
+

<init>

+StateAndRef(state: T, ref: StateRef)
+

A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.

+
+
+ + diff --git a/docs/build/html/api/core/-state-and-ref/index.html b/docs/build/html/api/core/-state-and-ref/index.html new file mode 100644 index 0000000000..f702ce9c39 --- /dev/null +++ b/docs/build/html/api/core/-state-and-ref/index.html @@ -0,0 +1,44 @@ + + +StateAndRef - + + + +core / StateAndRef
+
+

StateAndRef

+data class StateAndRef<out T : ContractState>
+

A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.

+
+
+

Constructors

+ + + + + + + +
+<init> +StateAndRef(state: T, ref: StateRef)

A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.

+
+

Properties

+ + + + + + + + + + + +
+ref +val ref: StateRef
+state +val state: T
+ + diff --git a/docs/build/html/api/core/-state-and-ref/ref.html b/docs/build/html/api/core/-state-and-ref/ref.html new file mode 100644 index 0000000000..dca8979b3d --- /dev/null +++ b/docs/build/html/api/core/-state-and-ref/ref.html @@ -0,0 +1,15 @@ + + +StateAndRef.ref - + + + +core / StateAndRef / ref
+
+

ref

+ +val ref: StateRef
+
+
+ + diff --git a/docs/build/html/api/core/-state-and-ref/state.html b/docs/build/html/api/core/-state-and-ref/state.html new file mode 100644 index 0000000000..99ea8ed1b2 --- /dev/null +++ b/docs/build/html/api/core/-state-and-ref/state.html @@ -0,0 +1,15 @@ + + +StateAndRef.state - + + + +core / StateAndRef / state
+
+

state

+ +val state: T
+
+
+ + diff --git a/docs/build/html/api/core/-state-ref/--index--.html b/docs/build/html/api/core/-state-ref/--index--.html new file mode 100644 index 0000000000..7c49cd8dfd --- /dev/null +++ b/docs/build/html/api/core/-state-ref/--index--.html @@ -0,0 +1,15 @@ + + +StateRef.index - + + + +core / StateRef / index
+
+

index

+ +val index: Int
+
+
+ + diff --git a/docs/build/html/api/core/-state-ref/-init-.html b/docs/build/html/api/core/-state-ref/-init-.html new file mode 100644 index 0000000000..0e1deb3305 --- /dev/null +++ b/docs/build/html/api/core/-state-ref/-init-.html @@ -0,0 +1,16 @@ + + +StateRef.<init> - + + + +core / StateRef / <init>
+
+

<init>

+StateRef(txhash: SecureHash, index: Int)
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-state-ref/index.html b/docs/build/html/api/core/-state-ref/index.html new file mode 100644 index 0000000000..294ae34657 --- /dev/null +++ b/docs/build/html/api/core/-state-ref/index.html @@ -0,0 +1,57 @@ + + +StateRef - + + + +core / StateRef
+
+

StateRef

+data class StateRef
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +StateRef(txhash: SecureHash, index: Int)

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

+
+

Properties

+ + + + + + + + + + + +
+index +val index: Int
+txhash +val txhash: SecureHash
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-state-ref/to-string.html b/docs/build/html/api/core/-state-ref/to-string.html new file mode 100644 index 0000000000..be423b2e16 --- /dev/null +++ b/docs/build/html/api/core/-state-ref/to-string.html @@ -0,0 +1,15 @@ + + +StateRef.toString - + + + +core / StateRef / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-state-ref/txhash.html b/docs/build/html/api/core/-state-ref/txhash.html new file mode 100644 index 0000000000..7b6af23e3e --- /dev/null +++ b/docs/build/html/api/core/-state-ref/txhash.html @@ -0,0 +1,15 @@ + + +StateRef.txhash - + + + +core / StateRef / txhash
+
+

txhash

+ +val txhash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core/-tenor/-init-.html b/docs/build/html/api/core/-tenor/-init-.html new file mode 100644 index 0000000000..736764560e --- /dev/null +++ b/docs/build/html/api/core/-tenor/-init-.html @@ -0,0 +1,15 @@ + + +Tenor.<init> - + + + +core / Tenor / <init>
+
+

<init>

+Tenor(name: String)
+

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

+
+
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/-day.html b/docs/build/html/api/core/-tenor/-time-unit/-day.html new file mode 100644 index 0000000000..a0d0dacaf9 --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/-day.html @@ -0,0 +1,25 @@ + + +Tenor.TimeUnit.Day - + + + +core / Tenor / TimeUnit / Day
+
+

Day

+Day
+
+
+

Inherited Properties

+ + + + + + + +
+code +val code: String
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/-month.html b/docs/build/html/api/core/-tenor/-time-unit/-month.html new file mode 100644 index 0000000000..97b260b38d --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/-month.html @@ -0,0 +1,25 @@ + + +Tenor.TimeUnit.Month - + + + +core / Tenor / TimeUnit / Month
+
+

Month

+Month
+
+
+

Inherited Properties

+ + + + + + + +
+code +val code: String
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/-week.html b/docs/build/html/api/core/-tenor/-time-unit/-week.html new file mode 100644 index 0000000000..98e8c25875 --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/-week.html @@ -0,0 +1,25 @@ + + +Tenor.TimeUnit.Week - + + + +core / Tenor / TimeUnit / Week
+
+

Week

+Week
+
+
+

Inherited Properties

+ + + + + + + +
+code +val code: String
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/-year.html b/docs/build/html/api/core/-tenor/-time-unit/-year.html new file mode 100644 index 0000000000..1b7ea252f3 --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/-year.html @@ -0,0 +1,25 @@ + + +Tenor.TimeUnit.Year - + + + +core / Tenor / TimeUnit / Year
+
+

Year

+Year
+
+
+

Inherited Properties

+ + + + + + + +
+code +val code: String
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/code.html b/docs/build/html/api/core/-tenor/-time-unit/code.html new file mode 100644 index 0000000000..deec081661 --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/code.html @@ -0,0 +1,15 @@ + + +Tenor.TimeUnit.code - + + + +core / Tenor / TimeUnit / code
+
+

code

+ +val code: String
+
+
+ + diff --git a/docs/build/html/api/core/-tenor/-time-unit/index.html b/docs/build/html/api/core/-tenor/-time-unit/index.html new file mode 100644 index 0000000000..c5f4d4949a --- /dev/null +++ b/docs/build/html/api/core/-tenor/-time-unit/index.html @@ -0,0 +1,54 @@ + + +Tenor.TimeUnit - + + + +core / Tenor / TimeUnit
+
+

TimeUnit

+enum class TimeUnit
+
+
+

Enum Values

+ + + + + + + + + + + + + + + + + + + +
+Day +
+Week +
+Month +
+Year +
+

Properties

+ + + + + + + +
+code +val code: String
+ + diff --git a/docs/build/html/api/core/-tenor/days-to-maturity.html b/docs/build/html/api/core/-tenor/days-to-maturity.html new file mode 100644 index 0000000000..8e25970bc4 --- /dev/null +++ b/docs/build/html/api/core/-tenor/days-to-maturity.html @@ -0,0 +1,15 @@ + + +Tenor.daysToMaturity - + + + +core / Tenor / daysToMaturity
+
+

daysToMaturity

+ +fun daysToMaturity(startDate: LocalDate, calendar: BusinessCalendar): Int
+
+
+ + diff --git a/docs/build/html/api/core/-tenor/index.html b/docs/build/html/api/core/-tenor/index.html new file mode 100644 index 0000000000..ea7133a59b --- /dev/null +++ b/docs/build/html/api/core/-tenor/index.html @@ -0,0 +1,66 @@ + + +Tenor - + + + +core / Tenor
+
+

Tenor

+data class Tenor
+

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

+
+
+

Types

+ + + + + + + +
+TimeUnit +enum class TimeUnit
+

Constructors

+ + + + + + + +
+<init> +Tenor(name: String)

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

+
+

Properties

+ + + + + + + +
+name +val name: String
+

Functions

+ + + + + + + + + + + +
+daysToMaturity +fun daysToMaturity(startDate: LocalDate, calendar: BusinessCalendar): Int
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/core/-tenor/name.html b/docs/build/html/api/core/-tenor/name.html new file mode 100644 index 0000000000..40d0d2dac4 --- /dev/null +++ b/docs/build/html/api/core/-tenor/name.html @@ -0,0 +1,15 @@ + + +Tenor.name - + + + +core / Tenor / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/core/-tenor/to-string.html b/docs/build/html/api/core/-tenor/to-string.html new file mode 100644 index 0000000000..f445717606 --- /dev/null +++ b/docs/build/html/api/core/-tenor/to-string.html @@ -0,0 +1,15 @@ + + +Tenor.toString - + + + +core / Tenor / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/-thread-box/-init-.html b/docs/build/html/api/core/-thread-box/-init-.html new file mode 100644 index 0000000000..b2663f3dab --- /dev/null +++ b/docs/build/html/api/core/-thread-box/-init-.html @@ -0,0 +1,27 @@ + + +ThreadBox.<init> - + + + +core / ThreadBox / <init>
+
+

<init>

+ThreadBox(content: T, lock: Lock = ReentrantLock())
+

A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state. +Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only +instance to the ThreadBox constructor. You can now use the locked method with a lambda to take the lock in a +way that ensures itll be released if theres an exception.

+

Note that this technique is not infallible: if you capture a reference to the fields in another lambda which then +gets stored and invoked later, there may still be unsafe multi-threaded access going on, so watch out for that. +This is just a simple guard rail that makes it harder to slip up.

+

Example:

+

private class MutableState { var i = 5 } +private val state = ThreadBox(MutableState())

+

val ii = state.locked { i }

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-thread-box/content.html b/docs/build/html/api/core/-thread-box/content.html new file mode 100644 index 0000000000..3af41ad0f2 --- /dev/null +++ b/docs/build/html/api/core/-thread-box/content.html @@ -0,0 +1,15 @@ + + +ThreadBox.content - + + + +core / ThreadBox / content
+
+

content

+ +val content: T
+
+
+ + diff --git a/docs/build/html/api/core/-thread-box/index.html b/docs/build/html/api/core/-thread-box/index.html new file mode 100644 index 0000000000..5ef3d01d64 --- /dev/null +++ b/docs/build/html/api/core/-thread-box/index.html @@ -0,0 +1,70 @@ + + +ThreadBox - + + + +core / ThreadBox
+
+

ThreadBox

+class ThreadBox<T>
+

A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state. +Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only +instance to the ThreadBox constructor. You can now use the locked method with a lambda to take the lock in a +way that ensures itll be released if theres an exception.

+

Note that this technique is not infallible: if you capture a reference to the fields in another lambda which then +gets stored and invoked later, there may still be unsafe multi-threaded access going on, so watch out for that. +This is just a simple guard rail that makes it harder to slip up.

+

Example:

+

private class MutableState { var i = 5 } +private val state = ThreadBox(MutableState())

+

val ii = state.locked { i }

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +ThreadBox(content: T, lock: Lock = ReentrantLock())

A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state. +Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only +instance to the ThreadBox constructor. You can now use the locked method with a lambda to take the lock in a +way that ensures itll be released if theres an exception.

+
+

Properties

+ + + + + + + + + + + +
+content +val content: T
+lock +val lock: Lock
+

Functions

+ + + + + + + +
+locked +fun <R> locked(body: T.() -> R): R
+ + diff --git a/docs/build/html/api/core/-thread-box/lock.html b/docs/build/html/api/core/-thread-box/lock.html new file mode 100644 index 0000000000..d504ba21f6 --- /dev/null +++ b/docs/build/html/api/core/-thread-box/lock.html @@ -0,0 +1,15 @@ + + +ThreadBox.lock - + + + +core / ThreadBox / lock
+
+

lock

+ +val lock: Lock
+
+
+ + diff --git a/docs/build/html/api/core/-thread-box/locked.html b/docs/build/html/api/core/-thread-box/locked.html new file mode 100644 index 0000000000..e139683f82 --- /dev/null +++ b/docs/build/html/api/core/-thread-box/locked.html @@ -0,0 +1,15 @@ + + +ThreadBox.locked - + + + +core / ThreadBox / locked
+
+

locked

+ +inline fun <R> locked(body: T.() -> R): R
+
+
+ + diff --git a/docs/build/html/api/core/-timestamp-command/-init-.html b/docs/build/html/api/core/-timestamp-command/-init-.html new file mode 100644 index 0000000000..17d53a13ec --- /dev/null +++ b/docs/build/html/api/core/-timestamp-command/-init-.html @@ -0,0 +1,19 @@ + + +TimestampCommand.<init> - + + + +core / TimestampCommand / <init>
+
+

<init>

+TimestampCommand(time: Instant, tolerance: Duration)
+
+
+TimestampCommand(after: Instant?, before: Instant?)
+

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+
+ + diff --git a/docs/build/html/api/core/-timestamp-command/after.html b/docs/build/html/api/core/-timestamp-command/after.html new file mode 100644 index 0000000000..4729a1a421 --- /dev/null +++ b/docs/build/html/api/core/-timestamp-command/after.html @@ -0,0 +1,15 @@ + + +TimestampCommand.after - + + + +core / TimestampCommand / after
+
+

after

+ +val after: Instant?
+
+
+ + diff --git a/docs/build/html/api/core/-timestamp-command/before.html b/docs/build/html/api/core/-timestamp-command/before.html new file mode 100644 index 0000000000..3c4739ac9c --- /dev/null +++ b/docs/build/html/api/core/-timestamp-command/before.html @@ -0,0 +1,15 @@ + + +TimestampCommand.before - + + + +core / TimestampCommand / before
+
+

before

+ +val before: Instant?
+
+
+ + diff --git a/docs/build/html/api/core/-timestamp-command/index.html b/docs/build/html/api/core/-timestamp-command/index.html new file mode 100644 index 0000000000..ada95f943b --- /dev/null +++ b/docs/build/html/api/core/-timestamp-command/index.html @@ -0,0 +1,52 @@ + + +TimestampCommand - + + + +core / TimestampCommand
+
+

TimestampCommand

+data class TimestampCommand : CommandData
+

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+
+

Constructors

+ + + + + + + +
+<init> +TimestampCommand(time: Instant, tolerance: Duration)TimestampCommand(after: Instant?, before: Instant?)

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+

Properties

+ + + + + + + + + + + + + + + +
+after +val after: Instant?
+before +val before: Instant?
+midpoint +val midpoint: Instant
+ + diff --git a/docs/build/html/api/core/-timestamp-command/midpoint.html b/docs/build/html/api/core/-timestamp-command/midpoint.html new file mode 100644 index 0000000000..80dc20b682 --- /dev/null +++ b/docs/build/html/api/core/-timestamp-command/midpoint.html @@ -0,0 +1,15 @@ + + +TimestampCommand.midpoint - + + + +core / TimestampCommand / midpoint
+
+

midpoint

+ +val midpoint: Instant
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/-init-.html b/docs/build/html/api/core/-transaction-builder/-init-.html new file mode 100644 index 0000000000..88ec27146f --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/-init-.html @@ -0,0 +1,18 @@ + + +TransactionBuilder.<init> - + + + +core / TransactionBuilder / <init>
+
+

<init>

+TransactionBuilder(inputs: MutableList<StateRef> = arrayListOf(), attachments: MutableList<SecureHash> = arrayListOf(), outputs: MutableList<ContractState> = arrayListOf(), commands: MutableList<Command> = arrayListOf())
+

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is +intended to be passed around contracts that may edit it by adding new states/commands or modifying the existing set. +Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from +multiple parties.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/add-attachment.html b/docs/build/html/api/core/-transaction-builder/add-attachment.html new file mode 100644 index 0000000000..77e037bd6e --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/add-attachment.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.addAttachment - + + + +core / TransactionBuilder / addAttachment
+
+

addAttachment

+ +fun addAttachment(attachment: Attachment): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/add-command.html b/docs/build/html/api/core/-transaction-builder/add-command.html new file mode 100644 index 0000000000..1860833e0f --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/add-command.html @@ -0,0 +1,19 @@ + + +TransactionBuilder.addCommand - + + + +core / TransactionBuilder / addCommand
+
+

addCommand

+ +fun addCommand(arg: Command): Unit
+ +fun addCommand(data: CommandData, vararg keys: PublicKey): <ERROR CLASS>
+ +fun addCommand(data: CommandData, keys: List<PublicKey>): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/add-input-state.html b/docs/build/html/api/core/-transaction-builder/add-input-state.html new file mode 100644 index 0000000000..6de3d63ea9 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/add-input-state.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.addInputState - + + + +core / TransactionBuilder / addInputState
+
+

addInputState

+ +fun addInputState(ref: StateRef): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/add-output-state.html b/docs/build/html/api/core/-transaction-builder/add-output-state.html new file mode 100644 index 0000000000..38345bd685 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/add-output-state.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.addOutputState - + + + +core / TransactionBuilder / addOutputState
+
+

addOutputState

+ +fun addOutputState(state: ContractState): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/add-signature-unchecked.html b/docs/build/html/api/core/-transaction-builder/add-signature-unchecked.html new file mode 100644 index 0000000000..ac3d4214a9 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/add-signature-unchecked.html @@ -0,0 +1,16 @@ + + +TransactionBuilder.addSignatureUnchecked - + + + +core / TransactionBuilder / addSignatureUnchecked
+
+

addSignatureUnchecked

+ +fun addSignatureUnchecked(sig: WithKey): Unit
+

Adds the signature directly to the transaction, without checking it for validity.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/attachments.html b/docs/build/html/api/core/-transaction-builder/attachments.html new file mode 100644 index 0000000000..bd2236fba7 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/attachments.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.attachments - + + + +core / TransactionBuilder / attachments
+
+

attachments

+ +fun attachments(): List<SecureHash>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/check-and-add-signature.html b/docs/build/html/api/core/-transaction-builder/check-and-add-signature.html new file mode 100644 index 0000000000..4b2d72310f --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/check-and-add-signature.html @@ -0,0 +1,23 @@ + + +TransactionBuilder.checkAndAddSignature - + + + +core / TransactionBuilder / checkAndAddSignature
+
+

checkAndAddSignature

+ +fun checkAndAddSignature(sig: WithKey): Unit
+

Checks that the given signature matches one of the commands and that it is a correct signature over the tx, then +adds it.

+

Exceptions

+ +SignatureException - if the signature didnt match the transaction contents
+
+ +IllegalArgumentException - if the signature key doesnt appear in any command.
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/check-signature.html b/docs/build/html/api/core/-transaction-builder/check-signature.html new file mode 100644 index 0000000000..00cae79b38 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/check-signature.html @@ -0,0 +1,22 @@ + + +TransactionBuilder.checkSignature - + + + +core / TransactionBuilder / checkSignature
+
+

checkSignature

+ +fun checkSignature(sig: WithKey): Unit
+

Checks that the given signature matches one of the commands and that it is a correct signature over the tx.

+

Exceptions

+ +SignatureException - if the signature didnt match the transaction contents
+
+ +IllegalArgumentException - if the signature key doesnt appear in any command.
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/commands.html b/docs/build/html/api/core/-transaction-builder/commands.html new file mode 100644 index 0000000000..5e27c7fd88 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/commands.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.commands - + + + +core / TransactionBuilder / commands
+
+

commands

+ +fun commands(): List<Command>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/index.html b/docs/build/html/api/core/-transaction-builder/index.html new file mode 100644 index 0000000000..53d991460b --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/index.html @@ -0,0 +1,164 @@ + + +TransactionBuilder - + + + +core / TransactionBuilder
+
+

TransactionBuilder

+class TransactionBuilder
+

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is +intended to be passed around contracts that may edit it by adding new states/commands or modifying the existing set. +Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from +multiple parties.

+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionBuilder(inputs: MutableList<StateRef> = arrayListOf(), attachments: MutableList<SecureHash> = arrayListOf(), outputs: MutableList<ContractState> = arrayListOf(), commands: MutableList<Command> = arrayListOf())

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is +intended to be passed around contracts that may edit it by adding new states/commands or modifying the existing set. +Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from +multiple parties.

+
+

Properties

+ + + + + + + +
+time +val time: TimestampCommand?
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+addAttachment +fun addAttachment(attachment: Attachment): Unit
+addCommand +fun addCommand(arg: Command): Unit
+fun addCommand(data: CommandData, vararg keys: PublicKey): <ERROR CLASS>
+fun addCommand(data: CommandData, keys: List<PublicKey>): Unit
+addInputState +fun addInputState(ref: StateRef): Unit
+addOutputState +fun addOutputState(state: ContractState): Unit
+addSignatureUnchecked +fun addSignatureUnchecked(sig: WithKey): Unit

Adds the signature directly to the transaction, without checking it for validity.

+
+attachments +fun attachments(): List<SecureHash>
+checkAndAddSignature +fun checkAndAddSignature(sig: WithKey): Unit

Checks that the given signature matches one of the commands and that it is a correct signature over the tx, then +adds it.

+
+checkSignature +fun checkSignature(sig: WithKey): Unit

Checks that the given signature matches one of the commands and that it is a correct signature over the tx.

+
+commands +fun commands(): List<Command>
+inputStates +fun inputStates(): List<StateRef>
+outputStates +fun outputStates(): List<ContractState>
+setTime +fun setTime(time: Instant, authenticatedBy: Party, timeTolerance: Duration): Unit

Places a TimestampCommand in this transaction, removing any existing command if there is one. +To get the right signature from the timestamping service, use the timestamp method after building is +finished, or run use the TimestampingProtocol yourself.

+
+signWith +fun signWith(key: KeyPair): Unit
+timestamp +fun timestamp(timestamper: TimestamperService, clock: Clock = Clock.systemUTC()): Unit

Uses the given timestamper service to request a signature over the WireTransaction be added. There must always be +at least one such signature, but others may be added as well. You may want to have multiple redundant timestamps +in the following cases:

+
+toSignedTransaction +fun toSignedTransaction(checkSufficientSignatures: Boolean = true): SignedTransaction
+toWireTransaction +fun toWireTransaction(): WireTransaction
+withItems +fun withItems(vararg items: Any): TransactionBuilder

A more convenient way to add items to this transaction that calls the add* methods for you based on type

+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/input-states.html b/docs/build/html/api/core/-transaction-builder/input-states.html new file mode 100644 index 0000000000..895cde09ac --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/input-states.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.inputStates - + + + +core / TransactionBuilder / inputStates
+
+

inputStates

+ +fun inputStates(): List<StateRef>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/output-states.html b/docs/build/html/api/core/-transaction-builder/output-states.html new file mode 100644 index 0000000000..772d46ba12 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/output-states.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.outputStates - + + + +core / TransactionBuilder / outputStates
+
+

outputStates

+ +fun outputStates(): List<ContractState>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/set-time.html b/docs/build/html/api/core/-transaction-builder/set-time.html new file mode 100644 index 0000000000..1f9c8bc8f5 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/set-time.html @@ -0,0 +1,26 @@ + + +TransactionBuilder.setTime - + + + +core / TransactionBuilder / setTime
+
+

setTime

+ +fun setTime(time: Instant, authenticatedBy: Party, timeTolerance: Duration): Unit
+

Places a TimestampCommand in this transaction, removing any existing command if there is one. +To get the right signature from the timestamping service, use the timestamp method after building is +finished, or run use the TimestampingProtocol yourself.

+

The window of time in which the final timestamp may lie is defined as time +/- timeTolerance. +If you want a non-symmetrical time window you must add the command via addCommand yourself. The tolerance +should be chosen such that your code can finish building the transaction and sending it to the TSA within that +window of time, taking into account factors such as network latency. Transactions being built by a group of +collaborating parties may therefore require a higher time tolerance than a transaction being built by a single +node.

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/sign-with.html b/docs/build/html/api/core/-transaction-builder/sign-with.html new file mode 100644 index 0000000000..232bbf126c --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/sign-with.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.signWith - + + + +core / TransactionBuilder / signWith
+
+

signWith

+ +fun signWith(key: KeyPair): Unit
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/time.html b/docs/build/html/api/core/-transaction-builder/time.html new file mode 100644 index 0000000000..32ee561872 --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/time.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.time - + + + +core / TransactionBuilder / time
+
+

time

+ +val time: TimestampCommand?
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/timestamp.html b/docs/build/html/api/core/-transaction-builder/timestamp.html new file mode 100644 index 0000000000..1cf5ed01da --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/timestamp.html @@ -0,0 +1,23 @@ + + +TransactionBuilder.timestamp - + + + +core / TransactionBuilder / timestamp
+
+

timestamp

+ +fun timestamp(timestamper: TimestamperService, clock: Clock = Clock.systemUTC()): Unit
+

Uses the given timestamper service to request a signature over the WireTransaction be added. There must always be +at least one such signature, but others may be added as well. You may want to have multiple redundant timestamps +in the following cases:

+

The signature of the trusted timestamper merely asserts that the time field of this transaction is valid.

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/to-signed-transaction.html b/docs/build/html/api/core/-transaction-builder/to-signed-transaction.html new file mode 100644 index 0000000000..c9f4b2881e --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/to-signed-transaction.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.toSignedTransaction - + + + +core / TransactionBuilder / toSignedTransaction
+
+

toSignedTransaction

+ +fun toSignedTransaction(checkSufficientSignatures: Boolean = true): SignedTransaction
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/to-wire-transaction.html b/docs/build/html/api/core/-transaction-builder/to-wire-transaction.html new file mode 100644 index 0000000000..e4a335085b --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/to-wire-transaction.html @@ -0,0 +1,15 @@ + + +TransactionBuilder.toWireTransaction - + + + +core / TransactionBuilder / toWireTransaction
+
+

toWireTransaction

+ +fun toWireTransaction(): WireTransaction
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-builder/with-items.html b/docs/build/html/api/core/-transaction-builder/with-items.html new file mode 100644 index 0000000000..ceb0d0fc8f --- /dev/null +++ b/docs/build/html/api/core/-transaction-builder/with-items.html @@ -0,0 +1,16 @@ + + +TransactionBuilder.withItems - + + + +core / TransactionBuilder / withItems
+
+

withItems

+ +fun withItems(vararg items: Any): TransactionBuilder
+

A more convenient way to add items to this transaction that calls the add* methods for you based on type

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-conflict-exception/-init-.html b/docs/build/html/api/core/-transaction-conflict-exception/-init-.html new file mode 100644 index 0000000000..9b42e736cd --- /dev/null +++ b/docs/build/html/api/core/-transaction-conflict-exception/-init-.html @@ -0,0 +1,14 @@ + + +TransactionConflictException.<init> - + + + +core / TransactionConflictException / <init>
+
+

<init>

+TransactionConflictException(conflictRef: StateRef, tx1: LedgerTransaction, tx2: LedgerTransaction)
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-conflict-exception/conflict-ref.html b/docs/build/html/api/core/-transaction-conflict-exception/conflict-ref.html new file mode 100644 index 0000000000..5761ba0597 --- /dev/null +++ b/docs/build/html/api/core/-transaction-conflict-exception/conflict-ref.html @@ -0,0 +1,15 @@ + + +TransactionConflictException.conflictRef - + + + +core / TransactionConflictException / conflictRef
+
+

conflictRef

+ +val conflictRef: StateRef
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-conflict-exception/index.html b/docs/build/html/api/core/-transaction-conflict-exception/index.html new file mode 100644 index 0000000000..61082d4fad --- /dev/null +++ b/docs/build/html/api/core/-transaction-conflict-exception/index.html @@ -0,0 +1,48 @@ + + +TransactionConflictException - + + + +core / TransactionConflictException
+
+

TransactionConflictException

+class TransactionConflictException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionConflictException(conflictRef: StateRef, tx1: LedgerTransaction, tx2: LedgerTransaction)
+

Properties

+ + + + + + + + + + + + + + + +
+conflictRef +val conflictRef: StateRef
+tx1 +val tx1: LedgerTransaction
+tx2 +val tx2: LedgerTransaction
+ + diff --git a/docs/build/html/api/core/-transaction-conflict-exception/tx1.html b/docs/build/html/api/core/-transaction-conflict-exception/tx1.html new file mode 100644 index 0000000000..acbf905a20 --- /dev/null +++ b/docs/build/html/api/core/-transaction-conflict-exception/tx1.html @@ -0,0 +1,15 @@ + + +TransactionConflictException.tx1 - + + + +core / TransactionConflictException / tx1
+
+

tx1

+ +val tx1: LedgerTransaction
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-conflict-exception/tx2.html b/docs/build/html/api/core/-transaction-conflict-exception/tx2.html new file mode 100644 index 0000000000..ab6e84e697 --- /dev/null +++ b/docs/build/html/api/core/-transaction-conflict-exception/tx2.html @@ -0,0 +1,15 @@ + + +TransactionConflictException.tx2 - + + + +core / TransactionConflictException / tx2
+
+

tx2

+ +val tx2: LedgerTransaction
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-in-out-group/-init-.html b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/-init-.html new file mode 100644 index 0000000000..5dbc0e5e91 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/-init-.html @@ -0,0 +1,19 @@ + + +TransactionForVerification.InOutGroup.<init> - + + + +core / TransactionForVerification / InOutGroup / <init>
+
+

<init>

+InOutGroup(inputs: List<T>, outputs: List<T>, groupingKey: K)
+

A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated +using groupStates and is useful for handling cases where a transaction may contain similar but unrelated +state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add +up on both sides of the transaction, but the values must be summed independently per currency. Grouping can +be used to simplify this logic.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-in-out-group/grouping-key.html b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/grouping-key.html new file mode 100644 index 0000000000..c8a8682ae7 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/grouping-key.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.InOutGroup.groupingKey - + + + +core / TransactionForVerification / InOutGroup / groupingKey
+
+

groupingKey

+ +val groupingKey: K
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-in-out-group/index.html b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/index.html new file mode 100644 index 0000000000..c87dfccc91 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/index.html @@ -0,0 +1,58 @@ + + +TransactionForVerification.InOutGroup - + + + +core / TransactionForVerification / InOutGroup
+
+

InOutGroup

+data class InOutGroup<T : ContractState, K : Any>
+

A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated +using groupStates and is useful for handling cases where a transaction may contain similar but unrelated +state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add +up on both sides of the transaction, but the values must be summed independently per currency. Grouping can +be used to simplify this logic.

+
+
+

Constructors

+ + + + + + + +
+<init> +InOutGroup(inputs: List<T>, outputs: List<T>, groupingKey: K)

A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated +using groupStates and is useful for handling cases where a transaction may contain similar but unrelated +state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add +up on both sides of the transaction, but the values must be summed independently per currency. Grouping can +be used to simplify this logic.

+
+

Properties

+ + + + + + + + + + + + + + + +
+groupingKey +val groupingKey: K
+inputs +val inputs: List<T>
+outputs +val outputs: List<T>
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-in-out-group/inputs.html b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/inputs.html new file mode 100644 index 0000000000..9eee402d4a --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/inputs.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.InOutGroup.inputs - + + + +core / TransactionForVerification / InOutGroup / inputs
+
+

inputs

+ +val inputs: List<T>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-in-out-group/outputs.html b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/outputs.html new file mode 100644 index 0000000000..ae538b9e0a --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-in-out-group/outputs.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.InOutGroup.outputs - + + + +core / TransactionForVerification / InOutGroup / outputs
+
+

outputs

+ +val outputs: List<T>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/-init-.html b/docs/build/html/api/core/-transaction-for-verification/-init-.html new file mode 100644 index 0000000000..3cdf068208 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/-init-.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.<init> - + + + +core / TransactionForVerification / <init>
+
+

<init>

+TransactionForVerification(inStates: List<ContractState>, outStates: List<ContractState>, attachments: List<Attachment>, commands: List<AuthenticatedObject<CommandData>>, origHash: SecureHash)
+

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

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/attachments.html b/docs/build/html/api/core/-transaction-for-verification/attachments.html new file mode 100644 index 0000000000..a44c3bbfa3 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/attachments.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.attachments - + + + +core / TransactionForVerification / attachments
+
+

attachments

+ +val attachments: List<Attachment>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/commands.html b/docs/build/html/api/core/-transaction-for-verification/commands.html new file mode 100644 index 0000000000..e18bf53442 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/commands.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.commands - + + + +core / TransactionForVerification / commands
+
+

commands

+ +val commands: List<AuthenticatedObject<CommandData>>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/equals.html b/docs/build/html/api/core/-transaction-for-verification/equals.html new file mode 100644 index 0000000000..3a9cc9825e --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/equals.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.equals - + + + +core / TransactionForVerification / equals
+
+

equals

+ +fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/get-timestamp-by.html b/docs/build/html/api/core/-transaction-for-verification/get-timestamp-by.html new file mode 100644 index 0000000000..f92d00bbb7 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/get-timestamp-by.html @@ -0,0 +1,16 @@ + + +TransactionForVerification.getTimestampBy - + + + +core / TransactionForVerification / getTimestampBy
+
+

getTimestampBy

+ +fun getTimestampBy(timestampingAuthority: Party): TimestampCommand?
+

Simply calls commands.getTimestampBy as a shortcut to make code completion more intuitive.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/group-states-internal.html b/docs/build/html/api/core/-transaction-for-verification/group-states-internal.html new file mode 100644 index 0000000000..3a618e2f9c --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/group-states-internal.html @@ -0,0 +1,17 @@ + + +TransactionForVerification.groupStatesInternal - + + + +core / TransactionForVerification / groupStatesInternal
+
+

groupStatesInternal

+ +fun <T : ContractState, K : Any> groupStatesInternal(inGroups: Map<K, List<T>>, outGroups: Map<K, List<T>>): List<InOutGroup<T, K>>
+Deprecated: Do not use this directly: exposed as public only due to function inlining
+
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/group-states.html b/docs/build/html/api/core/-transaction-for-verification/group-states.html new file mode 100644 index 0000000000..04468cb059 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/group-states.html @@ -0,0 +1,33 @@ + + +TransactionForVerification.groupStates - + + + +core / TransactionForVerification / groupStates
+
+

groupStates

+ +fun <T : ContractState, K : Any> groupStates(ofType: Class<T>, selector: (T) -> K): List<InOutGroup<T, K>>
+

Given a type and a function that returns a grouping key, associates inputs and outputs together so that they +can be processed as one. The grouping key is any arbitrary object that can act as a map key (so must implement +equals and hashCode).

+

The purpose of this function is to simplify the writing of verification logic for transactions that may contain +similar but unrelated state evolutions which need to be checked independently. Consider a transaction that +simultaneously moves both dollars and euros (e.g. is an atomic FX trade). There may be multiple dollar inputs and +multiple dollar outputs, depending on things like how fragmented the owners wallet is and whether various privacy +techniques are in use. The quantity of dollars on the output side must sum to the same as on the input side, to +ensure no money is being lost track of. This summation and checking must be repeated independently for each +currency. To solve this, you would use groupStates with a type of Cash.State and a selector that returns the +currency field: the resulting list can then be iterated over to perform the per-currency calculation.

+
+
+
+
+ +inline fun <reified T : ContractState, K : Any> groupStates(selector: (T) -> K): List<InOutGroup<T, K>>
+

See the documentation for the reflection-based version of groupStates

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/hash-code.html b/docs/build/html/api/core/-transaction-for-verification/hash-code.html new file mode 100644 index 0000000000..7ee2562213 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/hash-code.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.hashCode - + + + +core / TransactionForVerification / hashCode
+
+

hashCode

+ +fun hashCode(): Int
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/in-states.html b/docs/build/html/api/core/-transaction-for-verification/in-states.html new file mode 100644 index 0000000000..ab5387bfd3 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/in-states.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.inStates - + + + +core / TransactionForVerification / inStates
+
+

inStates

+ +val inStates: List<ContractState>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/index.html b/docs/build/html/api/core/-transaction-for-verification/index.html new file mode 100644 index 0000000000..e53900581a --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/index.html @@ -0,0 +1,125 @@ + + +TransactionForVerification - + + + +core / TransactionForVerification
+
+

TransactionForVerification

+data class TransactionForVerification
+

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

+
+
+

Types

+ + + + + + + +
+InOutGroup +data class InOutGroup<T : ContractState, K : Any>

A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated +using groupStates and is useful for handling cases where a transaction may contain similar but unrelated +state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add +up on both sides of the transaction, but the values must be summed independently per currency. Grouping can +be used to simplify this logic.

+
+

Constructors

+ + + + + + + +
+<init> +TransactionForVerification(inStates: List<ContractState>, outStates: List<ContractState>, attachments: List<Attachment>, commands: List<AuthenticatedObject<CommandData>>, origHash: SecureHash)

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

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+attachments +val attachments: List<Attachment>
+commands +val commands: List<AuthenticatedObject<CommandData>>
+inStates +val inStates: List<ContractState>
+origHash +val origHash: SecureHash
+outStates +val outStates: List<ContractState>
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+equals +fun equals(other: Any?): Boolean
+getTimestampBy +fun getTimestampBy(timestampingAuthority: Party): TimestampCommand?

Simply calls commands.getTimestampBy as a shortcut to make code completion more intuitive.

+
+groupStates +fun <T : ContractState, K : Any> groupStates(ofType: Class<T>, selector: (T) -> K): List<InOutGroup<T, K>>

Given a type and a function that returns a grouping key, associates inputs and outputs together so that they +can be processed as one. The grouping key is any arbitrary object that can act as a map key (so must implement +equals and hashCode).

+fun <T : ContractState, K : Any> groupStates(selector: (T) -> K): List<InOutGroup<T, K>>

See the documentation for the reflection-based version of groupStates

+
+groupStatesInternal +fun <T : ContractState, K : Any> groupStatesInternal(inGroups: Map<K, List<T>>, outGroups: Map<K, List<T>>): List<InOutGroup<T, K>>
+hashCode +fun hashCode(): Int
+verify +fun verify(): Unit

Runs the contracts for this transaction.

+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/orig-hash.html b/docs/build/html/api/core/-transaction-for-verification/orig-hash.html new file mode 100644 index 0000000000..d1d8e09a3d --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/orig-hash.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.origHash - + + + +core / TransactionForVerification / origHash
+
+

origHash

+ +val origHash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/out-states.html b/docs/build/html/api/core/-transaction-for-verification/out-states.html new file mode 100644 index 0000000000..38364cca9d --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/out-states.html @@ -0,0 +1,15 @@ + + +TransactionForVerification.outStates - + + + +core / TransactionForVerification / outStates
+
+

outStates

+ +val outStates: List<ContractState>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-for-verification/verify.html b/docs/build/html/api/core/-transaction-for-verification/verify.html new file mode 100644 index 0000000000..74b73275d7 --- /dev/null +++ b/docs/build/html/api/core/-transaction-for-verification/verify.html @@ -0,0 +1,25 @@ + + +TransactionForVerification.verify - + + + +core / TransactionForVerification / verify
+
+

verify

+ +fun verify(): Unit
+

Runs the contracts for this transaction.

+

TODO: Move this out of the core data structure definitions, once unit tests are more cleanly separated.

+
+
+

Exceptions

+ +TransactionVerificationException - if a contract throws an exception, the original is in the cause field
+
+ +IllegalStateException - if a state refers to an unknown contract.
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/-init-.html b/docs/build/html/api/core/-transaction-graph-search/-init-.html new file mode 100644 index 0000000000..55fc6a8a61 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/-init-.html @@ -0,0 +1,21 @@ + + +TransactionGraphSearch.<init> - + + + +core / TransactionGraphSearch / <init>
+
+

<init>

+TransactionGraphSearch(transactions: Map<SecureHash, SignedTransaction>, startPoints: List<WireTransaction>)
+

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from +the starting point down in order to find transactions that match the given query criteria.

+

Currently, only one kind of query is supported: find any transaction that contains a command of the given type.

+

In future, this should support restricting the search by time, and other types of useful query.

+

TODO: Write unit tests for this.

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/-query/-init-.html b/docs/build/html/api/core/-transaction-graph-search/-query/-init-.html new file mode 100644 index 0000000000..ee4cd2c866 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/-query/-init-.html @@ -0,0 +1,14 @@ + + +TransactionGraphSearch.Query.<init> - + + + +core / TransactionGraphSearch / Query / <init>
+
+

<init>

+Query(withCommandOfType: Class<out CommandData>? = null)
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/-query/index.html b/docs/build/html/api/core/-transaction-graph-search/-query/index.html new file mode 100644 index 0000000000..a428f35278 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/-query/index.html @@ -0,0 +1,36 @@ + + +TransactionGraphSearch.Query - + + + +core / TransactionGraphSearch / Query
+
+

Query

+class Query
+
+
+

Constructors

+ + + + + + + +
+<init> +Query(withCommandOfType: Class<out CommandData>? = null)
+

Properties

+ + + + + + + +
+withCommandOfType +val withCommandOfType: Class<out CommandData>?
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/-query/with-command-of-type.html b/docs/build/html/api/core/-transaction-graph-search/-query/with-command-of-type.html new file mode 100644 index 0000000000..9424443322 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/-query/with-command-of-type.html @@ -0,0 +1,15 @@ + + +TransactionGraphSearch.Query.withCommandOfType - + + + +core / TransactionGraphSearch / Query / withCommandOfType
+
+

withCommandOfType

+ +val withCommandOfType: Class<out CommandData>?
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/call.html b/docs/build/html/api/core/-transaction-graph-search/call.html new file mode 100644 index 0000000000..f46cd2c157 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/call.html @@ -0,0 +1,15 @@ + + +TransactionGraphSearch.call - + + + +core / TransactionGraphSearch / call
+
+

call

+ +fun call(): List<WireTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/index.html b/docs/build/html/api/core/-transaction-graph-search/index.html new file mode 100644 index 0000000000..31ade0165c --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/index.html @@ -0,0 +1,79 @@ + + +TransactionGraphSearch - + + + +core / TransactionGraphSearch
+
+

TransactionGraphSearch

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

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from +the starting point down in order to find transactions that match the given query criteria.

+

Currently, only one kind of query is supported: find any transaction that contains a command of the given type.

+

In future, this should support restricting the search by time, and other types of useful query.

+

TODO: Write unit tests for this.

+
+
+
+
+

Types

+ + + + + + + +
+Query +class Query
+

Constructors

+ + + + + + + +
+<init> +TransactionGraphSearch(transactions: Map<SecureHash, SignedTransaction>, startPoints: List<WireTransaction>)

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from +the starting point down in order to find transactions that match the given query criteria.

+
+

Properties

+ + + + + + + + + + + + + + + +
+query +var query: Query
+startPoints +val startPoints: List<WireTransaction>
+transactions +val transactions: Map<SecureHash, SignedTransaction>
+

Functions

+ + + + + + + +
+call +fun call(): List<WireTransaction>
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/query.html b/docs/build/html/api/core/-transaction-graph-search/query.html new file mode 100644 index 0000000000..bd7adebefc --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/query.html @@ -0,0 +1,15 @@ + + +TransactionGraphSearch.query - + + + +core / TransactionGraphSearch / query
+
+

query

+ +var query: Query
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/start-points.html b/docs/build/html/api/core/-transaction-graph-search/start-points.html new file mode 100644 index 0000000000..7b3f6a07c6 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/start-points.html @@ -0,0 +1,15 @@ + + +TransactionGraphSearch.startPoints - + + + +core / TransactionGraphSearch / startPoints
+
+

startPoints

+ +val startPoints: List<WireTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-graph-search/transactions.html b/docs/build/html/api/core/-transaction-graph-search/transactions.html new file mode 100644 index 0000000000..7c7b0904e3 --- /dev/null +++ b/docs/build/html/api/core/-transaction-graph-search/transactions.html @@ -0,0 +1,15 @@ + + +TransactionGraphSearch.transactions - + + + +core / TransactionGraphSearch / transactions
+
+

transactions

+ +val transactions: Map<SecureHash, SignedTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-group/-init-.html b/docs/build/html/api/core/-transaction-group/-init-.html new file mode 100644 index 0000000000..6d6ef51258 --- /dev/null +++ b/docs/build/html/api/core/-transaction-group/-init-.html @@ -0,0 +1,21 @@ + + +TransactionGroup.<init> - + + + +core / TransactionGroup / <init>
+
+

<init>

+TransactionGroup(transactions: Set<LedgerTransaction>, nonVerifiedRoots: Set<LedgerTransaction>)
+

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

+

The inputs of the provided transactions must be resolvable either within the transactions set, or from the +nonVerifiedRoots set. Transactions in the non-verified set are ignored other than for looking up input states.

+
+
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-group/index.html b/docs/build/html/api/core/-transaction-group/index.html new file mode 100644 index 0000000000..ff285f040e --- /dev/null +++ b/docs/build/html/api/core/-transaction-group/index.html @@ -0,0 +1,64 @@ + + +TransactionGroup - + + + +core / TransactionGroup
+
+

TransactionGroup

+class TransactionGroup
+

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

+

The inputs of the provided transactions must be resolvable either within the transactions set, or from the +nonVerifiedRoots set. Transactions in the non-verified set are ignored other than for looking up input states.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionGroup(transactions: Set<LedgerTransaction>, nonVerifiedRoots: Set<LedgerTransaction>)

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

+
+

Properties

+ + + + + + + + + + + +
+nonVerifiedRoots +val nonVerifiedRoots: Set<LedgerTransaction>
+transactions +val transactions: Set<LedgerTransaction>
+

Functions

+ + + + + + + +
+verify +fun verify(): Set<TransactionForVerification>

Verifies the group and returns the set of resolved transactions.

+
+ + diff --git a/docs/build/html/api/core/-transaction-group/non-verified-roots.html b/docs/build/html/api/core/-transaction-group/non-verified-roots.html new file mode 100644 index 0000000000..fb6464118f --- /dev/null +++ b/docs/build/html/api/core/-transaction-group/non-verified-roots.html @@ -0,0 +1,15 @@ + + +TransactionGroup.nonVerifiedRoots - + + + +core / TransactionGroup / nonVerifiedRoots
+
+

nonVerifiedRoots

+ +val nonVerifiedRoots: Set<LedgerTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-group/transactions.html b/docs/build/html/api/core/-transaction-group/transactions.html new file mode 100644 index 0000000000..7a3ceceadb --- /dev/null +++ b/docs/build/html/api/core/-transaction-group/transactions.html @@ -0,0 +1,15 @@ + + +TransactionGroup.transactions - + + + +core / TransactionGroup / transactions
+
+

transactions

+ +val transactions: Set<LedgerTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-group/verify.html b/docs/build/html/api/core/-transaction-group/verify.html new file mode 100644 index 0000000000..8ad8b44360 --- /dev/null +++ b/docs/build/html/api/core/-transaction-group/verify.html @@ -0,0 +1,16 @@ + + +TransactionGroup.verify - + + + +core / TransactionGroup / verify
+
+

verify

+ +fun verify(): Set<TransactionForVerification>
+

Verifies the group and returns the set of resolved transactions.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-resolution-exception/-init-.html b/docs/build/html/api/core/-transaction-resolution-exception/-init-.html new file mode 100644 index 0000000000..0ca83eb33c --- /dev/null +++ b/docs/build/html/api/core/-transaction-resolution-exception/-init-.html @@ -0,0 +1,14 @@ + + +TransactionResolutionException.<init> - + + + +core / TransactionResolutionException / <init>
+
+

<init>

+TransactionResolutionException(hash: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-resolution-exception/hash.html b/docs/build/html/api/core/-transaction-resolution-exception/hash.html new file mode 100644 index 0000000000..410616da55 --- /dev/null +++ b/docs/build/html/api/core/-transaction-resolution-exception/hash.html @@ -0,0 +1,15 @@ + + +TransactionResolutionException.hash - + + + +core / TransactionResolutionException / hash
+
+

hash

+ +val hash: SecureHash
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-resolution-exception/index.html b/docs/build/html/api/core/-transaction-resolution-exception/index.html new file mode 100644 index 0000000000..930c9fa667 --- /dev/null +++ b/docs/build/html/api/core/-transaction-resolution-exception/index.html @@ -0,0 +1,36 @@ + + +TransactionResolutionException - + + + +core / TransactionResolutionException
+
+

TransactionResolutionException

+class TransactionResolutionException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionResolutionException(hash: SecureHash)
+

Properties

+ + + + + + + +
+hash +val hash: SecureHash
+ + diff --git a/docs/build/html/api/core/-transaction-verification-exception/-init-.html b/docs/build/html/api/core/-transaction-verification-exception/-init-.html new file mode 100644 index 0000000000..38662d55cc --- /dev/null +++ b/docs/build/html/api/core/-transaction-verification-exception/-init-.html @@ -0,0 +1,15 @@ + + +TransactionVerificationException.<init> - + + + +core / TransactionVerificationException / <init>
+
+

<init>

+TransactionVerificationException(tx: TransactionForVerification, contract: Contract, cause: Throwable?)
+

Thrown if a verification fails due to a contract rejection.

+
+
+ + diff --git a/docs/build/html/api/core/-transaction-verification-exception/contract.html b/docs/build/html/api/core/-transaction-verification-exception/contract.html new file mode 100644 index 0000000000..2965cd83c0 --- /dev/null +++ b/docs/build/html/api/core/-transaction-verification-exception/contract.html @@ -0,0 +1,15 @@ + + +TransactionVerificationException.contract - + + + +core / TransactionVerificationException / contract
+
+

contract

+ +val contract: Contract
+
+
+ + diff --git a/docs/build/html/api/core/-transaction-verification-exception/index.html b/docs/build/html/api/core/-transaction-verification-exception/index.html new file mode 100644 index 0000000000..2b5bbe6ce0 --- /dev/null +++ b/docs/build/html/api/core/-transaction-verification-exception/index.html @@ -0,0 +1,44 @@ + + +TransactionVerificationException - + + + +core / TransactionVerificationException
+
+

TransactionVerificationException

+class TransactionVerificationException : Exception
+

Thrown if a verification fails due to a contract rejection.

+
+
+

Constructors

+ + + + + + + +
+<init> +TransactionVerificationException(tx: TransactionForVerification, contract: Contract, cause: Throwable?)

Thrown if a verification fails due to a contract rejection.

+
+

Properties

+ + + + + + + + + + + +
+contract +val contract: Contract
+tx +val tx: TransactionForVerification
+ + diff --git a/docs/build/html/api/core/-transaction-verification-exception/tx.html b/docs/build/html/api/core/-transaction-verification-exception/tx.html new file mode 100644 index 0000000000..2a59509917 --- /dev/null +++ b/docs/build/html/api/core/-transaction-verification-exception/tx.html @@ -0,0 +1,15 @@ + + +TransactionVerificationException.tx - + + + +core / TransactionVerificationException / tx
+
+

tx

+ +val tx: TransactionForVerification
+
+
+ + diff --git a/docs/build/html/api/core/-transient-property/-init-.html b/docs/build/html/api/core/-transient-property/-init-.html new file mode 100644 index 0000000000..4539886a70 --- /dev/null +++ b/docs/build/html/api/core/-transient-property/-init-.html @@ -0,0 +1,17 @@ + + +TransientProperty.<init> - + + + +core / TransientProperty / <init>
+
+

<init>

+TransientProperty(initializer: () -> T)
+

A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property +will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be +used to set it up. Note that the initializer will be called with the TransientProperty object locked.

+
+
+ + diff --git a/docs/build/html/api/core/-transient-property/get-value.html b/docs/build/html/api/core/-transient-property/get-value.html new file mode 100644 index 0000000000..ea173eece3 --- /dev/null +++ b/docs/build/html/api/core/-transient-property/get-value.html @@ -0,0 +1,15 @@ + + +TransientProperty.getValue - + + + +core / TransientProperty / getValue
+
+

getValue

+ +operator fun getValue(thisRef: Any?, property: KProperty<*>): T
+
+
+ + diff --git a/docs/build/html/api/core/-transient-property/index.html b/docs/build/html/api/core/-transient-property/index.html new file mode 100644 index 0000000000..eddf584bad --- /dev/null +++ b/docs/build/html/api/core/-transient-property/index.html @@ -0,0 +1,42 @@ + + +TransientProperty - + + + +core / TransientProperty
+
+

TransientProperty

+class TransientProperty<T>
+

A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property +will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be +used to set it up. Note that the initializer will be called with the TransientProperty object locked.

+
+
+

Constructors

+ + + + + + + +
+<init> +TransientProperty(initializer: () -> T)

A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property +will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be +used to set it up. Note that the initializer will be called with the TransientProperty object locked.

+
+

Functions

+ + + + + + + +
+getValue +operator fun getValue(thisRef: Any?, property: KProperty<*>): T
+ + diff --git a/docs/build/html/api/core/-type-only-command-data/-init-.html b/docs/build/html/api/core/-type-only-command-data/-init-.html new file mode 100644 index 0000000000..a9567477e0 --- /dev/null +++ b/docs/build/html/api/core/-type-only-command-data/-init-.html @@ -0,0 +1,15 @@ + + +TypeOnlyCommandData.<init> - + + + +core / TypeOnlyCommandData / <init>
+
+

<init>

+TypeOnlyCommandData()
+

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+
+ + diff --git a/docs/build/html/api/core/-type-only-command-data/equals.html b/docs/build/html/api/core/-type-only-command-data/equals.html new file mode 100644 index 0000000000..3858a46095 --- /dev/null +++ b/docs/build/html/api/core/-type-only-command-data/equals.html @@ -0,0 +1,15 @@ + + +TypeOnlyCommandData.equals - + + + +core / TypeOnlyCommandData / equals
+
+

equals

+ +open fun equals(other: Any?): Boolean
+
+
+ + diff --git a/docs/build/html/api/core/-type-only-command-data/hash-code.html b/docs/build/html/api/core/-type-only-command-data/hash-code.html new file mode 100644 index 0000000000..07a0bce78a --- /dev/null +++ b/docs/build/html/api/core/-type-only-command-data/hash-code.html @@ -0,0 +1,15 @@ + + +TypeOnlyCommandData.hashCode - + + + +core / TypeOnlyCommandData / hashCode
+
+

hashCode

+ +open fun hashCode(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/-type-only-command-data/index.html b/docs/build/html/api/core/-type-only-command-data/index.html new file mode 100644 index 0000000000..442d41d3f6 --- /dev/null +++ b/docs/build/html/api/core/-type-only-command-data/index.html @@ -0,0 +1,121 @@ + + +TypeOnlyCommandData - + + + +core / TypeOnlyCommandData
+
+

TypeOnlyCommandData

+abstract class TypeOnlyCommandData : CommandData
+

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+
+

Constructors

+ + + + + + + +
+<init> +TypeOnlyCommandData()

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+

Functions

+ + + + + + + + + + + +
+equals +open fun equals(other: Any?): Boolean
+hashCode +open fun hashCode(): <ERROR CLASS>
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Agree +class Agree : TypeOnlyCommandData, Commands
+Close +class Close : TypeOnlyCommandData, Commands
+Create +class Create : TypeOnlyCommandData, Commands
+Fix +class Fix : TypeOnlyCommandData, Commands
+Issue +class Issue : TypeOnlyCommandData, Commands
+Mature +class Mature : TypeOnlyCommandData, Commands
+Move +class Move : TypeOnlyCommandData, Commands
+Move +class Move : TypeOnlyCommandData, Commands
+Pay +class Pay : TypeOnlyCommandData, Commands
+Pledge +class Pledge : TypeOnlyCommandData, Commands
+Redeem +class Redeem : TypeOnlyCommandData, Commands
+Register +class Register : TypeOnlyCommandData, Commands
+ + diff --git a/docs/build/html/api/core/-u-s-d.html b/docs/build/html/api/core/-u-s-d.html new file mode 100644 index 0000000000..181dc00b36 --- /dev/null +++ b/docs/build/html/api/core/-u-s-d.html @@ -0,0 +1,15 @@ + + +USD - + + + +core / USD
+
+

USD

+ +val USD: Currency
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/-init-.html b/docs/build/html/api/core/-wire-transaction/-init-.html new file mode 100644 index 0000000000..97143a80f6 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/-init-.html @@ -0,0 +1,15 @@ + + +WireTransaction.<init> - + + + +core / WireTransaction / <init>
+
+

<init>

+WireTransaction(inputs: List<StateRef>, attachments: List<SecureHash>, outputs: List<ContractState>, commands: List<Command>)
+

Transaction ready for serialisation, without any signatures attached.

+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/attachments.html b/docs/build/html/api/core/-wire-transaction/attachments.html new file mode 100644 index 0000000000..ad948a2821 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/attachments.html @@ -0,0 +1,15 @@ + + +WireTransaction.attachments - + + + +core / WireTransaction / attachments
+
+

attachments

+ +val attachments: List<SecureHash>
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/commands.html b/docs/build/html/api/core/-wire-transaction/commands.html new file mode 100644 index 0000000000..cd74dcc4dd --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/commands.html @@ -0,0 +1,15 @@ + + +WireTransaction.commands - + + + +core / WireTransaction / commands
+
+

commands

+ +val commands: List<Command>
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/deserialize.html b/docs/build/html/api/core/-wire-transaction/deserialize.html new file mode 100644 index 0000000000..1f69d3c198 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/deserialize.html @@ -0,0 +1,15 @@ + + +WireTransaction.deserialize - + + + +core / WireTransaction / deserialize
+
+

deserialize

+ +fun deserialize(bits: SerializedBytes<WireTransaction>, kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/id.html b/docs/build/html/api/core/-wire-transaction/id.html new file mode 100644 index 0000000000..e036e71543 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/id.html @@ -0,0 +1,16 @@ + + +WireTransaction.id - + + + +core / WireTransaction / id
+
+

id

+ +val id: SecureHash
+Overrides NamedByHash.id
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/index.html b/docs/build/html/api/core/-wire-transaction/index.html new file mode 100644 index 0000000000..9e9482d65c --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/index.html @@ -0,0 +1,110 @@ + + +WireTransaction - + + + +core / WireTransaction
+
+

WireTransaction

+data class WireTransaction : NamedByHash
+

Transaction ready for serialisation, without any signatures attached.

+
+
+

Constructors

+ + + + + + + +
+<init> +WireTransaction(inputs: List<StateRef>, attachments: List<SecureHash>, outputs: List<ContractState>, commands: List<Command>)

Transaction ready for serialisation, without any signatures attached.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+attachments +val attachments: List<SecureHash>
+commands +val commands: List<Command>
+id +val id: SecureHash
+inputs +val inputs: List<StateRef>
+outputs +val outputs: List<ContractState>
+serialized +val serialized: SerializedBytes<WireTransaction>
+

Functions

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

Returns a StateAndRef for the given output index.

+fun <T : ContractState> outRef(state: ContractState): StateAndRef<T>

Returns a StateAndRef for the requested output state, or throws IllegalArgumentException if not found.

+
+toString +fun toString(): String
+

Companion Object Functions

+ + + + + + + +
+deserialize +fun deserialize(bits: SerializedBytes<WireTransaction>, kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction
+

Extension Functions

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

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

+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/inputs.html b/docs/build/html/api/core/-wire-transaction/inputs.html new file mode 100644 index 0000000000..442019e737 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/inputs.html @@ -0,0 +1,15 @@ + + +WireTransaction.inputs - + + + +core / WireTransaction / inputs
+
+

inputs

+ +val inputs: List<StateRef>
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/out-ref.html b/docs/build/html/api/core/-wire-transaction/out-ref.html new file mode 100644 index 0000000000..32fc839f50 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/out-ref.html @@ -0,0 +1,21 @@ + + +WireTransaction.outRef - + + + +core / WireTransaction / outRef
+
+

outRef

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

Returns a StateAndRef for the given output index.

+
+
+ +fun <T : ContractState> outRef(state: ContractState): StateAndRef<T>
+

Returns a StateAndRef for the requested output state, or throws IllegalArgumentException if not found.

+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/outputs.html b/docs/build/html/api/core/-wire-transaction/outputs.html new file mode 100644 index 0000000000..b8e54034dd --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/outputs.html @@ -0,0 +1,15 @@ + + +WireTransaction.outputs - + + + +core / WireTransaction / outputs
+
+

outputs

+ +val outputs: List<ContractState>
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/serialized.html b/docs/build/html/api/core/-wire-transaction/serialized.html new file mode 100644 index 0000000000..1c274ef785 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/serialized.html @@ -0,0 +1,15 @@ + + +WireTransaction.serialized - + + + +core / WireTransaction / serialized
+
+

serialized

+ +val serialized: SerializedBytes<WireTransaction>
+
+
+ + diff --git a/docs/build/html/api/core/-wire-transaction/to-string.html b/docs/build/html/api/core/-wire-transaction/to-string.html new file mode 100644 index 0000000000..c411f72d79 --- /dev/null +++ b/docs/build/html/api/core/-wire-transaction/to-string.html @@ -0,0 +1,15 @@ + + +WireTransaction.toString - + + + +core / WireTransaction / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/core/calculate-days-between.html b/docs/build/html/api/core/calculate-days-between.html new file mode 100644 index 0000000000..e18737c848 --- /dev/null +++ b/docs/build/html/api/core/calculate-days-between.html @@ -0,0 +1,15 @@ + + +calculateDaysBetween - + + + +core / calculateDaysBetween
+
+

calculateDaysBetween

+ +fun calculateDaysBetween(startDate: LocalDate, endDate: LocalDate, dcbYear: DayCountBasisYear, dcbDay: DayCountBasisDay): Int
+
+
+ + diff --git a/docs/build/html/api/core/currency.html b/docs/build/html/api/core/currency.html new file mode 100644 index 0000000000..9bfbff6c84 --- /dev/null +++ b/docs/build/html/api/core/currency.html @@ -0,0 +1,23 @@ + + +currency - + + + +core / currency
+
+

currency

+ +fun currency(code: String): Currency
+

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

+

TODO: Look into replacing Currency and Amount with CurrencyUnit and MonetaryAmount from the javax.money API (JSR 354)

+
+
+
+
+ + diff --git a/docs/build/html/api/core/extract-zip-file.html b/docs/build/html/api/core/extract-zip-file.html new file mode 100644 index 0000000000..c8febca963 --- /dev/null +++ b/docs/build/html/api/core/extract-zip-file.html @@ -0,0 +1,16 @@ + + +extractZipFile - + + + +core / extractZipFile
+
+

extractZipFile

+ +fun extractZipFile(zipPath: Path, toPath: Path): Unit
+

Given a path to a zip file, extracts it to the given directory.

+
+
+ + diff --git a/docs/build/html/api/core/failure.html b/docs/build/html/api/core/failure.html new file mode 100644 index 0000000000..05733425c0 --- /dev/null +++ b/docs/build/html/api/core/failure.html @@ -0,0 +1,17 @@ + + +failure - + + + +core / failure
+
+

failure

+ +fun <T> <ERROR CLASS><T>.failure(executor: Executor, body: (Throwable) -> Unit): <ERROR CLASS>
+ +infix fun <T> <ERROR CLASS><T>.failure(body: (Throwable) -> Unit): <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/core/hash.html b/docs/build/html/api/core/hash.html new file mode 100644 index 0000000000..0402b5b79e --- /dev/null +++ b/docs/build/html/api/core/hash.html @@ -0,0 +1,16 @@ + + +hash - + + + +core / hash
+
+

hash

+ +fun ContractState.hash(): SecureHash
+

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+
+ + diff --git a/docs/build/html/api/core/index.html b/docs/build/html/api/core/index.html new file mode 100644 index 0000000000..634961ba71 --- /dev/null +++ b/docs/build/html/api/core/index.html @@ -0,0 +1,545 @@ + + +core - + + + +core
+
+

Package core

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AccrualAdjustment +enum class AccrualAdjustment

Simple enum for returning accurals adjusted or unadjusted. +We dont actually do anything with this yet though, so its ignored for now.

+
+Amount +data class Amount : Comparable<Amount>

Amount represents a positive quantity of currency, measured in pennies, which are the smallest representable units.

+
+Attachment +interface Attachment : NamedByHash

An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to +contain public static data which can be referenced from transactions and utilised from contracts. Good examples +of how attachments are meant to be used include:

+
+AuthenticatedObject +data class AuthenticatedObject<out T : Any>

Wraps an object that was signed by a public key, which may be a well known/recognised institutional key.

+
+BusinessCalendar +open class BusinessCalendar

A business calendar performs date calculations that take into account national holidays and weekends. This is a +typical feature of financial contracts, in which a business may not want a payment event to fall on a day when +no staff are around to handle problems.

+
+Command +data class Command

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

+
+CommandData +interface CommandData

Marker interface for classes that represent commands

+
+Contract +interface Contract

Implemented by a program that implements business logic on the shared ledger. All participants run this code for +every LedgerTransaction they see on the network, for every input and output state. All contracts must accept the +transaction for it to be accepted: failure of any aborts the entire thing. The time is taken from a trusted +timestamp attached to the transaction itself i.e. it is NOT necessarily the current time.

+
+ContractState +interface ContractState

A contract state (or just "state") contains opaque data used by a contract program. It can be thought of as a disk +file that the program can use to persist data across transactions. States are immutable: once created they are never +updated, instead, any changes must generate a new successor state.

+
+DateOffset +enum class DateOffset

Date offset that the fixing is done prior to the accrual start date. +Currently not used in the calculation.

+
+DateRollConvention +enum class DateRollConvention

This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day +Depending on the accounting requirement, we can move forward until we get to a business day, or backwards +There are some additional rules which are explained in the individual cases below

+
+DateRollDirection +enum class DateRollDirection

This is utilised in the DateRollConvention class to determine which way we should initially step when +finding a business day

+
+DayCountBasisDay +enum class DayCountBasisDay

This forms the day part of the "Day Count Basis" used for interest calculation. +Note that the first character cannot be a number (enum naming constraints), so we drop that +in the toString lest some people get confused.

+
+DayCountBasisYear +enum class DayCountBasisYear

This forms the year part of the "Day Count Basis" used for interest calculation.

+
+Expression +data class Expression

Represents a textual expression of e.g. a formula

+
+ExpressionDeserializer +object ExpressionDeserializer
+ExpressionSerializer +object ExpressionSerializer
+Fix +data class Fix : CommandData

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

+
+FixOf +data class FixOf

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

+
+Frequency +enum class Frequency

Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year +that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

+
+LedgerTransaction +data class LedgerTransaction : NamedByHash

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

+
+LinearState +interface LinearState : ContractState

A state that evolves by superseding itself, all of which share the common "thread"

+
+NamedByHash +interface NamedByHash

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

+
+OwnableState +interface OwnableState : ContractState
+Party +data class Party

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

+
+PartyReference +data class PartyReference

Reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal +ledger. The reference is intended to be encrypted so its meaningless to anyone other than the party.

+
+PaymentRule +enum class PaymentRule

Whether the payment should be made before the due date, or after it.

+
+Requirements +class Requirements
+SignedTransaction +data class SignedTransaction : NamedByHash

Container for a WireTransaction and attached signatures.

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

A StateAndRef is simply a (state, ref) pair. For instance, a wallet (which holds available assets) contains these.

+
+StateRef +data class StateRef

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

+
+Tenor +data class Tenor

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

+
+ThreadBox +class ThreadBox<T>

A threadbox is a simple utility that makes it harder to forget to take a lock before accessing some shared state. +Simply define a private class to hold the data that must be grouped under the same lock, and then pass the only +instance to the ThreadBox constructor. You can now use the locked method with a lambda to take the lock in a +way that ensures itll be released if theres an exception.

+
+TimestampCommand +data class TimestampCommand : CommandData

If present in a transaction, contains a time that was verified by the timestamping authority/authorities whose +public keys are identified in the containing Command object. The true time must be between (after, before)

+
+TransactionBuilder +class TransactionBuilder

A TransactionBuilder is a transaction class thats mutable (unlike the others which are all immutable). It is +intended to be passed around contracts that may edit it by adding new states/commands or modifying the existing set. +Then once the states and commands are right, this class can be used as a holding bucket to gather signatures from +multiple parties.

+
+TransactionForVerification +data class TransactionForVerification

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

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

Given a map of transaction id to SignedTransaction, performs a breadth first search of the dependency graph from +the starting point down in order to find transactions that match the given query criteria.

+
+TransactionGroup +class TransactionGroup

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

+
+TransientProperty +class TransientProperty<T>

A simple wrapper that enables the use of Kotlins "val x by TransientProperty { ... }" syntax. Such a property +will not be serialized to disk, and if its missing (or the first time its accessed), the initializer will be +used to set it up. Note that the initializer will be called with the TransientProperty object locked.

+
+TypeOnlyCommandData +abstract class TypeOnlyCommandData : CommandData

Commands that inherit from this are intended to have no data items: its only their presence that matters.

+
+WireTransaction +data class WireTransaction : NamedByHash

Transaction ready for serialisation, without any signatures attached.

+
+

Exceptions

+ + + + + + + + + + + + + + + +
+TransactionConflictException +class TransactionConflictException : Exception
+TransactionResolutionException +class TransactionResolutionException : Exception
+TransactionVerificationException +class TransactionVerificationException : Exception

Thrown if a verification fails due to a contract rejection.

+
+

Extensions for External Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+java.nio.file.Path +
+java.time.LocalDate +
+java.time.temporal.Temporal +
+kotlin.Double +
+kotlin.Int +
+kotlin.Long +
+kotlin.String +
+kotlin.collections.Iterable +
+kotlin.collections.List +
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+CHF +val CHF: Currency
+GBP +val GBP: Currency
+R +val R: Requirements
+RunOnCallerThread +val RunOnCallerThread: <ERROR CLASS>
+USD +val USD: Currency
+

Functions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+calculateDaysBetween +fun calculateDaysBetween(startDate: LocalDate, endDate: LocalDate, dcbYear: DayCountBasisYear, dcbDay: DayCountBasisDay): Int
+currency +fun currency(code: String): Currency

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

+
+extractZipFile +fun extractZipFile(zipPath: Path, toPath: Path): Unit

Given a path to a zip file, extracts it to the given directory.

+
+failure +fun <T> <ERROR CLASS><T>.failure(executor: Executor, body: (Throwable) -> Unit): <ERROR CLASS>
+infix fun <T> <ERROR CLASS><T>.failure(body: (Throwable) -> Unit): <ERROR CLASS><T>
+hash +fun ContractState.hash(): SecureHash

Returns the SHA-256 hash of the serialised contents of this state (not cached)

+
+logElapsedTime +fun <T> logElapsedTime(label: String, logger: <ERROR CLASS>? = null, body: () -> T): T
+random63BitValue +fun random63BitValue(): Long

Returns a random positive long generated using a secure RNG. This function sacrifies a bit of entropy in order to +avoid potential bugs where the value is used in a context where negative numbers are not expected.

+
+requireThat +fun <R> requireThat(body: Requirements.() -> R): R
+setFrom +fun <T> <ERROR CLASS><T>.setFrom(logger: <ERROR CLASS>? = null, block: () -> T): <ERROR CLASS><T>

Executes the given block and sets the future to either the result, or any exception that was thrown.

+
+success +fun <T> <ERROR CLASS><T>.success(executor: Executor, body: (T) -> Unit): <ERROR CLASS>
+infix fun <T> <ERROR CLASS><T>.success(body: (T) -> Unit): <ERROR CLASS><T>
+then +fun <T> <ERROR CLASS><T>.then(executor: Executor, body: () -> Unit): <ERROR CLASS>
+infix fun <T> <ERROR CLASS><T>.then(body: () -> Unit): <ERROR CLASS><T>
+toLedgerTransaction +fun WireTransaction.toLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

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

+
+verifyToLedgerTransaction +fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction

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

+
+ + diff --git a/docs/build/html/api/core/java.nio.file.-path/index.html b/docs/build/html/api/core/java.nio.file.-path/index.html new file mode 100644 index 0000000000..3fa5eace28 --- /dev/null +++ b/docs/build/html/api/core/java.nio.file.-path/index.html @@ -0,0 +1,21 @@ + + +core.java.nio.file.Path - + + + +core / java.nio.file.Path
+
+

Extensions for java.nio.file.Path

+ + + + + + + +
+use +fun <R> Path.use(block: (InputStream) -> R): R
+ + diff --git a/docs/build/html/api/core/java.nio.file.-path/use.html b/docs/build/html/api/core/java.nio.file.-path/use.html new file mode 100644 index 0000000000..78aaa6daf9 --- /dev/null +++ b/docs/build/html/api/core/java.nio.file.-path/use.html @@ -0,0 +1,15 @@ + + +use - + + + +core / java.nio.file.Path / use
+
+

use

+ +fun <R> Path.use(block: (InputStream) -> R): R
+
+
+ + diff --git a/docs/build/html/api/core/java.time.-local-date/index.html b/docs/build/html/api/core/java.time.-local-date/index.html new file mode 100644 index 0000000000..3a55bd247c --- /dev/null +++ b/docs/build/html/api/core/java.time.-local-date/index.html @@ -0,0 +1,21 @@ + + +core.java.time.LocalDate - + + + +core / java.time.LocalDate
+
+

Extensions for java.time.LocalDate

+ + + + + + + +
+isWorkingDay +fun LocalDate.isWorkingDay(accordingToCalendar: BusinessCalendar): Boolean
+ + diff --git a/docs/build/html/api/core/java.time.-local-date/is-working-day.html b/docs/build/html/api/core/java.time.-local-date/is-working-day.html new file mode 100644 index 0000000000..6ebe176ff5 --- /dev/null +++ b/docs/build/html/api/core/java.time.-local-date/is-working-day.html @@ -0,0 +1,15 @@ + + +isWorkingDay - + + + +core / java.time.LocalDate / isWorkingDay
+
+

isWorkingDay

+ +fun LocalDate.isWorkingDay(accordingToCalendar: BusinessCalendar): Boolean
+
+
+ + diff --git a/docs/build/html/api/core/java.time.temporal.-temporal/index.html b/docs/build/html/api/core/java.time.temporal.-temporal/index.html new file mode 100644 index 0000000000..6ca04996d7 --- /dev/null +++ b/docs/build/html/api/core/java.time.temporal.-temporal/index.html @@ -0,0 +1,21 @@ + + +core.java.time.temporal.Temporal - + + + +core / java.time.temporal.Temporal
+
+

Extensions for java.time.temporal.Temporal

+ + + + + + + +
+until +infix fun Temporal.until(endExclusive: Temporal): Duration
+ + diff --git a/docs/build/html/api/core/java.time.temporal.-temporal/until.html b/docs/build/html/api/core/java.time.temporal.-temporal/until.html new file mode 100644 index 0000000000..4d85b2b2b6 --- /dev/null +++ b/docs/build/html/api/core/java.time.temporal.-temporal/until.html @@ -0,0 +1,15 @@ + + +until - + + + +core / java.time.temporal.Temporal / until
+
+

until

+ +infix fun Temporal.until(endExclusive: Temporal): Duration
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-double/-d-o-l-l-a-r-s.html b/docs/build/html/api/core/kotlin.-double/-d-o-l-l-a-r-s.html new file mode 100644 index 0000000000..16bfbc55c7 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-double/-d-o-l-l-a-r-s.html @@ -0,0 +1,15 @@ + + +DOLLARS - + + + +core / kotlin.Double / DOLLARS
+
+

DOLLARS

+ +val Double.DOLLARS: Amount
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-double/bd.html b/docs/build/html/api/core/kotlin.-double/bd.html new file mode 100644 index 0000000000..6e2e40a034 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-double/bd.html @@ -0,0 +1,15 @@ + + +bd - + + + +core / kotlin.Double / bd
+
+

bd

+ +val Double.bd: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-double/index.html b/docs/build/html/api/core/kotlin.-double/index.html new file mode 100644 index 0000000000..871c644997 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-double/index.html @@ -0,0 +1,27 @@ + + +core.kotlin.Double - + + + +core / kotlin.Double
+
+

Extensions for kotlin.Double

+ + + + + + + + + + + +
+DOLLARS +val Double.DOLLARS: Amount
+bd +val Double.bd: BigDecimal
+ + diff --git a/docs/build/html/api/core/kotlin.-int/-d-o-l-l-a-r-s.html b/docs/build/html/api/core/kotlin.-int/-d-o-l-l-a-r-s.html new file mode 100644 index 0000000000..74f8f32024 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/-d-o-l-l-a-r-s.html @@ -0,0 +1,15 @@ + + +DOLLARS - + + + +core / kotlin.Int / DOLLARS
+
+

DOLLARS

+ +val Int.DOLLARS: Amount
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/-p-o-u-n-d-s.html b/docs/build/html/api/core/kotlin.-int/-p-o-u-n-d-s.html new file mode 100644 index 0000000000..a5444c984a --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/-p-o-u-n-d-s.html @@ -0,0 +1,15 @@ + + +POUNDS - + + + +core / kotlin.Int / POUNDS
+
+

POUNDS

+ +val Int.POUNDS: Amount
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/-s-w-i-s-s_-f-r-a-n-c-s.html b/docs/build/html/api/core/kotlin.-int/-s-w-i-s-s_-f-r-a-n-c-s.html new file mode 100644 index 0000000000..2025866635 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/-s-w-i-s-s_-f-r-a-n-c-s.html @@ -0,0 +1,15 @@ + + +SWISS_FRANCS - + + + +core / kotlin.Int / SWISS_FRANCS
+
+

SWISS_FRANCS

+ +val Int.SWISS_FRANCS: Amount
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/bd.html b/docs/build/html/api/core/kotlin.-int/bd.html new file mode 100644 index 0000000000..5314d18dbd --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/bd.html @@ -0,0 +1,15 @@ + + +bd - + + + +core / kotlin.Int / bd
+
+

bd

+ +val Int.bd: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/days.html b/docs/build/html/api/core/kotlin.-int/days.html new file mode 100644 index 0000000000..6f9d0a1476 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/days.html @@ -0,0 +1,15 @@ + + +days - + + + +core / kotlin.Int / days
+
+

days

+ +val Int.days: Duration
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/hours.html b/docs/build/html/api/core/kotlin.-int/hours.html new file mode 100644 index 0000000000..42d025c923 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/hours.html @@ -0,0 +1,15 @@ + + +hours - + + + +core / kotlin.Int / hours
+
+

hours

+ +val Int.hours: Duration
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/index.html b/docs/build/html/api/core/kotlin.-int/index.html new file mode 100644 index 0000000000..92a6d03d79 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/index.html @@ -0,0 +1,63 @@ + + +core.kotlin.Int - + + + +core / kotlin.Int
+
+

Extensions for kotlin.Int

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+DOLLARS +val Int.DOLLARS: Amount
+POUNDS +val Int.POUNDS: Amount
+SWISS_FRANCS +val Int.SWISS_FRANCS: Amount
+bd +val Int.bd: BigDecimal
+days +val Int.days: Duration
+hours +val Int.hours: Duration
+minutes +val Int.minutes: Duration
+seconds +val Int.seconds: Duration
+ + diff --git a/docs/build/html/api/core/kotlin.-int/minutes.html b/docs/build/html/api/core/kotlin.-int/minutes.html new file mode 100644 index 0000000000..ec227c5768 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/minutes.html @@ -0,0 +1,15 @@ + + +minutes - + + + +core / kotlin.Int / minutes
+
+

minutes

+ +val Int.minutes: Duration
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-int/seconds.html b/docs/build/html/api/core/kotlin.-int/seconds.html new file mode 100644 index 0000000000..9d4532be30 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-int/seconds.html @@ -0,0 +1,15 @@ + + +seconds - + + + +core / kotlin.Int / seconds
+
+

seconds

+ +val Int.seconds: Duration
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-long/bd.html b/docs/build/html/api/core/kotlin.-long/bd.html new file mode 100644 index 0000000000..c99415b6f1 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-long/bd.html @@ -0,0 +1,15 @@ + + +bd - + + + +core / kotlin.Long / bd
+
+

bd

+ +val Long.bd: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-long/index.html b/docs/build/html/api/core/kotlin.-long/index.html new file mode 100644 index 0000000000..a2280a25e1 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-long/index.html @@ -0,0 +1,21 @@ + + +core.kotlin.Long - + + + +core / kotlin.Long
+
+

Extensions for kotlin.Long

+ + + + + + + +
+bd +val Long.bd: BigDecimal
+ + diff --git a/docs/build/html/api/core/kotlin.-string/bd.html b/docs/build/html/api/core/kotlin.-string/bd.html new file mode 100644 index 0000000000..fc47143355 --- /dev/null +++ b/docs/build/html/api/core/kotlin.-string/bd.html @@ -0,0 +1,15 @@ + + +bd - + + + +core / kotlin.String / bd
+
+

bd

+ +val String.bd: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.-string/index.html b/docs/build/html/api/core/kotlin.-string/index.html new file mode 100644 index 0000000000..01028e14af --- /dev/null +++ b/docs/build/html/api/core/kotlin.-string/index.html @@ -0,0 +1,21 @@ + + +core.kotlin.String - + + + +core / kotlin.String
+
+

Extensions for kotlin.String

+ + + + + + + +
+bd +val String.bd: BigDecimal
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-iterable/index.html b/docs/build/html/api/core/kotlin.collections.-iterable/index.html new file mode 100644 index 0000000000..e5861733cd --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-iterable/index.html @@ -0,0 +1,33 @@ + + +core.kotlin.collections.Iterable - + + + +core / kotlin.collections.Iterable
+
+

Extensions for kotlin.collections.Iterable

+ + + + + + + + + + + + + + + +
+sumOrNull +fun Iterable<Amount>.sumOrNull(): Nothing?
+sumOrThrow +fun Iterable<Amount>.sumOrThrow(): <ERROR CLASS>
+sumOrZero +fun Iterable<Amount>.sumOrZero(currency: Currency): Amount
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-null.html b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-null.html new file mode 100644 index 0000000000..94840397a3 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-null.html @@ -0,0 +1,15 @@ + + +sumOrNull - + + + +core / kotlin.collections.Iterable / sumOrNull
+
+

sumOrNull

+ +fun Iterable<Amount>.sumOrNull(): Nothing?
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-throw.html b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-throw.html new file mode 100644 index 0000000000..30e4673c4f --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-throw.html @@ -0,0 +1,15 @@ + + +sumOrThrow - + + + +core / kotlin.collections.Iterable / sumOrThrow
+
+

sumOrThrow

+ +fun Iterable<Amount>.sumOrThrow(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-zero.html b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-zero.html new file mode 100644 index 0000000000..62958295fa --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-iterable/sum-or-zero.html @@ -0,0 +1,15 @@ + + +sumOrZero - + + + +core / kotlin.collections.Iterable / sumOrZero
+
+

sumOrZero

+ +fun Iterable<Amount>.sumOrZero(currency: Currency): Amount
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/filter-states-of-type.html b/docs/build/html/api/core/kotlin.collections.-list/filter-states-of-type.html new file mode 100644 index 0000000000..f897243131 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/filter-states-of-type.html @@ -0,0 +1,16 @@ + + +filterStatesOfType - + + + +core / kotlin.collections.List / filterStatesOfType
+
+

filterStatesOfType

+ +inline fun <reified T : ContractState> List<StateAndRef<ContractState>>.filterStatesOfType(): List<StateAndRef<T>>
+

Filters a list of StateAndRef objects according to the type of the states

+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by-name.html b/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by-name.html new file mode 100644 index 0000000000..101fc4849d --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by-name.html @@ -0,0 +1,18 @@ + + +getTimestampByName - + + + +core / kotlin.collections.List / getTimestampByName
+
+

getTimestampByName

+ +fun List<AuthenticatedObject<CommandData>>.getTimestampByName(vararg names: String): TimestampCommand?
+

Returns a timestamp that was signed by any of the the named authorities, or returns null if missing. +Note that matching here is done by (verified, legal) name, not by public key. Any signature by any +party with a name that matches (case insensitively) any of the given names will yield a match.

+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by.html b/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by.html new file mode 100644 index 0000000000..02c709bfd3 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/get-timestamp-by.html @@ -0,0 +1,16 @@ + + +getTimestampBy - + + + +core / kotlin.collections.List / getTimestampBy
+
+

getTimestampBy

+ +fun List<AuthenticatedObject<CommandData>>.getTimestampBy(timestampingAuthority: Party): TimestampCommand?
+

Returns a timestamp that was signed by the given authority, or returns null if missing.

+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/index-of-or-throw.html b/docs/build/html/api/core/kotlin.collections.-list/index-of-or-throw.html new file mode 100644 index 0000000000..af22989e3e --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/index-of-or-throw.html @@ -0,0 +1,16 @@ + + +indexOfOrThrow - + + + +core / kotlin.collections.List / indexOfOrThrow
+
+

indexOfOrThrow

+ +fun <T> List<T>.indexOfOrThrow(item: T): Int
+

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

+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/index.html b/docs/build/html/api/core/kotlin.collections.-list/index.html new file mode 100644 index 0000000000..98a221d7d5 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/index.html @@ -0,0 +1,59 @@ + + +core.kotlin.collections.List - + + + +core / kotlin.collections.List
+
+

Extensions for kotlin.collections.List

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+filterStatesOfType +fun <T : ContractState> List<StateAndRef<ContractState>>.filterStatesOfType(): List<StateAndRef<T>>

Filters a list of StateAndRef objects according to the type of the states

+
+getTimestampBy +fun List<AuthenticatedObject<CommandData>>.getTimestampBy(timestampingAuthority: Party): TimestampCommand?

Returns a timestamp that was signed by the given authority, or returns null if missing.

+
+getTimestampByName +fun List<AuthenticatedObject<CommandData>>.getTimestampByName(vararg names: String): TimestampCommand?

Returns a timestamp that was signed by any of the the named authorities, or returns null if missing. +Note that matching here is done by (verified, legal) name, not by public key. Any signature by any +party with a name that matches (case insensitively) any of the given names will yield a match.

+
+indexOfOrThrow +fun <T> List<T>.indexOfOrThrow(item: T): Int

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

+
+requireSingleCommand +fun <T : CommandData> List<AuthenticatedObject<CommandData>>.requireSingleCommand(): <ERROR CLASS>
+fun List<AuthenticatedObject<CommandData>>.requireSingleCommand(klass: Class<out CommandData>): <ERROR CLASS>
+select +fun <T : CommandData> List<AuthenticatedObject<CommandData>>.select(signer: PublicKey? = null, party: Party? = null): <ERROR CLASS>

Filters the command list by type, party and public key all at once.

+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/require-single-command.html b/docs/build/html/api/core/kotlin.collections.-list/require-single-command.html new file mode 100644 index 0000000000..7c108de011 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/require-single-command.html @@ -0,0 +1,17 @@ + + +requireSingleCommand - + + + +core / kotlin.collections.List / requireSingleCommand
+
+

requireSingleCommand

+ +inline fun <reified T : CommandData> List<AuthenticatedObject<CommandData>>.requireSingleCommand(): <ERROR CLASS>
+ +fun List<AuthenticatedObject<CommandData>>.requireSingleCommand(klass: Class<out CommandData>): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/core/kotlin.collections.-list/select.html b/docs/build/html/api/core/kotlin.collections.-list/select.html new file mode 100644 index 0000000000..187d6c2bb8 --- /dev/null +++ b/docs/build/html/api/core/kotlin.collections.-list/select.html @@ -0,0 +1,16 @@ + + +select - + + + +core / kotlin.collections.List / select
+
+

select

+ +inline fun <reified T : CommandData> List<AuthenticatedObject<CommandData>>.select(signer: PublicKey? = null, party: Party? = null): <ERROR CLASS>
+

Filters the command list by type, party and public key all at once.

+
+
+ + diff --git a/docs/build/html/api/core/log-elapsed-time.html b/docs/build/html/api/core/log-elapsed-time.html new file mode 100644 index 0000000000..48d7af36af --- /dev/null +++ b/docs/build/html/api/core/log-elapsed-time.html @@ -0,0 +1,15 @@ + + +logElapsedTime - + + + +core / logElapsedTime
+
+

logElapsedTime

+ +inline fun <T> logElapsedTime(label: String, logger: <ERROR CLASS>? = null, body: () -> T): T
+
+
+ + diff --git a/docs/build/html/api/core/random63-bit-value.html b/docs/build/html/api/core/random63-bit-value.html new file mode 100644 index 0000000000..64e0bde485 --- /dev/null +++ b/docs/build/html/api/core/random63-bit-value.html @@ -0,0 +1,17 @@ + + +random63BitValue - + + + +core / random63BitValue
+
+

random63BitValue

+ +fun random63BitValue(): Long
+

Returns a random positive long generated using a secure RNG. This function sacrifies a bit of entropy in order to +avoid potential bugs where the value is used in a context where negative numbers are not expected.

+
+
+ + diff --git a/docs/build/html/api/core/require-that.html b/docs/build/html/api/core/require-that.html new file mode 100644 index 0000000000..dac23f1a48 --- /dev/null +++ b/docs/build/html/api/core/require-that.html @@ -0,0 +1,15 @@ + + +requireThat - + + + +core / requireThat
+
+

requireThat

+ +inline fun <R> requireThat(body: Requirements.() -> R): R
+
+
+ + diff --git a/docs/build/html/api/core/set-from.html b/docs/build/html/api/core/set-from.html new file mode 100644 index 0000000000..8ed5b9c8f9 --- /dev/null +++ b/docs/build/html/api/core/set-from.html @@ -0,0 +1,16 @@ + + +setFrom - + + + +core / setFrom
+
+

setFrom

+ +fun <T> <ERROR CLASS><T>.setFrom(logger: <ERROR CLASS>? = null, block: () -> T): <ERROR CLASS><T>
+

Executes the given block and sets the future to either the result, or any exception that was thrown.

+
+
+ + diff --git a/docs/build/html/api/core/success.html b/docs/build/html/api/core/success.html new file mode 100644 index 0000000000..d950611aa5 --- /dev/null +++ b/docs/build/html/api/core/success.html @@ -0,0 +1,17 @@ + + +success - + + + +core / success
+
+

success

+ +fun <T> <ERROR CLASS><T>.success(executor: Executor, body: (T) -> Unit): <ERROR CLASS>
+ +infix fun <T> <ERROR CLASS><T>.success(body: (T) -> Unit): <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/core/then.html b/docs/build/html/api/core/then.html new file mode 100644 index 0000000000..2e32f1359e --- /dev/null +++ b/docs/build/html/api/core/then.html @@ -0,0 +1,17 @@ + + +then - + + + +core / then
+
+

then

+ +fun <T> <ERROR CLASS><T>.then(executor: Executor, body: () -> Unit): <ERROR CLASS>
+ +infix fun <T> <ERROR CLASS><T>.then(body: () -> Unit): <ERROR CLASS><T>
+
+
+ + diff --git a/docs/build/html/api/core/to-ledger-transaction.html b/docs/build/html/api/core/to-ledger-transaction.html new file mode 100644 index 0000000000..41832105eb --- /dev/null +++ b/docs/build/html/api/core/to-ledger-transaction.html @@ -0,0 +1,19 @@ + + +toLedgerTransaction - + + + +core / toLedgerTransaction
+
+

toLedgerTransaction

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

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

+

Exceptions

+ +FileNotFoundException - if a required attachment was not found in storage.
+
+
+ + diff --git a/docs/build/html/api/core/verify-to-ledger-transaction.html b/docs/build/html/api/core/verify-to-ledger-transaction.html new file mode 100644 index 0000000000..92d7ac9642 --- /dev/null +++ b/docs/build/html/api/core/verify-to-ledger-transaction.html @@ -0,0 +1,17 @@ + + +verifyToLedgerTransaction - + + + +core / verifyToLedgerTransaction
+
+

verifyToLedgerTransaction

+ +fun SignedTransaction.verifyToLedgerTransaction(identityService: IdentityService, attachmentStorage: AttachmentStorage): LedgerTransaction
+

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

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html new file mode 100644 index 0000000000..10befe5dd4 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/-init-.html @@ -0,0 +1,14 @@ + + +AutoOfferProtocol.AutoOfferMessage.<init> - + + + +demos.protocols / AutoOfferProtocol / AutoOfferMessage / <init>
+
+

<init>

+AutoOfferMessage(otherSide: SingleMessageRecipient, otherSessionID: Long, dealBeingOffered: DealState)
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html new file mode 100644 index 0000000000..ff04087fbe --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/deal-being-offered.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.AutoOfferMessage.dealBeingOffered - + + + +demos.protocols / AutoOfferProtocol / AutoOfferMessage / dealBeingOffered
+
+

dealBeingOffered

+ +val dealBeingOffered: DealState
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html new file mode 100644 index 0000000000..4f688fecfa --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/index.html @@ -0,0 +1,48 @@ + + +AutoOfferProtocol.AutoOfferMessage - + + + +demos.protocols / AutoOfferProtocol / AutoOfferMessage
+
+

AutoOfferMessage

+data class AutoOfferMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +AutoOfferMessage(otherSide: SingleMessageRecipient, otherSessionID: Long, dealBeingOffered: DealState)
+

Properties

+ + + + + + + + + + + + + + + +
+dealBeingOffered +val dealBeingOffered: DealState
+otherSessionID +val otherSessionID: Long
+otherSide +val otherSide: SingleMessageRecipient
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-session-i-d.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-session-i-d.html new file mode 100644 index 0000000000..911bd73fd9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-session-i-d.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.AutoOfferMessage.otherSessionID - + + + +demos.protocols / AutoOfferProtocol / AutoOfferMessage / otherSessionID
+
+

otherSessionID

+ +val otherSessionID: Long
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-side.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-side.html new file mode 100644 index 0000000000..15f3f903e1 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-auto-offer-message/other-side.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.AutoOfferMessage.otherSide - + + + +demos.protocols / AutoOfferProtocol / AutoOfferMessage / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/-init-.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/-init-.html new file mode 100644 index 0000000000..1d519bd173 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/-init-.html @@ -0,0 +1,14 @@ + + +AutoOfferProtocol.Handler.Callback.<init> - + + + +demos.protocols / AutoOfferProtocol / Handler / Callback / <init>
+
+

<init>

+Callback(success: (SignedTransaction) -> Unit)
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/index.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/index.html new file mode 100644 index 0000000000..308f80f190 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/index.html @@ -0,0 +1,53 @@ + + +AutoOfferProtocol.Handler.Callback - + + + +demos.protocols / AutoOfferProtocol / Handler / Callback
+
+

Callback

+class Callback
+
+
+

Constructors

+ + + + + + + +
+<init> +Callback(success: (SignedTransaction) -> Unit)
+

Properties

+ + + + + + + +
+success +val success: (SignedTransaction) -> Unit
+

Functions

+ + + + + + + + + + + +
+onFailure +fun onFailure(t: Throwable?): Unit
+onSuccess +fun onSuccess(st: SignedTransaction?): Unit
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-failure.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-failure.html new file mode 100644 index 0000000000..ef40453276 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-failure.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Handler.Callback.onFailure - + + + +demos.protocols / AutoOfferProtocol / Handler / Callback / onFailure
+
+

onFailure

+ +fun onFailure(t: Throwable?): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-success.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-success.html new file mode 100644 index 0000000000..b19ef01ac6 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/on-success.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Handler.Callback.onSuccess - + + + +demos.protocols / AutoOfferProtocol / Handler / Callback / onSuccess
+
+

onSuccess

+ +fun onSuccess(st: SignedTransaction?): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/success.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/success.html new file mode 100644 index 0000000000..0b5364b3cb --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-callback/success.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Handler.Callback.success - + + + +demos.protocols / AutoOfferProtocol / Handler / Callback / success
+
+

success

+ +val success: (SignedTransaction) -> Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-d-e-a-l-i-n-g.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-d-e-a-l-i-n-g.html new file mode 100644 index 0000000000..2b76dbde06 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-d-e-a-l-i-n-g.html @@ -0,0 +1,31 @@ + + +AutoOfferProtocol.Handler.DEALING - + + + +demos.protocols / AutoOfferProtocol / Handler / DEALING
+
+

DEALING

+object DEALING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-r-e-c-e-i-v-e-d.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-r-e-c-e-i-v-e-d.html new file mode 100644 index 0000000000..3a0442e149 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/-r-e-c-e-i-v-e-d.html @@ -0,0 +1,31 @@ + + +AutoOfferProtocol.Handler.RECEIVED - + + + +demos.protocols / AutoOfferProtocol / Handler / RECEIVED
+
+

RECEIVED

+object RECEIVED : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/index.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/index.html new file mode 100644 index 0000000000..f2e34a8c2d --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/index.html @@ -0,0 +1,54 @@ + + +AutoOfferProtocol.Handler - + + + +demos.protocols / AutoOfferProtocol / Handler
+
+

Handler

+object Handler
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Callback +class Callback
+DEALING +object DEALING : Step
+RECEIVED +object RECEIVED : Step
+

Functions

+ + + + + + + + + + + +
+register +fun register(node: Node): Unit
+tracker +fun tracker(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/register.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/register.html new file mode 100644 index 0000000000..2b95b68533 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/register.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Handler.register - + + + +demos.protocols / AutoOfferProtocol / Handler / register
+
+

register

+ +fun register(node: Node): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/tracker.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/tracker.html new file mode 100644 index 0000000000..c4f79c9ce9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-handler/tracker.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Handler.tracker - + + + +demos.protocols / AutoOfferProtocol / Handler / tracker
+
+

tracker

+ +fun tracker(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html new file mode 100644 index 0000000000..f765e78110 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-a-n-n-o-u-n-c-i-n-g.html @@ -0,0 +1,31 @@ + + +AutoOfferProtocol.Requester.ANNOUNCING - + + + +demos.protocols / AutoOfferProtocol / Requester / ANNOUNCING
+
+

ANNOUNCING

+object ANNOUNCING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-d-e-a-l-i-n-g.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-d-e-a-l-i-n-g.html new file mode 100644 index 0000000000..86fb3a151c --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-d-e-a-l-i-n-g.html @@ -0,0 +1,31 @@ + + +AutoOfferProtocol.Requester.DEALING - + + + +demos.protocols / AutoOfferProtocol / Requester / DEALING
+
+

DEALING

+object DEALING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-init-.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-init-.html new file mode 100644 index 0000000000..0f0f4c5d5e --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-init-.html @@ -0,0 +1,14 @@ + + +AutoOfferProtocol.Requester.<init> - + + + +demos.protocols / AutoOfferProtocol / Requester / <init>
+
+

<init>

+Requester(dealToBeOffered: DealState)
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-r-e-c-e-i-v-e-d.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-r-e-c-e-i-v-e-d.html new file mode 100644 index 0000000000..3e3cc5193e --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/-r-e-c-e-i-v-e-d.html @@ -0,0 +1,31 @@ + + +AutoOfferProtocol.Requester.RECEIVED - + + + +demos.protocols / AutoOfferProtocol / Requester / RECEIVED
+
+

RECEIVED

+object RECEIVED : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/call.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/call.html new file mode 100644 index 0000000000..f8b253f7ef --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/call.html @@ -0,0 +1,17 @@ + + +AutoOfferProtocol.Requester.call - + + + +demos.protocols / AutoOfferProtocol / Requester / call
+
+

call

+ +fun call(): SignedTransaction
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/deal-to-be-offered.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/deal-to-be-offered.html new file mode 100644 index 0000000000..2ad6a77845 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/deal-to-be-offered.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Requester.dealToBeOffered - + + + +demos.protocols / AutoOfferProtocol / Requester / dealToBeOffered
+
+

dealToBeOffered

+ +val dealToBeOffered: DealState
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/index.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/index.html new file mode 100644 index 0000000000..1b345047a9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/index.html @@ -0,0 +1,156 @@ + + +AutoOfferProtocol.Requester - + + + +demos.protocols / AutoOfferProtocol / Requester
+
+

Requester

+class Requester<T> : ProtocolLogic<SignedTransaction>
+
+
+

Types

+ + + + + + + + + + + + + + + +
+ANNOUNCING +object ANNOUNCING : Step
+DEALING +object DEALING : Step
+RECEIVED +object RECEIVED : Step
+

Constructors

+ + + + + + + +
+<init> +Requester(dealToBeOffered: DealState)
+

Properties

+ + + + + + + + + + + +
+dealToBeOffered +val dealToBeOffered: DealState
+progressTracker +val progressTracker: <ERROR CLASS>

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + +
+call +fun call(): SignedTransaction

This is where you fill out your business logic.

+
+notUs +fun notUs(vararg parties: Party): List<Party>
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/not-us.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/not-us.html new file mode 100644 index 0000000000..8fa7e4ac6f --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/not-us.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Requester.notUs - + + + +demos.protocols / AutoOfferProtocol / Requester / notUs
+
+

notUs

+ +fun notUs(vararg parties: Party): List<Party>
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/progress-tracker.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/progress-tracker.html new file mode 100644 index 0000000000..6cee139483 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/progress-tracker.html @@ -0,0 +1,24 @@ + + +AutoOfferProtocol.Requester.progressTracker - + + + +demos.protocols / AutoOfferProtocol / Requester / progressTracker
+
+

progressTracker

+ +val progressTracker: <ERROR CLASS>
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/tracker.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/tracker.html new file mode 100644 index 0000000000..285fd704df --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-requester/tracker.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.Requester.tracker - + + + +demos.protocols / AutoOfferProtocol / Requester / tracker
+
+

tracker

+ +fun tracker(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..244c3715e9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +AutoOfferProtocol.TOPIC - + + + +demos.protocols / AutoOfferProtocol / TOPIC
+
+

TOPIC

+ +val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-auto-offer-protocol/index.html b/docs/build/html/api/demos.protocols/-auto-offer-protocol/index.html new file mode 100644 index 0000000000..dba9c827c9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-auto-offer-protocol/index.html @@ -0,0 +1,54 @@ + + +AutoOfferProtocol - + + + +demos.protocols / AutoOfferProtocol
+
+

AutoOfferProtocol

+object AutoOfferProtocol
+

This whole class is really part of a demo just to initiate the agreement of a deal with a simple +API call from a single party without bi-directional access to the database of offers etc.

+

In the "real world", wed probably have the offers sitting in the platform prior to the agreement step +or the protocol would have to reach out to external systems (or users) to verify the deals

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + +
+AutoOfferMessage +data class AutoOfferMessage
+Handler +object Handler
+Requester +class Requester<T> : ProtocolLogic<SignedTransaction>
+

Properties

+ + + + + + + +
+TOPIC +val TOPIC: String
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/-init-.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/-init-.html new file mode 100644 index 0000000000..0140718d4b --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/-init-.html @@ -0,0 +1,16 @@ + + +ExitServerProtocol.Broadcast.<init> - + + + +demos.protocols / ExitServerProtocol / Broadcast / <init>
+
+

<init>

+Broadcast(exitCode: Integer)
+

This takes a Java Integer rather than Kotlin Int as that is what we end up with in the calling map and currently +we do not support coercing numeric types in the reflective search for matching constructors

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/call.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/call.html new file mode 100644 index 0000000000..d9134acc05 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/call.html @@ -0,0 +1,17 @@ + + +ExitServerProtocol.Broadcast.call - + + + +demos.protocols / ExitServerProtocol / Broadcast / call
+
+

call

+ +fun call(): Boolean
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/exit-code.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/exit-code.html new file mode 100644 index 0000000000..8953547f20 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/exit-code.html @@ -0,0 +1,15 @@ + + +ExitServerProtocol.Broadcast.exitCode - + + + +demos.protocols / ExitServerProtocol / Broadcast / exitCode
+
+

exitCode

+ +val exitCode: Integer
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/index.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/index.html new file mode 100644 index 0000000000..079c2e016e --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-broadcast/index.html @@ -0,0 +1,120 @@ + + +ExitServerProtocol.Broadcast - + + + +demos.protocols / ExitServerProtocol / Broadcast
+
+

Broadcast

+class Broadcast : ProtocolLogic<Boolean>
+

This takes a Java Integer rather than Kotlin Int as that is what we end up with in the calling map and currently +we do not support coercing numeric types in the reflective search for matching constructors

+
+
+

Constructors

+ + + + + + + +
+<init> +Broadcast(exitCode: Integer)

This takes a Java Integer rather than Kotlin Int as that is what we end up with in the calling map and currently +we do not support coercing numeric types in the reflective search for matching constructors

+
+

Properties

+ + + + + + + +
+exitCode +val exitCode: Integer
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+progressTracker +open val progressTracker: ProgressTracker?

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +fun call(): Boolean

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/-init-.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/-init-.html new file mode 100644 index 0000000000..1bb42ed8f5 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/-init-.html @@ -0,0 +1,14 @@ + + +ExitServerProtocol.ExitMessage.<init> - + + + +demos.protocols / ExitServerProtocol / ExitMessage / <init>
+
+

<init>

+ExitMessage(exitCode: Int)
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/exit-code.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/exit-code.html new file mode 100644 index 0000000000..2c8d85c207 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/exit-code.html @@ -0,0 +1,15 @@ + + +ExitServerProtocol.ExitMessage.exitCode - + + + +demos.protocols / ExitServerProtocol / ExitMessage / exitCode
+
+

exitCode

+ +val exitCode: Int
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/index.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/index.html new file mode 100644 index 0000000000..09ad932dbb --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-exit-message/index.html @@ -0,0 +1,36 @@ + + +ExitServerProtocol.ExitMessage - + + + +demos.protocols / ExitServerProtocol / ExitMessage
+
+

ExitMessage

+data class ExitMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +ExitMessage(exitCode: Int)
+

Properties

+ + + + + + + +
+exitCode +val exitCode: Int
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/index.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/index.html new file mode 100644 index 0000000000..8404579dc5 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/index.html @@ -0,0 +1,25 @@ + + +ExitServerProtocol.Handler - + + + +demos.protocols / ExitServerProtocol / Handler
+
+

Handler

+object Handler
+
+
+

Functions

+ + + + + + + +
+register +fun register(node: Node): Unit
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/register.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/register.html new file mode 100644 index 0000000000..bf6eea4a3a --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-handler/register.html @@ -0,0 +1,15 @@ + + +ExitServerProtocol.Handler.register - + + + +demos.protocols / ExitServerProtocol / Handler / register
+
+

register

+ +fun register(node: Node): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/-t-o-p-i-c.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..21d7e50267 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +ExitServerProtocol.TOPIC - + + + +demos.protocols / ExitServerProtocol / TOPIC
+
+

TOPIC

+ +val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-exit-server-protocol/index.html b/docs/build/html/api/demos.protocols/-exit-server-protocol/index.html new file mode 100644 index 0000000000..030d2064f8 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-exit-server-protocol/index.html @@ -0,0 +1,50 @@ + + +ExitServerProtocol - + + + +demos.protocols / ExitServerProtocol
+
+

ExitServerProtocol

+object ExitServerProtocol
+
+
+

Types

+ + + + + + + + + + + + + + + +
+Broadcast +class Broadcast : ProtocolLogic<Boolean>

This takes a Java Integer rather than Kotlin Int as that is what we end up with in the calling map and currently +we do not support coercing numeric types in the reflective search for matching constructors

+
+ExitMessage +data class ExitMessage
+Handler +object Handler
+

Properties

+ + + + + + + +
+TOPIC +val TOPIC: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-init-.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-init-.html new file mode 100644 index 0000000000..4d7f14f141 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-init-.html @@ -0,0 +1,14 @@ + + +UpdateBusinessDayProtocol.Broadcast.<init> - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / <init>
+
+

<init>

+Broadcast(date: LocalDate, progressTracker: ProgressTracker = Broadcast.tracker())
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-l-o-c-a-l.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-l-o-c-a-l.html new file mode 100644 index 0000000000..98e7b8c266 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-l-o-c-a-l.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Broadcast.LOCAL - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / LOCAL
+
+

LOCAL

+object LOCAL : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-n-o-t-i-f-y-i-n-g.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-n-o-t-i-f-y-i-n-g.html new file mode 100644 index 0000000000..f6239b374c --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/-n-o-t-i-f-y-i-n-g.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Broadcast.NOTIFYING - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / NOTIFYING
+
+

NOTIFYING

+object NOTIFYING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/call.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/call.html new file mode 100644 index 0000000000..6b0af9c8e3 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/call.html @@ -0,0 +1,17 @@ + + +UpdateBusinessDayProtocol.Broadcast.call - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / call
+
+

call

+ +fun call(): Boolean
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/date.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/date.html new file mode 100644 index 0000000000..a8ac71f930 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/date.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Broadcast.date - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / date
+
+

date

+ +val date: LocalDate
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/index.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/index.html new file mode 100644 index 0000000000..148e961f83 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/index.html @@ -0,0 +1,144 @@ + + +UpdateBusinessDayProtocol.Broadcast - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast
+
+

Broadcast

+class Broadcast : ProtocolLogic<Boolean>
+
+
+

Types

+ + + + + + + + + + + +
+LOCAL +object LOCAL : Step
+NOTIFYING +object NOTIFYING : Step
+

Constructors

+ + + + + + + +
+<init> +Broadcast(date: LocalDate, progressTracker: ProgressTracker = Broadcast.tracker())
+

Properties

+ + + + + + + + + + + +
+date +val date: LocalDate
+progressTracker +val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +fun call(): Boolean

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/progress-tracker.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/progress-tracker.html new file mode 100644 index 0000000000..86943f923d --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/progress-tracker.html @@ -0,0 +1,24 @@ + + +UpdateBusinessDayProtocol.Broadcast.progressTracker - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / progressTracker
+
+

progressTracker

+ +val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/tracker.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/tracker.html new file mode 100644 index 0000000000..741498b02b --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-broadcast/tracker.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Broadcast.tracker - + + + +demos.protocols / UpdateBusinessDayProtocol / Broadcast / tracker
+
+

tracker

+ +fun tracker(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/index.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/index.html new file mode 100644 index 0000000000..4591399b9b --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/index.html @@ -0,0 +1,25 @@ + + +UpdateBusinessDayProtocol.Handler - + + + +demos.protocols / UpdateBusinessDayProtocol / Handler
+
+

Handler

+object Handler
+
+
+

Functions

+ + + + + + + +
+register +fun register(node: Node): Unit
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/register.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/register.html new file mode 100644 index 0000000000..bc1bf6e53f --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-handler/register.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Handler.register - + + + +demos.protocols / UpdateBusinessDayProtocol / Handler / register
+
+

register

+ +fun register(node: Node): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..2bd17901f2 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.TOPIC - + + + +demos.protocols / UpdateBusinessDayProtocol / TOPIC
+
+

TOPIC

+ +val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html new file mode 100644 index 0000000000..ab565e3878 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/-init-.html @@ -0,0 +1,14 @@ + + +UpdateBusinessDayProtocol.UpdateBusinessDayMessage.<init> - + + + +demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / <init>
+
+

<init>

+UpdateBusinessDayMessage(date: LocalDate, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/date.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/date.html new file mode 100644 index 0000000000..b424d58f9e --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/date.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.UpdateBusinessDayMessage.date - + + + +demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / date
+
+

date

+ +val date: LocalDate
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html new file mode 100644 index 0000000000..d0fbec7aa9 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/index.html @@ -0,0 +1,42 @@ + + +UpdateBusinessDayProtocol.UpdateBusinessDayMessage - + + + +demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage
+
+

UpdateBusinessDayMessage

+data class UpdateBusinessDayMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +UpdateBusinessDayMessage(date: LocalDate, sessionID: Long)
+

Properties

+ + + + + + + + + + + +
+date +val date: LocalDate
+sessionID +val sessionID: Long
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/session-i-d.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/session-i-d.html new file mode 100644 index 0000000000..3d680db502 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-update-business-day-message/session-i-d.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.UpdateBusinessDayMessage.sessionID - + + + +demos.protocols / UpdateBusinessDayProtocol / UpdateBusinessDayMessage / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-e-t-c-h-i-n-g.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-e-t-c-h-i-n-g.html new file mode 100644 index 0000000000..0fcab27503 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-e-t-c-h-i-n-g.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Updater.FETCHING - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / FETCHING
+
+

FETCHING

+object FETCHING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-i-x-i-n-g.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-i-x-i-n-g.html new file mode 100644 index 0000000000..948e9ded7c --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-f-i-x-i-n-g.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Updater.FIXING - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / FIXING
+
+

FIXING

+object FIXING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-d-e-a-l-s.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-d-e-a-l-s.html new file mode 100644 index 0000000000..7ac5eb568e --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-d-e-a-l-s.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Updater.ITERATING_DEALS - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / ITERATING_DEALS
+
+

ITERATING_DEALS

+object ITERATING_DEALS : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-f-i-x-i-n-g-s.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-f-i-x-i-n-g-s.html new file mode 100644 index 0000000000..1dda836056 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-i-t-e-r-a-t-i-n-g_-f-i-x-i-n-g-s.html @@ -0,0 +1,31 @@ + + +UpdateBusinessDayProtocol.Updater.ITERATING_FIXINGS - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / ITERATING_FIXINGS
+
+

ITERATING_FIXINGS

+object ITERATING_FIXINGS : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-init-.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-init-.html new file mode 100644 index 0000000000..3b89e2d3c1 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/-init-.html @@ -0,0 +1,14 @@ + + +UpdateBusinessDayProtocol.Updater.<init> - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / <init>
+
+

<init>

+Updater(date: LocalDate, sessionID: Long, progressTracker: ProgressTracker = Updater.tracker())
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/call.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/call.html new file mode 100644 index 0000000000..352117fc72 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/call.html @@ -0,0 +1,17 @@ + + +UpdateBusinessDayProtocol.Updater.call - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / call
+
+

call

+ +fun call(): Boolean
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/date.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/date.html new file mode 100644 index 0000000000..2ac95e5109 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/date.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.date - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / date
+
+

date

+ +val date: LocalDate
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/index.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/index.html new file mode 100644 index 0000000000..ce654c8dc8 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/index.html @@ -0,0 +1,180 @@ + + +UpdateBusinessDayProtocol.Updater - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater
+
+

Updater

+class Updater : ProtocolLogic<Boolean>
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+FETCHING +object FETCHING : Step
+FIXING +object FIXING : Step
+ITERATING_DEALS +object ITERATING_DEALS : Step
+ITERATING_FIXINGS +object ITERATING_FIXINGS : Step
+

Constructors

+ + + + + + + +
+<init> +Updater(date: LocalDate, sessionID: Long, progressTracker: ProgressTracker = Updater.tracker())
+

Properties

+ + + + + + + + + + + + + + + +
+date +val date: LocalDate
+progressTracker +val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+sessionID +val sessionID: Long
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+call +fun call(): Boolean

This is where you fill out your business logic.

+
+otherParty +fun otherParty(deal: DealState): NodeInfo
+processDeal +fun processDeal(party: NodeInfo, deal: StateAndRef<DealState>, date: LocalDate, sessionID: Long): Unit
+processInterestRateSwap +fun processInterestRateSwap(party: NodeInfo, deal: StateAndRef<State>, date: LocalDate, sessionID: Long): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): ProgressTracker
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/other-party.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/other-party.html new file mode 100644 index 0000000000..231562f891 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/other-party.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.otherParty - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / otherParty
+
+

otherParty

+ +fun otherParty(deal: DealState): NodeInfo
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-deal.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-deal.html new file mode 100644 index 0000000000..52312c8584 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-deal.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.processDeal - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / processDeal
+
+

processDeal

+ +fun processDeal(party: NodeInfo, deal: StateAndRef<DealState>, date: LocalDate, sessionID: Long): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-interest-rate-swap.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-interest-rate-swap.html new file mode 100644 index 0000000000..f225914a97 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/process-interest-rate-swap.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.processInterestRateSwap - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / processInterestRateSwap
+
+

processInterestRateSwap

+ +fun processInterestRateSwap(party: NodeInfo, deal: StateAndRef<State>, date: LocalDate, sessionID: Long): Unit
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/progress-tracker.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/progress-tracker.html new file mode 100644 index 0000000000..29d37af330 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/progress-tracker.html @@ -0,0 +1,24 @@ + + +UpdateBusinessDayProtocol.Updater.progressTracker - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / progressTracker
+
+

progressTracker

+ +val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/session-i-d.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/session-i-d.html new file mode 100644 index 0000000000..46ed491907 --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/session-i-d.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.sessionID - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/tracker.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/tracker.html new file mode 100644 index 0000000000..1e88c7558d --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/-updater/tracker.html @@ -0,0 +1,15 @@ + + +UpdateBusinessDayProtocol.Updater.tracker - + + + +demos.protocols / UpdateBusinessDayProtocol / Updater / tracker
+
+

tracker

+ +fun tracker(): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/demos.protocols/-update-business-day-protocol/index.html b/docs/build/html/api/demos.protocols/-update-business-day-protocol/index.html new file mode 100644 index 0000000000..9b24ee8c5a --- /dev/null +++ b/docs/build/html/api/demos.protocols/-update-business-day-protocol/index.html @@ -0,0 +1,56 @@ + + +UpdateBusinessDayProtocol - + + + +demos.protocols / UpdateBusinessDayProtocol
+
+

UpdateBusinessDayProtocol

+object UpdateBusinessDayProtocol
+

This is a very temporary, demo-oriented way of initiating processing of temporal events and is not +intended as the way things will necessarily be done longer term

+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Broadcast +class Broadcast : ProtocolLogic<Boolean>
+Handler +object Handler
+UpdateBusinessDayMessage +data class UpdateBusinessDayMessage
+Updater +class Updater : ProtocolLogic<Boolean>
+

Properties

+ + + + + + + +
+TOPIC +val TOPIC: String
+ + diff --git a/docs/build/html/api/demos.protocols/index.html b/docs/build/html/api/demos.protocols/index.html new file mode 100644 index 0000000000..7284a8a096 --- /dev/null +++ b/docs/build/html/api/demos.protocols/index.html @@ -0,0 +1,38 @@ + + +demos.protocols - + + + +demos.protocols
+
+

Package demos.protocols

+

Types

+ + + + + + + + + + + + + + + +
+AutoOfferProtocol +object AutoOfferProtocol

This whole class is really part of a demo just to initiate the agreement of a deal with a simple +API call from a single party without bi-directional access to the database of offers etc.

+
+ExitServerProtocol +object ExitServerProtocol
+UpdateBusinessDayProtocol +object UpdateBusinessDayProtocol

This is a very temporary, demo-oriented way of initiating processing of temporal events and is not +intended as the way things will necessarily be done longer term

+
+ + diff --git a/docs/build/html/api/demos/-demo-clock/-init-.html b/docs/build/html/api/demos/-demo-clock/-init-.html new file mode 100644 index 0000000000..afb0011606 --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/-init-.html @@ -0,0 +1,15 @@ + + +DemoClock.<init> - + + + +demos / DemoClock / <init>
+
+

<init>

+DemoClock(delegateClock: Clock = Clock.systemUTC())
+

A Clock that can have the date advanced for use in demos

+
+
+ + diff --git a/docs/build/html/api/demos/-demo-clock/get-zone.html b/docs/build/html/api/demos/-demo-clock/get-zone.html new file mode 100644 index 0000000000..60648c52c9 --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/get-zone.html @@ -0,0 +1,15 @@ + + +DemoClock.getZone - + + + +demos / DemoClock / getZone
+
+

getZone

+ +fun getZone(): ZoneId
+
+
+ + diff --git a/docs/build/html/api/demos/-demo-clock/index.html b/docs/build/html/api/demos/-demo-clock/index.html new file mode 100644 index 0000000000..90bf7f37b7 --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/index.html @@ -0,0 +1,56 @@ + + +DemoClock - + + + +demos / DemoClock
+
+

DemoClock

+class DemoClock : Clock
+

A Clock that can have the date advanced for use in demos

+
+
+

Constructors

+ + + + + + + +
+<init> +DemoClock(delegateClock: Clock = Clock.systemUTC())

A Clock that can have the date advanced for use in demos

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+getZone +fun getZone(): ZoneId
+instant +fun instant(): Instant
+updateDate +fun updateDate(date: LocalDate): Boolean
+withZone +fun withZone(zone: ZoneId): Clock
+ + diff --git a/docs/build/html/api/demos/-demo-clock/instant.html b/docs/build/html/api/demos/-demo-clock/instant.html new file mode 100644 index 0000000000..12066596a5 --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/instant.html @@ -0,0 +1,15 @@ + + +DemoClock.instant - + + + +demos / DemoClock / instant
+
+

instant

+ +fun instant(): Instant
+
+
+ + diff --git a/docs/build/html/api/demos/-demo-clock/update-date.html b/docs/build/html/api/demos/-demo-clock/update-date.html new file mode 100644 index 0000000000..434f3d3390 --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/update-date.html @@ -0,0 +1,15 @@ + + +DemoClock.updateDate - + + + +demos / DemoClock / updateDate
+
+

updateDate

+ +fun updateDate(date: LocalDate): Boolean
+
+
+ + diff --git a/docs/build/html/api/demos/-demo-clock/with-zone.html b/docs/build/html/api/demos/-demo-clock/with-zone.html new file mode 100644 index 0000000000..ef56df02dc --- /dev/null +++ b/docs/build/html/api/demos/-demo-clock/with-zone.html @@ -0,0 +1,15 @@ + + +DemoClock.withZone - + + + +demos / DemoClock / withZone
+
+

withZone

+ +fun withZone(zone: ZoneId): Clock
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/-init-.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-init-.html new file mode 100644 index 0000000000..772d3ecd8c --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-init-.html @@ -0,0 +1,14 @@ + + +TraderDemoProtocolBuyer.<init> - + + + +demos / TraderDemoProtocolBuyer / <init>
+
+

<init>

+TraderDemoProtocolBuyer(attachmentsPath: Path)
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/-s-t-a-r-t-i-n-g_-b-u-y.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-s-t-a-r-t-i-n-g_-b-u-y.html new file mode 100644 index 0000000000..158df5d18f --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-s-t-a-r-t-i-n-g_-b-u-y.html @@ -0,0 +1,31 @@ + + +TraderDemoProtocolBuyer.STARTING_BUY - + + + +demos / TraderDemoProtocolBuyer / STARTING_BUY
+
+

STARTING_BUY

+object STARTING_BUY : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/-w-a-i-t-i-n-g_-f-o-r_-s-e-l-l-e-r_-t-o_-c-o-n-n-e-c-t.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-w-a-i-t-i-n-g_-f-o-r_-s-e-l-l-e-r_-t-o_-c-o-n-n-e-c-t.html new file mode 100644 index 0000000000..c33c6afc07 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/-w-a-i-t-i-n-g_-f-o-r_-s-e-l-l-e-r_-t-o_-c-o-n-n-e-c-t.html @@ -0,0 +1,31 @@ + + +TraderDemoProtocolBuyer.WAITING_FOR_SELLER_TO_CONNECT - + + + +demos / TraderDemoProtocolBuyer / WAITING_FOR_SELLER_TO_CONNECT
+
+

WAITING_FOR_SELLER_TO_CONNECT

+object WAITING_FOR_SELLER_TO_CONNECT : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/call.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/call.html new file mode 100644 index 0000000000..cdd0416a2f --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/call.html @@ -0,0 +1,17 @@ + + +TraderDemoProtocolBuyer.call - + + + +demos / TraderDemoProtocolBuyer / call
+
+

call

+ +fun call(): Unit
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/index.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/index.html new file mode 100644 index 0000000000..c362be7371 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/index.html @@ -0,0 +1,127 @@ + + +TraderDemoProtocolBuyer - + + + +demos / TraderDemoProtocolBuyer
+
+

TraderDemoProtocolBuyer

+class TraderDemoProtocolBuyer : ProtocolLogic<Unit>
+
+
+

Types

+ + + + + + + + + + + +
+STARTING_BUY +object STARTING_BUY : Step
+WAITING_FOR_SELLER_TO_CONNECT +object WAITING_FOR_SELLER_TO_CONNECT : Step
+

Constructors

+ + + + + + + +
+<init> +TraderDemoProtocolBuyer(attachmentsPath: Path)
+

Properties

+ + + + + + + +
+progressTracker +val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +fun call(): Unit

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-buyer/progress-tracker.html b/docs/build/html/api/demos/-trader-demo-protocol-buyer/progress-tracker.html new file mode 100644 index 0000000000..95ee54060a --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-buyer/progress-tracker.html @@ -0,0 +1,24 @@ + + +TraderDemoProtocolBuyer.progressTracker - + + + +demos / TraderDemoProtocolBuyer / progressTracker
+
+

progressTracker

+ +val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/-a-n-n-o-u-n-c-i-n-g.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/-a-n-n-o-u-n-c-i-n-g.html new file mode 100644 index 0000000000..779711d99c --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/-a-n-n-o-u-n-c-i-n-g.html @@ -0,0 +1,31 @@ + + +TraderDemoProtocolSeller.ANNOUNCING - + + + +demos / TraderDemoProtocolSeller / ANNOUNCING
+
+

ANNOUNCING

+object ANNOUNCING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/-init-.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/-init-.html new file mode 100644 index 0000000000..b11cc44555 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/-init-.html @@ -0,0 +1,14 @@ + + +TraderDemoProtocolSeller.<init> - + + + +demos / TraderDemoProtocolSeller / <init>
+
+

<init>

+TraderDemoProtocolSeller(myAddress: <ERROR CLASS>, otherSide: SingleMessageRecipient, progressTracker: ProgressTracker = TraderDemoProtocolSeller.tracker())
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html new file mode 100644 index 0000000000..f2c175286b --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/-p-r-o-s-p-e-c-t-u-s_-h-a-s-h.html @@ -0,0 +1,15 @@ + + +TraderDemoProtocolSeller.PROSPECTUS_HASH - + + + +demos / TraderDemoProtocolSeller / PROSPECTUS_HASH
+
+

PROSPECTUS_HASH

+ +val PROSPECTUS_HASH: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/-s-e-l-f_-i-s-s-u-i-n-g.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/-s-e-l-f_-i-s-s-u-i-n-g.html new file mode 100644 index 0000000000..359291b181 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/-s-e-l-f_-i-s-s-u-i-n-g.html @@ -0,0 +1,31 @@ + + +TraderDemoProtocolSeller.SELF_ISSUING - + + + +demos / TraderDemoProtocolSeller / SELF_ISSUING
+
+

SELF_ISSUING

+object SELF_ISSUING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/-t-r-a-d-i-n-g.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/-t-r-a-d-i-n-g.html new file mode 100644 index 0000000000..13bfb6b840 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/-t-r-a-d-i-n-g.html @@ -0,0 +1,31 @@ + + +TraderDemoProtocolSeller.TRADING - + + + +demos / TraderDemoProtocolSeller / TRADING
+
+

TRADING

+object TRADING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/call.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/call.html new file mode 100644 index 0000000000..5aa81784f4 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/call.html @@ -0,0 +1,17 @@ + + +TraderDemoProtocolSeller.call - + + + +demos / TraderDemoProtocolSeller / call
+
+

call

+ +fun call(): Unit
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/index.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/index.html new file mode 100644 index 0000000000..0e191d15a6 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/index.html @@ -0,0 +1,173 @@ + + +TraderDemoProtocolSeller - + + + +demos / TraderDemoProtocolSeller
+
+

TraderDemoProtocolSeller

+class TraderDemoProtocolSeller : ProtocolLogic<Unit>
+
+
+

Types

+ + + + + + + + + + + + + + + +
+ANNOUNCING +object ANNOUNCING : Step
+SELF_ISSUING +object SELF_ISSUING : Step
+TRADING +object TRADING : Step
+

Constructors

+ + + + + + + +
+<init> +TraderDemoProtocolSeller(myAddress: <ERROR CLASS>, otherSide: SingleMessageRecipient, progressTracker: ProgressTracker = TraderDemoProtocolSeller.tracker())
+

Properties

+ + + + + + + + + + + + + + + +
+myAddress +val myAddress: <ERROR CLASS>
+otherSide +val otherSide: SingleMessageRecipient
+progressTracker +val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + +
+call +fun call(): Unit

This is where you fill out your business logic.

+
+selfIssueSomeCommercialPaper +fun selfIssueSomeCommercialPaper(ownedBy: PublicKey, tsa: NodeInfo): StateAndRef<State>
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Properties

+ + + + + + + +
+PROSPECTUS_HASH +val PROSPECTUS_HASH: <ERROR CLASS>
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): <ERROR CLASS>
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/my-address.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/my-address.html new file mode 100644 index 0000000000..132958967a --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/my-address.html @@ -0,0 +1,15 @@ + + +TraderDemoProtocolSeller.myAddress - + + + +demos / TraderDemoProtocolSeller / myAddress
+
+

myAddress

+ +val myAddress: <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/other-side.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/other-side.html new file mode 100644 index 0000000000..e2a4c3137f --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/other-side.html @@ -0,0 +1,15 @@ + + +TraderDemoProtocolSeller.otherSide - + + + +demos / TraderDemoProtocolSeller / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/progress-tracker.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/progress-tracker.html new file mode 100644 index 0000000000..33219e23f5 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/progress-tracker.html @@ -0,0 +1,24 @@ + + +TraderDemoProtocolSeller.progressTracker - + + + +demos / TraderDemoProtocolSeller / progressTracker
+
+

progressTracker

+ +val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/self-issue-some-commercial-paper.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/self-issue-some-commercial-paper.html new file mode 100644 index 0000000000..161b269c46 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/self-issue-some-commercial-paper.html @@ -0,0 +1,15 @@ + + +TraderDemoProtocolSeller.selfIssueSomeCommercialPaper - + + + +demos / TraderDemoProtocolSeller / selfIssueSomeCommercialPaper
+
+

selfIssueSomeCommercialPaper

+ +fun selfIssueSomeCommercialPaper(ownedBy: PublicKey, tsa: NodeInfo): StateAndRef<State>
+
+
+ + diff --git a/docs/build/html/api/demos/-trader-demo-protocol-seller/tracker.html b/docs/build/html/api/demos/-trader-demo-protocol-seller/tracker.html new file mode 100644 index 0000000000..7d33ea8dc5 --- /dev/null +++ b/docs/build/html/api/demos/-trader-demo-protocol-seller/tracker.html @@ -0,0 +1,15 @@ + + +TraderDemoProtocolSeller.tracker - + + + +demos / TraderDemoProtocolSeller / tracker
+
+

tracker

+ +fun tracker(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/demos/index.html b/docs/build/html/api/demos/index.html new file mode 100644 index 0000000000..e49b530db1 --- /dev/null +++ b/docs/build/html/api/demos/index.html @@ -0,0 +1,55 @@ + + +demos - + + + +demos
+
+

Package demos

+

Types

+ + + + + + + + + + + + + + + +
+DemoClock +class DemoClock : Clock

A Clock that can have the date advanced for use in demos

+
+TraderDemoProtocolBuyer +class TraderDemoProtocolBuyer : ProtocolLogic<Unit>
+TraderDemoProtocolSeller +class TraderDemoProtocolSeller : ProtocolLogic<Unit>
+

Functions

+ + + + + + + + + + + +
+main +fun main(args: Array<String>): Unit
+fun main(args: Array<String>): Unitfun main(args: Array<String>): Unit

Creates a dummy transaction that requires a rate fix within a certain range, and gets it signed by an oracle +service.

+
+nodeInfo +fun nodeInfo(hostAndPortString: String, identityFile: String, advertisedServices: Set<ServiceType> = emptySet()): NodeInfo
+ + diff --git a/docs/build/html/api/demos/main.html b/docs/build/html/api/demos/main.html new file mode 100644 index 0000000000..300a6c2cd3 --- /dev/null +++ b/docs/build/html/api/demos/main.html @@ -0,0 +1,23 @@ + + +main - + + + +demos / main
+
+

main

+ +fun main(args: Array<String>): Unit
+ +fun main(args: Array<String>): Unit
+
+
+ +fun main(args: Array<String>): Unit
+

Creates a dummy transaction that requires a rate fix within a certain range, and gets it signed by an oracle +service.

+
+
+ + diff --git a/docs/build/html/api/demos/node-info.html b/docs/build/html/api/demos/node-info.html new file mode 100644 index 0000000000..84c59c42d0 --- /dev/null +++ b/docs/build/html/api/demos/node-info.html @@ -0,0 +1,15 @@ + + +nodeInfo - + + + +demos / nodeInfo
+
+

nodeInfo

+ +fun nodeInfo(hostAndPortString: String, identityFile: String, advertisedServices: Set<ServiceType> = emptySet()): NodeInfo
+
+
+ + diff --git a/docs/build/html/api/index-outline.html b/docs/build/html/api/index-outline.html new file mode 100644 index 0000000000..7b9b811bc3 --- /dev/null +++ b/docs/build/html/api/index-outline.html @@ -0,0 +1,10901 @@ + + +Module Contents + + + +
+ + + diff --git a/docs/build/html/api/index.html b/docs/build/html/api/index.html new file mode 100644 index 0000000000..a8472fdb06 --- /dev/null +++ b/docs/build/html/api/index.html @@ -0,0 +1,118 @@ + + + + + + +
+
+

Packages

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+api +
+contracts +
+core +
+core.crypto +
+core.math +
+core.messaging +
+core.node +
+core.node.services +
+core.node.servlets +
+core.node.subsystems +
+core.protocols +
+core.serialization +
+core.testing +
+core.utilities +
+demos +
+demos.protocols +
+protocols +
+

Index

+All Types + diff --git a/docs/build/html/api/protocols/-abstract-request-message/-init-.html b/docs/build/html/api/protocols/-abstract-request-message/-init-.html new file mode 100644 index 0000000000..d40df32592 --- /dev/null +++ b/docs/build/html/api/protocols/-abstract-request-message/-init-.html @@ -0,0 +1,16 @@ + + +AbstractRequestMessage.<init> - + + + +protocols / AbstractRequestMessage / <init>
+
+

<init>

+AbstractRequestMessage(replyTo: MessageRecipients, sessionID: Long?)
+

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

+
+
+ + diff --git a/docs/build/html/api/protocols/-abstract-request-message/index.html b/docs/build/html/api/protocols/-abstract-request-message/index.html new file mode 100644 index 0000000000..2a135f43a9 --- /dev/null +++ b/docs/build/html/api/protocols/-abstract-request-message/index.html @@ -0,0 +1,99 @@ + + +AbstractRequestMessage - + + + +protocols / AbstractRequestMessage
+
+

AbstractRequestMessage

+abstract class AbstractRequestMessage
+

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

+
+
+

Constructors

+ + + + + + + +
+<init> +AbstractRequestMessage(replyTo: MessageRecipients, sessionID: Long?)

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

+
+

Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+

Inheritors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+FetchMapRequest +class FetchMapRequest : AbstractRequestMessage
+QueryIdentityRequest +class QueryIdentityRequest : AbstractRequestMessage
+QueryRequest +class QueryRequest : AbstractRequestMessage
+RegistrationRequest +class RegistrationRequest : AbstractRequestMessage
+Request +class Request : AbstractRequestMessage
+Request +class Request : AbstractRequestMessage
+SignRequest +class SignRequest : AbstractRequestMessage
+SubscribeRequest +class SubscribeRequest : AbstractRequestMessage
+ + diff --git a/docs/build/html/api/protocols/-abstract-request-message/reply-to.html b/docs/build/html/api/protocols/-abstract-request-message/reply-to.html new file mode 100644 index 0000000000..c7c5fdea23 --- /dev/null +++ b/docs/build/html/api/protocols/-abstract-request-message/reply-to.html @@ -0,0 +1,15 @@ + + +AbstractRequestMessage.replyTo - + + + +protocols / AbstractRequestMessage / replyTo
+
+

replyTo

+ +val replyTo: MessageRecipients
+
+
+ + diff --git a/docs/build/html/api/protocols/-abstract-request-message/session-i-d.html b/docs/build/html/api/protocols/-abstract-request-message/session-i-d.html new file mode 100644 index 0000000000..a5ab1f537e --- /dev/null +++ b/docs/build/html/api/protocols/-abstract-request-message/session-i-d.html @@ -0,0 +1,15 @@ + + +AbstractRequestMessage.sessionID - + + + +protocols / AbstractRequestMessage / sessionID
+
+

sessionID

+ +val sessionID: Long?
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/-init-.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/-init-.html new file mode 100644 index 0000000000..d0f65e1d5c --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/-init-.html @@ -0,0 +1,16 @@ + + +FetchAttachmentsProtocol.<init> - + + + +protocols / FetchAttachmentsProtocol / <init>
+
+

<init>

+FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)
+

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/-t-o-p-i-c.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..2430594127 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +FetchAttachmentsProtocol.TOPIC - + + + +protocols / FetchAttachmentsProtocol / TOPIC
+
+

TOPIC

+ +const val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/convert.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/convert.html new file mode 100644 index 0000000000..200385ea9f --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/convert.html @@ -0,0 +1,15 @@ + + +FetchAttachmentsProtocol.convert - + + + +protocols / FetchAttachmentsProtocol / convert
+
+

convert

+ +protected fun convert(wire: ByteArray): Attachment
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/index.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/index.html new file mode 100644 index 0000000000..2d1ab582e0 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/index.html @@ -0,0 +1,103 @@ + + +FetchAttachmentsProtocol - + + + +protocols / FetchAttachmentsProtocol
+
+

FetchAttachmentsProtocol

+class FetchAttachmentsProtocol : FetchDataProtocol<Attachment, ByteArray>
+

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+
+

Constructors

+ + + + + + + +
+<init> +FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+

Properties

+ + + + + + + +
+queryTopic +val queryTopic: String
+

Inherited Properties

+ + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+requests +val requests: Set<SecureHash>
+

Functions

+ + + + + + + + + + + + + + + +
+convert +fun convert(wire: ByteArray): Attachment
+load +fun load(txid: SecureHash): Attachment?
+maybeWriteToDisk +fun maybeWriteToDisk(downloaded: List<Attachment>): Unit
+

Inherited Functions

+ + + + + + + +
+call +open fun call(): Result<T>

This is where you fill out your business logic.

+
+

Companion Object Properties

+ + + + + + + +
+TOPIC +const val TOPIC: String
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/load.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/load.html new file mode 100644 index 0000000000..d02afa90ab --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/load.html @@ -0,0 +1,16 @@ + + +FetchAttachmentsProtocol.load - + + + +protocols / FetchAttachmentsProtocol / load
+
+

load

+ +protected fun load(txid: SecureHash): Attachment?
+Overrides FetchDataProtocol.load
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/maybe-write-to-disk.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/maybe-write-to-disk.html new file mode 100644 index 0000000000..487894c398 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/maybe-write-to-disk.html @@ -0,0 +1,15 @@ + + +FetchAttachmentsProtocol.maybeWriteToDisk - + + + +protocols / FetchAttachmentsProtocol / maybeWriteToDisk
+
+

maybeWriteToDisk

+ +protected fun maybeWriteToDisk(downloaded: List<Attachment>): Unit
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-attachments-protocol/query-topic.html b/docs/build/html/api/protocols/-fetch-attachments-protocol/query-topic.html new file mode 100644 index 0000000000..77e84f36be --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-attachments-protocol/query-topic.html @@ -0,0 +1,16 @@ + + +FetchAttachmentsProtocol.queryTopic - + + + +protocols / FetchAttachmentsProtocol / queryTopic
+
+

queryTopic

+ +protected val queryTopic: String
+Overrides FetchDataProtocol.queryTopic
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/-init-.html b/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/-init-.html new file mode 100644 index 0000000000..eeaa4e4222 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/-init-.html @@ -0,0 +1,14 @@ + + +FetchDataProtocol.BadAnswer.<init> - + + + +protocols / FetchDataProtocol / BadAnswer / <init>
+
+

<init>

+BadAnswer()
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/index.html b/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/index.html new file mode 100644 index 0000000000..f646e1e406 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-bad-answer/index.html @@ -0,0 +1,42 @@ + + +FetchDataProtocol.BadAnswer - + + + +protocols / FetchDataProtocol / BadAnswer
+
+

BadAnswer

+open class BadAnswer : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +BadAnswer()
+

Inheritors

+ + + + + + + + + + + +
+DownloadedVsRequestedDataMismatch +class DownloadedVsRequestedDataMismatch : BadAnswer
+HashNotFound +class HashNotFound : BadAnswer
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/-init-.html b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/-init-.html new file mode 100644 index 0000000000..45a95f8d11 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/-init-.html @@ -0,0 +1,14 @@ + + +FetchDataProtocol.DownloadedVsRequestedDataMismatch.<init> - + + + +protocols / FetchDataProtocol / DownloadedVsRequestedDataMismatch / <init>
+
+

<init>

+DownloadedVsRequestedDataMismatch(requested: SecureHash, got: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/got.html b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/got.html new file mode 100644 index 0000000000..3953e6af24 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/got.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.DownloadedVsRequestedDataMismatch.got - + + + +protocols / FetchDataProtocol / DownloadedVsRequestedDataMismatch / got
+
+

got

+ +val got: SecureHash
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/index.html b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/index.html new file mode 100644 index 0000000000..49ee804e6d --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/index.html @@ -0,0 +1,42 @@ + + +FetchDataProtocol.DownloadedVsRequestedDataMismatch - + + + +protocols / FetchDataProtocol / DownloadedVsRequestedDataMismatch
+
+

DownloadedVsRequestedDataMismatch

+class DownloadedVsRequestedDataMismatch : BadAnswer
+
+
+

Constructors

+ + + + + + + +
+<init> +DownloadedVsRequestedDataMismatch(requested: SecureHash, got: SecureHash)
+

Properties

+ + + + + + + + + + + +
+got +val got: SecureHash
+requested +val requested: SecureHash
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/requested.html b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/requested.html new file mode 100644 index 0000000000..9d4026cbea --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-downloaded-vs-requested-data-mismatch/requested.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.DownloadedVsRequestedDataMismatch.requested - + + + +protocols / FetchDataProtocol / DownloadedVsRequestedDataMismatch / requested
+
+

requested

+ +val requested: SecureHash
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/-init-.html b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/-init-.html new file mode 100644 index 0000000000..ffa5d6b549 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/-init-.html @@ -0,0 +1,14 @@ + + +FetchDataProtocol.HashNotFound.<init> - + + + +protocols / FetchDataProtocol / HashNotFound / <init>
+
+

<init>

+HashNotFound(requested: SecureHash)
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/index.html b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/index.html new file mode 100644 index 0000000000..324aed6d5c --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/index.html @@ -0,0 +1,36 @@ + + +FetchDataProtocol.HashNotFound - + + + +protocols / FetchDataProtocol / HashNotFound
+
+

HashNotFound

+class HashNotFound : BadAnswer
+
+
+

Constructors

+ + + + + + + +
+<init> +HashNotFound(requested: SecureHash)
+

Properties

+ + + + + + + +
+requested +val requested: SecureHash
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/requested.html b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/requested.html new file mode 100644 index 0000000000..cd2326c28b --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-hash-not-found/requested.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.HashNotFound.requested - + + + +protocols / FetchDataProtocol / HashNotFound / requested
+
+

requested

+ +val requested: SecureHash
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-init-.html b/docs/build/html/api/protocols/-fetch-data-protocol/-init-.html new file mode 100644 index 0000000000..0578602535 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-init-.html @@ -0,0 +1,30 @@ + + +FetchDataProtocol.<init> - + + + +protocols / FetchDataProtocol / <init>
+
+

<init>

+FetchDataProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)
+

An abstract protocol for fetching typed data from a remote peer.

+

Given a set of hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+

A malicious response in which the data provided by the remote peer does not hash to the requested hash results in +DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a +HashNotFound exception being thrown.

+

By default this class does not insert data into any local database, if you want to do that after missing items were +fetched then override maybeWriteToDisk. You must override load and queryTopic. If the wire type is not the +same as the ultimate type, you must also override convert.

+
+
+

Parameters

+ +T - The ultimate type of the data being fetched.
+
+ +W - The wire type of the data being fetched, for when it isnt the same as the ultimate type.
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-result/-init-.html b/docs/build/html/api/protocols/-fetch-data-protocol/-result/-init-.html new file mode 100644 index 0000000000..9e0db69a57 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-result/-init-.html @@ -0,0 +1,14 @@ + + +FetchDataProtocol.Result.<init> - + + + +protocols / FetchDataProtocol / Result / <init>
+
+

<init>

+Result(fromDisk: List<T>, downloaded: List<T>)
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-result/downloaded.html b/docs/build/html/api/protocols/-fetch-data-protocol/-result/downloaded.html new file mode 100644 index 0000000000..e7e6bd35bf --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-result/downloaded.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.Result.downloaded - + + + +protocols / FetchDataProtocol / Result / downloaded
+
+

downloaded

+ +val downloaded: List<T>
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-result/from-disk.html b/docs/build/html/api/protocols/-fetch-data-protocol/-result/from-disk.html new file mode 100644 index 0000000000..cca7df0e2e --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-result/from-disk.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.Result.fromDisk - + + + +protocols / FetchDataProtocol / Result / fromDisk
+
+

fromDisk

+ +val fromDisk: List<T>
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/-result/index.html b/docs/build/html/api/protocols/-fetch-data-protocol/-result/index.html new file mode 100644 index 0000000000..7e4193f217 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/-result/index.html @@ -0,0 +1,42 @@ + + +FetchDataProtocol.Result - + + + +protocols / FetchDataProtocol / Result
+
+

Result

+data class Result<T : NamedByHash>
+
+
+

Constructors

+ + + + + + + +
+<init> +Result(fromDisk: List<T>, downloaded: List<T>)
+

Properties

+ + + + + + + + + + + +
+downloaded +val downloaded: List<T>
+fromDisk +val fromDisk: List<T>
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/call.html b/docs/build/html/api/protocols/-fetch-data-protocol/call.html new file mode 100644 index 0000000000..528e5d4981 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/call.html @@ -0,0 +1,17 @@ + + +FetchDataProtocol.call - + + + +protocols / FetchDataProtocol / call
+
+

call

+ +open fun call(): Result<T>
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/convert.html b/docs/build/html/api/protocols/-fetch-data-protocol/convert.html new file mode 100644 index 0000000000..2189863bd3 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/convert.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.convert - + + + +protocols / FetchDataProtocol / convert
+
+

convert

+ +protected open fun convert(wire: W): T
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/index.html b/docs/build/html/api/protocols/-fetch-data-protocol/index.html new file mode 100644 index 0000000000..5b3995e19b --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/index.html @@ -0,0 +1,217 @@ + + +FetchDataProtocol - + + + +protocols / FetchDataProtocol
+
+

FetchDataProtocol

+abstract class FetchDataProtocol<T : NamedByHash, W : Any> : ProtocolLogic<Result<T>>
+

An abstract protocol for fetching typed data from a remote peer.

+

Given a set of hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+

A malicious response in which the data provided by the remote peer does not hash to the requested hash results in +DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a +HashNotFound exception being thrown.

+

By default this class does not insert data into any local database, if you want to do that after missing items were +fetched then override maybeWriteToDisk. You must override load and queryTopic. If the wire type is not the +same as the ultimate type, you must also override convert.

+
+
+

Parameters

+ +T - The ultimate type of the data being fetched.
+
+ +W - The wire type of the data being fetched, for when it isnt the same as the ultimate type.
+
+
+

Types

+ + + + + + + +
+Result +data class Result<T : NamedByHash>
+

Exceptions

+ + + + + + + + + + + + + + + +
+BadAnswer +open class BadAnswer : Exception
+DownloadedVsRequestedDataMismatch +class DownloadedVsRequestedDataMismatch : BadAnswer
+HashNotFound +class HashNotFound : BadAnswer
+

Constructors

+ + + + + + + +
+<init> +FetchDataProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)

An abstract protocol for fetching typed data from a remote peer.

+
+

Properties

+ + + + + + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+queryTopic +abstract val queryTopic: String
+requests +val requests: Set<SecureHash>
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+progressTracker +open val progressTracker: ProgressTracker?

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+call +open fun call(): Result<T>

This is where you fill out your business logic.

+
+convert +open fun convert(wire: W): T
+load +abstract fun load(txid: SecureHash): T?
+maybeWriteToDisk +open fun maybeWriteToDisk(downloaded: List<T>): Unit
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Inheritors

+ + + + + + + + + + + +
+FetchAttachmentsProtocol +class FetchAttachmentsProtocol : FetchDataProtocol<Attachment, ByteArray>

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+FetchTransactionsProtocol +class FetchTransactionsProtocol : FetchDataProtocol<SignedTransaction, SignedTransaction>

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/load.html b/docs/build/html/api/protocols/-fetch-data-protocol/load.html new file mode 100644 index 0000000000..b891e4b0bd --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/load.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.load - + + + +protocols / FetchDataProtocol / load
+
+

load

+ +protected abstract fun load(txid: SecureHash): T?
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/maybe-write-to-disk.html b/docs/build/html/api/protocols/-fetch-data-protocol/maybe-write-to-disk.html new file mode 100644 index 0000000000..7ec619b522 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/maybe-write-to-disk.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.maybeWriteToDisk - + + + +protocols / FetchDataProtocol / maybeWriteToDisk
+
+

maybeWriteToDisk

+ +protected open fun maybeWriteToDisk(downloaded: List<T>): Unit
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/other-side.html b/docs/build/html/api/protocols/-fetch-data-protocol/other-side.html new file mode 100644 index 0000000000..98986700c8 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/other-side.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.otherSide - + + + +protocols / FetchDataProtocol / otherSide
+
+

otherSide

+ +protected val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/query-topic.html b/docs/build/html/api/protocols/-fetch-data-protocol/query-topic.html new file mode 100644 index 0000000000..919bb4d389 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/query-topic.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.queryTopic - + + + +protocols / FetchDataProtocol / queryTopic
+
+

queryTopic

+ +protected abstract val queryTopic: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-data-protocol/requests.html b/docs/build/html/api/protocols/-fetch-data-protocol/requests.html new file mode 100644 index 0000000000..ce24cdd3aa --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-data-protocol/requests.html @@ -0,0 +1,15 @@ + + +FetchDataProtocol.requests - + + + +protocols / FetchDataProtocol / requests
+
+

requests

+ +protected val requests: Set<SecureHash>
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-transactions-protocol/-init-.html b/docs/build/html/api/protocols/-fetch-transactions-protocol/-init-.html new file mode 100644 index 0000000000..8cf43e951b --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-transactions-protocol/-init-.html @@ -0,0 +1,21 @@ + + +FetchTransactionsProtocol.<init> - + + + +protocols / FetchTransactionsProtocol / <init>
+
+

<init>

+FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)
+

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+

A malicious response in which the data provided by the remote peer does not hash to the requested hash results in +FetchDataProtocol.DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it +results in a FetchDataProtocol.HashNotFound exception. Note that returned transactions are not inserted into +the database, because its up to the caller to actually verify the transactions are valid.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-transactions-protocol/-t-o-p-i-c.html b/docs/build/html/api/protocols/-fetch-transactions-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..a60773b4cb --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-transactions-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +FetchTransactionsProtocol.TOPIC - + + + +protocols / FetchTransactionsProtocol / TOPIC
+
+

TOPIC

+ +const val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-transactions-protocol/index.html b/docs/build/html/api/protocols/-fetch-transactions-protocol/index.html new file mode 100644 index 0000000000..8496dfecd6 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-transactions-protocol/index.html @@ -0,0 +1,95 @@ + + +FetchTransactionsProtocol - + + + +protocols / FetchTransactionsProtocol
+
+

FetchTransactionsProtocol

+class FetchTransactionsProtocol : FetchDataProtocol<SignedTransaction, SignedTransaction>
+

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+

A malicious response in which the data provided by the remote peer does not hash to the requested hash results in +FetchDataProtocol.DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it +results in a FetchDataProtocol.HashNotFound exception. Note that returned transactions are not inserted into +the database, because its up to the caller to actually verify the transactions are valid.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+
+

Properties

+ + + + + + + +
+queryTopic +val queryTopic: String
+

Inherited Properties

+ + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+requests +val requests: Set<SecureHash>
+

Functions

+ + + + + + + +
+load +fun load(txid: SecureHash): SignedTransaction?
+

Inherited Functions

+ + + + + + + +
+call +open fun call(): Result<T>

This is where you fill out your business logic.

+
+

Companion Object Properties

+ + + + + + + +
+TOPIC +const val TOPIC: String
+ + diff --git a/docs/build/html/api/protocols/-fetch-transactions-protocol/load.html b/docs/build/html/api/protocols/-fetch-transactions-protocol/load.html new file mode 100644 index 0000000000..7456f4fdac --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-transactions-protocol/load.html @@ -0,0 +1,16 @@ + + +FetchTransactionsProtocol.load - + + + +protocols / FetchTransactionsProtocol / load
+
+

load

+ +protected fun load(txid: SecureHash): SignedTransaction?
+Overrides FetchDataProtocol.load
+
+
+ + diff --git a/docs/build/html/api/protocols/-fetch-transactions-protocol/query-topic.html b/docs/build/html/api/protocols/-fetch-transactions-protocol/query-topic.html new file mode 100644 index 0000000000..875a45e066 --- /dev/null +++ b/docs/build/html/api/protocols/-fetch-transactions-protocol/query-topic.html @@ -0,0 +1,16 @@ + + +FetchTransactionsProtocol.queryTopic - + + + +protocols / FetchTransactionsProtocol / queryTopic
+
+

queryTopic

+ +protected val queryTopic: String
+Overrides FetchDataProtocol.queryTopic
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/-init-.html b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/-init-.html new file mode 100644 index 0000000000..426e3ca57e --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.FixOutOfRange.<init> - + + + +protocols / RatesFixProtocol / FixOutOfRange / <init>
+
+

<init>

+FixOutOfRange(byAmount: BigDecimal)
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/by-amount.html b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/by-amount.html new file mode 100644 index 0000000000..cd313976f0 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/by-amount.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.FixOutOfRange.byAmount - + + + +protocols / RatesFixProtocol / FixOutOfRange / byAmount
+
+

byAmount

+ +val byAmount: BigDecimal
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/index.html b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/index.html new file mode 100644 index 0000000000..aa27934428 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-fix-out-of-range/index.html @@ -0,0 +1,36 @@ + + +RatesFixProtocol.FixOutOfRange - + + + +protocols / RatesFixProtocol / FixOutOfRange
+
+

FixOutOfRange

+class FixOutOfRange : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +FixOutOfRange(byAmount: BigDecimal)
+

Properties

+ + + + + + + +
+byAmount +val byAmount: BigDecimal
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-init-.html b/docs/build/html/api/protocols/-rates-fix-protocol/-init-.html new file mode 100644 index 0000000000..ae67f70699 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-init-.html @@ -0,0 +1,21 @@ + + +RatesFixProtocol.<init> - + + + +protocols / RatesFixProtocol / <init>
+
+

<init>

+RatesFixProtocol(tx: TransactionBuilder, oracle: NodeInfo, fixOf: FixOf, expectedRate: BigDecimal, rateTolerance: BigDecimal, progressTracker: ProgressTracker = RatesFixProtocol.tracker(fixOf.name))
+

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+

Exceptions

+ +FixOutOfRange - if the returned fix was further away from the expected rate by the given amount.
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/-init-.html b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/-init-.html new file mode 100644 index 0000000000..f31d4c7155 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.QUERYING.<init> - + + + +protocols / RatesFixProtocol / QUERYING / <init>
+
+

<init>

+QUERYING(name: String)
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/index.html b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/index.html new file mode 100644 index 0000000000..e9027f5d1c --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/index.html @@ -0,0 +1,53 @@ + + +RatesFixProtocol.QUERYING - + + + +protocols / RatesFixProtocol / QUERYING
+
+

QUERYING

+class QUERYING : Step
+
+
+

Constructors

+ + + + + + + +
+<init> +QUERYING(name: String)
+

Properties

+ + + + + + + +
+name +val name: String
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/name.html b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/name.html new file mode 100644 index 0000000000..79e293ddc8 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-q-u-e-r-y-i-n-g/name.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.QUERYING.name - + + + +protocols / RatesFixProtocol / QUERYING / name
+
+

name

+ +val name: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/-init-.html b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/-init-.html new file mode 100644 index 0000000000..37ddb49af9 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.QueryRequest.<init> - + + + +protocols / RatesFixProtocol / QueryRequest / <init>
+
+

<init>

+QueryRequest(queries: List<FixOf>, replyTo: SingleMessageRecipient, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/index.html b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/index.html new file mode 100644 index 0000000000..93629ed704 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/index.html @@ -0,0 +1,53 @@ + + +RatesFixProtocol.QueryRequest - + + + +protocols / RatesFixProtocol / QueryRequest
+
+

QueryRequest

+class QueryRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +QueryRequest(queries: List<FixOf>, replyTo: SingleMessageRecipient, sessionID: Long)
+

Properties

+ + + + + + + +
+queries +val queries: List<FixOf>
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/queries.html b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/queries.html new file mode 100644 index 0000000000..e39b1fafde --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-query-request/queries.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.QueryRequest.queries - + + + +protocols / RatesFixProtocol / QueryRequest / queries
+
+

queries

+ +val queries: List<FixOf>
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-s-i-g-n-i-n-g.html b/docs/build/html/api/protocols/-rates-fix-protocol/-s-i-g-n-i-n-g.html new file mode 100644 index 0000000000..82cf3860fd --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-s-i-g-n-i-n-g.html @@ -0,0 +1,31 @@ + + +RatesFixProtocol.SIGNING - + + + +protocols / RatesFixProtocol / SIGNING
+
+

SIGNING

+object SIGNING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/-init-.html b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/-init-.html new file mode 100644 index 0000000000..bc874b13c5 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/-init-.html @@ -0,0 +1,14 @@ + + +RatesFixProtocol.SignRequest.<init> - + + + +protocols / RatesFixProtocol / SignRequest / <init>
+
+

<init>

+SignRequest(tx: WireTransaction, replyTo: SingleMessageRecipient, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/index.html b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/index.html new file mode 100644 index 0000000000..652ba0fe64 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/index.html @@ -0,0 +1,53 @@ + + +RatesFixProtocol.SignRequest - + + + +protocols / RatesFixProtocol / SignRequest
+
+

SignRequest

+class SignRequest : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +SignRequest(tx: WireTransaction, replyTo: SingleMessageRecipient, sessionID: Long)
+

Properties

+ + + + + + + +
+tx +val tx: WireTransaction
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/tx.html b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/tx.html new file mode 100644 index 0000000000..cc1b15d4b7 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-sign-request/tx.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.SignRequest.tx - + + + +protocols / RatesFixProtocol / SignRequest / tx
+
+

tx

+ +val tx: WireTransaction
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c.html b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c.html new file mode 100644 index 0000000000..a9e23ff26a --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.TOPIC - + + + +protocols / RatesFixProtocol / TOPIC
+
+

TOPIC

+ +val TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-q-u-e-r-y.html b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-q-u-e-r-y.html new file mode 100644 index 0000000000..1cb5bf99eb --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-q-u-e-r-y.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.TOPIC_QUERY - + + + +protocols / RatesFixProtocol / TOPIC_QUERY
+
+

TOPIC_QUERY

+ +val TOPIC_QUERY: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-s-i-g-n.html b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-s-i-g-n.html new file mode 100644 index 0000000000..35b9c247b5 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-t-o-p-i-c_-s-i-g-n.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.TOPIC_SIGN - + + + +protocols / RatesFixProtocol / TOPIC_SIGN
+
+

TOPIC_SIGN

+ +val TOPIC_SIGN: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/-w-o-r-k-i-n-g.html b/docs/build/html/api/protocols/-rates-fix-protocol/-w-o-r-k-i-n-g.html new file mode 100644 index 0000000000..6bec3d2542 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/-w-o-r-k-i-n-g.html @@ -0,0 +1,31 @@ + + +RatesFixProtocol.WORKING - + + + +protocols / RatesFixProtocol / WORKING
+
+

WORKING

+object WORKING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/before-signing.html b/docs/build/html/api/protocols/-rates-fix-protocol/before-signing.html new file mode 100644 index 0000000000..3f4b9787fa --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/before-signing.html @@ -0,0 +1,17 @@ + + +RatesFixProtocol.beforeSigning - + + + +protocols / RatesFixProtocol / beforeSigning
+
+

beforeSigning

+ +protected open fun beforeSigning(fix: Fix): Unit
+

You can override this to perform any additional work needed after the fix is added to the transaction but +before its sent back to the oracle for signing (for example, adding output states that depend on the fix).

+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/call.html b/docs/build/html/api/protocols/-rates-fix-protocol/call.html new file mode 100644 index 0000000000..f192b94c34 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/call.html @@ -0,0 +1,17 @@ + + +RatesFixProtocol.call - + + + +protocols / RatesFixProtocol / call
+
+

call

+ +open fun call(): Unit
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/index.html b/docs/build/html/api/protocols/-rates-fix-protocol/index.html new file mode 100644 index 0000000000..bf50fa6387 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/index.html @@ -0,0 +1,227 @@ + + +RatesFixProtocol - + + + +protocols / RatesFixProtocol
+
+

RatesFixProtocol

+open class RatesFixProtocol : ProtocolLogic<Unit>
+

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+

Exceptions

+ +FixOutOfRange - if the returned fix was further away from the expected rate by the given amount.
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+QUERYING +class QUERYING : Step
+QueryRequest +class QueryRequest : AbstractRequestMessage
+SIGNING +object SIGNING : Step
+SignRequest +class SignRequest : AbstractRequestMessage
+WORKING +object WORKING : Step
+

Exceptions

+ + + + + + + +
+FixOutOfRange +class FixOutOfRange : Exception
+

Constructors

+ + + + + + + +
+<init> +RatesFixProtocol(tx: TransactionBuilder, oracle: NodeInfo, fixOf: FixOf, expectedRate: BigDecimal, rateTolerance: BigDecimal, progressTracker: ProgressTracker = RatesFixProtocol.tracker(fixOf.name))

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+
+

Properties

+ + + + + + + + + + + +
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+tx +val tx: TransactionBuilder
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+beforeSigning +open fun beforeSigning(fix: Fix): Unit

You can override this to perform any additional work needed after the fix is added to the transaction but +before its sent back to the oracle for signing (for example, adding output states that depend on the fix).

+
+call +open fun call(): Unit

This is where you fill out your business logic.

+
+query +fun query(): Fix
+sign +fun sign(): LegallyIdentifiable
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Properties

+ + + + + + + + + + + + + + + +
+TOPIC +val TOPIC: String
+TOPIC_QUERY +val TOPIC_QUERY: String
+TOPIC_SIGN +val TOPIC_SIGN: String
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(fixName: String): ProgressTracker
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/progress-tracker.html b/docs/build/html/api/protocols/-rates-fix-protocol/progress-tracker.html new file mode 100644 index 0000000000..2414f7db02 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/progress-tracker.html @@ -0,0 +1,24 @@ + + +RatesFixProtocol.progressTracker - + + + +protocols / RatesFixProtocol / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/query.html b/docs/build/html/api/protocols/-rates-fix-protocol/query.html new file mode 100644 index 0000000000..ef3e2cd30a --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/query.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.query - + + + +protocols / RatesFixProtocol / query
+
+

query

+ +fun query(): Fix
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/sign.html b/docs/build/html/api/protocols/-rates-fix-protocol/sign.html new file mode 100644 index 0000000000..fd04298d06 --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/sign.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.sign - + + + +protocols / RatesFixProtocol / sign
+
+

sign

+ +fun sign(): LegallyIdentifiable
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/tracker.html b/docs/build/html/api/protocols/-rates-fix-protocol/tracker.html new file mode 100644 index 0000000000..be24156f0a --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/tracker.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.tracker - + + + +protocols / RatesFixProtocol / tracker
+
+

tracker

+ +fun tracker(fixName: String): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/protocols/-rates-fix-protocol/tx.html b/docs/build/html/api/protocols/-rates-fix-protocol/tx.html new file mode 100644 index 0000000000..3c72b6628a --- /dev/null +++ b/docs/build/html/api/protocols/-rates-fix-protocol/tx.html @@ -0,0 +1,15 @@ + + +RatesFixProtocol.tx - + + + +protocols / RatesFixProtocol / tx
+
+

tx

+ +protected val tx: TransactionBuilder
+
+
+ + diff --git a/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/-init-.html b/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/-init-.html new file mode 100644 index 0000000000..7c05f72a5b --- /dev/null +++ b/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/-init-.html @@ -0,0 +1,14 @@ + + +ResolveTransactionsProtocol.ExcessivelyLargeTransactionGraph.<init> - + + + +protocols / ResolveTransactionsProtocol / ExcessivelyLargeTransactionGraph / <init>
+
+

<init>

+ExcessivelyLargeTransactionGraph()
+
+
+ + diff --git a/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/index.html b/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/index.html new file mode 100644 index 0000000000..f85500a1f9 --- /dev/null +++ b/docs/build/html/api/protocols/-resolve-transactions-protocol/-excessively-large-transaction-graph/index.html @@ -0,0 +1,25 @@ + + +ResolveTransactionsProtocol.ExcessivelyLargeTransactionGraph - + + + +protocols / ResolveTransactionsProtocol / ExcessivelyLargeTransactionGraph
+
+

ExcessivelyLargeTransactionGraph

+class ExcessivelyLargeTransactionGraph : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +ExcessivelyLargeTransactionGraph()
+ + diff --git a/docs/build/html/api/protocols/-resolve-transactions-protocol/-init-.html b/docs/build/html/api/protocols/-resolve-transactions-protocol/-init-.html new file mode 100644 index 0000000000..72a5c8ff35 --- /dev/null +++ b/docs/build/html/api/protocols/-resolve-transactions-protocol/-init-.html @@ -0,0 +1,28 @@ + + +ResolveTransactionsProtocol.<init> - + + + +protocols / ResolveTransactionsProtocol / <init>
+
+

<init>

+ResolveTransactionsProtocol(stx: SignedTransaction, otherSide: SingleMessageRecipient)
+ResolveTransactionsProtocol(wtx: WireTransaction, otherSide: SingleMessageRecipient)
+
+
+ResolveTransactionsProtocol(txHashes: Set<SecureHash>, otherSide: SingleMessageRecipient)
+

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

+

A couple of constructors are provided that accept a single transaction. When these are used, the dependencies of that +transaction are resolved and then the transaction itself is verified. Again, if successful, the results are inserted +into the database as long as a SignedTransaction was provided. If only the WireTransaction form was provided +then this isnt enough to put into the local database, so only the dependencies are inserted. This way to use the +protocol is helpful when resolving and verifying a finished but partially signed transaction.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-resolve-transactions-protocol/call.html b/docs/build/html/api/protocols/-resolve-transactions-protocol/call.html new file mode 100644 index 0000000000..7ebf5026df --- /dev/null +++ b/docs/build/html/api/protocols/-resolve-transactions-protocol/call.html @@ -0,0 +1,17 @@ + + +ResolveTransactionsProtocol.call - + + + +protocols / ResolveTransactionsProtocol / call
+
+

call

+ +fun call(): Unit
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-resolve-transactions-protocol/index.html b/docs/build/html/api/protocols/-resolve-transactions-protocol/index.html new file mode 100644 index 0000000000..98494504fc --- /dev/null +++ b/docs/build/html/api/protocols/-resolve-transactions-protocol/index.html @@ -0,0 +1,130 @@ + + +ResolveTransactionsProtocol - + + + +protocols / ResolveTransactionsProtocol
+
+

ResolveTransactionsProtocol

+class ResolveTransactionsProtocol : ProtocolLogic<Unit>
+

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

+

A couple of constructors are provided that accept a single transaction. When these are used, the dependencies of that +transaction are resolved and then the transaction itself is verified. Again, if successful, the results are inserted +into the database as long as a SignedTransaction was provided. If only the WireTransaction form was provided +then this isnt enough to put into the local database, so only the dependencies are inserted. This way to use the +protocol is helpful when resolving and verifying a finished but partially signed transaction.

+
+
+
+
+

Exceptions

+ + + + + + + +
+ExcessivelyLargeTransactionGraph +class ExcessivelyLargeTransactionGraph : Exception
+

Constructors

+ + + + + + + +
+<init> +ResolveTransactionsProtocol(stx: SignedTransaction, otherSide: SingleMessageRecipient)
+ResolveTransactionsProtocol(wtx: WireTransaction, otherSide: SingleMessageRecipient)ResolveTransactionsProtocol(txHashes: Set<SecureHash>, otherSide: SingleMessageRecipient)

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

+
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+progressTracker +open val progressTracker: ProgressTracker?

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +fun call(): Unit

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-client/-init-.html b/docs/build/html/api/protocols/-timestamping-protocol/-client/-init-.html new file mode 100644 index 0000000000..541e2aa40f --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-client/-init-.html @@ -0,0 +1,14 @@ + + +TimestampingProtocol.Client.<init> - + + + +protocols / TimestampingProtocol / Client / <init>
+
+

<init>

+Client(stateMachineManager: StateMachineManager, node: NodeInfo)
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-client/identity.html b/docs/build/html/api/protocols/-timestamping-protocol/-client/identity.html new file mode 100644 index 0000000000..cb3d433e7b --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-client/identity.html @@ -0,0 +1,17 @@ + + +TimestampingProtocol.Client.identity - + + + +protocols / TimestampingProtocol / Client / identity
+
+

identity

+ +val identity: Party
+Overrides TimestamperService.identity
+

The name+pubkey that this timestamper will sign with.

+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-client/index.html b/docs/build/html/api/protocols/-timestamping-protocol/-client/index.html new file mode 100644 index 0000000000..aceb7cdfc2 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-client/index.html @@ -0,0 +1,48 @@ + + +TimestampingProtocol.Client - + + + +protocols / TimestampingProtocol / Client
+
+

Client

+class Client : TimestamperService
+
+
+

Constructors

+ + + + + + + +
+<init> +Client(stateMachineManager: StateMachineManager, node: NodeInfo)
+

Properties

+ + + + + + + +
+identity +val identity: Party

The name+pubkey that this timestamper will sign with.

+
+

Functions

+ + + + + + + +
+timestamp +fun timestamp(wtxBytes: SerializedBytes<WireTransaction>): LegallyIdentifiable
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-client/timestamp.html b/docs/build/html/api/protocols/-timestamping-protocol/-client/timestamp.html new file mode 100644 index 0000000000..c5d2643ab3 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-client/timestamp.html @@ -0,0 +1,16 @@ + + +TimestampingProtocol.Client.timestamp - + + + +protocols / TimestampingProtocol / Client / timestamp
+
+

timestamp

+ +fun timestamp(wtxBytes: SerializedBytes<WireTransaction>): LegallyIdentifiable
+Overrides TimestamperService.timestamp
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-init-.html b/docs/build/html/api/protocols/-timestamping-protocol/-init-.html new file mode 100644 index 0000000000..fb41587272 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-init-.html @@ -0,0 +1,22 @@ + + +TimestampingProtocol.<init> - + + + +protocols / TimestampingProtocol / <init>
+
+

<init>

+TimestampingProtocol(node: NodeInfo, wtxBytes: SerializedBytes<WireTransaction>, progressTracker: ProgressTracker = TimestampingProtocol.tracker())
+

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+

If you are not yourself authoring a protocol and want to timestamp something, the TimestampingProtocol.Client class +implements the TimestamperService interface, meaning it can be passed to TransactionBuilder.timestamp to timestamp +the built transaction. Please be aware that this will block, meaning it should not be used on a thread that is handling +a network message: use it only from spare application threads that dont have to respond to anything.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-r-e-q-u-e-s-t-i-n-g.html b/docs/build/html/api/protocols/-timestamping-protocol/-r-e-q-u-e-s-t-i-n-g.html new file mode 100644 index 0000000000..cfc0598164 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-r-e-q-u-e-s-t-i-n-g.html @@ -0,0 +1,31 @@ + + +TimestampingProtocol.REQUESTING - + + + +protocols / TimestampingProtocol / REQUESTING
+
+

REQUESTING

+object REQUESTING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-request/-init-.html b/docs/build/html/api/protocols/-timestamping-protocol/-request/-init-.html new file mode 100644 index 0000000000..62580daeec --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-request/-init-.html @@ -0,0 +1,14 @@ + + +TimestampingProtocol.Request.<init> - + + + +protocols / TimestampingProtocol / Request / <init>
+
+

<init>

+Request(tx: SerializedBytes<WireTransaction>, replyTo: MessageRecipients, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-request/index.html b/docs/build/html/api/protocols/-timestamping-protocol/-request/index.html new file mode 100644 index 0000000000..35dfc2749e --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-request/index.html @@ -0,0 +1,53 @@ + + +TimestampingProtocol.Request - + + + +protocols / TimestampingProtocol / Request
+
+

Request

+class Request : AbstractRequestMessage
+
+
+

Constructors

+ + + + + + + +
+<init> +Request(tx: SerializedBytes<WireTransaction>, replyTo: MessageRecipients, sessionID: Long)
+

Properties

+ + + + + + + +
+tx +val tx: SerializedBytes<WireTransaction>
+

Inherited Properties

+ + + + + + + + + + + +
+replyTo +val replyTo: MessageRecipients
+sessionID +val sessionID: Long?
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-request/tx.html b/docs/build/html/api/protocols/-timestamping-protocol/-request/tx.html new file mode 100644 index 0000000000..76d6d2334f --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-request/tx.html @@ -0,0 +1,15 @@ + + +TimestampingProtocol.Request.tx - + + + +protocols / TimestampingProtocol / Request / tx
+
+

tx

+ +val tx: SerializedBytes<WireTransaction>
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/-v-a-l-i-d-a-t-i-n-g.html b/docs/build/html/api/protocols/-timestamping-protocol/-v-a-l-i-d-a-t-i-n-g.html new file mode 100644 index 0000000000..eb3bfc4804 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/-v-a-l-i-d-a-t-i-n-g.html @@ -0,0 +1,31 @@ + + +TimestampingProtocol.VALIDATING - + + + +protocols / TimestampingProtocol / VALIDATING
+
+

VALIDATING

+object VALIDATING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/call.html b/docs/build/html/api/protocols/-timestamping-protocol/call.html new file mode 100644 index 0000000000..1baa21f781 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/call.html @@ -0,0 +1,17 @@ + + +TimestampingProtocol.call - + + + +protocols / TimestampingProtocol / call
+
+

call

+ +fun call(): LegallyIdentifiable
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/index.html b/docs/build/html/api/protocols/-timestamping-protocol/index.html new file mode 100644 index 0000000000..4f43b5b7d7 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/index.html @@ -0,0 +1,160 @@ + + +TimestampingProtocol - + + + +protocols / TimestampingProtocol
+
+

TimestampingProtocol

+class TimestampingProtocol : ProtocolLogic<LegallyIdentifiable>
+

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+

If you are not yourself authoring a protocol and want to timestamp something, the TimestampingProtocol.Client class +implements the TimestamperService interface, meaning it can be passed to TransactionBuilder.timestamp to timestamp +the built transaction. Please be aware that this will block, meaning it should not be used on a thread that is handling +a network message: use it only from spare application threads that dont have to respond to anything.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Client +class Client : TimestamperService
+REQUESTING +object REQUESTING : Step
+Request +class Request : AbstractRequestMessage
+VALIDATING +object VALIDATING : Step
+

Constructors

+ + + + + + + +
+<init> +TimestampingProtocol(node: NodeInfo, wtxBytes: SerializedBytes<WireTransaction>, progressTracker: ProgressTracker = TimestampingProtocol.tracker())

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+
+

Properties

+ + + + + + + +
+progressTracker +val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +fun call(): LegallyIdentifiable

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): ProgressTracker
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/progress-tracker.html b/docs/build/html/api/protocols/-timestamping-protocol/progress-tracker.html new file mode 100644 index 0000000000..85080140d1 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/progress-tracker.html @@ -0,0 +1,24 @@ + + +TimestampingProtocol.progressTracker - + + + +protocols / TimestampingProtocol / progressTracker
+
+

progressTracker

+ +val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-timestamping-protocol/tracker.html b/docs/build/html/api/protocols/-timestamping-protocol/tracker.html new file mode 100644 index 0000000000..f1b319e488 --- /dev/null +++ b/docs/build/html/api/protocols/-timestamping-protocol/tracker.html @@ -0,0 +1,15 @@ + + +TimestampingProtocol.tracker - + + + +protocols / TimestampingProtocol / tracker
+
+

tracker

+ +fun tracker(): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/-init-.html new file mode 100644 index 0000000000..5efadc6a1a --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/-init-.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Acceptor.<init> - + + + +protocols / TwoPartyDealProtocol / Acceptor / <init>
+
+

<init>

+Acceptor(otherSide: SingleMessageRecipient, timestampingAuthority: Party, dealToBuy: T, sessionID: Long, progressTracker: ProgressTracker = Secondary.tracker())
+

One side of the protocol for inserting a pre-agreed deal.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html new file mode 100644 index 0000000000..11859402db --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/assemble-shared-t-x.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Acceptor.assembleSharedTX - + + + +protocols / TwoPartyDealProtocol / Acceptor / assembleSharedTX
+
+

assembleSharedTX

+ +protected open fun assembleSharedTX(handshake: Handshake<T>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html new file mode 100644 index 0000000000..1642163d37 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/deal-to-buy.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Acceptor.dealToBuy - + + + +protocols / TwoPartyDealProtocol / Acceptor / dealToBuy
+
+

dealToBuy

+ +val dealToBuy: T
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/index.html new file mode 100644 index 0000000000..3788623890 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/index.html @@ -0,0 +1,100 @@ + + +TwoPartyDealProtocol.Acceptor - + + + +protocols / TwoPartyDealProtocol / Acceptor
+
+

Acceptor

+class Acceptor<T : DealState> : Secondary<T>
+

One side of the protocol for inserting a pre-agreed deal.

+
+
+

Constructors

+ + + + + + + +
+<init> +Acceptor(otherSide: SingleMessageRecipient, timestampingAuthority: Party, dealToBuy: T, sessionID: Long, progressTracker: ProgressTracker = Secondary.tracker())

One side of the protocol for inserting a pre-agreed deal.

+
+

Properties

+ + + + + + + + + + + +
+dealToBuy +val dealToBuy: T
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+sessionID +val sessionID: Long
+timestampingAuthority +val timestampingAuthority: Party
+

Functions

+ + + + + + + + + + + +
+assembleSharedTX +open fun assembleSharedTX(handshake: Handshake<T>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+validateHandshake +open fun validateHandshake(handshake: Handshake<T>): Handshake<T>
+

Inherited Functions

+ + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/progress-tracker.html new file mode 100644 index 0000000000..453760cf1e --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Acceptor.progressTracker - + + + +protocols / TwoPartyDealProtocol / Acceptor / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides Secondary.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html new file mode 100644 index 0000000000..a432c5116d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-acceptor/validate-handshake.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Acceptor.validateHandshake - + + + +protocols / TwoPartyDealProtocol / Acceptor / validateHandshake
+
+

validateHandshake

+ +protected open fun validateHandshake(handshake: Handshake<T>): Handshake<T>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html new file mode 100644 index 0000000000..7c1cef0e45 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-d-e-a-l_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DEAL_TOPIC - + + + +protocols / TwoPartyDealProtocol / DEAL_TOPIC
+
+

DEAL_TOPIC

+ +val DEAL_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/-init-.html new file mode 100644 index 0000000000..f6decc0deb --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyDealProtocol.DealMismatchException.<init> - + + + +protocols / TwoPartyDealProtocol / DealMismatchException / <init>
+
+

<init>

+DealMismatchException(expectedDeal: ContractState, actualDeal: ContractState)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/actual-deal.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/actual-deal.html new file mode 100644 index 0000000000..fc062122be --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/actual-deal.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealMismatchException.actualDeal - + + + +protocols / TwoPartyDealProtocol / DealMismatchException / actualDeal
+
+

actualDeal

+ +val actualDeal: ContractState
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/expected-deal.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/expected-deal.html new file mode 100644 index 0000000000..f512e15994 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/expected-deal.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealMismatchException.expectedDeal - + + + +protocols / TwoPartyDealProtocol / DealMismatchException / expectedDeal
+
+

expectedDeal

+ +val expectedDeal: ContractState
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/index.html new file mode 100644 index 0000000000..8e77d7048f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/index.html @@ -0,0 +1,53 @@ + + +TwoPartyDealProtocol.DealMismatchException - + + + +protocols / TwoPartyDealProtocol / DealMismatchException
+
+

DealMismatchException

+class DealMismatchException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +DealMismatchException(expectedDeal: ContractState, actualDeal: ContractState)
+

Properties

+ + + + + + + + + + + +
+actualDeal +val actualDeal: ContractState
+expectedDeal +val expectedDeal: ContractState
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/to-string.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/to-string.html new file mode 100644 index 0000000000..f18e02b43f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-mismatch-exception/to-string.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealMismatchException.toString - + + + +protocols / TwoPartyDealProtocol / DealMismatchException / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/-init-.html new file mode 100644 index 0000000000..b483c947af --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyDealProtocol.DealRefMismatchException.<init> - + + + +protocols / TwoPartyDealProtocol / DealRefMismatchException / <init>
+
+

<init>

+DealRefMismatchException(expectedDeal: StateRef, actualDeal: StateRef)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/actual-deal.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/actual-deal.html new file mode 100644 index 0000000000..afc1a03455 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/actual-deal.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealRefMismatchException.actualDeal - + + + +protocols / TwoPartyDealProtocol / DealRefMismatchException / actualDeal
+
+

actualDeal

+ +val actualDeal: StateRef
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/expected-deal.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/expected-deal.html new file mode 100644 index 0000000000..d34cc490ec --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/expected-deal.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealRefMismatchException.expectedDeal - + + + +protocols / TwoPartyDealProtocol / DealRefMismatchException / expectedDeal
+
+

expectedDeal

+ +val expectedDeal: StateRef
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/index.html new file mode 100644 index 0000000000..df640e022a --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/index.html @@ -0,0 +1,53 @@ + + +TwoPartyDealProtocol.DealRefMismatchException - + + + +protocols / TwoPartyDealProtocol / DealRefMismatchException
+
+

DealRefMismatchException

+class DealRefMismatchException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +DealRefMismatchException(expectedDeal: StateRef, actualDeal: StateRef)
+

Properties

+ + + + + + + + + + + +
+actualDeal +val actualDeal: StateRef
+expectedDeal +val expectedDeal: StateRef
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/to-string.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/to-string.html new file mode 100644 index 0000000000..d25a1694b6 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-deal-ref-mismatch-exception/to-string.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.DealRefMismatchException.toString - + + + +protocols / TwoPartyDealProtocol / DealRefMismatchException / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/-init-.html new file mode 100644 index 0000000000..467fe82bd1 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/-init-.html @@ -0,0 +1,20 @@ + + +TwoPartyDealProtocol.Fixer.<init> - + + + +protocols / TwoPartyDealProtocol / Fixer / <init>
+
+

<init>

+Fixer(otherSide: SingleMessageRecipient, timestampingAuthority: Party, dealToFix: StateAndRef<T>, sessionID: Long, replacementProgressTracker: ProgressTracker? = null)
+

One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

+

Do not infer too much from the name of the class. This is just to indicate that it is the "side" +of the protocol that is run by the party with the fixed leg of swap deal, which is the basis for decided +who does what in the protocol.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html new file mode 100644 index 0000000000..0db32f47c3 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/assemble-shared-t-x.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Fixer.assembleSharedTX - + + + +protocols / TwoPartyDealProtocol / Fixer / assembleSharedTX
+
+

assembleSharedTX

+ +protected open fun assembleSharedTX(handshake: Handshake<StateRef>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/create-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/create-tracker.html new file mode 100644 index 0000000000..5b2bbd128d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/create-tracker.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Fixer.createTracker - + + + +protocols / TwoPartyDealProtocol / Fixer / createTracker
+
+

createTracker

+ +fun createTracker(): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/deal-to-fix.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/deal-to-fix.html new file mode 100644 index 0000000000..7854365f19 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/deal-to-fix.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Fixer.dealToFix - + + + +protocols / TwoPartyDealProtocol / Fixer / dealToFix
+
+

dealToFix

+ +val dealToFix: StateAndRef<T>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/index.html new file mode 100644 index 0000000000..a58baf214d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/index.html @@ -0,0 +1,117 @@ + + +TwoPartyDealProtocol.Fixer - + + + +protocols / TwoPartyDealProtocol / Fixer
+
+

Fixer

+class Fixer<T : FixableDealState> : Secondary<StateRef>
+

One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

+

Do not infer too much from the name of the class. This is just to indicate that it is the "side" +of the protocol that is run by the party with the fixed leg of swap deal, which is the basis for decided +who does what in the protocol.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +Fixer(otherSide: SingleMessageRecipient, timestampingAuthority: Party, dealToFix: StateAndRef<T>, sessionID: Long, replacementProgressTracker: ProgressTracker? = null)

One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

+
+

Properties

+ + + + + + + + + + + + + + + +
+dealToFix +val dealToFix: StateAndRef<T>
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+replacementProgressTracker +val replacementProgressTracker: ProgressTracker?
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+sessionID +val sessionID: Long
+timestampingAuthority +val timestampingAuthority: Party
+

Functions

+ + + + + + + + + + + + + + + +
+assembleSharedTX +open fun assembleSharedTX(handshake: Handshake<StateRef>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+createTracker +fun createTracker(): ProgressTracker
+validateHandshake +open fun validateHandshake(handshake: Handshake<StateRef>): Handshake<StateRef>
+

Inherited Functions

+ + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/progress-tracker.html new file mode 100644 index 0000000000..a0581bab74 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Fixer.progressTracker - + + + +protocols / TwoPartyDealProtocol / Fixer / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides Secondary.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/replacement-progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/replacement-progress-tracker.html new file mode 100644 index 0000000000..73c7d46d58 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/replacement-progress-tracker.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Fixer.replacementProgressTracker - + + + +protocols / TwoPartyDealProtocol / Fixer / replacementProgressTracker
+
+

replacementProgressTracker

+ +val replacementProgressTracker: ProgressTracker?
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/validate-handshake.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/validate-handshake.html new file mode 100644 index 0000000000..a32896e1e6 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-fixer/validate-handshake.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Fixer.validateHandshake - + + + +protocols / TwoPartyDealProtocol / Fixer / validateHandshake
+
+

validateHandshake

+ +protected open fun validateHandshake(handshake: Handshake<StateRef>): Handshake<StateRef>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/-init-.html new file mode 100644 index 0000000000..938c9d8d2c --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/-init-.html @@ -0,0 +1,20 @@ + + +TwoPartyDealProtocol.Floater.<init> - + + + +protocols / TwoPartyDealProtocol / Floater / <init>
+
+

<init>

+Floater(otherSide: SingleMessageRecipient, otherSessionID: Long, timestampingAuthority: NodeInfo, dealToFix: StateAndRef<T>, myKeyPair: KeyPair, sessionID: Long, progressTracker: ProgressTracker = Primary.tracker())
+

One side of the fixing protocol for an interest rate swap, but could easily be generalised furher

+

As per the Fixer, do not infer too much from this class name in terms of business roles. This +is just the "side" of the protocol run by the party with the floating leg as a way of deciding who +does what in the protocol.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/index.html new file mode 100644 index 0000000000..4f4b26ecd0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/index.html @@ -0,0 +1,118 @@ + + +TwoPartyDealProtocol.Floater - + + + +protocols / TwoPartyDealProtocol / Floater
+
+

Floater

+class Floater<T : FixableDealState> : Primary<StateRef>
+

One side of the fixing protocol for an interest rate swap, but could easily be generalised furher

+

As per the Fixer, do not infer too much from this class name in terms of business roles. This +is just the "side" of the protocol run by the party with the floating leg as a way of deciding who +does what in the protocol.

+
+
+
+
+

Constructors

+ + + + + + + +
+<init> +Floater(otherSide: SingleMessageRecipient, otherSessionID: Long, timestampingAuthority: NodeInfo, dealToFix: StateAndRef<T>, myKeyPair: KeyPair, sessionID: Long, progressTracker: ProgressTracker = Primary.tracker())

One side of the fixing protocol for an interest rate swap, but could easily be generalised furher

+
+

Properties

+ + + + + + + + + + + +
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+sessionID +val sessionID: Long
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+myKeyPair +val myKeyPair: KeyPair
+otherSessionID +val otherSessionID: Long
+otherSide +val otherSide: SingleMessageRecipient
+payload +val payload: U
+timestampingAuthority +val timestampingAuthority: NodeInfo
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+getPartialTransaction +fun getPartialTransaction(): UntrustworthyData<SignedTransaction>
+signWithOurKey +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+verifyPartialTransaction +fun verifyPartialTransaction(untrustedPartialTX: UntrustworthyData<SignedTransaction>): SignedTransaction
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/progress-tracker.html new file mode 100644 index 0000000000..09883bc325 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Floater.progressTracker - + + + +protocols / TwoPartyDealProtocol / Floater / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides Primary.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/session-i-d.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/session-i-d.html new file mode 100644 index 0000000000..ae59501c5d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-floater/session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Floater.sessionID - + + + +protocols / TwoPartyDealProtocol / Floater / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/-init-.html new file mode 100644 index 0000000000..6edb04215b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyDealProtocol.Handshake.<init> - + + + +protocols / TwoPartyDealProtocol / Handshake / <init>
+
+

<init>

+Handshake(payload: T, publicKey: PublicKey, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/index.html new file mode 100644 index 0000000000..7b7ac62147 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/index.html @@ -0,0 +1,48 @@ + + +TwoPartyDealProtocol.Handshake - + + + +protocols / TwoPartyDealProtocol / Handshake
+
+

Handshake

+data class Handshake<T>
+
+
+

Constructors

+ + + + + + + +
+<init> +Handshake(payload: T, publicKey: PublicKey, sessionID: Long)
+

Properties

+ + + + + + + + + + + + + + + +
+payload +val payload: T
+publicKey +val publicKey: PublicKey
+sessionID +val sessionID: Long
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/payload.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/payload.html new file mode 100644 index 0000000000..2dc4eff62c --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/payload.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Handshake.payload - + + + +protocols / TwoPartyDealProtocol / Handshake / payload
+
+

payload

+ +val payload: T
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/public-key.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/public-key.html new file mode 100644 index 0000000000..60d4c19e8b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/public-key.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Handshake.publicKey - + + + +protocols / TwoPartyDealProtocol / Handshake / publicKey
+
+

publicKey

+ +val publicKey: PublicKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/session-i-d.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/session-i-d.html new file mode 100644 index 0000000000..9fced6763e --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-handshake/session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Handshake.sessionID - + + + +protocols / TwoPartyDealProtocol / Handshake / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/-init-.html new file mode 100644 index 0000000000..7fabaa5718 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/-init-.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Instigator.<init> - + + + +protocols / TwoPartyDealProtocol / Instigator / <init>
+
+

<init>

+Instigator(otherSide: SingleMessageRecipient, timestampingAuthority: NodeInfo, dealBeingOffered: T, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Primary.tracker())
+

One side of the protocol for inserting a pre-agreed deal.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/index.html new file mode 100644 index 0000000000..199d89e762 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/index.html @@ -0,0 +1,107 @@ + + +TwoPartyDealProtocol.Instigator - + + + +protocols / TwoPartyDealProtocol / Instigator
+
+

Instigator

+class Instigator<T : DealState> : Primary<T>
+

One side of the protocol for inserting a pre-agreed deal.

+
+
+

Constructors

+ + + + + + + +
+<init> +Instigator(otherSide: SingleMessageRecipient, timestampingAuthority: NodeInfo, dealBeingOffered: T, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Primary.tracker())

One side of the protocol for inserting a pre-agreed deal.

+
+

Properties

+ + + + + + + +
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+

Inherited Properties

+ + + + + + + + + + + + + + + + + + + + + + + +
+myKeyPair +val myKeyPair: KeyPair
+otherSessionID +val otherSessionID: Long
+otherSide +val otherSide: SingleMessageRecipient
+payload +val payload: U
+timestampingAuthority +val timestampingAuthority: NodeInfo
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+getPartialTransaction +fun getPartialTransaction(): UntrustworthyData<SignedTransaction>
+signWithOurKey +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+verifyPartialTransaction +fun verifyPartialTransaction(untrustedPartialTX: UntrustworthyData<SignedTransaction>): SignedTransaction
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/progress-tracker.html new file mode 100644 index 0000000000..6cb73ffa1b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-instigator/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Instigator.progressTracker - + + + +protocols / TwoPartyDealProtocol / Instigator / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides Primary.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html new file mode 100644 index 0000000000..b7c7072b58 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.AWAITING_PROPOSAL - + + + +protocols / TwoPartyDealProtocol / Primary / AWAITING_PROPOSAL
+
+

AWAITING_PROPOSAL

+object AWAITING_PROPOSAL : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-c-o-p-y-i-n-g_-t-o_-r-e-g-u-l-a-t-o-r.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-c-o-p-y-i-n-g_-t-o_-r-e-g-u-l-a-t-o-r.html new file mode 100644 index 0000000000..aa9071aa46 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-c-o-p-y-i-n-g_-t-o_-r-e-g-u-l-a-t-o-r.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.COPYING_TO_REGULATOR - + + + +protocols / TwoPartyDealProtocol / Primary / COPYING_TO_REGULATOR
+
+

COPYING_TO_REGULATOR

+object COPYING_TO_REGULATOR : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-init-.html new file mode 100644 index 0000000000..34a8d8eae0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-init-.html @@ -0,0 +1,19 @@ + + +TwoPartyDealProtocol.Primary.<init> - + + + +protocols / TwoPartyDealProtocol / Primary / <init>
+
+

<init>

+Primary(payload: U, otherSide: SingleMessageRecipient, otherSessionID: Long, myKeyPair: KeyPair, timestampingAuthority: NodeInfo, progressTracker: ProgressTracker = Primary.tracker())
+

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+

Theres a good chance we can push at least some of this logic down into core protocol logic +and helper methods etc.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-r-e-c-o-r-d-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-r-e-c-o-r-d-i-n-g.html new file mode 100644 index 0000000000..2cfc6abcef --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-r-e-c-o-r-d-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.RECORDING - + + + +protocols / TwoPartyDealProtocol / Primary / RECORDING
+
+

RECORDING

+object RECORDING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-e-n-d-i-n-g_-s-i-g-s.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-e-n-d-i-n-g_-s-i-g-s.html new file mode 100644 index 0000000000..300844fa34 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-e-n-d-i-n-g_-s-i-g-s.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.SENDING_SIGS - + + + +protocols / TwoPartyDealProtocol / Primary / SENDING_SIGS
+
+

SENDING_SIGS

+object SENDING_SIGS : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-i-g-n-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-i-g-n-i-n-g.html new file mode 100644 index 0000000000..2eeb9e5d24 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-s-i-g-n-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.SIGNING - + + + +protocols / TwoPartyDealProtocol / Primary / SIGNING
+
+

SIGNING

+object SIGNING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-t-i-m-e-s-t-a-m-p-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-t-i-m-e-s-t-a-m-p-i-n-g.html new file mode 100644 index 0000000000..a9bf195fa8 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-t-i-m-e-s-t-a-m-p-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.TIMESTAMPING - + + + +protocols / TwoPartyDealProtocol / Primary / TIMESTAMPING
+
+

TIMESTAMPING

+object TIMESTAMPING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-v-e-r-i-f-y-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-v-e-r-i-f-y-i-n-g.html new file mode 100644 index 0000000000..218159bb64 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/-v-e-r-i-f-y-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Primary.VERIFYING - + + + +protocols / TwoPartyDealProtocol / Primary / VERIFYING
+
+

VERIFYING

+object VERIFYING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/call.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/call.html new file mode 100644 index 0000000000..613080cd2d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/call.html @@ -0,0 +1,17 @@ + + +TwoPartyDealProtocol.Primary.call - + + + +protocols / TwoPartyDealProtocol / Primary / call
+
+

call

+ +open fun call(): SignedTransaction
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/get-partial-transaction.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/get-partial-transaction.html new file mode 100644 index 0000000000..d5392a267b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/get-partial-transaction.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.getPartialTransaction - + + + +protocols / TwoPartyDealProtocol / Primary / getPartialTransaction
+
+

getPartialTransaction

+ +fun getPartialTransaction(): UntrustworthyData<SignedTransaction>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/index.html new file mode 100644 index 0000000000..1c7462e896 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/index.html @@ -0,0 +1,241 @@ + + +TwoPartyDealProtocol.Primary - + + + +protocols / TwoPartyDealProtocol / Primary
+
+

Primary

+abstract class Primary<U> : ProtocolLogic<SignedTransaction>
+

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+

Theres a good chance we can push at least some of this logic down into core protocol logic +and helper methods etc.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AWAITING_PROPOSAL +object AWAITING_PROPOSAL : Step
+COPYING_TO_REGULATOR +object COPYING_TO_REGULATOR : Step
+RECORDING +object RECORDING : Step
+SENDING_SIGS +object SENDING_SIGS : Step
+SIGNING +object SIGNING : Step
+TIMESTAMPING +object TIMESTAMPING : Step
+VERIFYING +object VERIFYING : Step
+

Constructors

+ + + + + + + +
+<init> +Primary(payload: U, otherSide: SingleMessageRecipient, otherSessionID: Long, myKeyPair: KeyPair, timestampingAuthority: NodeInfo, progressTracker: ProgressTracker = Primary.tracker())

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+myKeyPair +val myKeyPair: KeyPair
+otherSessionID +val otherSessionID: Long
+otherSide +val otherSide: SingleMessageRecipient
+payload +val payload: U
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+timestampingAuthority +val timestampingAuthority: NodeInfo
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+getPartialTransaction +fun getPartialTransaction(): UntrustworthyData<SignedTransaction>
+signWithOurKey +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+verifyPartialTransaction +fun verifyPartialTransaction(untrustedPartialTX: UntrustworthyData<SignedTransaction>): SignedTransaction
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): <ERROR CLASS>
+

Inheritors

+ + + + + + + + + + + +
+Floater +class Floater<T : FixableDealState> : Primary<StateRef>

One side of the fixing protocol for an interest rate swap, but could easily be generalised furher

+
+Instigator +class Instigator<T : DealState> : Primary<T>

One side of the protocol for inserting a pre-agreed deal.

+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/my-key-pair.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/my-key-pair.html new file mode 100644 index 0000000000..2798c955ee --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/my-key-pair.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.myKeyPair - + + + +protocols / TwoPartyDealProtocol / Primary / myKeyPair
+
+

myKeyPair

+ +val myKeyPair: KeyPair
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-session-i-d.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-session-i-d.html new file mode 100644 index 0000000000..1e3f2c34cb --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.otherSessionID - + + + +protocols / TwoPartyDealProtocol / Primary / otherSessionID
+
+

otherSessionID

+ +val otherSessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-side.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-side.html new file mode 100644 index 0000000000..2a724a6b0f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/other-side.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.otherSide - + + + +protocols / TwoPartyDealProtocol / Primary / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/payload.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/payload.html new file mode 100644 index 0000000000..d8f335886b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/payload.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.payload - + + + +protocols / TwoPartyDealProtocol / Primary / payload
+
+

payload

+ +val payload: U
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/progress-tracker.html new file mode 100644 index 0000000000..11e649d068 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Primary.progressTracker - + + + +protocols / TwoPartyDealProtocol / Primary / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/sign-with-our-key.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/sign-with-our-key.html new file mode 100644 index 0000000000..fa9fd9c786 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/sign-with-our-key.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.signWithOurKey - + + + +protocols / TwoPartyDealProtocol / Primary / signWithOurKey
+
+

signWithOurKey

+ +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/timestamping-authority.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/timestamping-authority.html new file mode 100644 index 0000000000..de7531b480 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/timestamping-authority.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.timestampingAuthority - + + + +protocols / TwoPartyDealProtocol / Primary / timestampingAuthority
+
+

timestampingAuthority

+ +val timestampingAuthority: NodeInfo
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/tracker.html new file mode 100644 index 0000000000..fd27c9ffca --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/tracker.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.tracker - + + + +protocols / TwoPartyDealProtocol / Primary / tracker
+
+

tracker

+ +fun tracker(): <ERROR CLASS>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/verify-partial-transaction.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/verify-partial-transaction.html new file mode 100644 index 0000000000..0725fb3749 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-primary/verify-partial-transaction.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Primary.verifyPartialTransaction - + + + +protocols / TwoPartyDealProtocol / Primary / verifyPartialTransaction
+
+

verifyPartialTransaction

+ +fun verifyPartialTransaction(untrustedPartialTX: UntrustworthyData<SignedTransaction>): SignedTransaction
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-init-.html new file mode 100644 index 0000000000..500f0f3e2e --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-init-.html @@ -0,0 +1,19 @@ + + +TwoPartyDealProtocol.Secondary.<init> - + + + +protocols / TwoPartyDealProtocol / Secondary / <init>
+
+

<init>

+Secondary(otherSide: SingleMessageRecipient, timestampingAuthority: Party, sessionID: Long, progressTracker: ProgressTracker = Secondary.tracker())
+

Abstracted bilateral deal protocol participant that is recipient of initial communication.

+

Theres a good chance we can push at least some of this logic down into core protocol logic +and helper methods etc.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-e-i-v-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-e-i-v-i-n-g.html new file mode 100644 index 0000000000..c6f530d31b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-e-i-v-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Secondary.RECEIVING - + + + +protocols / TwoPartyDealProtocol / Secondary / RECEIVING
+
+

RECEIVING

+object RECEIVING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-o-r-d-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-o-r-d-i-n-g.html new file mode 100644 index 0000000000..c3b4960cb9 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-r-e-c-o-r-d-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Secondary.RECORDING - + + + +protocols / TwoPartyDealProtocol / Secondary / RECORDING
+
+

RECORDING

+object RECORDING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-i-g-n-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-i-g-n-i-n-g.html new file mode 100644 index 0000000000..bd5efaa0f8 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-i-g-n-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Secondary.SIGNING - + + + +protocols / TwoPartyDealProtocol / Secondary / SIGNING
+
+

SIGNING

+object SIGNING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html new file mode 100644 index 0000000000..49d86f9edc --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Secondary.SWAPPING_SIGNATURES - + + + +protocols / TwoPartyDealProtocol / Secondary / SWAPPING_SIGNATURES
+
+

SWAPPING_SIGNATURES

+object SWAPPING_SIGNATURES : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-v-e-r-i-f-y-i-n-g.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-v-e-r-i-f-y-i-n-g.html new file mode 100644 index 0000000000..95c565c89a --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/-v-e-r-i-f-y-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyDealProtocol.Secondary.VERIFYING - + + + +protocols / TwoPartyDealProtocol / Secondary / VERIFYING
+
+

VERIFYING

+object VERIFYING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/assemble-shared-t-x.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/assemble-shared-t-x.html new file mode 100644 index 0000000000..5a5c3c7525 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/assemble-shared-t-x.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.assembleSharedTX - + + + +protocols / TwoPartyDealProtocol / Secondary / assembleSharedTX
+
+

assembleSharedTX

+ +protected abstract fun assembleSharedTX(handshake: Handshake<U>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/call.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/call.html new file mode 100644 index 0000000000..ec48adad6c --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/call.html @@ -0,0 +1,17 @@ + + +TwoPartyDealProtocol.Secondary.call - + + + +protocols / TwoPartyDealProtocol / Secondary / call
+
+

call

+ +open fun call(): SignedTransaction
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/index.html new file mode 100644 index 0000000000..a0b72d2ad4 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/index.html @@ -0,0 +1,211 @@ + + +TwoPartyDealProtocol.Secondary - + + + +protocols / TwoPartyDealProtocol / Secondary
+
+

Secondary

+abstract class Secondary<U> : ProtocolLogic<SignedTransaction>
+

Abstracted bilateral deal protocol participant that is recipient of initial communication.

+

Theres a good chance we can push at least some of this logic down into core protocol logic +and helper methods etc.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+RECEIVING +object RECEIVING : Step
+RECORDING +object RECORDING : Step
+SIGNING +object SIGNING : Step
+SWAPPING_SIGNATURES +object SWAPPING_SIGNATURES : Step
+VERIFYING +object VERIFYING : Step
+

Constructors

+ + + + + + + +
+<init> +Secondary(otherSide: SingleMessageRecipient, timestampingAuthority: Party, sessionID: Long, progressTracker: ProgressTracker = Secondary.tracker())

Abstracted bilateral deal protocol participant that is recipient of initial communication.

+
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+otherSide +val otherSide: SingleMessageRecipient
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+sessionID +val sessionID: Long
+timestampingAuthority +val timestampingAuthority: Party
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + + + + + +
+assembleSharedTX +abstract fun assembleSharedTX(handshake: Handshake<U>): <ERROR CLASS><TransactionBuilder, List<PublicKey>>
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+validateHandshake +abstract fun validateHandshake(handshake: Handshake<U>): Handshake<U>
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): ProgressTracker
+

Inheritors

+ + + + + + + + + + + +
+Acceptor +class Acceptor<T : DealState> : Secondary<T>

One side of the protocol for inserting a pre-agreed deal.

+
+Fixer +class Fixer<T : FixableDealState> : Secondary<StateRef>

One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/other-side.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/other-side.html new file mode 100644 index 0000000000..bff2ce3915 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/other-side.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.otherSide - + + + +protocols / TwoPartyDealProtocol / Secondary / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/progress-tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/progress-tracker.html new file mode 100644 index 0000000000..8a2baefc8c --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyDealProtocol.Secondary.progressTracker - + + + +protocols / TwoPartyDealProtocol / Secondary / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/session-i-d.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/session-i-d.html new file mode 100644 index 0000000000..3b716a2f26 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.sessionID - + + + +protocols / TwoPartyDealProtocol / Secondary / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/timestamping-authority.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/timestamping-authority.html new file mode 100644 index 0000000000..70d3adb51a --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/timestamping-authority.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.timestampingAuthority - + + + +protocols / TwoPartyDealProtocol / Secondary / timestampingAuthority
+
+

timestampingAuthority

+ +val timestampingAuthority: Party
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/tracker.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/tracker.html new file mode 100644 index 0000000000..e7d5c4bb49 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/tracker.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.tracker - + + + +protocols / TwoPartyDealProtocol / Secondary / tracker
+
+

tracker

+ +fun tracker(): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/validate-handshake.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/validate-handshake.html new file mode 100644 index 0000000000..784241bd06 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-secondary/validate-handshake.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.Secondary.validateHandshake - + + + +protocols / TwoPartyDealProtocol / Secondary / validateHandshake
+
+

validateHandshake

+ +protected abstract fun validateHandshake(handshake: Handshake<U>): Handshake<U>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/-init-.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/-init-.html new file mode 100644 index 0000000000..fc8fa64ad0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyDealProtocol.SignaturesFromPrimary.<init> - + + + +protocols / TwoPartyDealProtocol / SignaturesFromPrimary / <init>
+
+

<init>

+SignaturesFromPrimary(timestampAuthoritySig: WithKey, sellerSig: WithKey)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/index.html new file mode 100644 index 0000000000..76be026128 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/index.html @@ -0,0 +1,42 @@ + + +TwoPartyDealProtocol.SignaturesFromPrimary - + + + +protocols / TwoPartyDealProtocol / SignaturesFromPrimary
+
+

SignaturesFromPrimary

+class SignaturesFromPrimary
+
+
+

Constructors

+ + + + + + + +
+<init> +SignaturesFromPrimary(timestampAuthoritySig: WithKey, sellerSig: WithKey)
+

Properties

+ + + + + + + + + + + +
+sellerSig +val sellerSig: WithKey
+timestampAuthoritySig +val timestampAuthoritySig: WithKey
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/seller-sig.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/seller-sig.html new file mode 100644 index 0000000000..115758210b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/seller-sig.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.SignaturesFromPrimary.sellerSig - + + + +protocols / TwoPartyDealProtocol / SignaturesFromPrimary / sellerSig
+
+

sellerSig

+ +val sellerSig: WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/timestamp-authority-sig.html b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/timestamp-authority-sig.html new file mode 100644 index 0000000000..1d9df7f144 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/-signatures-from-primary/timestamp-authority-sig.html @@ -0,0 +1,15 @@ + + +TwoPartyDealProtocol.SignaturesFromPrimary.timestampAuthoritySig - + + + +protocols / TwoPartyDealProtocol / SignaturesFromPrimary / timestampAuthoritySig
+
+

timestampAuthoritySig

+ +val timestampAuthoritySig: WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-deal-protocol/index.html b/docs/build/html/api/protocols/-two-party-deal-protocol/index.html new file mode 100644 index 0000000000..ed9924f6b8 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-deal-protocol/index.html @@ -0,0 +1,106 @@ + + +TwoPartyDealProtocol - + + + +protocols / TwoPartyDealProtocol
+
+

TwoPartyDealProtocol

+object TwoPartyDealProtocol
+

Classes for manipulating a two party deal or agreement.

+

TODO: The subclasses should probably be broken out into individual protocols rather than making this an ever expanding collection of subclasses.

+

TODO: Also, the term Deal is used here where we might prefer Agreement.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Acceptor +class Acceptor<T : DealState> : Secondary<T>

One side of the protocol for inserting a pre-agreed deal.

+
+Fixer +class Fixer<T : FixableDealState> : Secondary<StateRef>

One side of the fixing protocol for an interest rate swap, but could easily be generalised further.

+
+Floater +class Floater<T : FixableDealState> : Primary<StateRef>

One side of the fixing protocol for an interest rate swap, but could easily be generalised furher

+
+Handshake +data class Handshake<T>
+Instigator +class Instigator<T : DealState> : Primary<T>

One side of the protocol for inserting a pre-agreed deal.

+
+Primary +abstract class Primary<U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that initiates communication/handshake.

+
+Secondary +abstract class Secondary<U> : ProtocolLogic<SignedTransaction>

Abstracted bilateral deal protocol participant that is recipient of initial communication.

+
+SignaturesFromPrimary +class SignaturesFromPrimary
+

Exceptions

+ + + + + + + + + + + +
+DealMismatchException +class DealMismatchException : Exception
+DealRefMismatchException +class DealRefMismatchException : Exception
+

Properties

+ + + + + + + +
+DEAL_TOPIC +val DEAL_TOPIC: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/-init-.html new file mode 100644 index 0000000000..d5e857ca58 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.AssetMismatchException.<init> - + + + +protocols / TwoPartyTradeProtocol / AssetMismatchException / <init>
+
+

<init>

+AssetMismatchException(expectedTypeName: String, typeName: String)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/expected-type-name.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/expected-type-name.html new file mode 100644 index 0000000000..f5ba76c752 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/expected-type-name.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.AssetMismatchException.expectedTypeName - + + + +protocols / TwoPartyTradeProtocol / AssetMismatchException / expectedTypeName
+
+

expectedTypeName

+ +val expectedTypeName: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/index.html new file mode 100644 index 0000000000..6ec1803de2 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/index.html @@ -0,0 +1,53 @@ + + +TwoPartyTradeProtocol.AssetMismatchException - + + + +protocols / TwoPartyTradeProtocol / AssetMismatchException
+
+

AssetMismatchException

+class AssetMismatchException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +AssetMismatchException(expectedTypeName: String, typeName: String)
+

Properties

+ + + + + + + + + + + +
+expectedTypeName +val expectedTypeName: String
+typeName +val typeName: String
+

Functions

+ + + + + + + +
+toString +fun toString(): String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/to-string.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/to-string.html new file mode 100644 index 0000000000..471a3f9edc --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/to-string.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.AssetMismatchException.toString - + + + +protocols / TwoPartyTradeProtocol / AssetMismatchException / toString
+
+

toString

+ +fun toString(): String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/type-name.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/type-name.html new file mode 100644 index 0000000000..97bc26fece --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-asset-mismatch-exception/type-name.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.AssetMismatchException.typeName - + + + +protocols / TwoPartyTradeProtocol / AssetMismatchException / typeName
+
+

typeName

+ +val typeName: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-init-.html new file mode 100644 index 0000000000..84763d3562 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.Buyer.<init> - + + + +protocols / TwoPartyTradeProtocol / Buyer / <init>
+
+

<init>

+Buyer(otherSide: SingleMessageRecipient, timestampingAuthority: Party, acceptablePrice: Amount, typeToBuy: Class<out OwnableState>, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-r-e-c-e-i-v-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-r-e-c-e-i-v-i-n-g.html new file mode 100644 index 0000000000..f65fef3854 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-r-e-c-e-i-v-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Buyer.RECEIVING - + + + +protocols / TwoPartyTradeProtocol / Buyer / RECEIVING
+
+

RECEIVING

+object RECEIVING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-i-g-n-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-i-g-n-i-n-g.html new file mode 100644 index 0000000000..10ee9dcad7 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-i-g-n-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Buyer.SIGNING - + + + +protocols / TwoPartyTradeProtocol / Buyer / SIGNING
+
+

SIGNING

+object SIGNING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html new file mode 100644 index 0000000000..4f0ec517dc --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-s-w-a-p-p-i-n-g_-s-i-g-n-a-t-u-r-e-s.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Buyer.SWAPPING_SIGNATURES - + + + +protocols / TwoPartyTradeProtocol / Buyer / SWAPPING_SIGNATURES
+
+

SWAPPING_SIGNATURES

+object SWAPPING_SIGNATURES : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-v-e-r-i-f-y-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-v-e-r-i-f-y-i-n-g.html new file mode 100644 index 0000000000..43e2cd9e0b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/-v-e-r-i-f-y-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Buyer.VERIFYING - + + + +protocols / TwoPartyTradeProtocol / Buyer / VERIFYING
+
+

VERIFYING

+object VERIFYING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/acceptable-price.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/acceptable-price.html new file mode 100644 index 0000000000..bee486308d --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/acceptable-price.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Buyer.acceptablePrice - + + + +protocols / TwoPartyTradeProtocol / Buyer / acceptablePrice
+
+

acceptablePrice

+ +val acceptablePrice: Amount
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/call.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/call.html new file mode 100644 index 0000000000..1e1d3eae3f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/call.html @@ -0,0 +1,17 @@ + + +TwoPartyTradeProtocol.Buyer.call - + + + +protocols / TwoPartyTradeProtocol / Buyer / call
+
+

call

+ +open fun call(): SignedTransaction
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/index.html new file mode 100644 index 0000000000..dfb5064efb --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/index.html @@ -0,0 +1,169 @@ + + +TwoPartyTradeProtocol.Buyer - + + + +protocols / TwoPartyTradeProtocol / Buyer
+
+

Buyer

+class Buyer : ProtocolLogic<SignedTransaction>
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+RECEIVING +object RECEIVING : Step
+SIGNING +object SIGNING : Step
+SWAPPING_SIGNATURES +object SWAPPING_SIGNATURES : Step
+VERIFYING +object VERIFYING : Step
+

Constructors

+ + + + + + + +
+<init> +Buyer(otherSide: SingleMessageRecipient, timestampingAuthority: Party, acceptablePrice: Amount, typeToBuy: Class<out OwnableState>, sessionID: Long)
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+acceptablePrice +val acceptablePrice: Amount
+otherSide +val otherSide: SingleMessageRecipient
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+sessionID +val sessionID: Long
+timestampingAuthority +val timestampingAuthority: Party
+typeToBuy +val typeToBuy: Class<out OwnableState>
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/other-side.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/other-side.html new file mode 100644 index 0000000000..2cb2d98143 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/other-side.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Buyer.otherSide - + + + +protocols / TwoPartyTradeProtocol / Buyer / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/progress-tracker.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/progress-tracker.html new file mode 100644 index 0000000000..4c10e094d0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyTradeProtocol.Buyer.progressTracker - + + + +protocols / TwoPartyTradeProtocol / Buyer / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/session-i-d.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/session-i-d.html new file mode 100644 index 0000000000..489473da52 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Buyer.sessionID - + + + +protocols / TwoPartyTradeProtocol / Buyer / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/timestamping-authority.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/timestamping-authority.html new file mode 100644 index 0000000000..9f4183a4c9 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/timestamping-authority.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Buyer.timestampingAuthority - + + + +protocols / TwoPartyTradeProtocol / Buyer / timestampingAuthority
+
+

timestampingAuthority

+ +val timestampingAuthority: Party
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/type-to-buy.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/type-to-buy.html new file mode 100644 index 0000000000..7a270d8060 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-buyer/type-to-buy.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Buyer.typeToBuy - + + + +protocols / TwoPartyTradeProtocol / Buyer / typeToBuy
+
+

typeToBuy

+ +val typeToBuy: Class<out OwnableState>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html new file mode 100644 index 0000000000..942c52ba0f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo.<init> - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo / <init>
+
+

<init>

+SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount, sellerOwnerKey: PublicKey, sessionID: Long)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/asset-for-sale.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/asset-for-sale.html new file mode 100644 index 0000000000..46d33703ac --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/asset-for-sale.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo.assetForSale - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo / assetForSale
+
+

assetForSale

+ +val assetForSale: StateAndRef<OwnableState>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/index.html new file mode 100644 index 0000000000..3dfbcb8df3 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/index.html @@ -0,0 +1,54 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo
+
+

SellerTradeInfo

+class SellerTradeInfo
+
+
+

Constructors

+ + + + + + + +
+<init> +SellerTradeInfo(assetForSale: StateAndRef<OwnableState>, price: Amount, sellerOwnerKey: PublicKey, sessionID: Long)
+

Properties

+ + + + + + + + + + + + + + + + + + + +
+assetForSale +val assetForSale: StateAndRef<OwnableState>
+price +val price: Amount
+sellerOwnerKey +val sellerOwnerKey: PublicKey
+sessionID +val sessionID: Long
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/price.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/price.html new file mode 100644 index 0000000000..6b43819ef0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/price.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo.price - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo / price
+
+

price

+ +val price: Amount
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/seller-owner-key.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/seller-owner-key.html new file mode 100644 index 0000000000..4033db523f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/seller-owner-key.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo.sellerOwnerKey - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo / sellerOwnerKey
+
+

sellerOwnerKey

+ +val sellerOwnerKey: PublicKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/session-i-d.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/session-i-d.html new file mode 100644 index 0000000000..30a1cced34 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller-trade-info/session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SellerTradeInfo.sessionID - + + + +protocols / TwoPartyTradeProtocol / SellerTradeInfo / sessionID
+
+

sessionID

+ +val sessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html new file mode 100644 index 0000000000..a1c5448855 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-a-w-a-i-t-i-n-g_-p-r-o-p-o-s-a-l.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Seller.AWAITING_PROPOSAL - + + + +protocols / TwoPartyTradeProtocol / Seller / AWAITING_PROPOSAL
+
+

AWAITING_PROPOSAL

+object AWAITING_PROPOSAL : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-init-.html new file mode 100644 index 0000000000..67986b2940 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.Seller.<init> - + + + +protocols / TwoPartyTradeProtocol / Seller / <init>
+
+

<init>

+Seller(otherSide: SingleMessageRecipient, timestampingAuthority: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker())
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-e-n-d-i-n-g_-s-i-g-s.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-e-n-d-i-n-g_-s-i-g-s.html new file mode 100644 index 0000000000..6e35ae3729 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-e-n-d-i-n-g_-s-i-g-s.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Seller.SENDING_SIGS - + + + +protocols / TwoPartyTradeProtocol / Seller / SENDING_SIGS
+
+

SENDING_SIGS

+object SENDING_SIGS : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-i-g-n-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-i-g-n-i-n-g.html new file mode 100644 index 0000000000..62094afd9a --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-s-i-g-n-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Seller.SIGNING - + + + +protocols / TwoPartyTradeProtocol / Seller / SIGNING
+
+

SIGNING

+object SIGNING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-t-i-m-e-s-t-a-m-p-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-t-i-m-e-s-t-a-m-p-i-n-g.html new file mode 100644 index 0000000000..ddade60013 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-t-i-m-e-s-t-a-m-p-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Seller.TIMESTAMPING - + + + +protocols / TwoPartyTradeProtocol / Seller / TIMESTAMPING
+
+

TIMESTAMPING

+object TIMESTAMPING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-v-e-r-i-f-y-i-n-g.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-v-e-r-i-f-y-i-n-g.html new file mode 100644 index 0000000000..9722dde40f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/-v-e-r-i-f-y-i-n-g.html @@ -0,0 +1,31 @@ + + +TwoPartyTradeProtocol.Seller.VERIFYING - + + + +protocols / TwoPartyTradeProtocol / Seller / VERIFYING
+
+

VERIFYING

+object VERIFYING : Step
+
+
+

Inherited Properties

+ + + + + + + + + + + +
+changes +open val changes: <ERROR CLASS><Change>
+label +open val label: String
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/asset-to-sell.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/asset-to-sell.html new file mode 100644 index 0000000000..5a321028dd --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/asset-to-sell.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.assetToSell - + + + +protocols / TwoPartyTradeProtocol / Seller / assetToSell
+
+

assetToSell

+ +val assetToSell: StateAndRef<OwnableState>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/buyer-session-i-d.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/buyer-session-i-d.html new file mode 100644 index 0000000000..b29e63a2ba --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/buyer-session-i-d.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.buyerSessionID - + + + +protocols / TwoPartyTradeProtocol / Seller / buyerSessionID
+
+

buyerSessionID

+ +val buyerSessionID: Long
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/call.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/call.html new file mode 100644 index 0000000000..2f9c8a4a6e --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/call.html @@ -0,0 +1,17 @@ + + +TwoPartyTradeProtocol.Seller.call - + + + +protocols / TwoPartyTradeProtocol / Seller / call
+
+

call

+ +open fun call(): SignedTransaction
+Overrides ProtocolLogic.call
+

This is where you fill out your business logic.

+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/index.html new file mode 100644 index 0000000000..db1ce82626 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/index.html @@ -0,0 +1,198 @@ + + +TwoPartyTradeProtocol.Seller - + + + +protocols / TwoPartyTradeProtocol / Seller
+
+

Seller

+class Seller : ProtocolLogic<SignedTransaction>
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + + + + + +
+AWAITING_PROPOSAL +object AWAITING_PROPOSAL : Step
+SENDING_SIGS +object SENDING_SIGS : Step
+SIGNING +object SIGNING : Step
+TIMESTAMPING +object TIMESTAMPING : Step
+VERIFYING +object VERIFYING : Step
+

Constructors

+ + + + + + + +
+<init> +Seller(otherSide: SingleMessageRecipient, timestampingAuthority: NodeInfo, assetToSell: StateAndRef<OwnableState>, price: Amount, myKeyPair: KeyPair, buyerSessionID: Long, progressTracker: ProgressTracker = Seller.tracker())
+

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+assetToSell +val assetToSell: StateAndRef<OwnableState>
+buyerSessionID +val buyerSessionID: Long
+myKeyPair +val myKeyPair: KeyPair
+otherSide +val otherSide: SingleMessageRecipient
+price +val price: Amount
+progressTracker +open val progressTracker: ProgressTracker

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+
+timestampingAuthority +val timestampingAuthority: NodeInfo
+

Inherited Properties

+ + + + + + + + + + + + + + + +
+logger +val logger: <ERROR CLASS>

This is where you should log things to.

+
+psm +lateinit var psm: ProtocolStateMachine<*>

Reference to the Fiber instance that is the top level controller for the entire flow.

+
+serviceHub +val serviceHub: ServiceHub

Provides access to big, heavy classes that may be reconstructed from time to time, e.g. across restarts

+
+

Functions

+ + + + + + + + + + + +
+call +open fun call(): SignedTransaction

This is where you fill out your business logic.

+
+signWithOurKey +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+

Inherited Functions

+ + + + + + + + + + + + + + + + + + + +
+receive +fun <T : Any> receive(topic: String, sessionIDForReceive: Long, clazz: Class<T>): UntrustworthyData<T>
+fun <T : Any> receive(topic: String, sessionIDForReceive: Long): UntrustworthyData<T>
+send +fun send(topic: String, destination: MessageRecipients, sessionID: Long, obj: Any): Unit
+sendAndReceive +fun <T : Any> sendAndReceive(topic: String, destination: MessageRecipients, sessionIDForSend: Long, sessionIDForReceive: Long, obj: Any): UntrustworthyData<T>
+subProtocol +fun <R> subProtocol(subLogic: ProtocolLogic<R>): R

Invokes the given subprotocol by simply passing through this ProtocolLogics reference to the +ProtocolStateMachine and then calling the call method.

+
+

Companion Object Functions

+ + + + + + + +
+tracker +fun tracker(): ProgressTracker
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/my-key-pair.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/my-key-pair.html new file mode 100644 index 0000000000..6c8395b3ea --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/my-key-pair.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.myKeyPair - + + + +protocols / TwoPartyTradeProtocol / Seller / myKeyPair
+
+

myKeyPair

+ +val myKeyPair: KeyPair
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/other-side.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/other-side.html new file mode 100644 index 0000000000..c22a714a12 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/other-side.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.otherSide - + + + +protocols / TwoPartyTradeProtocol / Seller / otherSide
+
+

otherSide

+ +val otherSide: SingleMessageRecipient
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/price.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/price.html new file mode 100644 index 0000000000..d2bf09587b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/price.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.price - + + + +protocols / TwoPartyTradeProtocol / Seller / price
+
+

price

+ +val price: Amount
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/progress-tracker.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/progress-tracker.html new file mode 100644 index 0000000000..55310ba155 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/progress-tracker.html @@ -0,0 +1,24 @@ + + +TwoPartyTradeProtocol.Seller.progressTracker - + + + +protocols / TwoPartyTradeProtocol / Seller / progressTracker
+
+

progressTracker

+ +open val progressTracker: ProgressTracker
+Overrides ProtocolLogic.progressTracker
+

Override this to provide a ProgressTracker. If one is provided and stepped, the framework will do something +helpful with the progress reports. If this protocol is invoked as a sub-protocol of another, then the +tracker will be made a child of the current step in the parent. If its null, this protocol doesnt track +progress.

+

Note that this has to return a tracker before the protocol is invoked. You cant change your mind half way +through.

+
+
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/sign-with-our-key.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/sign-with-our-key.html new file mode 100644 index 0000000000..df269740ac --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/sign-with-our-key.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.signWithOurKey - + + + +protocols / TwoPartyTradeProtocol / Seller / signWithOurKey
+
+

signWithOurKey

+ +open fun signWithOurKey(partialTX: SignedTransaction): WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/timestamping-authority.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/timestamping-authority.html new file mode 100644 index 0000000000..eb38bd3d75 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/timestamping-authority.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.timestampingAuthority - + + + +protocols / TwoPartyTradeProtocol / Seller / timestampingAuthority
+
+

timestampingAuthority

+ +val timestampingAuthority: NodeInfo
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/tracker.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/tracker.html new file mode 100644 index 0000000000..54c648d08b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-seller/tracker.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.Seller.tracker - + + + +protocols / TwoPartyTradeProtocol / Seller / tracker
+
+

tracker

+ +fun tracker(): ProgressTracker
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/-init-.html new file mode 100644 index 0000000000..767d05b5b4 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.SignaturesFromSeller.<init> - + + + +protocols / TwoPartyTradeProtocol / SignaturesFromSeller / <init>
+
+

<init>

+SignaturesFromSeller(timestampAuthoritySig: WithKey, sellerSig: WithKey)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/index.html new file mode 100644 index 0000000000..c2307dd12b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/index.html @@ -0,0 +1,42 @@ + + +TwoPartyTradeProtocol.SignaturesFromSeller - + + + +protocols / TwoPartyTradeProtocol / SignaturesFromSeller
+
+

SignaturesFromSeller

+class SignaturesFromSeller
+
+
+

Constructors

+ + + + + + + +
+<init> +SignaturesFromSeller(timestampAuthoritySig: WithKey, sellerSig: WithKey)
+

Properties

+ + + + + + + + + + + +
+sellerSig +val sellerSig: WithKey
+timestampAuthoritySig +val timestampAuthoritySig: WithKey
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/seller-sig.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/seller-sig.html new file mode 100644 index 0000000000..89d46cd81f --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/seller-sig.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SignaturesFromSeller.sellerSig - + + + +protocols / TwoPartyTradeProtocol / SignaturesFromSeller / sellerSig
+
+

sellerSig

+ +val sellerSig: WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/timestamp-authority-sig.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/timestamp-authority-sig.html new file mode 100644 index 0000000000..99ac9611e4 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-signatures-from-seller/timestamp-authority-sig.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.SignaturesFromSeller.timestampAuthoritySig - + + + +protocols / TwoPartyTradeProtocol / SignaturesFromSeller / timestampAuthoritySig
+
+

timestampAuthoritySig

+ +val timestampAuthoritySig: WithKey
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-t-r-a-d-e_-t-o-p-i-c.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-t-r-a-d-e_-t-o-p-i-c.html new file mode 100644 index 0000000000..104a71ac8b --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-t-r-a-d-e_-t-o-p-i-c.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.TRADE_TOPIC - + + + +protocols / TwoPartyTradeProtocol / TRADE_TOPIC
+
+

TRADE_TOPIC

+ +val TRADE_TOPIC: String
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html new file mode 100644 index 0000000000..8039ffdf70 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/-init-.html @@ -0,0 +1,14 @@ + + +TwoPartyTradeProtocol.UnacceptablePriceException.<init> - + + + +protocols / TwoPartyTradeProtocol / UnacceptablePriceException / <init>
+
+

<init>

+UnacceptablePriceException(givenPrice: Amount)
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html new file mode 100644 index 0000000000..53203a44fe --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/given-price.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.UnacceptablePriceException.givenPrice - + + + +protocols / TwoPartyTradeProtocol / UnacceptablePriceException / givenPrice
+
+

givenPrice

+ +val givenPrice: Amount
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html new file mode 100644 index 0000000000..90585749f0 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/-unacceptable-price-exception/index.html @@ -0,0 +1,36 @@ + + +TwoPartyTradeProtocol.UnacceptablePriceException - + + + +protocols / TwoPartyTradeProtocol / UnacceptablePriceException
+
+

UnacceptablePriceException

+class UnacceptablePriceException : Exception
+
+
+

Constructors

+ + + + + + + +
+<init> +UnacceptablePriceException(givenPrice: Amount)
+

Properties

+ + + + + + + +
+givenPrice +val givenPrice: Amount
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/index.html b/docs/build/html/api/protocols/-two-party-trade-protocol/index.html new file mode 100644 index 0000000000..9509700778 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/index.html @@ -0,0 +1,106 @@ + + +TwoPartyTradeProtocol - + + + +protocols / TwoPartyTradeProtocol
+
+

TwoPartyTradeProtocol

+object TwoPartyTradeProtocol
+

This asset trading protocol implements a "delivery vs payment" type swap. It has two parties (B and S for buyer +and seller) and the following steps:

+
  1. S sends the StateAndRef pointing to what they want to sell to B, along with info about the price they require +B to pay. For example this has probably been agreed on an exchange.

    +
  2. B sends to S a SignedTransaction that includes the state as input, Bs cash as input, the state with the new +owner key as output, and any change cash as output. It contains a single signature from B but isnt valid because +it lacks a signature from S authorising movement of the asset.

    +
  3. S signs it and hands the now finalised SignedWireTransaction back to B.

    +

Assuming no malicious termination, they both end the protocol being in posession of a valid, signed transaction +that represents an atomic asset swap.

+

Note that its the seller who initiates contact with the buyer, not vice-versa as you might imagine.

+

To initiate the protocol, use either the runBuyer or runSeller methods, depending on which side of the trade +your node is taking. These methods return a future which will complete once the trade is over and a fully signed +transaction is available: you can either block your thread waiting for the protocol to complete by using +ListenableFuture.get or more usefully, register a callback that will be invoked when the time comes.

+

To see an example of how to use this class, look at the unit tests.

+
+
+
+
+

Types

+ + + + + + + + + + + + + + + + + + + +
+Buyer +class Buyer : ProtocolLogic<SignedTransaction>
+Seller +class Seller : ProtocolLogic<SignedTransaction>
+SellerTradeInfo +class SellerTradeInfo
+SignaturesFromSeller +class SignaturesFromSeller
+

Exceptions

+ + + + + + + + + + + +
+AssetMismatchException +class AssetMismatchException : Exception
+UnacceptablePriceException +class UnacceptablePriceException : Exception
+

Properties

+ + + + + + + +
+TRADE_TOPIC +val TRADE_TOPIC: String
+

Functions

+ + + + + + + + + + + +
+runBuyer +fun runBuyer(smm: StateMachineManager, timestampingAuthority: NodeInfo, otherSide: SingleMessageRecipient, acceptablePrice: Amount, typeToBuy: Class<out OwnableState>, sessionID: Long): <ERROR CLASS><SignedTransaction>
+runSeller +fun runSeller(smm: StateMachineManager, timestampingAuthority: NodeInfo, otherSide: SingleMessageRecipient, assetToSell: StateAndRef<OwnableState>, price: Amount, myKeyPair: KeyPair, buyerSessionID: Long): <ERROR CLASS><SignedTransaction>
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/run-buyer.html b/docs/build/html/api/protocols/-two-party-trade-protocol/run-buyer.html new file mode 100644 index 0000000000..214edd450e --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/run-buyer.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.runBuyer - + + + +protocols / TwoPartyTradeProtocol / runBuyer
+
+

runBuyer

+ +fun runBuyer(smm: StateMachineManager, timestampingAuthority: NodeInfo, otherSide: SingleMessageRecipient, acceptablePrice: Amount, typeToBuy: Class<out OwnableState>, sessionID: Long): <ERROR CLASS><SignedTransaction>
+
+
+ + diff --git a/docs/build/html/api/protocols/-two-party-trade-protocol/run-seller.html b/docs/build/html/api/protocols/-two-party-trade-protocol/run-seller.html new file mode 100644 index 0000000000..0c5c7ef225 --- /dev/null +++ b/docs/build/html/api/protocols/-two-party-trade-protocol/run-seller.html @@ -0,0 +1,15 @@ + + +TwoPartyTradeProtocol.runSeller - + + + +protocols / TwoPartyTradeProtocol / runSeller
+
+

runSeller

+ +fun runSeller(smm: StateMachineManager, timestampingAuthority: NodeInfo, otherSide: SingleMessageRecipient, assetToSell: StateAndRef<OwnableState>, price: Amount, myKeyPair: KeyPair, buyerSessionID: Long): <ERROR CLASS><SignedTransaction>
+
+
+ + diff --git a/docs/build/html/api/protocols/index.html b/docs/build/html/api/protocols/index.html new file mode 100644 index 0000000000..fab86c9836 --- /dev/null +++ b/docs/build/html/api/protocols/index.html @@ -0,0 +1,88 @@ + + +protocols - + + + +protocols
+
+

Package protocols

+

Types

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+AbstractRequestMessage +abstract class AbstractRequestMessage

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

+
+FetchAttachmentsProtocol +class FetchAttachmentsProtocol : FetchDataProtocol<Attachment, ByteArray>

Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded +attachments are saved to local storage automatically.

+
+FetchDataProtocol +abstract class FetchDataProtocol<T : NamedByHash, W : Any> : ProtocolLogic<Result<T>>

An abstract protocol for fetching typed data from a remote peer.

+
+FetchTransactionsProtocol +class FetchTransactionsProtocol : FetchDataProtocol<SignedTransaction, SignedTransaction>

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

+
+RatesFixProtocol +open class RatesFixProtocol : ProtocolLogic<Unit>

This protocol queries the given oracle for an interest rate fix, and if it is within the given tolerance embeds the +fix in the transaction and then proceeds to get the oracle to sign it. Although the call method combines the query +and signing step, you can run the steps individually by constructing this object and then using the public methods +for each step.

+
+ResolveTransactionsProtocol +class ResolveTransactionsProtocol : ProtocolLogic<Unit>

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

+
+TimestampingProtocol +class TimestampingProtocol : ProtocolLogic<LegallyIdentifiable>

The TimestampingProtocol class is the client code that talks to a NodeTimestamperService on some remote node. It is a +ProtocolLogic, meaning it can either be a sub-protocol of some other protocol, or be driven independently.

+
+TwoPartyDealProtocol +object TwoPartyDealProtocol

Classes for manipulating a two party deal or agreement.

+
+TwoPartyTradeProtocol +object TwoPartyTradeProtocol

This asset trading protocol implements a "delivery vs payment" type swap. It has two parties (B and S for buyer +and seller) and the following steps:

+
+ + diff --git a/docs/build/html/api/style.css b/docs/build/html/api/style.css new file mode 100644 index 0000000000..0958623745 --- /dev/null +++ b/docs/build/html/api/style.css @@ -0,0 +1,280 @@ +@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700); + +body, table { + padding:50px; + font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; + color:#555; + font-weight:300; +} + +.keyword { + color:black; + font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; + font-size:12px; +} + +.symbol { + font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; + font-size:12px; +} + +.identifier { + color: darkblue; + font-size:12px; + font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; +} + +h1, h2, h3, h4, h5, h6 { + color:#222; + margin:0 0 20px; +} + +p, ul, ol, table, pre, dl { + margin:0 0 20px; +} + +h1, h2, h3 { + line-height:1.1; +} + +h1 { + font-size:28px; +} + +h2 { + color:#393939; +} + +h3, h4, h5, h6 { + color:#494949; +} + +a { + color:#258aaf; + font-weight:400; + text-decoration:none; +} + +a:hover { + color: inherit; + text-decoration:underline; +} + +a small { + font-size:11px; + color:#555; + margin-top:-0.6em; + display:block; +} + +.wrapper { + width:860px; + margin:0 auto; +} + +blockquote { + border-left:1px solid #e5e5e5; + margin:0; + padding:0 0 0 20px; + font-style:italic; +} + +code, pre { + font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; + color:#333; + font-size:12px; +} + +pre { + display: block; +/* + padding:8px 8px; + background: #f8f8f8; + border-radius:5px; + border:1px solid #e5e5e5; +*/ + overflow-x: auto; +} + +table { + width:100%; + border-collapse:collapse; +} + +th, td { + text-align:left; + vertical-align: top; + padding:5px 10px; +} + +dt { + color:#444; + font-weight:700; +} + +th { + color:#444; +} + +img { + max-width:100%; +} + +header { + width:270px; + float:left; + position:fixed; +} + +header ul { + list-style:none; + height:40px; + + padding:0; + + background: #eee; + background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); + background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); + background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); + background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%); + background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%); + + border-radius:5px; + border:1px solid #d2d2d2; + box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0; + width:270px; +} + +header li { + width:89px; + float:left; + border-right:1px solid #d2d2d2; + height:40px; +} + +header ul a { + line-height:1; + font-size:11px; + color:#999; + display:block; + text-align:center; + padding-top:6px; + height:40px; +} + +strong { + color:#222; + font-weight:700; +} + +header ul li + li { + width:88px; + border-left:1px solid #fff; +} + +header ul li + li + li { + border-right:none; + width:89px; +} + +header ul a strong { + font-size:14px; + display:block; + color:#222; +} + +section { + width:500px; + float:right; + padding-bottom:50px; +} + +small { + font-size:11px; +} + +hr { + border:0; + background:#e5e5e5; + height:1px; + margin:0 0 20px; +} + +footer { + width:270px; + float:left; + position:fixed; + bottom:50px; +} + +@media print, screen and (max-width: 960px) { + + div.wrapper { + width:auto; + margin:0; + } + + header, section, footer { + float:none; + position:static; + width:auto; + } + + header { + padding-right:320px; + } + + section { + border:1px solid #e5e5e5; + border-width:1px 0; + padding:20px 0; + margin:0 0 20px; + } + + header a small { + display:inline; + } + + header ul { + position:absolute; + right:50px; + top:52px; + } +} + +@media print, screen and (max-width: 720px) { + body { + word-wrap:break-word; + } + + header { + padding:0; + } + + header ul, header p.view { + position:static; + } + + pre, code { + word-wrap:normal; + } +} + +@media print, screen and (max-width: 480px) { + body { + padding:15px; + } + + header ul { + display:none; + } +} + +@media print { + body { + padding:0.4in; + font-size:12pt; + color:#444; + } +}