@somnia-chain/markets-sdk


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

Variable: perpPoolEventsAbi

const perpPoolEventsAbi: readonly [{ type: "event"; name: "FundingUpdated"; inputs: readonly [{ name: "fundingRate"; type: "int256"; indexed: false; }, { name: "cumulativeFundingPerUnit"; type: "int256"; indexed: false; }, { name: "indexPrice"; type: "uint256"; indexed: false; }, { name: "intervalsSettled"; type: "uint64"; indexed: false; }, { name: "markPrice"; type: "uint256"; indexed: false; }]; anonymous: false; }, { type: "event"; name: "OpenInterestUpdated"; inputs: readonly [{ name: "openInterest"; type: "uint256"; indexed: false; }]; anonymous: false; }, { type: "event"; name: "MakerOrderCancelledNegativeEquity"; inputs: readonly [{ name: "orderId"; type: "uint128"; indexed: true; }]; anonymous: false; }, { type: "event"; name: "MakerOrderCancelledStaleMark"; inputs: readonly [{ name: "orderId"; type: "uint128"; indexed: true; }]; anonymous: false; }]

Defined in: packages/sdk/src/eventsAbi.ts:163

PerpPool-only events the live tail materializes (funding + open interest). Signatures verified against the DEPLOYED implementation's runtime bytecode, not against a source tree — the claim they previously carried ("mirror IPerpPool exactly, deployed testnet implementation") was false for both events here, and being false in a comment is how it survived: a wrong arity is a different topic0, so watchEvent filtered on something no pool ever emitted and the live funding tail silently never fired. mise run verify:abis in the indexer package is what now checks this class of claim mechanically.