From 5b7ea1a986ed8cd93d95daf644a2429e20f221fa Mon Sep 17 00:00:00 2001 From: graykode Date: Mon, 2 Feb 2026 13:17:05 +0900 Subject: [PATCH 1/2] fix: enhance price handling logic in snapshot.ts to account for stable coins --- src/entities/pool/apis/snapshot.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/entities/pool/apis/snapshot.ts b/src/entities/pool/apis/snapshot.ts index 9886b7a..86bc75c 100644 --- a/src/entities/pool/apis/snapshot.ts +++ b/src/entities/pool/apis/snapshot.ts @@ -1,4 +1,4 @@ -import { formatUnits, getAddress } from 'viem' +import { formatUnits, getAddress, isAddressEqual } from 'viem' import BigNumber from 'bignumber.js' import { CHAIN_IDS } from '../../../constants/chain-configs/chain' @@ -6,6 +6,7 @@ import { Currency, PoolSnapshot } from '../../../types' import { Subgraph } from '../../../constants/chain-configs/subgraph' import { getContractAddresses } from '../../../views' import { UserPoolPosition } from '../types' +import { STABLE_COINS } from '../../../constants/chain-configs/currency' type PoolDto = { id: string @@ -114,17 +115,22 @@ export const fetchPoolSnapshotFromSubgraph = async ( BigInt(pool.initialTokenBAmount), Number(pool.tokenB.decimals), ) + const isQuoteStable = (STABLE_COINS[chainId] ?? []).some((stableCoin) => + isAddressEqual(stableCoin.address, currencyB.address), + ) const initialTotalSupply = formatUnits(BigInt(pool.initialTotalSupply), 18) const performanceHistories = poolDayDatas .map((poolDayData, index) => { - const priceAUSD = - index === 0 && currencyAPrice + const priceAUSD = isQuoteStable + ? '1' + : index === 0 && currencyAPrice ? currencyAPrice.toString() : pool.tokenA.tokenDayData.find( ({ date }) => date === poolDayData.date, )?.priceUSD ?? '0' - const priceBUSD = - index === 0 && currencyBPrice + const priceBUSD = isQuoteStable + ? poolDayData.priceB + : index === 0 && currencyBPrice ? currencyBPrice.toString() : pool.tokenB.tokenDayData.find( ({ date }) => date === poolDayData.date, From 8ce0a9ea608835559a2efba97a971f17d884b0bd Mon Sep 17 00:00:00 2001 From: graykode Date: Mon, 2 Feb 2026 13:17:31 +0900 Subject: [PATCH 2/2] chore: bump version to 1.0.0-beta.35 in package.json and package-lock.json --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b24d953..2709050 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@clober/v2-sdk", - "version": "1.0.0-beta.34", + "version": "1.0.0-beta.35", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@clober/v2-sdk", - "version": "1.0.0-beta.34", + "version": "1.0.0-beta.35", "license": "MIT", "dependencies": { "axios": "^1.7.7", diff --git a/package.json b/package.json index 26cdf3c..f05c319 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@clober/v2-sdk", - "version": "1.0.0-beta.34", + "version": "1.0.0-beta.35", "description": "🛠 An SDK for building applications on top of Clober V2", "files": [ "dist"