11/* *** Common config *** */
22
33const { sliceIntoChunks } = require ( "@defillama/sdk/build/util" ) ;
4- const { CONFIG_DATA } = require ( "./toros/config" ) ;
54
65const 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
1644const 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
6190const 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
73115const DHT_STAKING_V1_PROXY = "0xEe1B6b93733eE8BA77f558F8a87480349bD81F7f" ;
0 commit comments