Launch and trading events are emitted by IgnixManager. Dividend events are emitted by each token's DividendTracker, whose address is available from TokenCreated.tracker.
68256785
Earlier blocks do not contain records from the current contract version.
event TokenCreated(
address indexed token,
address indexed creator,
address indexed quote, // Quote Token; 0 = native OKB
uint256 graduation, // Graduation Threshold in smallest Quote Token units
string metadataURI,
address vault, // Vault
address tracker, // Dividend tracker; 0 if no dividends
uint16 templateId // 0 = System Vault, 1 = Tokenized Stock Vault
);
When receiving TokenCreated, it is recommended to store both vault and tracker for subsequent Vault and dividend event indexing.
Tax rates are not included in the event. Read taxBuyBps() / taxSellBps() directly from the token. These fields also determine the token type.
event Trade(
address indexed token,
address indexed trader,
bool isBuy,
uint256 grossQuoteAmount,
uint256 netQuoteAmount,
uint256 curveQuoteAmount,
uint256 tokenAmount,
uint256 platformFee,
uint256 taxFee,
uint128 collected
);
The three Quote Token amount fields have different meanings. Use the following consistently when calculating execution price:
curveQuoteAmount / tokenAmount
Do not use grossQuoteAmount, as it produces inconsistent buy- and sell-side pricing.
collected is the cumulative amount raised, not the amount from the individual trade.
The graduation event depends on the token type. The two events are mutually exclusive.
// Non-tax token → Uniswap V4
event Graduated(
address indexed token,
bytes32 indexed poolId,
uint256 lpTokenId,
address vault,
uint128 quoteInjected,
uint128 tokenInjected
);
// Fee-on-Transfer → Uniswap V2
event GraduatedV2(
address indexed token,
address indexed pair,
address vault,
uint128 quoteInjected,
uint128 tokenInjected
);
Once either graduation event is emitted, the Bonding Curve is closed. Subsequent trades should be indexed from the corresponding Uniswap pool.
Streaming and Claimed are emitted by the token's DividendTracker.
Events can be uniquely identified by:
(blockNumber, logIndex)
When a chain reorganization occurs, delete data from the affected block range and rescan it rather than relying only on deduplication. Otherwise, logs removed by the reorganization may remain permanently in the index database.