diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 63db0c98a..245743357 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -29,6 +29,8 @@ on: required: true SECURITY_ALERTS_API_BASE_URL: required: true + NFT_API_BASE_URL: + required: true EXPLORER_BASE_URL: required: true @@ -65,6 +67,7 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v1 @@ -116,6 +119,7 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v1 diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 1d7d82e55..9db666452 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -69,3 +69,4 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 171f98bc3..79efb8b52 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,6 +23,7 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} sonarcloud: permissions: @@ -101,3 +102,4 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cd61c2a63..81a4de3bf 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -37,6 +37,7 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} sonarcloud: permissions: diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index c4decd447..b0e9eb4df 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -33,6 +33,8 @@ on: required: true SECURITY_ALERTS_API_BASE_URL: required: true + NFT_API_BASE_URL: + required: true EXPLORER_BASE_URL: required: true jobs: @@ -69,6 +71,7 @@ jobs: TOKEN_API_BASE_URL: ${{ secrets.TOKEN_API_BASE_URL }} STATIC_API_BASE_URL: ${{ secrets.STATIC_API_BASE_URL }} SECURITY_ALERTS_API_BASE_URL: ${{ secrets.SECURITY_ALERTS_API_BASE_URL }} + NFT_API_BASE_URL: ${{ secrets.NFT_API_BASE_URL }} - name: Upload build artifacts uses: actions/upload-artifact@v4 with: diff --git a/packages/snap/locales/de.json b/packages/snap/locales/de.json index 648107809..e022a54d4 100644 --- a/packages/snap/locales/de.json +++ b/packages/snap/locales/de.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/el.json b/packages/snap/locales/el.json index 986a237f1..e782ef25d 100644 --- a/packages/snap/locales/el.json +++ b/packages/snap/locales/el.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/es.json b/packages/snap/locales/es.json index 7633eae57..b7c89e8b0 100644 --- a/packages/snap/locales/es.json +++ b/packages/snap/locales/es.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/fr.json b/packages/snap/locales/fr.json index d4a90ae16..9519ccc40 100644 --- a/packages/snap/locales/fr.json +++ b/packages/snap/locales/fr.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/hi.json b/packages/snap/locales/hi.json index 506b39521..2ab7276cd 100644 --- a/packages/snap/locales/hi.json +++ b/packages/snap/locales/hi.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/id.json b/packages/snap/locales/id.json index 5c5e31add..47523df84 100644 --- a/packages/snap/locales/id.json +++ b/packages/snap/locales/id.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/ja.json b/packages/snap/locales/ja.json index 193fba767..6218d92d9 100644 --- a/packages/snap/locales/ja.json +++ b/packages/snap/locales/ja.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/ko.json b/packages/snap/locales/ko.json index 2e8ecae27..d9a32b89d 100644 --- a/packages/snap/locales/ko.json +++ b/packages/snap/locales/ko.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/pt.json b/packages/snap/locales/pt.json index a4c4b1c02..abf279038 100644 --- a/packages/snap/locales/pt.json +++ b/packages/snap/locales/pt.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/ru.json b/packages/snap/locales/ru.json index 77bc016c4..fa5551b77 100644 --- a/packages/snap/locales/ru.json +++ b/packages/snap/locales/ru.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/tl.json b/packages/snap/locales/tl.json index 0f8cd9bbb..13cce81eb 100644 --- a/packages/snap/locales/tl.json +++ b/packages/snap/locales/tl.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/tr.json b/packages/snap/locales/tr.json index b29671bca..3c49e0274 100644 --- a/packages/snap/locales/tr.json +++ b/packages/snap/locales/tr.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/vi.json b/packages/snap/locales/vi.json index fe938a513..c5aae75e1 100644 --- a/packages/snap/locales/vi.json +++ b/packages/snap/locales/vi.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/locales/zh.json b/packages/snap/locales/zh.json index 45c69ae8e..51d014ca7 100644 --- a/packages/snap/locales/zh.json +++ b/packages/snap/locales/zh.json @@ -266,4 +266,4 @@ "message": "An unknown error occurred." } } -} \ No newline at end of file +} diff --git a/packages/snap/snap.config.ts b/packages/snap/snap.config.ts index dcbb25e0c..4501facac 100644 --- a/packages/snap/snap.config.ts +++ b/packages/snap/snap.config.ts @@ -20,6 +20,7 @@ const environment = { TOKEN_API_BASE_URL: process.env.TOKEN_API_BASE_URL ?? '', STATIC_API_BASE_URL: process.env.STATIC_API_BASE_URL ?? '', SECURITY_ALERTS_API_BASE_URL: process.env.SECURITY_ALERTS_API_BASE_URL ?? '', + NFT_API_BASE_URL: process.env.NFT_API_BASE_URL ?? '', LOCAL_API_BASE_URL: process.env.LOCAL_API_BASE_URL ?? '', }; diff --git a/packages/snap/snap.manifest.json b/packages/snap/snap.manifest.json index de0ec691d..6a1b3fd51 100644 --- a/packages/snap/snap.manifest.json +++ b/packages/snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/snap-solana-wallet.git" }, "source": { - "shasum": "60Zn2UOhpoaLT3yQ5V8UJElF7SiGynw9+dQ9lfZICFQ=", + "shasum": "+7X37iftHlIqWFoG3QMA+Cro5+l3gv2VJQdBmuBnU6I=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/snap/src/core/clients/nft-api/NftApiClient.test.ts b/packages/snap/src/core/clients/nft-api/NftApiClient.test.ts new file mode 100644 index 000000000..5613768ee --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/NftApiClient.test.ts @@ -0,0 +1,154 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import type { ICache } from '../../caching/ICache'; +import { InMemoryCache } from '../../caching/InMemoryCache'; +import type { Serializable } from '../../serialization/types'; +import type { ConfigProvider } from '../../services/config'; +import type { ILogger } from '../../utils/logger'; +import { MOCK_NFT_METADATA_RESPONSE_MAPPED } from './mocks/mockNftMetadataResponseMapped'; +import { MOCK_NFT_METADATA_RESPONSE_RAW } from './mocks/mockNftMetadataResponseRaw'; +import { MOCK_NFTS_LIST_RESPONSE_MAPPED } from './mocks/mockNftsListResponseMapped'; +import { MOCK_NFTS_LIST_RESPONSE_RAW } from './mocks/mockNftsListResponseRaw'; +import { NftApiClient } from './NftApiClient'; + +const mockFetch = jest.fn(); +const mockLogger = { + info: jest.fn(console.info), + error: jest.fn(console.error), + warn: jest.fn(console.error), +} as unknown as ILogger; +let mockCache: ICache; + +describe('NftApiClient', () => { + let client: NftApiClient; + let mockConfigProvider: ConfigProvider; + + beforeEach(() => { + jest.clearAllMocks(); + + mockCache = new InMemoryCache(mockLogger); + + mockConfigProvider = { + get: jest.fn().mockReturnValue({ + nftApi: { + baseUrl: 'https://some-mock-url.com', + cacheTtlsMilliseconds: { + listAddressSolanaNfts: 0, + getNftMetadata: 0, + }, + }, + }), + } as unknown as ConfigProvider; + + client = new NftApiClient( + mockConfigProvider, + mockCache, + mockFetch, + mockLogger, + ); + }); + + describe('constructor', () => { + it('rejects invalid baseUrl', async () => { + const invalidConfigProvider = { + get: jest.fn().mockReturnValue({ + nftApi: { + baseUrl: 'invalid-url', + cacheTtlsMilliseconds: { + listAddressSolanaNfts: 0, + getNftMetadata: 0, + }, + }, + }), + } as unknown as ConfigProvider; + + expect( + () => + new NftApiClient( + invalidConfigProvider, + mockCache, + mockFetch, + mockLogger, + ), + ).toThrow('Invalid URL format'); + }); + }); + + describe('listAddressSolanaNfts', () => { + it('should correctly map the API response, covering the logic from mapListAddressSolanaNftsResponse.test.ts', async () => { + mockFetch.mockResolvedValueOnce({ + ok: true, + json: jest.fn().mockResolvedValueOnce({ + ...MOCK_NFTS_LIST_RESPONSE_RAW, + cursor: null, + }), + }); + + const nfts = await client.listAddressSolanaNfts('some-address'); + expect(nfts).toStrictEqual(MOCK_NFTS_LIST_RESPONSE_MAPPED.items); + }); + + it('should handle pagination', async () => { + const MOCK_NFTS_LIST_RESPONSE_RAW_PAGE_1 = { + ...MOCK_NFTS_LIST_RESPONSE_RAW, + cursor: 'some-cursor', + }; + const MOCK_NFTS_LIST_RESPONSE_RAW_PAGE_2 = { + ...MOCK_NFTS_LIST_RESPONSE_RAW, + cursor: null, + }; + mockFetch.mockResolvedValueOnce({ + ok: true, + json: jest + .fn() + .mockResolvedValueOnce(MOCK_NFTS_LIST_RESPONSE_RAW_PAGE_1), + }); + mockFetch.mockResolvedValueOnce({ + ok: true, + json: jest + .fn() + .mockResolvedValueOnce(MOCK_NFTS_LIST_RESPONSE_RAW_PAGE_2), + }); + const nfts = await client.listAddressSolanaNfts('some-address'); + expect(nfts).toStrictEqual([ + ...MOCK_NFTS_LIST_RESPONSE_MAPPED.items, + ...MOCK_NFTS_LIST_RESPONSE_MAPPED.items, + ]); + expect(mockFetch).toHaveBeenCalledTimes(2); + }); + }); + + describe('getNftMetadata', () => { + it('should fetch and parse solana nft metadata for a given token address', async () => { + mockFetch.mockResolvedValueOnce({ + ok: true, + json: jest.fn().mockResolvedValueOnce(MOCK_NFT_METADATA_RESPONSE_RAW), + }); + const nft = await client.getNftMetadata('some-token-address'); + expect(nft).toStrictEqual(MOCK_NFT_METADATA_RESPONSE_MAPPED); + }); + + it('should return null if the fetch fails', async () => { + mockFetch.mockRejectedValueOnce(new Error('some-error')); + const nft = await client.getNftMetadata('some-token-address'); + expect(nft).toBeNull(); + }); + }); + + describe('getNftsMetadata', () => { + it('should fetch and parse solana nft metadata for a given array of token addresses', async () => { + mockFetch.mockResolvedValue({ + ok: true, + json: jest.fn().mockResolvedValue(MOCK_NFT_METADATA_RESPONSE_RAW), + }); + const nfts = await client.getNftsMetadata([ + 'some-token-address-1', + 'some-token-address-2', + ]); + expect(nfts).toStrictEqual([ + MOCK_NFT_METADATA_RESPONSE_MAPPED, + MOCK_NFT_METADATA_RESPONSE_MAPPED, + ]); + expect(mockFetch).toHaveBeenCalledTimes(2); + }); + }); +}); diff --git a/packages/snap/src/core/clients/nft-api/NftApiClient.ts b/packages/snap/src/core/clients/nft-api/NftApiClient.ts new file mode 100644 index 000000000..dcbec4415 --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/NftApiClient.ts @@ -0,0 +1,226 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +/* eslint-disable no-restricted-globals */ +import { assert } from '@metamask/superstruct'; +import { Duration } from '@metamask/utils'; + +import type { ICache } from '../../caching/ICache'; +import { useCache } from '../../caching/useCache'; +import type { Serializable } from '../../serialization/types'; +import type { ConfigProvider } from '../../services/config'; +import { buildUrl } from '../../utils/buildUrl'; +import type { ILogger } from '../../utils/logger'; +import logger from '../../utils/logger'; +import { UrlStruct } from '../../validation/structs'; +import type { + Balance, + Nft, + NftApiBalanceType, + NftApiItemType, + PaginatedResponse, +} from './types'; + +export class NftApiClient { + readonly #fetch: typeof globalThis.fetch; + + readonly #logger: ILogger; + + readonly #baseUrl: string; + + readonly #cache: ICache; + + readonly #cacheTtlsMilliseconds = { + listAddressSolanaNfts: Duration.Minute, + getNftMetadata: Duration.Minute, + }; + + constructor( + configProvider: ConfigProvider, + _cache: ICache, + _fetch: typeof globalThis.fetch = globalThis.fetch, + _logger: ILogger = logger, + ) { + const { baseUrl, cacheTtlsMilliseconds } = configProvider.get().nftApi; + + assert(baseUrl, UrlStruct); + + this.#fetch = _fetch; + this.#logger = _logger; + this.#baseUrl = baseUrl; + this.#cacheTtlsMilliseconds = cacheTtlsMilliseconds; + + this.#cache = _cache; + } + + #mapListAddressSolanaNftsResponse( + data: PaginatedResponse, + ): PaginatedResponse { + return { + cursor: data.cursor, + error: data.error, + items: data.items.map((item) => ({ + chain: item.chain, + address: item.address, + tokenAddress: item.token_address, + tokenId: item.token_id, + balance: item.balance, + acquiredAt: item.acquired_at, + isSpam: item.isSpam, + nftToken: this.#mapGetNftMetadataResponse(item.nft_token), + })), + }; + } + + async #listAddressSolanaNfts_INTERNAL(address: string) { + let allItems: Balance[] = []; + let currentCursor: string | undefined; + + do { + const url = buildUrl({ + baseUrl: this.#baseUrl, + path: `/users/${address}/solana-tokens`, + queryParams: currentCursor ? { cursor: currentCursor } : undefined, + }); + const response = await this.#fetch(url, { + headers: { + 'Content-Type': 'application/json', + accept: 'application/json', + version: '1', + }, + }); + const data = await response.json(); + + const mappedData = this.#mapListAddressSolanaNftsResponse(data); + + allItems = [...allItems, ...mappedData.items]; + currentCursor = mappedData.cursor ?? undefined; + } while (currentCursor); + + return allItems; + } + + async listAddressSolanaNfts(address: string) { + return useCache( + this.#listAddressSolanaNfts_INTERNAL.bind(this), + this.#cache, + { + functionName: 'NftApiClient:listAddressSolanaNfts', + ttlMilliseconds: this.#cacheTtlsMilliseconds.listAddressSolanaNfts, + }, + )(address); + } + + #mapGetNftMetadataResponse(data: NftApiItemType): Nft { + return { + address: data.address, + tokenId: data.token_id, + tokenStandard: data.token_standard, + name: data.name, + description: data.description, + metadata: data.metadata, + imageUrl: data.image_url, + mediaUrl: data.media_url, + externalUrl: data.external_url, + attributes: data.attributes.map((attribute) => ({ + key: attribute.key, + value: attribute.value, + })), + tokenAccountAddress: data.token_account_address, + creators: data.creators.map((creator) => ({ + address: creator.address, + share: creator.share, + verified: creator.verified, + })), + collectionName: data.collection_name, + collectionSymbol: data.collection_symbol, + collectionCount: data.collection_count, + collectionImageUrl: data.collection_image_url, + onchainCollectionAddress: data.onchain_collection_address, + floorPrice: data.floor_price + ? { + asset: { + type: data.floor_price.asset.type, + name: data.floor_price.asset.name, + symbol: data.floor_price.asset.symbol, + decimals: data.floor_price.asset.decimals, + tokenId: data.floor_price.asset.token_id, + }, + amount: { + rawAmount: data.floor_price.amount.raw_amount, + amount: data.floor_price.amount.amount, + }, + } + : null, + lastSalePrice: data.last_sale_price + ? { + asset: { + type: data.last_sale_price.asset.type, + name: data.last_sale_price.asset.name, + symbol: data.last_sale_price.asset.symbol, + decimals: data.last_sale_price.asset.decimals, + tokenId: data.last_sale_price.asset.token_id, + }, + amount: { + rawAmount: data.last_sale_price.amount.raw_amount, + amount: data.last_sale_price.amount.amount, + }, + } + : null, + rarity: data.rarity + ? { + ranking: { + source: data.rarity.ranking.source, + value: data.rarity.ranking.value, + }, + metadata: { + howrare: { + rank: data.rarity.metadata.howrare.rank, + }, + moonrank: { + rank: data.rarity.metadata.moonrank.rank, + }, + }, + } + : null, + }; + } + + async #getNftMetadata_INTERNAL(tokenAddress: string) { + try { + const url = buildUrl({ + baseUrl: this.#baseUrl, + path: `/nfts/contracts/solana/${tokenAddress}/1`, + }); + const response = await this.#fetch(url, { + headers: { + 'Content-Type': 'application/json', + accept: 'application/json', + version: '1', + }, + }); + const data = await response.json(); + + const mappedData = this.#mapGetNftMetadataResponse(data); + + return mappedData; + } catch (error) { + return null; + } + } + + async getNftMetadata(tokenAddress: string) { + return useCache(this.#getNftMetadata_INTERNAL.bind(this), this.#cache, { + functionName: 'NftApiClient:getNftMetadata', + ttlMilliseconds: this.#cacheTtlsMilliseconds.getNftMetadata, + })(tokenAddress); + } + + async getNftsMetadata(tokenAddresses: string[]) { + const nftsMetadata = await Promise.all( + tokenAddresses.map(async (tokenAddress) => + this.getNftMetadata(tokenAddress), + ), + ); + + return nftsMetadata; + } +} diff --git a/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseMapped.ts b/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseMapped.ts new file mode 100644 index 000000000..a1f092721 --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseMapped.ts @@ -0,0 +1,40 @@ +import type { Nft } from '../types'; + +export const MOCK_NFT_METADATA_RESPONSE_MAPPED: Nft = { + address: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + tokenId: null, + tokenStandard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + mediaUrl: null, + externalUrl: '', + attributes: [ + { + key: 'Sky', + value: 'Uncharted darkness', + }, + { + key: 'Accent', + value: 'Starship', + }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collectionName: 'AB Open #02', + collectionSymbol: 'ab_open_02', + collectionCount: 1076387, + collectionImageUrl: null, + onchainCollectionAddress: 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floorPrice: null, + lastSalePrice: null, + rarity: null, +}; diff --git a/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseRaw.ts b/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseRaw.ts new file mode 100644 index 000000000..574490720 --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/mocks/mockNftMetadataResponseRaw.ts @@ -0,0 +1,41 @@ +import type { NftApiItemType } from '../types'; + +/* eslint-disable @typescript-eslint/naming-convention */ +export const MOCK_NFT_METADATA_RESPONSE_RAW: NftApiItemType = { + address: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + token_id: null, + token_standard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + media_url: null, + external_url: '', + attributes: [ + { + key: 'Sky', + value: 'Uncharted darkness', + }, + { + key: 'Accent', + value: 'Starship', + }, + ], + token_account_address: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collection_name: 'AB Open #02', + collection_symbol: 'ab_open_02', + collection_count: 1076387, + collection_image_url: null, + onchain_collection_address: 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floor_price: null, + last_sale_price: null, + rarity: null, +}; diff --git a/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseMapped.ts b/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseMapped.ts new file mode 100644 index 000000000..0aca99d29 --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseMapped.ts @@ -0,0 +1,6251 @@ +export const MOCK_NFTS_LIST_RESPONSE_MAPPED = { + cursor: '78f58ef3ed72f146b24e2eebde142a2f', + error: null, + items: [ + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: true, + nftToken: { + address: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + tokenId: null, + tokenStandard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + mediaUrl: null, + externalUrl: '', + attributes: [ + { key: 'Sky', value: 'Uncharted darkness' }, + { key: 'Accent', value: 'Starship' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collectionName: 'AB Open #02', + collectionSymbol: 'ab_open_02', + collectionCount: 1076387, + collectionImageUrl: null, + onchainCollectionAddress: 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'FsKvd5n7mrMj1sB4mSMe1B3fBqXftE3hNJdFdT4WzZhr', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: true, + nftToken: { + address: 'FsKvd5n7mrMj1sB4mSMe1B3fBqXftE3hNJdFdT4WzZhr', + tokenId: null, + tokenStandard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + mediaUrl: null, + externalUrl: '', + attributes: [ + { key: 'Sky', value: 'Uncharted darkness' }, + { key: 'Accent', value: 'Starship' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collectionName: 'AB Open #02', + collectionSymbol: 'ab_open_02', + collectionCount: 1076387, + collectionImageUrl: null, + onchainCollectionAddress: 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'EbedVEfLHYQpmVW3ay757PPz5jCjfc42ofPqgp21zhA6', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'EbedVEfLHYQpmVW3ay757PPz5jCjfc42ofPqgp21zhA6', + tokenId: null, + tokenStandard: 'NFT', + name: 'Ticket #11', + description: '', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmSfFas4yL7VB5c6XhSWUsLReuhjnECuTsGtukDLnDmQuh', + mediaUrl: null, + externalUrl: 'https://jplegacy.example', + attributes: [ + { key: 'Background', value: 'Midnight Cityscape' }, + { key: 'Suit Color', value: 'Neo Teal' }, + { key: 'Helmet Glow', value: 'Pulsating Neon' }, + { key: 'Galaxy Light', value: 'Aurora Blues' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'Aqig7DrpvaGMFoivYp7gCJLBXq6vMXj1c7p2rEcXdUh2', + share: 100, + verified: 0, + }, + ], + collectionName: 'Ticket #11', + collectionSymbol: 'ticket_11', + collectionCount: 169998, + collectionImageUrl: null, + onchainCollectionAddress: + '9wGQpooVgVRKhKzazRjRYNmaVwXDHAXFNKaXJNaKSCek', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'HMriMWAZyExwmJ28588fHstUuSBgLtD5tfeZJZTX2NxY', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'HMriMWAZyExwmJ28588fHstUuSBgLtD5tfeZJZTX2NxY', + tokenId: null, + tokenStandard: 'NFT', + name: 'Ticket #11', + description: '', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmSfFas4yL7VB5c6XhSWUsLReuhjnECuTsGtukDLnDmQuh', + mediaUrl: null, + externalUrl: 'https://jplegacy.example', + attributes: [ + { key: 'Background', value: 'Midnight Cityscape' }, + { key: 'Suit Color', value: 'Neo Teal' }, + { key: 'Helmet Glow', value: 'Pulsating Neon' }, + { key: 'Galaxy Light', value: 'Aurora Blues' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'Aqig7DrpvaGMFoivYp7gCJLBXq6vMXj1c7p2rEcXdUh2', + share: 100, + verified: 0, + }, + ], + collectionName: 'Ticket #11', + collectionSymbol: 'ticket_11', + collectionCount: 169998, + collectionImageUrl: null, + onchainCollectionAddress: + '9wGQpooVgVRKhKzazRjRYNmaVwXDHAXFNKaXJNaKSCek', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2Q9qk8eSMnFAaLFqedSzYgbYa4oNcxBC99joYFeUm4ur', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: true, + nftToken: { + address: '2Q9qk8eSMnFAaLFqedSzYgbYa4oNcxBC99joYFeUm4ur', + tokenId: null, + tokenStandard: 'NFT', + name: '#7', + description: 'Unlock 1000 $ТRUMР at ТRUMPСHEST​.​СOM', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmZ1mKs7hZEgK7f4j4r2YG7VwRsvNc2QP8Z6c2Ucp5Tja2', + mediaUrl: null, + externalUrl: '', + attributes: [ + { key: '', value: '' }, + { key: '', value: '' }, + { key: '', value: '' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '7kCL2HxbcvoVvJaF7awjznm36CkPbz11mKk9wn6oySQQ', + share: 100, + verified: 0, + }, + ], + collectionName: '$ТRUMР #01280', + collectionSymbol: 'rum_01280', + collectionCount: 2387471, + collectionImageUrl: null, + onchainCollectionAddress: + '6Yw2PXmCTsXqdX2HxHsBwSMEaag7nSjQjWpCdAu5sbj2', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '7BkNG96HhRgAL3hqSUybyeydoVHpD9zFaaNAVbUScXJK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: true, + nftToken: { + address: '7BkNG96HhRgAL3hqSUybyeydoVHpD9zFaaNAVbUScXJK', + tokenId: null, + tokenStandard: 'NFT', + name: '#7', + description: 'Unlock 1000 $ТRUMР at ТRUMPСHEST​.​СOM', + metadata: null, + imageUrl: + 'https://ipfs.io/ipfs/QmZ1mKs7hZEgK7f4j4r2YG7VwRsvNc2QP8Z6c2Ucp5Tja2', + mediaUrl: null, + externalUrl: '', + attributes: [ + { key: '', value: '' }, + { key: '', value: '' }, + { key: '', value: '' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '7kCL2HxbcvoVvJaF7awjznm36CkPbz11mKk9wn6oySQQ', + share: 100, + verified: 0, + }, + ], + collectionName: '$ТRUMР #01280', + collectionSymbol: 'rum_01280', + collectionCount: 2387471, + collectionImageUrl: null, + onchainCollectionAddress: + '6Yw2PXmCTsXqdX2HxHsBwSMEaag7nSjQjWpCdAu5sbj2', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '98yhmwEkWNDuTaQiUTSbCuAot4rH9vzxkFrDb2EEL6Cm', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '98yhmwEkWNDuTaQiUTSbCuAot4rH9vzxkFrDb2EEL6Cm', + tokenId: null, + tokenStandard: 'NFT', + name: 'Spaceship #11265', + description: + 'The Coalition uncovered a wide variety of issues when trying to expand their influence in the new galaxy, learning a great deal from their mistakes in the process. When the opportunity to construct new exploration vessels finally arrived, the engineers knew what the people of the Coalition needed. Powerful engines, pinpoint sensory equipment, cargo and fuel capacity upgrades would all ensure success even in particularly complicated scenarios.', + metadata: null, + imageUrl: + 'https://s3.projectnebula.com/collection/pn-ship/ship-11265.jpg', + mediaUrl: null, + externalUrl: 'https://play.projectnebula.com/ship/11265', + attributes: [ + { key: 'Ship class', value: 'Exemplar' }, + { key: 'Ship type', value: 'Exploration vessel' }, + { key: 'Tier', value: 'I' }, + { key: 'Generation', value: 'GEN-2' }, + { key: 'Background', value: 'Paragon' }, + { key: 'Coating', value: 'Famous Fox Federation' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'SPACLeJShFiF9YHgj7PHgSk93ZvkFGE7hEwK63G2Dq9', + share: 100, + verified: 0, + }, + ], + collectionName: 'Project Nebula Spaceships', + collectionSymbol: 'project_nebula_spaceship', + collectionCount: 12061, + collectionImageUrl: null, + onchainCollectionAddress: + 'GNA7ev6TkKN2iCQd8ePGEDb36XvYr7hpKm4nmejtPCoZ', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2bizwWM2QAtXwxcAoYuVjJ1W65rWQKcjujBQdYHVyr4m', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '2bizwWM2QAtXwxcAoYuVjJ1W65rWQKcjujBQdYHVyr4m', + tokenId: null, + tokenStandard: 'NFT', + name: 'For You 5000Jup 5000Jup.com', + description: + 'Visit the domain shown in the picture and claim your exclusive voucher 5000jup.com', + metadata: null, + imageUrl: 'https://img.hi-hi.vip/json/img/5000jup1.png', + mediaUrl: null, + externalUrl: 'https://5000jup.com', + attributes: [ + { key: 'Website', value: 'https://5000jup.com' }, + { key: 'Verified', value: 'True' }, + { key: 'Amount', value: '5,000+ JUP ($5000+)' }, + { key: 'Time Left', value: '30 minutes!' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'Gx31E1GUzEeqjCHPtyLkNQHCqwi6REpyp66Hi262vCtG', + share: 100, + verified: 1, + }, + ], + collectionName: 'For You 5000Jup', + collectionSymbol: 'for_you_5000jup', + collectionCount: 0, + collectionImageUrl: null, + onchainCollectionAddress: 'hD6sEXnP9ihfeGKfRknKR5zZqE7upXJ7sJd4DZoM6WJ', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '7LrcVUyRqS1nSUvoBxoCy1iXEGYG6W9X7LRKsuai254K', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '7LrcVUyRqS1nSUvoBxoCy1iXEGYG6W9X7LRKsuai254K', + tokenId: null, + tokenStandard: 'NFT', + name: 'Golden Shorts Bingo Cards', + description: + 'Official Bingo Cards & Mint Pass of the Golden Shorts Rascal Club. #77903', + metadata: null, + imageUrl: + 'https://bafybeiarry26winniyzce7gzzlidpkgs2xbcwevv7jmq4ifnqvlygungm4.ipfs.w3s.link/3511.png', + mediaUrl: null, + externalUrl: '', + attributes: [ + { key: 'Background', value: 'rascals_whitelist_bingo' }, + { key: 'B', value: '8b$100' }, + { key: 'I', value: '8a$100' }, + { key: 'N', value: 'n32453844' }, + { key: 'G', value: 'g54555351' }, + { key: 'O', value: 'o626371' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'A2b2NA5QADSUQkjVqTmz2HzsRyYECgKxcrT2x4owxHoZ', + share: 100, + verified: 0, + }, + ], + collectionName: 'GOLDEN RASCALS BINGO WL EDITION', + collectionSymbol: 'bingo', + collectionCount: 62261, + collectionImageUrl: null, + onchainCollectionAddress: + 'CvsKkZM6UAvCJBF2SGLfR8di52ZhYscg9zBNzCfkB19H', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'DyBtina3CQzQXeQz9HxSWZj5ku6ta7DrHhwnowDygAFA', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'DyBtina3CQzQXeQz9HxSWZj5ku6ta7DrHhwnowDygAFA', + tokenId: null, + tokenStandard: 'NFT', + name: 'Choizzy Pass #6', + description: + 'Choizzy Passes are NFTs that grant whitelist access to the Choizzy Main mint. They also serve as a reward for our fantastic early adopters. Hold tight!', + metadata: null, + imageUrl: + 'https://bafkreigv5rks54dgimzi764io7tfavlwlwav7qcicuokhox2ve4yynj54a.ipfs.nftstorage.link/', + mediaUrl: null, + externalUrl: 'https://choizzy.io', + attributes: [ + { key: 'Hoodie Color', value: 'Green' }, + { key: 'Eyes', value: 'Regular' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'DK2iYsdgpYoZB9EPJrffz2XyuLBPkJjdUjsrCyZqg4U1', + share: 0, + verified: 1, + }, + { + address: '3eanCCeoApEmJUhmKsfWHgjrBVedQRrPJzAZUstiEnMH', + share: 100, + verified: 0, + }, + ], + collectionName: 'Choizzy Pass', + collectionSymbol: 'choizzy_pass', + collectionCount: 1999, + collectionImageUrl: null, + onchainCollectionAddress: + '4GW29XZQTtk4iKttRdUF1MLEc6gRYhYH8BPd6jfLSGp4', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '69MSbRdmkfW5AiAHNGcufqmocVxgrss3Nq1QvqZKg6Pf', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '69MSbRdmkfW5AiAHNGcufqmocVxgrss3Nq1QvqZKg6Pf', + tokenId: null, + tokenStandard: 'NFT', + name: 'Primes Airdrop Box', + description: + 'The Primes Airdrop Boxes is your chance on getting the $PRM Token before everyone else. Boxes can now be burnt on The Primes official website.', + metadata: null, + imageUrl: + 'https://shdw-drive.genesysgo.net/2MYtdX5Bwz68aVny1cHqRyujAJkNEzknQyF1SNav8dTh/1.png', + mediaUrl: null, + externalUrl: 'https://theprimes.io', + attributes: [ + { key: 'Revealed', value: 'Pending' }, + { key: 'Claim At', value: 'https://theprimes.io/burn2earn' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'pxmVowVaqXn23krwFxjzKC6UW4YjbYEQUqYC6q1Ta57', + share: 100, + verified: 0, + }, + ], + collectionName: 'Primes Airdrop Boxes', + collectionSymbol: 'primes_airdrop_boxes', + collectionCount: 69425, + collectionImageUrl: null, + onchainCollectionAddress: null, + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '7GEi7ytc31LPcyPtBd9WCdPm4P71W9iV2sUSJHW7BuN2', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '7GEi7ytc31LPcyPtBd9WCdPm4P71W9iV2sUSJHW7BuN2', + tokenId: null, + tokenStandard: 'NFT', + name: 'Primes Airdrop Box', + description: + 'The Primes Airdrop Boxes is your chance on getting the $PRM Token before everyone else. Boxes can now be burnt on The Primes official website.', + metadata: null, + imageUrl: + 'https://shdw-drive.genesysgo.net/2MYtdX5Bwz68aVny1cHqRyujAJkNEzknQyF1SNav8dTh/1.png', + mediaUrl: null, + externalUrl: 'https://theprimes.io', + attributes: [ + { key: 'Revealed', value: 'Pending' }, + { key: 'Claim At', value: 'https://theprimes.io/burn2earn' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: 'pxmVowVaqXn23krwFxjzKC6UW4YjbYEQUqYC6q1Ta57', + share: 100, + verified: 0, + }, + ], + collectionName: 'Primes Airdrop Boxes', + collectionSymbol: 'primes_airdrop_boxes', + collectionCount: 69425, + collectionImageUrl: null, + onchainCollectionAddress: null, + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GgzC3fbvWsq83XLj1C7VK3q8Fy7HDbU15RuJCb4EfVMF', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GgzC3fbvWsq83XLj1C7VK3q8Fy7HDbU15RuJCb4EfVMF', + tokenId: null, + tokenStandard: 'NFT', + name: 'Utamu Slate 65', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/1FsiYUkck9I058bkJtvgj93xFewLVJC6VhEqoMT7aQU', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '65' }, + { key: 'Smile', value: '45' }, + { key: 'Hug', value: '46' }, + { key: 'Laugh', value: '72' }, + { key: 'Heart', value: '85' }, + { key: 'Warm', value: '69' }, + { key: 'Good', value: '70' }, + { key: 'Thanks', value: '64' }, + { key: 'Share', value: '81' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '18' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'Gon7ttJSjAc9dkzayZzWwtsNKDf5mqz3gWYJs8VDDwHa', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'Gon7ttJSjAc9dkzayZzWwtsNKDf5mqz3gWYJs8VDDwHa', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rirewa Copper 33', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/GCJMQDpY6QE6ZkDGBiWQvojWdgHCG-vT-AzjBK06Qpg', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '33' }, + { key: 'Smile', value: '50' }, + { key: 'Hug', value: '29' }, + { key: 'Laugh', value: '22' }, + { key: 'Heart', value: '32' }, + { key: 'Warm', value: '44' }, + { key: 'Good', value: '42' }, + { key: 'Thanks', value: '41' }, + { key: 'Share', value: '32' }, + { key: 'Brave', value: '36' }, + { key: 'Grow', value: '2' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '77Q9CohBDAtcVViu8omnGPRuZ3NLEJmWTQSxS4NkNTb4', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '77Q9CohBDAtcVViu8omnGPRuZ3NLEJmWTQSxS4NkNTb4', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kukona Moss 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/CuBSyOFg1INUzBQYHXc2RJjeGnHq9-Z_y_aCRpPYBic', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Moss' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '41' }, + { key: 'Smile', value: '43' }, + { key: 'Hug', value: '25' }, + { key: 'Laugh', value: '29' }, + { key: 'Heart', value: '43' }, + { key: 'Warm', value: '22' }, + { key: 'Good', value: '59' }, + { key: 'Thanks', value: '58' }, + { key: 'Share', value: '52' }, + { key: 'Brave', value: '4' }, + { key: 'Grow', value: '75' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BEuGqAUFfxUokCpKWrt4vfWL9LVo2Eqrz5bHR2W7VVdY', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BEuGqAUFfxUokCpKWrt4vfWL9LVo2Eqrz5bHR2W7VVdY', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kukua Crimson 14', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/niam-C8liKefeRqrRvHLNT5ylrXGc6bMyvXndQ37LQM', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '14' }, + { key: 'Smile', value: '17' }, + { key: 'Hug', value: '21' }, + { key: 'Laugh', value: '34' }, + { key: 'Heart', value: '1' }, + { key: 'Warm', value: '24' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '5' }, + { key: 'Share', value: '12' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '24' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'UAdBHhEbn4e5EGu4JGi3jUocysjCTvfwafaLUPXjHEx', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'UAdBHhEbn4e5EGu4JGi3jUocysjCTvfwafaLUPXjHEx', + tokenId: null, + tokenStandard: 'NFT', + name: 'Worika Atlantis 87', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Z-bNgDExYdMNG2RJhxe-eCEt1DCcZ3lV5Q723fiLfpE', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Violet Gold Blaze' }, + { key: 'Background', value: 'Atlantis' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '87' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '87' }, + { key: 'Laugh', value: '90' }, + { key: 'Heart', value: '94' }, + { key: 'Warm', value: '90' }, + { key: 'Good', value: '77' }, + { key: 'Thanks', value: '83' }, + { key: 'Share', value: '95' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '65' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '97vAn6ZDWZyDzaa2ewvrNzeebr349DbufMHmboQiKpoQ', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '97vAn6ZDWZyDzaa2ewvrNzeebr349DbufMHmboQiKpoQ', + tokenId: null, + tokenStandard: 'NFT', + name: 'Fumemi Umber 53', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/9PppdeVSQVwDnI35yOfSdFB0Np-d98HPGntDiigzG0g', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '53' }, + { key: 'Smile', value: '53' }, + { key: 'Hug', value: '38' }, + { key: 'Laugh', value: '68' }, + { key: 'Heart', value: '53' }, + { key: 'Warm', value: '56' }, + { key: 'Good', value: '63' }, + { key: 'Thanks', value: '41' }, + { key: 'Share', value: '68' }, + { key: 'Brave', value: '81' }, + { key: 'Grow', value: '9' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'AN9wcB4HifAz8Tze6ttKDroLtPEPfnQVhxebh5wcqV1X', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'AN9wcB4HifAz8Tze6ttKDroLtPEPfnQVhxebh5wcqV1X', + tokenId: null, + tokenStandard: 'NFT', + name: 'Waware Copper 75', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreifrxhngg6slpjuvprxtsgtxfjsmeiimraplsihp47r5zaq4ucmpyu', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '75' }, + { key: 'Smile', value: '82' }, + { key: 'Hug', value: '74' }, + { key: 'Laugh', value: '82' }, + { key: 'Heart', value: '84' }, + { key: 'Warm', value: '77' }, + { key: 'Good', value: '80' }, + { key: 'Thanks', value: '77' }, + { key: 'Share', value: '73' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '21' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'EBjLNh3EUycToAex1da7FVEWyXbpHk9GdQPEJvZqoFhY', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'EBjLNh3EUycToAex1da7FVEWyXbpHk9GdQPEJvZqoFhY', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rikime Blush 50', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/HOhNC_W705buA9TDbiEcEhLTmihNRZALn-BBGcyBhbo', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '50' }, + { key: 'Smile', value: '59' }, + { key: 'Hug', value: '43' }, + { key: 'Laugh', value: '54' }, + { key: 'Heart', value: '39' }, + { key: 'Warm', value: '54' }, + { key: 'Good', value: '57' }, + { key: 'Thanks', value: '47' }, + { key: 'Share', value: '63' }, + { key: 'Brave', value: '30' }, + { key: 'Grow', value: '54' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'DGQwzn1DNzyTKYZW6c7PSshGfi8BeU5YhkYtoea7xYuz', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'DGQwzn1DNzyTKYZW6c7PSshGfi8BeU5YhkYtoea7xYuz', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kemata Azure 46', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/ZDe1CpPqRMw1lWCbabiMCicDDgCLlRh3sN3-Um4lX8U', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '46' }, + { key: 'Smile', value: '51' }, + { key: 'Hug', value: '26' }, + { key: 'Laugh', value: '49' }, + { key: 'Heart', value: '43' }, + { key: 'Warm', value: '38' }, + { key: 'Good', value: '46' }, + { key: 'Thanks', value: '64' }, + { key: 'Share', value: '34' }, + { key: 'Brave', value: '41' }, + { key: 'Grow', value: '68' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '9NP82fWe2gw7F1wNeFWp8Ytcz3x5H8FH5w2CJr9evk3T', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '9NP82fWe2gw7F1wNeFWp8Ytcz3x5H8FH5w2CJr9evk3T', + tokenId: null, + tokenStandard: 'NFT', + name: 'Sakotsu Umber 32', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/s9SCmcGZl4sDejvngTKsXI3Bp5o-3_EfVXh5vQfy0kI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '32' }, + { key: 'Smile', value: '15' }, + { key: 'Hug', value: '32' }, + { key: 'Laugh', value: '29' }, + { key: 'Heart', value: '25' }, + { key: 'Warm', value: '22' }, + { key: 'Good', value: '25' }, + { key: 'Thanks', value: '36' }, + { key: 'Share', value: '31' }, + { key: 'Brave', value: '7' }, + { key: 'Grow', value: '98' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GjMQxQYGgB4dmPUyox6Y8gPscc4xcPR1nCfBRbXxKfv3', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GjMQxQYGgB4dmPUyox6Y8gPscc4xcPR1nCfBRbXxKfv3', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rikike Blush 33', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/jx68DdlTNH-oA9NJndW0uo7y3ntTKklR094oAGF_-x4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '33' }, + { key: 'Smile', value: '26' }, + { key: 'Hug', value: '39' }, + { key: 'Laugh', value: '43' }, + { key: 'Heart', value: '23' }, + { key: 'Warm', value: '28' }, + { key: 'Good', value: '45' }, + { key: 'Thanks', value: '39' }, + { key: 'Share', value: '26' }, + { key: 'Brave', value: '37' }, + { key: 'Grow', value: '24' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BMhpzoc1oZbqoxiifrr8pyCVDW1G1pFa4YrrqnZ1Q5By', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BMhpzoc1oZbqoxiifrr8pyCVDW1G1pFa4YrrqnZ1Q5By', + tokenId: null, + tokenStandard: 'NFT', + name: 'Norae Slate 49', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/tjDj3ySxgnjLHUF6PkL_I2_x_D7-O0Rvq2jMoMf-XDY', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '49' }, + { key: 'Smile', value: '43' }, + { key: 'Hug', value: '60' }, + { key: 'Laugh', value: '64' }, + { key: 'Heart', value: '54' }, + { key: 'Warm', value: '45' }, + { key: 'Good', value: '38' }, + { key: 'Thanks', value: '31' }, + { key: 'Share', value: '38' }, + { key: 'Brave', value: '51' }, + { key: 'Grow', value: '66' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'DUar8NL7do1KHdu3a8S5gr9W3rcQ8uRJ7D8oxbMagGZH', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'DUar8NL7do1KHdu3a8S5gr9W3rcQ8uRJ7D8oxbMagGZH', + tokenId: null, + tokenStandard: 'NFT', + name: 'Remima Steel 36', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/JjCXf-xvfAr7x69zh99VkIf97bCT6UCg7BV3zHX8Fdk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Steel' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '36' }, + { key: 'Smile', value: '38' }, + { key: 'Hug', value: '36' }, + { key: 'Laugh', value: '17' }, + { key: 'Heart', value: '34' }, + { key: 'Warm', value: '47' }, + { key: 'Good', value: '41' }, + { key: 'Thanks', value: '54' }, + { key: 'Share', value: '22' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '70' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'CS1EPRuna4uFjMyx8SsTQbSizK1bYNdafjS81sqt78Yb', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'CS1EPRuna4uFjMyx8SsTQbSizK1bYNdafjS81sqt78Yb', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nifue Blush 49', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/dCq8MRBzYrT6btmMuB8REAEofLbjsTZmAim2rwCVmVs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '49' }, + { key: 'Smile', value: '41' }, + { key: 'Hug', value: '39' }, + { key: 'Laugh', value: '32' }, + { key: 'Heart', value: '32' }, + { key: 'Warm', value: '56' }, + { key: 'Good', value: '55' }, + { key: 'Thanks', value: '53' }, + { key: 'Share', value: '50' }, + { key: 'Brave', value: '42' }, + { key: 'Grow', value: '90' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GBhfyvjTDLVxbUrgiFw9vmTx2YAomQKM7DchPAfXkykM', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GBhfyvjTDLVxbUrgiFw9vmTx2YAomQKM7DchPAfXkykM', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kohatsu Azure 9', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/G-FAkEF-lbMVz0hGH0Y-s-J_shnUwoP56qJ3qSCoz-Y', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Rose' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '9' }, + { key: 'Smile', value: '7' }, + { key: 'Hug', value: '1' }, + { key: 'Laugh', value: '10' }, + { key: 'Heart', value: '4' }, + { key: 'Warm', value: '10' }, + { key: 'Good', value: '7' }, + { key: 'Thanks', value: '7' }, + { key: 'Share', value: '15' }, + { key: 'Brave', value: '7' }, + { key: 'Grow', value: '22' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '51qZDbaqtLrMpWuKsEDr2LxmWmvoXqWQKasG2U5JEgJ', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '51qZDbaqtLrMpWuKsEDr2LxmWmvoXqWQKasG2U5JEgJ', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hohana Black 99', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/0R7VcDSywaw2E0EmRvnQUFMYX3jyVcRkR3bJudpFqVU', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Black' }, + { key: 'Rarity', value: 'Legendary' }, + { key: 'Rating', value: '99' }, + { key: 'Smile', value: '100' }, + { key: 'Hug', value: '95' }, + { key: 'Laugh', value: '94' }, + { key: 'Heart', value: '98' }, + { key: 'Warm', value: '91' }, + { key: 'Good', value: '95' }, + { key: 'Thanks', value: '96' }, + { key: 'Share', value: '91' }, + { key: 'Brave', value: '94' }, + { key: 'Grow', value: '91' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'H91LyFi3XKxMKbks6NgMAHv6kgFo2ZmJVM7QCqa5ibAz', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'H91LyFi3XKxMKbks6NgMAHv6kgFo2ZmJVM7QCqa5ibAz', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hokita Copper 8', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/nCiXVEca5CACx5AUbEgBXZuV0tmCDwMesXDHlMPNabs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '8' }, + { key: 'Smile', value: '1' }, + { key: 'Hug', value: '1' }, + { key: 'Laugh', value: '14' }, + { key: 'Heart', value: '8' }, + { key: 'Warm', value: '1' }, + { key: 'Good', value: '10' }, + { key: 'Thanks', value: '1' }, + { key: 'Share', value: '9' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '34' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2EnwiirRkhuiqru8s8si6gB2TPuc6BiUSQR7mAjFmGbi', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '2EnwiirRkhuiqru8s8si6gB2TPuc6BiUSQR7mAjFmGbi', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nakiu Black 100', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/e0KFwCk42RjRVYDGHTzmER9DBp3k6tDJjxGvpDHf6Ys', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Black' }, + { key: 'Rarity', value: 'Legendary' }, + { key: 'Rating', value: '100' }, + { key: 'Smile', value: '100' }, + { key: 'Hug', value: '98' }, + { key: 'Laugh', value: '95' }, + { key: 'Heart', value: '92' }, + { key: 'Warm', value: '91' }, + { key: 'Good', value: '95' }, + { key: 'Thanks', value: '99' }, + { key: 'Share', value: '90' }, + { key: 'Brave', value: '99' }, + { key: 'Grow', value: '94' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '3trwQkC9AnrsRwMJTXCj9TaaCYnULzbwjdnVu1M3Tg8n', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '3trwQkC9AnrsRwMJTXCj9TaaCYnULzbwjdnVu1M3Tg8n', + tokenId: null, + tokenStandard: 'NFT', + name: 'Morate Slate 23', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/FzUJDcW2a37XolloFxvLJE-e4S60Mg_X-cT3-UPHPWk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '23' }, + { key: 'Smile', value: '38' }, + { key: 'Hug', value: '22' }, + { key: 'Laugh', value: '4' }, + { key: 'Heart', value: '16' }, + { key: 'Warm', value: '15' }, + { key: 'Good', value: '16' }, + { key: 'Thanks', value: '19' }, + { key: 'Share', value: '33' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '66' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BgXSiLx46j66K3dPKrkEzqpNah6yPLVCdMaUNexJkBuR', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BgXSiLx46j66K3dPKrkEzqpNah6yPLVCdMaUNexJkBuR', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kanari Umber 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/us3c52RJ0zE1APAZ-Ru7ZwC22xWIQblnkecg1JAhUsk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '30' }, + { key: 'Smile', value: '45' }, + { key: 'Hug', value: '39' }, + { key: 'Laugh', value: '16' }, + { key: 'Heart', value: '35' }, + { key: 'Warm', value: '18' }, + { key: 'Good', value: '22' }, + { key: 'Thanks', value: '28' }, + { key: 'Share', value: '11' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '85' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'DLAadn6cwU3zEWfdT8ysG9aYZX3dREcD4Zq7tu7oaWaY', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'DLAadn6cwU3zEWfdT8ysG9aYZX3dREcD4Zq7tu7oaWaY', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rusese Azure 78', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/cA09R_D2QlZqwM47bb7hj0JqO7RJ3vfY2pfEbOFn0nk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '78' }, + { key: 'Smile', value: '84' }, + { key: 'Hug', value: '81' }, + { key: 'Laugh', value: '73' }, + { key: 'Heart', value: '79' }, + { key: 'Warm', value: '88' }, + { key: 'Good', value: '72' }, + { key: 'Thanks', value: '88' }, + { key: 'Share', value: '68' }, + { key: 'Brave', value: '94' }, + { key: 'Grow', value: '53' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'rfsqYespebrV4LHpc9bBrjVizZdtsFLMn3u8BrH8WA2', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'rfsqYespebrV4LHpc9bBrjVizZdtsFLMn3u8BrH8WA2', + tokenId: null, + tokenStandard: 'NFT', + name: 'Suresa Umber 24', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreigohb7vkelgqdvuozf77tsbfzgyoreb7kfdgzwpxspp5npqbgwlwq', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Coral' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '24' }, + { key: 'Smile', value: '32' }, + { key: 'Hug', value: '21' }, + { key: 'Laugh', value: '13' }, + { key: 'Heart', value: '20' }, + { key: 'Warm', value: '40' }, + { key: 'Good', value: '23' }, + { key: 'Thanks', value: '7' }, + { key: 'Share', value: '18' }, + { key: 'Brave', value: '38' }, + { key: 'Grow', value: '28' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4c8w7UELpYiLSebt9LBDHwqo1sSms6AHQPhLaGchDmXK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4c8w7UELpYiLSebt9LBDHwqo1sSms6AHQPhLaGchDmXK', + tokenId: null, + tokenStandard: 'NFT', + name: 'Korihi Umber 77', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/pamBCJnH9I7UEiCZLTE5991Y3OGlDWi9hs-8LcdY9Ew', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '77' }, + { key: 'Smile', value: '85' }, + { key: 'Hug', value: '85' }, + { key: 'Laugh', value: '74' }, + { key: 'Heart', value: '75' }, + { key: 'Warm', value: '77' }, + { key: 'Good', value: '71' }, + { key: 'Thanks', value: '76' }, + { key: 'Share', value: '68' }, + { key: 'Brave', value: '69' }, + { key: 'Grow', value: '90' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'ATD2ZB348yVE3TmLdpTCG5RCNWVDv6fvVxbbUWZ4bMuD', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'ATD2ZB348yVE3TmLdpTCG5RCNWVDv6fvVxbbUWZ4bMuD', + tokenId: null, + tokenStandard: 'NFT', + name: 'Niroro Blush 78', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/mF-GKGokpgVTeRbx4l-GrPnZNynOaNK5D7euuclgiTI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Violet' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '78' }, + { key: 'Smile', value: '88' }, + { key: 'Hug', value: '68' }, + { key: 'Laugh', value: '68' }, + { key: 'Heart', value: '87' }, + { key: 'Warm', value: '88' }, + { key: 'Good', value: '68' }, + { key: 'Thanks', value: '81' }, + { key: 'Share', value: '79' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '53' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5NER4zk67boQSyBRpXkctXx9spWdCWghjvLKAJRUqMqh', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5NER4zk67boQSyBRpXkctXx9spWdCWghjvLKAJRUqMqh', + tokenId: null, + tokenStandard: 'NFT', + name: 'Yoohe Steel 23', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/5FywtmfMyZpuEkiOuMznAkbonLXVEp7CVd07or738XI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Steel' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '23' }, + { key: 'Smile', value: '30' }, + { key: 'Hug', value: '41' }, + { key: 'Laugh', value: '8' }, + { key: 'Heart', value: '4' }, + { key: 'Warm', value: '30' }, + { key: 'Good', value: '5' }, + { key: 'Thanks', value: '7' }, + { key: 'Share', value: '27' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '77' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '77NqHK3N4iMb5h3WdJ97m9ZwvTo2E5kGii3vJ4CgMcjV', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '77NqHK3N4iMb5h3WdJ97m9ZwvTo2E5kGii3vJ4CgMcjV', + tokenId: null, + tokenStandard: 'NFT', + name: 'Yusuno Slate 27', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/yLEJcqvDJY-qpltJo1fMlxMJ87S3qMLtFN1pFvgXQSQ', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '27' }, + { key: 'Smile', value: '8' }, + { key: 'Hug', value: '21' }, + { key: 'Laugh', value: '20' }, + { key: 'Heart', value: '37' }, + { key: 'Warm', value: '29' }, + { key: 'Good', value: '10' }, + { key: 'Thanks', value: '39' }, + { key: 'Share', value: '38' }, + { key: 'Brave', value: '7' }, + { key: 'Grow', value: '61' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '47v8QuQVbi1vMpQPD1omtD576azLVLnZRDKnbMRE4UVc', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '47v8QuQVbi1vMpQPD1omtD576azLVLnZRDKnbMRE4UVc', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nuwase Lilac 75', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreieibgslgahlx7msh7nygks3b5ootzbaz7tgeduss5nogylcgxhufu', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Lilac' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '75' }, + { key: 'Smile', value: '71' }, + { key: 'Hug', value: '83' }, + { key: 'Laugh', value: '66' }, + { key: 'Heart', value: '80' }, + { key: 'Warm', value: '72' }, + { key: 'Good', value: '77' }, + { key: 'Thanks', value: '69' }, + { key: 'Share', value: '72' }, + { key: 'Brave', value: '62' }, + { key: 'Grow', value: '98' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4hnxWEfvWRPDECXivcd4KQ8b72f7EpTLW3ahLfTsE1SK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4hnxWEfvWRPDECXivcd4KQ8b72f7EpTLW3ahLfTsE1SK', + tokenId: null, + tokenStandard: 'NFT', + name: 'Suniku Volcano 91', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/68sOcz3f7BeI0TwlYi3akg2lvOJKmICZeviz9Mg0IOA', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold Blaze Rose' }, + { key: 'Background', value: 'Volcano' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '91' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '88' }, + { key: 'Laugh', value: '100' }, + { key: 'Heart', value: '91' }, + { key: 'Warm', value: '98' }, + { key: 'Good', value: '82' }, + { key: 'Thanks', value: '94' }, + { key: 'Share', value: '85' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '83' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '6xc3gCdFiXjaThH9VPeLE4THp7spDvrbuQJSjdNAq8ZC', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '6xc3gCdFiXjaThH9VPeLE4THp7spDvrbuQJSjdNAq8ZC', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nimira Azure 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/aHXL3LNLt5yVs4YlNQf85g7Ze4pSRusQ2tvjV29bWC0', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '41' }, + { key: 'Smile', value: '51' }, + { key: 'Hug', value: '56' }, + { key: 'Laugh', value: '46' }, + { key: 'Heart', value: '38' }, + { key: 'Warm', value: '34' }, + { key: 'Good', value: '54' }, + { key: 'Thanks', value: '42' }, + { key: 'Share', value: '55' }, + { key: 'Brave', value: '29' }, + { key: 'Grow', value: '5' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'AoWSoRA7fKd1siZzzJyDwP1wmGrgTy4XaxPStPzRSCqC', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'AoWSoRA7fKd1siZzzJyDwP1wmGrgTy4XaxPStPzRSCqC', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nofun Slate 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/P6RJ6EoXbebO-gWjTo-P1cZr85Qh1UyWSuDN2F7-BXs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Rose' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '30' }, + { key: 'Smile', value: '19' }, + { key: 'Hug', value: '32' }, + { key: 'Laugh', value: '31' }, + { key: 'Heart', value: '38' }, + { key: 'Warm', value: '48' }, + { key: 'Good', value: '14' }, + { key: 'Thanks', value: '16' }, + { key: 'Share', value: '35' }, + { key: 'Brave', value: '24' }, + { key: 'Grow', value: '43' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '8D2Yut6B6vNvGa3JmwTf8mBPjUbaP2VDRtBdjFoyTiMx', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '8D2Yut6B6vNvGa3JmwTf8mBPjUbaP2VDRtBdjFoyTiMx', + tokenId: null, + tokenStandard: 'NFT', + name: 'Tokau Nostalgia 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/VsUufMJMwyTjaoaExI87RlgNWRmYrVKTmsQVI88__qQ', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe Mint Gold' }, + { key: 'Background', value: 'Nostalgia' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '86' }, + { key: 'Smile', value: '86' }, + { key: 'Hug', value: '88' }, + { key: 'Laugh', value: '93' }, + { key: 'Heart', value: '93' }, + { key: 'Warm', value: '79' }, + { key: 'Good', value: '80' }, + { key: 'Thanks', value: '92' }, + { key: 'Share', value: '96' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '53' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '91xa3Mo4mkMV7ER6eWX7h4GH9xbBpTgVgyt36Ncqfq18', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '91xa3Mo4mkMV7ER6eWX7h4GH9xbBpTgVgyt36Ncqfq18', + tokenId: null, + tokenStandard: 'NFT', + name: 'Mesoru Lilac 81', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/t-vYtwb7BFjG0w3AvpQvwunUa4mq8PHH60c0yhiKDFU', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Lilac' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '81' }, + { key: 'Smile', value: '72' }, + { key: 'Hug', value: '81' }, + { key: 'Laugh', value: '90' }, + { key: 'Heart', value: '74' }, + { key: 'Warm', value: '85' }, + { key: 'Good', value: '83' }, + { key: 'Thanks', value: '90' }, + { key: 'Share', value: '76' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '59' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '3Z8mMqu7zGpjuU6FbA5CfitNCXr7eSc3RfTswh1AcC6t', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '3Z8mMqu7zGpjuU6FbA5CfitNCXr7eSc3RfTswh1AcC6t', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nihaho Red 98', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/EjQtl3DxC4wSRkhPpeoq2TkPGnNfUI9CVwuaWtigP-8', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Red' }, + { key: 'Rarity', value: 'Legendary' }, + { key: 'Rating', value: '98' }, + { key: 'Smile', value: '93' }, + { key: 'Hug', value: '95' }, + { key: 'Laugh', value: '94' }, + { key: 'Heart', value: '94' }, + { key: 'Warm', value: '98' }, + { key: 'Good', value: '91' }, + { key: 'Thanks', value: '95' }, + { key: 'Share', value: '91' }, + { key: 'Brave', value: '96' }, + { key: 'Grow', value: '97' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4KBDR1fKyzDAjWxdN9RtGqDrFA3w7jDHXtQ3midGXDiK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4KBDR1fKyzDAjWxdN9RtGqDrFA3w7jDHXtQ3midGXDiK', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kusete Nostalgia 88', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/r70dK6iosoPJ-e80ao_PzTC9hamuqjZtVTifyax5H5A', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime Rose Mint' }, + { key: 'Background', value: 'Nostalgia' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '88' }, + { key: 'Smile', value: '92' }, + { key: 'Hug', value: '93' }, + { key: 'Laugh', value: '94' }, + { key: 'Heart', value: '81' }, + { key: 'Warm', value: '84' }, + { key: 'Good', value: '81' }, + { key: 'Thanks', value: '93' }, + { key: 'Share', value: '87' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '75' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5yWqBNq7xBYdU3xvWuBgv5zznyY1KQuybo1X6Rn3Y5ti', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5yWqBNq7xBYdU3xvWuBgv5zznyY1KQuybo1X6Rn3Y5ti', + tokenId: null, + tokenStandard: 'NFT', + name: 'Maumi Copper 50', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Ac24TFEtdJlP8rLmwT89IP8xxFpDg_h44WtyxEla7ZQ', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '50' }, + { key: 'Smile', value: '38' }, + { key: 'Hug', value: '52' }, + { key: 'Laugh', value: '48' }, + { key: 'Heart', value: '30' }, + { key: 'Warm', value: '58' }, + { key: 'Good', value: '34' }, + { key: 'Thanks', value: '67' }, + { key: 'Share', value: '33' }, + { key: 'Brave', value: '47' }, + { key: 'Grow', value: '93' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '8Ruk1TR2pm8e6T2bMZjBqL5aFwq9BPwe9J65rzHMAcek', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '8Ruk1TR2pm8e6T2bMZjBqL5aFwq9BPwe9J65rzHMAcek', + tokenId: null, + tokenStandard: 'NFT', + name: 'Uahi Steel 35', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreiags6ha7fxshutnsfmarer6xknuri2hio7ne7lz4c5eubtkpco6mm', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Rose' }, + { key: 'Background', value: 'Steel' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '35' }, + { key: 'Smile', value: '31' }, + { key: 'Hug', value: '45' }, + { key: 'Laugh', value: '16' }, + { key: 'Heart', value: '29' }, + { key: 'Warm', value: '53' }, + { key: 'Good', value: '34' }, + { key: 'Thanks', value: '48' }, + { key: 'Share', value: '48' }, + { key: 'Brave', value: '38' }, + { key: 'Grow', value: '8' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'E1cBh6oyu8aMcsFGHqkXUYxamhCV1LTnRGCEUXcmpwf9', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'E1cBh6oyu8aMcsFGHqkXUYxamhCV1LTnRGCEUXcmpwf9', + tokenId: null, + tokenStandard: 'NFT', + name: 'Himefu Moss 63', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/3eoPW3uLLh7n0zMPSAq_w1jV8qPaNnTU965QxkeCgI4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Moss' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '63' }, + { key: 'Smile', value: '50' }, + { key: 'Hug', value: '73' }, + { key: 'Laugh', value: '70' }, + { key: 'Heart', value: '76' }, + { key: 'Warm', value: '72' }, + { key: 'Good', value: '55' }, + { key: 'Thanks', value: '73' }, + { key: 'Share', value: '63' }, + { key: 'Brave', value: '60' }, + { key: 'Grow', value: '38' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '76unMz9mTcRmwxBdu5heBwgbwzSPRYZK9yYiTW4KEMi2', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '76unMz9mTcRmwxBdu5heBwgbwzSPRYZK9yYiTW4KEMi2', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hetoo Copper 43', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/HX2sDwqB7oXie9Rw2WEPjJmVV1Opi9cG_BwEHopeJRw', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '43' }, + { key: 'Smile', value: '63' }, + { key: 'Hug', value: '53' }, + { key: 'Laugh', value: '44' }, + { key: 'Heart', value: '25' }, + { key: 'Warm', value: '55' }, + { key: 'Good', value: '29' }, + { key: 'Thanks', value: '61' }, + { key: 'Share', value: '35' }, + { key: 'Brave', value: '44' }, + { key: 'Grow', value: '21' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'FDjX1GKUaBDkETH34Be3qZ5PxUMNDR3hoSjaaYAmrBwG', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'FDjX1GKUaBDkETH34Be3qZ5PxUMNDR3hoSjaaYAmrBwG', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nekuse Volcano 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/jL22y8u0_f3KLmhYB_JJ9QXGBXuLAoTPe6UtwkwJM-4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime Rose Gold' }, + { key: 'Background', value: 'Volcano' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '89' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '85' }, + { key: 'Laugh', value: '88' }, + { key: 'Heart', value: '88' }, + { key: 'Warm', value: '84' }, + { key: 'Good', value: '86' }, + { key: 'Thanks', value: '92' }, + { key: 'Share', value: '97' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '81' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'B9FQr2NUb9Z9eTRzH8DYBhd5z9pRwfYVEwazzVQn8gF4', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'B9FQr2NUb9Z9eTRzH8DYBhd5z9pRwfYVEwazzVQn8gF4', + tokenId: null, + tokenStandard: 'NFT', + name: 'Seashi Blush 62', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/vkW26LNNfKknVM7uoDY8EssRpJ-xAyeR7DIe2accOwI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '62' }, + { key: 'Smile', value: '54' }, + { key: 'Hug', value: '46' }, + { key: 'Laugh', value: '81' }, + { key: 'Heart', value: '57' }, + { key: 'Warm', value: '44' }, + { key: 'Good', value: '80' }, + { key: 'Thanks', value: '71' }, + { key: 'Share', value: '70' }, + { key: 'Brave', value: '21' }, + { key: 'Grow', value: '96' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'Goia9fJhcQwjixixzDA97TJ5QkiCCarE7HgRaQyzEFFN', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'Goia9fJhcQwjixixzDA97TJ5QkiCCarE7HgRaQyzEFFN', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hewasu Copper 12', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/SIuKlVtnFNrbLynJefY4COWrKIk6YXF1omAdRRiDXh8', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '12' }, + { key: 'Smile', value: '24' }, + { key: 'Hug', value: '1' }, + { key: 'Laugh', value: '2' }, + { key: 'Heart', value: '24' }, + { key: 'Warm', value: '15' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '30' }, + { key: 'Share', value: '16' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '6' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'HGaT3H4fGaDrj9YBzSALqqBDPTGuRmfsXT6RXSLTnMNX', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'HGaT3H4fGaDrj9YBzSALqqBDPTGuRmfsXT6RXSLTnMNX', + tokenId: null, + tokenStandard: 'NFT', + name: 'Ioyu Steel 64', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/k1AHX_ElRu4RkN_V_-eU_y8molElD1sqxB8mzeeI45E', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Steel' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '64' }, + { key: 'Smile', value: '61' }, + { key: 'Hug', value: '77' }, + { key: 'Laugh', value: '63' }, + { key: 'Heart', value: '61' }, + { key: 'Warm', value: '52' }, + { key: 'Good', value: '52' }, + { key: 'Thanks', value: '52' }, + { key: 'Share', value: '66' }, + { key: 'Brave', value: '86' }, + { key: 'Grow', value: '70' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'F2UFnyDs6ywQBtQfijF98quBzFzkjkzNr9z7eMpFnKQn', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'F2UFnyDs6ywQBtQfijF98quBzFzkjkzNr9z7eMpFnKQn', + tokenId: null, + tokenStandard: 'NFT', + name: 'Sunoso Crimson 11', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreifr4pwqjuvx2mpj6rhvtdiglclm25gznjf7lpnz3ruyx77zycg2fa', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '11' }, + { key: 'Smile', value: '1' }, + { key: 'Hug', value: '11' }, + { key: 'Laugh', value: '31' }, + { key: 'Heart', value: '1' }, + { key: 'Warm', value: '15' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '3' }, + { key: 'Share', value: '8' }, + { key: 'Brave', value: '23' }, + { key: 'Grow', value: '16' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '6TXuzQWRK6nJkh93gpfk5dP57sKTd8rNZAMpP4ng3rHj', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '6TXuzQWRK6nJkh93gpfk5dP57sKTd8rNZAMpP4ng3rHj', + tokenId: null, + tokenStandard: 'NFT', + name: 'Amuha Crimson 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/GLeaJtBoChF7YDTSTpHhBzM8TJDlDUop9teSfDMbd4k', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '41' }, + { key: 'Smile', value: '48' }, + { key: 'Hug', value: '43' }, + { key: 'Laugh', value: '58' }, + { key: 'Heart', value: '58' }, + { key: 'Warm', value: '31' }, + { key: 'Good', value: '48' }, + { key: 'Thanks', value: '60' }, + { key: 'Share', value: '45' }, + { key: 'Brave', value: '12' }, + { key: 'Grow', value: '7' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '6wbXdTidWfxjsDTrdXo9LyhWBLk4zPhi2pSsu93gj48U', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '6wbXdTidWfxjsDTrdXo9LyhWBLk4zPhi2pSsu93gj48U', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hakaya Stage 95', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Q-xsuhCPw5Js8UTDCYr7qu5jtSAL-Nwrf99N11hhPi4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Butter Taupe Rose' }, + { key: 'Background', value: 'Stage' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '95' }, + { key: 'Smile', value: '91' }, + { key: 'Hug', value: '96' }, + { key: 'Laugh', value: '93' }, + { key: 'Heart', value: '93' }, + { key: 'Warm', value: '95' }, + { key: 'Good', value: '100' }, + { key: 'Thanks', value: '94' }, + { key: 'Share', value: '91' }, + { key: 'Brave', value: '97' }, + { key: 'Grow', value: '100' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'AnHfaZXNv1zztXkAsKqDyQew77TBaq8EkRcNPS8TjqYK', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'AnHfaZXNv1zztXkAsKqDyQew77TBaq8EkRcNPS8TjqYK', + tokenId: null, + tokenStandard: 'NFT', + name: 'Shihitsu Azure 84', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/EJUSKNEz23WE_yqaq4NQ-5GQTjmShTic0DgeJ1mP8Tg', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '84' }, + { key: 'Smile', value: '82' }, + { key: 'Hug', value: '84' }, + { key: 'Laugh', value: '79' }, + { key: 'Heart', value: '74' }, + { key: 'Warm', value: '77' }, + { key: 'Good', value: '94' }, + { key: 'Thanks', value: '78' }, + { key: 'Share', value: '79' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '93' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GoLgRrRMrBwNSQuX9GMnw9LNZrnLc457TaE3kcvhSGdC', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GoLgRrRMrBwNSQuX9GMnw9LNZrnLc457TaE3kcvhSGdC', + tokenId: null, + tokenStandard: 'NFT', + name: 'Otowa Moss 68', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/VwMEUAk6U4EaHEWZW22t6BtGrA-fChg90jljLgtcSvs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Moss' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '68' }, + { key: 'Smile', value: '54' }, + { key: 'Hug', value: '75' }, + { key: 'Laugh', value: '63' }, + { key: 'Heart', value: '88' }, + { key: 'Warm', value: '87' }, + { key: 'Good', value: '76' }, + { key: 'Thanks', value: '49' }, + { key: 'Share', value: '84' }, + { key: 'Brave', value: '88' }, + { key: 'Grow', value: '16' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '8xrLyqfaVsbCe3xSvrqJrLhAbLnGdtMAbVs2FP79ZtzU', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '8xrLyqfaVsbCe3xSvrqJrLhAbLnGdtMAbVs2FP79ZtzU', + tokenId: null, + tokenStandard: 'NFT', + name: 'Keyaho Slate 27', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/gNH7x8H7pKpBemac6V_KXahmhwxGm5QBsTfjzWt4k9k', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '27' }, + { key: 'Smile', value: '39' }, + { key: 'Hug', value: '46' }, + { key: 'Laugh', value: '14' }, + { key: 'Heart', value: '15' }, + { key: 'Warm', value: '19' }, + { key: 'Good', value: '19' }, + { key: 'Thanks', value: '47' }, + { key: 'Share', value: '34' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '36' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'JAFFsHva4Uo7GCCKbWeLFZs2uJgvDtPzqvJ2jRktDzx6', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'JAFFsHva4Uo7GCCKbWeLFZs2uJgvDtPzqvJ2jRktDzx6', + tokenId: null, + tokenStandard: 'NFT', + name: 'Watohi Atlantis 92', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/BZHCO7179d1OXzJm0d7JRYAjiHQoGVA1nOYFD0huRCg', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky Blaze Mint' }, + { key: 'Background', value: 'Atlantis' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '92' }, + { key: 'Smile', value: '100' }, + { key: 'Hug', value: '86' }, + { key: 'Laugh', value: '82' }, + { key: 'Heart', value: '98' }, + { key: 'Warm', value: '96' }, + { key: 'Good', value: '89' }, + { key: 'Thanks', value: '90' }, + { key: 'Share', value: '99' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '80' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '9CX1KT8wi4rvPFCU8WL8X2U8P6sxGavyAh9wpBrpSXvn', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '9CX1KT8wi4rvPFCU8WL8X2U8P6sxGavyAh9wpBrpSXvn', + tokenId: null, + tokenStandard: 'NFT', + name: 'Inui Black 99', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Q7RfboNqOGM44NwzrSgiPhbvCccHCLgttfmT5sk9PwA', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Black' }, + { key: 'Rarity', value: 'Legendary' }, + { key: 'Rating', value: '99' }, + { key: 'Smile', value: '93' }, + { key: 'Hug', value: '99' }, + { key: 'Laugh', value: '91' }, + { key: 'Heart', value: '97' }, + { key: 'Warm', value: '95' }, + { key: 'Good', value: '96' }, + { key: 'Thanks', value: '97' }, + { key: 'Share', value: '97' }, + { key: 'Brave', value: '94' }, + { key: 'Grow', value: '94' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'FzBbVaUcUd5tkJTBU1WDMZRafQcZA7ygFpSVoJuc4PLj', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'FzBbVaUcUd5tkJTBU1WDMZRafQcZA7ygFpSVoJuc4PLj', + tokenId: null, + tokenStandard: 'NFT', + name: 'Renhi Copper 72', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/E5zaT2ZoI34q8VAzi5znRVWVFB7UZ_ShisuolmfAoaE', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '72' }, + { key: 'Smile', value: '76' }, + { key: 'Hug', value: '53' }, + { key: 'Laugh', value: '57' }, + { key: 'Heart', value: '85' }, + { key: 'Warm', value: '87' }, + { key: 'Good', value: '80' }, + { key: 'Thanks', value: '58' }, + { key: 'Share', value: '87' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '37' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '23vXxoc1EDL46NtBfdpZ7vPwTWN6eYTXgFAG9JN2jo1U', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '23vXxoc1EDL46NtBfdpZ7vPwTWN6eYTXgFAG9JN2jo1U', + tokenId: null, + tokenStandard: 'NFT', + name: 'Muwani Maize 34', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreifmsz5mfrepbl37autwckjwzvehxdmnunrifm7l2xhaippfght2hy', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Rose' }, + { key: 'Background', value: 'Maize' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '34' }, + { key: 'Smile', value: '43' }, + { key: 'Hug', value: '22' }, + { key: 'Laugh', value: '24' }, + { key: 'Heart', value: '35' }, + { key: 'Warm', value: '26' }, + { key: 'Good', value: '30' }, + { key: 'Thanks', value: '46' }, + { key: 'Share', value: '14' }, + { key: 'Brave', value: '33' }, + { key: 'Grow', value: '67' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '3LQXhQ7hCjyGt5BP2ugJLeJwc4wSY7BhL8kN43DenjBm', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '3LQXhQ7hCjyGt5BP2ugJLeJwc4wSY7BhL8kN43DenjBm', + tokenId: null, + tokenStandard: 'NFT', + name: 'Moriro Maize 39', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreig2xneuwtbhrncsv7f5isltw2rzfdbny2wrv3zpq2ayur3ckhjwyi', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Violet' }, + { key: 'Background', value: 'Maize' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '39' }, + { key: 'Smile', value: '20' }, + { key: 'Hug', value: '27' }, + { key: 'Laugh', value: '59' }, + { key: 'Heart', value: '59' }, + { key: 'Warm', value: '25' }, + { key: 'Good', value: '28' }, + { key: 'Thanks', value: '34' }, + { key: 'Share', value: '44' }, + { key: 'Brave', value: '75' }, + { key: 'Grow', value: '19' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'DvsAFqxLgQPv5U4A7WezLcAtPQG4dMQPw7N3fEkdzuc3', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'DvsAFqxLgQPv5U4A7WezLcAtPQG4dMQPw7N3fEkdzuc3', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kifuwa Copper 81', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/JfWa1IF1jcMwB6dSRcJOkQXyBGCGQr2uERMqt0c0SGo', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '81' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '83' }, + { key: 'Laugh', value: '77' }, + { key: 'Heart', value: '74' }, + { key: 'Warm', value: '91' }, + { key: 'Good', value: '79' }, + { key: 'Thanks', value: '84' }, + { key: 'Share', value: '79' }, + { key: 'Brave', value: '98' }, + { key: 'Grow', value: '56' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2V6tUoD1vJZXpNX6YC1j3gGRuUFANJDuaJAV3M7M7Qtm', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '2V6tUoD1vJZXpNX6YC1j3gGRuUFANJDuaJAV3M7M7Qtm', + tokenId: null, + tokenStandard: 'NFT', + name: 'Namiku Crimson 79', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/ybG1mkP9DIFRLEAaiu8RU6zYZa_0ADNocZAgDXwVTOo', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '79' }, + { key: 'Smile', value: '86' }, + { key: 'Hug', value: '77' }, + { key: 'Laugh', value: '82' }, + { key: 'Heart', value: '82' }, + { key: 'Warm', value: '72' }, + { key: 'Good', value: '82' }, + { key: 'Thanks', value: '81' }, + { key: 'Share', value: '88' }, + { key: 'Brave', value: '80' }, + { key: 'Grow', value: '60' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '66ePeHXTVWjdpHbf9RirdmpgUJHJ9HumiZeH6vTstpxj', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '66ePeHXTVWjdpHbf9RirdmpgUJHJ9HumiZeH6vTstpxj', + tokenId: null, + tokenStandard: 'NFT', + name: 'Heriho Blush 59', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/7Lkid1s0zRIOk_qugby0w0-s5McUZktp6p0R678_qD4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '59' }, + { key: 'Smile', value: '64' }, + { key: 'Hug', value: '44' }, + { key: 'Laugh', value: '73' }, + { key: 'Heart', value: '47' }, + { key: 'Warm', value: '46' }, + { key: 'Good', value: '57' }, + { key: 'Thanks', value: '73' }, + { key: 'Share', value: '69' }, + { key: 'Brave', value: '54' }, + { key: 'Grow', value: '63' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '8XgHPUSoBsh2MMjthCko8Dp11mji7oGhZ7FbfZre7K2Y', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '8XgHPUSoBsh2MMjthCko8Dp11mji7oGhZ7FbfZre7K2Y', + tokenId: null, + tokenStandard: 'NFT', + name: 'Emishi Cavern 93', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreif6p2wmov37vfmuynq6m2nibf36tf5c3wrg7o4jr7zmoq77oaue7a', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Butter Blaze Sky' }, + { key: 'Background', value: 'Cavern' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '93' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '92' }, + { key: 'Laugh', value: '100' }, + { key: 'Heart', value: '83' }, + { key: 'Warm', value: '100' }, + { key: 'Good', value: '100' }, + { key: 'Thanks', value: '95' }, + { key: 'Share', value: '100' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '71' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'A5PYKSjz55k7C5pia6vpSFjZbD4Ea8ZV2KYCY6PMfpKE', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'A5PYKSjz55k7C5pia6vpSFjZbD4Ea8ZV2KYCY6PMfpKE', + tokenId: null, + tokenStandard: 'NFT', + name: 'Tehise Umber 69', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/FaOcKsrOodVH8r2ys1GEvdlGKTAek2N13-Wi5MdrV28', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '69' }, + { key: 'Smile', value: '80' }, + { key: 'Hug', value: '82' }, + { key: 'Laugh', value: '71' }, + { key: 'Heart', value: '71' }, + { key: 'Warm', value: '83' }, + { key: 'Good', value: '68' }, + { key: 'Thanks', value: '53' }, + { key: 'Share', value: '80' }, + { key: 'Brave', value: '63' }, + { key: 'Grow', value: '39' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '7vYE2auoFeNZ4i3jZ1dJ17N3iJUd6tqSc8NT3mx2Jvk2', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '7vYE2auoFeNZ4i3jZ1dJ17N3iJUd6tqSc8NT3mx2Jvk2', + tokenId: null, + tokenStandard: 'NFT', + name: 'Mokise Azure 72', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/k8TkNfVdxmTH1Gc3yYnRL8cLL3t1jUAU2Zp42UTuH7k', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Coral' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '72' }, + { key: 'Smile', value: '90' }, + { key: 'Hug', value: '88' }, + { key: 'Laugh', value: '70' }, + { key: 'Heart', value: '61' }, + { key: 'Warm', value: '74' }, + { key: 'Good', value: '89' }, + { key: 'Thanks', value: '59' }, + { key: 'Share', value: '57' }, + { key: 'Brave', value: '92' }, + { key: 'Grow', value: '40' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'sVew7tk6GGRcTXGvy5tmZnAHaF3HWgTSoNDuenTKKDS', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'sVew7tk6GGRcTXGvy5tmZnAHaF3HWgTSoNDuenTKKDS', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rehemu Umber 68', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/YiJbXaBzCIXNwbtwYbCDLp76V02YzXiBocjfGABGcrE', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '68' }, + { key: 'Smile', value: '86' }, + { key: 'Hug', value: '69' }, + { key: 'Laugh', value: '64' }, + { key: 'Heart', value: '72' }, + { key: 'Warm', value: '61' }, + { key: 'Good', value: '58' }, + { key: 'Thanks', value: '66' }, + { key: 'Share', value: '84' }, + { key: 'Brave', value: '27' }, + { key: 'Grow', value: '93' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5JZ3JySwmA8hYwKvtyRJHV7Bx7hVb7X3xz4jwcfJvoKE', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5JZ3JySwmA8hYwKvtyRJHV7Bx7hVb7X3xz4jwcfJvoKE', + tokenId: null, + tokenStandard: 'NFT', + name: 'Shihawo Maize 10', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/_pCz0o6WCPeFlx9cPkJCKPRczc4jAmns7HgBjlHwOAs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Maize' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '10' }, + { key: 'Smile', value: '15' }, + { key: 'Hug', value: '1' }, + { key: 'Laugh', value: '14' }, + { key: 'Heart', value: '7' }, + { key: 'Warm', value: '12' }, + { key: 'Good', value: '2' }, + { key: 'Thanks', value: '14' }, + { key: 'Share', value: '18' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '16' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '9dHS9jmB75yZhPevY7rpdVGCakLMREzvW87kvzjFPMZC', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '9dHS9jmB75yZhPevY7rpdVGCakLMREzvW87kvzjFPMZC', + tokenId: null, + tokenStandard: 'NFT', + name: 'Muchinu Copper 17', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/RaNQBwiovSKFLEAa4R12caIMluHR9i_nCMlbkZwZafo', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '17' }, + { key: 'Smile', value: '6' }, + { key: 'Hug', value: '37' }, + { key: 'Laugh', value: '1' }, + { key: 'Heart', value: '21' }, + { key: 'Warm', value: '2' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '32' }, + { key: 'Share', value: '15' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '54' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BL4gnVWq6p91BTCgpae8Mz8TMPnz6mAdrwm7Mjmp7g8L', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BL4gnVWq6p91BTCgpae8Mz8TMPnz6mAdrwm7Mjmp7g8L', + tokenId: null, + tokenStandard: 'NFT', + name: 'Neroka Nostalgia 95', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/AirpCII2848n3dAjRxeb9jAq0cTin4a44OFu1k6aKo8', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime Sky Violet' }, + { key: 'Background', value: 'Nostalgia' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '95' }, + { key: 'Smile', value: '100' }, + { key: 'Hug', value: '100' }, + { key: 'Laugh', value: '95' }, + { key: 'Heart', value: '100' }, + { key: 'Warm', value: '100' }, + { key: 'Good', value: '93' }, + { key: 'Thanks', value: '100' }, + { key: 'Share', value: '93' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '69' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '3XzVvHQ4nddxeHidrVUDHGjk7qmmGQmgWYrK1evZL6SV', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '3XzVvHQ4nddxeHidrVUDHGjk7qmmGQmgWYrK1evZL6SV', + tokenId: null, + tokenStandard: 'NFT', + name: 'Esun Moss 47', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreiddoosg4przrxud5ztald37gabo7a4hqfelt4d7bh65jji42rsjvm', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Moss' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '47' }, + { key: 'Smile', value: '41' }, + { key: 'Hug', value: '66' }, + { key: 'Laugh', value: '45' }, + { key: 'Heart', value: '61' }, + { key: 'Warm', value: '51' }, + { key: 'Good', value: '53' }, + { key: 'Thanks', value: '29' }, + { key: 'Share', value: '39' }, + { key: 'Brave', value: '49' }, + { key: 'Grow', value: '36' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GVbaA4GqqceibdNjPaSsVccsYJtKk7ZPZD4ET9UZgpV4', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GVbaA4GqqceibdNjPaSsVccsYJtKk7ZPZD4ET9UZgpV4', + tokenId: null, + tokenStandard: 'NFT', + name: 'Rokane Red 98', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Vcv9OmO7rH_7hhqPSe037jFUnCwYCUdVRDpl2LI6pDw', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Red' }, + { key: 'Rarity', value: 'Legendary' }, + { key: 'Rating', value: '98' }, + { key: 'Smile', value: '98' }, + { key: 'Hug', value: '92' }, + { key: 'Laugh', value: '98' }, + { key: 'Heart', value: '91' }, + { key: 'Warm', value: '93' }, + { key: 'Good', value: '91' }, + { key: 'Thanks', value: '100' }, + { key: 'Share', value: '98' }, + { key: 'Brave', value: '96' }, + { key: 'Grow', value: '90' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '6SaWmPz9KUj2ahSVSc6gkeED4jSEGHYL6VsbB89uYre', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '6SaWmPz9KUj2ahSVSc6gkeED4jSEGHYL6VsbB89uYre', + tokenId: null, + tokenStandard: 'NFT', + name: 'Iheya Artic 87', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/BcOXu57leXYNFOrmDDyQqyXngaLze8eNHKELmDyUaYs', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe Violet Mint' }, + { key: 'Background', value: 'Artic' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '87' }, + { key: 'Smile', value: '87' }, + { key: 'Hug', value: '97' }, + { key: 'Laugh', value: '89' }, + { key: 'Heart', value: '84' }, + { key: 'Warm', value: '90' }, + { key: 'Good', value: '77' }, + { key: 'Thanks', value: '85' }, + { key: 'Share', value: '86' }, + { key: 'Brave', value: '95' }, + { key: 'Grow', value: '80' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2JpbZQRbKQypRj8aMCcRGNsHs1Af9ei9vJ8QYeLc5VZZ', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '2JpbZQRbKQypRj8aMCcRGNsHs1Af9ei9vJ8QYeLc5VZZ', + tokenId: null, + tokenStandard: 'NFT', + name: 'Onono Fantasy 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/6_42us2fNsf0b8NfP936MSt-yD2ZcTJGeVH4Oma7z6s', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Rose Lime Sky' }, + { key: 'Background', value: 'Fantasy' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '86' }, + { key: 'Smile', value: '81' }, + { key: 'Hug', value: '82' }, + { key: 'Laugh', value: '90' }, + { key: 'Heart', value: '94' }, + { key: 'Warm', value: '96' }, + { key: 'Good', value: '81' }, + { key: 'Thanks', value: '95' }, + { key: 'Share', value: '92' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '49' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '7ZBAFmT9Tq9ftw6PBQQfb9Ks3FR9Pd1QZZTVvCkvBbEZ', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '7ZBAFmT9Tq9ftw6PBQQfb9Ks3FR9Pd1QZZTVvCkvBbEZ', + tokenId: null, + tokenStandard: 'NFT', + name: 'Minuna Crimson 35', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreibpcafvzlmtrsgd6idgnjut6wfqpf7cnx5r4bhalpxikmiedwtkoa', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Tangerine' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '35' }, + { key: 'Smile', value: '31' }, + { key: 'Hug', value: '38' }, + { key: 'Laugh', value: '20' }, + { key: 'Heart', value: '53' }, + { key: 'Warm', value: '20' }, + { key: 'Good', value: '52' }, + { key: 'Thanks', value: '28' }, + { key: 'Share', value: '52' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '55' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'CmQrWkn7BMMh6oSXvQaavRsYNNED7odJNdWApPv8cpJs', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'CmQrWkn7BMMh6oSXvQaavRsYNNED7odJNdWApPv8cpJs', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kukime Lilac 79', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/zaMpFeeG8tXUU0r-VwaDga7s7SVszNaIDuK19N1sS-M', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Lilac' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '79' }, + { key: 'Smile', value: '82' }, + { key: 'Hug', value: '73' }, + { key: 'Laugh', value: '75' }, + { key: 'Heart', value: '74' }, + { key: 'Warm', value: '71' }, + { key: 'Good', value: '76' }, + { key: 'Thanks', value: '85' }, + { key: 'Share', value: '74' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '80' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'HqR3AeQe8DdEmrwx9WDHgFKtFk14vsyZiehaw7jYqCN4', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'HqR3AeQe8DdEmrwx9WDHgFKtFk14vsyZiehaw7jYqCN4', + tokenId: null, + tokenStandard: 'NFT', + name: 'Hosake Copper 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreifm5zxmd4fx6fycr2skxan565nzk5i73y5urcqxbuuyjsq3i5ljly', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Blaze' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '30' }, + { key: 'Smile', value: '46' }, + { key: 'Hug', value: '39' }, + { key: 'Laugh', value: '13' }, + { key: 'Heart', value: '27' }, + { key: 'Warm', value: '21' }, + { key: 'Good', value: '26' }, + { key: 'Thanks', value: '10' }, + { key: 'Share', value: '26' }, + { key: 'Brave', value: '64' }, + { key: 'Grow', value: '28' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BDnLCAcai1j8oRXWXBGAfMCDsFSMZLZrT1zDxBP2A65K', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BDnLCAcai1j8oRXWXBGAfMCDsFSMZLZrT1zDxBP2A65K', + tokenId: null, + tokenStandard: 'NFT', + name: 'Mumani Crimson 17', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/_qiLOsq812UBzz6ZVJtLH5avgdxNpl494yIoNbIED8M', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Gold' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '17' }, + { key: 'Smile', value: '17' }, + { key: 'Hug', value: '17' }, + { key: 'Laugh', value: '18' }, + { key: 'Heart', value: '1' }, + { key: 'Warm', value: '33' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '8' }, + { key: 'Share', value: '23' }, + { key: 'Brave', value: '46' }, + { key: 'Grow', value: '6' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'J2V4EVhC7J1zm5gGPYo5WqMGsJAPvSon2kjDBaYZ5CEv', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'J2V4EVhC7J1zm5gGPYo5WqMGsJAPvSon2kjDBaYZ5CEv', + tokenId: null, + tokenStandard: 'NFT', + name: 'Inaro Slate 60', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/l1Vpj5W5xEmERyos7uuCWRj1oe7kUoVQslbuouz0Yzg', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Violet' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '60' }, + { key: 'Smile', value: '63' }, + { key: 'Hug', value: '48' }, + { key: 'Laugh', value: '46' }, + { key: 'Heart', value: '44' }, + { key: 'Warm', value: '76' }, + { key: 'Good', value: '77' }, + { key: 'Thanks', value: '45' }, + { key: 'Share', value: '47' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '54' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5CRJGB6hyjZ9JUXK1qu8btGuJH8U56q4tenKmU7noj6H', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5CRJGB6hyjZ9JUXK1qu8btGuJH8U56q4tenKmU7noj6H', + tokenId: null, + tokenStandard: 'NFT', + name: 'Sanaya Slate 74', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/P_R0j05mMT1HSD9zKZaTj_vlQVAO_3TohZgY321obTI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Slate' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '74' }, + { key: 'Smile', value: '82' }, + { key: 'Hug', value: '85' }, + { key: 'Laugh', value: '64' }, + { key: 'Heart', value: '60' }, + { key: 'Warm', value: '91' }, + { key: 'Good', value: '79' }, + { key: 'Thanks', value: '85' }, + { key: 'Share', value: '57' }, + { key: 'Brave', value: '67' }, + { key: 'Grow', value: '70' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'BqgsdJQemGCuy9e7dcxmHnBnGDTfuugs6Eaw13exyxAC', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'BqgsdJQemGCuy9e7dcxmHnBnGDTfuugs6Eaw13exyxAC', + tokenId: null, + tokenStandard: 'NFT', + name: 'Kimike Moss 64', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreidv72x37cbinkvabz6pubwof7euye46lc7bzao4azk63wiu4v7qjy', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Blaze' }, + { key: 'Background', value: 'Moss' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '64' }, + { key: 'Smile', value: '81' }, + { key: 'Hug', value: '47' }, + { key: 'Laugh', value: '50' }, + { key: 'Heart', value: '65' }, + { key: 'Warm', value: '68' }, + { key: 'Good', value: '81' }, + { key: 'Thanks', value: '45' }, + { key: 'Share', value: '55' }, + { key: 'Brave', value: '60' }, + { key: 'Grow', value: '88' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4iwQrtmh91iMBvAtiEzNHd1cv1QiajbT9dG919ACbFtm', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4iwQrtmh91iMBvAtiEzNHd1cv1QiajbT9dG919ACbFtm', + tokenId: null, + tokenStandard: 'NFT', + name: 'Ramure Umber 5', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/mFWJGX924Dy-FxbLsDslsT7pwuK8D9opTFhZi2HJUKE', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Umber' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '5' }, + { key: 'Smile', value: '1' }, + { key: 'Hug', value: '1' }, + { key: 'Laugh', value: '15' }, + { key: 'Heart', value: '4' }, + { key: 'Warm', value: '1' }, + { key: 'Good', value: '1' }, + { key: 'Thanks', value: '1' }, + { key: 'Share', value: '1' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '24' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5NWin7cHMBUtTjGv9D8fwZwyxvrH6T4uEdK18CuYrjGQ', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5NWin7cHMBUtTjGv9D8fwZwyxvrH6T4uEdK18CuYrjGQ', + tokenId: null, + tokenStandard: 'NFT', + name: 'Toruha Blush 25', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Qe_StXHAExNaOk-t-oRUqQ9KoibTWrEhXsgeQjz5ovk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '25' }, + { key: 'Smile', value: '30' }, + { key: 'Hug', value: '14' }, + { key: 'Laugh', value: '40' }, + { key: 'Heart', value: '25' }, + { key: 'Warm', value: '16' }, + { key: 'Good', value: '32' }, + { key: 'Thanks', value: '11' }, + { key: 'Share', value: '22' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '59' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'A2kRbc9PErBhfj5bRW47ji8cEJF1Fm23xo9qTJzUPuAi', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'A2kRbc9PErBhfj5bRW47ji8cEJF1Fm23xo9qTJzUPuAi', + tokenId: null, + tokenStandard: 'NFT', + name: 'Yanuhi Lilac 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://w3s.link/ipfs/bafkreiehytzikifiilewin6rgitkfifyrle2tr6donbad4jnkjsgvlzscm', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Lilac' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '30' }, + { key: 'Smile', value: '47' }, + { key: 'Hug', value: '10' }, + { key: 'Laugh', value: '41' }, + { key: 'Heart', value: '32' }, + { key: 'Warm', value: '23' }, + { key: 'Good', value: '29' }, + { key: 'Thanks', value: '44' }, + { key: 'Share', value: '45' }, + { key: 'Brave', value: '1' }, + { key: 'Grow', value: '28' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GnSLjLgDpP1gPGnMsQQ9g1t5gWn1FiaYJRGsDH1jLvrb', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GnSLjLgDpP1gPGnMsQQ9g1t5gWn1FiaYJRGsDH1jLvrb', + tokenId: null, + tokenStandard: 'NFT', + name: 'Tefute Lilac 38', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/u52d29x9EnRVFzMnj8P5FSCVZqfKykylPPiL6WSTETI', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky' }, + { key: 'Background', value: 'Lilac' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '38' }, + { key: 'Smile', value: '36' }, + { key: 'Hug', value: '41' }, + { key: 'Laugh', value: '58' }, + { key: 'Heart', value: '24' }, + { key: 'Warm', value: '56' }, + { key: 'Good', value: '58' }, + { key: 'Thanks', value: '22' }, + { key: 'Share', value: '18' }, + { key: 'Brave', value: '47' }, + { key: 'Grow', value: '20' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4C3yLSBWzE8BoEcbYCrDYZG6DPPa2JiUJDaK7DuP5waw', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4C3yLSBWzE8BoEcbYCrDYZG6DPPa2JiUJDaK7DuP5waw', + tokenId: null, + tokenStandard: 'NFT', + name: 'Waria Fantasy 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/VXjz_9IOmrxFpGATG2YBe4UblSo7rEYedBhv89tAc0Y', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Mint Stone Gold' }, + { key: 'Background', value: 'Fantasy' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '86' }, + { key: 'Smile', value: '91' }, + { key: 'Hug', value: '79' }, + { key: 'Laugh', value: '90' }, + { key: 'Heart', value: '85' }, + { key: 'Warm', value: '82' }, + { key: 'Good', value: '88' }, + { key: 'Thanks', value: '81' }, + { key: 'Share', value: '86' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '78' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '4sBK1uNN4H2BdjXgYnnU9UrVLR5N5gHfcaTwpMp4ZchR', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '4sBK1uNN4H2BdjXgYnnU9UrVLR5N5gHfcaTwpMp4ZchR', + tokenId: null, + tokenStandard: 'NFT', + name: 'Yushini Crimson 58', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/kN2l0ydJRhKMRZRGBaBTP6YeV_tcRWPNtV-UNLlqNZ4', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '58' }, + { key: 'Smile', value: '39' }, + { key: 'Hug', value: '47' }, + { key: 'Laugh', value: '44' }, + { key: 'Heart', value: '41' }, + { key: 'Warm', value: '76' }, + { key: 'Good', value: '65' }, + { key: 'Thanks', value: '56' }, + { key: 'Share', value: '73' }, + { key: 'Brave', value: '54' }, + { key: 'Grow', value: '85' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'HoqygdHmhszACPdKz49MWCiM9gpRewsb2BxN7WFbVZ8g', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'HoqygdHmhszACPdKz49MWCiM9gpRewsb2BxN7WFbVZ8g', + tokenId: null, + tokenStandard: 'NFT', + name: 'Temimi Volcano 91', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/GKGnHgLTaEWfhoWO7ZJsC_8a7xaSiEO9eSC3QmBnRUg', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Taupe Tangerine Sky' }, + { key: 'Background', value: 'Volcano' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '91' }, + { key: 'Smile', value: '89' }, + { key: 'Hug', value: '91' }, + { key: 'Laugh', value: '84' }, + { key: 'Heart', value: '98' }, + { key: 'Warm', value: '100' }, + { key: 'Good', value: '90' }, + { key: 'Thanks', value: '87' }, + { key: 'Share', value: '89' }, + { key: 'Brave', value: '95' }, + { key: 'Grow', value: '87' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'TzuLBLZQz34QuMGhBWfagW3CX7MRgbnX9TGvgMq7Er7', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'TzuLBLZQz34QuMGhBWfagW3CX7MRgbnX9TGvgMq7Er7', + tokenId: null, + tokenStandard: 'NFT', + name: 'Reose Azure 71', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/mMsD_yGDrzPsQn9Qlzvj_zOCAGvkLleTJbXdzavzg0g', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Azure' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '71' }, + { key: 'Smile', value: '90' }, + { key: 'Hug', value: '76' }, + { key: 'Laugh', value: '53' }, + { key: 'Heart', value: '74' }, + { key: 'Warm', value: '80' }, + { key: 'Good', value: '84' }, + { key: 'Thanks', value: '84' }, + { key: 'Share', value: '86' }, + { key: 'Brave', value: '80' }, + { key: 'Grow', value: '3' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '2gqJ1hBKNAz4Zp4N3jtNNyNMgPoiVELJ39dzNscAwrMS', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '2gqJ1hBKNAz4Zp4N3jtNNyNMgPoiVELJ39dzNscAwrMS', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nenesu Blush 20', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/J57aqt1TXeadJFdCmhaPPG9l2rMWdC4gPzt-28jAmcc', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Blush' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '20' }, + { key: 'Smile', value: '30' }, + { key: 'Hug', value: '16' }, + { key: 'Laugh', value: '7' }, + { key: 'Heart', value: '19' }, + { key: 'Warm', value: '18' }, + { key: 'Good', value: '16' }, + { key: 'Thanks', value: '24' }, + { key: 'Share', value: '36' }, + { key: 'Brave', value: '13' }, + { key: 'Grow', value: '21' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'AempPeKEMVyKoopMSLgTJ8uhgxXAQSeGKkN6Bxg59Sjv', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'AempPeKEMVyKoopMSLgTJ8uhgxXAQSeGKkN6Bxg59Sjv', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nuteki Crimson 18', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/YVk50ScKfjw_Ge7jzH7AvCBFY-asGWkiJiALH0l1WFU', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone' }, + { key: 'Background', value: 'Crimson' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '18' }, + { key: 'Smile', value: '2' }, + { key: 'Hug', value: '25' }, + { key: 'Laugh', value: '13' }, + { key: 'Heart', value: '15' }, + { key: 'Warm', value: '28' }, + { key: 'Good', value: '17' }, + { key: 'Thanks', value: '1' }, + { key: 'Share', value: '17' }, + { key: 'Brave', value: '47' }, + { key: 'Grow', value: '15' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'FJjbsmyDUiSWqnTScUVPJ7gtkgWLu8eLNE2ZSZQhWH4o', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'FJjbsmyDUiSWqnTScUVPJ7gtkgWLu8eLNE2ZSZQhWH4o', + tokenId: null, + tokenStandard: 'NFT', + name: 'Tooku Fantasy 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/TbZlusywCg4INdEwAv4Q-Fz00bZjyRGaqrwCFlw0uUc', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Sky Stone Lime' }, + { key: 'Background', value: 'Fantasy' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '89' }, + { key: 'Smile', value: '98' }, + { key: 'Hug', value: '89' }, + { key: 'Laugh', value: '97' }, + { key: 'Heart', value: '88' }, + { key: 'Warm', value: '89' }, + { key: 'Good', value: '99' }, + { key: 'Thanks', value: '81' }, + { key: 'Share', value: '87' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '62' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'GPCD4HbAgm4sYAEeChCTr6cvnQFqpCV1Hb4YqtUBFMLs', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'GPCD4HbAgm4sYAEeChCTr6cvnQFqpCV1Hb4YqtUBFMLs', + tokenId: null, + tokenStandard: 'NFT', + name: 'Miuse Copper 70', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/Fwub1TdOGg0-tqS6zWs43SVdUj7ppT3eboXXTUExuVQ', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Lime' }, + { key: 'Background', value: 'Copper' }, + { key: 'Rarity', value: 'Common' }, + { key: 'Rating', value: '70' }, + { key: 'Smile', value: '66' }, + { key: 'Hug', value: '89' }, + { key: 'Laugh', value: '61' }, + { key: 'Heart', value: '51' }, + { key: 'Warm', value: '63' }, + { key: 'Good', value: '53' }, + { key: 'Thanks', value: '76' }, + { key: 'Share', value: '67' }, + { key: 'Brave', value: '86' }, + { key: 'Grow', value: '88' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: '5f8JwHZdGVMzb3juDgpPT1hnYD18MofKv1sEjxghRDGH', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: '5f8JwHZdGVMzb3juDgpPT1hnYD18MofKv1sEjxghRDGH', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nechiwa Desert 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/vWTByzWVm_Gln-qyKU6Ajy3eWcZkdRs0BUZu6-hjrjE', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Violet Tangerine Butter' }, + { key: 'Background', value: 'Desert' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '89' }, + { key: 'Smile', value: '84' }, + { key: 'Hug', value: '80' }, + { key: 'Laugh', value: '95' }, + { key: 'Heart', value: '94' }, + { key: 'Warm', value: '84' }, + { key: 'Good', value: '82' }, + { key: 'Thanks', value: '95' }, + { key: 'Share', value: '95' }, + { key: 'Brave', value: '94' }, + { key: 'Grow', value: '87' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + tokenAddress: 'eUyEuzbhePsioreWqYsJ82KtLpgTDLwVkAvLxQqBTKV', + tokenId: null, + balance: 1, + acquiredAt: null, + isSpam: false, + nftToken: { + address: 'eUyEuzbhePsioreWqYsJ82KtLpgTDLwVkAvLxQqBTKV', + tokenId: null, + tokenStandard: 'NFT', + name: 'Nosuru Fantasy 90', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + imageUrl: + 'https://gateway.irys.xyz/31LAzQj901LQO_hBh4EHy0H739AuqPw2lmbRGzIzqlk', + mediaUrl: null, + externalUrl: 'https://www.monmonmon.art/', + attributes: [ + { key: 'Body', value: 'Stone Sky Tangerine' }, + { key: 'Background', value: 'Fantasy' }, + { key: 'Rarity', value: 'Rare' }, + { key: 'Rating', value: '90' }, + { key: 'Smile', value: '95' }, + { key: 'Hug', value: '98' }, + { key: 'Laugh', value: '88' }, + { key: 'Heart', value: '93' }, + { key: 'Warm', value: '92' }, + { key: 'Good', value: '93' }, + { key: 'Thanks', value: '93' }, + { key: 'Share', value: '81' }, + { key: 'Brave', value: '100' }, + { key: 'Grow', value: '67' }, + ], + tokenAccountAddress: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collectionName: 'MONMONMON HOLA', + collectionSymbol: 'hola_monmonmon', + collectionCount: 888659, + collectionImageUrl: null, + onchainCollectionAddress: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floorPrice: null, + lastSalePrice: null, + rarity: null, + }, + }, + ], +}; diff --git a/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseRaw.ts b/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseRaw.ts new file mode 100644 index 000000000..d49be7423 --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/mocks/mockNftsListResponseRaw.ts @@ -0,0 +1,10074 @@ +import type { NftApiBalanceType, PaginatedResponse } from '../types'; + +/* eslint-disable @typescript-eslint/naming-convention */ +export const MOCK_NFTS_LIST_RESPONSE_RAW: PaginatedResponse = + { + cursor: '78f58ef3ed72f146b24e2eebde142a2f', + error: null, + items: [ + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + token_id: null, + balance: 1, + acquired_at: null, + isSpam: true, + nft_token: { + address: '8d35QSkuPezKSgrj4hnQqyWscgp9aVNi4ARaccrk5DAK', + token_id: null, + token_standard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + media_url: null, + external_url: '', + attributes: [ + { + key: 'Sky', + value: 'Uncharted darkness', + }, + { + key: 'Accent', + value: 'Starship', + }, + ], + token_account_address: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collection_name: 'AB Open #02', + collection_symbol: 'ab_open_02', + collection_count: 1076387, + collection_image_url: null, + onchain_collection_address: + 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'FsKvd5n7mrMj1sB4mSMe1B3fBqXftE3hNJdFdT4WzZhr', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'FsKvd5n7mrMj1sB4mSMe1B3fBqXftE3hNJdFdT4WzZhr', + token_id: null, + token_standard: 'NFT', + name: 'AB Open #02', + description: 'Check jupmarket . com​ and receive your $1000', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmYV6boiCWMaXirg5v9S5ELoToLmfPkNY38sGBjKdTvs4o', + media_url: null, + external_url: '', + attributes: [ + { + key: 'Sky', + value: 'Uncharted darkness', + }, + { + key: 'Accent', + value: 'Starship', + }, + ], + token_account_address: null, + creators: [ + { + address: '48YA8rBqD8ptGtCws7676EsFLegzMQDytjEBiGEmzBr2', + share: 100, + verified: 0, + }, + ], + collection_name: 'AB Open #02', + collection_symbol: 'ab_open_02', + collection_count: 1076387, + collection_image_url: null, + onchain_collection_address: + 'Vti9abnrQhEa43rkATT1E8Qnt2rEE9uR5qjGY7i9Gqg', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: true, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'EbedVEfLHYQpmVW3ay757PPz5jCjfc42ofPqgp21zhA6', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'EbedVEfLHYQpmVW3ay757PPz5jCjfc42ofPqgp21zhA6', + token_id: null, + token_standard: 'NFT', + name: 'Ticket #11', + description: '', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmSfFas4yL7VB5c6XhSWUsLReuhjnECuTsGtukDLnDmQuh', + media_url: null, + external_url: 'https://jplegacy.example', + attributes: [ + { + key: 'Background', + value: 'Midnight Cityscape', + }, + { + key: 'Suit Color', + value: 'Neo Teal', + }, + { + key: 'Helmet Glow', + value: 'Pulsating Neon', + }, + { + key: 'Galaxy Light', + value: 'Aurora Blues', + }, + ], + token_account_address: null, + creators: [ + { + address: 'Aqig7DrpvaGMFoivYp7gCJLBXq6vMXj1c7p2rEcXdUh2', + share: 100, + verified: 0, + }, + ], + collection_name: 'Ticket #11', + collection_symbol: 'ticket_11', + collection_count: 169998, + collection_image_url: null, + onchain_collection_address: + '9wGQpooVgVRKhKzazRjRYNmaVwXDHAXFNKaXJNaKSCek', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'HMriMWAZyExwmJ28588fHstUuSBgLtD5tfeZJZTX2NxY', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'HMriMWAZyExwmJ28588fHstUuSBgLtD5tfeZJZTX2NxY', + token_id: null, + token_standard: 'NFT', + name: 'Ticket #11', + description: '', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmSfFas4yL7VB5c6XhSWUsLReuhjnECuTsGtukDLnDmQuh', + media_url: null, + external_url: 'https://jplegacy.example', + attributes: [ + { + key: 'Background', + value: 'Midnight Cityscape', + }, + { + key: 'Suit Color', + value: 'Neo Teal', + }, + { + key: 'Helmet Glow', + value: 'Pulsating Neon', + }, + { + key: 'Galaxy Light', + value: 'Aurora Blues', + }, + ], + token_account_address: null, + creators: [ + { + address: 'Aqig7DrpvaGMFoivYp7gCJLBXq6vMXj1c7p2rEcXdUh2', + share: 100, + verified: 0, + }, + ], + collection_name: 'Ticket #11', + collection_symbol: 'ticket_11', + collection_count: 169998, + collection_image_url: null, + onchain_collection_address: + '9wGQpooVgVRKhKzazRjRYNmaVwXDHAXFNKaXJNaKSCek', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2Q9qk8eSMnFAaLFqedSzYgbYa4oNcxBC99joYFeUm4ur', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2Q9qk8eSMnFAaLFqedSzYgbYa4oNcxBC99joYFeUm4ur', + token_id: null, + token_standard: 'NFT', + name: '#7', + description: 'Unlock 1000 $ТRUMР at ТRUMPСHEST​.​СOM', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmZ1mKs7hZEgK7f4j4r2YG7VwRsvNc2QP8Z6c2Ucp5Tja2', + media_url: null, + external_url: '', + attributes: [ + { + key: '', + value: '', + }, + { + key: '', + value: '', + }, + { + key: '', + value: '', + }, + ], + token_account_address: null, + creators: [ + { + address: '7kCL2HxbcvoVvJaF7awjznm36CkPbz11mKk9wn6oySQQ', + share: 100, + verified: 0, + }, + ], + collection_name: '$ТRUMР #01280', + collection_symbol: 'rum_01280', + collection_count: 2387471, + collection_image_url: null, + onchain_collection_address: + '6Yw2PXmCTsXqdX2HxHsBwSMEaag7nSjQjWpCdAu5sbj2', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: true, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '7BkNG96HhRgAL3hqSUybyeydoVHpD9zFaaNAVbUScXJK', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '7BkNG96HhRgAL3hqSUybyeydoVHpD9zFaaNAVbUScXJK', + token_id: null, + token_standard: 'NFT', + name: '#7', + description: 'Unlock 1000 $ТRUMР at ТRUMPСHEST​.​СOM', + metadata: null, + image_url: + 'https://ipfs.io/ipfs/QmZ1mKs7hZEgK7f4j4r2YG7VwRsvNc2QP8Z6c2Ucp5Tja2', + media_url: null, + external_url: '', + attributes: [ + { + key: '', + value: '', + }, + { + key: '', + value: '', + }, + { + key: '', + value: '', + }, + ], + token_account_address: null, + creators: [ + { + address: '7kCL2HxbcvoVvJaF7awjznm36CkPbz11mKk9wn6oySQQ', + share: 100, + verified: 0, + }, + ], + collection_name: '$ТRUMР #01280', + collection_symbol: 'rum_01280', + collection_count: 2387471, + collection_image_url: null, + onchain_collection_address: + '6Yw2PXmCTsXqdX2HxHsBwSMEaag7nSjQjWpCdAu5sbj2', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: true, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '98yhmwEkWNDuTaQiUTSbCuAot4rH9vzxkFrDb2EEL6Cm', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '98yhmwEkWNDuTaQiUTSbCuAot4rH9vzxkFrDb2EEL6Cm', + token_id: null, + token_standard: 'NFT', + name: 'Spaceship #11265', + description: + 'The Coalition uncovered a wide variety of issues when trying to expand their influence in the new galaxy, learning a great deal from their mistakes in the process. When the opportunity to construct new exploration vessels finally arrived, the engineers knew what the people of the Coalition needed. Powerful engines, pinpoint sensory equipment, cargo and fuel capacity upgrades would all ensure success even in particularly complicated scenarios.', + metadata: null, + image_url: + 'https://s3.projectnebula.com/collection/pn-ship/ship-11265.jpg', + media_url: null, + external_url: 'https://play.projectnebula.com/ship/11265', + attributes: [ + { + key: 'Ship class', + value: 'Exemplar', + }, + { + key: 'Ship type', + value: 'Exploration vessel', + }, + { + key: 'Tier', + value: 'I', + }, + { + key: 'Generation', + value: 'GEN-2', + }, + { + key: 'Background', + value: 'Paragon', + }, + { + key: 'Coating', + value: 'Famous Fox Federation', + }, + ], + token_account_address: null, + creators: [ + { + address: 'SPACLeJShFiF9YHgj7PHgSk93ZvkFGE7hEwK63G2Dq9', + share: 100, + verified: 0, + }, + ], + collection_name: 'Project Nebula Spaceships', + collection_symbol: 'project_nebula_spaceship', + collection_count: 12061, + collection_image_url: null, + onchain_collection_address: + 'GNA7ev6TkKN2iCQd8ePGEDb36XvYr7hpKm4nmejtPCoZ', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2bizwWM2QAtXwxcAoYuVjJ1W65rWQKcjujBQdYHVyr4m', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2bizwWM2QAtXwxcAoYuVjJ1W65rWQKcjujBQdYHVyr4m', + token_id: null, + token_standard: 'NFT', + name: 'For You 5000Jup 5000Jup.com', + description: + 'Visit the domain shown in the picture and claim your exclusive voucher 5000jup.com', + metadata: null, + image_url: 'https://img.hi-hi.vip/json/img/5000jup1.png', + media_url: null, + external_url: 'https://5000jup.com', + attributes: [ + { + key: 'Website', + value: 'https://5000jup.com', + }, + { + key: 'Verified', + value: 'True', + }, + { + key: 'Amount', + value: '5,000+ JUP ($5000+)', + }, + { + key: 'Time Left', + value: '30 minutes!', + }, + ], + token_account_address: null, + creators: [ + { + address: 'Gx31E1GUzEeqjCHPtyLkNQHCqwi6REpyp66Hi262vCtG', + share: 100, + verified: 1, + }, + ], + collection_name: 'For You 5000Jup', + collection_symbol: 'for_you_5000jup', + collection_count: 0, + collection_image_url: null, + onchain_collection_address: + 'hD6sEXnP9ihfeGKfRknKR5zZqE7upXJ7sJd4DZoM6WJ', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '7LrcVUyRqS1nSUvoBxoCy1iXEGYG6W9X7LRKsuai254K', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '7LrcVUyRqS1nSUvoBxoCy1iXEGYG6W9X7LRKsuai254K', + token_id: null, + token_standard: 'NFT', + name: 'Golden Shorts Bingo Cards', + description: + 'Official Bingo Cards & Mint Pass of the Golden Shorts Rascal Club. #77903', + metadata: null, + image_url: + 'https://bafybeiarry26winniyzce7gzzlidpkgs2xbcwevv7jmq4ifnqvlygungm4.ipfs.w3s.link/3511.png', + media_url: null, + external_url: '', + attributes: [ + { + key: 'Background', + value: 'rascals_whitelist_bingo', + }, + { + key: 'B', + value: '8b$100', + }, + { + key: 'I', + value: '8a$100', + }, + { + key: 'N', + value: 'n32453844', + }, + { + key: 'G', + value: 'g54555351', + }, + { + key: 'O', + value: 'o626371', + }, + ], + token_account_address: null, + creators: [ + { + address: 'A2b2NA5QADSUQkjVqTmz2HzsRyYECgKxcrT2x4owxHoZ', + share: 100, + verified: 0, + }, + ], + collection_name: 'GOLDEN RASCALS BINGO WL EDITION', + collection_symbol: 'bingo', + collection_count: 62261, + collection_image_url: null, + onchain_collection_address: + 'CvsKkZM6UAvCJBF2SGLfR8di52ZhYscg9zBNzCfkB19H', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'DyBtina3CQzQXeQz9HxSWZj5ku6ta7DrHhwnowDygAFA', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'DyBtina3CQzQXeQz9HxSWZj5ku6ta7DrHhwnowDygAFA', + token_id: null, + token_standard: 'NFT', + name: 'Choizzy Pass #6', + description: + 'Choizzy Passes are NFTs that grant whitelist access to the Choizzy Main mint. They also serve as a reward for our fantastic early adopters. Hold tight!', + metadata: null, + image_url: + 'https://bafkreigv5rks54dgimzi764io7tfavlwlwav7qcicuokhox2ve4yynj54a.ipfs.nftstorage.link/', + media_url: null, + external_url: 'https://choizzy.io', + attributes: [ + { + key: 'Hoodie Color', + value: 'Green', + }, + { + key: 'Eyes', + value: 'Regular', + }, + ], + token_account_address: null, + creators: [ + { + address: 'DK2iYsdgpYoZB9EPJrffz2XyuLBPkJjdUjsrCyZqg4U1', + share: 0, + verified: 1, + }, + { + address: '3eanCCeoApEmJUhmKsfWHgjrBVedQRrPJzAZUstiEnMH', + share: 100, + verified: 0, + }, + ], + collection_name: 'Choizzy Pass', + collection_symbol: 'choizzy_pass', + collection_count: 1999, + collection_image_url: null, + onchain_collection_address: + '4GW29XZQTtk4iKttRdUF1MLEc6gRYhYH8BPd6jfLSGp4', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '69MSbRdmkfW5AiAHNGcufqmocVxgrss3Nq1QvqZKg6Pf', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '69MSbRdmkfW5AiAHNGcufqmocVxgrss3Nq1QvqZKg6Pf', + token_id: null, + token_standard: 'NFT', + name: 'Primes Airdrop Box', + description: + 'The Primes Airdrop Boxes is your chance on getting the $PRM Token before everyone else. Boxes can now be burnt on The Primes official website.', + metadata: null, + image_url: + 'https://shdw-drive.genesysgo.net/2MYtdX5Bwz68aVny1cHqRyujAJkNEzknQyF1SNav8dTh/1.png', + media_url: null, + external_url: 'https://theprimes.io', + attributes: [ + { + key: 'Revealed', + value: 'Pending', + }, + { + key: 'Claim At', + value: 'https://theprimes.io/burn2earn', + }, + ], + token_account_address: null, + creators: [ + { + address: 'pxmVowVaqXn23krwFxjzKC6UW4YjbYEQUqYC6q1Ta57', + share: 100, + verified: 0, + }, + ], + collection_name: 'Primes Airdrop Boxes', + collection_symbol: 'primes_airdrop_boxes', + collection_count: 69425, + collection_image_url: null, + onchain_collection_address: null, + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '7GEi7ytc31LPcyPtBd9WCdPm4P71W9iV2sUSJHW7BuN2', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '7GEi7ytc31LPcyPtBd9WCdPm4P71W9iV2sUSJHW7BuN2', + token_id: null, + token_standard: 'NFT', + name: 'Primes Airdrop Box', + description: + 'The Primes Airdrop Boxes is your chance on getting the $PRM Token before everyone else. Boxes can now be burnt on The Primes official website.', + metadata: null, + image_url: + 'https://shdw-drive.genesysgo.net/2MYtdX5Bwz68aVny1cHqRyujAJkNEzknQyF1SNav8dTh/1.png', + media_url: null, + external_url: 'https://theprimes.io', + attributes: [ + { + key: 'Revealed', + value: 'Pending', + }, + { + key: 'Claim At', + value: 'https://theprimes.io/burn2earn', + }, + ], + token_account_address: null, + creators: [ + { + address: 'pxmVowVaqXn23krwFxjzKC6UW4YjbYEQUqYC6q1Ta57', + share: 100, + verified: 0, + }, + ], + collection_name: 'Primes Airdrop Boxes', + collection_symbol: 'primes_airdrop_boxes', + collection_count: 69425, + collection_image_url: null, + onchain_collection_address: null, + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GgzC3fbvWsq83XLj1C7VK3q8Fy7HDbU15RuJCb4EfVMF', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GgzC3fbvWsq83XLj1C7VK3q8Fy7HDbU15RuJCb4EfVMF', + token_id: null, + token_standard: 'NFT', + name: 'Utamu Slate 65', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/1FsiYUkck9I058bkJtvgj93xFewLVJC6VhEqoMT7aQU', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '65', + }, + { + key: 'Smile', + value: '45', + }, + { + key: 'Hug', + value: '46', + }, + { + key: 'Laugh', + value: '72', + }, + { + key: 'Heart', + value: '85', + }, + { + key: 'Warm', + value: '69', + }, + { + key: 'Good', + value: '70', + }, + { + key: 'Thanks', + value: '64', + }, + { + key: 'Share', + value: '81', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '18', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'Gon7ttJSjAc9dkzayZzWwtsNKDf5mqz3gWYJs8VDDwHa', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'Gon7ttJSjAc9dkzayZzWwtsNKDf5mqz3gWYJs8VDDwHa', + token_id: null, + token_standard: 'NFT', + name: 'Rirewa Copper 33', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/GCJMQDpY6QE6ZkDGBiWQvojWdgHCG-vT-AzjBK06Qpg', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '33', + }, + { + key: 'Smile', + value: '50', + }, + { + key: 'Hug', + value: '29', + }, + { + key: 'Laugh', + value: '22', + }, + { + key: 'Heart', + value: '32', + }, + { + key: 'Warm', + value: '44', + }, + { + key: 'Good', + value: '42', + }, + { + key: 'Thanks', + value: '41', + }, + { + key: 'Share', + value: '32', + }, + { + key: 'Brave', + value: '36', + }, + { + key: 'Grow', + value: '2', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '77Q9CohBDAtcVViu8omnGPRuZ3NLEJmWTQSxS4NkNTb4', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '77Q9CohBDAtcVViu8omnGPRuZ3NLEJmWTQSxS4NkNTb4', + token_id: null, + token_standard: 'NFT', + name: 'Kukona Moss 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/CuBSyOFg1INUzBQYHXc2RJjeGnHq9-Z_y_aCRpPYBic', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Moss', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '41', + }, + { + key: 'Smile', + value: '43', + }, + { + key: 'Hug', + value: '25', + }, + { + key: 'Laugh', + value: '29', + }, + { + key: 'Heart', + value: '43', + }, + { + key: 'Warm', + value: '22', + }, + { + key: 'Good', + value: '59', + }, + { + key: 'Thanks', + value: '58', + }, + { + key: 'Share', + value: '52', + }, + { + key: 'Brave', + value: '4', + }, + { + key: 'Grow', + value: '75', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BEuGqAUFfxUokCpKWrt4vfWL9LVo2Eqrz5bHR2W7VVdY', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BEuGqAUFfxUokCpKWrt4vfWL9LVo2Eqrz5bHR2W7VVdY', + token_id: null, + token_standard: 'NFT', + name: 'Kukua Crimson 14', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/niam-C8liKefeRqrRvHLNT5ylrXGc6bMyvXndQ37LQM', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '14', + }, + { + key: 'Smile', + value: '17', + }, + { + key: 'Hug', + value: '21', + }, + { + key: 'Laugh', + value: '34', + }, + { + key: 'Heart', + value: '1', + }, + { + key: 'Warm', + value: '24', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '5', + }, + { + key: 'Share', + value: '12', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '24', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'UAdBHhEbn4e5EGu4JGi3jUocysjCTvfwafaLUPXjHEx', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'UAdBHhEbn4e5EGu4JGi3jUocysjCTvfwafaLUPXjHEx', + token_id: null, + token_standard: 'NFT', + name: 'Worika Atlantis 87', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Z-bNgDExYdMNG2RJhxe-eCEt1DCcZ3lV5Q723fiLfpE', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Violet Gold Blaze', + }, + { + key: 'Background', + value: 'Atlantis', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '87', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '87', + }, + { + key: 'Laugh', + value: '90', + }, + { + key: 'Heart', + value: '94', + }, + { + key: 'Warm', + value: '90', + }, + { + key: 'Good', + value: '77', + }, + { + key: 'Thanks', + value: '83', + }, + { + key: 'Share', + value: '95', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '65', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '97vAn6ZDWZyDzaa2ewvrNzeebr349DbufMHmboQiKpoQ', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '97vAn6ZDWZyDzaa2ewvrNzeebr349DbufMHmboQiKpoQ', + token_id: null, + token_standard: 'NFT', + name: 'Fumemi Umber 53', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/9PppdeVSQVwDnI35yOfSdFB0Np-d98HPGntDiigzG0g', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '53', + }, + { + key: 'Smile', + value: '53', + }, + { + key: 'Hug', + value: '38', + }, + { + key: 'Laugh', + value: '68', + }, + { + key: 'Heart', + value: '53', + }, + { + key: 'Warm', + value: '56', + }, + { + key: 'Good', + value: '63', + }, + { + key: 'Thanks', + value: '41', + }, + { + key: 'Share', + value: '68', + }, + { + key: 'Brave', + value: '81', + }, + { + key: 'Grow', + value: '9', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'AN9wcB4HifAz8Tze6ttKDroLtPEPfnQVhxebh5wcqV1X', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'AN9wcB4HifAz8Tze6ttKDroLtPEPfnQVhxebh5wcqV1X', + token_id: null, + token_standard: 'NFT', + name: 'Waware Copper 75', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreifrxhngg6slpjuvprxtsgtxfjsmeiimraplsihp47r5zaq4ucmpyu', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '75', + }, + { + key: 'Smile', + value: '82', + }, + { + key: 'Hug', + value: '74', + }, + { + key: 'Laugh', + value: '82', + }, + { + key: 'Heart', + value: '84', + }, + { + key: 'Warm', + value: '77', + }, + { + key: 'Good', + value: '80', + }, + { + key: 'Thanks', + value: '77', + }, + { + key: 'Share', + value: '73', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '21', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'EBjLNh3EUycToAex1da7FVEWyXbpHk9GdQPEJvZqoFhY', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'EBjLNh3EUycToAex1da7FVEWyXbpHk9GdQPEJvZqoFhY', + token_id: null, + token_standard: 'NFT', + name: 'Rikime Blush 50', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/HOhNC_W705buA9TDbiEcEhLTmihNRZALn-BBGcyBhbo', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '50', + }, + { + key: 'Smile', + value: '59', + }, + { + key: 'Hug', + value: '43', + }, + { + key: 'Laugh', + value: '54', + }, + { + key: 'Heart', + value: '39', + }, + { + key: 'Warm', + value: '54', + }, + { + key: 'Good', + value: '57', + }, + { + key: 'Thanks', + value: '47', + }, + { + key: 'Share', + value: '63', + }, + { + key: 'Brave', + value: '30', + }, + { + key: 'Grow', + value: '54', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'DGQwzn1DNzyTKYZW6c7PSshGfi8BeU5YhkYtoea7xYuz', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'DGQwzn1DNzyTKYZW6c7PSshGfi8BeU5YhkYtoea7xYuz', + token_id: null, + token_standard: 'NFT', + name: 'Kemata Azure 46', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/ZDe1CpPqRMw1lWCbabiMCicDDgCLlRh3sN3-Um4lX8U', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '46', + }, + { + key: 'Smile', + value: '51', + }, + { + key: 'Hug', + value: '26', + }, + { + key: 'Laugh', + value: '49', + }, + { + key: 'Heart', + value: '43', + }, + { + key: 'Warm', + value: '38', + }, + { + key: 'Good', + value: '46', + }, + { + key: 'Thanks', + value: '64', + }, + { + key: 'Share', + value: '34', + }, + { + key: 'Brave', + value: '41', + }, + { + key: 'Grow', + value: '68', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '9NP82fWe2gw7F1wNeFWp8Ytcz3x5H8FH5w2CJr9evk3T', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '9NP82fWe2gw7F1wNeFWp8Ytcz3x5H8FH5w2CJr9evk3T', + token_id: null, + token_standard: 'NFT', + name: 'Sakotsu Umber 32', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/s9SCmcGZl4sDejvngTKsXI3Bp5o-3_EfVXh5vQfy0kI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '32', + }, + { + key: 'Smile', + value: '15', + }, + { + key: 'Hug', + value: '32', + }, + { + key: 'Laugh', + value: '29', + }, + { + key: 'Heart', + value: '25', + }, + { + key: 'Warm', + value: '22', + }, + { + key: 'Good', + value: '25', + }, + { + key: 'Thanks', + value: '36', + }, + { + key: 'Share', + value: '31', + }, + { + key: 'Brave', + value: '7', + }, + { + key: 'Grow', + value: '98', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GjMQxQYGgB4dmPUyox6Y8gPscc4xcPR1nCfBRbXxKfv3', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GjMQxQYGgB4dmPUyox6Y8gPscc4xcPR1nCfBRbXxKfv3', + token_id: null, + token_standard: 'NFT', + name: 'Rikike Blush 33', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/jx68DdlTNH-oA9NJndW0uo7y3ntTKklR094oAGF_-x4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '33', + }, + { + key: 'Smile', + value: '26', + }, + { + key: 'Hug', + value: '39', + }, + { + key: 'Laugh', + value: '43', + }, + { + key: 'Heart', + value: '23', + }, + { + key: 'Warm', + value: '28', + }, + { + key: 'Good', + value: '45', + }, + { + key: 'Thanks', + value: '39', + }, + { + key: 'Share', + value: '26', + }, + { + key: 'Brave', + value: '37', + }, + { + key: 'Grow', + value: '24', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BMhpzoc1oZbqoxiifrr8pyCVDW1G1pFa4YrrqnZ1Q5By', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BMhpzoc1oZbqoxiifrr8pyCVDW1G1pFa4YrrqnZ1Q5By', + token_id: null, + token_standard: 'NFT', + name: 'Norae Slate 49', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/tjDj3ySxgnjLHUF6PkL_I2_x_D7-O0Rvq2jMoMf-XDY', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '49', + }, + { + key: 'Smile', + value: '43', + }, + { + key: 'Hug', + value: '60', + }, + { + key: 'Laugh', + value: '64', + }, + { + key: 'Heart', + value: '54', + }, + { + key: 'Warm', + value: '45', + }, + { + key: 'Good', + value: '38', + }, + { + key: 'Thanks', + value: '31', + }, + { + key: 'Share', + value: '38', + }, + { + key: 'Brave', + value: '51', + }, + { + key: 'Grow', + value: '66', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'DUar8NL7do1KHdu3a8S5gr9W3rcQ8uRJ7D8oxbMagGZH', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'DUar8NL7do1KHdu3a8S5gr9W3rcQ8uRJ7D8oxbMagGZH', + token_id: null, + token_standard: 'NFT', + name: 'Remima Steel 36', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/JjCXf-xvfAr7x69zh99VkIf97bCT6UCg7BV3zHX8Fdk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Steel', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '36', + }, + { + key: 'Smile', + value: '38', + }, + { + key: 'Hug', + value: '36', + }, + { + key: 'Laugh', + value: '17', + }, + { + key: 'Heart', + value: '34', + }, + { + key: 'Warm', + value: '47', + }, + { + key: 'Good', + value: '41', + }, + { + key: 'Thanks', + value: '54', + }, + { + key: 'Share', + value: '22', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '70', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'CS1EPRuna4uFjMyx8SsTQbSizK1bYNdafjS81sqt78Yb', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'CS1EPRuna4uFjMyx8SsTQbSizK1bYNdafjS81sqt78Yb', + token_id: null, + token_standard: 'NFT', + name: 'Nifue Blush 49', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/dCq8MRBzYrT6btmMuB8REAEofLbjsTZmAim2rwCVmVs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '49', + }, + { + key: 'Smile', + value: '41', + }, + { + key: 'Hug', + value: '39', + }, + { + key: 'Laugh', + value: '32', + }, + { + key: 'Heart', + value: '32', + }, + { + key: 'Warm', + value: '56', + }, + { + key: 'Good', + value: '55', + }, + { + key: 'Thanks', + value: '53', + }, + { + key: 'Share', + value: '50', + }, + { + key: 'Brave', + value: '42', + }, + { + key: 'Grow', + value: '90', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GBhfyvjTDLVxbUrgiFw9vmTx2YAomQKM7DchPAfXkykM', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GBhfyvjTDLVxbUrgiFw9vmTx2YAomQKM7DchPAfXkykM', + token_id: null, + token_standard: 'NFT', + name: 'Kohatsu Azure 9', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/G-FAkEF-lbMVz0hGH0Y-s-J_shnUwoP56qJ3qSCoz-Y', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Rose', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '9', + }, + { + key: 'Smile', + value: '7', + }, + { + key: 'Hug', + value: '1', + }, + { + key: 'Laugh', + value: '10', + }, + { + key: 'Heart', + value: '4', + }, + { + key: 'Warm', + value: '10', + }, + { + key: 'Good', + value: '7', + }, + { + key: 'Thanks', + value: '7', + }, + { + key: 'Share', + value: '15', + }, + { + key: 'Brave', + value: '7', + }, + { + key: 'Grow', + value: '22', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '51qZDbaqtLrMpWuKsEDr2LxmWmvoXqWQKasG2U5JEgJ', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '51qZDbaqtLrMpWuKsEDr2LxmWmvoXqWQKasG2U5JEgJ', + token_id: null, + token_standard: 'NFT', + name: 'Hohana Black 99', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/0R7VcDSywaw2E0EmRvnQUFMYX3jyVcRkR3bJudpFqVU', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Black', + }, + { + key: 'Rarity', + value: 'Legendary', + }, + { + key: 'Rating', + value: '99', + }, + { + key: 'Smile', + value: '100', + }, + { + key: 'Hug', + value: '95', + }, + { + key: 'Laugh', + value: '94', + }, + { + key: 'Heart', + value: '98', + }, + { + key: 'Warm', + value: '91', + }, + { + key: 'Good', + value: '95', + }, + { + key: 'Thanks', + value: '96', + }, + { + key: 'Share', + value: '91', + }, + { + key: 'Brave', + value: '94', + }, + { + key: 'Grow', + value: '91', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'H91LyFi3XKxMKbks6NgMAHv6kgFo2ZmJVM7QCqa5ibAz', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'H91LyFi3XKxMKbks6NgMAHv6kgFo2ZmJVM7QCqa5ibAz', + token_id: null, + token_standard: 'NFT', + name: 'Hokita Copper 8', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/nCiXVEca5CACx5AUbEgBXZuV0tmCDwMesXDHlMPNabs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '8', + }, + { + key: 'Smile', + value: '1', + }, + { + key: 'Hug', + value: '1', + }, + { + key: 'Laugh', + value: '14', + }, + { + key: 'Heart', + value: '8', + }, + { + key: 'Warm', + value: '1', + }, + { + key: 'Good', + value: '10', + }, + { + key: 'Thanks', + value: '1', + }, + { + key: 'Share', + value: '9', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '34', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2EnwiirRkhuiqru8s8si6gB2TPuc6BiUSQR7mAjFmGbi', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2EnwiirRkhuiqru8s8si6gB2TPuc6BiUSQR7mAjFmGbi', + token_id: null, + token_standard: 'NFT', + name: 'Nakiu Black 100', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/e0KFwCk42RjRVYDGHTzmER9DBp3k6tDJjxGvpDHf6Ys', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Black', + }, + { + key: 'Rarity', + value: 'Legendary', + }, + { + key: 'Rating', + value: '100', + }, + { + key: 'Smile', + value: '100', + }, + { + key: 'Hug', + value: '98', + }, + { + key: 'Laugh', + value: '95', + }, + { + key: 'Heart', + value: '92', + }, + { + key: 'Warm', + value: '91', + }, + { + key: 'Good', + value: '95', + }, + { + key: 'Thanks', + value: '99', + }, + { + key: 'Share', + value: '90', + }, + { + key: 'Brave', + value: '99', + }, + { + key: 'Grow', + value: '94', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '3trwQkC9AnrsRwMJTXCj9TaaCYnULzbwjdnVu1M3Tg8n', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '3trwQkC9AnrsRwMJTXCj9TaaCYnULzbwjdnVu1M3Tg8n', + token_id: null, + token_standard: 'NFT', + name: 'Morate Slate 23', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/FzUJDcW2a37XolloFxvLJE-e4S60Mg_X-cT3-UPHPWk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '23', + }, + { + key: 'Smile', + value: '38', + }, + { + key: 'Hug', + value: '22', + }, + { + key: 'Laugh', + value: '4', + }, + { + key: 'Heart', + value: '16', + }, + { + key: 'Warm', + value: '15', + }, + { + key: 'Good', + value: '16', + }, + { + key: 'Thanks', + value: '19', + }, + { + key: 'Share', + value: '33', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '66', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BgXSiLx46j66K3dPKrkEzqpNah6yPLVCdMaUNexJkBuR', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BgXSiLx46j66K3dPKrkEzqpNah6yPLVCdMaUNexJkBuR', + token_id: null, + token_standard: 'NFT', + name: 'Kanari Umber 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/us3c52RJ0zE1APAZ-Ru7ZwC22xWIQblnkecg1JAhUsk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '30', + }, + { + key: 'Smile', + value: '45', + }, + { + key: 'Hug', + value: '39', + }, + { + key: 'Laugh', + value: '16', + }, + { + key: 'Heart', + value: '35', + }, + { + key: 'Warm', + value: '18', + }, + { + key: 'Good', + value: '22', + }, + { + key: 'Thanks', + value: '28', + }, + { + key: 'Share', + value: '11', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '85', + }, + ], + token_account_address: null, + creators: [ + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'DLAadn6cwU3zEWfdT8ysG9aYZX3dREcD4Zq7tu7oaWaY', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'DLAadn6cwU3zEWfdT8ysG9aYZX3dREcD4Zq7tu7oaWaY', + token_id: null, + token_standard: 'NFT', + name: 'Rusese Azure 78', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/cA09R_D2QlZqwM47bb7hj0JqO7RJ3vfY2pfEbOFn0nk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '78', + }, + { + key: 'Smile', + value: '84', + }, + { + key: 'Hug', + value: '81', + }, + { + key: 'Laugh', + value: '73', + }, + { + key: 'Heart', + value: '79', + }, + { + key: 'Warm', + value: '88', + }, + { + key: 'Good', + value: '72', + }, + { + key: 'Thanks', + value: '88', + }, + { + key: 'Share', + value: '68', + }, + { + key: 'Brave', + value: '94', + }, + { + key: 'Grow', + value: '53', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'rfsqYespebrV4LHpc9bBrjVizZdtsFLMn3u8BrH8WA2', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'rfsqYespebrV4LHpc9bBrjVizZdtsFLMn3u8BrH8WA2', + token_id: null, + token_standard: 'NFT', + name: 'Suresa Umber 24', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreigohb7vkelgqdvuozf77tsbfzgyoreb7kfdgzwpxspp5npqbgwlwq', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Coral', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '24', + }, + { + key: 'Smile', + value: '32', + }, + { + key: 'Hug', + value: '21', + }, + { + key: 'Laugh', + value: '13', + }, + { + key: 'Heart', + value: '20', + }, + { + key: 'Warm', + value: '40', + }, + { + key: 'Good', + value: '23', + }, + { + key: 'Thanks', + value: '7', + }, + { + key: 'Share', + value: '18', + }, + { + key: 'Brave', + value: '38', + }, + { + key: 'Grow', + value: '28', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4c8w7UELpYiLSebt9LBDHwqo1sSms6AHQPhLaGchDmXK', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4c8w7UELpYiLSebt9LBDHwqo1sSms6AHQPhLaGchDmXK', + token_id: null, + token_standard: 'NFT', + name: 'Korihi Umber 77', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/pamBCJnH9I7UEiCZLTE5991Y3OGlDWi9hs-8LcdY9Ew', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '77', + }, + { + key: 'Smile', + value: '85', + }, + { + key: 'Hug', + value: '85', + }, + { + key: 'Laugh', + value: '74', + }, + { + key: 'Heart', + value: '75', + }, + { + key: 'Warm', + value: '77', + }, + { + key: 'Good', + value: '71', + }, + { + key: 'Thanks', + value: '76', + }, + { + key: 'Share', + value: '68', + }, + { + key: 'Brave', + value: '69', + }, + { + key: 'Grow', + value: '90', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'ATD2ZB348yVE3TmLdpTCG5RCNWVDv6fvVxbbUWZ4bMuD', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'ATD2ZB348yVE3TmLdpTCG5RCNWVDv6fvVxbbUWZ4bMuD', + token_id: null, + token_standard: 'NFT', + name: 'Niroro Blush 78', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/mF-GKGokpgVTeRbx4l-GrPnZNynOaNK5D7euuclgiTI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Violet', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '78', + }, + { + key: 'Smile', + value: '88', + }, + { + key: 'Hug', + value: '68', + }, + { + key: 'Laugh', + value: '68', + }, + { + key: 'Heart', + value: '87', + }, + { + key: 'Warm', + value: '88', + }, + { + key: 'Good', + value: '68', + }, + { + key: 'Thanks', + value: '81', + }, + { + key: 'Share', + value: '79', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '53', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5NER4zk67boQSyBRpXkctXx9spWdCWghjvLKAJRUqMqh', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5NER4zk67boQSyBRpXkctXx9spWdCWghjvLKAJRUqMqh', + token_id: null, + token_standard: 'NFT', + name: 'Yoohe Steel 23', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/5FywtmfMyZpuEkiOuMznAkbonLXVEp7CVd07or738XI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Steel', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '23', + }, + { + key: 'Smile', + value: '30', + }, + { + key: 'Hug', + value: '41', + }, + { + key: 'Laugh', + value: '8', + }, + { + key: 'Heart', + value: '4', + }, + { + key: 'Warm', + value: '30', + }, + { + key: 'Good', + value: '5', + }, + { + key: 'Thanks', + value: '7', + }, + { + key: 'Share', + value: '27', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '77', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '77NqHK3N4iMb5h3WdJ97m9ZwvTo2E5kGii3vJ4CgMcjV', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '77NqHK3N4iMb5h3WdJ97m9ZwvTo2E5kGii3vJ4CgMcjV', + token_id: null, + token_standard: 'NFT', + name: 'Yusuno Slate 27', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/yLEJcqvDJY-qpltJo1fMlxMJ87S3qMLtFN1pFvgXQSQ', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '27', + }, + { + key: 'Smile', + value: '8', + }, + { + key: 'Hug', + value: '21', + }, + { + key: 'Laugh', + value: '20', + }, + { + key: 'Heart', + value: '37', + }, + { + key: 'Warm', + value: '29', + }, + { + key: 'Good', + value: '10', + }, + { + key: 'Thanks', + value: '39', + }, + { + key: 'Share', + value: '38', + }, + { + key: 'Brave', + value: '7', + }, + { + key: 'Grow', + value: '61', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '47v8QuQVbi1vMpQPD1omtD576azLVLnZRDKnbMRE4UVc', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '47v8QuQVbi1vMpQPD1omtD576azLVLnZRDKnbMRE4UVc', + token_id: null, + token_standard: 'NFT', + name: 'Nuwase Lilac 75', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreieibgslgahlx7msh7nygks3b5ootzbaz7tgeduss5nogylcgxhufu', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Lilac', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '75', + }, + { + key: 'Smile', + value: '71', + }, + { + key: 'Hug', + value: '83', + }, + { + key: 'Laugh', + value: '66', + }, + { + key: 'Heart', + value: '80', + }, + { + key: 'Warm', + value: '72', + }, + { + key: 'Good', + value: '77', + }, + { + key: 'Thanks', + value: '69', + }, + { + key: 'Share', + value: '72', + }, + { + key: 'Brave', + value: '62', + }, + { + key: 'Grow', + value: '98', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4hnxWEfvWRPDECXivcd4KQ8b72f7EpTLW3ahLfTsE1SK', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4hnxWEfvWRPDECXivcd4KQ8b72f7EpTLW3ahLfTsE1SK', + token_id: null, + token_standard: 'NFT', + name: 'Suniku Volcano 91', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/68sOcz3f7BeI0TwlYi3akg2lvOJKmICZeviz9Mg0IOA', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold Blaze Rose', + }, + { + key: 'Background', + value: 'Volcano', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '91', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '88', + }, + { + key: 'Laugh', + value: '100', + }, + { + key: 'Heart', + value: '91', + }, + { + key: 'Warm', + value: '98', + }, + { + key: 'Good', + value: '82', + }, + { + key: 'Thanks', + value: '94', + }, + { + key: 'Share', + value: '85', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '83', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '6xc3gCdFiXjaThH9VPeLE4THp7spDvrbuQJSjdNAq8ZC', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '6xc3gCdFiXjaThH9VPeLE4THp7spDvrbuQJSjdNAq8ZC', + token_id: null, + token_standard: 'NFT', + name: 'Nimira Azure 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/aHXL3LNLt5yVs4YlNQf85g7Ze4pSRusQ2tvjV29bWC0', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '41', + }, + { + key: 'Smile', + value: '51', + }, + { + key: 'Hug', + value: '56', + }, + { + key: 'Laugh', + value: '46', + }, + { + key: 'Heart', + value: '38', + }, + { + key: 'Warm', + value: '34', + }, + { + key: 'Good', + value: '54', + }, + { + key: 'Thanks', + value: '42', + }, + { + key: 'Share', + value: '55', + }, + { + key: 'Brave', + value: '29', + }, + { + key: 'Grow', + value: '5', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'AoWSoRA7fKd1siZzzJyDwP1wmGrgTy4XaxPStPzRSCqC', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'AoWSoRA7fKd1siZzzJyDwP1wmGrgTy4XaxPStPzRSCqC', + token_id: null, + token_standard: 'NFT', + name: 'Nofun Slate 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/P6RJ6EoXbebO-gWjTo-P1cZr85Qh1UyWSuDN2F7-BXs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Rose', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '30', + }, + { + key: 'Smile', + value: '19', + }, + { + key: 'Hug', + value: '32', + }, + { + key: 'Laugh', + value: '31', + }, + { + key: 'Heart', + value: '38', + }, + { + key: 'Warm', + value: '48', + }, + { + key: 'Good', + value: '14', + }, + { + key: 'Thanks', + value: '16', + }, + { + key: 'Share', + value: '35', + }, + { + key: 'Brave', + value: '24', + }, + { + key: 'Grow', + value: '43', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '8D2Yut6B6vNvGa3JmwTf8mBPjUbaP2VDRtBdjFoyTiMx', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '8D2Yut6B6vNvGa3JmwTf8mBPjUbaP2VDRtBdjFoyTiMx', + token_id: null, + token_standard: 'NFT', + name: 'Tokau Nostalgia 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/VsUufMJMwyTjaoaExI87RlgNWRmYrVKTmsQVI88__qQ', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe Mint Gold', + }, + { + key: 'Background', + value: 'Nostalgia', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '86', + }, + { + key: 'Smile', + value: '86', + }, + { + key: 'Hug', + value: '88', + }, + { + key: 'Laugh', + value: '93', + }, + { + key: 'Heart', + value: '93', + }, + { + key: 'Warm', + value: '79', + }, + { + key: 'Good', + value: '80', + }, + { + key: 'Thanks', + value: '92', + }, + { + key: 'Share', + value: '96', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '53', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '91xa3Mo4mkMV7ER6eWX7h4GH9xbBpTgVgyt36Ncqfq18', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '91xa3Mo4mkMV7ER6eWX7h4GH9xbBpTgVgyt36Ncqfq18', + token_id: null, + token_standard: 'NFT', + name: 'Mesoru Lilac 81', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/t-vYtwb7BFjG0w3AvpQvwunUa4mq8PHH60c0yhiKDFU', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Lilac', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '81', + }, + { + key: 'Smile', + value: '72', + }, + { + key: 'Hug', + value: '81', + }, + { + key: 'Laugh', + value: '90', + }, + { + key: 'Heart', + value: '74', + }, + { + key: 'Warm', + value: '85', + }, + { + key: 'Good', + value: '83', + }, + { + key: 'Thanks', + value: '90', + }, + { + key: 'Share', + value: '76', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '59', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '3Z8mMqu7zGpjuU6FbA5CfitNCXr7eSc3RfTswh1AcC6t', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '3Z8mMqu7zGpjuU6FbA5CfitNCXr7eSc3RfTswh1AcC6t', + token_id: null, + token_standard: 'NFT', + name: 'Nihaho Red 98', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/EjQtl3DxC4wSRkhPpeoq2TkPGnNfUI9CVwuaWtigP-8', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Red', + }, + { + key: 'Rarity', + value: 'Legendary', + }, + { + key: 'Rating', + value: '98', + }, + { + key: 'Smile', + value: '93', + }, + { + key: 'Hug', + value: '95', + }, + { + key: 'Laugh', + value: '94', + }, + { + key: 'Heart', + value: '94', + }, + { + key: 'Warm', + value: '98', + }, + { + key: 'Good', + value: '91', + }, + { + key: 'Thanks', + value: '95', + }, + { + key: 'Share', + value: '91', + }, + { + key: 'Brave', + value: '96', + }, + { + key: 'Grow', + value: '97', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4KBDR1fKyzDAjWxdN9RtGqDrFA3w7jDHXtQ3midGXDiK', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4KBDR1fKyzDAjWxdN9RtGqDrFA3w7jDHXtQ3midGXDiK', + token_id: null, + token_standard: 'NFT', + name: 'Kusete Nostalgia 88', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/r70dK6iosoPJ-e80ao_PzTC9hamuqjZtVTifyax5H5A', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime Rose Mint', + }, + { + key: 'Background', + value: 'Nostalgia', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '88', + }, + { + key: 'Smile', + value: '92', + }, + { + key: 'Hug', + value: '93', + }, + { + key: 'Laugh', + value: '94', + }, + { + key: 'Heart', + value: '81', + }, + { + key: 'Warm', + value: '84', + }, + { + key: 'Good', + value: '81', + }, + { + key: 'Thanks', + value: '93', + }, + { + key: 'Share', + value: '87', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '75', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5yWqBNq7xBYdU3xvWuBgv5zznyY1KQuybo1X6Rn3Y5ti', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5yWqBNq7xBYdU3xvWuBgv5zznyY1KQuybo1X6Rn3Y5ti', + token_id: null, + token_standard: 'NFT', + name: 'Maumi Copper 50', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Ac24TFEtdJlP8rLmwT89IP8xxFpDg_h44WtyxEla7ZQ', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '50', + }, + { + key: 'Smile', + value: '38', + }, + { + key: 'Hug', + value: '52', + }, + { + key: 'Laugh', + value: '48', + }, + { + key: 'Heart', + value: '30', + }, + { + key: 'Warm', + value: '58', + }, + { + key: 'Good', + value: '34', + }, + { + key: 'Thanks', + value: '67', + }, + { + key: 'Share', + value: '33', + }, + { + key: 'Brave', + value: '47', + }, + { + key: 'Grow', + value: '93', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '8Ruk1TR2pm8e6T2bMZjBqL5aFwq9BPwe9J65rzHMAcek', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '8Ruk1TR2pm8e6T2bMZjBqL5aFwq9BPwe9J65rzHMAcek', + token_id: null, + token_standard: 'NFT', + name: 'Uahi Steel 35', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreiags6ha7fxshutnsfmarer6xknuri2hio7ne7lz4c5eubtkpco6mm', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Rose', + }, + { + key: 'Background', + value: 'Steel', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '35', + }, + { + key: 'Smile', + value: '31', + }, + { + key: 'Hug', + value: '45', + }, + { + key: 'Laugh', + value: '16', + }, + { + key: 'Heart', + value: '29', + }, + { + key: 'Warm', + value: '53', + }, + { + key: 'Good', + value: '34', + }, + { + key: 'Thanks', + value: '48', + }, + { + key: 'Share', + value: '48', + }, + { + key: 'Brave', + value: '38', + }, + { + key: 'Grow', + value: '8', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'E1cBh6oyu8aMcsFGHqkXUYxamhCV1LTnRGCEUXcmpwf9', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'E1cBh6oyu8aMcsFGHqkXUYxamhCV1LTnRGCEUXcmpwf9', + token_id: null, + token_standard: 'NFT', + name: 'Himefu Moss 63', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/3eoPW3uLLh7n0zMPSAq_w1jV8qPaNnTU965QxkeCgI4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Moss', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '63', + }, + { + key: 'Smile', + value: '50', + }, + { + key: 'Hug', + value: '73', + }, + { + key: 'Laugh', + value: '70', + }, + { + key: 'Heart', + value: '76', + }, + { + key: 'Warm', + value: '72', + }, + { + key: 'Good', + value: '55', + }, + { + key: 'Thanks', + value: '73', + }, + { + key: 'Share', + value: '63', + }, + { + key: 'Brave', + value: '60', + }, + { + key: 'Grow', + value: '38', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '76unMz9mTcRmwxBdu5heBwgbwzSPRYZK9yYiTW4KEMi2', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '76unMz9mTcRmwxBdu5heBwgbwzSPRYZK9yYiTW4KEMi2', + token_id: null, + token_standard: 'NFT', + name: 'Hetoo Copper 43', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/HX2sDwqB7oXie9Rw2WEPjJmVV1Opi9cG_BwEHopeJRw', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '43', + }, + { + key: 'Smile', + value: '63', + }, + { + key: 'Hug', + value: '53', + }, + { + key: 'Laugh', + value: '44', + }, + { + key: 'Heart', + value: '25', + }, + { + key: 'Warm', + value: '55', + }, + { + key: 'Good', + value: '29', + }, + { + key: 'Thanks', + value: '61', + }, + { + key: 'Share', + value: '35', + }, + { + key: 'Brave', + value: '44', + }, + { + key: 'Grow', + value: '21', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'FDjX1GKUaBDkETH34Be3qZ5PxUMNDR3hoSjaaYAmrBwG', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'FDjX1GKUaBDkETH34Be3qZ5PxUMNDR3hoSjaaYAmrBwG', + token_id: null, + token_standard: 'NFT', + name: 'Nekuse Volcano 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/jL22y8u0_f3KLmhYB_JJ9QXGBXuLAoTPe6UtwkwJM-4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime Rose Gold', + }, + { + key: 'Background', + value: 'Volcano', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '89', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '85', + }, + { + key: 'Laugh', + value: '88', + }, + { + key: 'Heart', + value: '88', + }, + { + key: 'Warm', + value: '84', + }, + { + key: 'Good', + value: '86', + }, + { + key: 'Thanks', + value: '92', + }, + { + key: 'Share', + value: '97', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '81', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'B9FQr2NUb9Z9eTRzH8DYBhd5z9pRwfYVEwazzVQn8gF4', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'B9FQr2NUb9Z9eTRzH8DYBhd5z9pRwfYVEwazzVQn8gF4', + token_id: null, + token_standard: 'NFT', + name: 'Seashi Blush 62', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/vkW26LNNfKknVM7uoDY8EssRpJ-xAyeR7DIe2accOwI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '62', + }, + { + key: 'Smile', + value: '54', + }, + { + key: 'Hug', + value: '46', + }, + { + key: 'Laugh', + value: '81', + }, + { + key: 'Heart', + value: '57', + }, + { + key: 'Warm', + value: '44', + }, + { + key: 'Good', + value: '80', + }, + { + key: 'Thanks', + value: '71', + }, + { + key: 'Share', + value: '70', + }, + { + key: 'Brave', + value: '21', + }, + { + key: 'Grow', + value: '96', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'Goia9fJhcQwjixixzDA97TJ5QkiCCarE7HgRaQyzEFFN', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'Goia9fJhcQwjixixzDA97TJ5QkiCCarE7HgRaQyzEFFN', + token_id: null, + token_standard: 'NFT', + name: 'Hewasu Copper 12', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/SIuKlVtnFNrbLynJefY4COWrKIk6YXF1omAdRRiDXh8', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '12', + }, + { + key: 'Smile', + value: '24', + }, + { + key: 'Hug', + value: '1', + }, + { + key: 'Laugh', + value: '2', + }, + { + key: 'Heart', + value: '24', + }, + { + key: 'Warm', + value: '15', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '30', + }, + { + key: 'Share', + value: '16', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '6', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'HGaT3H4fGaDrj9YBzSALqqBDPTGuRmfsXT6RXSLTnMNX', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'HGaT3H4fGaDrj9YBzSALqqBDPTGuRmfsXT6RXSLTnMNX', + token_id: null, + token_standard: 'NFT', + name: 'Ioyu Steel 64', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/k1AHX_ElRu4RkN_V_-eU_y8molElD1sqxB8mzeeI45E', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Steel', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '64', + }, + { + key: 'Smile', + value: '61', + }, + { + key: 'Hug', + value: '77', + }, + { + key: 'Laugh', + value: '63', + }, + { + key: 'Heart', + value: '61', + }, + { + key: 'Warm', + value: '52', + }, + { + key: 'Good', + value: '52', + }, + { + key: 'Thanks', + value: '52', + }, + { + key: 'Share', + value: '66', + }, + { + key: 'Brave', + value: '86', + }, + { + key: 'Grow', + value: '70', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'F2UFnyDs6ywQBtQfijF98quBzFzkjkzNr9z7eMpFnKQn', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'F2UFnyDs6ywQBtQfijF98quBzFzkjkzNr9z7eMpFnKQn', + token_id: null, + token_standard: 'NFT', + name: 'Sunoso Crimson 11', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreifr4pwqjuvx2mpj6rhvtdiglclm25gznjf7lpnz3ruyx77zycg2fa', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '11', + }, + { + key: 'Smile', + value: '1', + }, + { + key: 'Hug', + value: '11', + }, + { + key: 'Laugh', + value: '31', + }, + { + key: 'Heart', + value: '1', + }, + { + key: 'Warm', + value: '15', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '3', + }, + { + key: 'Share', + value: '8', + }, + { + key: 'Brave', + value: '23', + }, + { + key: 'Grow', + value: '16', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '6TXuzQWRK6nJkh93gpfk5dP57sKTd8rNZAMpP4ng3rHj', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '6TXuzQWRK6nJkh93gpfk5dP57sKTd8rNZAMpP4ng3rHj', + token_id: null, + token_standard: 'NFT', + name: 'Amuha Crimson 41', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/GLeaJtBoChF7YDTSTpHhBzM8TJDlDUop9teSfDMbd4k', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '41', + }, + { + key: 'Smile', + value: '48', + }, + { + key: 'Hug', + value: '43', + }, + { + key: 'Laugh', + value: '58', + }, + { + key: 'Heart', + value: '58', + }, + { + key: 'Warm', + value: '31', + }, + { + key: 'Good', + value: '48', + }, + { + key: 'Thanks', + value: '60', + }, + { + key: 'Share', + value: '45', + }, + { + key: 'Brave', + value: '12', + }, + { + key: 'Grow', + value: '7', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '6wbXdTidWfxjsDTrdXo9LyhWBLk4zPhi2pSsu93gj48U', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '6wbXdTidWfxjsDTrdXo9LyhWBLk4zPhi2pSsu93gj48U', + token_id: null, + token_standard: 'NFT', + name: 'Hakaya Stage 95', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Q-xsuhCPw5Js8UTDCYr7qu5jtSAL-Nwrf99N11hhPi4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Butter Taupe Rose', + }, + { + key: 'Background', + value: 'Stage', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '95', + }, + { + key: 'Smile', + value: '91', + }, + { + key: 'Hug', + value: '96', + }, + { + key: 'Laugh', + value: '93', + }, + { + key: 'Heart', + value: '93', + }, + { + key: 'Warm', + value: '95', + }, + { + key: 'Good', + value: '100', + }, + { + key: 'Thanks', + value: '94', + }, + { + key: 'Share', + value: '91', + }, + { + key: 'Brave', + value: '97', + }, + { + key: 'Grow', + value: '100', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'AnHfaZXNv1zztXkAsKqDyQew77TBaq8EkRcNPS8TjqYK', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'AnHfaZXNv1zztXkAsKqDyQew77TBaq8EkRcNPS8TjqYK', + token_id: null, + token_standard: 'NFT', + name: 'Shihitsu Azure 84', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/EJUSKNEz23WE_yqaq4NQ-5GQTjmShTic0DgeJ1mP8Tg', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '84', + }, + { + key: 'Smile', + value: '82', + }, + { + key: 'Hug', + value: '84', + }, + { + key: 'Laugh', + value: '79', + }, + { + key: 'Heart', + value: '74', + }, + { + key: 'Warm', + value: '77', + }, + { + key: 'Good', + value: '94', + }, + { + key: 'Thanks', + value: '78', + }, + { + key: 'Share', + value: '79', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '93', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GoLgRrRMrBwNSQuX9GMnw9LNZrnLc457TaE3kcvhSGdC', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GoLgRrRMrBwNSQuX9GMnw9LNZrnLc457TaE3kcvhSGdC', + token_id: null, + token_standard: 'NFT', + name: 'Otowa Moss 68', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/VwMEUAk6U4EaHEWZW22t6BtGrA-fChg90jljLgtcSvs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Moss', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '68', + }, + { + key: 'Smile', + value: '54', + }, + { + key: 'Hug', + value: '75', + }, + { + key: 'Laugh', + value: '63', + }, + { + key: 'Heart', + value: '88', + }, + { + key: 'Warm', + value: '87', + }, + { + key: 'Good', + value: '76', + }, + { + key: 'Thanks', + value: '49', + }, + { + key: 'Share', + value: '84', + }, + { + key: 'Brave', + value: '88', + }, + { + key: 'Grow', + value: '16', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '8xrLyqfaVsbCe3xSvrqJrLhAbLnGdtMAbVs2FP79ZtzU', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '8xrLyqfaVsbCe3xSvrqJrLhAbLnGdtMAbVs2FP79ZtzU', + token_id: null, + token_standard: 'NFT', + name: 'Keyaho Slate 27', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/gNH7x8H7pKpBemac6V_KXahmhwxGm5QBsTfjzWt4k9k', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '27', + }, + { + key: 'Smile', + value: '39', + }, + { + key: 'Hug', + value: '46', + }, + { + key: 'Laugh', + value: '14', + }, + { + key: 'Heart', + value: '15', + }, + { + key: 'Warm', + value: '19', + }, + { + key: 'Good', + value: '19', + }, + { + key: 'Thanks', + value: '47', + }, + { + key: 'Share', + value: '34', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '36', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'JAFFsHva4Uo7GCCKbWeLFZs2uJgvDtPzqvJ2jRktDzx6', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'JAFFsHva4Uo7GCCKbWeLFZs2uJgvDtPzqvJ2jRktDzx6', + token_id: null, + token_standard: 'NFT', + name: 'Watohi Atlantis 92', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/BZHCO7179d1OXzJm0d7JRYAjiHQoGVA1nOYFD0huRCg', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky Blaze Mint', + }, + { + key: 'Background', + value: 'Atlantis', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '92', + }, + { + key: 'Smile', + value: '100', + }, + { + key: 'Hug', + value: '86', + }, + { + key: 'Laugh', + value: '82', + }, + { + key: 'Heart', + value: '98', + }, + { + key: 'Warm', + value: '96', + }, + { + key: 'Good', + value: '89', + }, + { + key: 'Thanks', + value: '90', + }, + { + key: 'Share', + value: '99', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '80', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '9CX1KT8wi4rvPFCU8WL8X2U8P6sxGavyAh9wpBrpSXvn', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '9CX1KT8wi4rvPFCU8WL8X2U8P6sxGavyAh9wpBrpSXvn', + token_id: null, + token_standard: 'NFT', + name: 'Inui Black 99', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Q7RfboNqOGM44NwzrSgiPhbvCccHCLgttfmT5sk9PwA', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Black', + }, + { + key: 'Rarity', + value: 'Legendary', + }, + { + key: 'Rating', + value: '99', + }, + { + key: 'Smile', + value: '93', + }, + { + key: 'Hug', + value: '99', + }, + { + key: 'Laugh', + value: '91', + }, + { + key: 'Heart', + value: '97', + }, + { + key: 'Warm', + value: '95', + }, + { + key: 'Good', + value: '96', + }, + { + key: 'Thanks', + value: '97', + }, + { + key: 'Share', + value: '97', + }, + { + key: 'Brave', + value: '94', + }, + { + key: 'Grow', + value: '94', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'FzBbVaUcUd5tkJTBU1WDMZRafQcZA7ygFpSVoJuc4PLj', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'FzBbVaUcUd5tkJTBU1WDMZRafQcZA7ygFpSVoJuc4PLj', + token_id: null, + token_standard: 'NFT', + name: 'Renhi Copper 72', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/E5zaT2ZoI34q8VAzi5znRVWVFB7UZ_ShisuolmfAoaE', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '72', + }, + { + key: 'Smile', + value: '76', + }, + { + key: 'Hug', + value: '53', + }, + { + key: 'Laugh', + value: '57', + }, + { + key: 'Heart', + value: '85', + }, + { + key: 'Warm', + value: '87', + }, + { + key: 'Good', + value: '80', + }, + { + key: 'Thanks', + value: '58', + }, + { + key: 'Share', + value: '87', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '37', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '23vXxoc1EDL46NtBfdpZ7vPwTWN6eYTXgFAG9JN2jo1U', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '23vXxoc1EDL46NtBfdpZ7vPwTWN6eYTXgFAG9JN2jo1U', + token_id: null, + token_standard: 'NFT', + name: 'Muwani Maize 34', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreifmsz5mfrepbl37autwckjwzvehxdmnunrifm7l2xhaippfght2hy', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Rose', + }, + { + key: 'Background', + value: 'Maize', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '34', + }, + { + key: 'Smile', + value: '43', + }, + { + key: 'Hug', + value: '22', + }, + { + key: 'Laugh', + value: '24', + }, + { + key: 'Heart', + value: '35', + }, + { + key: 'Warm', + value: '26', + }, + { + key: 'Good', + value: '30', + }, + { + key: 'Thanks', + value: '46', + }, + { + key: 'Share', + value: '14', + }, + { + key: 'Brave', + value: '33', + }, + { + key: 'Grow', + value: '67', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '3LQXhQ7hCjyGt5BP2ugJLeJwc4wSY7BhL8kN43DenjBm', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '3LQXhQ7hCjyGt5BP2ugJLeJwc4wSY7BhL8kN43DenjBm', + token_id: null, + token_standard: 'NFT', + name: 'Moriro Maize 39', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreig2xneuwtbhrncsv7f5isltw2rzfdbny2wrv3zpq2ayur3ckhjwyi', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Violet', + }, + { + key: 'Background', + value: 'Maize', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '39', + }, + { + key: 'Smile', + value: '20', + }, + { + key: 'Hug', + value: '27', + }, + { + key: 'Laugh', + value: '59', + }, + { + key: 'Heart', + value: '59', + }, + { + key: 'Warm', + value: '25', + }, + { + key: 'Good', + value: '28', + }, + { + key: 'Thanks', + value: '34', + }, + { + key: 'Share', + value: '44', + }, + { + key: 'Brave', + value: '75', + }, + { + key: 'Grow', + value: '19', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'DvsAFqxLgQPv5U4A7WezLcAtPQG4dMQPw7N3fEkdzuc3', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'DvsAFqxLgQPv5U4A7WezLcAtPQG4dMQPw7N3fEkdzuc3', + token_id: null, + token_standard: 'NFT', + name: 'Kifuwa Copper 81', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/JfWa1IF1jcMwB6dSRcJOkQXyBGCGQr2uERMqt0c0SGo', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '81', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '83', + }, + { + key: 'Laugh', + value: '77', + }, + { + key: 'Heart', + value: '74', + }, + { + key: 'Warm', + value: '91', + }, + { + key: 'Good', + value: '79', + }, + { + key: 'Thanks', + value: '84', + }, + { + key: 'Share', + value: '79', + }, + { + key: 'Brave', + value: '98', + }, + { + key: 'Grow', + value: '56', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2V6tUoD1vJZXpNX6YC1j3gGRuUFANJDuaJAV3M7M7Qtm', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2V6tUoD1vJZXpNX6YC1j3gGRuUFANJDuaJAV3M7M7Qtm', + token_id: null, + token_standard: 'NFT', + name: 'Namiku Crimson 79', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/ybG1mkP9DIFRLEAaiu8RU6zYZa_0ADNocZAgDXwVTOo', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '79', + }, + { + key: 'Smile', + value: '86', + }, + { + key: 'Hug', + value: '77', + }, + { + key: 'Laugh', + value: '82', + }, + { + key: 'Heart', + value: '82', + }, + { + key: 'Warm', + value: '72', + }, + { + key: 'Good', + value: '82', + }, + { + key: 'Thanks', + value: '81', + }, + { + key: 'Share', + value: '88', + }, + { + key: 'Brave', + value: '80', + }, + { + key: 'Grow', + value: '60', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '66ePeHXTVWjdpHbf9RirdmpgUJHJ9HumiZeH6vTstpxj', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '66ePeHXTVWjdpHbf9RirdmpgUJHJ9HumiZeH6vTstpxj', + token_id: null, + token_standard: 'NFT', + name: 'Heriho Blush 59', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/7Lkid1s0zRIOk_qugby0w0-s5McUZktp6p0R678_qD4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '59', + }, + { + key: 'Smile', + value: '64', + }, + { + key: 'Hug', + value: '44', + }, + { + key: 'Laugh', + value: '73', + }, + { + key: 'Heart', + value: '47', + }, + { + key: 'Warm', + value: '46', + }, + { + key: 'Good', + value: '57', + }, + { + key: 'Thanks', + value: '73', + }, + { + key: 'Share', + value: '69', + }, + { + key: 'Brave', + value: '54', + }, + { + key: 'Grow', + value: '63', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '8XgHPUSoBsh2MMjthCko8Dp11mji7oGhZ7FbfZre7K2Y', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '8XgHPUSoBsh2MMjthCko8Dp11mji7oGhZ7FbfZre7K2Y', + token_id: null, + token_standard: 'NFT', + name: 'Emishi Cavern 93', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreif6p2wmov37vfmuynq6m2nibf36tf5c3wrg7o4jr7zmoq77oaue7a', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Butter Blaze Sky', + }, + { + key: 'Background', + value: 'Cavern', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '93', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '92', + }, + { + key: 'Laugh', + value: '100', + }, + { + key: 'Heart', + value: '83', + }, + { + key: 'Warm', + value: '100', + }, + { + key: 'Good', + value: '100', + }, + { + key: 'Thanks', + value: '95', + }, + { + key: 'Share', + value: '100', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '71', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'A5PYKSjz55k7C5pia6vpSFjZbD4Ea8ZV2KYCY6PMfpKE', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'A5PYKSjz55k7C5pia6vpSFjZbD4Ea8ZV2KYCY6PMfpKE', + token_id: null, + token_standard: 'NFT', + name: 'Tehise Umber 69', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/FaOcKsrOodVH8r2ys1GEvdlGKTAek2N13-Wi5MdrV28', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '69', + }, + { + key: 'Smile', + value: '80', + }, + { + key: 'Hug', + value: '82', + }, + { + key: 'Laugh', + value: '71', + }, + { + key: 'Heart', + value: '71', + }, + { + key: 'Warm', + value: '83', + }, + { + key: 'Good', + value: '68', + }, + { + key: 'Thanks', + value: '53', + }, + { + key: 'Share', + value: '80', + }, + { + key: 'Brave', + value: '63', + }, + { + key: 'Grow', + value: '39', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '7vYE2auoFeNZ4i3jZ1dJ17N3iJUd6tqSc8NT3mx2Jvk2', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '7vYE2auoFeNZ4i3jZ1dJ17N3iJUd6tqSc8NT3mx2Jvk2', + token_id: null, + token_standard: 'NFT', + name: 'Mokise Azure 72', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/k8TkNfVdxmTH1Gc3yYnRL8cLL3t1jUAU2Zp42UTuH7k', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Coral', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '72', + }, + { + key: 'Smile', + value: '90', + }, + { + key: 'Hug', + value: '88', + }, + { + key: 'Laugh', + value: '70', + }, + { + key: 'Heart', + value: '61', + }, + { + key: 'Warm', + value: '74', + }, + { + key: 'Good', + value: '89', + }, + { + key: 'Thanks', + value: '59', + }, + { + key: 'Share', + value: '57', + }, + { + key: 'Brave', + value: '92', + }, + { + key: 'Grow', + value: '40', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'sVew7tk6GGRcTXGvy5tmZnAHaF3HWgTSoNDuenTKKDS', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'sVew7tk6GGRcTXGvy5tmZnAHaF3HWgTSoNDuenTKKDS', + token_id: null, + token_standard: 'NFT', + name: 'Rehemu Umber 68', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/YiJbXaBzCIXNwbtwYbCDLp76V02YzXiBocjfGABGcrE', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '68', + }, + { + key: 'Smile', + value: '86', + }, + { + key: 'Hug', + value: '69', + }, + { + key: 'Laugh', + value: '64', + }, + { + key: 'Heart', + value: '72', + }, + { + key: 'Warm', + value: '61', + }, + { + key: 'Good', + value: '58', + }, + { + key: 'Thanks', + value: '66', + }, + { + key: 'Share', + value: '84', + }, + { + key: 'Brave', + value: '27', + }, + { + key: 'Grow', + value: '93', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5JZ3JySwmA8hYwKvtyRJHV7Bx7hVb7X3xz4jwcfJvoKE', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5JZ3JySwmA8hYwKvtyRJHV7Bx7hVb7X3xz4jwcfJvoKE', + token_id: null, + token_standard: 'NFT', + name: 'Shihawo Maize 10', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/_pCz0o6WCPeFlx9cPkJCKPRczc4jAmns7HgBjlHwOAs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Maize', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '10', + }, + { + key: 'Smile', + value: '15', + }, + { + key: 'Hug', + value: '1', + }, + { + key: 'Laugh', + value: '14', + }, + { + key: 'Heart', + value: '7', + }, + { + key: 'Warm', + value: '12', + }, + { + key: 'Good', + value: '2', + }, + { + key: 'Thanks', + value: '14', + }, + { + key: 'Share', + value: '18', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '16', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '9dHS9jmB75yZhPevY7rpdVGCakLMREzvW87kvzjFPMZC', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '9dHS9jmB75yZhPevY7rpdVGCakLMREzvW87kvzjFPMZC', + token_id: null, + token_standard: 'NFT', + name: 'Muchinu Copper 17', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/RaNQBwiovSKFLEAa4R12caIMluHR9i_nCMlbkZwZafo', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '17', + }, + { + key: 'Smile', + value: '6', + }, + { + key: 'Hug', + value: '37', + }, + { + key: 'Laugh', + value: '1', + }, + { + key: 'Heart', + value: '21', + }, + { + key: 'Warm', + value: '2', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '32', + }, + { + key: 'Share', + value: '15', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '54', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BL4gnVWq6p91BTCgpae8Mz8TMPnz6mAdrwm7Mjmp7g8L', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BL4gnVWq6p91BTCgpae8Mz8TMPnz6mAdrwm7Mjmp7g8L', + token_id: null, + token_standard: 'NFT', + name: 'Neroka Nostalgia 95', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/AirpCII2848n3dAjRxeb9jAq0cTin4a44OFu1k6aKo8', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime Sky Violet', + }, + { + key: 'Background', + value: 'Nostalgia', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '95', + }, + { + key: 'Smile', + value: '100', + }, + { + key: 'Hug', + value: '100', + }, + { + key: 'Laugh', + value: '95', + }, + { + key: 'Heart', + value: '100', + }, + { + key: 'Warm', + value: '100', + }, + { + key: 'Good', + value: '93', + }, + { + key: 'Thanks', + value: '100', + }, + { + key: 'Share', + value: '93', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '69', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '3XzVvHQ4nddxeHidrVUDHGjk7qmmGQmgWYrK1evZL6SV', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '3XzVvHQ4nddxeHidrVUDHGjk7qmmGQmgWYrK1evZL6SV', + token_id: null, + token_standard: 'NFT', + name: 'Esun Moss 47', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreiddoosg4przrxud5ztald37gabo7a4hqfelt4d7bh65jji42rsjvm', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Moss', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '47', + }, + { + key: 'Smile', + value: '41', + }, + { + key: 'Hug', + value: '66', + }, + { + key: 'Laugh', + value: '45', + }, + { + key: 'Heart', + value: '61', + }, + { + key: 'Warm', + value: '51', + }, + { + key: 'Good', + value: '53', + }, + { + key: 'Thanks', + value: '29', + }, + { + key: 'Share', + value: '39', + }, + { + key: 'Brave', + value: '49', + }, + { + key: 'Grow', + value: '36', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GVbaA4GqqceibdNjPaSsVccsYJtKk7ZPZD4ET9UZgpV4', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GVbaA4GqqceibdNjPaSsVccsYJtKk7ZPZD4ET9UZgpV4', + token_id: null, + token_standard: 'NFT', + name: 'Rokane Red 98', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Vcv9OmO7rH_7hhqPSe037jFUnCwYCUdVRDpl2LI6pDw', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Red', + }, + { + key: 'Rarity', + value: 'Legendary', + }, + { + key: 'Rating', + value: '98', + }, + { + key: 'Smile', + value: '98', + }, + { + key: 'Hug', + value: '92', + }, + { + key: 'Laugh', + value: '98', + }, + { + key: 'Heart', + value: '91', + }, + { + key: 'Warm', + value: '93', + }, + { + key: 'Good', + value: '91', + }, + { + key: 'Thanks', + value: '100', + }, + { + key: 'Share', + value: '98', + }, + { + key: 'Brave', + value: '96', + }, + { + key: 'Grow', + value: '90', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '6SaWmPz9KUj2ahSVSc6gkeED4jSEGHYL6VsbB89uYre', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '6SaWmPz9KUj2ahSVSc6gkeED4jSEGHYL6VsbB89uYre', + token_id: null, + token_standard: 'NFT', + name: 'Iheya Artic 87', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/BcOXu57leXYNFOrmDDyQqyXngaLze8eNHKELmDyUaYs', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe Violet Mint', + }, + { + key: 'Background', + value: 'Artic', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '87', + }, + { + key: 'Smile', + value: '87', + }, + { + key: 'Hug', + value: '97', + }, + { + key: 'Laugh', + value: '89', + }, + { + key: 'Heart', + value: '84', + }, + { + key: 'Warm', + value: '90', + }, + { + key: 'Good', + value: '77', + }, + { + key: 'Thanks', + value: '85', + }, + { + key: 'Share', + value: '86', + }, + { + key: 'Brave', + value: '95', + }, + { + key: 'Grow', + value: '80', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2JpbZQRbKQypRj8aMCcRGNsHs1Af9ei9vJ8QYeLc5VZZ', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2JpbZQRbKQypRj8aMCcRGNsHs1Af9ei9vJ8QYeLc5VZZ', + token_id: null, + token_standard: 'NFT', + name: 'Onono Fantasy 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/6_42us2fNsf0b8NfP936MSt-yD2ZcTJGeVH4Oma7z6s', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Rose Lime Sky', + }, + { + key: 'Background', + value: 'Fantasy', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '86', + }, + { + key: 'Smile', + value: '81', + }, + { + key: 'Hug', + value: '82', + }, + { + key: 'Laugh', + value: '90', + }, + { + key: 'Heart', + value: '94', + }, + { + key: 'Warm', + value: '96', + }, + { + key: 'Good', + value: '81', + }, + { + key: 'Thanks', + value: '95', + }, + { + key: 'Share', + value: '92', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '49', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '7ZBAFmT9Tq9ftw6PBQQfb9Ks3FR9Pd1QZZTVvCkvBbEZ', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '7ZBAFmT9Tq9ftw6PBQQfb9Ks3FR9Pd1QZZTVvCkvBbEZ', + token_id: null, + token_standard: 'NFT', + name: 'Minuna Crimson 35', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreibpcafvzlmtrsgd6idgnjut6wfqpf7cnx5r4bhalpxikmiedwtkoa', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Tangerine', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '35', + }, + { + key: 'Smile', + value: '31', + }, + { + key: 'Hug', + value: '38', + }, + { + key: 'Laugh', + value: '20', + }, + { + key: 'Heart', + value: '53', + }, + { + key: 'Warm', + value: '20', + }, + { + key: 'Good', + value: '52', + }, + { + key: 'Thanks', + value: '28', + }, + { + key: 'Share', + value: '52', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '55', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'CmQrWkn7BMMh6oSXvQaavRsYNNED7odJNdWApPv8cpJs', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'CmQrWkn7BMMh6oSXvQaavRsYNNED7odJNdWApPv8cpJs', + token_id: null, + token_standard: 'NFT', + name: 'Kukime Lilac 79', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/zaMpFeeG8tXUU0r-VwaDga7s7SVszNaIDuK19N1sS-M', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Lilac', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '79', + }, + { + key: 'Smile', + value: '82', + }, + { + key: 'Hug', + value: '73', + }, + { + key: 'Laugh', + value: '75', + }, + { + key: 'Heart', + value: '74', + }, + { + key: 'Warm', + value: '71', + }, + { + key: 'Good', + value: '76', + }, + { + key: 'Thanks', + value: '85', + }, + { + key: 'Share', + value: '74', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '80', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'HqR3AeQe8DdEmrwx9WDHgFKtFk14vsyZiehaw7jYqCN4', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'HqR3AeQe8DdEmrwx9WDHgFKtFk14vsyZiehaw7jYqCN4', + token_id: null, + token_standard: 'NFT', + name: 'Hosake Copper 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreifm5zxmd4fx6fycr2skxan565nzk5i73y5urcqxbuuyjsq3i5ljly', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Blaze', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '30', + }, + { + key: 'Smile', + value: '46', + }, + { + key: 'Hug', + value: '39', + }, + { + key: 'Laugh', + value: '13', + }, + { + key: 'Heart', + value: '27', + }, + { + key: 'Warm', + value: '21', + }, + { + key: 'Good', + value: '26', + }, + { + key: 'Thanks', + value: '10', + }, + { + key: 'Share', + value: '26', + }, + { + key: 'Brave', + value: '64', + }, + { + key: 'Grow', + value: '28', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BDnLCAcai1j8oRXWXBGAfMCDsFSMZLZrT1zDxBP2A65K', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BDnLCAcai1j8oRXWXBGAfMCDsFSMZLZrT1zDxBP2A65K', + token_id: null, + token_standard: 'NFT', + name: 'Mumani Crimson 17', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/_qiLOsq812UBzz6ZVJtLH5avgdxNpl494yIoNbIED8M', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Gold', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '17', + }, + { + key: 'Smile', + value: '17', + }, + { + key: 'Hug', + value: '17', + }, + { + key: 'Laugh', + value: '18', + }, + { + key: 'Heart', + value: '1', + }, + { + key: 'Warm', + value: '33', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '8', + }, + { + key: 'Share', + value: '23', + }, + { + key: 'Brave', + value: '46', + }, + { + key: 'Grow', + value: '6', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'J2V4EVhC7J1zm5gGPYo5WqMGsJAPvSon2kjDBaYZ5CEv', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'J2V4EVhC7J1zm5gGPYo5WqMGsJAPvSon2kjDBaYZ5CEv', + token_id: null, + token_standard: 'NFT', + name: 'Inaro Slate 60', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/l1Vpj5W5xEmERyos7uuCWRj1oe7kUoVQslbuouz0Yzg', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Violet', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '60', + }, + { + key: 'Smile', + value: '63', + }, + { + key: 'Hug', + value: '48', + }, + { + key: 'Laugh', + value: '46', + }, + { + key: 'Heart', + value: '44', + }, + { + key: 'Warm', + value: '76', + }, + { + key: 'Good', + value: '77', + }, + { + key: 'Thanks', + value: '45', + }, + { + key: 'Share', + value: '47', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '54', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5CRJGB6hyjZ9JUXK1qu8btGuJH8U56q4tenKmU7noj6H', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5CRJGB6hyjZ9JUXK1qu8btGuJH8U56q4tenKmU7noj6H', + token_id: null, + token_standard: 'NFT', + name: 'Sanaya Slate 74', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/P_R0j05mMT1HSD9zKZaTj_vlQVAO_3TohZgY321obTI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Slate', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '74', + }, + { + key: 'Smile', + value: '82', + }, + { + key: 'Hug', + value: '85', + }, + { + key: 'Laugh', + value: '64', + }, + { + key: 'Heart', + value: '60', + }, + { + key: 'Warm', + value: '91', + }, + { + key: 'Good', + value: '79', + }, + { + key: 'Thanks', + value: '85', + }, + { + key: 'Share', + value: '57', + }, + { + key: 'Brave', + value: '67', + }, + { + key: 'Grow', + value: '70', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'BqgsdJQemGCuy9e7dcxmHnBnGDTfuugs6Eaw13exyxAC', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'BqgsdJQemGCuy9e7dcxmHnBnGDTfuugs6Eaw13exyxAC', + token_id: null, + token_standard: 'NFT', + name: 'Kimike Moss 64', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreidv72x37cbinkvabz6pubwof7euye46lc7bzao4azk63wiu4v7qjy', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Blaze', + }, + { + key: 'Background', + value: 'Moss', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '64', + }, + { + key: 'Smile', + value: '81', + }, + { + key: 'Hug', + value: '47', + }, + { + key: 'Laugh', + value: '50', + }, + { + key: 'Heart', + value: '65', + }, + { + key: 'Warm', + value: '68', + }, + { + key: 'Good', + value: '81', + }, + { + key: 'Thanks', + value: '45', + }, + { + key: 'Share', + value: '55', + }, + { + key: 'Brave', + value: '60', + }, + { + key: 'Grow', + value: '88', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4iwQrtmh91iMBvAtiEzNHd1cv1QiajbT9dG919ACbFtm', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4iwQrtmh91iMBvAtiEzNHd1cv1QiajbT9dG919ACbFtm', + token_id: null, + token_standard: 'NFT', + name: 'Ramure Umber 5', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/mFWJGX924Dy-FxbLsDslsT7pwuK8D9opTFhZi2HJUKE', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Umber', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '5', + }, + { + key: 'Smile', + value: '1', + }, + { + key: 'Hug', + value: '1', + }, + { + key: 'Laugh', + value: '15', + }, + { + key: 'Heart', + value: '4', + }, + { + key: 'Warm', + value: '1', + }, + { + key: 'Good', + value: '1', + }, + { + key: 'Thanks', + value: '1', + }, + { + key: 'Share', + value: '1', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '24', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5NWin7cHMBUtTjGv9D8fwZwyxvrH6T4uEdK18CuYrjGQ', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5NWin7cHMBUtTjGv9D8fwZwyxvrH6T4uEdK18CuYrjGQ', + token_id: null, + token_standard: 'NFT', + name: 'Toruha Blush 25', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Qe_StXHAExNaOk-t-oRUqQ9KoibTWrEhXsgeQjz5ovk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '25', + }, + { + key: 'Smile', + value: '30', + }, + { + key: 'Hug', + value: '14', + }, + { + key: 'Laugh', + value: '40', + }, + { + key: 'Heart', + value: '25', + }, + { + key: 'Warm', + value: '16', + }, + { + key: 'Good', + value: '32', + }, + { + key: 'Thanks', + value: '11', + }, + { + key: 'Share', + value: '22', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '59', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'A2kRbc9PErBhfj5bRW47ji8cEJF1Fm23xo9qTJzUPuAi', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'A2kRbc9PErBhfj5bRW47ji8cEJF1Fm23xo9qTJzUPuAi', + token_id: null, + token_standard: 'NFT', + name: 'Yanuhi Lilac 30', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://w3s.link/ipfs/bafkreiehytzikifiilewin6rgitkfifyrle2tr6donbad4jnkjsgvlzscm', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Lilac', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '30', + }, + { + key: 'Smile', + value: '47', + }, + { + key: 'Hug', + value: '10', + }, + { + key: 'Laugh', + value: '41', + }, + { + key: 'Heart', + value: '32', + }, + { + key: 'Warm', + value: '23', + }, + { + key: 'Good', + value: '29', + }, + { + key: 'Thanks', + value: '44', + }, + { + key: 'Share', + value: '45', + }, + { + key: 'Brave', + value: '1', + }, + { + key: 'Grow', + value: '28', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GnSLjLgDpP1gPGnMsQQ9g1t5gWn1FiaYJRGsDH1jLvrb', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GnSLjLgDpP1gPGnMsQQ9g1t5gWn1FiaYJRGsDH1jLvrb', + token_id: null, + token_standard: 'NFT', + name: 'Tefute Lilac 38', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/u52d29x9EnRVFzMnj8P5FSCVZqfKykylPPiL6WSTETI', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky', + }, + { + key: 'Background', + value: 'Lilac', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '38', + }, + { + key: 'Smile', + value: '36', + }, + { + key: 'Hug', + value: '41', + }, + { + key: 'Laugh', + value: '58', + }, + { + key: 'Heart', + value: '24', + }, + { + key: 'Warm', + value: '56', + }, + { + key: 'Good', + value: '58', + }, + { + key: 'Thanks', + value: '22', + }, + { + key: 'Share', + value: '18', + }, + { + key: 'Brave', + value: '47', + }, + { + key: 'Grow', + value: '20', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4C3yLSBWzE8BoEcbYCrDYZG6DPPa2JiUJDaK7DuP5waw', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4C3yLSBWzE8BoEcbYCrDYZG6DPPa2JiUJDaK7DuP5waw', + token_id: null, + token_standard: 'NFT', + name: 'Waria Fantasy 86', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/VXjz_9IOmrxFpGATG2YBe4UblSo7rEYedBhv89tAc0Y', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Mint Stone Gold', + }, + { + key: 'Background', + value: 'Fantasy', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '86', + }, + { + key: 'Smile', + value: '91', + }, + { + key: 'Hug', + value: '79', + }, + { + key: 'Laugh', + value: '90', + }, + { + key: 'Heart', + value: '85', + }, + { + key: 'Warm', + value: '82', + }, + { + key: 'Good', + value: '88', + }, + { + key: 'Thanks', + value: '81', + }, + { + key: 'Share', + value: '86', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '78', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '4sBK1uNN4H2BdjXgYnnU9UrVLR5N5gHfcaTwpMp4ZchR', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '4sBK1uNN4H2BdjXgYnnU9UrVLR5N5gHfcaTwpMp4ZchR', + token_id: null, + token_standard: 'NFT', + name: 'Yushini Crimson 58', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/kN2l0ydJRhKMRZRGBaBTP6YeV_tcRWPNtV-UNLlqNZ4', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '58', + }, + { + key: 'Smile', + value: '39', + }, + { + key: 'Hug', + value: '47', + }, + { + key: 'Laugh', + value: '44', + }, + { + key: 'Heart', + value: '41', + }, + { + key: 'Warm', + value: '76', + }, + { + key: 'Good', + value: '65', + }, + { + key: 'Thanks', + value: '56', + }, + { + key: 'Share', + value: '73', + }, + { + key: 'Brave', + value: '54', + }, + { + key: 'Grow', + value: '85', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'HoqygdHmhszACPdKz49MWCiM9gpRewsb2BxN7WFbVZ8g', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'HoqygdHmhszACPdKz49MWCiM9gpRewsb2BxN7WFbVZ8g', + token_id: null, + token_standard: 'NFT', + name: 'Temimi Volcano 91', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/GKGnHgLTaEWfhoWO7ZJsC_8a7xaSiEO9eSC3QmBnRUg', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Taupe Tangerine Sky', + }, + { + key: 'Background', + value: 'Volcano', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '91', + }, + { + key: 'Smile', + value: '89', + }, + { + key: 'Hug', + value: '91', + }, + { + key: 'Laugh', + value: '84', + }, + { + key: 'Heart', + value: '98', + }, + { + key: 'Warm', + value: '100', + }, + { + key: 'Good', + value: '90', + }, + { + key: 'Thanks', + value: '87', + }, + { + key: 'Share', + value: '89', + }, + { + key: 'Brave', + value: '95', + }, + { + key: 'Grow', + value: '87', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'TzuLBLZQz34QuMGhBWfagW3CX7MRgbnX9TGvgMq7Er7', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'TzuLBLZQz34QuMGhBWfagW3CX7MRgbnX9TGvgMq7Er7', + token_id: null, + token_standard: 'NFT', + name: 'Reose Azure 71', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/mMsD_yGDrzPsQn9Qlzvj_zOCAGvkLleTJbXdzavzg0g', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Azure', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '71', + }, + { + key: 'Smile', + value: '90', + }, + { + key: 'Hug', + value: '76', + }, + { + key: 'Laugh', + value: '53', + }, + { + key: 'Heart', + value: '74', + }, + { + key: 'Warm', + value: '80', + }, + { + key: 'Good', + value: '84', + }, + { + key: 'Thanks', + value: '84', + }, + { + key: 'Share', + value: '86', + }, + { + key: 'Brave', + value: '80', + }, + { + key: 'Grow', + value: '3', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '2gqJ1hBKNAz4Zp4N3jtNNyNMgPoiVELJ39dzNscAwrMS', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '2gqJ1hBKNAz4Zp4N3jtNNyNMgPoiVELJ39dzNscAwrMS', + token_id: null, + token_standard: 'NFT', + name: 'Nenesu Blush 20', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/J57aqt1TXeadJFdCmhaPPG9l2rMWdC4gPzt-28jAmcc', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Blush', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '20', + }, + { + key: 'Smile', + value: '30', + }, + { + key: 'Hug', + value: '16', + }, + { + key: 'Laugh', + value: '7', + }, + { + key: 'Heart', + value: '19', + }, + { + key: 'Warm', + value: '18', + }, + { + key: 'Good', + value: '16', + }, + { + key: 'Thanks', + value: '24', + }, + { + key: 'Share', + value: '36', + }, + { + key: 'Brave', + value: '13', + }, + { + key: 'Grow', + value: '21', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'AempPeKEMVyKoopMSLgTJ8uhgxXAQSeGKkN6Bxg59Sjv', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'AempPeKEMVyKoopMSLgTJ8uhgxXAQSeGKkN6Bxg59Sjv', + token_id: null, + token_standard: 'NFT', + name: 'Nuteki Crimson 18', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/YVk50ScKfjw_Ge7jzH7AvCBFY-asGWkiJiALH0l1WFU', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone', + }, + { + key: 'Background', + value: 'Crimson', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '18', + }, + { + key: 'Smile', + value: '2', + }, + { + key: 'Hug', + value: '25', + }, + { + key: 'Laugh', + value: '13', + }, + { + key: 'Heart', + value: '15', + }, + { + key: 'Warm', + value: '28', + }, + { + key: 'Good', + value: '17', + }, + { + key: 'Thanks', + value: '1', + }, + { + key: 'Share', + value: '17', + }, + { + key: 'Brave', + value: '47', + }, + { + key: 'Grow', + value: '15', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'FJjbsmyDUiSWqnTScUVPJ7gtkgWLu8eLNE2ZSZQhWH4o', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'FJjbsmyDUiSWqnTScUVPJ7gtkgWLu8eLNE2ZSZQhWH4o', + token_id: null, + token_standard: 'NFT', + name: 'Tooku Fantasy 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/TbZlusywCg4INdEwAv4Q-Fz00bZjyRGaqrwCFlw0uUc', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Sky Stone Lime', + }, + { + key: 'Background', + value: 'Fantasy', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '89', + }, + { + key: 'Smile', + value: '98', + }, + { + key: 'Hug', + value: '89', + }, + { + key: 'Laugh', + value: '97', + }, + { + key: 'Heart', + value: '88', + }, + { + key: 'Warm', + value: '89', + }, + { + key: 'Good', + value: '99', + }, + { + key: 'Thanks', + value: '81', + }, + { + key: 'Share', + value: '87', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '62', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'GPCD4HbAgm4sYAEeChCTr6cvnQFqpCV1Hb4YqtUBFMLs', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'GPCD4HbAgm4sYAEeChCTr6cvnQFqpCV1Hb4YqtUBFMLs', + token_id: null, + token_standard: 'NFT', + name: 'Miuse Copper 70', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/Fwub1TdOGg0-tqS6zWs43SVdUj7ppT3eboXXTUExuVQ', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Lime', + }, + { + key: 'Background', + value: 'Copper', + }, + { + key: 'Rarity', + value: 'Common', + }, + { + key: 'Rating', + value: '70', + }, + { + key: 'Smile', + value: '66', + }, + { + key: 'Hug', + value: '89', + }, + { + key: 'Laugh', + value: '61', + }, + { + key: 'Heart', + value: '51', + }, + { + key: 'Warm', + value: '63', + }, + { + key: 'Good', + value: '53', + }, + { + key: 'Thanks', + value: '76', + }, + { + key: 'Share', + value: '67', + }, + { + key: 'Brave', + value: '86', + }, + { + key: 'Grow', + value: '88', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: '5f8JwHZdGVMzb3juDgpPT1hnYD18MofKv1sEjxghRDGH', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: '5f8JwHZdGVMzb3juDgpPT1hnYD18MofKv1sEjxghRDGH', + token_id: null, + token_standard: 'NFT', + name: 'Nechiwa Desert 89', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/vWTByzWVm_Gln-qyKU6Ajy3eWcZkdRs0BUZu6-hjrjE', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Violet Tangerine Butter', + }, + { + key: 'Background', + value: 'Desert', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '89', + }, + { + key: 'Smile', + value: '84', + }, + { + key: 'Hug', + value: '80', + }, + { + key: 'Laugh', + value: '95', + }, + { + key: 'Heart', + value: '94', + }, + { + key: 'Warm', + value: '84', + }, + { + key: 'Good', + value: '82', + }, + { + key: 'Thanks', + value: '95', + }, + { + key: 'Share', + value: '95', + }, + { + key: 'Brave', + value: '94', + }, + { + key: 'Grow', + value: '87', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + { + chain: 'solana', + address: '91GBiM6pBxVsANodJd4nGjnKBDE8XRJbcvQD9C1Phpyb', + token_address: 'eUyEuzbhePsioreWqYsJ82KtLpgTDLwVkAvLxQqBTKV', + token_id: null, + balance: 1, + acquired_at: null, + nft_token: { + address: 'eUyEuzbhePsioreWqYsJ82KtLpgTDLwVkAvLxQqBTKV', + token_id: null, + token_standard: 'NFT', + name: 'Nosuru Fantasy 90', + description: + 'MONMONMON is a collection from the creativity of Peelander Yellow. Each MONMONMON has unique and kind abilities that can be used to help others and play with your friends. There are secrets in each MONMONMON. We love you.', + metadata: null, + image_url: + 'https://gateway.irys.xyz/31LAzQj901LQO_hBh4EHy0H739AuqPw2lmbRGzIzqlk', + media_url: null, + external_url: 'https://www.monmonmon.art/', + attributes: [ + { + key: 'Body', + value: 'Stone Sky Tangerine', + }, + { + key: 'Background', + value: 'Fantasy', + }, + { + key: 'Rarity', + value: 'Rare', + }, + { + key: 'Rating', + value: '90', + }, + { + key: 'Smile', + value: '95', + }, + { + key: 'Hug', + value: '98', + }, + { + key: 'Laugh', + value: '88', + }, + { + key: 'Heart', + value: '93', + }, + { + key: 'Warm', + value: '92', + }, + { + key: 'Good', + value: '93', + }, + { + key: 'Thanks', + value: '93', + }, + { + key: 'Share', + value: '81', + }, + { + key: 'Brave', + value: '100', + }, + { + key: 'Grow', + value: '67', + }, + ], + token_account_address: null, + creators: [ + { + address: '3pXaiqHCosfWfaSqEqPH3nKQKRrcMphR7D7ycRg3LQJs', + share: 20, + verified: 0, + }, + { + address: '6LVnHwYhwiCjtdKYyJgtDUdfMgFwqZG917Ct1WuaTZgC', + share: 50, + verified: 0, + }, + { + address: 'CU77oRiiTjGQuYz4Rjcs8NRocM2dunBxCuuA5eQFgxHK', + share: 30, + verified: 0, + }, + ], + collection_name: 'MONMONMON HOLA', + collection_symbol: 'hola_monmonmon', + collection_count: 888659, + collection_image_url: null, + onchain_collection_address: + '2WRn18ZiHji4ww3bsn2RUE2DDy2V45jChCR5mZHkbt6N', + floor_price: null, + last_sale_price: null, + rarity: null, + }, + isSpam: false, + }, + ], + }; diff --git a/packages/snap/src/core/clients/nft-api/types.ts b/packages/snap/src/core/clients/nft-api/types.ts new file mode 100644 index 000000000..083a8769b --- /dev/null +++ b/packages/snap/src/core/clients/nft-api/types.ts @@ -0,0 +1,170 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +export type PaginatedResponse = { + cursor: string | null; + error: string | null; + items: Type[]; +}; + +/** + * Raw NFT API responses + */ + +export type NftApiItemType = { + address: string; + token_id: string | null; + token_standard: string | null; + name: string; + description: string; + metadata: string | null; + image_url: string; + media_url: string | null; + external_url: string; + attributes: { + key: string; + value: string; + }[]; + token_account_address: string | null; + creators: { + address: string; + share: number; + verified: number; + }[]; + collection_name: string; + collection_symbol: string; + collection_count: number; + collection_image_url: string | null; + onchain_collection_address: string | null; + floor_price: { + asset: { + type: string; + name: string; + symbol: string; + decimals: number; + token_id: string; + }; + amount: { + raw_amount: string; + amount: number; + }; + } | null; + last_sale_price: { + asset: { + type: string; + name: string; + symbol: string; + decimals: number; + token_id: string; + }; + amount: { + raw_amount: string; + amount: number; + }; + } | null; + rarity: { + ranking: { + source: string; + value: number; + }; + metadata: { + howrare: { + rank: number; + }; + moonrank: { + rank: number; + }; + }; + } | null; +}; + +export type NftApiBalanceType = { + chain: string; + address: string; + token_address: string; + token_id: string | null; + balance: number; + acquired_at: string | null; + isSpam: boolean; + nft_token: NftApiItemType; +}; + +/** + * Mapped NFT API responses + */ + +export type Nft = { + address: string; + tokenId: string | null; + tokenStandard: string | null; + name: string; + description: string; + metadata: string | null; + imageUrl: string; + mediaUrl: string | null; + externalUrl: string; + attributes: { + key: string; + value: string; + }[]; + tokenAccountAddress: string | null; + creators: { + address: string; + share: number; + verified: number; + }[]; + collectionName: string; + collectionSymbol: string; + collectionCount: number; + collectionImageUrl: string | null; + onchainCollectionAddress: string | null; + floorPrice: { + asset: { + type: string; + name: string; + symbol: string; + decimals: number; + tokenId: string; + }; + amount: { + rawAmount: string; + amount: number; + }; + } | null; + lastSalePrice: { + asset: { + type: string; + name: string; + symbol: string; + decimals: number; + tokenId: string; + }; + amount: { + rawAmount: string; + amount: number; + }; + } | null; + rarity: { + ranking: { + source: string; + value: number; + }; + metadata: { + howrare: { + rank: number; + }; + moonrank: { + rank: number; + }; + }; + } | null; +}; + +export type Balance = { + chain: string; + address: string; + tokenAddress: string; + tokenId: string | null; + balance: number; + acquiredAt: string | null; + isSpam: boolean; + nftToken: Nft; +}; diff --git a/packages/snap/src/core/clients/price-api/PriceApiClient.test.ts b/packages/snap/src/core/clients/price-api/PriceApiClient.test.ts index 1c384be8e..999f4baae 100644 --- a/packages/snap/src/core/clients/price-api/PriceApiClient.test.ts +++ b/packages/snap/src/core/clients/price-api/PriceApiClient.test.ts @@ -269,7 +269,7 @@ describe('PriceApiClient', () => { ); }); - it('rejects tokenCaip19Ids that are invalid or that include malicious inputs', async () => { + it('rejects tokenCaipAssetTypes that are invalid or that include malicious inputs', async () => { await expect( client.getMultipleSpotPrices([ KnownCaip19Id.SolLocalnet, diff --git a/packages/snap/src/core/clients/price-api/PriceApiClient.ts b/packages/snap/src/core/clients/price-api/PriceApiClient.ts index 6447600cf..01a70a722 100644 --- a/packages/snap/src/core/clients/price-api/PriceApiClient.ts +++ b/packages/snap/src/core/clients/price-api/PriceApiClient.ts @@ -84,28 +84,32 @@ export class PriceApiClient { /** * Business logic for `getMultipleSpotPrices`. * - * @param tokenCaip19Ids - The CAIP-19 IDs of the tokens to get the spot prices for. + * @param tokenCaipAssetTypes - The CAIP-19 IDs of the tokens to get the spot prices for. * @param vsCurrency - The currency to convert the prices to. * @returns The spot prices for the tokens. */ async #getMultipleSpotPrices_INTERNAL( - tokenCaip19Ids: CaipAssetType[], + tokenCaipAssetTypes: CaipAssetType[], vsCurrency: VsCurrencyParam | string = 'usd', ): Promise { try { - assert(tokenCaip19Ids, array(CaipAssetTypeStruct)); + assert(tokenCaipAssetTypes, array(CaipAssetTypeStruct)); assert(vsCurrency, VsCurrencyParamStruct); - if (tokenCaip19Ids.length === 0) { + if (tokenCaipAssetTypes.length === 0) { return {}; } - const uniqueTokenCaip19Ids = [...new Set(tokenCaip19Ids)]; + const uniqueTokenCaipAssetTypes = [...new Set(tokenCaipAssetTypes)]; - // Split uniqueTokenCaip19Ids into chunks + // Split uniqueTokenCaipAssetTypes into chunks const chunks: CaipAssetType[][] = []; - for (let i = 0; i < uniqueTokenCaip19Ids.length; i += this.#chunkSize) { - chunks.push(uniqueTokenCaip19Ids.slice(i, i + this.#chunkSize)); + for ( + let i = 0; + i < uniqueTokenCaipAssetTypes.length; + i += this.#chunkSize + ) { + chunks.push(uniqueTokenCaipAssetTypes.slice(i, i + this.#chunkSize)); } // Make parallel requests for each chunk @@ -142,9 +146,9 @@ export class PriceApiClient { // Store in the cache await this.#cache.mset( - tokenCaip19Ids.map((tokenCaip19Id) => ({ - key: `PriceApiClient:getMultipleSpotPrices:${tokenCaip19Id}:${vsCurrency}`, - value: spotPrices[tokenCaip19Id], + tokenCaipAssetTypes.map((tokenCaipAssetType) => ({ + key: `PriceApiClient:getMultipleSpotPrices:${tokenCaipAssetType}:${vsCurrency}`, + value: spotPrices[tokenCaipAssetType], ttlMilliseconds: PriceApiClient.cacheTtlsMilliseconds.spotPrices, })), ); @@ -175,8 +179,8 @@ export class PriceApiClient { const cacheKeyPrefix = 'PriceApiClient:getMultipleSpotPrices'; // Shorthand method to generate the cache key - const toCacheKey = (tokenCaip19Id: CaipAssetType) => - `${cacheKeyPrefix}:${tokenCaip19Id}:${vsCurrency}`; + const toCacheKey = (tokenCaipAssetType: CaipAssetType) => + `${cacheKeyPrefix}:${tokenCaipAssetType}:${vsCurrency}`; // Parses back the cache key const parseCacheKey = (key: string) => { @@ -219,11 +223,13 @@ export class PriceApiClient { // Cache the data await this.#cache.mset( - Object.entries(nonCachedSpotPrices).map(([tokenCaip19Id, spotPrice]) => ({ - key: toCacheKey(tokenCaip19Id as CaipAssetType), - value: spotPrice, - ttlMilliseconds: PriceApiClient.cacheTtlsMilliseconds.spotPrices, - })), + Object.entries(nonCachedSpotPrices).map( + ([tokenCaipAssetType, spotPrice]) => ({ + key: toCacheKey(tokenCaipAssetType as CaipAssetType), + value: spotPrice, + ttlMilliseconds: PriceApiClient.cacheTtlsMilliseconds.spotPrices, + }), + ), ); return { diff --git a/packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.test.ts b/packages/snap/src/core/clients/token-api-client/TokenApiClient.test.ts similarity index 91% rename from packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.test.ts rename to packages/snap/src/core/clients/token-api-client/TokenApiClient.test.ts index 3ba8dcc25..b566e59d4 100644 --- a/packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.test.ts +++ b/packages/snap/src/core/clients/token-api-client/TokenApiClient.test.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import type { CaipAssetType } from '@metamask/keyring-api'; +import type { TokenCaipAssetType } from '../../constants/solana'; import { KnownCaip19Id, Network } from '../../constants/solana'; import type { ConfigProvider } from '../../services/config'; import type { ILogger } from '../../utils/logger'; import { tokenAddressToCaip19 } from '../../utils/tokenAddressToCaip19'; -import { TokenMetadataClient } from './TokenMetadataClient'; +import { TokenApiClient } from './TokenApiClient'; const MOCK_METADATA_RESPONSE = [ { @@ -24,14 +24,14 @@ const MOCK_METADATA_RESPONSE = [ }, ]; -describe('TokenMetadataClient', () => { +describe('TokenApiClient', () => { const mockFetch = jest.fn(); const mockLogger = { error: jest.fn(console.error), warn: jest.fn(console.error), } as unknown as ILogger; - let client: TokenMetadataClient; + let client: TokenApiClient; let mockConfigProvider: ConfigProvider; beforeEach(() => { @@ -49,7 +49,7 @@ describe('TokenMetadataClient', () => { }), } as unknown as ConfigProvider; - client = new TokenMetadataClient(mockConfigProvider, mockFetch, mockLogger); + client = new TokenApiClient(mockConfigProvider, mockFetch, mockLogger); }); describe('constructor', () => { @@ -63,8 +63,7 @@ describe('TokenMetadataClient', () => { } as unknown as ConfigProvider; expect( - () => - new TokenMetadataClient(invalidConfigProvider, mockFetch, mockLogger), + () => new TokenApiClient(invalidConfigProvider, mockFetch, mockLogger), ).toThrow('Invalid URL format'); }); }); @@ -135,7 +134,7 @@ describe('TokenMetadataClient', () => { it('rejects caip19Ids that are invalid', async () => { await expect( client.getTokenMetadataFromAddresses([ - 'invalid-caip19-id' as CaipAssetType, + 'invalid-caip19-id' as TokenCaipAssetType, ]), ).rejects.toThrow( 'At path: 0 -- Expected a value of type `CaipAssetType`, but received: `"invalid-caip19-id"`', @@ -145,8 +144,8 @@ describe('TokenMetadataClient', () => { it('rejects caip19Ids that include malicious inputs', async () => { await expect( client.getTokenMetadataFromAddresses([ - KnownCaip19Id.SolLocalnet, - 'INVALID' as CaipAssetType, + KnownCaip19Id.EurcLocalnet, + 'INVALID' as TokenCaipAssetType, ]), ).rejects.toThrow( 'At path: 1 -- Expected a value of type `CaipAssetType`, but received: `"INVALID"`', @@ -192,7 +191,7 @@ describe('TokenMetadataClient', () => { await expect( client.getTokenMetadataFromAddresses(tokenAddresses), ).rejects.toThrow( - 'At path: 0.assetId -- Expected a value of type `CaipAssetType`, but received: `"bad-asset-id"`', + 'Expected a string matching `/^solana:[a-zA-Z0-9]+\\/token:[a-zA-Z0-9]+$/` but received "bad-asset-id"', ); }); diff --git a/packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.ts b/packages/snap/src/core/clients/token-api-client/TokenApiClient.ts similarity index 69% rename from packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.ts rename to packages/snap/src/core/clients/token-api-client/TokenApiClient.ts index 3a12d5490..466d361dd 100644 --- a/packages/snap/src/core/clients/token-metadata-client/TokenMetadataClient.ts +++ b/packages/snap/src/core/clients/token-api-client/TokenApiClient.ts @@ -1,18 +1,17 @@ -import type { CaipAssetType } from '@metamask/keyring-api'; -import { array, assert } from '@metamask/superstruct'; +import type { FungibleAssetMetadata } from '@metamask/snaps-sdk'; +import { array, assert, type Infer } from '@metamask/superstruct'; import { CaipAssetTypeStruct, parseCaipAssetType } from '@metamask/utils'; -import { Network } from '../../constants/solana'; +import type { TokenCaipAssetType } from '../../constants/solana'; +import { Network, TokenCaipAssetTypeStruct } from '../../constants/solana'; import type { ConfigProvider } from '../../services/config'; -import { NftService } from '../../services/nft/NftService'; import { buildUrl } from '../../utils/buildUrl'; import type { ILogger } from '../../utils/logger'; import logger from '../../utils/logger'; import { UrlStruct } from '../../validation/structs'; import { TokenMetadataResponseStruct } from './structs'; -import type { SolanaTokenMetadata, TokenMetadata } from './types'; -export class TokenMetadataClient { +export class TokenApiClient { readonly #fetch: typeof globalThis.fetch; readonly #logger: ILogger; @@ -44,9 +43,9 @@ export class TokenMetadataClient { } async #fetchTokenMetadataBatch( - assetTypes: CaipAssetType[], - ): Promise { - assert(assetTypes, array(CaipAssetTypeStruct)); + assetTypes: TokenCaipAssetType[], + ): Promise> { + assert(assetTypes, array(TokenCaipAssetTypeStruct)); const url = buildUrl({ baseUrl: this.#baseUrl, @@ -63,35 +62,34 @@ export class TokenMetadataClient { } const data = await response.json(); + assert(data, TokenMetadataResponseStruct); return data; } async getTokenMetadataFromAddresses( - assetTypes: CaipAssetType[], - ): Promise> { + assetTypes: TokenCaipAssetType[], + ): Promise> { try { assert(assetTypes, array(CaipAssetTypeStruct)); - // The Token API only supports the networks in TokenMetadataClient.supportedNetworks + // The Token API only supports the networks in TokenApiClient.supportedNetworks const supportedAssetTypes = assetTypes.filter((assetType) => { const { chainId } = parseCaipAssetType(assetType); - return TokenMetadataClient.supportedNetworks.includes( - chainId as Network, - ); + return TokenApiClient.supportedNetworks.includes(chainId as Network); }); if (supportedAssetTypes.length !== assetTypes.length) { this.#logger.warn( - `[TokenMetadataClient] Received some asset types on networks that the Token API doesn't support. They will be ignored. Supported networks: ${TokenMetadataClient.supportedNetworks.join( + `[TokenApiClient] Received some asset types on networks that the Token API doesn't support. They will be ignored. Supported networks: ${TokenApiClient.supportedNetworks.join( ', ', )}`, ); } // Split addresses into chunks - const chunks: CaipAssetType[][] = []; + const chunks: TokenCaipAssetType[][] = []; for (let i = 0; i < supportedAssetTypes.length; i += this.#chunkSize) { chunks.push(supportedAssetTypes.slice(i, i + this.#chunkSize)); } @@ -102,7 +100,10 @@ export class TokenMetadataClient { ); // Flatten and process all metadata - const tokenMetadataMap = new Map(); + const tokenMetadataMap = new Map< + TokenCaipAssetType, + FungibleAssetMetadata + >(); tokenMetadataResponses.flat().forEach((metadata) => { const tokenSymbol = metadata?.symbol; @@ -110,23 +111,26 @@ export class TokenMetadataClient { const tokenDecimals = metadata?.decimals; if (!tokenSymbol || !tokenNameOrSymbol) { - this.#logger.warn(`No metadata for ${metadata.assetId}`); + this.#logger.warn( + `No metadata for ${metadata.assetId as TokenCaipAssetType}`, + ); return; } - tokenMetadataMap.set(metadata.assetId, { + tokenMetadataMap.set(metadata.assetId as TokenCaipAssetType, { name: tokenNameOrSymbol, symbol: tokenSymbol, - fungible: !NftService.isMaybeNonFungible({ - tokenAmount: { decimals: tokenDecimals }, - }) as unknown as true, // TODO: Remove this cast once the changes in https://github.com/MetaMask/SIPs/pull/174 are implemented on the snap SDK + fungible: true, iconUrl: metadata?.iconUrl ?? buildUrl({ baseUrl: this.#tokenIconBaseUrl, path: '/api/v2/tokenIcons/assets/{assetId}.png', pathParams: { - assetId: metadata.assetId.replace(/:/gu, '/'), + assetId: (metadata.assetId as TokenCaipAssetType).replace( + /:/gu, + '/', + ), }, }), units: [ diff --git a/packages/snap/src/core/clients/token-metadata-client/structs.ts b/packages/snap/src/core/clients/token-api-client/structs.ts similarity index 75% rename from packages/snap/src/core/clients/token-metadata-client/structs.ts rename to packages/snap/src/core/clients/token-api-client/structs.ts index 367d7b95a..f81759066 100644 --- a/packages/snap/src/core/clients/token-metadata-client/structs.ts +++ b/packages/snap/src/core/clients/token-api-client/structs.ts @@ -5,13 +5,13 @@ import { optional, string, } from '@metamask/superstruct'; -import { CaipAssetTypeStruct } from '@metamask/utils'; +import { TokenCaipAssetTypeFromStringStruct } from '../../constants/solana'; import { UrlStruct } from '../../validation/structs'; export const TokenMetadataStruct = object({ decimals: integer(), - assetId: CaipAssetTypeStruct, + assetId: TokenCaipAssetTypeFromStringStruct, name: optional(string()), symbol: optional(string()), iconUrl: optional(UrlStruct), diff --git a/packages/snap/src/core/clients/token-metadata-client/types.ts b/packages/snap/src/core/clients/token-metadata-client/types.ts deleted file mode 100644 index 456942694..000000000 --- a/packages/snap/src/core/clients/token-metadata-client/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - -import type { FungibleAssetMetadata } from '@metamask/snaps-sdk'; -import type { Infer } from '@metamask/superstruct'; - -import type { TokenMetadataStruct } from './structs'; - -export type SolanaTokenMetadata = FungibleAssetMetadata; - -export type TokenMetadata = Infer; diff --git a/packages/snap/src/core/constants/solana.test.ts b/packages/snap/src/core/constants/solana.test.ts new file mode 100644 index 000000000..25770d3e6 --- /dev/null +++ b/packages/snap/src/core/constants/solana.test.ts @@ -0,0 +1,231 @@ +import { assert, is } from '@metamask/superstruct'; + +import { + KnownCaip19Id, + TokenCaipAssetTypeFromStringStruct, + TokenCaipAssetTypeStruct, +} from './solana'; + +describe('TokenCaipAssetTypeStruct', () => { + describe('validates correct CAIP-19 token IDs', () => { + it('validates known CAIP-19 IDs from the enum', () => { + const validIds = [ + KnownCaip19Id.UsdcMainnet, + KnownCaip19Id.UsdcDevnet, + KnownCaip19Id.UsdcLocalnet, + KnownCaip19Id.EurcMainnet, + KnownCaip19Id.EurcDevnet, + KnownCaip19Id.EurcLocalnet, + KnownCaip19Id.Ai16zLocalnet, + ]; + + validIds.forEach((id) => { + console.log(`Testing valid ID: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeStruct)).not.toThrow(); + expect(is(id, TokenCaipAssetTypeStruct)).toBe(true); + }); + }); + + it('validates test data from TokenApiClient tests', () => { + const testIds = [ + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:1GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + ]; + + testIds.forEach((id) => { + console.log(`Testing test ID: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeStruct)).not.toThrow(); + expect(is(id, TokenCaipAssetTypeStruct)).toBe(true); + }); + }); + + it('validates USDC address format', () => { + const usdcId = + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'; + console.log(`Testing USDC ID: ${usdcId}`); + expect(() => assert(usdcId, TokenCaipAssetTypeStruct)).not.toThrow(); + expect(is(usdcId, TokenCaipAssetTypeStruct)).toBe(true); + }); + }); + + describe('rejects invalid CAIP-19 token IDs', () => { + it('rejects malformed IDs', () => { + const invalidIds = [ + 'bad-asset-id', + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:', // missing token address + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token', // missing colon + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/extra', // extra parts + 'eip155:1/token:0x123', // wrong chain + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501', // wrong asset type + ]; + + invalidIds.forEach((id) => { + console.log(`Testing invalid ID: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeStruct)).toThrow( + 'Expected a string matching', + ); + expect(is(id, TokenCaipAssetTypeStruct)).toBe(false); + }); + }); + + it('rejects IDs with special characters in token address', () => { + const invalidIds = [ + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5@ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // @ character + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5-ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // - character + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5_ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // _ character + ]; + + invalidIds.forEach((id) => { + console.log(`Testing ID with special chars: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeStruct)).toThrow( + 'Expected a string matching', + ); + expect(is(id, TokenCaipAssetTypeStruct)).toBe(false); + }); + }); + }); +}); + +describe('TokenCaipAssetTypeFromStringStruct', () => { + describe('validates and returns correct CAIP-19 token IDs', () => { + it('validates known CAIP-19 IDs from the enum', () => { + const validIds = [ + KnownCaip19Id.UsdcMainnet, + KnownCaip19Id.UsdcDevnet, + KnownCaip19Id.UsdcLocalnet, + KnownCaip19Id.EurcMainnet, + KnownCaip19Id.EurcDevnet, + KnownCaip19Id.EurcLocalnet, + KnownCaip19Id.Ai16zLocalnet, + ]; + + validIds.forEach((id) => { + console.log(`Testing valid ID: ${id}`); + expect(() => + assert(id, TokenCaipAssetTypeFromStringStruct), + ).not.toThrow(); + expect(is(id, TokenCaipAssetTypeFromStringStruct)).toBe(true); + }); + }); + + it('validates test data from TokenApiClient tests', () => { + const testIds = [ + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:1GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + ]; + + testIds.forEach((id) => { + console.log(`Testing test ID: ${id}`); + expect(() => + assert(id, TokenCaipAssetTypeFromStringStruct), + ).not.toThrow(); + expect(is(id, TokenCaipAssetTypeFromStringStruct)).toBe(true); + }); + }); + + it('validates USDC address format', () => { + const usdcId = + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'; + console.log(`Testing USDC ID: ${usdcId}`); + expect(() => + assert(usdcId, TokenCaipAssetTypeFromStringStruct), + ).not.toThrow(); + expect(is(usdcId, TokenCaipAssetTypeFromStringStruct)).toBe(true); + }); + }); + + describe('rejects invalid inputs', () => { + it('rejects non-string values', () => { + const invalidValues = [123, null, undefined, {}, [], true, false]; + + invalidValues.forEach((value) => { + console.log( + `Testing non-string value: ${typeof value} - ${JSON.stringify(value)}`, + ); + expect(() => assert(value, TokenCaipAssetTypeFromStringStruct)).toThrow( + 'Expected a string', + ); + expect(is(value, TokenCaipAssetTypeFromStringStruct)).toBe(false); + }); + }); + + it('rejects malformed string IDs', () => { + const invalidIds = [ + 'bad-asset-id', + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:', // missing token address + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token', // missing colon + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/extra', // extra parts + 'eip155:1/token:0x123', // wrong chain + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501', // wrong asset type + ]; + + invalidIds.forEach((id) => { + console.log(`Testing invalid string ID: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeFromStringStruct)).toThrow( + 'Expected a string matching', + ); + expect(is(id, TokenCaipAssetTypeFromStringStruct)).toBe(false); + }); + }); + + it('rejects IDs with special characters in token address', () => { + const invalidIds = [ + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5@ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // @ character + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5-ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // - character + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5_ufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // _ character + ]; + + invalidIds.forEach((id) => { + console.log(`Testing string ID with special chars: ${id}`); + expect(() => assert(id, TokenCaipAssetTypeFromStringStruct)).toThrow( + 'Expected a string matching', + ); + expect(is(id, TokenCaipAssetTypeFromStringStruct)).toBe(false); + }); + }); + }); +}); + +describe('Integration tests with actual API data', () => { + it('validates the exact format from TokenApiClient test data', () => { + const mockApiResponse = [ + { + decimals: 9, + assetId: + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:1GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + name: 'Popcat 1', + symbol: 'POPCAT', + }, + { + decimals: 9, + assetId: + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr', + name: 'Popcat 2', + symbol: 'POPCAT', + }, + ]; + + mockApiResponse.forEach((item) => { + console.log(`Testing API response assetId: ${item.assetId}`); + expect(() => + assert(item.assetId, TokenCaipAssetTypeFromStringStruct), + ).not.toThrow(); + expect(is(item.assetId, TokenCaipAssetTypeFromStringStruct)).toBe(true); + }); + }); + + it('validates real USDC addresses from the codebase', () => { + const realUsdcAddresses = [ + 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // Mainnet + 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/token:4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU', // Devnet + ]; + + realUsdcAddresses.forEach((address) => { + console.log(`Testing real USDC address: ${address}`); + expect(() => + assert(address, TokenCaipAssetTypeFromStringStruct), + ).not.toThrow(); + expect(is(address, TokenCaipAssetTypeFromStringStruct)).toBe(true); + }); + }); +}); diff --git a/packages/snap/src/core/constants/solana.ts b/packages/snap/src/core/constants/solana.ts index 261190969..debf50765 100644 --- a/packages/snap/src/core/constants/solana.ts +++ b/packages/snap/src/core/constants/solana.ts @@ -1,3 +1,4 @@ +import { define, pattern, string } from '@metamask/superstruct'; import { address } from '@solana/kit'; /* eslint-disable no-restricted-globals */ @@ -34,6 +35,56 @@ export enum KnownCaip19Id { Ai16zLocalnet = `${Network.Localnet}/token:HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC`, } +export type NativeCaipAssetType = `${Network}/slip44:501`; +export type TokenCaipAssetType = `${Network}/token:${string}`; +export type NftCaipAssetType = `${Network}/nft:${string}`; + +/** + * Validates a Solana native CAIP-19 ID (e.g., "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501") + */ +export const NativeCaipAssetTypeStruct = pattern( + string(), + /^solana:[a-zA-Z0-9]+\/slip44:501$/u, +); + +/** + * Validates a Solana token CAIP-19 ID (e.g., "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v") + */ +export const TokenCaipAssetTypeStruct = pattern( + string(), + /^solana:[a-zA-Z0-9]+\/token:[a-zA-Z0-9]+$/u, +); + +/** + * Validates a Solana NFT CAIP-19 ID (e.g., "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/nft:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v") + */ +export const NftCaipAssetTypeStruct = pattern( + string(), + /^solana:[a-zA-Z0-9]+\/nft:[a-zA-Z0-9]+$/u, +); + +/** + * Custom struct that validates a string and returns it as TokenCaipAssetType + * This is useful when the API returns a generic string that needs to be validated + * and typed as TokenCaipAssetType + */ +export const TokenCaipAssetTypeFromStringStruct = define( + 'TokenCaipAssetTypeFromString', + (value) => { + if (typeof value !== 'string') { + return `Expected a string, but received: ${typeof value}`; + } + + const [error] = TokenCaipAssetTypeStruct.validate(value); + + if (error) { + return error; + } + + return true; + }, +); + export const NETWORK_TO_EXPLORER_CLUSTER = { [Network.Mainnet]: undefined, [Network.Devnet]: 'devnet', diff --git a/packages/snap/src/core/handlers/onAssetsLookup/onAssetsLookup.ts b/packages/snap/src/core/handlers/onAssetsLookup/onAssetsLookup.ts index 3f6c4a5e0..97dbd8736 100644 --- a/packages/snap/src/core/handlers/onAssetsLookup/onAssetsLookup.ts +++ b/packages/snap/src/core/handlers/onAssetsLookup/onAssetsLookup.ts @@ -1,6 +1,12 @@ +import type { CaipAssetType, FungibleAssetMetadata } from '@metamask/snaps-sdk'; import { type OnAssetsLookupHandler } from '@metamask/snaps-sdk'; +import { parseCaipAssetType } from '@metamask/utils'; -import { tokenMetadataClient } from '../../../snapContext'; +import { assetsService } from '../../../snapContext'; +import type { + NativeCaipAssetType, + TokenCaipAssetType, +} from '../../constants/solana'; import logger from '../../utils/logger'; export const onAssetsLookup: OnAssetsLookupHandler = async (params) => { @@ -8,8 +14,17 @@ export const onAssetsLookup: OnAssetsLookupHandler = async (params) => { const { assets } = params; - const metadata = - await tokenMetadataClient.getTokenMetadataFromAddresses(assets); + /** + * TODO: Remove me when we have the new version of Snaps SDK + */ + const fungibleAssets = assets.filter((asset) => { + const { assetNamespace } = parseCaipAssetType(asset); + return assetNamespace === 'token' || assetNamespace === 'solana'; + }) as (TokenCaipAssetType | NativeCaipAssetType)[]; + + const metadata = (await assetsService.getAssetsMetadata( + fungibleAssets, + )) as Record; return { assets: metadata }; }; diff --git a/packages/snap/src/core/handlers/onKeyringRequest/Keyring.ts b/packages/snap/src/core/handlers/onKeyringRequest/Keyring.ts index 0e094b87d..d8f85cade 100644 --- a/packages/snap/src/core/handlers/onKeyringRequest/Keyring.ts +++ b/packages/snap/src/core/handlers/onKeyringRequest/Keyring.ts @@ -340,7 +340,6 @@ export class SolanaKeyring implements Keyring { validateRequest({ accountId }, ListAccountAssetsStruct); const account = await this.getAccountOrThrow(accountId); - const result = await this.#assetsService.listAccountAssets(account); validateResponse(result, ListAccountAssetsResponseStruct); diff --git a/packages/snap/src/core/services/assets/AssetsService.test.ts b/packages/snap/src/core/services/assets/AssetsService.test.ts index 8631dcdd8..08810188b 100644 --- a/packages/snap/src/core/services/assets/AssetsService.test.ts +++ b/packages/snap/src/core/services/assets/AssetsService.test.ts @@ -4,6 +4,8 @@ import { emitSnapKeyringEvent } from '@metamask/keyring-snap-sdk'; import type { ICache } from '../../caching/ICache'; import { InMemoryCache } from '../../caching/InMemoryCache'; +import { MOCK_NFTS_LIST_RESPONSE_MAPPED } from '../../clients/nft-api/mocks/mockNftsListResponseMapped'; +import type { NftApiClient } from '../../clients/nft-api/NftApiClient'; import { KnownCaip19Id, Network } from '../../constants/solana'; import type { Serializable } from '../../serialization/types'; import { @@ -44,6 +46,7 @@ describe('AssetsService', () => { let mockConfigProvider: ConfigProvider; let mockTokenMetadataService: TokenMetadataService; let mockTokenPricesService: TokenPricesService; + let mockNftApiClient: NftApiClient; let mockState: IStateManager; let stateUpdateSpy: jest.SpyInstance; let mockCache: ICache; @@ -76,6 +79,12 @@ describe('AssetsService', () => { mockCache = new InMemoryCache(logger); + mockNftApiClient = { + listAddressSolanaNfts: jest + .fn() + .mockResolvedValue(MOCK_NFTS_LIST_RESPONSE_MAPPED.items), + } as unknown as NftApiClient; + stateUpdateSpy = jest.spyOn(mockState, 'update'); const snap = { @@ -91,6 +100,7 @@ describe('AssetsService', () => { tokenMetadataService: mockTokenMetadataService, tokenPricesService: mockTokenPricesService, cache: mockCache, + nftApiClient: mockNftApiClient, }); }); @@ -101,12 +111,16 @@ describe('AssetsService', () => { scopes: [Network.Localnet], }; + // Mock NFT API to return empty array for this test + jest + .spyOn(mockNftApiClient, 'listAddressSolanaNfts') + .mockResolvedValueOnce([]); + const assets = await assetsService.listAccountAssets(mockAccount); expect(assets).toStrictEqual([ SOLANA_MOCK_TOKEN.assetType, ...SOLANA_MOCK_SPL_TOKENS.map((token) => token.assetType), - ...SOLANA_MOCK_SPL_TOKENS.map((token) => token.assetType), ]); }); }); diff --git a/packages/snap/src/core/services/assets/AssetsService.ts b/packages/snap/src/core/services/assets/AssetsService.ts index 8a634f2ac..ac695304d 100644 --- a/packages/snap/src/core/services/assets/AssetsService.ts +++ b/packages/snap/src/core/services/assets/AssetsService.ts @@ -1,7 +1,10 @@ import type { Balance } from '@metamask/keyring-api'; import { KeyringEvent } from '@metamask/keyring-api'; import { emitSnapKeyringEvent } from '@metamask/keyring-snap-sdk'; -import type { FungibleAssetMarketData } from '@metamask/snaps-sdk'; +import type { + FungibleAssetMarketData, + FungibleAssetMetadata, +} from '@metamask/snaps-sdk'; import type { CaipAssetType } from '@metamask/utils'; import { Duration, parseCaipAssetType } from '@metamask/utils'; import { TOKEN_PROGRAM_ADDRESS } from '@solana-program/token'; @@ -12,6 +15,13 @@ import { map, uniq } from 'lodash'; import type { SolanaKeyringAccount } from '../../../entities'; import type { ICache } from '../../caching/ICache'; import { useCache } from '../../caching/useCache'; +import type { NftApiClient } from '../../clients/nft-api/NftApiClient'; +import type { + Caip10Address, + NativeCaipAssetType, + NftCaipAssetType, + TokenCaipAssetType, +} from '../../constants/solana'; import { Network, SolanaCaip19Tokens, @@ -34,6 +44,7 @@ import type { IStateManager } from '../state/IStateManager'; import type { UnencryptedStateValue } from '../state/State'; import type { TokenMetadataService } from '../token-metadata/TokenMetadata'; import type { TokenPricesService } from '../token-prices/TokenPrices'; +import type { AssetMetadata, NonFungibleAssetMetadata } from './type'; /** * Extends a token account as returned by the `getTokenAccountsByOwner` RPC method with the scope and the caip-19 asset type for convenience. @@ -59,6 +70,10 @@ export class AssetsService { readonly #cache: ICache; + readonly #nftApiClient: NftApiClient; + + readonly #activeNetworks: Network[]; + public static readonly cacheTtlsMilliseconds = { tokenAccountsByOwner: 5 * Duration.Second, }; @@ -71,6 +86,7 @@ export class AssetsService { tokenMetadataService, tokenPricesService, cache, + nftApiClient, }: { connection: SolanaConnection; logger: ILogger; @@ -79,6 +95,7 @@ export class AssetsService { tokenMetadataService: TokenMetadataService; tokenPricesService: TokenPricesService; cache: ICache; + nftApiClient: NftApiClient; }) { this.#logger = logger; this.#connection = connection; @@ -87,6 +104,41 @@ export class AssetsService { this.#tokenMetadataService = tokenMetadataService; this.#tokenPricesService = tokenPricesService; this.#cache = cache; + this.#nftApiClient = nftApiClient; + this.#activeNetworks = configProvider.get().activeNetworks; + } + + async #listAddressNativeAssets(): Promise { + const nativeAssetsIds = this.#activeNetworks.map( + (network) => `${network}/${SolanaCaip19Tokens.SOL}` as const, + ); + + return nativeAssetsIds; + } + + async #listAddressTokenAssets( + address: Address, + ): Promise { + const tokenAccounts = await this.#getTokenAccountsByOwnerMultiple( + asAddress(address), + [TOKEN_PROGRAM_ADDRESS, TOKEN_2022_PROGRAM_ADDRESS], + this.#activeNetworks, + ); + const tokenIds = tokenAccounts.map( + (token) => token.assetType, + ) as TokenCaipAssetType[]; + + return tokenIds; + } + + async #listAddressNftAssets(address: Address): Promise { + const nftAssets = await this.#nftApiClient.listAddressSolanaNfts(address); + + const nftAssetsIds = nftAssets.map( + (nft) => `${Network.Mainnet}/nft:${nft.tokenAddress}` as NftCaipAssetType, + ); + + return nftAssetsIds; } /** @@ -98,21 +150,140 @@ export class AssetsService { async listAccountAssets( account: SolanaKeyringAccount, ): Promise { - const { activeNetworks } = this.#configProvider.get(); + const accountAddress = asAddress(account.address); + + const [nativeAssetsIds, tokenAssetsIds, nftAssetsIds] = await Promise.all([ + this.#listAddressNativeAssets(), + this.#listAddressTokenAssets(accountAddress), + this.#listAddressNftAssets(accountAddress), + ]); - const nativeAssetTypes = activeNetworks.map( - (network) => `${network}/${SolanaCaip19Tokens.SOL}` as CaipAssetType, + return uniq([...nativeAssetsIds, ...tokenAssetsIds, ...nftAssetsIds]); + } + + #splitAssetsByType(assetTypes: CaipAssetType[]) { + const nativeAssetTypes = assetTypes.filter((assetType) => + assetType.endsWith(SolanaCaip19Tokens.SOL), + ) as NativeCaipAssetType[]; + const tokenAssetTypes = assetTypes.filter((assetType) => + assetType.includes('/token:'), + ) as TokenCaipAssetType[]; + const nftAssetTypes = assetTypes.filter((assetType) => + assetType.includes('/nft:'), + ) as NftCaipAssetType[]; + + return { nativeAssetTypes, tokenAssetTypes, nftAssetTypes }; + } + + getNativeTokensMetadata( + assetTypes: NativeCaipAssetType[], + ): Record { + const nativeTokensMetadata: Record< + CaipAssetType, + FungibleAssetMetadata | null + > = {}; + + for (const assetType of assetTypes) { + const { chainId } = parseCaipAssetType(assetType); + nativeTokensMetadata[assetType] = { + name: 'Solana', + symbol: 'SOL', + fungible: true, + iconUrl: `${this.#configProvider.get().staticApi.baseUrl}/api/v2/tokenIcons/assets/solana/${chainId}/slip44/501.png`, + units: [ + { + name: 'Solana', + symbol: 'SOL', + decimals: 9, + }, + ], + }; + } + + return nativeTokensMetadata; + } + + async getTokensMetadata( + assetTypes: TokenCaipAssetType[], + ): Promise> { + const tokensMetadata = + await this.#tokenMetadataService.getTokensMetadata(assetTypes); + + return tokensMetadata; + } + + async getNftsMetadata( + assetTypes: NftCaipAssetType[], + ): Promise> { + const nftsMetadata = await this.#nftApiClient.getNftsMetadata( + assetTypes.map((assetType) => { + const { assetReference } = parseCaipAssetType(assetType); + return assetReference; + }), ); - const tokenAssetTypes = ( - await this.#getTokenAccountsByOwnerMultiple( - asAddress(account.address), - [TOKEN_PROGRAM_ADDRESS, TOKEN_2022_PROGRAM_ADDRESS], - activeNetworks, - ) - ).flatMap((response) => response.assetType); + const nftsMetadataMap: Record = + {}; + + assetTypes.forEach((assetType, index) => { + const nftMetadata = nftsMetadata[index]; + + if (!nftMetadata) { + return; + } - return [...nativeAssetTypes, ...tokenAssetTypes]; + const metadata = { + name: nftMetadata.name, + symbol: nftMetadata.name, + imageUrl: nftMetadata.imageUrl, + description: nftMetadata.description, + fungible: false as const, + isPossibleSpam: false, // FIXME: The isSpam should be part of the NFT item response, not balance, otherwise we can't get it here + attributes: Object.fromEntries( + nftMetadata.attributes.map( + (attr: { key: string; value: string | number }) => [ + attr.key, + attr.value, + ], + ), + ), + collection: { + name: nftMetadata.collectionName, + address: nftMetadata.onchainCollectionAddress as Caip10Address, + symbol: nftMetadata.collectionSymbol, + tokenCount: nftMetadata.collectionCount, + creator: '' as Caip10Address, // FIXME: There can be more than one creator + imageUrl: nftMetadata.collectionImageUrl ?? '', + }, + }; + + nftsMetadataMap[assetType] = metadata; + }); + + return nftsMetadataMap; + } + + async getAssetsMetadata( + assetTypes: CaipAssetType[], + ): Promise> { + const { nativeAssetTypes, tokenAssetTypes, nftAssetTypes } = + this.#splitAssetsByType(assetTypes); + + const [ + nativeTokensMetadata, + tokensMetadata, + // nftMetadata, + ] = await Promise.all([ + this.getNativeTokensMetadata(nativeAssetTypes), + this.getTokensMetadata(tokenAssetTypes), + // this.getNftsMetadata(nftAssetTypes), + ]); + + return { + ...nativeTokensMetadata, + ...tokensMetadata, + // ...nftMetadata, + }; } /** @@ -206,12 +377,67 @@ export class AssetsService { async getAccountBalances( account: SolanaKeyringAccount, assetTypes: CaipAssetType[], + ): Promise> { + /** + * There will be 3 sources of balances data: + * - The balances for native assets, which are fetched from the RPC + * - The balances for token assets, which are fetched from the token accounts + * - The balances for NFT assets, which are always 1 + */ + const { nativeAssetTypes, tokenAssetTypes, nftAssetTypes } = + this.#splitAssetsByType(assetTypes); + + const [ + nativeBalances, + tokenBalances, + // nftBalances + ] = await Promise.all([ + this.#getNativeBalances(account, nativeAssetTypes), + this.#getTokenBalances(account, tokenAssetTypes), + // this.#getNftBalances(account, nftAssetTypes), + ]); + + return { + ...nativeBalances, + ...tokenBalances, + // ...nftBalances, + }; + } + + async #getNativeBalances( + account: SolanaKeyringAccount, + assetIds: NativeCaipAssetType[], + ): Promise> { + const accountAddress = asAddress(account.address); + + const balancePromises = assetIds.map(async (assetId) => { + const balance = await this.#connection + .getRpc(getNetworkFromToken(assetId)) + .getBalance(accountAddress) + .send(); + + return [ + assetId, + { + unit: 'SOL', + amount: fromTokenUnits(balance.value, 9), + }, + ] as const; + }); + + const results = await Promise.all(balancePromises); + return Object.fromEntries(results); + } + + async #getTokenBalances( + account: SolanaKeyringAccount, + assetIds: TokenCaipAssetType[], ): Promise> { const accountAddress = asAddress(account.address); const tokensMetadata = - await this.#tokenMetadataService.getTokensMetadata(assetTypes); + await this.#tokenMetadataService.getTokensMetadata(assetIds); - const scopes = uniq(map(assetTypes, getNetworkFromToken)); + const scopes = uniq(map(assetIds, getNetworkFromToken)); const programIds = [TOKEN_PROGRAM_ADDRESS, TOKEN_2022_PROGRAM_ADDRESS]; const tokenAccounts = await this.#getTokenAccountsByOwnerMultiple( accountAddress, @@ -222,28 +448,14 @@ export class AssetsService { const balances: Record = {}; // For each requested asset type, retrieve the balance and metadata, and store that in the balances object - const promises = assetTypes.map(async (assetType) => { - const { chainId } = parseCaipAssetType(assetType); - const isNative = assetType.endsWith(SolanaCaip19Tokens.SOL); - - let balance: bigint; - - if (isNative) { - balance = ( - await this.#connection - .getRpc(chainId as Network) - .getBalance(accountAddress) - .send() - ).value; - } else { - const tokenAccount = tokenAccounts.find( - (item: any) => item.assetType === assetType, - ); + const promises = assetIds.map(async (assetType) => { + const tokenAccount = tokenAccounts.find( + (item: any) => item.assetType === assetType, + ); - balance = tokenAccount - ? BigInt(tokenAccount.account.data.parsed.info.tokenAmount.amount) - : BigInt(0); // If the user has no token account linked to a requested mint, default to 0 - } + const balance = tokenAccount + ? BigInt(tokenAccount.account.data.parsed.info.tokenAmount.amount) + : BigInt(0); // If the user has no token account linked to a requested mint, default to 0 const metadata = tokensMetadata[assetType]; @@ -267,6 +479,36 @@ export class AssetsService { return balances; } + async #getNftBalances( + account: SolanaKeyringAccount, + assetIds: NftCaipAssetType[], + ): Promise> { + const accountAddress = asAddress(account.address); + + const nftAssets = + await this.#nftApiClient.listAddressSolanaNfts(accountAddress); + const balances: Record = {}; + + for (const assetId of assetIds) { + const { assetReference } = parseCaipAssetType(assetId); + + const nftAsset = nftAssets.find( + (nft) => nft.tokenAddress === assetReference, + ); + + if (!nftAsset) { + continue; + } + + balances[assetId] = { + unit: nftAsset.nftToken.name, + amount: nftAsset.balance.toString(), + }; + } + + return balances; + } + /** * Fetches the assets for the given accounts and updates the state accordingly. Also emits events for any changes. * diff --git a/packages/snap/src/core/services/assets/type.ts b/packages/snap/src/core/services/assets/type.ts new file mode 100644 index 000000000..cd1ca8ac8 --- /dev/null +++ b/packages/snap/src/core/services/assets/type.ts @@ -0,0 +1,55 @@ +import type { FungibleAssetMetadata } from '@metamask/snaps-sdk'; + +import type { Caip10Address } from '../../constants/solana'; + +export type NonFungibleAssetCollection = { + // Human-friendly name of the asset collection. + name: string; + + // The collection address. + address: Caip10Address; + + // Ticker symbol of the asset collection. + symbol: string; + + // The number of tokens in the collection. + tokenCount?: number; + + // The creator address of the asset. + creator?: Caip10Address; + + // Base64 data URI or URL representation of the asset icon. + imageUrl?: string; +}; + +export type NonFungibleAssetMetadata = { + // Human-friendly name of the asset. + name?: string; + + // Ticker symbol of the asset. + symbol?: string; + + // Base64 data URI or URL representation of the asset image. + imageUrl?: string; + + // The description of the asset. + description?: string; + + // Represents a non-fungible asset + fungible: false; + + // The time at which the asset was acquired. + // The time is represented as a UNIX timestamp. + acquiredAt?: number; + + // Indicates whether the asset is possibly a spam asset. + isPossibleSpam?: boolean; + + // Attributes of the non-fungible asset. + attributes?: Record; + + // The collection of the asset. + collection?: NonFungibleAssetCollection; +}; + +export type AssetMetadata = FungibleAssetMetadata | NonFungibleAssetMetadata; diff --git a/packages/snap/src/core/services/config/ConfigProvider.ts b/packages/snap/src/core/services/config/ConfigProvider.ts index a76e7de8f..158e49e8a 100644 --- a/packages/snap/src/core/services/config/ConfigProvider.ts +++ b/packages/snap/src/core/services/config/ConfigProvider.ts @@ -8,6 +8,7 @@ import { object, string, } from '@metamask/superstruct'; +import { Duration } from '@metamask/utils'; import { Network, Networks } from '../../constants/solana'; import { UrlStruct } from '../../validation/structs'; @@ -45,6 +46,7 @@ const EnvStruct = object({ TOKEN_API_BASE_URL: UrlStruct, STATIC_API_BASE_URL: UrlStruct, SECURITY_ALERTS_API_BASE_URL: UrlStruct, + NFT_API_BASE_URL: UrlStruct, LOCAL_API_BASE_URL: string(), }); @@ -77,6 +79,13 @@ export type Config = { securityAlertsApi: { baseUrl: string; }; + nftApi: { + baseUrl: string; + cacheTtlsMilliseconds: { + listAddressSolanaNfts: number; + getNftMetadata: number; + }; + }; subscription: { maxReconnectAttempts: number; reconnectDelayMilliseconds: number; @@ -118,6 +127,8 @@ export class ConfigProvider { STATIC_API_BASE_URL: process.env.STATIC_API_BASE_URL, SECURITY_ALERTS_API_BASE_URL: process.env.SECURITY_ALERTS_API_BASE_URL, // Blockaid LOCAL_API_BASE_URL: process.env.LOCAL_API_BASE_URL, + // NFT API + NFT_API_BASE_URL: process.env.NFT_API_BASE_URL, }; // Validate and parse them before returning @@ -177,9 +188,19 @@ export class ConfigProvider { ? environment.LOCAL_API_BASE_URL : environment.SECURITY_ALERTS_API_BASE_URL, }, + nftApi: { + baseUrl: + environment.ENVIRONMENT === 'test' + ? environment.LOCAL_API_BASE_URL + : environment.NFT_API_BASE_URL, + cacheTtlsMilliseconds: { + listAddressSolanaNfts: Duration.Minute, + getNftMetadata: Duration.Minute, + }, + }, subscription: { maxReconnectAttempts: 5, - reconnectDelayMilliseconds: 1000, + reconnectDelayMilliseconds: Duration.Second, }, }; } diff --git a/packages/snap/src/core/services/token-metadata/TokenMetadata.test.ts b/packages/snap/src/core/services/token-metadata/TokenMetadata.test.ts index fc9e71da9..9fd135e0b 100644 --- a/packages/snap/src/core/services/token-metadata/TokenMetadata.test.ts +++ b/packages/snap/src/core/services/token-metadata/TokenMetadata.test.ts @@ -1,4 +1,5 @@ -import type { TokenMetadataClient } from '../../clients/token-metadata-client/TokenMetadataClient'; +import type { TokenApiClient } from '../../clients/token-api-client/TokenApiClient'; +import type { TokenCaipAssetType } from '../../constants/solana'; import { SOLANA_MOCK_SPL_TOKENS, SOLANA_MOCK_TOKEN_METADATA, @@ -8,13 +9,13 @@ import type { ILogger } from '../../utils/logger'; import { TokenMetadataService } from './TokenMetadata'; describe('TokenMetadataService', () => { - let tokenMetadataClient: TokenMetadataClient; + let tokenApiClient: TokenApiClient; let tokenMetadataService: TokenMetadataService; let logger: ILogger; beforeEach(() => { - tokenMetadataClient = { + tokenApiClient = { getTokenMetadataFromAddresses: jest.fn(), - } as unknown as TokenMetadataClient; + } as unknown as TokenApiClient; logger = { error: jest.fn(), @@ -22,7 +23,7 @@ describe('TokenMetadataService', () => { } as unknown as ILogger; tokenMetadataService = new TokenMetadataService({ - tokenMetadataClient, + tokenApiClient, logger, }); }); @@ -38,11 +39,11 @@ describe('TokenMetadataService', () => { const mockMetadata = SOLANA_MOCK_TOKEN_METADATA; jest - .spyOn(tokenMetadataClient, 'getTokenMetadataFromAddresses') + .spyOn(tokenApiClient, 'getTokenMetadataFromAddresses') .mockResolvedValue(mockMetadata); const result = await tokenMetadataService.getTokensMetadata( - tokens.map((token) => token.assetType), + tokens.map((token) => token.assetType as TokenCaipAssetType), ); expect(result).toStrictEqual(mockMetadata); @@ -53,12 +54,12 @@ describe('TokenMetadataService', () => { const error = new Error('Error fetching token metadata'); jest - .spyOn(tokenMetadataClient, 'getTokenMetadataFromAddresses') + .spyOn(tokenApiClient, 'getTokenMetadataFromAddresses') .mockRejectedValue(error); await expect( tokenMetadataService.getTokensMetadata( - tokens.map((token) => token.assetType), + tokens.map((token) => token.assetType as TokenCaipAssetType), ), ).rejects.toThrow('Error fetching token metadata'); }); diff --git a/packages/snap/src/core/services/token-metadata/TokenMetadata.ts b/packages/snap/src/core/services/token-metadata/TokenMetadata.ts index c82184531..920bcb5c4 100644 --- a/packages/snap/src/core/services/token-metadata/TokenMetadata.ts +++ b/packages/snap/src/core/services/token-metadata/TokenMetadata.ts @@ -1,27 +1,27 @@ -import type { CaipAssetType } from '@metamask/keyring-api'; import { getImageComponent } from '@metamask/snaps-sdk'; -import type { TokenMetadataClient } from '../../clients/token-metadata-client/TokenMetadataClient'; +import type { TokenApiClient } from '../../clients/token-api-client/TokenApiClient'; +import type { TokenCaipAssetType } from '../../constants/solana'; import QUESTION_MARK_SVG from '../../img/question-mark.svg'; import type { ILogger } from '../../utils/logger'; export class TokenMetadataService { - readonly #tokenMetadataClient: TokenMetadataClient; + readonly #tokenApiClient: TokenApiClient; readonly #logger: ILogger; constructor({ - tokenMetadataClient, + tokenApiClient, logger, }: { - tokenMetadataClient: TokenMetadataClient; + tokenApiClient: TokenApiClient; logger: ILogger; }) { - this.#tokenMetadataClient = tokenMetadataClient; + this.#tokenApiClient = tokenApiClient; this.#logger = logger; } - async getTokensMetadata(assetTypes: CaipAssetType[]) { + async getTokensMetadata(assetTypes: TokenCaipAssetType[]) { if (assetTypes.length === 0) { this.#logger.warn( `No tokens to get metadata for ${assetTypes.join(', ')}`, @@ -30,7 +30,7 @@ export class TokenMetadataService { } const tokenMetadata = - await this.#tokenMetadataClient.getTokenMetadataFromAddresses(assetTypes); + await this.#tokenApiClient.getTokenMetadataFromAddresses(assetTypes); return tokenMetadata; } diff --git a/packages/snap/src/core/services/transactions/TransactionsService.test.ts b/packages/snap/src/core/services/transactions/TransactionsService.test.ts index 8bcf2e5ba..3bdecd11f 100644 --- a/packages/snap/src/core/services/transactions/TransactionsService.test.ts +++ b/packages/snap/src/core/services/transactions/TransactionsService.test.ts @@ -17,6 +17,7 @@ import { ADDRESS_2_TRANSACTION_1_DATA } from '../../test/mocks/transactions-data import { ADDRESS_2_TRANSACTION_2_DATA } from '../../test/mocks/transactions-data/address-2/transaction-2'; import { ADDRESS_2_TRANSACTION_3_DATA } from '../../test/mocks/transactions-data/address-2/transaction-3'; import { ADDRESS_2_TRANSACTION_4_DATA } from '../../test/mocks/transactions-data/address-2/transaction-4'; +import type { AssetsService } from '../assets/AssetsService'; import { ConfigProvider } from '../config'; import type { SolanaConnection } from '../connection/SolanaConnection'; import { mockLogger } from '../mocks/logger'; @@ -27,7 +28,6 @@ import { DEFAULT_UNENCRYPTED_STATE, type UnencryptedStateValue, } from '../state/State'; -import type { TokenMetadataService } from '../token-metadata/TokenMetadata'; import { TransactionsService } from './TransactionsService'; import { mapRpcTransaction } from './utils/mapRpcTransaction'; @@ -38,24 +38,24 @@ jest.mock('@metamask/keyring-snap-sdk', () => ({ describe('TransactionsService', () => { let mockState: IStateManager; let mockConfigProvider: ConfigProvider; - let mockTokenMetadataService: TokenMetadataService; let mockConnection: SolanaConnection; + let mockAssetsService: AssetsService; let service: TransactionsService; beforeEach(() => { mockConfigProvider = new ConfigProvider(); mockConnection = createMockConnection(); - mockTokenMetadataService = { - getTokensMetadata: jest.fn(), - } as unknown as TokenMetadataService; + mockAssetsService = { + getAssetsMetadata: jest.fn(), + } as unknown as AssetsService; mockState = new InMemoryState(DEFAULT_UNENCRYPTED_STATE); service = new TransactionsService({ connection: mockConnection, logger: mockLogger, - tokenMetadataService: mockTokenMetadataService, + assetsService: mockAssetsService, state: mockState, configProvider: mockConfigProvider, }); @@ -181,7 +181,7 @@ describe('TransactionsService', () => { } as any); jest - .spyOn(mockTokenMetadataService, 'getTokensMetadata') + .spyOn(mockAssetsService, 'getAssetsMetadata') .mockResolvedValue({}); jest @@ -405,7 +405,7 @@ describe('TransactionsService', () => { } as any); jest - .spyOn(mockTokenMetadataService, 'getTokensMetadata') + .spyOn(mockAssetsService, 'getAssetsMetadata') .mockResolvedValue({}); jest diff --git a/packages/snap/src/core/services/transactions/TransactionsService.ts b/packages/snap/src/core/services/transactions/TransactionsService.ts index 35942bb36..014010f67 100644 --- a/packages/snap/src/core/services/transactions/TransactionsService.ts +++ b/packages/snap/src/core/services/transactions/TransactionsService.ts @@ -15,11 +15,11 @@ import { uniq, uniqBy } from 'lodash'; import type { SolanaKeyringAccount } from '../../../entities'; import { Network } from '../../constants/solana'; import type { ILogger } from '../../utils/logger'; +import type { AssetsService } from '../assets/AssetsService'; import type { ConfigProvider } from '../config'; import type { SolanaConnection } from '../connection'; import type { IStateManager } from '../state/IStateManager'; import type { UnencryptedStateValue } from '../state/State'; -import type { TokenMetadataService } from '../token-metadata/TokenMetadata'; import type { SignatureMapping } from './types'; import { isSpam } from './utils/isSpam'; import { mapRpcTransaction } from './utils/mapRpcTransaction'; @@ -29,7 +29,7 @@ export class TransactionsService { readonly #logger: ILogger; - readonly #tokenMetadataService: TokenMetadataService; + readonly #assetsService: AssetsService; readonly #state: IStateManager; @@ -38,18 +38,18 @@ export class TransactionsService { constructor({ logger, connection, - tokenMetadataService, + assetsService, state, configProvider, }: { logger: ILogger; connection: SolanaConnection; - tokenMetadataService: TokenMetadataService; + assetsService: AssetsService; state: IStateManager; configProvider: ConfigProvider; }) { this.#connection = connection; - this.#tokenMetadataService = tokenMetadataService; + this.#assetsService = assetsService; this.#logger = logger; this.#state = state; this.#configProvider = configProvider; @@ -562,20 +562,20 @@ export class TransactionsService { ), ]; - const tokenMetadata = - await this.#tokenMetadataService.getTokensMetadata(caip19Ids); + const assetsMetadata = + await this.#assetsService.getAssetsMetadata(caip19Ids); Object.keys(transactionsByAccount).forEach((accountId) => { transactionsByAccount[accountId]?.forEach((transaction) => { transaction.from.forEach((from) => { - if (from.asset?.fungible && tokenMetadata[from.asset.type]) { - from.asset.unit = tokenMetadata[from.asset.type]?.symbol ?? ''; + if (from.asset?.fungible && assetsMetadata[from.asset.type]) { + from.asset.unit = assetsMetadata[from.asset.type]?.symbol ?? ''; } }); transaction.to.forEach((to) => { - if (to.asset?.fungible && tokenMetadata[to.asset.type]) { - to.asset.unit = tokenMetadata[to.asset.type]?.symbol ?? ''; + if (to.asset?.fungible && assetsMetadata[to.asset.type]) { + to.asset.unit = assetsMetadata[to.asset.type]?.symbol ?? ''; } }); }); diff --git a/packages/snap/src/core/test/mocks/solana-assets.ts b/packages/snap/src/core/test/mocks/solana-assets.ts index 1f399d1bd..5976a6f3e 100644 --- a/packages/snap/src/core/test/mocks/solana-assets.ts +++ b/packages/snap/src/core/test/mocks/solana-assets.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/naming-convention */ +import type { FungibleAssetMetadata } from '@metamask/snaps-sdk'; import type { CaipAssetType } from '@metamask/utils'; import { TOKEN_PROGRAM_ADDRESS, type Mint } from '@solana-program/token'; import type { Account } from '@solana/kit'; import { address, lamports } from '@solana/kit'; -import type { SolanaTokenMetadata } from '../../clients/token-metadata-client/types'; import { KnownCaip19Id, Network, @@ -37,50 +37,51 @@ export const SOLANA_MOCK_SPL_TOKENS: SolanaAsset[] = [ }, ]; -export const SOLANA_MOCK_TOKEN_METADATA: Record = { - [KnownCaip19Id.SolLocalnet]: { - iconUrl: - 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/sol/logo.png', - name: 'Solana', - symbol: 'SOL', - fungible: true, - units: [ - { - decimals: 9, - name: 'Solana', - symbol: 'SOL', - }, - ], - }, - [KnownCaip19Id.UsdcLocalnet]: { - iconUrl: - 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png', - name: 'USDC', - symbol: 'USDC', - fungible: true, - units: [ - { - decimals: 6, - name: 'USDC', - symbol: 'USDC', - }, - ], - }, - [KnownCaip19Id.Ai16zLocalnet]: { - iconUrl: - 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC/logo.png', - name: 'ai16z', - symbol: 'AI16Z', - fungible: true, - units: [ - { - decimals: 9, - name: 'ai16z', - symbol: 'AI16Z', - }, - ], - }, -}; +export const SOLANA_MOCK_TOKEN_METADATA: Record = + { + [KnownCaip19Id.SolLocalnet]: { + iconUrl: + 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/sol/logo.png', + name: 'Solana', + symbol: 'SOL', + fungible: true, + units: [ + { + decimals: 9, + name: 'Solana', + symbol: 'SOL', + }, + ], + }, + [KnownCaip19Id.UsdcLocalnet]: { + iconUrl: + 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png', + name: 'USDC', + symbol: 'USDC', + fungible: true, + units: [ + { + decimals: 6, + name: 'USDC', + symbol: 'USDC', + }, + ], + }, + [KnownCaip19Id.Ai16zLocalnet]: { + iconUrl: + 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC/logo.png', + name: 'ai16z', + symbol: 'AI16Z', + fungible: true, + units: [ + { + decimals: 9, + name: 'ai16z', + symbol: 'AI16Z', + }, + ], + }, + }; // Sample responses from fetchMint method, exported by @solana-program/token export const MOCK_FETCH_MINT_RESPONSES: Record> = { diff --git a/packages/snap/src/core/utils/tokenAddressToCaip19.ts b/packages/snap/src/core/utils/tokenAddressToCaip19.ts index 590785e13..62cf74707 100644 --- a/packages/snap/src/core/utils/tokenAddressToCaip19.ts +++ b/packages/snap/src/core/utils/tokenAddressToCaip19.ts @@ -1,4 +1,4 @@ -import type { Network } from '../constants/solana'; +import type { Network, TokenCaipAssetType } from '../constants/solana'; /** * Converts a token address to a CAIP-19 identifier. @@ -10,6 +10,6 @@ import type { Network } from '../constants/solana'; export function tokenAddressToCaip19( scope: Network, address: string, -): `${string}:${string}/${string}:${string}` { +): TokenCaipAssetType { return `${scope}/token:${address}`; } diff --git a/packages/snap/src/features/send/render.test.tsx b/packages/snap/src/features/send/render.test.tsx index 3ddece123..8aac09c4e 100644 --- a/packages/snap/src/features/send/render.test.tsx +++ b/packages/snap/src/features/send/render.test.tsx @@ -360,6 +360,12 @@ describe('Send', () => { ...updatedContext3, stage: 'transaction-confirmation', feeEstimatedInSol: '0.000005', + selectedTokenMetadata: { + symbol: 'SOL', + name: 'Solana', + asset: KnownCaip19Id.SolLocalnet, + imageSvg: null, + }, }; expect(screen4).toRender(); diff --git a/packages/snap/src/features/send/render.tsx b/packages/snap/src/features/send/render.tsx index 2cc4695d0..b3a952aca 100644 --- a/packages/snap/src/features/send/render.tsx +++ b/packages/snap/src/features/send/render.tsx @@ -12,10 +12,10 @@ import { updateInterface, } from '../../core/utils/interface'; import { + assetsService, connection, priceApiClient, state, - tokenMetadataService, } from '../../snapContext'; import { Send } from './Send'; import type { SendContext } from './types'; @@ -109,8 +109,8 @@ export const renderSend: OnRpcRequestHandler = async ({ request }) => { const dialogPromise = showDialog(id); - const tokenMetadataPromise = tokenMetadataService - .getTokensMetadata([context.tokenCaipId]) + const tokenMetadataPromise = assetsService + .getAssetsMetadata([context.tokenCaipId]) .then((metadata) => { const tokenMetadata = metadata[context.tokenCaipId]; diff --git a/packages/snap/src/snapContext.ts b/packages/snap/src/snapContext.ts index 7c70ad77c..349a324bb 100644 --- a/packages/snap/src/snapContext.ts +++ b/packages/snap/src/snapContext.ts @@ -1,10 +1,11 @@ import type { ICache } from './core/caching/ICache'; import { InMemoryCache } from './core/caching/InMemoryCache'; import { StateCache } from './core/caching/StateCache'; +import { NftApiClient } from './core/clients/nft-api/NftApiClient'; import { PriceApiClient } from './core/clients/price-api/PriceApiClient'; import { SecurityAlertsApiClient } from './core/clients/security-alerts-api/SecurityAlertsApiClient'; -import { TokenMetadataClient } from './core/clients/token-metadata-client/TokenMetadataClient'; -import { ClientRequestHandler } from './core/handlers'; +import { TokenApiClient } from './core/clients/token-api-client/TokenApiClient'; +import { ClientRequestHandler } from './core/handlers/onClientRequest'; import { SolanaKeyring } from './core/handlers/onKeyringRequest/Keyring'; import type { Serializable } from './core/serialization/types'; import { @@ -111,11 +112,12 @@ const sendSplTokenBuilder = new SendSplTokenBuilder( transactionHelper, logger, ); -const tokenMetadataClient = new TokenMetadataClient(configProvider); const priceApiClient = new PriceApiClient(configProvider, inMemoryCache); +const tokenApiClient = new TokenApiClient(configProvider); +const nftApiClient = new NftApiClient(configProvider, inMemoryCache); const tokenMetadataService = new TokenMetadataService({ - tokenMetadataClient, + tokenApiClient, logger, }); @@ -130,12 +132,13 @@ const assetsService = new AssetsService({ tokenMetadataService, cache: inMemoryCache, tokenPricesService, + nftApiClient, }); const transactionsService = new TransactionsService({ logger, connection, - tokenMetadataService, + assetsService, state, configProvider, }); @@ -221,7 +224,7 @@ export { state, subscriptionRepository, subscriptionService, - tokenMetadataClient, + tokenApiClient, tokenMetadataService, tokenPricesService, transactionHelper,