Mole: add new bluefin type of workers (#16973)

This commit is contained in:
Mole
2025-11-07 19:13:59 +08:00
committed by GitHub
parent 7ce3f61530
commit 172881699e

View File

@@ -240,9 +240,15 @@ async function calLyfTvlSui(api) {
const entity = workerEntities.find(({ workerInfo: w }) => w === workerId);
if (!entity) return null;
if (entity.dex == 0) { // cetus
return entity.isSF
? workerInfo.fields.clmm_pool_id
: workerInfo.fields.position_nft?.fields?.pool;
} else if (entity.dex == 1) { // bluefin
return workerInfo.fields.pool_id;
} else {
console.error("dex type wrong")
}
}).filter(Boolean)
);
@@ -256,18 +262,38 @@ async function calLyfTvlSui(api) {
if (!workerEntity) continue;
const isSF = workerEntity.isSF;
const nftFields = isSF
const dex = workerEntity.dex;
let nftFields
if (dex == 0) {
nftFields = isSF
? workerInfo.fields.stable_farming_position_nft?.fields?.clmm_postion?.fields
: workerInfo.fields.position_nft?.fields;
} else if (dex == 1) {
nftFields = workerInfo.fields.position_nft?.fields;
} else {
console.error("dex type wrong")
}
if (!nftFields) continue;
const liquidity = nftFields.liquidity;
const tickLower = i32BitsToNumber(nftFields.tick_lower_index?.fields?.bits);
const tickUpper = i32BitsToNumber(nftFields.tick_upper_index?.fields?.bits);
const poolId = isSF
let liquidity, tickLower, tickUpper, poolId
if (dex == 0) {
liquidity = nftFields.liquidity;
tickLower = i32BitsToNumber(nftFields.tick_lower_index?.fields?.bits);
tickUpper = i32BitsToNumber(nftFields.tick_upper_index?.fields?.bits);
poolId = isSF
? workerInfo.fields.clmm_pool_id
: nftFields.pool;
} else if (dex == 1) {
liquidity = nftFields.liquidity;
tickLower = i32BitsToNumber(nftFields.lower_tick?.fields?.bits);
tickUpper = i32BitsToNumber(nftFields.upper_tick?.fields?.bits);
poolId = nftFields.pool_id;
} else {
console.error("dex type wrong")
}
const poolInfo = poolMap.get(poolId);
if (!poolInfo) continue;