interface LinearState : ContractStateA state that evolves by superseding itself, all of which share the common "linearId".
This simplifies the job of tracking the current version of certain types of state in e.g. a wallet.
| ClauseVerifier |
class ClauseVerifier<S : LinearState> : ConcreteClause<ContractState, CommandData, Unit>Standard clause to verify the LinearState safety properties. |
| linearId |
abstract val linearId: UniqueIdentifierUnique id shared by all LinearState states throughout history within the wallets of all parties. Verify methods should check that one input and one output share the id in a transaction, except at issuance/termination. |
| contract |
abstract val contract: ContractAn instance of the contract class that will verify this state. |
| participants |
abstract val participants: List<PublicKey>A |
| isRelevant |
abstract fun isRelevant(ourKeys: Set<PublicKey>): BooleanTrue if this should be tracked by our wallet(s). |
| hash |
fun ContractState.hash(): SecureHashReturns the SHA-256 hash of the serialised contents of this state (not cached) |
| DealState |
interface DealState : LinearStateInterface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general protocols that manipulate many agreement types. |
| State |
class State : LinearState |