UNPKG

@yoroi/portfolio

Version:

The Portfolio package of Yoroi SDK

142 lines (131 loc) 3.3 kB
import {cacheRecordMaker} from '@yoroi/common' import {Api, App, Portfolio} from '@yoroi/types' import {freeze} from 'immer' import {tokenInfoMocks} from './token-info.mocks' import {primaryTokenId} from '../constants' const primaryETH: Portfolio.Token.Discovery = { id: primaryTokenId, supply: 45_000_000_000_000n.toString(), originalMetadata: { filteredMintMetadatum: null, referenceDatum: null, tokenRegistry: null, }, source: { decimals: Portfolio.Token.Source.Metadata, originalImage: Portfolio.Token.Source.Metadata, name: Portfolio.Token.Source.Metadata, symbol: Portfolio.Token.Source.Metadata, ticker: Portfolio.Token.Source.Metadata, description: Portfolio.Token.Source.Metadata, website: Portfolio.Token.Source.Metadata, }, } const nftCryptoKitty: Portfolio.Token.Discovery = { id: tokenInfoMocks.nftCryptoKitty.id, supply: '0', originalMetadata: { filteredMintMetadatum: null, referenceDatum: null, tokenRegistry: null, }, source: { decimals: Portfolio.Token.Source.Metadata, originalImage: Portfolio.Token.Source.Metadata, name: Portfolio.Token.Source.Metadata, symbol: Portfolio.Token.Source.Metadata, ticker: Portfolio.Token.Source.Metadata, description: Portfolio.Token.Source.Metadata, website: Portfolio.Token.Source.Metadata, }, } const rnftWhatever: Portfolio.Token.Discovery = { id: tokenInfoMocks.rnftWhatever.id, supply: '0', originalMetadata: { filteredMintMetadatum: null, referenceDatum: null, tokenRegistry: null, }, source: { decimals: Portfolio.Token.Source.Metadata, originalImage: Portfolio.Token.Source.Metadata, name: Portfolio.Token.Source.Metadata, symbol: Portfolio.Token.Source.Metadata, ticker: Portfolio.Token.Source.Metadata, description: Portfolio.Token.Source.Metadata, website: Portfolio.Token.Source.Metadata, }, } const apiResponseTokenDiscovery: Readonly< Record< 'success' | 'error', Api.Response<Portfolio.Api.TokenDiscoveryResponse> > > = freeze( { success: { tag: 'right', value: { status: 200, data: nftCryptoKitty, }, }, error: { tag: 'left', error: { status: 404, responseData: null, message: 'Not found', }, }, }, true, ) const apiRequestTokenDiscovery: Portfolio.Token.Id = nftCryptoKitty.id const storage: { entries1: ReadonlyArray< [Portfolio.Token.Id, App.CacheRecord<Portfolio.Token.Discovery>] > } = { entries1: [ [ primaryETH.id, cacheRecordMaker( { expires: new Date().getTime(), hash: 'hash1', }, primaryETH, ), ], [ nftCryptoKitty.id, cacheRecordMaker( { expires: new Date().getTime(), hash: 'hash2', }, nftCryptoKitty, ), ], [ rnftWhatever.id, cacheRecordMaker( { expires: new Date().getTime(), hash: 'hash3', }, rnftWhatever, ), ], ], } export const tokenDiscoveryMocks = freeze({ primaryETH, nftCryptoKitty, rnftWhatever, apiResponseResult: apiResponseTokenDiscovery, apiRequestArgs: apiRequestTokenDiscovery, storage, })