Reference

Trading events

The factory and pair emit every reserve and LP state change. The router emits an event only for the two share-transfer operations it executes itself.

Factory

PairCreated(securityPool, shareToken, universeId, pair, feeBps) identifies one exact branch market and its immutable fee.

Pair

Router

Attributing router operations

For router-mediated operations, pair provider/sender fields and SecurityPool creator/redeemer fields identify the router, not the initiating wallet. Pair recipient identifies the explicit asset recipient. Insured exits carry the owner in PositionExitedByTransfer. For complete-set redemptions, take the owner from the ShareToken TransferBatch log's from field, since CompleteSetRedeemedByTransfer records only the pool and payout recipient. Entry and liquidity operations emit no router event, so for those an indexer must combine the transaction sender, the called router method, pair and core logs, and the explicit recipient; it must not infer wallet attribution from the immediate-caller fields alone.

Router return tuples are available from authoritative call simulation only; they are not stored in a mined receipt. Mined complete-set and ETH-flow evidence comes from the SecurityPool's CompleteSetCreated and CompleteSetRedeemed events plus transaction logs.