1
1
const ADDRESSES = require ( '../helper/coreAssets.json' )
2
2
3
3
const config = {
4
- ethereum : [
5
- // https://docs.reservoir.xyz/products/proof-of-reserves
6
- '0x0c7e4342534e6e8783311dCF17828a2aa0951CC7' ,
7
- '0x9BB2c38F57883E5285b7c296c66B9eEA4769eF80' ,
8
- '0x99A95a9E38e927486fC878f41Ff8b118Eb632b10' ,
9
- '0xE45321525c85fcc418C88E606B96daD8cBcc047f' ,
10
- '0x841DB2cA7E8A8C2fb06128e8c58AA162de0CfCbC' ,
11
- '0x99E8903bdEFB9e44cd6A24B7f6F97dDd071549bc'
12
- // '0x31Eae643b679A84b37E3d0B4Bd4f5dA90fB04a61', - exluded RUSD because it is project's own token
13
- ]
4
+ ethereum : [
5
+ // https://docs.reservoir.xyz/products/proof-of-reserves
6
+ '0x0c7e4342534e6e8783311dCF17828a2aa0951CC7' ,
7
+ '0x9BB2c38F57883E5285b7c296c66B9eEA4769eF80' ,
8
+ '0x99A95a9E38e927486fC878f41Ff8b118Eb632b10' ,
9
+ '0xE45321525c85fcc418C88E606B96daD8cBcc047f' ,
10
+ '0x841DB2cA7E8A8C2fb06128e8c58AA162de0CfCbC' ,
11
+ '0x99E8903bdEFB9e44cd6A24B7f6F97dDd071549bc'
12
+ // '0x31Eae643b679A84b37E3d0B4Bd4f5dA90fB04a61', - exluded RUSD because it is project's own token
13
+ ] ,
14
+ berachain : [ ] ,
14
15
}
15
16
16
17
Object . keys ( config ) . forEach ( chain => {
17
18
if ( chain === 'berachain' ) {
18
- const lpToken = '0xbbB228B0D7D83F86e23a5eF3B1007D0100581613' ;
19
- const honeyToken = '0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce' ;
20
- const byusdToken = '0x688e72142674041f8f6af4c808a4045ca1d6ac82' ;
19
+ // BYUSD-HONEY-LP
20
+ const byusd_honey_lp_vault = '0xbbB228B0D7D83F86e23a5eF3B1007D0100581613' ;
21
+ const byusd_honey_lp_token = '0xdE04c469Ad658163e2a5E860a03A86B52f6FA8C8' ;
22
+ const byusd_honey_lp_owner = '0x0db79c0770E1C647b8Bb76D94C22420fAA7Ac181' ;
21
23
22
- const owner = '0x0db79c0770E1C647b8Bb76D94C22420fAA7Ac181' ;
24
+ // HONEY in rUSD-HONEY LP
25
+ const rusd_honey_lp_vault = '0x1C5879B75be9E817B1607AFb6f24F632eE6F8820' ;
26
+ const rusd_honey_lp_token = '0x7fd165B73775884a38AA8f2B384A53A3Ca7400E6' ;
27
+ const rusd_honey_lp_owner = '0x6811742721DcCe83942739d44E40f140B5BCee37' ;
28
+
29
+ // USDT0 in rUSD-USDT0 LP
30
+ const rusd_usdt0_lp_vault = '0xc6De36eceD67db9c17919708865b3eE94a7D987C' ;
31
+ const rusd_usdt0_lp_token = '0x1fb6c1aDE4F9083b2EA42ED3fa9342e41788D4b5' ;
32
+ const rusd_usdt0_lp_owner = '0x8Cc5a546408C6cE3C9eeB99788F9EC3b8FA6b9F3' ;
23
33
24
34
module . exports [ chain ] = {
25
35
tvl : async ( api ) => {
26
- const lpBalance = await api . call ( { abi : 'address:balanceOf' , target : lpToken , params : owner } )
27
- const honeyBalance = await api . call ( { abi : 'address:balanceOf' , target : honeyToken , params : owner } )
28
- const byusdBalance = await api . call ( { abi : 'address:balanceOf' , target : byusdToken , params : owner } )
36
+ const lpBalance = await api . call ( { abi : 'function balanceOf(address) view returns (uint256)' , target : byusd_honey_lp_vault , params : byusd_honey_lp_owner } )
37
+ api . add ( byusd_honey_lp_token , lpBalance ) ;
38
+
39
+ const honeyBalance = await api . call ( { abi : 'function balanceOf(address) view returns (uint256)' , target : rusd_honey_lp_vault , params : rusd_honey_lp_owner } )
40
+ api . add ( rusd_honey_lp_token , Number ( honeyBalance ) / 2 ) ;
29
41
30
- api . add ( lpToken , lpBalance ) ;
31
- api . add ( honeyToken , honeyBalance )
32
- api . add ( byusdToken , byusdBalance )
42
+ const usdt0Balance = await api . call ( { abi : 'function balanceOf(address) view returns (uint256)' , target : rusd_usdt0_lp_vault , params : rusd_usdt0_lp_owner } )
43
+ api . add ( rusd_usdt0_lp_token , Number ( usdt0Balance ) / 2 ) ;
33
44
34
45
return api . getBalances ( )
35
46
}
@@ -39,14 +50,26 @@ Object.keys(config).forEach(chain => {
39
50
const funds = config [ chain ]
40
51
module . exports [ chain ] = {
41
52
tvl : async ( api ) => {
53
+ // count assets on tvl adapters
42
54
const tokens = await api . multiCall ( { abi : 'address:underlying' , calls : funds } )
43
55
const bals = await api . multiCall ( { abi : 'uint256:totalValue' , calls : funds } )
44
56
const decimals = await api . multiCall ( { abi : 'uint8:decimals' , calls : tokens } )
45
57
bals . forEach ( ( v , i ) => bals [ i ] = v * 10 ** ( decimals [ i ] - 18 ) )
46
58
api . add ( tokens , bals )
47
- return api . sumTokens ( {
59
+
60
+ // count USDC locked in 0x4809010926aec940b550D34a46A52739f996D75D
61
+ api . sumTokens ( {
48
62
owner : '0x4809010926aec940b550D34a46A52739f996D75D' , token : ADDRESSES . ethereum . USDC
49
63
} )
64
+
65
+ // count USDC deposited in Euler eUSDC vault
66
+ // vault: 0xe0a80d35bb6618cba260120b279d357978c42bce
67
+ // account: 0x3063C5907FAa10c01B242181Aa689bEb23D2BD65
68
+ const shareBalance = await api . call ( { abi : 'function balanceOf(address) view returns (uint256)' , target : '0xe0a80d35bb6618cba260120b279d357978c42bce' , params : [ '0x3063C5907FAa10c01B242181Aa689bEb23D2BD65' ] } )
69
+ const assetBalance = await api . call ( { abi : 'function convertToAssets(uint256) view returns (uint256)' , target : '0xe0a80d35bb6618cba260120b279d357978c42bce' , params : [ shareBalance . toString ( ) ] } )
70
+ api . add ( ADDRESSES . ethereum . USDC , assetBalance )
71
+
72
+ return api . getBalances ( )
50
73
}
51
74
}
52
75
}
0 commit comments