corda / net.corda.contracts.clause

## Package net.corda.contracts.clause

### Types

AbstractConserveAmount | `abstract class AbstractConserveAmount<S : FungibleAsset<T>, C : CommandData, T : Any> : Clause<S, C, Issued<T>>` Standardised clause for checking input/output balances of fungible assets. Requires that a Move command is provided, and errors if absent. Must be the last clause under a grouping clause; errors on no-match, ends on match.
AbstractIssue | `abstract class AbstractIssue<in S : ContractState, C : CommandData, T : Any> : Clause<S, C, Issued<T>>` Standard issue clause for contracts that issue fungible assets.
BilateralNetState | `data class BilateralNetState<P> : NetState<P>` Subset of state, containing the elements which must match for two obligation transactions to be nettable. If two obligation state objects produce equal bilateral net states, they are considered safe to net directly. Bilateral states are used in close-out netting.
MultilateralNetState | `data class MultilateralNetState<P> : NetState<P>` Subset of state, containing the elements which must match for two or more obligation transactions to be candidates for netting (this does not include the checks to enforce that everyone's amounts received are the same at the end, which is handled under the verify() function). In comparison to BilateralNetState, this doesn't include the parties' keys, as ensuring balances match on input and output is handled elsewhere. Used in cases where all parties (or their proxies) are signing, such as central clearing.
NetClause | `open class NetClause<C : CommandData, P> : Clause<ContractState, C, Unit>` Clause for netting contract states. Currently only supports obligation contract.
NetState | `interface NetState<P>` Common interface for the state subsets used when determining nettability of two or more states. Exposes the underlying issued thing.
NoZeroSizedOutputs | `open class NoZeroSizedOutputs<in S : FungibleAsset<T>, C : CommandData, T : Any> : Clause<S, C, Issued<T>>` Clause for fungible asset contracts, which enforces that no output state should have a balance of zero.