diff --git a/analyzer/evmnfts/evm_nfts.go b/analyzer/evmnfts/evm_nfts.go index 87aa27961..5361f7934 100644 --- a/analyzer/evmnfts/evm_nfts.go +++ b/analyzer/evmnfts/evm_nfts.go @@ -118,6 +118,7 @@ func (p *processor) ProcessItem(ctx context.Context, batch *storage.QueryBatch, staleNFT.DownloadRound, nftData.MetadataURI, nftData.MetadataAccessed, + nftData.Metadata, nftData.Name, nftData.Description, nftData.Image, diff --git a/analyzer/queries/queries.go b/analyzer/queries/queries.go index 28e6ebb8c..64b9eaa6d 100644 --- a/analyzer/queries/queries.go +++ b/analyzer/queries/queries.go @@ -628,9 +628,10 @@ var ( last_download_round = $4, metadata_uri = $5, metadata_accessed = $6, - name = $7, - description = $8, - image = $9 + metadata = $7, + name = $8, + description = $9, + image = $10 WHERE runtime = $1 AND token_address = $2 AND diff --git a/analyzer/runtime/evm/client.go b/analyzer/runtime/evm/client.go index b59d94415..4e4a3c881 100644 --- a/analyzer/runtime/evm/client.go +++ b/analyzer/runtime/evm/client.go @@ -48,9 +48,10 @@ type EVMTokenMutableData struct { type EVMNFTData struct { MetadataURI string MetadataAccessed time.Time - Name string - Description string - Image string + Metadata *string + Name *string + Description *string + Image *string } type EVMTokenBalanceData struct { diff --git a/analyzer/runtime/evm/erc721.go b/analyzer/runtime/evm/erc721.go index 53af12e4f..96882f3d0 100644 --- a/analyzer/runtime/evm/erc721.go +++ b/analyzer/runtime/evm/erc721.go @@ -7,6 +7,7 @@ import ( "fmt" "io" "math/big" + "strings" "time" ethCommon "github.com/ethereum/go-ethereum/common" @@ -26,13 +27,13 @@ const MaxMetadataBytes = 10 * 1024 * 1024 // https://eips.ethereum.org/EIPS/eip-721 type ERC721AssetMetadata struct { // Name identifies the asset which this NFT represents - Name string `json:"name"` + Name *string `json:"name"` // Description describes the asset which this NFT represents - Description string `json:"description"` + Description *string `json:"description"` // Image is A URI pointing to a resource with mime type image/* // representing the asset which this NFT represents. (Additional // non-descriptive text from ERC-721 omitted.) - Image string `json:"image"` + Image *string `json:"image"` } func evmDownloadTokenERC721Mutable(ctx context.Context, logger *log.Logger, source nodeapi.RuntimeApiLite, round uint64, tokenEthAddr []byte) (*EVMTokenMutableData, error) { @@ -108,8 +109,10 @@ func evmDownloadNFTERC721Metadata(ctx context.Context, logger *log.Logger, sourc return nil } limitedReader := io.LimitReader(rc, MaxMetadataBytes) + var metadataBuilder strings.Builder + teeReader := io.TeeReader(limitedReader, &metadataBuilder) var metadata ERC721AssetMetadata - if err = json.NewDecoder(limitedReader).Decode(&metadata); err != nil { + if err = json.NewDecoder(teeReader).Decode(&metadata); err != nil { logger.Info("error decoding token metadata", "uri", nftData.MetadataURI, "err", err, @@ -118,6 +121,7 @@ func evmDownloadNFTERC721Metadata(ctx context.Context, logger *log.Logger, sourc if err = rc.Close(); err != nil { return fmt.Errorf("closing metadata reader: %w", err) } + nftData.Metadata = common.Ptr(metadataBuilder.String()) nftData.Name = metadata.Name nftData.Description = metadata.Description nftData.Image = metadata.Image diff --git a/api/spec/v1.yaml b/api/spec/v1.yaml index bf0a5bdfa..ddab9a4eb 100644 --- a/api/spec/v1.yaml +++ b/api/spec/v1.yaml @@ -2689,6 +2689,10 @@ components: type: string metadata_accessed: type: string + metadata: + description: | + A metadata document for this NFT instance. + Currently only ERC-721 is supported, where the document is an Asset Metadata from the ERC721 Metadata JSON Schema. name: type: string description: Identifies the asset which this NFT represents diff --git a/storage/client/client.go b/storage/client/client.go index 735bae9c0..0bfe46074 100644 --- a/storage/client/client.go +++ b/storage/client/client.go @@ -1603,6 +1603,7 @@ func (c *StorageClient) RuntimeEVMNFTs(ctx context.Context, limit *uint64, offse &ownerAddrData, &nft.MetadataUri, &metadataAccessedN, + &nft.Metadata, &nft.Name, &nft.Description, &nft.Image, diff --git a/storage/client/queries/queries.go b/storage/client/queries/queries.go index 1b072226b..33f6935e9 100644 --- a/storage/client/queries/queries.go +++ b/storage/client/queries/queries.go @@ -522,6 +522,7 @@ const ( owner_preimage.address_data, chain.evm_nfts.metadata_uri, chain.evm_nfts.metadata_accessed, + chain.evm_nfts.metadata, chain.evm_nfts.name, chain.evm_nfts.description, chain.evm_nfts.image diff --git a/storage/migrations/23_evm_nfts.up.sql b/storage/migrations/23_evm_nfts.up.sql new file mode 100644 index 000000000..08d206fda --- /dev/null +++ b/storage/migrations/23_evm_nfts.up.sql @@ -0,0 +1,6 @@ +BEGIN; + +ALTER TABLE chain.evm_nfts + ADD COLUMN metadata JSONB; + +COMMIT; diff --git a/tests/e2e_regression/expected/emerald_account_nfts.body b/tests/e2e_regression/expected/emerald_account_nfts.body index 4e9562d9b..36564d477 100644 --- a/tests/e2e_regression/expected/emerald_account_nfts.body +++ b/tests/e2e_regression/expected/emerald_account_nfts.body @@ -4,6 +4,21 @@ "description": "Swarm Teddies are the first Teddy Bear-like collection in Oasis Network, coming from space, these awesome creatures are unique, exclusive and hand designed with dedication and love.Born from an original concept, Swarm Teddies consists of 1000 cute bear NFTs that quickly adapted to their favorite themes, these creatures are not here to take part, they are here to take over.", "id": "177", "image": "ipfs://QmctsL3PKCbu3QGNmVfu9opWC3ujFecKR9u2DjuAhWSqkD/Casual-102.png", + "metadata": { + "attributes": [ + { + "trait_type": "Tier", + "value": "Common" + }, + { + "trait_type": "Category", + "value": "Casual" + } + ], + "description": "Swarm Teddies are the first Teddy Bear-like collection in Oasis Network, coming from space, these awesome creatures are unique, exclusive and hand designed with dedication and love.Born from an original concept, Swarm Teddies consists of 1000 cute bear NFTs that quickly adapted to their favorite themes, these creatures are not here to take part, they are here to take over.", + "image": "ipfs://QmctsL3PKCbu3QGNmVfu9opWC3ujFecKR9u2DjuAhWSqkD/Casual-102.png", + "name": "Swarm Teddies" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmY256sTBaZ9beGAfuc7tM9P4ZagNHbB9HvkudZ5u5zvDT/661", "name": "Swarm Teddies", @@ -26,6 +41,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "227", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Team" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Squeezed" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Cowboy Hat" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643225209608, + "description": "The first Ape NFT project on Oasis!", + "dna": "8d905c51bacf53f91d31a07f4a0f64500434a8ef", + "edition": 227, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "name": " Oasis Apes #227" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/227.json", "name": " Oasis Apes #227", @@ -48,6 +122,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "466", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Red Tee" + }, + { + "trait_type": "eyes", + "value": "Makeup" + }, + { + "trait_type": "mouth", + "value": "Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643218184322, + "description": "The first Ape NFT project on Oasis!", + "dna": "30503f001a449191e74dba6238282865eda52106", + "edition": 466, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "name": " Oasis Apes #466" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/466.json", "name": " Oasis Apes #466", @@ -70,6 +203,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1087", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Mustard" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "None" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643217992688, + "description": "The first Ape NFT project on Oasis!", + "dna": "75de8e2bdd9720d8913208e16d01ac3f62a1716e", + "edition": 1087, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "name": " Oasis Apes #1087" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1087.json", "name": " Oasis Apes #1087", @@ -92,6 +284,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1297", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Gauges" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Dark Blue Tee" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Stubble" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643222370127, + "description": "The first Ape NFT project on Oasis!", + "dna": "36260914349982eb9d608bc6cf79bd426ab92eb8", + "edition": 1297, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "name": " Oasis Apes #1297" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1297.json", "name": " Oasis Apes #1297", @@ -114,6 +365,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1602", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Pierced" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Grass Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Letter S" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Rugby Helmet" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643227248728, + "description": "The first Ape NFT project on Oasis!", + "dna": "30686451912560dac20c96202f00e98aec1cbb07", + "edition": 1602, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "name": " Oasis Apes #1602" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1602.json", "name": " Oasis Apes #1602", @@ -136,6 +446,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1636", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Brown" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Striped Tee" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643226813248, + "description": "The first Ape NFT project on Oasis!", + "dna": "28449570785f4c7f236073aa140d4eb5c56003a3", + "edition": 1636, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "name": " Oasis Apes #1636" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1636.json", "name": " Oasis Apes #1636", @@ -158,6 +527,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1670", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Light Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cynic Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "Gold Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643228228700, + "description": "The first Ape NFT project on Oasis!", + "dna": "b32d2d16ae71fa6f80d2f12621ac1d6bd61d9ebf", + "edition": 1670, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "name": " Oasis Apes #1670" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1670.json", "name": " Oasis Apes #1670", @@ -180,6 +608,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1708", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Olive Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Closed" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Pierced" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643216585645, + "description": "The first Ape NFT project on Oasis!", + "dna": "2c7d63d776ce29fd91d4286a280af277862e9853", + "edition": 1708, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "name": " Oasis Apes #1708" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1708.json", "name": " Oasis Apes #1708", @@ -202,6 +689,53 @@ "description": "Brutally enhance RoseApe variant - 181", "id": "181", "image": "/181.png", + "metadata": { + "attributes": [ + { + "trait_type": "0background", + "value": "portrait_rose" + }, + { + "trait_type": "1baseape", + "value": "Gibbon_Anthophile" + }, + { + "trait_type": "2baseclothes", + "value": "tron" + }, + { + "trait_type": "3earrings", + "value": "neon" + }, + { + "trait_type": "4eyes", + "value": "wild_neon" + }, + { + "trait_type": "5headwear", + "value": "black_gold" + }, + { + "trait_type": "6mouth", + "value": "king" + }, + { + "trait_type": "7roses", + "value": "side" + }, + { + "trait_type": "8necklace", + "value": "rbg" + }, + { + "trait_type": "9crypto", + "value": "btc" + } + ], + "description": "Brutally enhance RoseApe variant - 181", + "image": "/181.png", + "name": "ROSEAPE#181" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmTymciMsxGjGbG24oVigctR87oDFfZugwKutpP3p5HSGc/181.json", "name": "ROSEAPE#181", @@ -221,12 +755,9 @@ } }, { - "description": "", "id": "862", - "image": "", "metadata_accessed": "UNINTERESTING", "metadata_uri": "https://airose.mypinata.cloud/ipfs/QmSEfuX5f33Pxet1HHq536aDwAE6eMFR5kLtBqPDxz9XRH/862", - "name": "", "owner": "oasis1qq92lk7kpqmvllhjvhlc282zp6v2e2t2rqrwuq2u", "owner_eth": "0x5cC0791892B04c6280F3a2aA64929bf6357544Bc", "token": { diff --git a/tests/e2e_regression/expected/emerald_account_nfts_token.body b/tests/e2e_regression/expected/emerald_account_nfts_token.body index 6edcfe12f..d1973191e 100644 --- a/tests/e2e_regression/expected/emerald_account_nfts_token.body +++ b/tests/e2e_regression/expected/emerald_account_nfts_token.body @@ -4,6 +4,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "227", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Team" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Squeezed" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Cowboy Hat" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643225209608, + "description": "The first Ape NFT project on Oasis!", + "dna": "8d905c51bacf53f91d31a07f4a0f64500434a8ef", + "edition": 227, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "name": " Oasis Apes #227" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/227.json", "name": " Oasis Apes #227", @@ -26,6 +85,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "466", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Red Tee" + }, + { + "trait_type": "eyes", + "value": "Makeup" + }, + { + "trait_type": "mouth", + "value": "Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643218184322, + "description": "The first Ape NFT project on Oasis!", + "dna": "30503f001a449191e74dba6238282865eda52106", + "edition": 466, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "name": " Oasis Apes #466" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/466.json", "name": " Oasis Apes #466", @@ -48,6 +166,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1087", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Mustard" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "None" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643217992688, + "description": "The first Ape NFT project on Oasis!", + "dna": "75de8e2bdd9720d8913208e16d01ac3f62a1716e", + "edition": 1087, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "name": " Oasis Apes #1087" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1087.json", "name": " Oasis Apes #1087", @@ -70,6 +247,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1297", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Gauges" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Dark Blue Tee" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Stubble" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643222370127, + "description": "The first Ape NFT project on Oasis!", + "dna": "36260914349982eb9d608bc6cf79bd426ab92eb8", + "edition": 1297, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "name": " Oasis Apes #1297" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1297.json", "name": " Oasis Apes #1297", @@ -92,6 +328,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1602", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Pierced" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Grass Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Letter S" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Rugby Helmet" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643227248728, + "description": "The first Ape NFT project on Oasis!", + "dna": "30686451912560dac20c96202f00e98aec1cbb07", + "edition": 1602, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "name": " Oasis Apes #1602" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1602.json", "name": " Oasis Apes #1602", @@ -114,6 +409,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1636", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Brown" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Striped Tee" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643226813248, + "description": "The first Ape NFT project on Oasis!", + "dna": "28449570785f4c7f236073aa140d4eb5c56003a3", + "edition": 1636, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "name": " Oasis Apes #1636" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1636.json", "name": " Oasis Apes #1636", @@ -136,6 +490,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1670", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Light Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cynic Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "Gold Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643228228700, + "description": "The first Ape NFT project on Oasis!", + "dna": "b32d2d16ae71fa6f80d2f12621ac1d6bd61d9ebf", + "edition": 1670, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "name": " Oasis Apes #1670" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1670.json", "name": " Oasis Apes #1670", @@ -158,6 +571,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1708", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Olive Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Closed" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Pierced" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643216585645, + "description": "The first Ape NFT project on Oasis!", + "dna": "2c7d63d776ce29fd91d4286a280af277862e9853", + "edition": 1708, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "name": " Oasis Apes #1708" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1708.json", "name": " Oasis Apes #1708", diff --git a/tests/e2e_regression/expected/emerald_token_nft.body b/tests/e2e_regression/expected/emerald_token_nft.body index 9cc0305a2..b9caad5be 100644 --- a/tests/e2e_regression/expected/emerald_token_nft.body +++ b/tests/e2e_regression/expected/emerald_token_nft.body @@ -2,6 +2,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "227", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Team" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Squeezed" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Cowboy Hat" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643225209608, + "description": "The first Ape NFT project on Oasis!", + "dna": "8d905c51bacf53f91d31a07f4a0f64500434a8ef", + "edition": 227, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "name": " Oasis Apes #227" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/227.json", "name": " Oasis Apes #227", diff --git a/tests/e2e_regression/expected/emerald_token_nfts.body b/tests/e2e_regression/expected/emerald_token_nfts.body index c3ceadff6..638f3e1cb 100644 --- a/tests/e2e_regression/expected/emerald_token_nfts.body +++ b/tests/e2e_regression/expected/emerald_token_nfts.body @@ -4,6 +4,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "227", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Team" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Squeezed" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Cowboy Hat" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643225209608, + "description": "The first Ape NFT project on Oasis!", + "dna": "8d905c51bacf53f91d31a07f4a0f64500434a8ef", + "edition": 227, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/227.png", + "name": " Oasis Apes #227" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/227.json", "name": " Oasis Apes #227", @@ -26,6 +85,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "466", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Red Tee" + }, + { + "trait_type": "eyes", + "value": "Makeup" + }, + { + "trait_type": "mouth", + "value": "Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643218184322, + "description": "The first Ape NFT project on Oasis!", + "dna": "30503f001a449191e74dba6238282865eda52106", + "edition": 466, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/466.png", + "name": " Oasis Apes #466" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/466.json", "name": " Oasis Apes #466", @@ -48,6 +166,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "753", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/753.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Navy Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Green Blue Oasis Tee" + }, + { + "trait_type": "eyes", + "value": "Unamused" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Robber" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643223744179, + "description": "The first Ape NFT project on Oasis!", + "dna": "b3eb93a04f1938a2317448274906acd1d74cb7f0", + "edition": 753, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/753.png", + "name": " Oasis Apes #753" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/753.json", "name": " Oasis Apes #753", @@ -70,6 +247,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1087", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Mustard" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "None" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643217992688, + "description": "The first Ape NFT project on Oasis!", + "dna": "75de8e2bdd9720d8913208e16d01ac3f62a1716e", + "edition": 1087, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1087.png", + "name": " Oasis Apes #1087" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1087.json", "name": " Oasis Apes #1087", @@ -92,6 +328,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1297", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Gauges" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Dark Blue" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Dark Blue Tee" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Stubble" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643222370127, + "description": "The first Ape NFT project on Oasis!", + "dna": "36260914349982eb9d608bc6cf79bd426ab92eb8", + "edition": 1297, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1297.png", + "name": " Oasis Apes #1297" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1297.json", "name": " Oasis Apes #1297", @@ -114,6 +409,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1336", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1336.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Olive Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Black Polo" + }, + { + "trait_type": "eyes", + "value": "Reptile" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Pierced" + }, + { + "trait_type": "headwear", + "value": "None" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643224843432, + "description": "The first Ape NFT project on Oasis!", + "dna": "4f552cacf1c64251228e774446bf10e2514d26e6", + "edition": 1336, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1336.png", + "name": " Oasis Apes #1336" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1336.json", "name": " Oasis Apes #1336", @@ -136,6 +490,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1427", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1427.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Grass Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Orange Tee" + }, + { + "trait_type": "eyes", + "value": "Makeup" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Harry Glasses" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643227927450, + "description": "The first Ape NFT project on Oasis!", + "dna": "403f9f08799936bb67722f5b35534365474e3e7c", + "edition": 1427, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1427.png", + "name": " Oasis Apes #1427" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1427.json", "name": " Oasis Apes #1427", @@ -158,6 +571,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1602", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Pierced" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Grass Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Letter S" + }, + { + "trait_type": "eyes", + "value": "Looking Up" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Sniff" + }, + { + "trait_type": "headwear", + "value": "Rugby Helmet" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643227248728, + "description": "The first Ape NFT project on Oasis!", + "dna": "30686451912560dac20c96202f00e98aec1cbb07", + "edition": 1602, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1602.png", + "name": " Oasis Apes #1602" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1602.json", "name": " Oasis Apes #1602", @@ -180,6 +652,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1636", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Cold" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Brown" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Striped Tee" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cigarette" + }, + { + "trait_type": "nose", + "value": "Brown" + }, + { + "trait_type": "headwear", + "value": "Lasers" + }, + { + "trait_type": "accessories", + "value": "Silver Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643226813248, + "description": "The first Ape NFT project on Oasis!", + "dna": "28449570785f4c7f236073aa140d4eb5c56003a3", + "edition": 1636, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1636.png", + "name": " Oasis Apes #1636" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1636.json", "name": " Oasis Apes #1636", @@ -202,6 +733,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1670", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Light Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Bloodshot" + }, + { + "trait_type": "mouth", + "value": "Cynic Smile" + }, + { + "trait_type": "nose", + "value": "Rosey" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "Gold Chain" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643228228700, + "description": "The first Ape NFT project on Oasis!", + "dna": "b32d2d16ae71fa6f80d2f12621ac1d6bd61d9ebf", + "edition": 1670, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1670.png", + "name": " Oasis Apes #1670" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1670.json", "name": " Oasis Apes #1670", @@ -224,6 +814,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "1708", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Olive Green" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Oasis Suit" + }, + { + "trait_type": "eyes", + "value": "Closed" + }, + { + "trait_type": "mouth", + "value": "Bored" + }, + { + "trait_type": "nose", + "value": "Pierced" + }, + { + "trait_type": "headwear", + "value": "Sunglasses" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643216585645, + "description": "The first Ape NFT project on Oasis!", + "dna": "2c7d63d776ce29fd91d4286a280af277862e9853", + "edition": 1708, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/1708.png", + "name": " Oasis Apes #1708" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/1708.json", "name": " Oasis Apes #1708", @@ -246,6 +895,65 @@ "description": "The first Ape NFT project on Oasis!", "id": "2546", "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/2546.png", + "metadata": { + "attributes": [ + { + "trait_type": "background", + "value": "Oasis" + }, + { + "trait_type": "ears", + "value": "Round" + }, + { + "trait_type": "chest", + "value": "chest" + }, + { + "trait_type": "fur", + "value": "Light Purple" + }, + { + "trait_type": "fur fill", + "value": "Fill" + }, + { + "trait_type": "lines", + "value": "lines" + }, + { + "trait_type": "clothing", + "value": "Blue Tee" + }, + { + "trait_type": "eyes", + "value": "Reptile" + }, + { + "trait_type": "mouth", + "value": "Squeezed" + }, + { + "trait_type": "nose", + "value": "Pierced" + }, + { + "trait_type": "headwear", + "value": "None" + }, + { + "trait_type": "accessories", + "value": "None" + } + ], + "compiler": "HashLips Art Engine", + "date": 1643227445302, + "description": "The first Ape NFT project on Oasis!", + "dna": "c68c98cb7b135ae1d0bc07242d58341ccaec5dbb", + "edition": 2546, + "image": "ipfs://QmQbbX9ZcA8Dfay94vJZrmvohub1oQfLtZ791DzD8DLmMx/2546.png", + "name": " Oasis Apes #2546" + }, "metadata_accessed": "UNINTERESTING", "metadata_uri": "ipfs://QmPKAuGQnJCM2FVSxkNcyqf1TyDusKuwuD9VnWJN9CF4xA/2546.json", "name": " Oasis Apes #2546",