Class: ExerciseOperation
Defined in: packages/overcast-core/src/operation.ts:239
A taker delegating exercise_option. Unlike the offer operations this is not
a content-addressed struct: the taker commits to the two offer ids, the
exercise amount, and the opaque settlement metadata.
Payload byte layout (ExerciseOperationPayload::to_bytes):
collateral_offer (32B) | settlement_offer (32B) | amount (u256 LE, 32B) |
metadata_len (4B LE) | metadata (N B)
Extends
Constructors
Constructor
new ExerciseOperation(
option,
amount,
metadata,
taker,
params?): ExerciseOperation;
Defined in: packages/overcast-core/src/operation.ts:242
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
amount | bigint | Exercised amount, in the collateral asset's native units. |
metadata | Metadata | Opaque settlement-layer metadata (empty for the physical layer). |
taker | Bytes32 | The person who exercises and holds the exercise claims |
params? | OperationParams | - |
Returns
ExerciseOperation
Overrides
Properties
actionByte
readonly actionByte: number = ACTIONS.ExerciseOption;
Defined in: packages/overcast-core/src/operation.ts:240
The action's distinct discriminant byte (see ACTIONS).
Overrides
amount
readonly amount: bigint;
Defined in: packages/overcast-core/src/operation.ts:245
Exercised amount, in the collateral asset's native units.
domain
readonly domain: number;
Defined in: packages/overcast-core/src/operation.ts:140
The domain that this operation is intended for
Inherited from
metadata
readonly metadata: Metadata;
Defined in: packages/overcast-core/src/operation.ts:247
Opaque settlement-layer metadata (empty for the physical layer).
option
readonly option: MarketOption;
Defined in: packages/overcast-core/src/operation.ts:243
params
readonly params: OperationParams;
Defined in: packages/overcast-core/src/operation.ts:141
Inherited from
taker
readonly taker: Bytes32;
Defined in: packages/overcast-core/src/operation.ts:249
The person who exercises and holds the exercise claims
Methods
digest()
digest(): Bytes32;
Defined in: packages/overcast-core/src/operation.ts:161
Build the canonical 32-byte message the signer commits to — the same encoding getId uses for content-addresses, and for the same reason: the preimage is cross-chain, so the digest is identical on every layer and belongs to none of them.
Preimage layout (SHA-256 hashed), mirroring Operation::digest:
"overcast_intent" (15B) | version=1 (1B) | domain (4B LE) | curve (1B) |
action (1B) | expiry LE (8B, i64) | nonce (32B) | payload_bytes (variable)
Returns
Inherited from
payloadBytes()
payloadBytes(): Uint8Array;
Defined in: packages/overcast-core/src/operation.ts:255
Serializes the action payload into its explicit ToBytes byte layout.
Returns
Uint8Array
Overrides
sign()
sign(signer): Promise<SignedOperation>;
Defined in: packages/overcast-core/src/operation.ts:175
Parameters
| Parameter | Type |
|---|---|
signer | OvercastProtocolSigner |
Returns
Promise<SignedOperation>