1
-
2
1
const ADDRESSES = require ( '../helper/coreAssets.json' )
3
2
const { getLogs2 } = require ( '../helper/cache/getLogs' )
4
-
5
- const tradeVault = '0x8772bB60EA1BBA8a7729a90ff1907855FD55ba83'
6
- const lpVault = '0xbC268D619b406bdfCA1B4AC30d50Ba30AB38E96f'
7
- const portfolioVault = '0x9099824Be9aB2b691ce0E478853Cb15Fb81FF677'
8
-
9
- const elfUSD = '0x70B8117b3177a7CE42BEe021E89625f27E45b98C'
10
-
11
- module . exports = {
12
- arbitrum : {
13
- tvl,
14
- } ,
15
- } ;
16
-
17
- async function tvl ( api ) {
3
+ const vaults = {
4
+ 'arbitrum' : [ '0x8772bB60EA1BBA8a7729a90ff1907855FD55ba83' , '0xbC268D619b406bdfCA1B4AC30d50Ba30AB38E96f' , '0x9099824Be9aB2b691ce0E478853Cb15Fb81FF677' ] ,
5
+ 'base' : [ '0x9099824Be9aB2b691ce0E478853Cb15Fb81FF677' , '0x8772bB60EA1BBA8a7729a90ff1907855FD55ba83' , '0xb059B996C2Ebf23E77dD3110AE1f334caBF2DeA2' ] ,
6
+ }
7
+ const elfUSD = {
8
+ 'arbitrum' : '0x70B8117b3177a7CE42BEe021E89625f27E45b98C' ,
9
+ 'base' : '0xc367281626dDbf7fE93229A396AE8E29dE25D5E2'
10
+ }
11
+ async function arbitrum_tvl ( api ) {
18
12
const logs = await getLogs2 ( {
19
13
api,
20
14
factory : '0x153c613D572c050104086c7113d00B76Fbaa5d55' ,
21
15
eventAbi : 'event MarketCreated (bytes32 code, string stakeTokenName, address indexToken, address baseToken, address stakeToken)' ,
22
16
fromBlock : 233088372 ,
23
17
} )
24
-
25
- const ownerTokens = logs . map ( log => [ [ log . baseToken , log . indexToken ] , log . stakeToken ] )
26
- ownerTokens . push ( [ [ ADDRESSES . arbitrum . USDC_CIRCLE ] , elfUSD ] )
27
- const tokens = ownerTokens . map ( ( [ tokens ] ) => tokens ) . flat ( )
28
- await api . sumTokens ( { tokens, owners : [ lpVault , portfolioVault , tradeVault ] } )
29
- return api . sumTokens ( { ownerTokens} )
30
- }
18
+ const assetTokens = [ ADDRESSES . arbitrum . USDC_CIRCLE , ADDRESSES . arbitrum . DAI , ADDRESSES . arbitrum . USDT , ADDRESSES . arbitrum . LINK , ADDRESSES . arbitrum . ARB ]
19
+ const tokens = logs . reduce ( ( acc , log ) =>
20
+ [ ...acc , log . baseToken , log . indexToken ] , assetTokens )
21
+ const owners = logs . reduce ( ( acc , log ) =>
22
+ [ ...acc , log . stakeToken ] , [ ...vaults . arbitrum , elfUSD . arbitrum ] )
23
+ return api . sumTokens ( { tokens, owners } )
24
+ }
25
+ async function base_tvl ( api ) {
26
+ const logs = await getLogs2 ( {
27
+ api,
28
+ factory : '0x957e0C2Ea128b0307B5730ff83e0bA508b729d50' ,
29
+ eventAbi : 'event MarketCreated (bytes32 code, string stakeTokenName, address indexToken, address baseToken, address stakeToken)' ,
30
+ fromBlock : 26932589 ,
31
+ } )
32
+ const assetTokens = [ ADDRESSES . base . USDC , ADDRESSES . base . USDT , ADDRESSES . base . DAI ]
33
+ const tokens = logs . reduce ( ( acc , log ) =>
34
+ [ ...acc , log . baseToken , log . indexToken ] , assetTokens )
35
+ const owners = logs . reduce ( ( acc , log ) =>
36
+ [ ...acc , log . stakeToken ] , [ ...vaults . base , elfUSD . base ] )
37
+ return api . sumTokens ( { tokens, owners } )
38
+ }
39
+ module . exports = {
40
+ arbitrum : {
41
+ tvl : arbitrum_tvl ,
42
+ } ,
43
+ base : {
44
+ tvl : base_tvl ,
45
+ } ,
46
+ } ;
0 commit comments