Events & Indexing

Launch and trading events are emitted by IgnixManager. Dividend events are emitted by each token's DividendTracker, whose address is available from TokenCreated.tracker.

Starting Blocks

68256785

Earlier blocks do not contain records from the current contract version.

TokenCreated

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.

Note

Tax rates are not included in the event. Read taxBuyBps() / taxSellBps() directly from the token. These fields also determine the token type.

Trade

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.

Graduated / GraduatedV2

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.

Other Events

Streaming and Claimed are emitted by the token's DividendTracker.

Chain Reorganizations

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.