@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).