@somnia-chain/markets-sdk / index / perpPoolEventsAbi
Variable: perpPoolEventsAbi
constperpPoolEventsAbi: 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.