Skip to main content

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​

ParameterTypeDescription
optionMarketOption-
amountbigintExercised amount, in the collateral asset's native units.
metadataMetadataOpaque settlement-layer metadata (empty for the physical layer).
takerBytes32The person who exercises and holds the exercise claims
params?OperationParams-

Returns​

ExerciseOperation

Overrides​

Operation.constructor

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​

Operation.actionByte


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​

Operation.domain


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​

Operation.params


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​

Bytes32

Inherited from​

Operation.digest


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​

Operation.payloadBytes


sign()​

sign(signer): Promise<SignedOperation>;

Defined in: packages/overcast-core/src/operation.ts:175

Parameters​

ParameterType
signerOvercastProtocolSigner

Returns​

Promise<SignedOperation>

Inherited from​

Operation.sign