diff --git a/packages/snap/src/services/price/price-api/api.test.ts b/packages/snap/src/services/price/price-api/api.test.ts index 2ea49363..f6523eb0 100644 --- a/packages/snap/src/services/price/price-api/api.test.ts +++ b/packages/snap/src/services/price/price-api/api.test.ts @@ -125,6 +125,15 @@ describe('price-api structs', () => { assert({ id: 'xlm', price: -0.01 }, SpotPriceStruct), ).toThrow(StructError); }); + + it('accepts negative dilutedMarketCap', () => { + expect(() => + assert( + { id: 'xlm', price: 0.12, dilutedMarketCap: -1 }, + SpotPriceStruct, + ), + ).not.toThrow(); + }); }); describe('GetSpotPricesResponseStruct', () => { diff --git a/packages/snap/src/services/price/price-api/api.ts b/packages/snap/src/services/price/price-api/api.ts index 14f27015..b2528e45 100644 --- a/packages/snap/src/services/price/price-api/api.ts +++ b/packages/snap/src/services/price/price-api/api.ts @@ -160,7 +160,8 @@ export const SpotPriceStruct = type({ high1d: optional(nullable(min(number(), 0))), low1d: optional(nullable(min(number(), 0))), circulatingSupply: optional(nullable(min(number(), 0))), - dilutedMarketCap: optional(nullable(min(number(), 0))), + // Fully diluted market cap can be negative from the Price API. + dilutedMarketCap: optional(nullable(number())), marketCapPercentChange1d: optional(nullable(number())), priceChange1d: optional(nullable(number())), pricePercentChange1h: optional(nullable(number())),