1
- const { request , gql } = require ( 'graphql-request ' ) ;
1
+ const { fetchURL } = require ( '../../helper/utils ' ) ;
2
2
3
- const GRAPHQL_URL = 'https://data.staging.arkiver.net/robolabs/reservoir-mainnet-v2/graphql' ;
4
-
5
- const graphQuery = gql `
6
- query GetStats {
7
- PairSnapshots {
8
- swapApr
9
- managedApy
10
- pair {
11
- address
12
- curveId
13
- token0
14
- token1
15
- token0Symbol
16
- token1Symbol
17
- tvlUSD
18
- }
19
- }
20
- }
21
- ` ;
3
+ const API_URL = 'https://api.reservoir.fi/v1/pairs' ;
22
4
23
5
const getApy = async ( ) => {
24
- const { PairSnapshots } = await request ( GRAPHQL_URL , graphQuery ) ;
6
+ const { data : pairs } = await fetchURL ( API_URL ) ;
25
7
26
- return PairSnapshots . map ( ( snapshot ) => {
27
- const symbols = snapshot . pair . token0Symbol + '-' + snapshot . pair . token1Symbol
28
- const poolType = snapshot . pair . curveId === 0 ? 'Constant Product' : 'Stable'
8
+ return pairs . map ( ( pair ) => {
9
+ const symbols = pair . token0 . symbol + '-' + pair . token1 . symbol
10
+ const poolType = pair . curveId === 0 ? 'Constant Product' : 'Stable'
11
+ const tvlUSD = pair . token0 . usdPrice * Number ( pair . token0Reserve ) + pair . token1 . usdPrice * Number ( pair . token1Reserve )
29
12
return {
30
- pool : snapshot . pair . address ,
13
+ pool : pair . address ,
31
14
chain : 'Avalanche' ,
32
15
project : 'reservoir' ,
33
16
symbol : symbols ,
34
- tvlUsd : snapshot . pair . tvlUSD ,
35
- apyBase : ( snapshot . swapApr + snapshot . managedApy ) * 100 , // to convert into percentage form
36
- apyReward : 0 ,
37
- rewardTokens : [ ] , // we do not have incentive tokens at this point
38
- underlyingTokens : [ snapshot . pair . token0 , snapshot . pair . token1 ] ,
17
+ tvlUsd : tvlUSD ,
18
+ apyBase : pair . swapApr ,
19
+ apyReward : pair . supplyApr ,
20
+ rewardTokens : [ '0x2e3b32730B4F6b6502BdAa9122df3B026eDE5391' ] ,
21
+ underlyingTokens : [ pair . token0 . contractAddress , pair . token1 . contractAddress ] ,
39
22
poolMeta : poolType
40
23
}
41
24
} )
@@ -44,5 +27,5 @@ const getApy = async () => {
44
27
module . exports = {
45
28
timetravel : false ,
46
29
apy : getApy ,
47
- url : 'https://analytics .reservoir.fi/' ,
30
+ url : 'https://app .reservoir.fi/analytics ' ,
48
31
} ;
0 commit comments