net.corda.contracts.clause / NetState

# NetState

`interface NetState<P>`

Common interface for the state subsets used when determining nettability of two or more states. Exposes the underlying issued thing.

### Properties

template | `abstract val template: Terms<P>`

### Inheritors

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 everyones amounts received are the same at the end, which is handled under the verify() function). In comparison to BilateralNetState, this doesnt 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.