Getting Pangea Pool Info
Getting every deployed pool info
/// MasterDeployer address
const masterDeployerAddress = "0x...";
///Getting every pool address
async function readAllPools() {
/// MasterDeployer__factory is a typechain object under types/
/// You can interact via typechain and ethers.js in JavaScript env.
const masterDeployer = await MasterDeployer__factory.connect(
masterDeployerAddress, provider);
/// number of deployed pools in Pangea
const totalPools = (await masterDeployer.totalPoolsCount()).toNumber();
for (let i = 0; i < totalPools; i++) {
/// Getting pool address
const poolAddress = await masterDeployer.getPoolAddress(i);
const pool = await ConcentratedLiquidityPool__factory.connect(
poolAddress, provider);
/// Token0 address
const token0 = await pool.token0();
/// Token1 address
const token1 = await pool.token1();
/// Swap Fee Rate
const swapFee = (await pool.swapFee()) / 1e6;
/// Pool Price. price = √(token1/token0) * 2 ^ 96. Price changes when swap occurs
const price = (await pool.price()).toString();
/// Pool token reserve
const reserves = await pool.getReserves();
console.log(`${poolAddress} | ${token0} | ${token1} | ${swapFee} | ${price} | ${reserves._reserve0} | ${reserves._reserve1}`);
}
}
Last updated