mirror of
https://github.com/alexgo-io/DefiLlama-Adapters.git
synced 2026-04-30 13:52:23 +08:00
Add rearn-steth vault
This commit is contained in:
@@ -5,9 +5,12 @@ const { default: BigNumber } = require("bignumber.js");
|
||||
|
||||
// Ribbon Earn vaults
|
||||
const rearnUSDC = "0x84c2b16FA6877a8fF4F3271db7ea837233DFd6f0";
|
||||
const rearnstETH = "0xCE5513474E077F5336cf1B33c1347FDD8D48aE8c";
|
||||
|
||||
// Ethereum Assets
|
||||
const usdc = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
||||
const usdc = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
|
||||
const steth = "0xae7ab96520de3a18e5e111b5eaab095312d7fe84";
|
||||
|
||||
async function addVaults({ balances, chain, vaults, block, transformAddress = a => a }) {
|
||||
const { output: balanceRes } = await sdk.api.abi.multiCall({
|
||||
abi: abi.totalBalance,
|
||||
@@ -18,11 +21,11 @@ async function addVaults({ balances, chain, vaults, block, transformAddress = a
|
||||
balanceRes.forEach((data, i) => sdk.util.sumSingleBalance(balances, transformAddress(vaults[i][0]), data.output))
|
||||
}
|
||||
|
||||
async function getUSDCOnVault(block) {
|
||||
const { output: usdcBalance } = await sdk.api.abi.call({
|
||||
target: usdc, abi: 'erc20:balanceOf', params: rearnUSDC, block,
|
||||
async function getAssetOnVault(asset, param, block) {
|
||||
const { output: balance } = await sdk.api.abi.call({
|
||||
target: asset, abi: 'erc20:balanceOf', params: param, block,
|
||||
})
|
||||
return usdcBalance
|
||||
return balance
|
||||
}
|
||||
|
||||
async function borrowed(_, block) {
|
||||
@@ -30,16 +33,17 @@ async function borrowed(_, block) {
|
||||
const vaults = [
|
||||
// ribbon earn
|
||||
[usdc, rearnUSDC],
|
||||
[steth, rearnstETH],
|
||||
]
|
||||
|
||||
await addVaults({ balances, block, vaults, })
|
||||
sdk.util.sumSingleBalance(balances, usdc, BigNumber(-1 * (await getUSDCOnVault(block))).toFixed(0))
|
||||
sdk.util.sumSingleBalance(balances, usdc, BigNumber(-1 * (await getAssetOnVault(usdc, rearnUSDC, block))).toFixed(0))
|
||||
sdk.util.sumSingleBalance(balances, steth, BigNumber(-1 * (await getAssetOnVault(steth, rearnstETH, block))).toFixed(0))
|
||||
return balances
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
ethereum: {
|
||||
tvl: sumTokensExport({ owner: rearnUSDC, tokens: [usdc]}),
|
||||
tvl: sumTokensExport({tokensAndOwners: [[usdc, rearnUSDC], [steth, rearnstETH]]}),
|
||||
borrowed,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user