From 0aa3ee14c9501ce2f953313ac1633e8fc8e4b150 Mon Sep 17 00:00:00 2001 From: Vitor Marthendal Nunes Date: Fri, 12 Apr 2024 17:03:55 -0300 Subject: [PATCH] feat: add ens contract to token list (#13) --- .../token-list/src/default-token-list.json | 14 +++++++++++++ .../src/tests/valid-erc721s.test.ts | 21 ++++++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/token-list/src/default-token-list.json b/packages/token-list/src/default-token-list.json index 3f5b79e..d3a5275 100644 --- a/packages/token-list/src/default-token-list.json +++ b/packages/token-list/src/default-token-list.json @@ -78,6 +78,20 @@ } } }, + { + "chainId": 1, + "address": "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85", + "name": "Ethereum Name Service", + "symbol": "ENS", + "logoURI": "https://assets.coingecko.com/nft_contracts/images/373/small_2x/ens-ethereum-name-service.png", + "extensions": { + "bridgeInfo": { + "8453": { + "tokenAddress": "0x3828727c3FD3D1A9F8692a457C8a80a3DBA16546" + } + } + } + }, { "chainId": 1, "address": "0x60E4d786628Fea6478F785A6d7e704777c86a7c6", diff --git a/packages/token-list/src/tests/valid-erc721s.test.ts b/packages/token-list/src/tests/valid-erc721s.test.ts index 7a17e68..9545d59 100644 --- a/packages/token-list/src/tests/valid-erc721s.test.ts +++ b/packages/token-list/src/tests/valid-erc721s.test.ts @@ -1,14 +1,14 @@ -import { expect, test } from "vitest"; -import { type Address, erc721Abi } from "viem"; import { multicall } from "@wagmi/core"; +import { erc721Abi, type Address } from "viem"; +import { expect, test } from "vitest"; import { optimismMintableErc721FactoryAbi } from "../config/abis/optimism-mintable-erc721-factory-abi.js"; import { - l2ChainIds, - l2ChainIdsTestnet, config, l1ChainIdsTestnet, + l2ChainIds, + l2ChainIdsTestnet, } from "../config/wagmi.js"; -import { testnetTokenList, defaultTokenList } from "../index.js"; +import { defaultTokenList, testnetTokenList } from "../index.js"; const OptimismMintableERC721FactoryAddress = "0x4200000000000000000000000000000000000017"; @@ -16,10 +16,17 @@ const OptimismMintableERC721FactoryAddress = // Production token list test("Tokens are valid ERC721s", async () => { + + // Removes ENS addresses from the default token list, + // since they don't have a name or symbol + const ENSMainnetAddress = "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85"; + const filteredTokens = defaultTokenList.tokens.filter( + ({ address }) => address !== ENSMainnetAddress, + ); const [names, symbols] = await Promise.all([ // Fetch the name of all tokens in the default token list multicall(config, { - contracts: defaultTokenList.tokens.map(({ address }) => ({ + contracts: filteredTokens.map(({ address }) => ({ address: address as Address, abi: erc721Abi, functionName: "name", @@ -27,7 +34,7 @@ test("Tokens are valid ERC721s", async () => { }), // Fetch the symbol of all tokens in the default token list multicall(config, { - contracts: defaultTokenList.tokens.map(({ address }) => ({ + contracts: filteredTokens.map(({ address }) => ({ address: address as Address, abi: erc721Abi, functionName: "symbol",