Add core asset addresses***

This commit is contained in:
g1nt0ki
2024-02-08 14:44:49 +01:00
parent dadbe4fd35
commit 4377618365
43 changed files with 103 additions and 285 deletions

View File

@@ -13,6 +13,7 @@
"tvl": "cd utils;npm i; cd ..; node utils/testInteractive",
"treasury": "cd utils;npm i; cd ..; node utils/testInteractive treasury",
"entities": "cd utils;npm i; cd ..; node utils/testInteractive entities",
"useTokenLabels": "node utils/scripts/useTokenLabels.js",
"postinstall": "echo 'run \"npm update @defillama/sdk\" if you want lastest sdk changes' "
},
"author": "",

View File

@@ -1,22 +1,11 @@
const TOKEN_CONTRACT_NOTE = '0x4e71A2E537B7f9D9413D3991D37958c0b5e1e503';
const ADDRESSES = require('../helper/coreAssets.json');
const { sumTokensExport } = require('../helper/unwrapLPs');
const MARKET_1155TECH_CONTRACT = '0x33b77fAf955Ed3eDAf939ae66C4D7a2D78bc30C6';
async function tvl(_, _1, _2, { api }) {
const balance = await api.call({
abi: 'erc20:balanceOf',
target: TOKEN_CONTRACT_NOTE,
params: [MARKET_1155TECH_CONTRACT],
});
api.add(TOKEN_CONTRACT_NOTE, balance)
}
module.exports = {
timetravel: true,
misrepresentedTokens: false,
methodology: 'Value of all Keys across all art markets is TVL in the protocol',
start: 7280880,
canto: {
tvl
}
methodology: 'Value of all Keys across all art markets is TVL in the protocol',
start: 7280880,
canto: {
tvl: sumTokensExport({ owner: MARKET_1155TECH_CONTRACT, tokens: [ADDRESSES.canto.NOTE] })
}
};

View File

