Pool Interface

Overview

There are many different pool types in the A360 AMM, however all these pool types extend the BasePool.sol and there is common interfacing capability across all the different pool types.

poolIDs

If you want to interface with a pool, you'll first need to know its poolId. The poolId is a unique identifier, the first portion of which is the pool's contract address. For example, the pool with the id 0x5c6ee304399dbdb9c8ef030ab642b10820db8f56000200000000000000000014 has a contract address of 0x5c6ee304399dbdb9c8ef030ab642b10820db8f56.

You can get a poolId from:

Getting Common Pool Data

Below are the data fields common to all pools; however, each pool will have data specific to its pool type.

Pool Balances

Since all tokens are held in the Vault, you must query the Vault when querying on-chain pool balances. For example, calling

vault.getPoolTokens(0x5c6ee304399dbdb9c8ef030ab642b10820db8f56000200000000000000000014_

returns something resembling:

tokens:  [0xba100000625a3754423978a60c9317c58a424e3D,
                0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2]

balances:  [5720903090084350251216632,
                7939247003721636150710]

Swap Fee

Swap fees are stored at the pool level. To get a pool's swap fee, call:

pool.getSwapFeePercentage()

Values are returned with 18 decimals.

Last updated