Skip to content

Commit 4424ad5

Browse files
robert-zklinkEvan-zkLinkLabsg1nt0ki
authored
Feat add tokens (DefiLlama#9706)
* Add base and optimism for zklink nova * Added tokens * code refactor --------- Co-authored-by: Evan <[email protected]> Co-authored-by: g1nt0ki <[email protected]>
1 parent c6e4e3d commit 4424ad5

File tree

2 files changed

+112
-99
lines changed

2 files changed

+112
-99
lines changed

projects/helper/token.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ async function covalentGetTokens(address, api, {
1515
if (!chainId) throw new Error('Missing chain to chain id mapping:' + api.chain)
1616
if (!address) throw new Error('Missing adddress')
1717

18+
if (['mantle', 'blast'].includes(chain)) useCovalent = true
19+
1820
if (!useCovalent) {
1921
if (!ankrChainMapping[chain]) throw new Error('Chain Not supported: ' + chain)
2022
const tokens = await ankrGetTokens(address, { onlyWhitelisted })

projects/zkLink/index.js

Lines changed: 110 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,126 @@
1-
const { sumTokens2 } = require("../helper/unwrapLPs");
1+
const { sumTokensExport } = require("../helper/unwrapLPs");
22
const ADDRESSES = require("../helper/coreAssets.json");
3-
const ETH_DEFAULT_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
4-
const ERA_ETH_BALANCE_OF_ABI =
5-
"function balanceOf(uint256) view returns (uint256)";
63
const ERA_ETH_ADDRESS = "0x000000000000000000000000000000000000800A";
7-
async function getEraEthBalance(api, addr) {
8-
return await api.call({
9-
abi: ERA_ETH_BALANCE_OF_ABI,
10-
target: ERA_ETH_ADDRESS,
11-
params: [addr],
12-
});
13-
}
14-
module.exports = {
4+
5+
const config = {
156
ethereum: {
16-
tvl: (api) =>
17-
sumTokens2({
18-
api,
19-
owners: [
20-
"0x5fD9F73286b7E8683Bab45019C94553b93e015Cf",
21-
"0xAd16eDCF7DEB7e90096A259c81269d811544B6B6",
22-
],
23-
fetchCoValentTokens: true,
24-
}),
7+
owners: [
8+
"0x5fD9F73286b7E8683Bab45019C94553b93e015Cf",
9+
"0xAd16eDCF7DEB7e90096A259c81269d811544B6B6",
10+
],
11+
tokens: [
12+
"0x8a053350ca5F9352a16deD26ab333e2D251DAd7c", // mmETH
13+
"0xE46a5E19B19711332e33F33c2DB3eA143e86Bc10", // mwBETH
14+
"0x32bd822d615A3658A68b6fDD30c2fcb2C996D678", // mswETH
15+
"0x49446A0874197839D15395B908328a74ccc96Bc0", // mstETH
16+
"0xC6572019548dfeBA782bA5a2093C836626C7789A", // nETH
17+
"0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812", // wUSDM
18+
]
2519
},
2620
arbitrum: {
27-
tvl: (api) =>
28-
sumTokens2({
29-
api,
30-
owners: [
31-
"0xFF73a1a1d27951A005eb23276dc99CB7F8d5420A",
32-
"0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585",
33-
],
34-
fetchCoValentTokens: true,
35-
}),
21+
owners: [
22+
"0xFF73a1a1d27951A005eb23276dc99CB7F8d5420A",
23+
"0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585",
24+
],
25+
tokens: [
26+
"0x4186BFC76E2E237523CBC30FD220FE055156b41F", // rsETH
27+
"0x3082CC23568eA640225c2467653dB90e9250AaA0", // RDNT
28+
"0x3abb0E23618a042ef55a624b903E9873F8756881", // ZKT
29+
],
3630
},
3731
linea: {
38-
tvl: (api) =>
39-
sumTokens2({
40-
api,
41-
owners: [
42-
"0x5Cb18b6e4e6F3b46Ce646b0f4704D53724C5Df05",
43-
"0x62cE247f34dc316f93D3830e4Bf10959FCe630f8",
44-
],
45-
fetchCoValentTokens: true,
46-
}),
32+
owners: [
33+
"0x5Cb18b6e4e6F3b46Ce646b0f4704D53724C5Df05",
34+
"0x62cE247f34dc316f93D3830e4Bf10959FCe630f8",
35+
],
36+
tokens: [
37+
"0x3aAB2285ddcDdaD8edf438C1bAB47e1a9D05a9b4", // WBTC
38+
"0x2416092f143378750bb29b79eD961ab195CcEea5", // ezETH
39+
"0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F", // wstETH
40+
"0x531e4901EB141a71e111Cc23Fc4fBD4B7dB788d5", // ZKT
41+
ADDRESSES.linea.USDT, // USDT
42+
ADDRESSES.linea.DAI, // DAI
43+
ADDRESSES.linea.USDC, // USDC
44+
],
4745
},
48-
4946
era: {
50-
tvl: async (api) => {
51-
const balances = {};
52-
balances[`era:${ERA_ETH_ADDRESS}`] = await getEraEthBalance(
53-
api,
54-
"0xaFe8C7Cf33eD0fee179DFF20ae174C660883273A"
55-
);
56-
57-
return sumTokens2({
58-
api,
59-
owners: ["0xaB3DDB86072a35d74beD49AA0f9210098ebf2D08"],
60-
balances: balances,
61-
tokens: [
62-
ADDRESSES.era.WBTC, //btc
63-
ADDRESSES.era.USDC , //usdc
64-
ADDRESSES.era.USDT, //usdt
65-
],
66-
blacklistedTokens: [ERA_ETH_ADDRESS],
67-
});
68-
},
47+
owners: ["0xaB3DDB86072a35d74beD49AA0f9210098ebf2D08", '0xaFe8C7Cf33eD0fee179DFF20ae174C660883273A'],
48+
tokens: [
49+
ADDRESSES.null,
50+
ADDRESSES.era.WBTC, //btc
51+
ADDRESSES.era.USDC, //usdc
52+
ADDRESSES.era.USDT, //usdt
53+
],
6954
},
70-
7155
mantle: {
72-
tvl: (api) =>
73-
sumTokens2({
74-
api,
75-
owners: [
76-
"0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
77-
"0x62351b47e060c61868Ab7E05920Cb42bD9A5f2B2",
78-
],
79-
tokens: [ADDRESSES.mantle.WMNT, //mnt
80-
ADDRESSES.mantle.USDT, //usdt
81-
ADDRESSES.mantle.WETH ,//weth
82-
ADDRESSES.mantle.USDC , //usdc
83-
],
84-
}),
56+
owners: [
57+
"0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
58+
"0x62351b47e060c61868Ab7E05920Cb42bD9A5f2B2",
59+
],
60+
tokens: [
61+
ADDRESSES.mantle.WMNT, //mnt
62+
ADDRESSES.mantle.USDT, //usdt
63+
ADDRESSES.mantle.WETH,//weth
64+
ADDRESSES.mantle.USDC, //usdc
65+
"0xCAbAE6f6Ea1ecaB08Ad02fE02ce9A44F09aebfA2", // WBTC
66+
"0xcDA86A272531e8640cD7F1a92c01839911B90bb0", // meth
67+
"0x779f4E5fB773E17Bc8E809F4ef1aBb140861159a", // KTC
68+
"0x531e4901EB141a71e111Cc23Fc4fBD4B7dB788d5", // zkt
69+
],
8570
},
8671
manta: {
87-
tvl: (api) =>
88-
sumTokens2({
89-
api,
90-
owners: [
91-
"0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
92-
"0x44a65dc12865A1e5249b45b4868f32b0E37168FF",
93-
],
94-
tokens: [
95-
...Object.values(ADDRESSES.manta),
96-
ETH_DEFAULT_ADDRESS,
97-
"0x95CeF13441Be50d20cA4558CC0a27B601aC544E5", //MANTA
98-
"0xEc901DA9c68E90798BbBb74c11406A32A70652C3", //STONE
99-
"0xbdAd407F77f44F7Da6684B416b1951ECa461FB07", //WUSDM
100-
],
101-
fetchCoValentTokens: false,
102-
}),
72+
owners: [
73+
"0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
74+
"0x44a65dc12865A1e5249b45b4868f32b0E37168FF",
75+
],
76+
tokens: [
77+
...Object.values(ADDRESSES.manta),
78+
ADDRESSES.null,
79+
"0x95CeF13441Be50d20cA4558CC0a27B601aC544E5", //MANTA
80+
"0xEc901DA9c68E90798BbBb74c11406A32A70652C3", //STONE
81+
"0xbdAd407F77f44F7Da6684B416b1951ECa461FB07", //WUSDM
82+
"0x34c7Ad65E4163306f8745996688b476914201cE0", //uniETH
83+
"0x9Af5CC797695717A20eCF3E258D6303316277A55", //ZKT
84+
],
10385
},
10486
blast: {
105-
tvl: (api) =>
106-
sumTokens2({
107-
api,
108-
owners: [
109-
"0x29BA92Fe724beD5c5EBfd0099F2F64a6DC5078FD",
110-
"0x8Df0c2bA3916bF4789c50dEc5A79b2fc719F500b",
111-
],
112-
tokens: [ETH_DEFAULT_ADDRESS],
113-
}),
87+
owners: [
88+
"0x29BA92Fe724beD5c5EBfd0099F2F64a6DC5078FD",
89+
"0x8Df0c2bA3916bF4789c50dEc5A79b2fc719F500b",
90+
],
91+
tokens: [
92+
ADDRESSES.null,
93+
"0x2416092f143378750bb29b79eD961ab195CcEea5", // ezeth
94+
"0x8cDe337D4D39f692f867c9FFA696f555EdaB4BeD", // zkt
95+
"0x038f1C6ED5FccF690A920a27b39366eeeF27eFCe", // rich
96+
"0x5FE8534a6F96cb01261Bd96e98c17C2c1Cab3204", // BAJA
97+
"0xf782E172A14Ee1c85cD980C15375bA0E87957028", // CACA
98+
],
11499
},
115-
};
100+
base: {
101+
owners: [
102+
"0xE473ce141b1416Fe526eb63Cf7433b7B8d7264Dd",
103+
"0x80d12A78EfE7604F00ed07aB2f16F643301674D5",
104+
],
105+
tokens: [
106+
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452", // wstETH
107+
"0x60F6659f92Db201670c39CC51D3630eD32cEdBb5", // ZKT
108+
],
109+
},
110+
optimism: {
111+
owners: [
112+
"0x46C8D02E93d5a03899dFa7Cf8A40A07589A3fA1b",
113+
"0x5Bd51296423A9079b931414C1De65e7057326EaA",
114+
],
115+
tokens: [
116+
"0x7d685a13eaFd76c12Dc6a9E9340778381Eef6bd7", // ZKT
117+
],
118+
},
119+
}
120+
121+
Object.keys(config).forEach(chain => {
122+
const fetchCoValentTokens = !['manta'].includes(chain)
123+
module.exports[chain] = {
124+
tvl: sumTokensExport({ ...config[chain], fetchCoValentTokens, })
125+
}
126+
})

0 commit comments

Comments
 (0)