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