Skip to content

Commit b01fc9c

Browse files
authored
subtract mstable v2 tvl from dhedge tvl (#16904)
1 parent 1c9387d commit b01fc9c

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

projects/dhedge.js

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/* *** Common config *** */
22

33
const { sliceIntoChunks } = require("@defillama/sdk/build/util");
4-
const { CONFIG_DATA } = require("./toros/config");
54

65
const DHEDGE_FACTORY_PROXIES = {
76
ethereum: "0x96d33bcf84dde326014248e2896f79bbb9c13d6d",
@@ -11,6 +10,35 @@ const DHEDGE_FACTORY_PROXIES = {
1110
base: "0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",
1211
};
1312

13+
const CONFIG_DATA_MSTABLE = {
14+
ethereum: {
15+
dhedgeFactory: "0x96d33bcf84dde326014248e2896f79bbb9c13d6d",
16+
mstableManager: "0x3dd46846eed8D147841AE162C8425c08BD8E1b41",
17+
},
18+
};
19+
20+
const CONFIG_DATA_TOROS = {
21+
polygon: {
22+
dhedgeFactory: "0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",
23+
torosMultisigManager: "0x090e7fbd87a673ee3d0b6ccacf0e1d94fb90da59",
24+
},
25+
optimism: {
26+
dhedgeFactory: "0x5e61a079A178f0E5784107a4963baAe0c5a680c6",
27+
torosMultisigManager: "0x813123a13d01d3f07d434673fdc89cbba523f14d",
28+
},
29+
arbitrum: {
30+
dhedgeFactory: "0xffFb5fB14606EB3a548C113026355020dDF27535",
31+
torosMultisigManager: "0xfbd2b4216f422dc1eee1cff4fb64b726f099def5",
32+
},
33+
base: {
34+
dhedgeFactory: "0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",
35+
torosMultisigManager: "0x5619AD05b0253a7e647Bd2E4C01c7f40CEaB0879",
36+
},
37+
ethereum: {
38+
dhedgeFactory: "0x96d33bcf84dde326014248e2896f79bbb9c13d6d",
39+
torosMultisigManager: "0xfbd2b4216f422dc1eee1cff4fb64b726f099def5",
40+
},
41+
};
1442
/* *** dHEDGE V1 *** */
1543

1644
const DHEDGE_V1_VAULTS_QUANTITY_ABI =
@@ -44,7 +72,8 @@ const tvl = async (api) => {
4472
const target = DHEDGE_FACTORY_PROXIES[chain];
4573
const allVaults = await api.call({ abi: DHEDGE_V2_VAULTS_ABI, target, })
4674
const torosVaults = await getTorosVaultsAddresses(api);
47-
const dhedgeVaults = allVaults.filter(v => !torosVaults.includes(v));
75+
const mstableVaults = await getMstableVaultsAddresses(api);
76+
const dhedgeVaults = allVaults.filter(v => !torosVaults.includes(v) && !mstableVaults.includes(v));
4877

4978
let chunkSize = chain === 'optimism' ? 42 : 51 // Optimism has a lower gas limit
5079
const vaultChunks = sliceIntoChunks(dhedgeVaults, chunkSize);
@@ -60,14 +89,27 @@ const tvl = async (api) => {
6089

6190
const getTorosVaultsAddresses = async (api) =>{
6291
const { chain } = api
63-
const { dhedgeFactory, torosMultisigManager } = CONFIG_DATA[chain];
92+
const { dhedgeFactory, torosMultisigManager } = CONFIG_DATA_TOROS[chain];
6493
return await api.call({
6594
abi: DHEDGE_V2_FACTORY_ABI,
6695
target: dhedgeFactory,
6796
params: [torosMultisigManager],
6897
});
6998
}
7099

100+
const getMstableVaultsAddresses = async (api) =>{
101+
const { chain } = api
102+
if (chain === 'ethereum') {
103+
const { dhedgeFactory, mstableManager } = CONFIG_DATA_MSTABLE[chain];
104+
return await api.call({
105+
abi: DHEDGE_V2_FACTORY_ABI,
106+
target: dhedgeFactory,
107+
params: [mstableManager],
108+
});
109+
}
110+
return [];
111+
}
112+
71113
/* *** DHT Staking V1 *** */
72114

73115
const DHT_STAKING_V1_PROXY = "0xEe1B6b93733eE8BA77f558F8a87480349bD81F7f";

0 commit comments

Comments
 (0)