Skip to content

Commit

Permalink
chore(portfolio): updated TokenDiscovery
Browse files Browse the repository at this point in the history
  • Loading branch information
stackchain committed May 6, 2024
1 parent 3e9df52 commit aa06667
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 80 deletions.
46 changes: 6 additions & 40 deletions packages/portfolio/src/adapters/token-discovery.mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,89 +6,55 @@ import {tokenInfoMocks} from './token-info.mocks'

const primaryETH: Portfolio.Token.Discovery = {
id: '.',
counters: {
items: 1,
totalItems: 1,
supply: 45_000_000_000_000n,
},
supply: 45_000_000_000_000n,
originalMetadata: {
filteredMintMetadatum: null,
referenceDatum: null,
tokenRegistry: null,
},
properties: {},
source: {
decimals: Portfolio.Token.Source.Metadata,
image: Portfolio.Token.Source.Metadata,
name: Portfolio.Token.Source.Metadata,
symbol: Portfolio.Token.Source.Metadata,
ticker: Portfolio.Token.Source.Metadata,
description: Portfolio.Token.Source.Metadata,
},
}

const nftCryptoKitty: Portfolio.Token.Discovery = {
id: tokenInfoMocks.nftCryptoKitty.id,
counters: {
items: 1,
totalItems: 1,
supply: 0n,
},
supply: 0n,
originalMetadata: {
filteredMintMetadatum: null,
referenceDatum: null,
tokenRegistry: null,
},
properties: {
eyes: {
detectedType: Portfolio.Token.PropertyType.String,
rarity: 0.9,
value: 'green',
},
hair: {
detectedType: Portfolio.Token.PropertyType.String,
rarity: 0.001,
value: 'black',
},
},
source: {
decimals: Portfolio.Token.Source.Metadata,
image: Portfolio.Token.Source.Metadata,
name: Portfolio.Token.Source.Metadata,
symbol: Portfolio.Token.Source.Metadata,
ticker: Portfolio.Token.Source.Metadata,
description: Portfolio.Token.Source.Metadata,
},
}

const rnftWhatever: Portfolio.Token.Discovery = {
id: tokenInfoMocks.rnftWhatever.id,
counters: {
items: 1,
totalItems: 1,
supply: 0n,
},
supply: 0n,
originalMetadata: {
filteredMintMetadatum: null,
referenceDatum: null,
tokenRegistry: null,
},
properties: {
head: {
detectedType: Portfolio.Token.PropertyType.String,
rarity: 0.9,
value: 'alien',
},
neck: {
detectedType: Portfolio.Token.PropertyType.String,
rarity: 0.001,
value: true,
},
},
source: {
decimals: Portfolio.Token.Source.Metadata,
image: Portfolio.Token.Source.Metadata,
name: Portfolio.Token.Source.Metadata,
symbol: Portfolio.Token.Source.Metadata,
ticker: Portfolio.Token.Source.Metadata,
description: Portfolio.Token.Source.Metadata,
},
}

Expand Down
22 changes: 2 additions & 20 deletions packages/portfolio/src/validators/token-discovery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import {z} from 'zod'

import {responseRecordWithCacheSchemaMaker} from './response-record-with-cache-schema-maker'
import {TokenSourceSchema} from './token-source'
import {TokenPropertyTypeSchema} from './token-property-type'
import {TokenIdSchema} from './token-id'
import {cacheRecordSchemaMaker} from '@yoroi/common'

Expand All @@ -13,6 +12,7 @@ const DiscoverySourceSchema = z.object({
ticker: TokenSourceSchema,
symbol: TokenSourceSchema,
image: TokenSourceSchema,
description: TokenSourceSchema,
})

const DiscoveryOriginalMetadataSchema = z.object({
Expand All @@ -21,29 +21,11 @@ const DiscoveryOriginalMetadataSchema = z.object({
tokenRegistry: z.record(z.unknown()).nullable(),
})

const DiscoveryCountersSchema = z.object({
supply: z.bigint(),
items: z.number(),
totalItems: z.number(),
})

const DiscoveryPropertiesSchema = z.record(
z.union([
z.object({
rarity: z.number(),
detectedType: TokenPropertyTypeSchema,
value: z.unknown(),
}),
z.object({}),
]),
)

export const TokenDiscoverySchema = z.object({
id: TokenIdSchema,
source: DiscoverySourceSchema,
originalMetadata: DiscoveryOriginalMetadataSchema,
counters: DiscoveryCountersSchema,
properties: DiscoveryPropertiesSchema,
supply: z.bigint(),
})

export const isTokenDiscovery = (data: unknown): data is Portfolio.Token.Info =>
Expand Down
23 changes: 3 additions & 20 deletions packages/types/src/portfolio/discovery.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
import {
PortfolioTokenId,
PortfolioTokenPropertyType,
PortfolioTokenSource,
} from './token'
import {PortfolioTokenId, PortfolioTokenSource} from './token'

export type PortfolioTokenDiscovery = {
id: PortfolioTokenId
Expand All @@ -13,6 +9,7 @@ export type PortfolioTokenDiscovery = {
ticker: PortfolioTokenSource
symbol: PortfolioTokenSource
image: PortfolioTokenSource
description: PortfolioTokenSource
}

originalMetadata: {
Expand All @@ -21,19 +18,5 @@ export type PortfolioTokenDiscovery = {
tokenRegistry: null | Record<string, unknown>
}

counters: {
supply: bigint
items: number
totalItems: number
}

properties:
| {
[property: string]: {
rarity: number
detectedType: PortfolioTokenPropertyType
value: any
}
}
| {}
supply: bigint
}

0 comments on commit aa06667

Please sign in to comment.