public class TransactionDSL<T extends TransactionDSLInterpreter> implements TransactionDSLInterpreter
Underlying class for the transaction DSL. Do not instantiate directly, instead use the transaction function.
public TransactionDSL(@NotNull
T interpreter,
@NotNull
Party notary)
Underlying class for the transaction DSL. Do not instantiate directly, instead use the transaction function.
public void reference(@NotNull
java.lang.String stateLabel)
Looks up the output label and adds the found state as an reference input state.
stateLabel - The label of the output state specified when calling TransactionDSLInterpreter.output and friends.public void reference(@NotNull
java.lang.String contractClassName,
@NotNull
ContractState state)
Creates an LedgerDSLInterpreter._unverifiedTransaction with a single reference input state and adds its
reference as in input to the current transaction.
state - The state to be added.LedgerDSLInterpreter._unverifiedTransactionpublic void input(@NotNull
java.lang.String stateLabel)
Looks up the output label and adds the found state as an input.
stateLabel - The label of the output state specified when calling TransactionDSLInterpreter.output and friends.public void input(@NotNull
java.lang.String contractClassName,
@NotNull
java.lang.String stateLabel)
public void input(@NotNull
java.lang.String contractClassName,
@NotNull
ContractState state)
Creates an LedgerDSLInterpreter._unverifiedTransaction with a single output state and adds its reference as an
input to the current transaction.
state - The state to be added.LedgerDSLInterpreter._unverifiedTransactionpublic void output(@NotNull
java.lang.String contractClassName,
@NotNull
java.lang.String label,
@NotNull
Party notary,
@NotNull
ContractState contractState)
Adds a labelled output to the transaction.
public void output(@NotNull
java.lang.String contractClassName,
@NotNull
java.lang.String label,
int encumbrance,
@NotNull
ContractState contractState)
Adds a labelled output to the transaction.
public void output(@NotNull
java.lang.String contractClassName,
@NotNull
java.lang.String label,
@NotNull
ContractState contractState)
Adds a labelled output to the transaction.
public void output(@NotNull
java.lang.String contractClassName,
@NotNull
Party notary,
@NotNull
ContractState contractState)
Adds an output to the transaction.
public void output(@NotNull
java.lang.String contractClassName,
int encumbrance,
@NotNull
ContractState contractState)
Adds an output to the transaction.
public void output(@NotNull
java.lang.String contractClassName,
@NotNull
ContractState contractState)
Adds an output to the transaction.
public void command(@NotNull
java.security.PublicKey signer,
@NotNull
CommandData commandData)
Adds a command to the transaction.
@JvmOverloads
public void timeWindow(@NotNull
java.time.Instant time,
@NotNull
java.time.Duration tolerance)
Sets the class TimeWindow of the transaction.
time - The Instant of the class TimeWindow.tolerance - The tolerance of the class TimeWindow.class TimeWindow@JvmOverloads
public void timeWindow(@NotNull
java.time.Instant time)
Sets the class TimeWindow of the transaction.
time - The Instant of the class TimeWindow.class TimeWindow@NotNull public EnforceVerifyOrFail tweak(@NotNull kotlin.jvm.functions.Function1<? super net.corda.testing.dsl.TransactionDSL<? extends net.corda.testing.dsl.TransactionDSLInterpreter>,? extends net.corda.testing.dsl.EnforceVerifyOrFail> dsl)
Creates a local scoped copy of the transaction.
public void attachment(@NotNull
java.lang.String contractClassName)
TransactionDSLInterpreter._attachmentpublic void attachment(@NotNull
java.lang.String contractClassName,
@NotNull
SecureHash attachmentId,
@NotNull
java.util.List<? extends java.security.PublicKey> signers,
@NotNull
java.util.Map<java.lang.String,java.lang.String> jarManifestAttributes)
public void attachment(@NotNull
java.lang.String contractClassName,
@NotNull
SecureHash attachmentId)
public void attachments(@NotNull
java.lang.String... contractClassNames)
@NotNull public LedgerDSLInterpreter<net.corda.testing.dsl.TransactionDSLInterpreter> getLedgerInterpreter()
A reference to the enclosing ledger{..}'s interpreter.
public void _attachment(@NotNull
java.lang.String contractClassName)
Attaches an attachment containing the named contract to the transaction
contractClassName - The contract class to attachpublic void _attachment(@NotNull
java.lang.String contractClassName,
@NotNull
SecureHash attachmentId,
@NotNull
java.util.List<? extends java.security.PublicKey> signers)
Attaches an attachment containing the named contract to the transaction
contractClassName - The contract class to attachattachmentId - The attachmentpublic void _attachment(@NotNull
java.lang.String contractClassName,
@NotNull
SecureHash attachmentId,
@NotNull
java.util.List<? extends java.security.PublicKey> signers,
@NotNull
java.util.Map<java.lang.String,java.lang.String> jarManifestAttributes)
Attaches an attachment containing the named contract to the transaction.
contractClassName - The contract class to attach.attachmentId - The attachment.signers - The signers.jarManifestAttributes - The JAR manifest file attributes.@NotNull public EnforceVerifyOrFail _tweak(@NotNull kotlin.jvm.functions.Function1<? super net.corda.testing.dsl.TransactionDSLInterpreter,? extends net.corda.testing.dsl.EnforceVerifyOrFail> dsl)
Creates a local scoped copy of the transaction.
dsl - The transaction DSL to be interpreted using the copy.public void attachment(@NotNull
SecureHash attachmentId)
Adds an interface Attachment reference to the transaction.
attachmentId - The hash of the attachment, possibly returned by LedgerDSLInterpreter.attachment.interface Attachmentpublic void command(@NotNull
java.util.List<? extends java.security.PublicKey> signers,
@NotNull
CommandData commandData)
Adds a command to the transaction.
signers - The signer public keys.commandData - The contents of the command.@NotNull public EnforceVerifyOrFail fails()
Asserts that verifies throws, with no condition on the exception message.
verifies@NotNull public EnforceVerifyOrFail fails with(@NotNull java.lang.String msg)
failsWith@NotNull public EnforceVerifyOrFail failsWith(@Nullable java.lang.String expectedMessage)
Asserts that verifies() throws.
expectedMessage - An optional string to be searched for in the raised exception.public void input(@NotNull
StateRef stateRef)
Adds an input reference to the transaction. Note that verifies will resolve this reference.
stateRef - The input class StateRef.verifiespublic void output(@NotNull
java.lang.String contractClassName,
@Nullable
java.lang.String label,
@NotNull
Party notary,
@Nullable
java.lang.Integer encumbrance,
@NotNull
AttachmentConstraint attachmentConstraint,
@NotNull
ContractState contractState)
Adds an output to the transaction.
contractClassName - The class name of the contract that verifies this state.label - An optional label that may be later used to retrieve the output probably in other transactions.notary - The associated notary.encumbrance - The position of the encumbrance state.attachmentConstraint - The attachment constraintcontractState - The state itself.public void reference(@NotNull
StateRef stateRef)
Add a reference input state to the transaction. Note that verifies will resolve this reference.
stateRef - The input class StateRef.verifies@NotNull public <S extends ContractState> StateAndRef<S> retrieveOutputStateAndRef(@NotNull java.lang.Class<S> clazz, @NotNull java.lang.String label)
Retrieves an output previously defined by TransactionDSLInterpreter.output with a label passed in.
clazz - The class object holding the type of the output state expected.label - The label of the to-be-retrieved output state.class StateAndRef.TransactionDSLInterpreter.outputpublic void timeWindow(@NotNull
TimeWindow data)
Sets the time-window of the transaction.
data - the class TimeWindow (validation window).@NotNull public EnforceVerifyOrFail verifies()
Verifies the ledger/transaction, throws if the verification fails.