@@ -2,40 +2,37 @@ const axios = require('axios');
2
2
const { getPools } = require ( '../morfi/gql-requests' ) ;
3
3
4
4
const chains = {
5
- sui : 'https://api-sui.cetus.zone/v2 /sui/stats_pools?is_vaults=false&display_all_pools=true&has_mining=true&has_farming=true&no_incentives=true&order_by=-tvl&limit=100&offset=0' ,
5
+ sui : 'https://api-sui.cetus.zone/v3 /sui/clmm /stats_pools?is_vaults=false&display_all_pools=true&has_mining=true&has_farming=true&no_incentives=true&order_by=-tvl&limit=100&offset=0' ,
6
6
aptos : 'https://api.cetus.zone/v2/swap/count' ,
7
7
} ;
8
8
9
9
const apy = async ( chain ) => {
10
10
if ( chain === 'sui' ) {
11
11
let pools = (
12
12
await axios . get ( chains [ chain ] )
13
- ) . data . data . lp_list ;
13
+ ) . data . data . list ;
14
14
15
15
return pools . map ( ( p ) => {
16
16
17
- const apyRewardSui = p . rewarder_apr . reduce (
18
- ( a , b ) => a + Number ( b . replace ( '%' , '' ) ) ,
19
- 0
20
- ) ;
17
+ const apyBase = Number ( p ?. stats [ 0 ] . apr ) * 100 ;
18
+ const apyReward = p . totalApr * 100 - apyBase ;
21
19
22
- let rewarders = p . object . rewarder_manager ?. fields ?. rewarders
23
- let rewardTokens = rewarders ?. map ( rewards => {
24
- return rewards . fields . reward_coin . fields . name
20
+ let rewardTokens = p . miningRewarders ?. map ( rewards => {
21
+ return rewards . coinType
25
22
} )
26
23
return {
27
- pool : p . address ,
24
+ pool : p . pool ,
28
25
chain : chain ,
29
26
project : 'cetus-amm' ,
30
- symbol : p . symbol ,
31
- underlyingTokens : [ p . coin_a_address , p . coin_b_address ] ,
27
+ symbol : [ p . coinA . symbol , p . coinB . symbol ] . join ( '-' ) ,
28
+ underlyingTokens : [ p . coinA . coinType , p . coinB . coinType ] ,
32
29
rewardTokens,
33
- tvlUsd : Number ( p . pure_tvl_in_usd ) ,
34
- apyBase : Number ( p ?. apr . fee_apr_24h . replace ( '%' , '' ) ) ,
35
- apyReward : apyRewardSui > 0 ? apyRewardSui : 0 ,
36
- volumeUsd1d : Number ( p ?. vol_in_usd_24h ) ,
37
- poolMeta : `${ Number ( p . fee ) * 100 } %` ,
38
- url : `https://app.cetus.zone/liquidity/deposit?poolAddress=${ p . swap_account } ` ,
30
+ tvlUsd : Number ( p . tvl ) ,
31
+ apyBase : apyBase ,
32
+ apyReward : apyReward > 0 ? apyReward : 0 ,
33
+ volumeUsd1d : Number ( p ?. stats [ 0 ] . vol ) ,
34
+ poolMeta : `${ Number ( p . feeRate ) / 100 } %` ,
35
+ url : `https://app.cetus.zone/liquidity/deposit?poolAddress=${ p . pool } ` ,
39
36
} ;
40
37
} )
41
38
. filter ( ( i ) => i . tvlUsd <= 1e8 ) ;
0 commit comments