Package-level declarations
Types
Calculates the trust of attachments stored in the node.
Data class containing information about an attachment's trust root.
Used only for passing to the Attachment constraint verification.
Implementation of TimedFlow that can handle WaitTimeUpdate messages. Any flow talking to the notary should implement this and use explicit send and this class's receiveResultOrTiming to receive the response to handle cases where the notary sends a timeout update.
Constructs a ContractUpgradeWireTransaction.
A digital signature with attached certificate of the public key and (optionally) the remaining chain of the certificates from the certificate path.
Given a set of hashes either loads from local storage or requests them from the other peer. Downloaded attachments are saved to local storage automatically.
An abstract flow for fetching typed data from a remote peer.
Given a set of hashes either loads from local network parameters storage or requests them from the other peer. Downloaded network parameters are saved to local parameters storage automatically. This flow can be used only if the minimumPlatformVersion is >= PlatformVersionSwitches.FETCH_MISSING_NETWORK_PARAMETERS. Nodes on lower versions won't respond to this flow.
Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.
Interface for arbitrary operations that can be invoked in a flow asynchronously - the flow will suspend until the operation completes. Operation parameters are expected to be injected via constructor.
A FlowIORequest represents an IO request of a flow when it suspends. It is persisted in checkpoints.
This is an internal interface that is implemented by code in the node module. You should look at FlowLogic.
A marker for a flow that will return the same result if replayed from the beginning. Any side effects the flow causes must also be idempotent.
Utility class which provides the ability to extract a list of signing parties from a JarInputStream.
List implementation that applies the expensive transform function only when the element is accessed and caches calculated values. Size is very cheap as it doesn't call transform. Used internally by net.corda.core.transactions.TraversableTransaction.
A LazyStickyPool is a lazy pool of resources where a borrow may "stick" the borrowed instance to an object. Any subsequent borrows using the same object will return the same pooled instance.
Allow extra functionality to be injected to our caches.
Constructs a NotaryChangeWireTransaction.
This is a wildcard payload to be used by the invoker of the DataVendingFlow to allow unlimited access to its vault.
A SerializedStateAndRef is a pair (BinaryStateRepresentation, StateRef). The serializedState is the actual component from the original wire transaction.
Similar to SignedData but instead of just attaching the public key, the certificate for the key is attached instead.
Uses reflection to search for instances of StatePointer within a ContractState. TODO: Doesn't handle calculated properties. Add support for this.
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 it'll be released if there's an exception.
The named thread has leaked from a previous test.
An idempotent flow that needs to be replayed if it does not complete within a certain timeout.
May go from null to non-null and vice-versa, and that's it.
x Exception raised if an error was encountered while attempting to deserialise a component group in a transaction.
The annotated object would have a more restricted visibility were it not needed in tests.
An FlowAsyncOperation which suspends a flow until the provided StateRefs have been updated.
Properties
The configured instance of DigestService which is passed by default to instances of classes like TransactionBuilder and as a parameter to MerkleTree.getMerkleTree(...) method. Default: SHA2_256.
Returns a name of the external operation implementation considering that it can wrapped by WrappedFlowExternalAsyncOperation
Calculate the hash of the contents of this file.
The maximum number of keys in a signature constraint that the platform supports.
Convenience method to get the package name of a class literal.
Obtain the typename of the required ContractClass associated with the target ContractState, using the BelongsToContract annotation by default, but falling through to checking the state's enclosing class if there is one and it inherits from Contract.
Functions
Returns an Observable that buffers events until subscribed.
This method will be used in conjunction with NoConstraintPropagation. It is run during transaction verification when the contract is not annotated with NoConstraintPropagation. When constraints propagation is enabled, constraints set on output states need to follow certain rules with regards to constraints of input states.
Check that network parameters hash on this transaction is the current hash for the network.
Concatenates the hash components into a single ByteArray and returns its hash.
See overload of Files.copy which takes in an InputStream.
Copy the file into the target directory using Files.copy.
Creates instances of all the classes in the classpath of the provided classloader, which implement the interface of the provided class.
Returns a DeclaredField wrapper around the declared (possibly non-public) instance field of the receiver object.
Returns a DeclaredField wrapper around the (possibly non-public) instance field of the receiver object, but declared in its superclass clazz.
Deletes this path (if it exists) and if it's a directory, all its child paths recursively.
Method to deserialise Commands from its two groups:
This function knows how to deserialize a transaction component group.
Iterate over a LazyMappedList, forcing it to transform all of its elements immediately. This transformation is assumed to be "deserialisation". Does nothing for any other kind of List. WARNING: Any changes made to the LazyMappedList contents are PERMANENT!
Executes the given code block and returns a Duration of how long it took to execute in nanosecond precision.
Scans for all the non-abstract classes in the classpath of the provided classloader which implement the interface of the provided class.
Returns the public key of the package owner of the contractClassName, or null if not owned.
Calculate the hash of the remaining bytes in this input stream. The stream is closed at the end.
Returns the index of the given item or throws IllegalArgumentException if not found.
Checks equality between the two X500Principal instances ignoring the ordering of the X500Name parts.
Checks if this flow is an idempotent flow.
Analogous to Thread.join.
Returns the single element, or null
if the list is empty, or throws an exception if it has more than one element.
Returns the single element matching the given predicate, or null
if the collection is empty, or throws exception if more than one element was found.
Use this rather than the built-in implementation of ClassGraph.scan. The built-in implementation creates a thread pool every time, resulting in too many threads. This one uses a mutex to restrict concurrency.
Same as inputStream except it also closes the InputStream.
Same as InputStream.readBytes but also closes the stream.
Read in this file as an AMQP serialised blob of type T.
Check if a string is a legal Java package name.
Returns a DeclaredField wrapper around the declared (possibly non-public) static field of the receiver Class.
Returns a DeclaredField wrapper around the declared (possibly non-public) static field of the receiver KClass.
Transforms the X500Principal to the attributes map.
Converts the X500Principal instance to the X500Name object.
Return the underlying X.500 name from this Corda-safe X.500 name. These are guaranteed to have a consistent ordering, such that their toString()
function returns the same value every time for the same CordaX500Name.
Same as outputStream except it also closes the OutputStream.