Skip to content

Commit 51ca720

Browse files
authored
Merge pull request #1606 from mars-protocol/fix-remove-stale-perps
2 parents 3678e0d + 7246266 commit 51ca720

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/api/prices/getOraclePrices.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ export default async function getOraclePrices(
2626
assets: Asset[],
2727
): Promise<BNCoin[]> {
2828
if (!assets.length) return []
29+
30+
const problematicDenoms = ['perps/ufxs', 'perps/uom', 'perps/unil']
31+
const filteredAssets = assets.filter((asset) => !problematicDenoms.includes(asset.denom))
32+
2933
try {
3034
let priceResults: PriceResponse[] = []
3135
if (chainConfig.isOsmosis) {
@@ -35,8 +39,8 @@ export default async function getOraclePrices(
3539
const neutronOracleQueryClient = await getOracleQueryClientNeutron(chainConfig)
3640

3741
// Filter assets: separate those with 'share' in denom from others
38-
const shareAssets = assets.filter((asset) => asset.denom.endsWith('share'))
39-
const nonShareAssets = assets.filter((asset) => !asset.denom.endsWith('share'))
42+
const shareAssets = filteredAssets.filter((asset) => asset.denom.endsWith('share'))
43+
const nonShareAssets = filteredAssets.filter((asset) => !asset.denom.endsWith('share'))
4044

4145
let batchPriceResults: PriceResponse[] = []
4246
let individualPriceResults: PriceResponse[] = []
@@ -84,6 +88,9 @@ export default async function getOraclePrices(
8488
}
8589

8690
return assets.map((asset) => {
91+
if (problematicDenoms.includes(asset.denom)) {
92+
return BNCoin.fromDenomAndBigNumber(asset.denom, BN_ZERO)
93+
}
8794
const priceResponse = priceResults.find(byDenom(asset.denom)) as PriceResponse
8895
return getAssetPrice(asset, priceResponse)
8996
})
@@ -95,6 +102,9 @@ export default async function getOraclePrices(
95102
: await getOracleQueryClientNeutron(chainConfig)
96103
return Promise.all(
97104
assets.map(async (asset) => {
105+
if (problematicDenoms.includes(asset.denom)) {
106+
return BNCoin.fromDenomAndBigNumber(asset.denom, BN_ZERO)
107+
}
98108
const priceResponse = await queryClient.price({ denom: asset.denom })
99109
return getAssetPrice(asset, priceResponse)
100110
}),

0 commit comments

Comments
 (0)