public class NetClause<C extends CommandData,P>
extends Clause
Clause for netting contract states. Currently only supports obligation contract.
Clause.Companion| Constructor and Description |
|---|
NetClause()
Clause for netting contract states. Currently only supports obligation contract.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<java.lang.Class> |
getRequiredCommands()
Determine whether this clause runs or not
|
java.util.Set<C> |
verify(TransactionForContract tx,
java.util.List<? extends net.corda.core.contracts.ContractState> inputs,
java.util.List<? extends net.corda.core.contracts.ContractState> outputs,
java.util.List<? extends net.corda.core.contracts.AuthenticatedObject<? extends C>> commands,
kotlin.Unit groupingKey)
Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause
would check each of the output states that it applies to, looking for a zero amount, and throw IllegalStateException
if any matched.
|
void |
verifyNetCommand(java.util.List<net.corda.contracts.asset.Obligation.State> inputs,
java.util.List<net.corda.contracts.asset.Obligation.State> outputs,
AuthenticatedObject<? extends net.corda.core.contracts.NetCommand> command,
NetState<P> netState)
Verify a netting command. This handles both close-out and payment netting.
|
getExecutionPath, getRequiredCommands, verifypublic NetClause()
Clause for netting contract states. Currently only supports obligation contract.
public java.util.Set<java.lang.Class> getRequiredCommands()
Determine whether this clause runs or not
public java.util.Set<C> verify(TransactionForContract tx, java.util.List<? extends net.corda.core.contracts.ContractState> inputs, java.util.List<? extends net.corda.core.contracts.ContractState> outputs, java.util.List<? extends net.corda.core.contracts.AuthenticatedObject<? extends C>> commands, kotlin.Unit groupingKey)
Verify the transaction matches the conditions from this clause. For example, a "no zero amount output" clause would check each of the output states that it applies to, looking for a zero amount, and throw IllegalStateException if any matched.
tx - the full transaction being verified. This is provided for cases where clauses need to access
states or commands outside of their normal scope.inputs - input states which are relevant to this clause. By default this is the set passed into verifyClause,
but may be further reduced by clauses such as GroupClauseVerifier.outputs - output states which are relevant to this clause. By default this is the set passed into verifyClause,
but may be further reduced by clauses such as GroupClauseVerifier.commands - commands which are relevant to this clause. By default this is the set passed into verifyClause,
but may be further reduced by clauses such as GroupClauseVerifier.groupingKey - a grouping key applied to states and commands, where applicable. Taken from
class TransactionForContract.InOutGroup.public void verifyNetCommand(java.util.List<net.corda.contracts.asset.Obligation.State> inputs,
java.util.List<net.corda.contracts.asset.Obligation.State> outputs,
AuthenticatedObject<? extends net.corda.core.contracts.NetCommand> command,
NetState<P> netState)
Verify a netting command. This handles both close-out and payment netting.