@@ -1,5 +1,6 @@
const ADDRESSES = require('../helper/coreAssets.json')
const euphrates = '0x7Fe92EC600F15cD25253b421bc151c51b0276b7D';
const ldotAddr = '0x0000000000000000000100000000000000000003';
const ldotAddr = ADDRESSES.acala.LDOT;
const wtdotAddr = '0xe1bD4306A178f86a9214c39ABCD53D021bEDb0f9';
async function tvl(timestamp) {

View File

@@ -1,9 +1,10 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { getResources, getTableData } = require("../helper/chain/aptos");
const extractCoinAddress = (str) =>
str.slice(str.indexOf("<") + 1, str.lastIndexOf(">"));
const APT = "0x1::aptos_coin::AptosCoin";
const APT = ADDRESSES.aptos.APT;
const ALT =
"0xd0b4efb4be7c3508d9a26a9b5405cf9f860d0b9e5fe2f498b90e68b8d2cedd3e::aptos_launch_token::AptosLaunchToken";
@@ -12,9 +13,9 @@ const MOVE =
"0xd0b4efb4be7c3508d9a26a9b5405cf9f860d0b9e5fe2f498b90e68b8d2cedd3e::move_ecosystem_fund::MoveEcosystemFund";
const lzUSDT =
"0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDT";
ADDRESSES.aptos.USDT_2;
const lzUSDC =
"0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::asset::USDC";
ADDRESSES.aptos.USDC_2;
const MOVE_APT_LP =
"0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap::LPToken<0x1::aptos_coin::AptosCoin, 0xd0b4efb4be7c3508d9a26a9b5405cf9f860d0b9e5fe2f498b90e68b8d2cedd3e::move_ecosystem_fund::MoveEcosystemFund>";

View File

@@ -1,22 +1,23 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { sumTokensExport } = require('../helper/unwrapLPs');
const tokens = {
avax: {
WAVAX: "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
USDC: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
USDT: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
DAI: "0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",
WAVAX: ADDRESSES.avax.WAVAX,
USDC: ADDRESSES.avax.USDC,
USDT: ADDRESSES.avax.USDt,
DAI: ADDRESSES.avax.DAI,
LINK: "0x5947bb275c521040051d82396192181b413227a3",
WBTC: "0x50b7545627a5162F82A992c33b87aDc75187B218",
WZEN: "0xAA1dA1591cBF7f2Df46884E7144297FF15Ea3a7f",
},
ethereum: {
WETH: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
LINK: "0x514910771AF9Ca656af840dff83E8264EcF986CA",
WBTC: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
WETH: ADDRESSES.ethereum.WETH,
USDC: ADDRESSES.ethereum.USDC,
USDT: ADDRESSES.ethereum.USDT,
DAI: ADDRESSES.ethereum.DAI,
LINK: ADDRESSES.ethereum.LINK,
WBTC: ADDRESSES.ethereum.WBTC,
WZEN: "0xd21475D90686c9A6FDBe0849cb6670fEc2aC9E21",
},
eon: {
@@ -26,8 +27,8 @@ const tokens = {
USDT: "0xA167bcAb6791304EDa9B636C8beEC75b3D2829E6",
DAI: "0x38C2a6953F86a7453622B1E7103b738239728754",
LINK: "0xDF8DBA35962Aa0fAD7ade0Df07501c54Ec7c4A89",
WBTC: "0x1d7fb99AED3C365B4DEf061B7978CE5055Dfc1e7",
WZEN: "0xF5cB8652a84329A2016A386206761f455bCEDab6",
WBTC: ADDRESSES.eon.WBTC,
WZEN: ADDRESSES.eon.ZEN,
},
};

View File

@@ -1,7 +1,7 @@
const ADDRESSES = require('./helper/coreAssets.json')
const sdk = require("@defillama/sdk");
const WBTC = "0x68f180fcce6836688e9084f035309e29bf0a2095";
const WBTC = ADDRESSES.optimism.WBTC;
const bitANT = ADDRESSES.optimism.BitANT;
const bitBTC = "0xc98b98d17435aa00830c87ea02474c5007e1f272";

View File

@@ -7,7 +7,7 @@ const {
const owner = "0x103dd1184599c7511a3016E0a383E11F84AE7173";
const tokens = {
ethereum: [ADDRESS.ethereum.USDT],
bsc: ["0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409"],
bsc: [ADDRESSES.ethereum.FDUSD],
};
module.exports = {

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const {
queryContract: queryContractCosmos,
} = require("../helper/chain/cosmos");

View File

@@ -1,217 +1,24 @@
const ADDRESSES = require('../helper/coreAssets.json')
const sdk = require("@defillama/sdk");
const abi = require("../helper/abis/blindex.json");
const { formatAddressChecksum } = require("../helper/formatAddressChecksum.js");
const { getUniTVL, getTokenPrices, } = require("../helper/unknownTokens");
//-------------------------------------------------------------------------------------------------------------
// How to add a new chain?
// 1. Add it to the chains global array
// 2. create a function to calculate the TVL of the chain (similar to what we did with the 'rskTvl' function)
// 3. Add your new chain to the export module
// 4. Add your new chain to the 'sumChainTvls' function in the export module
//-------------------------------------------------------------------------------------------------------------
const { getUniTVL, } = require("../helper/unknownTokens");
// Test on the RSK network:
const blindexBTCLP = '0x15f2f01159a73a56a7149096942ae4e2c019cbef'
const wbtc = '0x542fda317318ebf1d3deaf76e0b632741a7e677d'
const chains = {
rsk: {
uniswapFactoryAddress: "0x5Af7cba7CDfE30664ab6E06D8D2210915Ef73c2E",
bdxTokenAddress: "0x6542a10E68cEAc1Fa0641ec0D799a7492795AAC1",
// If a token doesn't exist on CoinGecko, map it to another token that's equal to it / wrappes it
coingeckoMapping: {
prefix: "rsk",
"0x542fda317318ebf1d3deaf76e0b632741a7e677d": "rootstock", // RSK's WRBTC
[ADDRESSES.rsk.ETHs]: "ethereum", // RSK's ETHs
"0xb450ff06d950efa9a9c0ad63790c51971c1be885": "usd-coin", // RSK's BDUS - USD stable
"0x99ac494badd0cba26143bd423e39a088591c7b09": "tether-eurt", // RSK's BDEU, - Euro stable
"0xa4a8fb98a26e5314397170e5d12da8b73dc2ceb5": "pax-gold", // RSK's bXAU, - Gold stable
"0x2415e222755fd1f07b0a565eb4f036e410852ee0":
"jarvis-synthetic-british-pound", // RSK's bGBP - British Pound Stable
"0xb5999795be0ebb5bab23144aa5fd6a02d080299f": "usd-coin", // RSK's XUSD, - USD stable
"0xe700691da7b9851f2f35f8b8182c69c53ccad9db": "usd-coin", // RSK's DOC - USD stable
},
},
};
function mapCoingeckoAddress(chainName, address) {
let mappedName =
chains[chainName].coingeckoMapping[address] ||
chains[chainName].coingeckoMapping[address.toLowerCase()];
if (!mappedName) {
const addressPrefix =
chainName === "ethereum"
? ""
: `${chains[chainName].coingeckoMapping["prefix"]}:`;
mappedName = `${addressPrefix}${formatAddressChecksum(address, chainName)}`;
}
return mappedName;
async function tvl(chainName, block,_, { api }) {
const bdstables = await api.fetchList({ lengthAbi: abi.getBdStablesLength, itemAbi: abi.getBDStable, target: chains.rsk.bdxTokenAddress })
console.log(bdstables)
await Promise.all(bdstables.map(async bdstable => {
const pools = await api.fetchList({ lengthAbi: abi.getBdStablesPoolsLength, itemAbi: abi.bdstable_pools_array, target: bdstable})
const tokens = await api.multiCall({ abi: abi.getBDStablePoolCollateral, calls: pools})
await api.sumTokens({ tokensAndOwners2:[tokens, pools,]})
}))
return api.getBalances()
}
async function getBDStableCollateralBalances(block, chainName, bdstable) {
const collateralPoolsLength = (
await sdk.api.abi.call({
target: formatAddressChecksum(bdstable.address, chainName),
abi: abi["getBdStablesPoolsLength"],
chain: chainName,
block,
})
).output;
const bdstableCollateralPools = [];
for (let index = 0; index < collateralPoolsLength; index++) {
const poolAddress = (
await sdk.api.abi.call({
target: formatAddressChecksum(bdstable.address, chainName),
abi: abi["bdstable_pools_array"],
params: index,
chain: chainName,
block,
})
).output;
bdstableCollateralPools.push(poolAddress);
}
const balances = {};
for (let index = 0; index < bdstableCollateralPools.length; index++) {
const collateralAddress = await (
await sdk.api.abi.call({
target: formatAddressChecksum(
bdstableCollateralPools[index],
chainName
),
abi: abi["getBDStablePoolCollateral"],
chain: chainName,
block,
})
).output;
const coingeckoMappedName = mapCoingeckoAddress(
chainName,
collateralAddress
);
const collateralBalance = await getBalanceOfWithPercision(
block,
chainName,
formatAddressChecksum(bdstableCollateralPools[index], chainName),
collateralAddress
);
sdk.util.sumSingleBalance(balances, coingeckoMappedName, collateralBalance)
}
const bdxTokenAddress = chains[chainName].bdxTokenAddress;
const coingeckoMapBdxAddress = mapCoingeckoAddress(
chainName,
bdxTokenAddress
);
balances[coingeckoMapBdxAddress] = await getBalanceOfWithPercision(
block,
chainName,
formatAddressChecksum(bdstable.address, chainName),
formatAddressChecksum(bdxTokenAddress, chainName)
);
return balances;
}
async function getBalanceOfWithPercision(block, chainName, owner, target) {
let balance = (
await sdk.api.erc20.balanceOf({
target: formatAddressChecksum(target, chainName),
owner: formatAddressChecksum(owner, chainName),
chain: chainName,
block,
})
).output;
const decimals = (
await sdk.api.erc20.decimals(
formatAddressChecksum(target, chainName),
chainName
)
).output;
return balance / 10 ** decimals;
}
function sumBalances(balancesArray) {
return balancesArray.reduce((balances, singleBalance) => {
for (const [coingeckoTokenId, amount] of Object.entries(singleBalance)) {
if (!balances[coingeckoTokenId]) {
balances[coingeckoTokenId] = 0;
}
balances[coingeckoTokenId] += amount;
}
return balances;
}, {});
}
async function getAllBDStables(block, bdxTokenAddress, chainName) {
const bdStables = [];
const bdstablesLength = (
await sdk.api.abi.call({
target: formatAddressChecksum(bdxTokenAddress, chainName),
abi: abi["getBdStablesLength"],
chain: chainName,
block,
})
).output;
for (let index = 0; index < bdstablesLength; index++) {
bdStables.push({
address: (
await sdk.api.abi.call({
target: formatAddressChecksum(bdxTokenAddress, chainName),
abi: abi["getBDStable"],
chain: chainName,
block,
params: index,
})
).output,
});
}
return bdStables;
}
async function tvl(chainName, block) {
const chain = chainName
//===================
// Collateral
//===================
const bdstables = await getAllBDStables(
block,
chains[chainName].bdxTokenAddress,
chainName
);
let promises = []
for (let index = 0; index < bdstables.length; index++) {
promises.push(
getBDStableCollateralBalances(block, chainName, bdstables[index])
);
}
const balancesArray = await Promise.all(promises);
const balances = sumBalances(balancesArray);
const { updateBalances } = await getTokenPrices({ chain, block, useDefaultCoreAssets: true, lps: [blindexBTCLP] }) // get blindex price from LP
await updateBalances(balances)
return balances
}
const rsk = async function rskTvl(timestamp, ethBlock, chainblocks) {
return tvl("rsk", chainblocks.rsk);
};
const dexTVL = getUniTVL({
factory: '0x5Af7cba7CDfE30664ab6E06D8D2210915Ef73c2E',
useDefaultCoreAssets: true,
@@ -222,6 +29,6 @@ module.exports = {
methodology:
"(1) AMM LP pairs - All the liquidity pools from the Factory address are used to find the LP pairs. (2) Collateral - All the collateral being used to support the stable coins - Bitcoin, Ethereum & BDX",
rsk: {
tvl: sdk.util.sumChainTvls([rsk, dexTVL]),
tvl: sdk.util.sumChainTvls([tvl, dexTVL]),
},
};

View File

@@ -1,4 +1,5 @@
const WETH_ARBITRUM = '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1';
const ADDRESSES = require('../helper/coreAssets.json')
const WETH_ARBITRUM = ADDRESSES.arbitrum.WETH;
const BRACKETX_PROXY_ARBITRUM = '0x12625Af4248E8137c6C58aed6eE804f8854669a6';
async function tvl(_, _1, _2, { api }) {

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const sui = require("../helper/chain/sui");
const MAINNET_PROTOCOL_ID =
@@ -5,9 +6,9 @@ const MAINNET_PROTOCOL_ID =
const BUCK =
"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK";
const USDC =
"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN";
ADDRESSES.sui.USDC;
const USDT =
"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN";
ADDRESSES.sui.USDT;
const AF_LP_IDs = [
"0xe2569ee20149c2909f0f6527c210bc9d97047fe948d34737de5420fab2db7062",

View File

@@ -1,15 +1,16 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { nullAddress, sumTokensExport } = require('../helper/unwrapLPs')
module.exports = {
ethereum: {
tvl: sumTokensExport({
tokens:[nullAddress, "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xdac17f958d2ee523a2206206994597c13d831ec7"],
tokens:[nullAddress, ADDRESSES.ethereum.WSTETH, ADDRESSES.ethereum.USDC, ADDRESSES.ethereum.USDT],
owners: ["0xA8AB795731fbBFDd1Fbc57ca11e6f722e7783642"]
})
},
arbitrum: {
tvl: sumTokensExport({
tokens:[nullAddress, "0x5979D7b546E38E414F7E9822514be443A4800529", "0xaf88d065e77c8cc2239327c5edb3a432268e5831", "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],
tokens:[nullAddress, ADDRESSES.arbitrum.WSTETH, ADDRESSES.arbitrum.USDC_CIRCLE, ADDRESSES.arbitrum.USDT],
owners: ["0x475c4af369b28997b25bd756ef92797ad3f69593"]
})
}

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { dexExport, getResources } = require('../helper/chain/aptos')
const sui = require('../helper/chain/sui')
const { transformDexBalances } = require('../helper/portedTokens')

View File

@@ -1,10 +1,11 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { sumTokensExport } = require('../helper/unknownTokens');
module.exports = {
jbc: {
tvl: sumTokensExport({
owner: '0x280608DD7712a5675041b95d0000B9089903B569',
tokens: ['0x24599b658b57f91E7643f4F154B16bcd2884f9ac'],
tokens: [ADDRESSES.jbc.JUSDT],
}),
}
};

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { cexExports } = require('../helper/cex')
const config = {
@@ -29,8 +30,8 @@ const config = {
'0x8c7Efd5B04331EFC618e8006f19019A3Dc88973e',
'0xCCFA6f3b01c7bf07B033A9d496Fdf22F0cdF5293',
'0x90f76616d34Cb6A1F4423B33c0201B2A1980Fc81',
'0x4E15361FD6b4BB609Fa63C81A2be19d873717870',
'0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0',
ADDRESSES.ethereum.FTM,
ADDRESSES.ethereum.MATIC,
'0xC1723Af0Dc5400A1cAAa47E76a45c39538A6AD49',
'0x07E114C06462D8892Ae4574A7502b8c1c0FBdFbb',
'0x274c427B1BF0bB4a137EDE688c6D621263CA7Ce8',

View File

@@ -14,7 +14,7 @@ async function tvl(_, _b, _cb, { api, }) {
const vaults = logs.map(log => log.vault)
const bals = await api.multiCall({ abi: 'function stTotalAmount() external view returns (uint256 balance)', calls: vaults })
let tokens = await api.multiCall({ abi: 'function asset() external view returns (address)', calls: vaults })
tokens = tokens.map(token => token === '0x0000000000000000000000000000000000000001' ? ADDRESSES.null : token)
tokens = tokens.map(token => token === ADDRESSES.linea.WETH_1 ? ADDRESSES.null : token)
const decimals = await api.multiCall({ abi: 'erc20:decimals', calls: tokens, permitFailure: true })
api.addTokens(tokens, bals.map((v, i) => v / 10 ** (18 - (decimals[i] ?? 18))))

View File

@@ -138,12 +138,12 @@ Object.keys(config).forEach(chain => {
api.log(ownerTokens.length * 2, api.chain)
if (chain === 'base')
ownerTokens.push(...[
[['0x4200000000000000000000000000000000000006', '0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca'], '0x1172035a744ea18161497e94f0bbce244d51de9f'],
[['0x4200000000000000000000000000000000000006', '0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22'], '0xce670438dadb080d7aae65fdaff51355aa30535e'],
[['0x4200000000000000000000000000000000000006', '0x78a087d713be963bf307b18f2ff8122ef9a63ae9'], '0x3c388c812dada10e597f802a766e7ce898bc7751'],
[['0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca', '0x4200000000000000000000000000000000000006'], '0xd804cf0ac2a4b6dd6d375504a27874f5db073625'],
[['0x4200000000000000000000000000000000000006', '0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca'], '0x72e663c4e8fd50184c8b8135315c20326cc4ad75'],
[['0x833589fcd6edb6e08f4c7c32d4f71b54bda02913', '0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca'], '0xe8ef69e4dd7f6ed2d84f256e97469bca22b78a8b'],
[[ADDRESSES.optimism.WETH_1, ADDRESSES.base.USDbC], '0x1172035a744ea18161497e94f0bbce244d51de9f'],
[[ADDRESSES.optimism.WETH_1, '0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22'], '0xce670438dadb080d7aae65fdaff51355aa30535e'],
[[ADDRESSES.optimism.WETH_1, '0x78a087d713be963bf307b18f2ff8122ef9a63ae9'], '0x3c388c812dada10e597f802a766e7ce898bc7751'],
[[ADDRESSES.base.USDbC, ADDRESSES.optimism.WETH_1], '0xd804cf0ac2a4b6dd6d375504a27874f5db073625'],
[[ADDRESSES.optimism.WETH_1, ADDRESSES.base.USDbC], '0x72e663c4e8fd50184c8b8135315c20326cc4ad75'],
[[ADDRESSES.base.USDC, ADDRESSES.base.USDbC], '0xe8ef69e4dd7f6ed2d84f256e97469bca22b78a8b'],
])
return api.sumTokens({ ownerTokens, blacklistedTokens, permitFailure: true, })

View File

@@ -1,9 +1,10 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { sumTokens2 } = require("../helper/unwrapLPs");
const config = {
arbitrum: {
marketManager: "0x719Cf2A5bDb64BC47B72556A1439eF4b876D5A0C",
usd: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"
usd: ADDRESSES.arbitrum.USDT
}
};

View File

@@ -43,7 +43,7 @@ module.exports = {
// eth
[
"0x2170Ed0880ac9A755fd29B2688956BD959F933F8",
ADDRESSES.bsc.ETH,
"0xA230805C28121cc97B348f8209c79BEBEa3839C0",
],

View File

@@ -46,7 +46,7 @@ async function getMarkets(comptroller, block, chain, cether, cetheEquivalent, bl
return;
}
if (['0xd2ec53e8dd00d204d3d9313af5474eb9f5188ef6', '0x0aeadb9d4c6a80462a47e87e76e487fa8b9a37d7'].includes(cToken) && chain === 'rsk') {
markets.push({ underlying: '0x542fda317318ebf1d3deaf76e0b632741a7e677d', cToken })
markets.push({ underlying: ADDRESSES.rsk.WRBTC1, cToken })
return;
}

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('helper/coreAssets.json')
const { request, gql } = require("graphql-request");
const graphUrl =
@@ -37,7 +38,7 @@ async function getTVL(toTimestamp) {
);
return {
"base:0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA": total,
["base:" + ADDRESSES.base.USDbC]: total,
};
}

View File

@@ -34,7 +34,7 @@ const poolHelpers = {
const blacklistedTokens = [
ADDRESSES.bsc.iUSD,
'0x1382628e018010035999A1FF330447a0751aa84f',
'0x0A3BB08b3a15A19b4De82F8AcFc862606FB69A2D', // mantle iUSD
ADDRESSES.bsc.iUSD, // mantle iUSD
'0x078f712f038A95BeEA94F036cADB49188a90604b', // manta iUSD
]

View File

@@ -3,15 +3,15 @@ const sui = require("../helper/chain/sui");
const UsdcVault = {
id: '0x7a2f75a3e50fd5f72dfc2f8c9910da5eaa3a1486e4eb1e54a825c09d82214526',
tType: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN'
tType: ADDRESSES.sui.USDC
}
const UsdtVault = {
id: '0x0fce8baed43faadf6831cd27e5b3a32a11d2a05b3cd1ed36c7c09c5f7bcb4ef4',
tType: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN'
tType: ADDRESSES.sui.USDT
}
const SuiVault = {
id: '0x16272b75d880ab944c308d47e91d46b2027f55136ee61b3db99098a926b3973c',
tType: '0x2::sui::SUI'
tType: ADDRESSES.sui.SUI
}
async function tvl(_, _1, _2, { api }) {

View File

@@ -7,7 +7,7 @@ const PERP_V2_VAULT = "0xAD7b4C162707E0B2b5f6fdDbD3f8538A5fbA0d60";
const tokens = [
ADDRESSES.tombchain.FTM,
"0x68f180fcce6836688e9084f035309e29bf0a2095",
ADDRESSES.optimism.WBTC,
"0x350a791bfc2c21f9ed5d10980dad2e2638ffa7f6",
"0x76FB31fb4af56892A25e32cFC43De717950c9278",
"0x0994206dfe8de6ec6920ff4d779b0d950605fb53",

View File

@@ -1,8 +1,9 @@
const ADDRESSES = require('../helper/coreAssets.json')
const pools_provider = "0xE4534d76Cc512a14F288453F06F8961740Ae2a1E"
async function tvl(_, _b, _cb, { api, }) {
let data = await api.fetchList({ lengthAbi: 'poolLength', itemAbi: 'function poolList(uint256) view returns (uint256 maxAmount, address strategy, address asset, uint64 payoutFrequency, uint32 totalPayments, uint32 rateIndex)', target: pools_provider})
data = data.filter(i => i.strategy !== '0x0000000000000000000000000000000000000000')
data = data.filter(i => i.strategy !== ADDRESSES.null)
const aTokens = await api.multiCall({ abi: 'address:aToken', calls: data.map(i => i.strategy)})
const ownerTokens = data.map((i, idx) => [[i.asset, aTokens[idx]], i.strategy])
return api.sumTokens({ ownerTokens })

View File

@@ -54,7 +54,7 @@ const arb_pools = [...new Set([...v1_3_arb_ShortCollateral, ...v1_3_arb_Liquidit
const op_tokens = [ADDRESSES.optimism.sUSD, ADDRESSES.optimism.sETH,
'0xc5db22719a06418028a40a9b5e9a7c02959d0d08', '0x298b9b95708152ff6968aafd889c6586e9169f1d',
ADDRESSES.optimism.OP, '0x68f180fcce6836688e9084f035309e29bf0a2095',
ADDRESSES.optimism.OP, ADDRESSES.optimism.WBTC,
ADDRESSES.optimism.WETH, ADDRESSES.optimism.USDC]
const arb_tokens = [ADDRESSES.arbitrum.USDC, ADDRESSES.arbitrum.WETH,

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { getCache, get } = require("../helper/http");
const sdk = require("@defillama/sdk");
const { nullAddress } = require("../helper/tokenMapping");

View File

@@ -21,7 +21,7 @@ const TOKENS_IN_LEGACY_VERSIONS = {
ADDRESSES.optimism.BitANT, // BitANT
ADDRESSES.base.DAI, // LYRA
'0x65559aa14915a70190438ef90104769e5e890a00', // ENS
'0x68f180fcce6836688e9084f035309e29bf0a2095', // WBTC
ADDRESSES.optimism.WBTC, // WBTC
'0x6fd9d7ad17242c41f7131d257212c54a0e816691', // UNI
ADDRESSES.optimism.USDC, // USDC
'0x7fb688ccf682d58f86d7e38e03f9d22e7705448b', // RAI

View File

@@ -44,7 +44,7 @@ const config = {
toa: [
[nullAddress, '0x5B7C5daa5f4Bb37c457dA468Da1CDaA6219892A1'], // ETH pool
[ADDRESSES.optimism.USDC, '0x24682cFDc060316355C26C420d0748F289502e83'], //usdt pool new
['0x68f180fcCe6836688e9084f035309E29Bf0A2095', '0x469CC7AF1696B5e4E6151796Dc3B3fEf39b34f39'], //wbtc pool new
[ADDRESSES.optimism.WBTC, '0x469CC7AF1696B5e4E6151796Dc3B3fEf39b34f39'], //wbtc pool new
[ADDRESSES.optimism.OP, '0xc9394748D5f633152AD3F8f557a9B7743148db1B'], //Op pool new
],
token: '0x3E5D9D8a63CC8a88748f229999CF59487e90721e',

View File

@@ -7,8 +7,8 @@ async function tvl(ts, _block, { polygon: block }, { api }) {
owner: '0xa6D0e001A257296d5246edcEFE4Ac56BD558F6c6',
tokens: [
ADDRESSES.null,
'0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063',
'0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
ADDRESSES.polygon.DAI,
ADDRESSES.polygon.WETH_1,
'0xa3Fa99A148fA48D14Ed51d610c367C61876997F1',
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
]

View File

@@ -99,7 +99,7 @@ module.exports = {
ADDRESSES.optimism.USDC,
ADDRESSES.optimism.USDT,
ADDRESSES.optimism.USDC, // Bridge USDC
"0x68f180fcCe6836688e9084f035309E29Bf0A2095", // WBTC
ADDRESSES.optimism.WBTC, // WBTC
],
}),
},

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { call, view_account, addTokenBalances, sumSingleBalance } = require('../helper/chain/near');
const { sumTokensExport } = require('../helper/unwrapLPs');
@@ -8,8 +9,8 @@ const FT_NEAR = 'wrap.near';
const owner = '0x816f722424b49cf1275cc86da9840fbd5a6167e9'
const tokenAddress = {
arbitrum: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
optimism: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',
arbitrum: ADDRESSES.arbitrum.USDC_CIRCLE,
optimism: ADDRESSES.optimism.USDC_CIRCLE,
}
async function tvl() {

View File

@@ -1,8 +1,9 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { sumTokensExport, nullAddress } = require('../helper/unwrapLPs')
const fundStore = "0x7Cc41ee3Cba9a1D2C978c37A18A0d6b59c340224"; // FundStore
const PINGU = "0x4615fa30fFA5716984d4372030ce28D99fCB702f"; // PINGU
const assets = [nullAddress, "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"] // ETH, USDC
const assets = [nullAddress, ADDRESSES.arbitrum.USDC_CIRCLE] // ETH, USDC
module.exports = {
start: 1704844800,

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const sdk = require('@defillama/sdk');
const getVaultsAbi = 'address[]:getRegisteredAddresses';
@@ -16,7 +17,7 @@ async function addFraxVaultToTVL(balances, api) {
const totalAssets = [];
for (let i = 0; i < vaultAddresses.length; i++) {
// if the vault has no strategy: 1 share = 1 asset
if (strategies[i] === "0x0000000000000000000000000000000000000000") {
if (strategies[i] === ADDRESSES.null) {
totalAssets.push(totalSupply[i]);
} else {
const assets = await api.call({ target: strategies[i], abi: convertToAssetsAbi, params: [totalSupply[i]] })

View File

@@ -119,7 +119,7 @@ const wIotex = ADDRESSES.iotex.WIOTX;
const usdtOptimism = ADDRESSES.optimism.USDT;
const daiOptimism = ADDRESSES.optimism.DAI;
const wbtcOptimism = "0x68f180fcCe6836688e9084f035309E29Bf0A2095";
const wbtcOptimism = ADDRESSES.optimism.WBTC;
const wbtcArbitrum = ADDRESSES.arbitrum.WBTC;
const usdtArbitrum = ADDRESSES.arbitrum.USDT;

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { get } = require("../helper/http");
const { sumTokens2 } = require("../helper/unwrapLPs");
@@ -12,7 +13,7 @@ async function tvl(_, _b, _c, { api }) {
t.l1_bridge_address,
]);
tokensAndOwners.push([
"0x6B175474E89094C44Da98b954EedeAC495271d0F",
ADDRESSES.ethereum.DAI,
"0x0437465dfb5B79726e35F08559B0cBea55bb585C",
]);
return sumTokens2({

View File

@@ -1,11 +1,12 @@
const ADDRESSES = require('../helper/coreAssets.json')
const config = {
arbitrum: [
{ "tenderSwap": "0x2429fc7082eb517c14946b392b195b181d0b9781", "steak": "0x289ba1701c2f088cf0faf8b3705246331cb8a839", "tenderToken": "0xfac38532829fdd744373fdcd4708ab90fa0c4078" }
{ "tenderSwap": "0x2429fc7082eb517c14946b392b195b181d0b9781", "steak": ADDRESSES.arbitrum.LPT, "tenderToken": "0xfac38532829fdd744373fdcd4708ab90fa0c4078" }
],
ethereum: [
{ "tenderSwap": "0x7de47d1c5b9415877fe6863263f97180117fdaaa", "steak": "0x18aaa7115705e8be94bffebde57af9bfc265b998", "tenderToken": "0xc83badbf764f957acc23bc9e9aac71c298b07243" },
{ "tenderSwap": "0xf56f61f8181d118c010ca9c5f1e9e447e37b207e", "steak": "0xc944e90c64b2c07662a292be6244bdf05cda44a7", "tenderToken": "0xc29f5611dcd89bc5d3a19762783d3006bc2ad2ac" },
{ "tenderSwap": "0x23c24c1253c602106255b357cd3efe260a3a469e", "steak": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0", "tenderToken": "0x2336c10a1d3100343fa9911a2c57b77c333599a3" }
{ "tenderSwap": "0x23c24c1253c602106255b357cd3efe260a3a469e", "steak": ADDRESSES.ethereum.MATIC, "tenderToken": "0x2336c10a1d3100343fa9911a2c57b77c333599a3" }
]
}

View File

@@ -247,7 +247,7 @@ module.exports = treasuryExports({
tokens: [
ADDRESSES.tombchain.FTM, // WETH
'0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8', // aOptWETH
'0x68f180fcce6836688e9084f035309e29bf0a2095', // WBTC
ADDRESSES.optimism.WBTC, // WBTC
'0x078f358208685046a11C85e8ad32895DED33A249', // aOptWBTC
ADDRESSES.optimism.OP, // OP
'0x513c7E3a9c69cA3e22550eF58AC1C0088e918FFf', // aOptOP

View File

@@ -11,7 +11,7 @@ const ftmTokens = [
"0x841FAD6EAe12c286d1Fd18d1d525DFfA75C7EFFE", // BOO
ADDRESSES.fantom.WFTM, // WFTM
"0x91a40c733c97a6e1bf876eaf9ed8c08102eb491f", // lzDAI
"0x28a92dde19D9989F39A49905d7C9C2FAc7799bDf", // lzUSDC
ADDRESSES.fantom.USDC_L0, // lzUSDC
"0xcc1b99dDAc1a33c201a742A1851662E87BC7f22C", // lzUSDT
"0xf1648C50d2863f780c57849D812b4B7686031A3D", // lzWBTC
"0x695921034f0387eAc4e11620EE91b1b15A6A09fE", // lzWETH

View File

@@ -1,10 +1,11 @@
const ADDRESSES = require('../helper/coreAssets.json')
const { queryAddresses } = require('../helper/chain/radixdlt');
const pools = [
{
pool: 'component_rdx1cq8mm5z49x6lyet44a0jd7zq52flrmykwwxszq65uzfn6pk3mvm0k4',
resource: 'resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd',
resource: ADDRESSES.radixdlt.XRD,
priceFeed: 'component_rdx1cz9u0svc4d2jtnkdqypxpcea8cj3da9vdqakrt748ackl82khfxv25'
},
{

View File

@@ -46,7 +46,7 @@ const wooPPConfig = {
],
optimism: [
ADDRESSES.optimism.WETH_1, // WETH
'0x68f180fcCe6836688e9084f035309E29Bf0A2095', // WBTC
ADDRESSES.optimism.WBTC, // WBTC
ADDRESSES.optimism.OP, // OP
ADDRESSES.optimism.USDC, // USDC
ADDRESSES.optimism.USDT,

View File

@@ -1,3 +1,4 @@
const ADDRESSES = require('../helper/coreAssets.json')
const VAULTS = {
Neutral: {
Vault: '0x90A039797E93f2c671DE25DD24E5333b5e8F9Ab3',
@@ -14,7 +15,7 @@ const VAULTS = {
};
const HELPER = "0x8A2dD0eabE8b1A1066731C43AaC08dCDd50fcA63"
const SUSD = '0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9'
const SUSD = ADDRESSES.optimism.sUSD
module.exports = {
VAULTS,

View File

@@ -14,7 +14,7 @@ const VE_ZOO_CONTRACT_ARBITRUM = "0xF7F963dC9c9f66c86Acd37255312FfbAC0d65b23"
const CAMELOT_LP_TOKEN_ARBITRUM = '0x2517cd42eE966862e8EcaAc9Abd1CcD272d897b6'
const BATTLE_ARENA_ARBITRUM = '0x19C98B4302e64d2De1cd14a7AD7d592F5dAE1319'
const FSGLP_ARBITRUM = '0x1aDDD80E6039594eE970E5872D247bf0414C8903'
const FSGLP_ARBITRUM = ADDRESSES.arbitrum.fsGLP
const VAULT_CONTRACT_ARBITRUM = '0x9d284e037c20f029c8C56bbE4ff7C0F8de0FA4A9'
const LIQUIDITY_MINING_ARBITRUM = '0x96EBfd5dfaBf5E94f55940FC1872f39031fb332c'