@dahlia-labs/stableswap-sdk
Version:
SDK for Mobius's StableSwap program.
28 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExchangeInfo = void 0;
const token_utils_1 = require("@dahlia-labs/token-utils");
const use_ethers_1 = require("@dahlia-labs/use-ethers");
const contract_1 = require("./contract");
const getExchangeInfo = async (multicallContract, exchange) => {
const multicallData = await (0, use_ethers_1.fetchMulticalls)([
(0, contract_1.pausedMulticall)(exchange.address),
(0, contract_1.feesMulticall)(exchange.address),
(0, contract_1.ampMulticall)(exchange.address),
(0, use_ethers_1.totalSupplyMulticall)(exchange.lpToken),
(0, contract_1.tokenBalanceMulticall)(exchange.address, 0),
(0, contract_1.tokenBalanceMulticall)(exchange.address, 1),
], multicallContract);
return {
paused: multicallData[0],
fees: multicallData[1],
ampFactor: multicallData[2],
lpTotalSupply: multicallData[3],
reserves: [
new token_utils_1.TokenAmount(exchange.tokens[0], multicallData[4].quotient),
new token_utils_1.TokenAmount(exchange.tokens[1], multicallData[5].quotient),
],
};
};
exports.getExchangeInfo = getExchangeInfo;
//# sourceMappingURL=multicall.js.map