@somnia-chain/markets-sdk


@somnia-chain/markets-sdk / index / IndexedOperator

Type Alias: IndexedOperator

IndexedOperator = object

Defined in: packages/sdk/src/operatorAdmin.ts:439

An operator as the indexer sees it (mirror of the Operator entity).

Properties

operatorId

operatorId: number

Defined in: packages/sdk/src/operatorAdmin.ts:441

operatorId (uint32) as a number — the on-chain id AND the entity primary key.


owner

owner: string

Defined in: packages/sdk/src/operatorAdmin.ts:443

Owner address (lowercased).


feeRecipient

feeRecipient: string

Defined in: packages/sdk/src/operatorAdmin.ts:445

Default fee recipient for the operator's venues (lowercased).


enabled

enabled: boolean

Defined in: packages/sdk/src/operatorAdmin.ts:447

The registry-level kill switch — false disables the operator.


policy

policy: string

Defined in: packages/sdk/src/operatorAdmin.ts:449

Operator-wide IVenuePolicy (lowercased); zero-address = none.


context

context: string

Defined in: packages/sdk/src/operatorAdmin.ts:454

Opaque operator-supplied metadata bytes (hex, 0x-prefixed; '0x' when empty). The chain attaches no semantics — off-chain data only.


pendingOwner

pendingOwner: string | null

Defined in: packages/sdk/src/operatorAdmin.ts:456

Pending incoming owner staged by a two-step transfer (lowercased); null if none in flight.


createdAtTimestamp

createdAtTimestamp: string

Defined in: packages/sdk/src/operatorAdmin.ts:458

Timestamp (unix seconds) the operator was registered.


updatedAtTimestamp

updatedAtTimestamp: string

Defined in: packages/sdk/src/operatorAdmin.ts:462

Timestamp (unix seconds) of the last update to the row. Somnia blocks are ~100ms, so roughly ten consecutive blocks share one value — use updatedAtBlock when you need to tell two writes apart.


updatedAtBlock

updatedAtBlock: bigint

Defined in: packages/sdk/src/operatorAdmin.ts:486

Block number of the last CONTROL-PLANE update to the row — NON-DECREASING, and finer-grained than the second-granularity timestamp beside it, which about ten consecutive Somnia blocks share.

Not every write to the row moves it, and a consumer must not read it as "the row was not written". The indexer stamps it on OperatorRegistered, OperatorUpdated, OperatorEnabledChanged, the three ownership-transfer events, and VenueCreated — that last one because creating a venue bumps this row's venueCount. It is NOT stamped on the denormalized rollups — market counts, cumulative volume, collected fees — which rewrite the row with this column carried through unchanged.

It is not a write counter and does not identify a write: two updates in the SAME block carry the same number, so this distinguishes updates ACROSS blocks and nothing narrower. A consumer that must not miss a write in a single block needs the events, not this column.

bigint, unlike the raw-string columns beside it, because SDK-TYPE-007 requires protocol integers to be exact at the boundary — the generated wire string is mapped here rather than exposed. The neighbouring strings predate that seam.


venueCount

venueCount: number

Defined in: packages/sdk/src/operatorAdmin.ts:488

Number of venues created under the operator (soft-disabled included).


marketCount

marketCount: number

Defined in: packages/sdk/src/operatorAdmin.ts:490

Number of markets created under the operator.


cumulativeQuoteVolume

cumulativeQuoteVolume: string

Defined in: packages/sdk/src/operatorAdmin.ts:492

Cumulative binary quote/collateral volume across the operator's markets (raw).


protocolFeesCollected

protocolFeesCollected: string

Defined in: packages/sdk/src/operatorAdmin.ts:494

Cumulative protocol fees collected across the operator's markets (raw).


settlementFeesCollected

settlementFeesCollected: string

Defined in: packages/sdk/src/operatorAdmin.ts:496

Cumulative settlement fees collected across the operator's markets (raw).


builderFeesCollected

builderFeesCollected: string

Defined in: packages/sdk/src/operatorAdmin.ts:498

Cumulative builder fees routed across the operator's markets (raw).