Configuration account that stores global protocol settings. Each config is indexed by a unique u64 index.
A customizable pool account that allows for custom fee configurations. Unlike regular pools, customizable pools are not tied to a config account. Token mints must be sorted - tokenAMint should be lexicographically smaller than tokenBMint.
The event authority PDA used for emitting program events via CPI.
A liquidity pool account for a specific token pair under a given config. Token mints must be sorted - tokenAMint should be lexicographically smaller than tokenBMint.
The global pool authority PDA that has authority over all pools in the program.
A liquidity position account that tracks a user's deposited liquidity. Each position is uniquely identified by its associated NFT mint.
The token account that holds the position NFT. This is a program-owned account that stores the NFT representing a liquidity position.
A reward vault account that holds reward tokens for distribution to liquidity providers. Each pool can have multiple reward vaults indexed by rewardIndex (0-2).
A token badge account that stores metadata about a token's permissions and status. Used to whitelist or configure specific tokens for use in pools.
A token vault account that holds tokens for a specific pool. Each pool has separate vaults for token A and token B.
A claim fee operator account that authorizes an address to claim protocol fees. Operators can collect fees on behalf of the protocol.