UNPKG

@yoroi/portfolio

Version:

The Portfolio package of Yoroi SDK

32 lines 1.32 kB
import { StorageReviverType, storageDeserializerMaker } from '@yoroi/common'; import { freeze } from 'immer'; import { parsePrimaryBreakdown } from '../validators/primary-breakdown'; import { parseTokenAmount } from '../validators/token-amount'; export const tokenDiscoveryReviverMapping = { supply: StorageReviverType.AsBigInt }; export const tokenAmountReviverMapping = { quantity: StorageReviverType.AsBigInt }; export const primaryBalanceBreakdownReviverMapping = { availableRewards: StorageReviverType.AsBigInt, totalFromTxs: StorageReviverType.AsBigInt, lockedAsStorageCost: StorageReviverType.AsBigInt }; const tokenAmountDeserializer = jsonString => { if (jsonString == null) return null; const record = storageDeserializerMaker(tokenAmountReviverMapping)(jsonString); const parsed = parseTokenAmount(record); return parsed ?? null; }; const primaryBalanceBreakdownDeserializer = jsonString => { if (jsonString == null) return null; const record = storageDeserializerMaker(primaryBalanceBreakdownReviverMapping)(jsonString); const parsed = parsePrimaryBreakdown(record); return parsed ?? null; }; export const deserializers = freeze({ tokenAmount: tokenAmountDeserializer, primaryBreakdown: primaryBalanceBreakdownDeserializer }, true); //# sourceMappingURL=deserializers.js.map