|
| 1 | +const ADDRESSES = require("../helper/coreAssets.json"); |
| 2 | +const { sumTokens2 } = require("../helper/unwrapLPs"); |
| 3 | + |
| 4 | +const CONTRACTS = [ |
| 5 | + { |
| 6 | + asset: ADDRESSES.mantle.mETH, |
| 7 | + lendingPool: "0x68F108F6bDbe14b77f5d042b1b43bb36c60F8580", |
| 8 | + collateralManager: "0xb092b9543B2C18D0857C3e81fACAE8c0CC08e079", |
| 9 | + }, |
| 10 | + { |
| 11 | + asset: ADDRESSES.mantle.cmETH, |
| 12 | + lendingPool: "0x0819EC86Bf7278547B6962392f49Fa0e88A04b7b", |
| 13 | + collateralManager: "0xd2698b234b23966258578e0539a5d5aAb8d49893", |
| 14 | + }, |
| 15 | + { |
| 16 | + asset: ADDRESSES.mantle.WETH, |
| 17 | + lendingPool: "0x1B69264CA6E951B14db2Cf330dE2744524A22040", |
| 18 | + collateralManager: "0x911A9E6b1C1FA4A8CEc88153c4C841f579899308", |
| 19 | + }, |
| 20 | + { |
| 21 | + asset: ADDRESSES.mantle.WMNT, |
| 22 | + lendingPool: "0xA49C0FA50768c4560feD129e90D3734a12711E8A", |
| 23 | + collateralManager: "0x5181F0Ed157CA00ab3D899e131D424d456884078", |
| 24 | + }, |
| 25 | + { |
| 26 | + asset: ADDRESSES.mantle.USDT, |
| 27 | + lendingPool: "0x5dad97d4973B60870AAe284eF3EC6d74Bffc011D", |
| 28 | + collateralManager: "0x709a5B78980b17E7f7C20b59f5a3e4E744e4590f", |
| 29 | + }, |
| 30 | + { |
| 31 | + asset: ADDRESSES.mantle.USDe, |
| 32 | + lendingPool: "0xa803861Ae852Cb34A4fD8F1b756C0cE3b29A2928", |
| 33 | + collateralManager: "0x382c41175ebC9c906Fb52148AFFD7aFB5158ECcf", |
| 34 | + }, |
| 35 | + { |
| 36 | + asset: ADDRESSES.mantle.AUSD, |
| 37 | + lendingPool: "0x55A31051066bA19b765f2B8D49FE68367C2094ef", |
| 38 | + collateralManager: "0x99845253B0d208f977f14756Fa5C93B73ca73CA6", |
| 39 | + }, |
| 40 | + { |
| 41 | + asset: ADDRESSES.mantle.sUSDe, |
| 42 | + lendingPool: "0x768f82Ca2055A7068FeA33f22b5a3cC8681598Ef", |
| 43 | + collateralManager: "0xa7C81aA29409Fd2a4D26b3ea4529a4413dc6a352", |
| 44 | + }, |
| 45 | + { |
| 46 | + asset: ADDRESSES.mantle.FBTC, |
| 47 | + lendingPool: "0x72c7d27320e042417506e594697324dB5Fbf334C", |
| 48 | + collateralManager: "0x0e27103CD0002ED9694E8865BEfd6e2167132BA9", |
| 49 | + }, |
| 50 | +]; |
| 51 | + |
| 52 | +async function tvl(api) { |
| 53 | + const lendingPoolTvls = await api.multiCall({ |
| 54 | + abi: "uint256:getTotalSupply", |
| 55 | + calls: CONTRACTS.map((contract) => contract.lendingPool), |
| 56 | + }); |
| 57 | + |
| 58 | + for (const [index, lendingPoolTvl] of lendingPoolTvls.entries()) { |
| 59 | + api.add(CONTRACTS[index].asset, lendingPoolTvl); |
| 60 | + } |
| 61 | + |
| 62 | + await sumTokens2({ |
| 63 | + api, |
| 64 | + tokensAndOwners: [ |
| 65 | + ...CONTRACTS.map((contract) => [contract.asset, contract.collateralManager,]), |
| 66 | + ], |
| 67 | + }); |
| 68 | +} |
| 69 | + |
| 70 | +module.exports = { |
| 71 | + mantle: { |
| 72 | + tvl, |
| 73 | + }, |
| 74 | +}; |
0 commit comments