From 7acb656d958ada813658292908394980751f5913 Mon Sep 17 00:00:00 2001 From: Jaden Date: Thu, 23 May 2024 13:09:18 -0400 Subject: [PATCH 1/3] feat: adding new chains --- package.json | 2 +- public/icons/bitlayer-icon-dark.svg | 10 ++ public/icons/bitlayer-icon-light.svg | 10 ++ public/icons/cyber-icon-dark.svg | 13 +++ public/icons/cyber-icon-light.svg | 13 +++ utils/chains.ts | 154 +++++++++++++++++++++------ utils/paymentTokens.ts | 80 ++++++++++++++ utils/wrappedContracts.ts | 3 + yarn.lock | 18 ++-- 9 files changed, 263 insertions(+), 40 deletions(-) create mode 100644 public/icons/bitlayer-icon-dark.svg create mode 100644 public/icons/bitlayer-icon-light.svg create mode 100644 public/icons/cyber-icon-dark.svg create mode 100644 public/icons/cyber-icon-light.svg diff --git a/package.json b/package.json index 4a5c81541..e809f4c05 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@radix-ui/react-toggle-group": "^1.0.1", "@radix-ui/react-tooltip": "1.0.6", "@rainbow-me/rainbowkit": "2.0.0", - "@reservoir0x/reservoir-kit-ui": "^2.5.8", + "@reservoir0x/reservoir-kit-ui": "^2.5.16", "@sentry/nextjs": "^7.85.0", "@tanstack/react-query": "5.20.2", "@types/uuid": "^9.0.1", diff --git a/public/icons/bitlayer-icon-dark.svg b/public/icons/bitlayer-icon-dark.svg new file mode 100644 index 000000000..c72f029b9 --- /dev/null +++ b/public/icons/bitlayer-icon-dark.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/icons/bitlayer-icon-light.svg b/public/icons/bitlayer-icon-light.svg new file mode 100644 index 000000000..ef97bcfd8 --- /dev/null +++ b/public/icons/bitlayer-icon-light.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/icons/cyber-icon-dark.svg b/public/icons/cyber-icon-dark.svg new file mode 100644 index 000000000..06b80b780 --- /dev/null +++ b/public/icons/cyber-icon-dark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/icons/cyber-icon-light.svg b/public/icons/cyber-icon-light.svg new file mode 100644 index 000000000..15d56aa70 --- /dev/null +++ b/public/icons/cyber-icon-light.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/utils/chains.ts b/utils/chains.ts index ddf2c2a46..7585176a3 100644 --- a/utils/chains.ts +++ b/utils/chains.ts @@ -20,6 +20,32 @@ import { } from 'wagmi/chains' import usdcContracts from './usdcContracts' +export const ancient8Testnet = { + id: 2863311531, + name: 'Ancient8 Testnet', + nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, + rpcUrls: { + default: { + http: ['https://rpc-testnet.ancient8.gg'], + webSocket: ['https://rpc-testnet.ancient8.gg'], + }, + public: { + http: ['https://rpc-testnet.ancient8.gg'], + webSocket: ['https://rpc-testnet.ancient8.gg'], + }, + }, + blockExplorers: { + etherscan: { + name: 'a8scan', + url: 'https://testnet.a8scan.io/', + }, + default: { + name: 'a8scan', + url: 'https://testnet.a8scan.io/', + }, + }, +} as const satisfies Chain + //CONFIGURABLE: The default export controls the supported chains for the marketplace. Removing // or adding chains will result in adding more or less chains to the marketplace. // They are an extension of the wagmi chain objects @@ -364,6 +390,21 @@ export default [ oracleBidsEnabled: true, checkPollingInterval: reservoirChains.astarZkEVM.checkPollingInterval, }, + { + ...customChains.redstone, + name: 'Redstone', + lightIconUrl: '/icons/redstone-icon-light.svg', + darkIconUrl: '/icons/redstone-icon-dark.svg', + reservoirBaseUrl: reservoirChains.redstone.baseApiUrl, + proxyApi: '/api/reservoir/redstone', + routePrefix: 'redstone', + apiKey: process.env.RESERVOIR_API_KEY, + coingeckoId: 'ethereum', + collectionSetId: process.env.NEXT_PUBLIC_REDSTONE_COLLECTION_SET_ID, + community: process.env.NEXT_PUBLIC_REDSTONE_COMMUNITY, + oracleBidsEnabled: true, + checkPollingInterval: reservoirChains.redstone.checkPollingInterval, + }, { ...customChains.degen, name: 'Degen', @@ -379,34 +420,87 @@ export default [ oracleBidsEnabled: true, checkPollingInterval: reservoirChains.degen.checkPollingInterval, }, - // { - // ...customChains.xai, - // name: 'Xai', - // lightIconUrl: '/icons/xai-icon-light.svg', - // darkIconUrl: '/icons/xai-icon-dark.svg', - // reservoirBaseUrl: reservoirChains.xai.baseApiUrl, - // proxyApi: '/api/reservoir/xai', - // routePrefix: 'xai', - // apiKey: process.env.RESERVOIR_API_KEY, - // coingeckoId: 'xai-blockchain', - // collectionSetId: process.env.NEXT_PUBLIC_XAI_COLLECTION_SET_ID, - // community: process.env.NEXT_PUBLIC_XAI_COMMUNITY, - // oracleBidsEnabled: true, - // checkPollingInterval: reservoirChains.xai.checkPollingInterval, - // }, - // { - // ...customChains.nebula, - // name: 'Nebula', - // lightIconUrl: '/icons/nebula-icon-light.svg', - // darkIconUrl: '/icons/nebula-icon-dark.svg', - // reservoirBaseUrl: reservoirChains.nebula.baseApiUrl, - // proxyApi: '/api/reservoir/nebula', - // routePrefix: 'nebula', - // apiKey: process.env.RESERVOIR_API_KEY, - // coingeckoId: 'ethereum', - // collectionSetId: process.env.NEXT_PUBLIC_NEBULA_COLLECTION_SET_ID, - // community: process.env.NEXT_PUBLIC_NEBULA_COMMUNITY, - // oracleBidsEnabled: true, - // checkPollingInterval: reservoirChains.nebula.checkPollingInterval, - // }, + { + ...customChains.xai, + name: 'Xai', + lightIconUrl: '/icons/xai-icon-light.svg', + darkIconUrl: '/icons/xai-icon-dark.svg', + reservoirBaseUrl: reservoirChains.xai.baseApiUrl, + proxyApi: '/api/reservoir/xai', + routePrefix: 'xai', + apiKey: process.env.RESERVOIR_API_KEY, + coingeckoId: 'xai-blockchain', + collectionSetId: process.env.NEXT_PUBLIC_XAI_COLLECTION_SET_ID, + community: process.env.NEXT_PUBLIC_XAI_COMMUNITY, + oracleBidsEnabled: true, + checkPollingInterval: reservoirChains.xai.checkPollingInterval, + }, + { + ...customChains.nebula, + name: 'Nebula', + lightIconUrl: '/icons/nebula-icon-light.svg', + darkIconUrl: '/icons/nebula-icon-dark.svg', + reservoirBaseUrl: reservoirChains.nebula.baseApiUrl, + proxyApi: '/api/reservoir/nebula', + routePrefix: 'nebula', + apiKey: process.env.RESERVOIR_API_KEY, + coingeckoId: 'ethereum', + collectionSetId: process.env.NEXT_PUBLIC_NEBULA_COLLECTION_SET_ID, + community: process.env.NEXT_PUBLIC_NEBULA_COMMUNITY, + listingCurrencies: [ + { + chainId: 1482601649, + address: '0xab01bad2c86e24d371a13ed6367bdca819589c5d', + symbol: 'ETH', + name: 'Europa ETH', + decimals: 18, + }, + { + chainId: 1482601649, + address: '0xcc205196288b7a26f6d43bbd68aaa98dde97276d', + symbol: 'USDC', + name: 'USDC', + decimals: 18, + }, + { + chainId: 1482601649, + address: '0x7f73b66d4e6e67bcdeaf277b9962addcdabbfc4d', + symbol: 'SKL', + name: 'SKL', + decimals: 18, + }, + ], + oracleBidsEnabled: true, + checkPollingInterval: reservoirChains.nebula.checkPollingInterval, + }, + { + ...customChains.cyber, + name: 'Cyber', + lightIconUrl: '/icons/cyber-icon-light.svg', + darkIconUrl: '/icons/cyber-icon-dark.svg', + reservoirBaseUrl: reservoirChains.cyber.baseApiUrl, + proxyApi: '/api/reservoir/cyber', + routePrefix: 'cyber', + apiKey: process.env.RESERVOIR_API_KEY, + coingeckoId: 'cyberconnect', + collectionSetId: process.env.NEXT_PUBLIC_CYBER_COLLECTION_SET_ID, + community: process.env.NEXT_PUBLIC_CYBER_COMMUNITY, + oracleBidsEnabled: true, + checkPollingInterval: reservoirChains.cyber.checkPollingInterval, + }, + { + ...customChains.bitlayer, + name: 'Bitlayer', + lightIconUrl: '/icons/bitlayer-icon-light.svg', + darkIconUrl: '/icons/bitlayer-icon-dark.svg', + reservoirBaseUrl: reservoirChains.bitlayer.baseApiUrl, + proxyApi: '/api/reservoir/bitlayer', + routePrefix: 'bitlayer', + apiKey: process.env.RESERVOIR_API_KEY, + coingeckoId: 'bitcoin', + collectionSetId: process.env.NEXT_PUBLIC_BITLAYER_COLLECTION_SET_ID, + community: process.env.NEXT_PUBLIC_BITLAYER_COMMUNITY, + oracleBidsEnabled: true, + checkPollingInterval: reservoirChains.bitlayer.checkPollingInterval, + }, ] as ReservoirChain[] diff --git a/utils/paymentTokens.ts b/utils/paymentTokens.ts index 99ac0fda6..bd37f63ed 100644 --- a/utils/paymentTokens.ts +++ b/utils/paymentTokens.ts @@ -598,6 +598,7 @@ export const chainPaymentTokensMap = { decimals: 18, }, ], + // degen 666666666: [ { @@ -608,4 +609,83 @@ export const chainPaymentTokensMap = { decimals: 18, }, ], + + // xai + 660279: [ + { + chainId: 660279, + address: zeroAddress, + symbol: 'XAI', + name: 'Xai', + decimals: 18, + }, + { + chainId: 660279, + address: '0x3fb787101dc6be47cfe18aeee15404dcc842e6af', + symbol: 'WXAI', + name: 'WXAI', + decimals: 18, + }, + ], + + // nebula + 1482601649: [ + { + chainId: 1482601649, + address: '0xab01bad2c86e24d371a13ed6367bdca819589c5d', + symbol: 'ETH', + name: 'Europa ETH', + decimals: 18, + }, + { + chainId: 1482601649, + address: '0xcc205196288b7a26f6d43bbd68aaa98dde97276d', + symbol: 'USDC', + name: 'USDC', + decimals: 18, + }, + { + chainId: 1482601649, + address: '0x7f73b66d4e6e67bcdeaf277b9962addcdabbfc4d', + symbol: 'SKL', + name: 'SKL', + decimals: 18, + }, + ], + + // cyber + 7560: [ + { + chainId: 7560, + address: zeroAddress, + symbol: 'ETH', + name: 'Cyber ETH', + decimals: 18, + }, + { + chainId: 7560, + address: '0x4200000000000000000000000000000000000006', + symbol: 'WETH', + name: 'Cyber WETH', + decimals: 18, + }, + ], + + // bitlayer + 200901: [ + { + chainId: 200901, + address: zeroAddress, + symbol: 'BTC', + name: 'Bitcoin', + decimals: 18, + }, + { + chainId: 200901, + address: '0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f', + symbol: 'WBTC', + name: 'Wrapped BTC', + decimals: 18, + }, + ], } as Record diff --git a/utils/wrappedContracts.ts b/utils/wrappedContracts.ts index 86cf545a7..a94222ae1 100644 --- a/utils/wrappedContracts.ts +++ b/utils/wrappedContracts.ts @@ -18,9 +18,12 @@ const wrappedContracts: Record = { 168587773: '0x4200000000000000000000000000000000000006', //blast sepolia 81457: '0x4300000000000000000000000000000000000004', //blast 3776: '0xE9CC37904875B459Fa5D0FE37680d36F1ED55e38', // astar zkEVM + 690: '0x4200000000000000000000000000000000000006', //redstone 666666666: '0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387', // degen 660279: '0x3fb787101dc6be47cfe18aeee15404dcc842e6af', // xai 1482601649: '0xab01bad2c86e24d371a13ed6367bdca819589c5d', // nebula + 7560: '0x4200000000000000000000000000000000000006', // cyber + 200901: '0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f', // bitlayer } export default wrappedContracts diff --git a/yarn.lock b/yarn.lock index 82ed59505..94cb051e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1895,10 +1895,10 @@ dependencies: merge-options "^3.0.4" -"@reservoir0x/reservoir-kit-ui@^2.5.8": - version "2.5.8" - resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-kit-ui/-/reservoir-kit-ui-2.5.8.tgz#5ddcb83b7c31fc5584399780f1d1836a186bbc4d" - integrity sha512-9R5Mj8o6Fb8B0gpyFzBTFFcEdJtBH11v/1smuXSB+trfQcn/dEWBc1eLAypGenQvLmMlZCgx29p+WaFutYx6Dg== +"@reservoir0x/reservoir-kit-ui@^2.5.16": + version "2.5.16" + resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-kit-ui/-/reservoir-kit-ui-2.5.16.tgz#7de899c9cc46998c9d07e58ef29028d3a53599ed" + integrity sha512-fr5Of+HDeBgR/M5k5nPh4oVgNeYWUmpjm58KZCCdu/5qnjXUlE1jJnXMo9KLM4dVr3GyR7e/Y72u18ncJJRQug== dependencies: "@fortawesome/fontawesome-svg-core" "^6.1.1" "@fortawesome/free-solid-svg-icons" "^6.1.1" @@ -1914,7 +1914,7 @@ "@radix-ui/react-toggle-group" "1.0.4" "@radix-ui/react-tooltip" "1.0.6" "@react-hookz/web" "^19.2.0" - "@reservoir0x/reservoir-sdk" "2.2.0" + "@reservoir0x/reservoir-sdk" "2.2.6" "@stitches/react" "1.3.1-1" dayjs "^1.11.4" flatpickr "^4.6.13" @@ -1922,10 +1922,10 @@ react-flatpickr "^3.10.13" swr "2.0.1" -"@reservoir0x/reservoir-sdk@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-sdk/-/reservoir-sdk-2.2.0.tgz#94eea0fede355a217aa38813660c975949e94b78" - integrity sha512-lmjLFCvsBL8fVC0/Jzg3xm/wVyO7c738aeV7WvD5MUvvbwaxwzIeLwh7+CVO6JdyTaDhsBjyfAgGW9aC4OGwlA== +"@reservoir0x/reservoir-sdk@2.2.6": + version "2.2.6" + resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-sdk/-/reservoir-sdk-2.2.6.tgz#39a3bd1caba3331d5f5dbe3011331c4663ae1905" + integrity sha512-U2FMQ9LuZEIGPImYo0M9QNaEqT9sSGJf1ag0twusgedtlm03v+OjjTzJ+GYCZ9lS03j8gXg7AG0VQx1PfTrgmw== dependencies: axios "^1.6.7" From dddc58db7fc3cc5ee762d01b7980e000caf9c95f Mon Sep 17 00:00:00 2001 From: Jaden Date: Tue, 28 May 2024 16:31:00 -0400 Subject: [PATCH 2/3] feat: updating reservoir-kit version --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index e809f4c05..5f805e9d6 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@radix-ui/react-toggle-group": "^1.0.1", "@radix-ui/react-tooltip": "1.0.6", "@rainbow-me/rainbowkit": "2.0.0", - "@reservoir0x/reservoir-kit-ui": "^2.5.16", + "@reservoir0x/reservoir-kit-ui": "^2.5.17", "@sentry/nextjs": "^7.85.0", "@tanstack/react-query": "5.20.2", "@types/uuid": "^9.0.1", diff --git a/yarn.lock b/yarn.lock index 94cb051e3..319783ec8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1895,10 +1895,10 @@ dependencies: merge-options "^3.0.4" -"@reservoir0x/reservoir-kit-ui@^2.5.16": - version "2.5.16" - resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-kit-ui/-/reservoir-kit-ui-2.5.16.tgz#7de899c9cc46998c9d07e58ef29028d3a53599ed" - integrity sha512-fr5Of+HDeBgR/M5k5nPh4oVgNeYWUmpjm58KZCCdu/5qnjXUlE1jJnXMo9KLM4dVr3GyR7e/Y72u18ncJJRQug== +"@reservoir0x/reservoir-kit-ui@^2.5.17": + version "2.5.17" + resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-kit-ui/-/reservoir-kit-ui-2.5.17.tgz#736f4cf14070f990d82e3f28de27f1c8ef68673b" + integrity sha512-1IsjYlBt4Ej0LUSEWIQhT+cyDMt0Dc3ZpnZ4bMfc/eMigIyXW230ysbfHv2K4aWxVBuRt+UbThLf48JmYdKP3g== dependencies: "@fortawesome/fontawesome-svg-core" "^6.1.1" "@fortawesome/free-solid-svg-icons" "^6.1.1" @@ -1914,7 +1914,7 @@ "@radix-ui/react-toggle-group" "1.0.4" "@radix-ui/react-tooltip" "1.0.6" "@react-hookz/web" "^19.2.0" - "@reservoir0x/reservoir-sdk" "2.2.6" + "@reservoir0x/reservoir-sdk" "2.2.7" "@stitches/react" "1.3.1-1" dayjs "^1.11.4" flatpickr "^4.6.13" @@ -1922,10 +1922,10 @@ react-flatpickr "^3.10.13" swr "2.0.1" -"@reservoir0x/reservoir-sdk@2.2.6": - version "2.2.6" - resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-sdk/-/reservoir-sdk-2.2.6.tgz#39a3bd1caba3331d5f5dbe3011331c4663ae1905" - integrity sha512-U2FMQ9LuZEIGPImYo0M9QNaEqT9sSGJf1ag0twusgedtlm03v+OjjTzJ+GYCZ9lS03j8gXg7AG0VQx1PfTrgmw== +"@reservoir0x/reservoir-sdk@2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@reservoir0x/reservoir-sdk/-/reservoir-sdk-2.2.7.tgz#b0e31343d16874594a5c47c92a58f6936043f521" + integrity sha512-xSreQz9jkITqeQv42MyZIhQ4971r70YiLUO1UMNBxZBbIPRxnBkEd5fJKm/RfHkllH+zGdbSTcYZKuhSWipKgw== dependencies: axios "^1.6.7" From a1f9e363de34c145ab72ee94bc0992e016555b0b Mon Sep 17 00:00:00 2001 From: Jaden Date: Tue, 28 May 2024 17:12:12 -0400 Subject: [PATCH 3/3] feat: removing ancient8 testnet from chains --- utils/chains.ts | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/utils/chains.ts b/utils/chains.ts index 7585176a3..0d89c4557 100644 --- a/utils/chains.ts +++ b/utils/chains.ts @@ -20,32 +20,6 @@ import { } from 'wagmi/chains' import usdcContracts from './usdcContracts' -export const ancient8Testnet = { - id: 2863311531, - name: 'Ancient8 Testnet', - nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, - rpcUrls: { - default: { - http: ['https://rpc-testnet.ancient8.gg'], - webSocket: ['https://rpc-testnet.ancient8.gg'], - }, - public: { - http: ['https://rpc-testnet.ancient8.gg'], - webSocket: ['https://rpc-testnet.ancient8.gg'], - }, - }, - blockExplorers: { - etherscan: { - name: 'a8scan', - url: 'https://testnet.a8scan.io/', - }, - default: { - name: 'a8scan', - url: 'https://testnet.a8scan.io/', - }, - }, -} as const satisfies Chain - //CONFIGURABLE: The default export controls the supported chains for the marketplace. Removing // or adding chains will result in adding more or less chains to the marketplace. // They are an extension of the wagmi chain objects