From c4f1309dcdb599b8b5f014436bce8e63a7f5a9c6 Mon Sep 17 00:00:00 2001 From: iketw <121973632+iketw@users.noreply.github.com> Date: Tue, 16 Jan 2024 12:34:25 -0800 Subject: [PATCH 01/13] [RN] Reports react-native only (#2182) --- .changeset/cool-parents-enjoy.md | 5 +++++ packages/react-native/src/core/storage/uploader.ts | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 .changeset/cool-parents-enjoy.md diff --git a/.changeset/cool-parents-enjoy.md b/.changeset/cool-parents-enjoy.md new file mode 100644 index 00000000000..0e91b893ec6 --- /dev/null +++ b/.changeset/cool-parents-enjoy.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/react-native": patch +--- + +Reports only react-nativec diff --git a/packages/react-native/src/core/storage/uploader.ts b/packages/react-native/src/core/storage/uploader.ts index 8c932d3dddd..b5f123fc564 100644 --- a/packages/react-native/src/core/storage/uploader.ts +++ b/packages/react-native/src/core/storage/uploader.ts @@ -5,7 +5,6 @@ import { TW_UPLOAD_SERVER_URL, } from "@thirdweb-dev/storage"; import { IpfsUploaderOptions, UploadDataValue } from "./types"; -import { Platform } from "react-native"; import { appBundleId, packageVersion } from "../../evm/utils/version"; import { BUNDLE_ID_HEADER } from "../../evm/constants/headers"; @@ -40,7 +39,7 @@ export class IpfsUploader implements IStorageUploader { }; const { version, name: packageName } = packageVersion; - const platform = `react-native-${Platform.OS}`; + const platform = "react-native"; if ("uri" in data[0] && "type" in data[0] && "name" in data[0]) { // then it's an array of files From c377e868ed9ccebfe629dda55f9bda5f6952c606 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Wed, 17 Jan 2024 02:51:50 +0530 Subject: [PATCH 02/13] Fix Docs and Release workflows (#2179) --- .github/workflows/release-artifacts.yml | 57 +++++++++++++++++++++++++ .github/workflows/release.yml | 24 +++-------- 2 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/release-artifacts.yml diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml new file mode 100644 index 00000000000..cb20cc42135 --- /dev/null +++ b/.github/workflows/release-artifacts.yml @@ -0,0 +1,57 @@ +# On the Version Packages branch +# Generate and Commit artifacts to the Version Packages branch +# It commits the Typedoc JSON files and code snippets JSON files + +name: Commit Release Artifacts + +on: + push: + branches: + - changeset-release/main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + +jobs: + setup: + runs-on: ubuntu-latest + steps: + - name: Checkout branch + uses: actions/checkout@v3 + + - name: Install + uses: ./.github/composite-actions/install + + - name: Build + run: pnpm build + + typedoc: + needs: setup + runs-on: ubuntu-latest + steps: + - name: Typedoc + run: pnpm typedoc + + snippets: + needs: setup + runs-on: ubuntu-latest + steps: + - name: generate-docs + run: pnpm generate-docs + + - name: generate-snippets + run: pnpm generate-snippets + + commit: + needs: [typedoc, snippets] + runs-on: ubuntu-latest + steps: + - name: Commit changes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add -A + git commit -m "Commit Release Artifacts [skip ci]" + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 30ac842ad6c..cc694216bb1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,6 @@ +# Using CUSTOM_GITHUB_TOKEN instead of GITHUB_TOKEN is required to trigger workflows in "Version Packages" PR created by changesets/action +# CUSTOM_GITHUB_TOKEN should be a PAT with write access to the repo and has to be created and set as a secret in the repo manually + name: Release Nightly & Stable on: @@ -25,6 +28,8 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 + # Do not use the GITHUB_TOKEN by default + token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} - name: Setup bun uses: oven-sh/setup-bun@v1 @@ -46,7 +51,7 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.CUSTOM_GITHUB_TOKEN }} - name: Create @nightly release if: steps.changesets.outputs.published != 'true' @@ -56,19 +61,4 @@ jobs: pnpm release:nightly env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Generate docs - if: steps.changesets.outputs.published == 'true' - run: | - pnpm typedoc - pnpm build - pnpm generate-docs - pnpm generate-snippets - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add -A - git commit -m "doc automation: update JSON files [skip ci]" - git push - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.CUSTOM_GITHUB_TOKEN }} From 9a23de2be0c47a7a3702d65041ff654159d8e264 Mon Sep 17 00:00:00 2001 From: Yash <72552910+kumaryash90@users.noreply.github.com> Date: Wed, 17 Jan 2024 03:02:46 +0530 Subject: [PATCH 03/13] [SDK] ZkSync Sepolia Addresses (#2183) --- .changeset/afraid-clouds-care.md | 5 +++++ .../sdk/src/evm/zksync/constants/addresses.ts | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 .changeset/afraid-clouds-care.md diff --git a/.changeset/afraid-clouds-care.md b/.changeset/afraid-clouds-care.md new file mode 100644 index 00000000000..27aafbed25d --- /dev/null +++ b/.changeset/afraid-clouds-care.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/sdk": patch +--- + +ZkSync Sepolia addresses diff --git a/packages/sdk/src/evm/zksync/constants/addresses.ts b/packages/sdk/src/evm/zksync/constants/addresses.ts index db87b9a8198..98922adf17d 100644 --- a/packages/sdk/src/evm/zksync/constants/addresses.ts +++ b/packages/sdk/src/evm/zksync/constants/addresses.ts @@ -26,7 +26,7 @@ export const CONTRACT_ADDRESSES: Record< }; export const IMPLEMENTATIONS: Record> = { - // ZKSync Era Testnet + // ZKSync Era Goerli Testnet (Deprecated) [280]: { DropERC721: "0xA8E28D98203848401A4f924358e6c337153D0f04", DropERC1155: "0xf3C7d3F0AA374a2D32489929e24D3e9313Aec8bb", @@ -42,6 +42,22 @@ export const IMPLEMENTATIONS: Record> = { AirdropERC1155: "0x8b0DBCf5b7D01eBB0F24525CE8AB72F16CE4F8C8", }, + // ZKSync Era Sepolia Testnet + [300]: { + DropERC721: "0x0006BC0D8Bf9D91290Df89341F936c612D6978eb", + DropERC1155: "0xe0AD48286BF27AE0C5953d4417fB37f3FECABB4a", + DropERC20: "0xA77041a7A34A67D7285c8d3550110e441009436e", + SignatureDrop: "", + Marketplace: "", + MarketplaceV3: "0x12A305cc7168fa3b7B172fE53c57b9a22716F667", + TokenERC721: "0x9742f5ac11958cFAd151eBF0Fc31302fA409036E", + TokenERC1155: "0x4027561E163a420c4e5Db46E07EBd581CAa8Bb62", + TokenERC20: "0xf3C7d3F0AA374a2D32489929e24D3e9313Aec8bb", + AirdropERC20: "0x4b14569c7B79DBe686Ac3Ba5996131E7EDaB7a93", + AirdropERC721: "0xDD3E3BBa3bb4edcbbEa9d52Cd1E49289Ef3DfDE3", + AirdropERC1155: "0x8A4E9034BC6ac77E1408AC878e0603A32B5d4b73", + }, + // ZKSync Era Mainnet [324]: { DropERC721: "0x9742f5ac11958cFAd151eBF0Fc31302fA409036E", From 148e6a916696663be4fa9bd195feba1b98850d1e Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Wed, 17 Jan 2024 03:23:33 +0530 Subject: [PATCH 04/13] Add bun setup in release-artifacts workflow to fix setup job (#2184) --- .github/workflows/release-artifacts.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml index cb20cc42135..4b4e1ad6652 100644 --- a/.github/workflows/release-artifacts.yml +++ b/.github/workflows/release-artifacts.yml @@ -19,6 +19,11 @@ jobs: - name: Checkout branch uses: actions/checkout@v3 + - name: Setup bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: 1.0.21 + - name: Install uses: ./.github/composite-actions/install From e21f7bb171334fa3003c954060e60c1ce8c1228f Mon Sep 17 00:00:00 2001 From: Gerry Saporito Date: Tue, 16 Jan 2024 22:50:19 -0500 Subject: [PATCH 05/13] chore: synced chains with db (#2187) --- .changeset/poor-kids-wink.md | 5 ++ packages/chains/chains/1001.ts | 2 +- packages/chains/chains/11297108099.ts | 14 ++-- packages/chains/chains/11297108109.ts | 14 ++-- packages/chains/chains/129.ts | 37 ++++++++++ packages/chains/chains/1731313.ts | 2 +- packages/chains/chains/18303.ts | 31 +++++++++ packages/chains/chains/1838.ts | 31 +++++++++ packages/chains/chains/199.ts | 4 +- packages/chains/chains/21758.ts | 31 +++++++++ packages/chains/chains/28122024.ts | 36 ++++++++++ packages/chains/chains/2863311531.ts | 15 ++-- packages/chains/chains/31414.ts | 37 ++++++++++ packages/chains/chains/35439.ts | 31 +++++++++ packages/chains/chains/37714555429.ts | 42 ++++++++++++ packages/chains/chains/3799.ts | 46 +++++++++++++ packages/chains/chains/39098.ts | 31 +++++++++ packages/chains/chains/39747.ts | 31 +++++++++ packages/chains/chains/45510.ts | 38 +++++++++++ packages/chains/chains/463.ts | 6 +- packages/chains/chains/56570.ts | 31 +++++++++ packages/chains/chains/61514.ts | 31 +++++++++ packages/chains/chains/63367.ts | 31 +++++++++ packages/chains/chains/653.ts | 14 ++-- packages/chains/chains/654.ts | 4 +- packages/chains/chains/6701.ts | 41 +++++++++++ packages/chains/chains/68295.ts | 31 +++++++++ packages/chains/chains/80085.ts | 23 +++++++ packages/chains/chains/810.ts | 51 ++++++++++++++ packages/chains/chains/82368.ts | 31 +++++++++ packages/chains/chains/9395.ts | 35 ++++++++++ packages/chains/src/index.ts | 98 +++++++++++++++++++++++++-- 32 files changed, 872 insertions(+), 33 deletions(-) create mode 100644 .changeset/poor-kids-wink.md create mode 100644 packages/chains/chains/129.ts create mode 100644 packages/chains/chains/18303.ts create mode 100644 packages/chains/chains/1838.ts create mode 100644 packages/chains/chains/21758.ts create mode 100644 packages/chains/chains/28122024.ts create mode 100644 packages/chains/chains/31414.ts create mode 100644 packages/chains/chains/35439.ts create mode 100644 packages/chains/chains/37714555429.ts create mode 100644 packages/chains/chains/3799.ts create mode 100644 packages/chains/chains/39098.ts create mode 100644 packages/chains/chains/39747.ts create mode 100644 packages/chains/chains/45510.ts create mode 100644 packages/chains/chains/56570.ts create mode 100644 packages/chains/chains/61514.ts create mode 100644 packages/chains/chains/63367.ts create mode 100644 packages/chains/chains/6701.ts create mode 100644 packages/chains/chains/68295.ts create mode 100644 packages/chains/chains/80085.ts create mode 100644 packages/chains/chains/810.ts create mode 100644 packages/chains/chains/82368.ts create mode 100644 packages/chains/chains/9395.ts diff --git a/.changeset/poor-kids-wink.md b/.changeset/poor-kids-wink.md new file mode 100644 index 00000000000..7c477097753 --- /dev/null +++ b/.changeset/poor-kids-wink.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/chains": patch +--- + +synced chains package with chains db diff --git a/packages/chains/chains/1001.ts b/packages/chains/chains/1001.ts index 17651f7abdb..7a1708b6c1b 100644 --- a/packages/chains/chains/1001.ts +++ b/packages/chains/chains/1001.ts @@ -31,5 +31,5 @@ export default { "shortName": "Baobab", "slip44": 1, "slug": "klaytn-testnet-baobab", - "testnet": false + "testnet": true } as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/11297108099.ts b/packages/chains/chains/11297108099.ts index 9691362d2f4..3ff6915405d 100644 --- a/packages/chains/chains/11297108099.ts +++ b/packages/chains/chains/11297108099.ts @@ -4,9 +4,14 @@ export default { "chainId": 11297108099, "explorers": [ { - "name": "Palm Testnet Explorer", - "url": "https://explorer.palm-uat.xyz", + "name": "Chainlens", + "url": "https://testnet.palm.chainlens.com", "standard": "EIP3091" + }, + { + "name": "Dora", + "url": "https://www.ondora.xyz/network/palm-testnet", + "standard": "none" } ], "faucets": [], @@ -16,7 +21,7 @@ export default { "height": 72, "format": "svg" }, - "infoURL": "https://palm.io", + "infoURL": "https://palm.network", "name": "Palm Testnet", "nativeCurrency": { "name": "PALM", @@ -27,7 +32,8 @@ export default { "rpc": [ "https://palm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://11297108099.rpc.thirdweb.com/${THIRDWEB_API_KEY}", - "https://palm-testnet.infura.io/v3/${INFURA_API_KEY}" + "https://palm-testnet.infura.io/v3/${INFURA_API_KEY}", + "https://palm-testnet.public.blastapi.io" ], "shortName": "tpalm", "slip44": 1, diff --git a/packages/chains/chains/11297108109.ts b/packages/chains/chains/11297108109.ts index 564eae81e7b..7d9168dd963 100644 --- a/packages/chains/chains/11297108109.ts +++ b/packages/chains/chains/11297108109.ts @@ -4,9 +4,14 @@ export default { "chainId": 11297108109, "explorers": [ { - "name": "Palm Explorer", - "url": "https://explorer.palm.io", + "name": "Chainlens", + "url": "https://palm.chainlens.com", "standard": "EIP3091" + }, + { + "name": "Dora", + "url": "https://www.ondora.xyz/network/palm", + "standard": "none" } ], "faucets": [], @@ -16,7 +21,7 @@ export default { "height": 72, "format": "svg" }, - "infoURL": "https://palm.io", + "infoURL": "https://palm.network", "name": "Palm", "nativeCurrency": { "name": "PALM", @@ -27,7 +32,8 @@ export default { "rpc": [ "https://palm.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://11297108109.rpc.thirdweb.com/${THIRDWEB_API_KEY}", - "https://palm-mainnet.infura.io/v3/${INFURA_API_KEY}" + "https://palm-mainnet.infura.io/v3/${INFURA_API_KEY}", + "https://palm-mainnet.public.blastapi.io" ], "shortName": "palm", "slug": "palm", diff --git a/packages/chains/chains/129.ts b/packages/chains/chains/129.ts new file mode 100644 index 00000000000..98797f38df3 --- /dev/null +++ b/packages/chains/chains/129.ts @@ -0,0 +1,37 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Jumbo", + "chainId": 129, + "explorers": [ + { + "name": "ProtoJumbo", + "url": "https://protojumbo.jumbochain.org", + "standard": "EIP3091" + } + ], + "faucets": [ + "https://protojumbo.jumbochain.org/faucet-smart" + ], + "features": [ + { + "name": "EIP155" + } + ], + "infoURL": "https://jumbochain.org", + "name": "ProtoJumbo Testnet", + "nativeCurrency": { + "name": "JNFTC", + "symbol": "JNFTC", + "decimals": 18 + }, + "networkId": 129, + "rpc": [ + "https://protojumbo-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://129.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://testnode.jumbochain.org" + ], + "shortName": "ProtoJumbo", + "slip44": 1, + "slug": "protojumbo-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/1731313.ts b/packages/chains/chains/1731313.ts index d96091bbd3d..1e187204e09 100644 --- a/packages/chains/chains/1731313.ts +++ b/packages/chains/chains/1731313.ts @@ -14,7 +14,7 @@ export default { "rpc": [ "https://turkey-demo-dev.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://1731313.rpc.thirdweb.com/${THIRDWEB_API_KEY}", - "https://blockscout-poa.huabeizhenxuan.com" + "https://devchain-poa.huabeizhenxuan.com" ], "shortName": "TDD", "slug": "turkey-demo-dev", diff --git a/packages/chains/chains/18303.ts b/packages/chains/chains/18303.ts new file mode 100644 index 00000000000..57d23a71521 --- /dev/null +++ b/packages/chains/chains/18303.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 18303, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "Zeroone Testnet", + "nativeCurrency": { + "name": "Zeroone Testnet Token", + "symbol": "ZERO", + "decimals": 18 + }, + "networkId": 18303, + "redFlags": [], + "rpc": [ + "https://zeroone-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://18303.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/zeroonetes/testnet/rpc" + ], + "shortName": "Zeroone Testnet", + "slug": "zeroone-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/1838.ts b/packages/chains/chains/1838.ts new file mode 100644 index 00000000000..d6f61342ef7 --- /dev/null +++ b/packages/chains/chains/1838.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 1838, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "Traderlands Testnet", + "nativeCurrency": { + "name": "Traderlands Testnet Token", + "symbol": "TDL3", + "decimals": 18 + }, + "networkId": 1838, + "redFlags": [], + "rpc": [ + "https://traderlands-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://1838.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/traderland/testnet/rpc" + ], + "shortName": "Traderlands Testnet", + "slug": "traderlands-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/199.ts b/packages/chains/chains/199.ts index ee5971a28c6..6ccfafd81e7 100644 --- a/packages/chains/chains/199.ts +++ b/packages/chains/chains/199.ts @@ -10,7 +10,7 @@ export default { } ], "faucets": [], - "infoURL": "https:/bt.io", + "infoURL": "https://bt.io", "name": "BitTorrent Chain Mainnet", "nativeCurrency": { "name": "BitTorrent", @@ -21,7 +21,7 @@ export default { "rpc": [ "https://bittorrent-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://199.rpc.thirdweb.com/${THIRDWEB_API_KEY}", - "https://rpc.bittorrentchain.io/" + "https://rpc.bt.io" ], "shortName": "BTT", "slug": "bittorrent-chain", diff --git a/packages/chains/chains/21758.ts b/packages/chains/chains/21758.ts new file mode 100644 index 00000000000..e4167d6c1f4 --- /dev/null +++ b/packages/chains/chains/21758.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 21758, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "FST 01-16 Multi", + "nativeCurrency": { + "name": "FST 01-16 Multi Token", + "symbol": "RUI", + "decimals": 18 + }, + "networkId": 21758, + "redFlags": [], + "rpc": [ + "https://fst-01-16-multi.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://21758.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc" + ], + "shortName": "FST 01-16 Multi", + "slug": "fst-01-16-multi", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/28122024.ts b/packages/chains/chains/28122024.ts new file mode 100644 index 00000000000..2c49eb5a91c --- /dev/null +++ b/packages/chains/chains/28122024.ts @@ -0,0 +1,36 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Ancient8", + "chainId": 28122024, + "explorers": [ + { + "name": "scan-testnet", + "url": "https://scanv2-testnet.ancient8.gg", + "standard": "EIP3091" + } + ], + "faucets": [], + "icon": { + "url": "ipfs://QmXLmYMqZ2ZKyaaEjayNjLai4RUo2YmorUDwkk95xmdTUr", + "width": 80, + "height": 80, + "format": "png" + }, + "infoURL": "https://ancient8.gg/", + "name": "Ancient8 Testnet", + "nativeCurrency": { + "name": "Ether", + "symbol": "ETH", + "decimals": 18 + }, + "networkId": 28122024, + "rpc": [ + "https://ancient8-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://28122024.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://rpcv2-testnet.ancient8.gg" + ], + "shortName": "a8", + "slip44": 1, + "slug": "ancient8-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/2863311531.ts b/packages/chains/chains/2863311531.ts index e85bee012ab..1f087569070 100644 --- a/packages/chains/chains/2863311531.ts +++ b/packages/chains/chains/2863311531.ts @@ -11,13 +11,13 @@ export default { ], "faucets": [], "icon": { - "url": "ipfs://QmSX8sHToRzyFupT8BvPQjVsegRWFYz2mdnLkVnqBFKohY", - "width": 901, - "height": 901, + "url": "ipfs://QmXLmYMqZ2ZKyaaEjayNjLai4RUo2YmorUDwkk95xmdTUr", + "width": 80, + "height": 80, "format": "png" }, "infoURL": "https://ancient8.gg/", - "name": "Ancient8 Testnet", + "name": "Ancient8 Testnet (deprecated)", "nativeCurrency": { "name": "Ether", "symbol": "ETH", @@ -25,12 +25,13 @@ export default { }, "networkId": 2863311531, "rpc": [ - "https://ancient8-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://ancient8-testnet-deprecated.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://2863311531.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://rpc-testnet.ancient8.gg" ], - "shortName": "a8", + "shortName": "a8old", "slip44": 1, - "slug": "ancient8-testnet", + "slug": "ancient8-testnet-deprecated", + "status": "deprecated", "testnet": true } as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/31414.ts b/packages/chains/chains/31414.ts new file mode 100644 index 00000000000..8c98b731789 --- /dev/null +++ b/packages/chains/chains/31414.ts @@ -0,0 +1,37 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Evoke", + "chainId": 31414, + "explorers": [ + { + "name": "Evoke SmartChain Testnet Explorer", + "url": "https://testnet-explorer.evokescan.org", + "standard": "EIP3091" + } + ], + "faucets": [ + "https://faucet.evokescan.org" + ], + "icon": { + "url": "ipfs://bafkreia5q26knsvxgkwxze7woepvsqat5n2hodokh4ozzphmhexqez5s34", + "width": 100, + "height": 100, + "format": "png" + }, + "infoURL": "https://testnet-explorer.evokescan.org", + "name": "Evoke Testnet", + "nativeCurrency": { + "name": "MTHN Testnet", + "symbol": "MTHN", + "decimals": 18 + }, + "networkId": 31414, + "rpc": [ + "https://evoke-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://31414.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://testnet-rpc.evokescan.org" + ], + "shortName": "tmthn", + "slug": "evoke-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/35439.ts b/packages/chains/chains/35439.ts new file mode 100644 index 00000000000..94bc9ea67a9 --- /dev/null +++ b/packages/chains/chains/35439.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 35439, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QI M 2401122", + "nativeCurrency": { + "name": "QI M 2401122 Token", + "symbol": "HZU", + "decimals": 18 + }, + "networkId": 35439, + "redFlags": [], + "rpc": [ + "https://qi-m-2401122.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://35439.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694" + ], + "shortName": "QI M 2401122", + "slug": "qi-m-2401122", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/37714555429.ts b/packages/chains/chains/37714555429.ts new file mode 100644 index 00000000000..0b39966df97 --- /dev/null +++ b/packages/chains/chains/37714555429.ts @@ -0,0 +1,42 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Xai Sepolia", + "chainId": 37714555429, + "explorers": [ + { + "name": "blockscout", + "url": "https://testnet-explorer-v2.xai-chain.net/", + "standard": "EIP3091" + } + ], + "faucets": [], + "features": [], + "icon": { + "url": "ipfs://QmZKFekbHxDkB8gFmmmjWz89SLhwg38GkALmAKo3gn753N/2024-01-10%2012.50.15.jpg", + "width": 512, + "height": 512, + "format": "jpg" + }, + "infoURL": "https://xai.games", + "name": "Xai Sepolia", + "nativeCurrency": { + "name": "sXAI", + "symbol": "sXAI", + "decimals": 18 + }, + "networkId": 37714555429, + "parent": { + "type": "L3", + "chain": "eip155-1", + "bridges": [] + }, + "redFlags": [], + "rpc": [ + "https://xai-sepolia.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://37714555429.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://testnet-v2.xai-chain.net/rpc" + ], + "shortName": "xai-sepolia", + "slug": "xai-sepolia", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/3799.ts b/packages/chains/chains/3799.ts new file mode 100644 index 00000000000..e90cab1661a --- /dev/null +++ b/packages/chains/chains/3799.ts @@ -0,0 +1,46 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Tangle Testnet", + "chainId": 3799, + "explorers": [ + { + "name": "ttntscan", + "url": "https://testnet-explorer.tangle.tools", + "standard": "EIP3091", + "icon": { + "url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM", + "width": 551, + "height": 540, + "format": "png" + } + } + ], + "faucets": [ + "https://faucet.tangle.tools" + ], + "icon": { + "url": "ipfs://QmbxMNBTeQgch8t9GpWdLiS2R3wPYCzVRaX5kCQ4o5QU3w", + "width": 1600, + "height": 1600, + "format": "png" + }, + "infoURL": "https://docs.tangle.tools", + "name": "Tangle Testnet", + "nativeCurrency": { + "name": "Testnet Tangle Network Token", + "symbol": "tTNT", + "decimals": 18 + }, + "networkId": 3799, + "rpc": [ + "https://tangle-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://3799.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://testnet-rpc.tangle.tools", + "https://testnet-rpc-archive.tangle.tools", + "wss://testnet-rpc.tangle.tools", + "wss://testnet-rpc-archive.tangle.tools" + ], + "shortName": "tTangle", + "slug": "tangle-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/39098.ts b/packages/chains/chains/39098.ts new file mode 100644 index 00000000000..98d740e4956 --- /dev/null +++ b/packages/chains/chains/39098.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 39098, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QI 20240108", + "nativeCurrency": { + "name": "QI 20240108 Token", + "symbol": "COZ", + "decimals": 18 + }, + "networkId": 39098, + "redFlags": [], + "rpc": [ + "https://qi-20240108.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://39098.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avacloud-dev.io/f575b5b1-8b60-47f3-af28-13f3f3de2ba5" + ], + "shortName": "QI 20240108", + "slug": "qi-20240108", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/39747.ts b/packages/chains/chains/39747.ts new file mode 100644 index 00000000000..aa8d4ea6c7c --- /dev/null +++ b/packages/chains/chains/39747.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 39747, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QaUser41Testnet", + "nativeCurrency": { + "name": "QaUser41Testnet Token", + "symbol": "GYF", + "decimals": 18 + }, + "networkId": 39747, + "redFlags": [], + "rpc": [ + "https://qauser41testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://39747.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc" + ], + "shortName": "QaUser41Testnet", + "slug": "qauser41testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/45510.ts b/packages/chains/chains/45510.ts new file mode 100644 index 00000000000..a520b715692 --- /dev/null +++ b/packages/chains/chains/45510.ts @@ -0,0 +1,38 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "DEE", + "chainId": 45510, + "explorers": [ + { + "name": "Deelance Mainnet Explorer", + "url": "https://deescan.com", + "standard": "EIP3091" + } + ], + "faucets": [ + "https://faucet.deelance.com" + ], + "icon": { + "url": "ipfs://Qmay2j8biuo5xLJL8NcLtrzubAEHuCWz65cdbKE1pSnGf6", + "width": 500, + "height": 500, + "format": "png" + }, + "infoURL": "https://deelance.com", + "name": "Deelance Mainnet", + "nativeCurrency": { + "name": "Deelance", + "symbol": "DEE", + "decimals": 18 + }, + "networkId": 45510, + "rpc": [ + "https://deelance.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://45510.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://rpc.deelance.com" + ], + "shortName": "dee", + "slug": "deelance", + "testnet": false, + "title": "Deelance Network Mainnet" +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/463.ts b/packages/chains/chains/463.ts index e74e024532e..4e6f30f952e 100644 --- a/packages/chains/chains/463.ts +++ b/packages/chains/chains/463.ts @@ -27,7 +27,11 @@ export default { "rpc": [ "https://areon-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://463.rpc.thirdweb.com/${THIRDWEB_API_KEY}", - "https://mainnet-rpc.areon.network" + "https://mainnet-rpc.areon.network", + "https://mainnet-rpc2.areon.network", + "https://mainnet-rpc3.areon.network", + "https://mainnet-rpc4.areon.network", + "https://mainnet-rpc5.areon.network" ], "shortName": "area", "slug": "areon-network", diff --git a/packages/chains/chains/56570.ts b/packages/chains/chains/56570.ts new file mode 100644 index 00000000000..eaf71f5b98a --- /dev/null +++ b/packages/chains/chains/56570.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 56570, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QaUser4Testnet", + "nativeCurrency": { + "name": "QaUser4Testnet Token", + "symbol": "GYF", + "decimals": 18 + }, + "networkId": 56570, + "redFlags": [], + "rpc": [ + "https://qauser4testnet-qauser4testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://56570.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc" + ], + "shortName": "QaUser4Testnet", + "slug": "qauser4testnet-qauser4testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/61514.ts b/packages/chains/chains/61514.ts new file mode 100644 index 00000000000..4edb1ceb883 --- /dev/null +++ b/packages/chains/chains/61514.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 61514, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QI011624I1", + "nativeCurrency": { + "name": "QI011624I1 Token", + "symbol": "DGQ", + "decimals": 18 + }, + "networkId": 61514, + "redFlags": [], + "rpc": [ + "https://qi011624i1.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://61514.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avacloud-dev.io/e81adde6-3c1b-46ce-8dfe-e7a689f8c7eb" + ], + "shortName": "QI011624I1", + "slug": "qi011624i1", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/63367.ts b/packages/chains/chains/63367.ts new file mode 100644 index 00000000000..4f93e879c51 --- /dev/null +++ b/packages/chains/chains/63367.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 63367, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "ReSFT 1-16-24", + "nativeCurrency": { + "name": "ReSFT 1-16-24 Token", + "symbol": "ZAF", + "decimals": 18 + }, + "networkId": 63367, + "redFlags": [], + "rpc": [ + "https://resft-1-16-24.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://63367.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc" + ], + "shortName": "ReSFT 1-16-24", + "slug": "resft-1-16-24", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/653.ts b/packages/chains/chains/653.ts index 159795e5303..159c297ff1a 100644 --- a/packages/chains/chains/653.ts +++ b/packages/chains/chains/653.ts @@ -10,8 +10,14 @@ export default { } ], "faucets": [], + "icon": { + "url": "ipfs://bafkreieox7v337p3jfhd37dz74mq6mn3uk5i5475rmzpirmyp6ydcfzzqi", + "width": 350, + "height": 350, + "format": "png" + }, "infoURL": "https://kalichain.com", - "name": "Kalichain Mainnet", + "name": "Kalichain Testnet", "nativeCurrency": { "name": "kalis", "symbol": "KALIS", @@ -19,11 +25,11 @@ export default { }, "networkId": 653, "rpc": [ - "https://kalichain.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://kalichain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://653.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://rpc.kalichain.com" ], "shortName": "kalichain", - "slug": "kalichain", - "testnet": false + "slug": "kalichain-testnet", + "testnet": true } as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/654.ts b/packages/chains/chains/654.ts index 4114bce5bc8..79f91695a80 100644 --- a/packages/chains/chains/654.ts +++ b/packages/chains/chains/654.ts @@ -25,11 +25,11 @@ export default { }, "networkId": 654, "rpc": [ - "https://kalichain-kalichainmainnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://kalichain.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://654.rpc.thirdweb.com/${THIRDWEB_API_KEY}", "https://mainnet.kalichain.com" ], "shortName": "kalichainMainnet", - "slug": "kalichain-kalichainmainnet", + "slug": "kalichain", "testnet": false } as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/6701.ts b/packages/chains/chains/6701.ts new file mode 100644 index 00000000000..c6de191db51 --- /dev/null +++ b/packages/chains/chains/6701.ts @@ -0,0 +1,41 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "PAXB", + "chainId": 6701, + "explorers": [ + { + "name": "PAXB Explorer", + "url": "https://scan.paxb.io", + "standard": "EIP3091", + "icon": { + "url": "ipfs://QmSP66CHynXpMYkjV28uLjTR4kjuoJyy92igYYpvLoqHtG", + "width": 300, + "height": 300, + "format": "png" + } + } + ], + "faucets": [], + "icon": { + "url": "ipfs://QmSP66CHynXpMYkjV28uLjTR4kjuoJyy92igYYpvLoqHtG", + "width": 300, + "height": 300, + "format": "png" + }, + "infoURL": "https://paxb.io/", + "name": "PAXB Mainnet", + "nativeCurrency": { + "name": "PAXB", + "symbol": "PAXB", + "decimals": 18 + }, + "networkId": 6701, + "rpc": [ + "https://paxb.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://6701.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://chain.paxb.io" + ], + "shortName": "PAXB", + "slug": "paxb", + "testnet": false +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/68295.ts b/packages/chains/chains/68295.ts new file mode 100644 index 00000000000..7b56407cb71 --- /dev/null +++ b/packages/chains/chains/68295.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 68295, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "qr0116y1s", + "nativeCurrency": { + "name": "qr0116y1s Token", + "symbol": "ANG", + "decimals": 18 + }, + "networkId": 68295, + "redFlags": [], + "rpc": [ + "https://qr0116y1s.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://68295.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/qr0116y1s/testnet/rpc" + ], + "shortName": "qr0116y1s", + "slug": "qr0116y1s", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/80085.ts b/packages/chains/chains/80085.ts new file mode 100644 index 00000000000..ecb649af485 --- /dev/null +++ b/packages/chains/chains/80085.ts @@ -0,0 +1,23 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Berachain", + "chainId": 80085, + "explorers": [], + "faucets": [ + "https://artio.faucet.berachain.com/" + ], + "features": [], + "infoURL": "https://www.berachain.com/", + "name": "Berachain Artio", + "nativeCurrency": { + "name": "BERA", + "symbol": "BERA", + "decimals": 18 + }, + "networkId": 80085, + "redFlags": [], + "rpc": [], + "shortName": "bera-artio", + "slug": "berachain-artio", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/810.ts b/packages/chains/chains/810.ts new file mode 100644 index 00000000000..af3ee999bd5 --- /dev/null +++ b/packages/chains/chains/810.ts @@ -0,0 +1,51 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "haven1", + "chainId": 810, + "explorers": [ + { + "name": "Haven1 Explorer", + "url": "https://testnet-explorer.haven1.org", + "standard": "EIP3091", + "icon": { + "url": "ipfs://QmbSwngVDEiGaw3JzdME7fz5mYBWKbbz1ZerTpimaAxNXR", + "width": 32, + "height": 33, + "format": "svg" + } + } + ], + "faucets": [ + "https://www.haven1.org/faucet" + ], + "features": [ + { + "name": "EIP155" + }, + { + "name": "EIP1559" + } + ], + "icon": { + "url": "ipfs://QmbSwngVDEiGaw3JzdME7fz5mYBWKbbz1ZerTpimaAxNXR", + "width": 32, + "height": 33, + "format": "svg" + }, + "infoURL": "https://www.haven1.org", + "name": "Haven1 Testnet", + "nativeCurrency": { + "name": "Haven1", + "symbol": "H1", + "decimals": 18 + }, + "networkId": 810, + "rpc": [ + "https://haven1-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://810.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://testnet-rpc.haven1.org" + ], + "shortName": "h1", + "slug": "haven1-testnet", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/82368.ts b/packages/chains/chains/82368.ts new file mode 100644 index 00000000000..00bc171690a --- /dev/null +++ b/packages/chains/chains/82368.ts @@ -0,0 +1,31 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "Avalanche", + "chainId": 82368, + "explorers": [], + "faucets": [], + "features": [], + "icon": { + "url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg", + "width": 256, + "height": 256, + "format": "svg" + }, + "infoURL": "https://avacloud.io", + "name": "QR0116S1", + "nativeCurrency": { + "name": "QR0116S1 Token", + "symbol": "USJ", + "decimals": 18 + }, + "networkId": 82368, + "redFlags": [], + "rpc": [ + "https://qr0116s1.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://82368.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://subnets.avax.network/qr0116s1/testnet/rpc" + ], + "shortName": "QR0116S1", + "slug": "qr0116s1", + "testnet": true +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/chains/9395.ts b/packages/chains/chains/9395.ts new file mode 100644 index 00000000000..084ea0c786e --- /dev/null +++ b/packages/chains/chains/9395.ts @@ -0,0 +1,35 @@ +import type { Chain } from "../src/types"; +export default { + "chain": "MTHN", + "chainId": 9395, + "explorers": [ + { + "name": "Evoke SmartChain Explorer", + "url": "https://explorer.evokescan.org", + "standard": "EIP3091" + } + ], + "faucets": [], + "icon": { + "url": "ipfs://bafkreia5q26knsvxgkwxze7woepvsqat5n2hodokh4ozzphmhexqez5s34", + "width": 100, + "height": 100, + "format": "png" + }, + "infoURL": "https://explorer.evokescan.org", + "name": "Evoke Mainnet", + "nativeCurrency": { + "name": "MTHN", + "symbol": "MTHN", + "decimals": 18 + }, + "networkId": 9395, + "rpc": [ + "https://evoke.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://9395.rpc.thirdweb.com/${THIRDWEB_API_KEY}", + "https://mainnet-rpc.evokescan.org" + ], + "shortName": "MTHN", + "slug": "evoke", + "testnet": false +} as const satisfies Chain; \ No newline at end of file diff --git a/packages/chains/src/index.ts b/packages/chains/src/index.ts index eab749c476b..c95933a2eed 100644 --- a/packages/chains/src/index.ts +++ b/packages/chains/src/index.ts @@ -126,6 +126,7 @@ import c125 from "../chains/125"; import c126 from "../chains/126"; import c127 from "../chains/127"; import c128 from "../chains/128"; +import c129 from "../chains/129"; import c131 from "../chains/131"; import c134 from "../chains/134"; import c135 from "../chains/135"; @@ -295,6 +296,7 @@ import c789 from "../chains/789"; import c800 from "../chains/800"; import c803 from "../chains/803"; import c808 from "../chains/808"; +import c810 from "../chains/810"; import c813 from "../chains/813"; import c814 from "../chains/814"; import c818 from "../chains/818"; @@ -443,6 +445,7 @@ import c1807 from "../chains/1807"; import c1818 from "../chains/1818"; import c1819 from "../chains/1819"; import c1821 from "../chains/1821"; +import c1838 from "../chains/1838"; import c1856 from "../chains/1856"; import c1875 from "../chains/1875"; import c1881 from "../chains/1881"; @@ -576,6 +579,7 @@ import c3699 from "../chains/3699"; import c3701 from "../chains/3701"; import c3737 from "../chains/3737"; import c3797 from "../chains/3797"; +import c3799 from "../chains/3799"; import c3885 from "../chains/3885"; import c3888 from "../chains/3888"; import c3889 from "../chains/3889"; @@ -658,6 +662,7 @@ import c6660 from "../chains/6660"; import c6661 from "../chains/6661"; import c6666 from "../chains/6666"; import c6688 from "../chains/6688"; +import c6701 from "../chains/6701"; import c6779 from "../chains/6779"; import c6789 from "../chains/6789"; import c6969 from "../chains/6969"; @@ -736,6 +741,7 @@ import c9100 from "../chains/9100"; import c9170 from "../chains/9170"; import c9223 from "../chains/9223"; import c9339 from "../chains/9339"; +import c9395 from "../chains/9395"; import c9527 from "../chains/9527"; import c9528 from "../chains/9528"; import c9559 from "../chains/9559"; @@ -823,6 +829,7 @@ import c18105 from "../chains/18105"; import c18122 from "../chains/18122"; import c18159 from "../chains/18159"; import c18181 from "../chains/18181"; +import c18303 from "../chains/18303"; import c18686 from "../chains/18686"; import c19011 from "../chains/19011"; import c19683 from "../chains/19683"; @@ -833,6 +840,7 @@ import c20729 from "../chains/20729"; import c20736 from "../chains/20736"; import c20948 from "../chains/20948"; import c21337 from "../chains/21337"; +import c21758 from "../chains/21758"; import c21816 from "../chains/21816"; import c21912 from "../chains/21912"; import c22023 from "../chains/22023"; @@ -863,6 +871,7 @@ import c31102 from "../chains/31102"; import c31223 from "../chains/31223"; import c31224 from "../chains/31224"; import c31337 from "../chains/31337"; +import c31414 from "../chains/31414"; import c31415 from "../chains/31415"; import c32520 from "../chains/32520"; import c32659 from "../chains/32659"; @@ -877,6 +886,7 @@ import c33909 from "../chains/33909"; import c34443 from "../chains/34443"; import c35011 from "../chains/35011"; import c35395 from "../chains/35395"; +import c35439 from "../chains/35439"; import c35441 from "../chains/35441"; import c35443 from "../chains/35443"; import c35730 from "../chains/35730"; @@ -885,7 +895,9 @@ import c36908 from "../chains/36908"; import c37195 from "../chains/37195"; import c38400 from "../chains/38400"; import c38401 from "../chains/38401"; +import c39098 from "../chains/39098"; import c39142 from "../chains/39142"; +import c39747 from "../chains/39747"; import c39797 from "../chains/39797"; import c39815 from "../chains/39815"; import c40542 from "../chains/40542"; @@ -911,6 +923,7 @@ import c44444 from "../chains/44444"; import c44787 from "../chains/44787"; import c44808 from "../chains/44808"; import c45000 from "../chains/45000"; +import c45510 from "../chains/45510"; import c46688 from "../chains/46688"; import c47805 from "../chains/47805"; import c49049 from "../chains/49049"; @@ -932,6 +945,7 @@ import c55004 from "../chains/55004"; import c55555 from "../chains/55555"; import c55556 from "../chains/55556"; import c56288 from "../chains/56288"; +import c56570 from "../chains/56570"; import c56789 from "../chains/56789"; import c56914 from "../chains/56914"; import c57000 from "../chains/57000"; @@ -946,6 +960,7 @@ import c60001 from "../chains/60001"; import c60002 from "../chains/60002"; import c60103 from "../chains/60103"; import c60841 from "../chains/60841"; +import c61514 from "../chains/61514"; import c61800 from "../chains/61800"; import c61803 from "../chains/61803"; import c61916 from "../chains/61916"; @@ -955,10 +970,12 @@ import c62621 from "../chains/62621"; import c63000 from "../chains/63000"; import c63001 from "../chains/63001"; import c63079 from "../chains/63079"; +import c63367 from "../chains/63367"; import c65450 from "../chains/65450"; import c66988 from "../chains/66988"; import c67390 from "../chains/67390"; import c67588 from "../chains/67588"; +import c68295 from "../chains/68295"; import c68770 from "../chains/68770"; import c69399 from "../chains/69399"; import c69420 from "../chains/69420"; @@ -991,6 +1008,7 @@ import c78432 from "../chains/78432"; import c78933 from "../chains/78933"; import c79879 from "../chains/79879"; import c80001 from "../chains/80001"; +import c80085 from "../chains/80085"; import c80182 from "../chains/80182"; import c80375 from "../chains/80375"; import c81041 from "../chains/81041"; @@ -1005,6 +1023,7 @@ import c81361 from "../chains/81361"; import c81362 from "../chains/81362"; import c81363 from "../chains/81363"; import c81720 from "../chains/81720"; +import c82368 from "../chains/82368"; import c82459 from "../chains/82459"; import c82807 from "../chains/82807"; import c83862 from "../chains/83862"; @@ -1211,6 +1230,7 @@ import c20482050 from "../chains/20482050"; import c22052002 from "../chains/22052002"; import c27082017 from "../chains/27082017"; import c27082022 from "../chains/27082022"; +import c28122024 from "../chains/28122024"; import c28945486 from "../chains/28945486"; import c29032022 from "../chains/29032022"; import c31415926 from "../chains/31415926"; @@ -1266,6 +1286,7 @@ import c3125659152 from "../chains/3125659152"; import c4216137055 from "../chains/4216137055"; import c11297108099 from "../chains/11297108099"; import c11297108109 from "../chains/11297108109"; +import c37714555429 from "../chains/37714555429"; import c47279324479 from "../chains/47279324479"; import c111222333444 from "../chains/111222333444"; import c197710212030 from "../chains/197710212030"; @@ -1404,6 +1425,7 @@ export { default as OychainTestnet } from "../chains/125" export { default as Oychain } from "../chains/126" export { default as Factory127 } from "../chains/127" export { default as HuobiEcoChain } from "../chains/128" +export { default as ProtojumboTestnet } from "../chains/129" export { default as EngramTestnet } from "../chains/131" export { default as IexecSidechain } from "../chains/134" export { default as AlyxChainTestnet } from "../chains/135" @@ -1546,8 +1568,8 @@ export { default as GraphlinqBlockchain } from "../chains/614" export { default as Avocado } from "../chains/634" export { default as SxNetworkTestnet } from "../chains/647" export { default as EnduranceSmartChain } from "../chains/648" -export { default as Kalichain } from "../chains/653" -export { default as KalichainKalichainmainnet } from "../chains/654" +export { default as KalichainTestnet } from "../chains/653" +export { default as Kalichain } from "../chains/654" export { default as PixieChainTestnet } from "../chains/666" export { default as LaosArrakis } from "../chains/667" export { default as Juncachain } from "../chains/668" @@ -1573,6 +1595,7 @@ export { default as Patex } from "../chains/789" export { default as LucidBlockchain } from "../chains/800" export { default as Haic } from "../chains/803" export { default as PortalFantasyChainTest } from "../chains/808" +export { default as Haven1Testnet } from "../chains/810" export { default as Qitmeer } from "../chains/813" export { default as FirechainZkevm } from "../chains/814" export { default as BeoneChain } from "../chains/818" @@ -1721,6 +1744,7 @@ export { default as RabbitAnalogTestnetChain } from "../chains/1807" export { default as CubeChain } from "../chains/1818" export { default as CubeChainTestnet } from "../chains/1819" export { default as RubySmartChain } from "../chains/1821" +export { default as TraderlandsTestnet } from "../chains/1838" export { default as Teslafunds } from "../chains/1856" export { default as WhitebitNetwork } from "../chains/1875" export { default as GitshockCartenzTestnet } from "../chains/1881" @@ -1854,6 +1878,7 @@ export { default as Senjepowers } from "../chains/3699" export { default as XplaTestnetXplatest } from "../chains/3701" export { default as Crossbell } from "../chains/3737" export { default as Alveychain } from "../chains/3797" +export { default as TangleTestnet } from "../chains/3799" export { default as FirechainZkevmGhostrider } from "../chains/3885" export { default as Kalychain } from "../chains/3888" export { default as KalychainTestnet } from "../chains/3889" @@ -1936,6 +1961,7 @@ export { default as LatestChainTestnet } from "../chains/6660" export { default as Cybria } from "../chains/6661" export { default as CybriaTestnet } from "../chains/6666" export { default as Irishub } from "../chains/6688" +export { default as Paxb } from "../chains/6701" export { default as Compverse } from "../chains/6779" export { default as GoldSmartChain } from "../chains/6789" export { default as TombChain } from "../chains/6969" @@ -2014,6 +2040,7 @@ export { default as GenesisCoin } from "../chains/9100" export { default as RiniaTestnetOld } from "../chains/9170" export { default as Codefin } from "../chains/9223" export { default as DogcoinTestnet } from "../chains/9339" +export { default as Evoke } from "../chains/9395" export { default as RangersProtocolTestnetRobin } from "../chains/9527" export { default as Qeasyweb3Testnet } from "../chains/9528" export { default as NeonlinkTestnet } from "../chains/9559" @@ -2101,6 +2128,7 @@ export { default as FoundTest } from "../chains/18105" export { default as SmartTradeNetworks } from "../chains/18122" export { default as ProofOfMemes } from "../chains/18159" export { default as G8chainTestnet } from "../chains/18181" +export { default as ZerooneTestnet } from "../chains/18303" export { default as MxcZkevm } from "../chains/18686" export { default as HomeVerse } from "../chains/19011" export { default as St1207V1 } from "../chains/19683" @@ -2111,6 +2139,7 @@ export { default as CallistoTestnet } from "../chains/20729" export { default as P12Chain } from "../chains/20736" export { default as Goldfever } from "../chains/20948" export { default as CennznetAzalea } from "../chains/21337" +export { default as Fst0116Multi } from "../chains/21758" export { default as Omchain } from "../chains/21816" export { default as Bsl } from "../chains/21912" export { default as Taycan } from "../chains/22023" @@ -2141,6 +2170,7 @@ export { default as EthersocialNetwork } from "../chains/31102" export { default as Cloudtx } from "../chains/31223" export { default as CloudtxTestnet } from "../chains/31224" export { default as GochainTestnet } from "../chains/31337" +export { default as EvokeTestnet } from "../chains/31414" export { default as FilecoinWallabyTestnet } from "../chains/31415" export { default as Bitgert } from "../chains/32520" export { default as Fusion } from "../chains/32659" @@ -2155,6 +2185,7 @@ export { default as Reg1116test } from "../chains/33909" export { default as Mode } from "../chains/34443" export { default as J2oTaro } from "../chains/35011" export { default as Found1423 } from "../chains/35395" +export { default as QiM2401122 } from "../chains/35439" export { default as Q } from "../chains/35441" export { default as QTestnet } from "../chains/35443" export { default as Qr1129i1 } from "../chains/35730" @@ -2163,7 +2194,9 @@ export { default as Qr1205s1 } from "../chains/36908" export { default as Thari } from "../chains/37195" export { default as Connectormanager } from "../chains/38400" export { default as ConnectormanagerRobin } from "../chains/38401" +export { default as Qi20240108 } from "../chains/39098" export { default as StFound10524 } from "../chains/39142" +export { default as Qauser41testnet } from "../chains/39747" export { default as Energi } from "../chains/39797" export { default as Oho } from "../chains/39815" export { default as Qi1212i8 } from "../chains/40542" @@ -2189,6 +2222,7 @@ export { default as Frenchain } from "../chains/44444" export { default as CeloAlfajoresTestnet } from "../chains/44787" export { default as KlcohanTestnet } from "../chains/44808" export { default as AutobahnNetwork } from "../chains/45000" +export { default as Deelance } from "../chains/45510" export { default as FusionTestnet } from "../chains/46688" export { default as ReiNetwork } from "../chains/47805" export { default as WireshapeFloripaTestnet } from "../chains/49049" @@ -2210,6 +2244,7 @@ export { default as Titan } from "../chains/55004" export { default as ReiChain } from "../chains/55555" export { default as ReiChainTestnet } from "../chains/55556" export { default as BobaBnb } from "../chains/56288" +export { default as Qauser4testnetQauser4testnet } from "../chains/56570" export { default as VeloLabs } from "../chains/56789" export { default as Kk1223 } from "../chains/56914" export { default as RolluxTestnet } from "../chains/57000" @@ -2224,6 +2259,7 @@ export { default as ThinkiumTestnetChain1 } from "../chains/60001" export { default as ThinkiumTestnetChain2 } from "../chains/60002" export { default as ThinkiumTestnetChain103 } from "../chains/60103" export { default as ScgK } from "../chains/60841" +export { default as Qi011624i1 } from "../chains/61514" export { default as AxelchainDevNet } from "../chains/61800" export { default as Etica } from "../chains/61803" export { default as DokenSuperChain } from "../chains/61916" @@ -2233,10 +2269,12 @@ export { default as Multivac } from "../chains/62621" export { default as Ecredits } from "../chains/63000" export { default as EcreditsTestnet } from "../chains/63001" export { default as Mt11212 } from "../chains/63079" +export { default as Resft11624 } from "../chains/63367" export { default as Scolcoin } from "../chains/65450" export { default as JanusTestnet } from "../chains/66988" export { default as Siriusnet } from "../chains/67390" export { default as CosmicChain } from "../chains/67588" +export { default as Qr0116y1s } from "../chains/68295" export { default as Dm2Verse } from "../chains/68770" export { default as Qi0103i1 } from "../chains/69399" export { default as Condrieu } from "../chains/69420" @@ -2269,6 +2307,7 @@ export { default as ConduitSubnet } from "../chains/78432" export { default as Fst1222V2 } from "../chains/78933" export { default as GoldSmartChainTestnet } from "../chains/79879" export { default as Mumbai } from "../chains/80001" +export { default as BerachainArtio } from "../chains/80085" export { default as QiM12051 } from "../chains/80182" export { default as Qr0103y1s } from "../chains/80375" export { default as Nordek } from "../chains/81041" @@ -2283,6 +2322,7 @@ export { default as MizanaTestnet } from "../chains/81361" export { default as MizanaMixnet } from "../chains/81362" export { default as MizanaPrivnet } from "../chains/81363" export { default as QuantumChain } from "../chains/81720" +export { default as Qr0116s1 } from "../chains/82368" export { default as SmartLayerNetworkTestnet } from "../chains/82459" export { default as ZfirstAvacloudSubnetThirdweb } from "../chains/82807" export { default as St1212V1 } from "../chains/83862" @@ -2489,6 +2529,7 @@ export { default as HokumTestnet } from "../chains/20482050" export { default as Excelon } from "../chains/22052002" export { default as ExcoincialChainVoltaTestnet } from "../chains/27082017" export { default as ExcoincialChain } from "../chains/27082022" +export { default as Ancient8Testnet } from "../chains/28122024" export { default as AuxiliumNetwork } from "../chains/28945486" export { default as Flachain } from "../chains/29032022" export { default as FilecoinLocalTestnet } from "../chains/31415926" @@ -2539,11 +2580,12 @@ export { default as HarmonyDevnetShard1 } from "../chains/1666900001" export { default as RarichainTestnet } from "../chains/1918988905" export { default as Datahopper } from "../chains/2021121117" export { default as SkaleEuropaHub } from "../chains/2046399126" -export { default as Ancient8Testnet } from "../chains/2863311531" +export { default as Ancient8TestnetDeprecated } from "../chains/2863311531" export { default as Pirl } from "../chains/3125659152" export { default as OneledgerTestnetFrankenstein } from "../chains/4216137055" export { default as PalmTestnet } from "../chains/11297108099" export { default as Palm } from "../chains/11297108109" +export { default as XaiSepolia } from "../chains/37714555429" export { default as XaiGoerliOrbit } from "../chains/47279324479" export { default as Alphabet } from "../chains/111222333444" export { default as Ntity } from "../chains/197710212030" @@ -2561,7 +2603,7 @@ export const defaultChains = [c1, c5, c8453, c84531, c137, c80001, c42161, c4216 * @deprecated use `fetchChains()` instead */ // @ts-expect-error - TODO: fix this later -export const allChains: Chain[] = [c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c80, c81, c82, c83, c84, c85, c86, c87, c88, c89, c90, c91, c92, c93, c94, c95, c96, c97, c98, c99, c100, c101, c102, c103, c104, c105, c106, c107, c108, c109, c110, c111, c112, c113, c114, c115, c116, c117, c118, c119, c120, c121, c122, c123, c124, c125, c126, c127, c128, c131, c134, c135, c136, c137, c138, c139, c141, c142, c144, c148, c150, c151, c152, c153, c154, c155, c156, c160, c161, c162, c163, c165, c167, c168, c169, c170, c172, c180, c186, c188, c189, c193, c195, c196, c197, c198, c199, c200, c201, c204, c206, c207, c208, c210, c211, c212, c214, c217, c218, c220, c222, c225, c226, c230, c236, c238, c242, c246, c248, c250, c252, c255, c256, c258, c259, c262, c269, c271, c274, c280, c288, c291, c295, c296, c297, c298, c300, c301, c303, c309, c311, c313, c314, c321, c322, c324, c333, c335, c336, c338, c361, c363, c364, c365, c369, c371, c385, c399, c400, c401, c408, c411, c416, c418, c420, c424, c427, c428, c443, c444, c456, c462, c463, c499, c500, c501, c512, c513, c516, c520, c529, c530, c534, c542, c555, c558, c568, c570, c571, c588, c592, c595, c596, c597, c599, c600, c601, c614, c634, c647, c648, c653, c654, c666, c667, c668, c669, c686, c700, c707, c708, c710, c719, c721, c727, c740, c741, c742, c766, c776, c777, c786, c787, c788, c789, c800, c803, c808, c813, c814, c818, c820, c821, c841, c842, c859, c868, c876, c877, c880, c882, c888, c900, c901, c902, c903, c909, c910, c917, c919, c927, c940, c941, c942, c943, c956, c957, c963, c970, c971, c972, c977, c980, c985, c989, c990, c997, c998, c999, c1000, c1001, c1003, c1004, c1007, c1008, c1010, c1012, c1022, c1023, c1024, c1028, c1030, c1031, c1038, c1039, c1071, c1072, c1073, c1079, c1080, c1088, c1089, c1099, c1101, c1107, c1108, c1111, c1112, c1115, c1116, c1117, c1130, c1131, c1133, c1138, c1139, c1140, c1149, c1170, c1177, c1197, c1201, c1202, c1213, c1214, c1229, c1230, c1231, c1234, c1243, c1244, c1246, c1248, c1252, c1280, c1284, c1285, c1286, c1287, c1288, c1291, c1294, c1297, c1311, c1314, c1319, c1320, c1337, c1338, c1339, c1343, c1353, c1369, c1379, c1388, c1392, c1402, c1422, c1433, c1440, c1442, c1452, c1455, c1501, c1506, c1507, c1515, c1559, c1582, c1618, c1620, c1657, c1662, c1663, c1688, c1701, c1707, c1708, c1718, c1773, c1777, c1804, c1807, c1818, c1819, c1821, c1856, c1875, c1881, c1890, c1891, c1898, c1904, c1907, c1908, c1909, c1911, c1912, c1945, c1951, c1954, c1967, c1969, c1970, c1971, c1972, c1975, c1984, c1985, c1986, c1987, c1994, c1995, c1998, c2000, c2001, c2002, c2008, c2009, c2016, c2018, c2019, c2020, c2021, c2022, c2023, c2025, c2031, c2032, c2035, c2037, c2038, c2043, c2044, c2047, c2048, c2049, c2077, c2088, c2089, c2100, c2101, c2109, c2121, c2122, c2124, c2137, c2138, c2151, c2152, c2153, c2154, c2199, c2202, c2203, c2213, c2221, c2222, c2223, c2241, c2300, c2306, c2309, c2323, c2330, c2332, c2357, c2358, c2399, c2400, c2415, c2458, c2468, c2484, c2522, c2559, c2569, c2606, c2611, c2612, c2613, c2625, c2710, c2718, c2828, c2888, c2999, c3000, c3001, c3003, c3011, c3031, c3068, c3100, c3102, c3141, c3269, c3270, c3306, c3331, c3333, c3334, c3400, c3434, c3500, c3501, c3601, c3602, c3636, c3637, c3639, c3666, c3690, c3693, c3698, c3699, c3701, c3737, c3797, c3885, c3888, c3889, c3912, c3939, c3966, c3967, c3999, c4000, c4001, c4002, c4003, c4051, c4061, c4062, c4078, c4090, c4096, c4099, c4102, c4139, c4141, c4145, c4157, c4181, c4201, c4242, c4243, c4328, c4337, c4400, c4444, c4460, c4689, c4690, c4759, c4777, c4893, c4905, c4918, c4919, c4999, c5000, c5001, c5002, c5003, c5005, c5165, c5169, c5177, c5197, c5234, c5290, c5315, c5353, c5522, c5551, c5553, c5555, c5611, c5616, c5678, c5700, c5729, c5758, c5777, c5851, c5869, c6065, c6066, c6102, c6118, c6119, c6363, c6502, c6552, c6565, c6626, c6660, c6661, c6666, c6688, c6779, c6789, c6969, c6999, c7000, c7001, c7027, c7070, c7100, c7118, c7171, c7331, c7332, c7341, c7484, c7518, c7575, c7576, c7668, c7672, c7700, c7701, c7771, c7777, c7860, c7878, c7895, c7979, c8000, c8001, c8029, c8080, c8081, c8082, c8086, c8087, c8098, c8131, c8132, c8133, c8134, c8135, c8136, c8181, c8192, c8194, c8217, c8272, c8285, c8387, c8453, c8654, c8655, c8668, c8723, c8724, c8726, c8727, c8738, c8768, c8848, c8880, c8881, c8882, c8883, c8888, c8889, c8898, c8899, c8989, c8995, c9000, c9001, c9012, c9100, c9170, c9223, c9339, c9527, c9528, c9559, c9700, c9728, c9768, c9779, c9790, c9792, c9818, c9819, c9888, c9977, c9980, c9990, c9996, c9997, c9999, c10000, c10001, c10024, c10081, c10086, c10101, c10200, c10201, c10242, c10243, c10248, c10395, c10507, c10508, c10671, c10823, c10946, c10947, c11110, c11111, c11115, c11119, c11235, c11437, c11612, c11888, c11891, c12009, c12035, c12051, c12052, c12123, c12306, c12321, c12345, c12611, c12715, c12890, c13000, c13308, c13337, c13371, c13381, c13473, c13812, c14000, c14853, c15003, c15535, c15551, c15555, c15557, c16000, c16001, c16507, c16688, c16718, c16888, c17000, c17001, c17026, c17171, c17180, c17777, c18000, c18105, c18122, c18159, c18181, c18686, c19011, c19683, c19845, c20001, c20141, c20729, c20736, c20948, c21337, c21816, c21912, c22023, c22040, c22222, c22324, c22776, c23006, c23118, c23294, c23295, c23812, c23888, c23934, c24484, c24734, c25888, c25925, c26026, c26600, c26863, c28528, c29548, c30067, c30103, c30891, c31102, c31223, c31224, c31337, c31415, c32520, c32659, c32769, c32990, c33101, c33210, c33333, c33385, c33469, c33909, c34443, c35011, c35395, c35441, c35443, c35730, c36695, c36908, c37195, c38400, c38401, c39142, c39797, c39815, c40542, c40798, c41500, c42069, c42161, c42170, c42220, c42261, c42262, c42355, c42451, c42766, c42801, c42888, c43110, c43113, c43114, c43288, c43851, c44444, c44787, c44808, c45000, c46688, c47805, c49049, c49088, c49797, c50001, c50005, c50006, c50021, c51161, c51178, c51712, c51740, c52014, c53935, c54211, c54321, c55004, c55555, c55556, c56288, c56789, c56914, c57000, c57522, c58008, c59069, c59140, c59144, c59971, c60000, c60001, c60002, c60103, c60841, c61800, c61803, c61916, c62278, c62320, c62621, c63000, c63001, c63079, c65450, c66988, c67390, c67588, c68770, c69399, c69420, c69740, c70000, c70001, c70002, c70103, c70466, c71111, c71393, c71401, c71402, c72605, c72992, c73799, c73927, c74356, c75000, c75817, c76950, c77238, c77612, c77777, c78110, c78281, c78430, c78431, c78432, c78933, c79879, c80001, c80182, c80375, c81041, c81079, c81341, c81342, c81343, c81351, c81352, c81353, c81361, c81362, c81363, c81720, c82459, c82807, c83862, c84531, c84532, c84886, c85449, c88002, c88880, c88882, c88883, c88888, c90210, c91002, c91003, c91715, c91735, c92001, c92850, c94158, c94918, c96970, c97288, c98540, c99099, c99998, c99999, c100000, c100001, c100002, c100003, c100004, c100005, c100006, c100007, c100008, c100009, c100010, c100100, c101010, c103090, c108801, c110000, c110001, c110002, c110003, c110004, c110005, c110006, c110007, c110008, c111000, c111111, c112358, c123456, c128123, c131419, c132902, c142857, c151221, c167004, c167005, c167006, c167007, c167008, c188710, c188881, c200101, c200202, c200625, c201018, c201030, c201804, c202020, c202212, c202624, c204005, c210425, c220315, c221230, c221231, c224168, c224422, c224433, c230315, c234666, c246529, c246785, c247253, c256256, c266256, c271271, c281121, c314159, c330844, c331769, c331771, c333331, c333333, c333666, c333777, c333888, c333999, c355113, c363636, c373737, c381931, c381932, c404040, c420420, c420666, c420692, c421611, c421613, c421614, c424242, c431140, c432201, c432204, c444900, c471100, c473861, c474142, c512512, c513100, c534351, c534352, c534353, c534354, c534849, c535037, c622277, c641230, c651940, c660279, c660868, c666666, c666888, c751230, c761412, c776877, c800001, c827431, c846000, c855456, c879151, c888888, c894538, c900000, c910000, c912559, c920000, c920001, c923018, c955305, c988207, c993535, c1127469, c1261120, c1313114, c1313500, c1337702, c1337802, c1337803, c1440001, c1731313, c2021398, c2099156, c2203181, c2206132, c2611555, c3141592, c3441005, c4000003, c4281033, c5167003, c5201420, c5555555, c5555558, c7225878, c7355310, c7668378, c7762959, c7777777, c8007736, c8080808, c8794598, c8888881, c8888888, c9322252, c9322253, c10067275, c10101010, c11155111, c11155420, c13371337, c14288640, c16658437, c18289463, c20180430, c20181205, c20201022, c20482050, c22052002, c27082017, c27082022, c28945486, c29032022, c31415926, c35855456, c43214913, c61717561, c65010000, c65010001, c65100000, c65100001, c68840142, c88888888, c99415706, c192837465, c222000222, c245022926, c245022934, c245022940, c278611351, c311752642, c333000333, c344106930, c356256156, c476158412, c486217935, c503129905, c999999999, c1122334455, c1146703430, c1273227453, c1313161554, c1313161555, c1313161556, c1350216234, c1351057110, c1380996178, c1482601649, c1517929550, c1564830818, c1666600000, c1666600001, c1666600002, c1666600003, c1666700000, c1666700001, c1666900000, c1666900001, c1918988905, c2021121117, c2046399126, c2863311531, c3125659152, c4216137055, c11297108099, c11297108109, c47279324479, c111222333444, c197710212030, c197710212031, c383414847825, c666301171999, c6022140761023, c868455272153094]; +export const allChains: Chain[] = [c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c80, c81, c82, c83, c84, c85, c86, c87, c88, c89, c90, c91, c92, c93, c94, c95, c96, c97, c98, c99, c100, c101, c102, c103, c104, c105, c106, c107, c108, c109, c110, c111, c112, c113, c114, c115, c116, c117, c118, c119, c120, c121, c122, c123, c124, c125, c126, c127, c128, c129, c131, c134, c135, c136, c137, c138, c139, c141, c142, c144, c148, c150, c151, c152, c153, c154, c155, c156, c160, c161, c162, c163, c165, c167, c168, c169, c170, c172, c180, c186, c188, c189, c193, c195, c196, c197, c198, c199, c200, c201, c204, c206, c207, c208, c210, c211, c212, c214, c217, c218, c220, c222, c225, c226, c230, c236, c238, c242, c246, c248, c250, c252, c255, c256, c258, c259, c262, c269, c271, c274, c280, c288, c291, c295, c296, c297, c298, c300, c301, c303, c309, c311, c313, c314, c321, c322, c324, c333, c335, c336, c338, c361, c363, c364, c365, c369, c371, c385, c399, c400, c401, c408, c411, c416, c418, c420, c424, c427, c428, c443, c444, c456, c462, c463, c499, c500, c501, c512, c513, c516, c520, c529, c530, c534, c542, c555, c558, c568, c570, c571, c588, c592, c595, c596, c597, c599, c600, c601, c614, c634, c647, c648, c653, c654, c666, c667, c668, c669, c686, c700, c707, c708, c710, c719, c721, c727, c740, c741, c742, c766, c776, c777, c786, c787, c788, c789, c800, c803, c808, c810, c813, c814, c818, c820, c821, c841, c842, c859, c868, c876, c877, c880, c882, c888, c900, c901, c902, c903, c909, c910, c917, c919, c927, c940, c941, c942, c943, c956, c957, c963, c970, c971, c972, c977, c980, c985, c989, c990, c997, c998, c999, c1000, c1001, c1003, c1004, c1007, c1008, c1010, c1012, c1022, c1023, c1024, c1028, c1030, c1031, c1038, c1039, c1071, c1072, c1073, c1079, c1080, c1088, c1089, c1099, c1101, c1107, c1108, c1111, c1112, c1115, c1116, c1117, c1130, c1131, c1133, c1138, c1139, c1140, c1149, c1170, c1177, c1197, c1201, c1202, c1213, c1214, c1229, c1230, c1231, c1234, c1243, c1244, c1246, c1248, c1252, c1280, c1284, c1285, c1286, c1287, c1288, c1291, c1294, c1297, c1311, c1314, c1319, c1320, c1337, c1338, c1339, c1343, c1353, c1369, c1379, c1388, c1392, c1402, c1422, c1433, c1440, c1442, c1452, c1455, c1501, c1506, c1507, c1515, c1559, c1582, c1618, c1620, c1657, c1662, c1663, c1688, c1701, c1707, c1708, c1718, c1773, c1777, c1804, c1807, c1818, c1819, c1821, c1838, c1856, c1875, c1881, c1890, c1891, c1898, c1904, c1907, c1908, c1909, c1911, c1912, c1945, c1951, c1954, c1967, c1969, c1970, c1971, c1972, c1975, c1984, c1985, c1986, c1987, c1994, c1995, c1998, c2000, c2001, c2002, c2008, c2009, c2016, c2018, c2019, c2020, c2021, c2022, c2023, c2025, c2031, c2032, c2035, c2037, c2038, c2043, c2044, c2047, c2048, c2049, c2077, c2088, c2089, c2100, c2101, c2109, c2121, c2122, c2124, c2137, c2138, c2151, c2152, c2153, c2154, c2199, c2202, c2203, c2213, c2221, c2222, c2223, c2241, c2300, c2306, c2309, c2323, c2330, c2332, c2357, c2358, c2399, c2400, c2415, c2458, c2468, c2484, c2522, c2559, c2569, c2606, c2611, c2612, c2613, c2625, c2710, c2718, c2828, c2888, c2999, c3000, c3001, c3003, c3011, c3031, c3068, c3100, c3102, c3141, c3269, c3270, c3306, c3331, c3333, c3334, c3400, c3434, c3500, c3501, c3601, c3602, c3636, c3637, c3639, c3666, c3690, c3693, c3698, c3699, c3701, c3737, c3797, c3799, c3885, c3888, c3889, c3912, c3939, c3966, c3967, c3999, c4000, c4001, c4002, c4003, c4051, c4061, c4062, c4078, c4090, c4096, c4099, c4102, c4139, c4141, c4145, c4157, c4181, c4201, c4242, c4243, c4328, c4337, c4400, c4444, c4460, c4689, c4690, c4759, c4777, c4893, c4905, c4918, c4919, c4999, c5000, c5001, c5002, c5003, c5005, c5165, c5169, c5177, c5197, c5234, c5290, c5315, c5353, c5522, c5551, c5553, c5555, c5611, c5616, c5678, c5700, c5729, c5758, c5777, c5851, c5869, c6065, c6066, c6102, c6118, c6119, c6363, c6502, c6552, c6565, c6626, c6660, c6661, c6666, c6688, c6701, c6779, c6789, c6969, c6999, c7000, c7001, c7027, c7070, c7100, c7118, c7171, c7331, c7332, c7341, c7484, c7518, c7575, c7576, c7668, c7672, c7700, c7701, c7771, c7777, c7860, c7878, c7895, c7979, c8000, c8001, c8029, c8080, c8081, c8082, c8086, c8087, c8098, c8131, c8132, c8133, c8134, c8135, c8136, c8181, c8192, c8194, c8217, c8272, c8285, c8387, c8453, c8654, c8655, c8668, c8723, c8724, c8726, c8727, c8738, c8768, c8848, c8880, c8881, c8882, c8883, c8888, c8889, c8898, c8899, c8989, c8995, c9000, c9001, c9012, c9100, c9170, c9223, c9339, c9395, c9527, c9528, c9559, c9700, c9728, c9768, c9779, c9790, c9792, c9818, c9819, c9888, c9977, c9980, c9990, c9996, c9997, c9999, c10000, c10001, c10024, c10081, c10086, c10101, c10200, c10201, c10242, c10243, c10248, c10395, c10507, c10508, c10671, c10823, c10946, c10947, c11110, c11111, c11115, c11119, c11235, c11437, c11612, c11888, c11891, c12009, c12035, c12051, c12052, c12123, c12306, c12321, c12345, c12611, c12715, c12890, c13000, c13308, c13337, c13371, c13381, c13473, c13812, c14000, c14853, c15003, c15535, c15551, c15555, c15557, c16000, c16001, c16507, c16688, c16718, c16888, c17000, c17001, c17026, c17171, c17180, c17777, c18000, c18105, c18122, c18159, c18181, c18303, c18686, c19011, c19683, c19845, c20001, c20141, c20729, c20736, c20948, c21337, c21758, c21816, c21912, c22023, c22040, c22222, c22324, c22776, c23006, c23118, c23294, c23295, c23812, c23888, c23934, c24484, c24734, c25888, c25925, c26026, c26600, c26863, c28528, c29548, c30067, c30103, c30891, c31102, c31223, c31224, c31337, c31414, c31415, c32520, c32659, c32769, c32990, c33101, c33210, c33333, c33385, c33469, c33909, c34443, c35011, c35395, c35439, c35441, c35443, c35730, c36695, c36908, c37195, c38400, c38401, c39098, c39142, c39747, c39797, c39815, c40542, c40798, c41500, c42069, c42161, c42170, c42220, c42261, c42262, c42355, c42451, c42766, c42801, c42888, c43110, c43113, c43114, c43288, c43851, c44444, c44787, c44808, c45000, c45510, c46688, c47805, c49049, c49088, c49797, c50001, c50005, c50006, c50021, c51161, c51178, c51712, c51740, c52014, c53935, c54211, c54321, c55004, c55555, c55556, c56288, c56570, c56789, c56914, c57000, c57522, c58008, c59069, c59140, c59144, c59971, c60000, c60001, c60002, c60103, c60841, c61514, c61800, c61803, c61916, c62278, c62320, c62621, c63000, c63001, c63079, c63367, c65450, c66988, c67390, c67588, c68295, c68770, c69399, c69420, c69740, c70000, c70001, c70002, c70103, c70466, c71111, c71393, c71401, c71402, c72605, c72992, c73799, c73927, c74356, c75000, c75817, c76950, c77238, c77612, c77777, c78110, c78281, c78430, c78431, c78432, c78933, c79879, c80001, c80085, c80182, c80375, c81041, c81079, c81341, c81342, c81343, c81351, c81352, c81353, c81361, c81362, c81363, c81720, c82368, c82459, c82807, c83862, c84531, c84532, c84886, c85449, c88002, c88880, c88882, c88883, c88888, c90210, c91002, c91003, c91715, c91735, c92001, c92850, c94158, c94918, c96970, c97288, c98540, c99099, c99998, c99999, c100000, c100001, c100002, c100003, c100004, c100005, c100006, c100007, c100008, c100009, c100010, c100100, c101010, c103090, c108801, c110000, c110001, c110002, c110003, c110004, c110005, c110006, c110007, c110008, c111000, c111111, c112358, c123456, c128123, c131419, c132902, c142857, c151221, c167004, c167005, c167006, c167007, c167008, c188710, c188881, c200101, c200202, c200625, c201018, c201030, c201804, c202020, c202212, c202624, c204005, c210425, c220315, c221230, c221231, c224168, c224422, c224433, c230315, c234666, c246529, c246785, c247253, c256256, c266256, c271271, c281121, c314159, c330844, c331769, c331771, c333331, c333333, c333666, c333777, c333888, c333999, c355113, c363636, c373737, c381931, c381932, c404040, c420420, c420666, c420692, c421611, c421613, c421614, c424242, c431140, c432201, c432204, c444900, c471100, c473861, c474142, c512512, c513100, c534351, c534352, c534353, c534354, c534849, c535037, c622277, c641230, c651940, c660279, c660868, c666666, c666888, c751230, c761412, c776877, c800001, c827431, c846000, c855456, c879151, c888888, c894538, c900000, c910000, c912559, c920000, c920001, c923018, c955305, c988207, c993535, c1127469, c1261120, c1313114, c1313500, c1337702, c1337802, c1337803, c1440001, c1731313, c2021398, c2099156, c2203181, c2206132, c2611555, c3141592, c3441005, c4000003, c4281033, c5167003, c5201420, c5555555, c5555558, c7225878, c7355310, c7668378, c7762959, c7777777, c8007736, c8080808, c8794598, c8888881, c8888888, c9322252, c9322253, c10067275, c10101010, c11155111, c11155420, c13371337, c14288640, c16658437, c18289463, c20180430, c20181205, c20201022, c20482050, c22052002, c27082017, c27082022, c28122024, c28945486, c29032022, c31415926, c35855456, c43214913, c61717561, c65010000, c65010001, c65100000, c65100001, c68840142, c88888888, c99415706, c192837465, c222000222, c245022926, c245022934, c245022940, c278611351, c311752642, c333000333, c344106930, c356256156, c476158412, c486217935, c503129905, c999999999, c1122334455, c1146703430, c1273227453, c1313161554, c1313161555, c1313161556, c1350216234, c1351057110, c1380996178, c1482601649, c1517929550, c1564830818, c1666600000, c1666600001, c1666600002, c1666600003, c1666700000, c1666700001, c1666900000, c1666900001, c1918988905, c2021121117, c2046399126, c2863311531, c3125659152, c4216137055, c11297108099, c11297108109, c37714555429, c47279324479, c111222333444, c197710212030, c197710212031, c383414847825, c666301171999, c6022140761023, c868455272153094]; type ChainsById = { 1: typeof c1, @@ -2692,6 +2734,7 @@ type ChainsById = { 126: typeof c126, 127: typeof c127, 128: typeof c128, +129: typeof c129, 131: typeof c131, 134: typeof c134, 135: typeof c135, @@ -2861,6 +2904,7 @@ type ChainsById = { 800: typeof c800, 803: typeof c803, 808: typeof c808, +810: typeof c810, 813: typeof c813, 814: typeof c814, 818: typeof c818, @@ -3009,6 +3053,7 @@ type ChainsById = { 1818: typeof c1818, 1819: typeof c1819, 1821: typeof c1821, +1838: typeof c1838, 1856: typeof c1856, 1875: typeof c1875, 1881: typeof c1881, @@ -3142,6 +3187,7 @@ type ChainsById = { 3701: typeof c3701, 3737: typeof c3737, 3797: typeof c3797, +3799: typeof c3799, 3885: typeof c3885, 3888: typeof c3888, 3889: typeof c3889, @@ -3224,6 +3270,7 @@ type ChainsById = { 6661: typeof c6661, 6666: typeof c6666, 6688: typeof c6688, +6701: typeof c6701, 6779: typeof c6779, 6789: typeof c6789, 6969: typeof c6969, @@ -3302,6 +3349,7 @@ type ChainsById = { 9170: typeof c9170, 9223: typeof c9223, 9339: typeof c9339, +9395: typeof c9395, 9527: typeof c9527, 9528: typeof c9528, 9559: typeof c9559, @@ -3389,6 +3437,7 @@ type ChainsById = { 18122: typeof c18122, 18159: typeof c18159, 18181: typeof c18181, +18303: typeof c18303, 18686: typeof c18686, 19011: typeof c19011, 19683: typeof c19683, @@ -3399,6 +3448,7 @@ type ChainsById = { 20736: typeof c20736, 20948: typeof c20948, 21337: typeof c21337, +21758: typeof c21758, 21816: typeof c21816, 21912: typeof c21912, 22023: typeof c22023, @@ -3429,6 +3479,7 @@ type ChainsById = { 31223: typeof c31223, 31224: typeof c31224, 31337: typeof c31337, +31414: typeof c31414, 31415: typeof c31415, 32520: typeof c32520, 32659: typeof c32659, @@ -3443,6 +3494,7 @@ type ChainsById = { 34443: typeof c34443, 35011: typeof c35011, 35395: typeof c35395, +35439: typeof c35439, 35441: typeof c35441, 35443: typeof c35443, 35730: typeof c35730, @@ -3451,7 +3503,9 @@ type ChainsById = { 37195: typeof c37195, 38400: typeof c38400, 38401: typeof c38401, +39098: typeof c39098, 39142: typeof c39142, +39747: typeof c39747, 39797: typeof c39797, 39815: typeof c39815, 40542: typeof c40542, @@ -3477,6 +3531,7 @@ type ChainsById = { 44787: typeof c44787, 44808: typeof c44808, 45000: typeof c45000, +45510: typeof c45510, 46688: typeof c46688, 47805: typeof c47805, 49049: typeof c49049, @@ -3498,6 +3553,7 @@ type ChainsById = { 55555: typeof c55555, 55556: typeof c55556, 56288: typeof c56288, +56570: typeof c56570, 56789: typeof c56789, 56914: typeof c56914, 57000: typeof c57000, @@ -3512,6 +3568,7 @@ type ChainsById = { 60002: typeof c60002, 60103: typeof c60103, 60841: typeof c60841, +61514: typeof c61514, 61800: typeof c61800, 61803: typeof c61803, 61916: typeof c61916, @@ -3521,10 +3578,12 @@ type ChainsById = { 63000: typeof c63000, 63001: typeof c63001, 63079: typeof c63079, +63367: typeof c63367, 65450: typeof c65450, 66988: typeof c66988, 67390: typeof c67390, 67588: typeof c67588, +68295: typeof c68295, 68770: typeof c68770, 69399: typeof c69399, 69420: typeof c69420, @@ -3557,6 +3616,7 @@ type ChainsById = { 78933: typeof c78933, 79879: typeof c79879, 80001: typeof c80001, +80085: typeof c80085, 80182: typeof c80182, 80375: typeof c80375, 81041: typeof c81041, @@ -3571,6 +3631,7 @@ type ChainsById = { 81362: typeof c81362, 81363: typeof c81363, 81720: typeof c81720, +82368: typeof c82368, 82459: typeof c82459, 82807: typeof c82807, 83862: typeof c83862, @@ -3777,6 +3838,7 @@ type ChainsById = { 22052002: typeof c22052002, 27082017: typeof c27082017, 27082022: typeof c27082022, +28122024: typeof c28122024, 28945486: typeof c28945486, 29032022: typeof c29032022, 31415926: typeof c31415926, @@ -3832,6 +3894,7 @@ type ChainsById = { 4216137055: typeof c4216137055, 11297108099: typeof c11297108099, 11297108109: typeof c11297108109, +37714555429: typeof c37714555429, 47279324479: typeof c47279324479, 111222333444: typeof c111222333444, 197710212030: typeof c197710212030, @@ -3971,6 +4034,7 @@ type ChainIdsBySlug = { "oychain": 126, "factory-127": 127, "huobi-eco-chain": 128, +"protojumbo-testnet": 129, "engram-testnet": 131, "iexec-sidechain": 134, "alyx-chain-testnet": 135, @@ -4113,8 +4177,8 @@ type ChainIdsBySlug = { "avocado": 634, "sx-network-testnet": 647, "endurance-smart-chain": 648, -"kalichain": 653, -"kalichain-kalichainmainnet": 654, +"kalichain-testnet": 653, +"kalichain": 654, "pixie-chain-testnet": 666, "laos-arrakis": 667, "juncachain": 668, @@ -4140,6 +4204,7 @@ type ChainIdsBySlug = { "lucid-blockchain": 800, "haic": 803, "portal-fantasy-chain-test": 808, +"haven1-testnet": 810, "qitmeer": 813, "firechain-zkevm": 814, "beone-chain": 818, @@ -4288,6 +4353,7 @@ type ChainIdsBySlug = { "cube-chain": 1818, "cube-chain-testnet": 1819, "ruby-smart-chain": 1821, +"traderlands-testnet": 1838, "teslafunds": 1856, "whitebit-network": 1875, "gitshock-cartenz-testnet": 1881, @@ -4421,6 +4487,7 @@ type ChainIdsBySlug = { "xpla-testnet-xplatest": 3701, "crossbell": 3737, "alveychain": 3797, +"tangle-testnet": 3799, "firechain-zkevm-ghostrider": 3885, "kalychain": 3888, "kalychain-testnet": 3889, @@ -4503,6 +4570,7 @@ type ChainIdsBySlug = { "cybria": 6661, "cybria-testnet": 6666, "irishub": 6688, +"paxb": 6701, "compverse": 6779, "gold-smart-chain": 6789, "tomb-chain": 6969, @@ -4581,6 +4649,7 @@ type ChainIdsBySlug = { "rinia-testnet-old": 9170, "codefin": 9223, "dogcoin-testnet": 9339, +"evoke": 9395, "rangers-protocol-testnet-robin": 9527, "qeasyweb3-testnet": 9528, "neonlink-testnet": 9559, @@ -4668,6 +4737,7 @@ type ChainIdsBySlug = { "smart-trade-networks": 18122, "proof-of-memes": 18159, "g8chain-testnet": 18181, +"zeroone-testnet": 18303, "mxc-zkevm": 18686, "home-verse": 19011, "st-12-07-v1": 19683, @@ -4678,6 +4748,7 @@ type ChainIdsBySlug = { "p12-chain": 20736, "goldfever": 20948, "cennznet-azalea": 21337, +"fst-01-16-multi": 21758, "omchain": 21816, "bsl": 21912, "taycan": 22023, @@ -4708,6 +4779,7 @@ type ChainIdsBySlug = { "cloudtx": 31223, "cloudtx-testnet": 31224, "gochain-testnet": 31337, +"evoke-testnet": 31414, "filecoin-wallaby-testnet": 31415, "bitgert": 32520, "fusion": 32659, @@ -4722,6 +4794,7 @@ type ChainIdsBySlug = { "mode": 34443, "j2o-taro": 35011, "found-1-4-23": 35395, +"qi-m-2401122": 35439, "q": 35441, "q-testnet": 35443, "qr1129i1": 35730, @@ -4730,7 +4803,9 @@ type ChainIdsBySlug = { "thari": 37195, "connectormanager": 38400, "connectormanager-robin": 38401, +"qi-20240108": 39098, "st-found-1-05-24": 39142, +"qauser41testnet": 39747, "energi": 39797, "oho": 39815, "qi1212i8": 40542, @@ -4756,6 +4831,7 @@ type ChainIdsBySlug = { "celo-alfajores-testnet": 44787, "klcohan-testnet": 44808, "autobahn-network": 45000, +"deelance": 45510, "fusion-testnet": 46688, "rei-network": 47805, "wireshape-floripa-testnet": 49049, @@ -4777,6 +4853,7 @@ type ChainIdsBySlug = { "rei-chain": 55555, "rei-chain-testnet": 55556, "boba-bnb": 56288, +"qauser4testnet-qauser4testnet": 56570, "velo-labs": 56789, "kk1223": 56914, "rollux-testnet": 57000, @@ -4791,6 +4868,7 @@ type ChainIdsBySlug = { "thinkium-testnet-chain-2": 60002, "thinkium-testnet-chain-103": 60103, "scg-k": 60841, +"qi011624i1": 61514, "axelchain-dev-net": 61800, "etica": 61803, "doken-super-chain": 61916, @@ -4800,10 +4878,12 @@ type ChainIdsBySlug = { "ecredits": 63000, "ecredits-testnet": 63001, "mt-1121-2": 63079, +"resft-1-16-24": 63367, "scolcoin": 65450, "janus-testnet": 66988, "siriusnet": 67390, "cosmic-chain": 67588, +"qr0116y1s": 68295, "dm2-verse": 68770, "qi0103i1": 69399, "condrieu": 69420, @@ -4836,6 +4916,7 @@ type ChainIdsBySlug = { "fst-12-22-v2": 78933, "gold-smart-chain-testnet": 79879, "mumbai": 80001, +"berachain-artio": 80085, "qi-m-12051": 80182, "qr0103y1s": 80375, "nordek": 81041, @@ -4850,6 +4931,7 @@ type ChainIdsBySlug = { "mizana-mixnet": 81362, "mizana-privnet": 81363, "quantum-chain": 81720, +"qr0116s1": 82368, "smart-layer-network-testnet": 82459, "zfirst-avacloud-subnet-thirdweb": 82807, "st-12-12-v1": 83862, @@ -5056,6 +5138,7 @@ type ChainIdsBySlug = { "excelon": 22052002, "excoincial-chain-volta-testnet": 27082017, "excoincial-chain": 27082022, +"ancient8-testnet": 28122024, "auxilium-network": 28945486, "flachain": 29032022, "filecoin-local-testnet": 31415926, @@ -5106,11 +5189,12 @@ type ChainIdsBySlug = { "rarichain-testnet": 1918988905, "datahopper": 2021121117, "skale-europa-hub": 2046399126, -"ancient8-testnet": 2863311531, +"ancient8-testnet-deprecated": 2863311531, "pirl": 3125659152, "oneledger-testnet-frankenstein": 4216137055, "palm-testnet": 11297108099, "palm": 11297108109, +"xai-sepolia": 37714555429, "xai-goerli-orbit": 47279324479, "alphabet": 111222333444, "ntity": 197710212030, From 056643ad83b9a7729b94252bec8f623e9cf775c6 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Wed, 17 Jan 2024 20:09:43 +0530 Subject: [PATCH 06/13] Fix error in typedoc and snippets workflows (#2188) --- .../{release-artifacts.yml => snippets.yml} | 22 ++-------- .github/workflows/typedoc.yml | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+), 19 deletions(-) rename .github/workflows/{release-artifacts.yml => snippets.yml} (69%) create mode 100644 .github/workflows/typedoc.yml diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/snippets.yml similarity index 69% rename from .github/workflows/release-artifacts.yml rename to .github/workflows/snippets.yml index 4b4e1ad6652..cf0c3cb31b3 100644 --- a/.github/workflows/release-artifacts.yml +++ b/.github/workflows/snippets.yml @@ -1,8 +1,7 @@ # On the Version Packages branch -# Generate and Commit artifacts to the Version Packages branch -# It commits the Typedoc JSON files and code snippets JSON files +# Generate and Commit snippets JSON files -name: Commit Release Artifacts +name: Commit Snippets JSON files on: push: @@ -13,7 +12,7 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: - setup: + snippets: runs-on: ubuntu-latest steps: - name: Checkout branch @@ -30,27 +29,12 @@ jobs: - name: Build run: pnpm build - typedoc: - needs: setup - runs-on: ubuntu-latest - steps: - - name: Typedoc - run: pnpm typedoc - - snippets: - needs: setup - runs-on: ubuntu-latest - steps: - name: generate-docs run: pnpm generate-docs - name: generate-snippets run: pnpm generate-snippets - commit: - needs: [typedoc, snippets] - runs-on: ubuntu-latest - steps: - name: Commit changes run: | git config --local user.email "action@github.com" diff --git a/.github/workflows/typedoc.yml b/.github/workflows/typedoc.yml new file mode 100644 index 00000000000..efce1d149ca --- /dev/null +++ b/.github/workflows/typedoc.yml @@ -0,0 +1,41 @@ +# On the Version Packages branch +# Generate and Commit the Typedoc JSON files + +name: Commit Typdoc JSON files + +on: + push: + branches: + - changeset-release/main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + +jobs: + typedoc: + runs-on: ubuntu-latest + steps: + - name: Checkout branch + uses: actions/checkout@v3 + + # bun setup is required, because pnpm typdoc will run pnpm build and some packages uses bun for build + - name: Setup bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: 1.0.21 + + - name: Install + uses: ./.github/composite-actions/install + + - name: Typedoc + run: pnpm typedoc + + - name: Commit changes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add -A + git commit -m "Commit Release Artifacts [skip ci]" + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 324330d3549176542b05be5bede84ebd8f2684ca Mon Sep 17 00:00:00 2001 From: iketw <121973632+iketw@users.noreply.github.com> Date: Wed, 17 Jan 2024 07:14:19 -0800 Subject: [PATCH 07/13] [RN] Exports ConnectEmbed as a standalone component (#2185) --- .changeset/smart-ads-draw.md | 24 +++ .../ChooseWallet/ChooseWallet.tsx | 2 +- ...ConnectWalletFlow.tsx => ConnectEmbed.tsx} | 144 +++++++++++++++--- .../ConnectWalletFlow/ConnectWalletButton.tsx | 5 +- .../ConnectingWallet/ConnectingWallet.tsx | 2 +- .../ConnectingWalletHeader.tsx | 20 ++- .../src/evm/components/MainModal.tsx | 12 +- .../src/evm/components/base/WalletButton.tsx | 1 - packages/react-native/src/evm/index.ts | 6 + .../src/evm/providers/ui-context-provider.tsx | 2 +- .../react-native/src/evm/utils/modalTypes.ts | 6 +- 11 files changed, 179 insertions(+), 45 deletions(-) create mode 100644 .changeset/smart-ads-draw.md rename packages/react-native/src/evm/components/ConnectWalletFlow/{ConnectWalletFlow.tsx => ConnectEmbed.tsx} (60%) diff --git a/.changeset/smart-ads-draw.md b/.changeset/smart-ads-draw.md new file mode 100644 index 00000000000..3f2fd623973 --- /dev/null +++ b/.changeset/smart-ads-draw.md @@ -0,0 +1,24 @@ +--- +"@thirdweb-dev/react-native": patch +--- + +Exports standalone ConnectEmbed UI + +Devs can now show the Connect modal UI directly into their apps. +This component will render the wallets defined in our ThirdwebProvider. + +```tsx + { + console.log("wallet connected"); + }} + container={{ + paddingVertical: "md", + marginHorizontal: "md", + borderRadius: "md", + }} +/> +``` diff --git a/packages/react-native/src/evm/components/ConnectWalletFlow/ChooseWallet/ChooseWallet.tsx b/packages/react-native/src/evm/components/ConnectWalletFlow/ChooseWallet/ChooseWallet.tsx index 2ed8ce53f7c..6b7ea942441 100644 --- a/packages/react-native/src/evm/components/ConnectWalletFlow/ChooseWallet/ChooseWallet.tsx +++ b/packages/react-native/src/evm/components/ConnectWalletFlow/ChooseWallet/ChooseWallet.tsx @@ -23,7 +23,7 @@ export type ChooseWalletProps = { headerText?: ReactNode | string; subHeaderText?: ReactNode | string; onChooseWallet: (wallet: WalletConfig, data?: any) => void; - onClose: () => void; + onClose?: () => void; wallets: WalletConfig[]; excludeWalletIds?: string[]; modalTitleIconUrl?: string; diff --git a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletFlow.tsx b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectEmbed.tsx similarity index 60% rename from packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletFlow.tsx rename to packages/react-native/src/evm/components/ConnectWalletFlow/ConnectEmbed.tsx index b42bfab9f42..ef0a7b986c9 100644 --- a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletFlow.tsx +++ b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectEmbed.tsx @@ -13,32 +13,125 @@ import { useColorScheme } from "react-native"; import { useGlobalTheme, useLocale, - useModalState, + useUIContext, } from "../../providers/ui-context-provider"; -import { - CLOSE_MODAL_STATE, - ConnectWalletFlowModal, -} from "../../utils/modalTypes"; +import { CLOSE_MODAL_STATE } from "../../utils/modalTypes"; import Box from "../base/Box"; import { ThemeProvider } from "../../styles/ThemeProvider"; +import { Theme } from "../../styles/theme"; + +export type ConnectEmbedProps = { + /** + * Set a custom title for the Connect Wallet modal + * + * The default is `"Choose your wallet"` + */ + modalTitle?: string; + + /** + * Replace the thirdweb icon next to modalTitle and set your own iconUrl + * + * Set to empty string to hide the icon + */ + modalTitleIconUrl?: string; + + /** + * theme for the ConnectEmbed + * + * If a theme is set on the [`ThirdWebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) component, it will be used as the default theme for all thirdweb components, else the default will be "dark" + * + * theme can be set to either "dark" or "light" or a custom theme object. + * + * You can also import `lightTheme` or `darkTheme` functions from `@thirdweb-dev/react-native` to use the default themes as base and overrides parts of it. + * + * @example + * ```ts + * import { lightTheme } from "@thirdweb-dev/react-native"; + * const customTheme = lightTheme({ + * colors: { + * accentButtonTextColor: 'red' + * } + * }) + * ``` + */ + theme?: "dark" | "light" | Theme; + + /** + * If provided, Embed will show a Terms of Service message at the bottom with below link + */ + termsOfServiceUrl?: string; + + /** + * If provided, Embed will show a Privacy Policy message at the bottom with below link + */ + privacyPolicyUrl?: string; + + /** + * Callback to be called on successful connection of wallet + * + * ```tsx + * { + * console.log("wallet connected") + * }} + * /> + * ``` + * + * Note that this does not include the sign in, If you want to call a callback after user connects AND signs in with their wallet, use `auth.onLogin` prop instead + * + * ```tsx + * { + * console.log("wallet connected and signed in") + * } + * }} + * /> + * ``` + * + */ + onConnect?: () => void; + + /** + * Props to be passed to the Embed container component to control padding, margin, etc. + * + * ```tsx + * + * ``` + */ + container?: React.ComponentProps; +}; -export const ConnectWalletFlow = () => { +export const ConnectEmbed = (props: ConnectEmbedProps) => { + return ; +}; + +export const ConnectEmbedUI = ({ + modalTitle, + modalTitleIconUrl, + privacyPolicyUrl, + termsOfServiceUrl, + isModal = true, + theme, + container: container, + onConnect, +}: ConnectEmbedProps & { isModal: boolean }) => { const l = useLocale(); - const { modalState, setModalState } = useModalState(); - const { - modalTitle, - modalTitleIconUrl, - privacyPolicyUrl, - termsOfServiceUrl, - walletConfig, - } = (modalState as ConnectWalletFlowModal).data; + const supportedWallets = useWallets(); + const setModalState = useUIContext().setModalState; + const walletConfig = + supportedWallets.length === 1 ? supportedWallets[0] : undefined; const [modalVisible, setModalVisible] = useState(false); const [activeWallet, setActiveWallet] = useState(); const [isConnecting, setIsConnecting] = useState(false); const [selectionData, setSelectionData] = useState(); - const supportedWallets = useWallets(); - const theme = useColorScheme(); + const colorTheme = useColorScheme(); const appTheme = useGlobalTheme(); + const setTheme = useUIContext().setTheme; const address = useAddress(); const { activeWallet: connectedWallet, @@ -65,13 +158,14 @@ export const ConnectWalletFlow = () => { setIsConnecting(true); try { await connect(wallet, { ...data }); + onConnect?.(); } catch (error) { console.error("Error connecting to the wallet", error); } finally { onClose(true); } }, - [connect, onClose], + [connect, onClose, onConnect], ); const onChooseWallet = useCallback( @@ -87,6 +181,12 @@ export const ConnectWalletFlow = () => { [connectActiveWallet], ); + useEffect(() => { + if (theme) { + setTheme(theme); + } + }, [setTheme, theme]); + useEffect(() => { // case when only one wallet is passed in supportedWallets if (walletConfig) { @@ -128,7 +228,7 @@ export const ConnectWalletFlow = () => { return ( { setConnectedWallet, setConnectionStatus, supportedWallets, - theme, + colorTheme, ]); return ( - + {activeWallet ? ( isConnecting ? ( { ) : undefined } wallet={activeWallet} - onClose={onClose} + onClose={isModal ? onClose : undefined} onBackPress={onBackPress} /> ) : ( @@ -196,7 +296,7 @@ export const ConnectWalletFlow = () => { termsOfServiceUrl={termsOfServiceUrl} wallets={supportedWallets} onChooseWallet={onChooseWallet} - onClose={onClose} + onClose={isModal ? onClose : undefined} /> )} diff --git a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletButton.tsx b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletButton.tsx index 926702885de..7baf34fa9e9 100644 --- a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletButton.tsx +++ b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectWalletButton.tsx @@ -1,6 +1,6 @@ import { ActivityIndicator, StyleSheet } from "react-native"; import { BaseButton, Text } from "../base"; -import { useConnectionStatus, useWallets } from "@thirdweb-dev/react-core"; +import { useConnectionStatus } from "@thirdweb-dev/react-core"; import { useState, useEffect } from "react"; import { useGlobalTheme, @@ -53,7 +53,6 @@ export const ConnectWalletButton = ({ const connectionStatus = useConnectionStatus(); const isWalletConnecting = connectionStatus === "connecting"; - const supportedWallets = useWallets(); const [showButtonSpinner, setShowButtonSpinner] = useState(false); const { setModalState } = useModalState(); @@ -88,8 +87,6 @@ export const ConnectWalletButton = ({ modalTitleIconUrl, termsOfServiceUrl, privacyPolicyUrl, - walletConfig: - supportedWallets.length === 1 ? supportedWallets[0] : undefined, }, caller: "ConnectWallet", }); diff --git a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWallet.tsx b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWallet.tsx index 99dd3bf6968..55caea33125 100644 --- a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWallet.tsx +++ b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWallet.tsx @@ -11,7 +11,7 @@ export type ConnectingWalletProps = { subHeaderText?: string; footer?: ReactNode; content?: ReactNode; - onClose: () => void; + onClose?: () => void; onBackPress: () => void; wallet: WalletConfig; }; diff --git a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWalletHeader.tsx b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWalletHeader.tsx index 6dbec22b9b0..06342dfc73d 100644 --- a/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWalletHeader.tsx +++ b/packages/react-native/src/evm/components/ConnectWalletFlow/ConnectingWallet/ConnectingWalletHeader.tsx @@ -7,7 +7,7 @@ import Text from "../../base/Text"; import { FlexAlignType, StyleSheet, View } from "react-native"; interface ConnectWalletHeaderProps { - onClose: () => void; + onClose?: () => void; onBackPress?: () => void; middleContent?: React.ReactNode; headerText?: string; @@ -46,13 +46,17 @@ export const ConnectWalletHeader = ({ )} {middleContent ? middleContent : null} - + {onClose ? ( + + ) : ( + + )} {headerText ? ( diff --git a/packages/react-native/src/evm/components/MainModal.tsx b/packages/react-native/src/evm/components/MainModal.tsx index fb527a18a33..f5adf218797 100644 --- a/packages/react-native/src/evm/components/MainModal.tsx +++ b/packages/react-native/src/evm/components/MainModal.tsx @@ -2,7 +2,7 @@ import { useGlobalTheme, useModalState, } from "../providers/ui-context-provider"; -import { ConnectWalletFlow } from "./ConnectWalletFlow/ConnectWalletFlow"; +import { ConnectEmbedUI } from "./ConnectWalletFlow/ConnectEmbed"; import { Dimensions, StyleSheet, View } from "react-native"; import { useMemo } from "react"; import { ThemeProvider } from "../styles/ThemeProvider"; @@ -10,6 +10,7 @@ import { SessionRequestModal } from "./ConnectWalletDetails/SessionRequestModal" import { SessionProposalModal } from "./ConnectWalletDetails/SessionProposalModal"; import { TWModal } from "./base/modal/TWModal"; import Box from "./base/Box"; +import { ConnectWalletFlowModal } from "../utils/modalTypes"; const MODAL_HEIGHT = Dimensions.get("window").height * 0.7; const DEVICE_WIDTH = Dimensions.get("window").width; @@ -23,7 +24,12 @@ export const MainModal = () => { const view = useMemo(() => { switch (modalState?.view) { case "ConnectWalletFlow": - return ; + return ( + + ); case "WalletConnectSessionRequestModal": return ; case "WalletConnectSessionProposalModal": @@ -31,7 +37,7 @@ export const MainModal = () => { default: return null; } - }, [modalState.view]); + }, [modalState]); return ( diff --git a/packages/react-native/src/evm/components/base/WalletButton.tsx b/packages/react-native/src/evm/components/base/WalletButton.tsx index eaa6afa95ec..d1d90328779 100644 --- a/packages/react-native/src/evm/components/base/WalletButton.tsx +++ b/packages/react-native/src/evm/components/base/WalletButton.tsx @@ -43,7 +43,6 @@ export const WalletButton = ({ paddingHorizontal="md" paddingVertical="sm" borderRadius="sm" - backgroundColor="background" onPress={onPress} {...props} > diff --git a/packages/react-native/src/evm/index.ts b/packages/react-native/src/evm/index.ts index 26473e1c22e..4e2fc7cb28a 100644 --- a/packages/react-native/src/evm/index.ts +++ b/packages/react-native/src/evm/index.ts @@ -38,6 +38,12 @@ export { ConnectWallet, type ConnectWalletProps, } from "./components/ConnectWallet"; + +export { + ConnectEmbed, + type ConnectEmbedProps, +} from "./components/ConnectWalletFlow/ConnectEmbed"; + export { Web3Button, type Web3ButtonProps, diff --git a/packages/react-native/src/evm/providers/ui-context-provider.tsx b/packages/react-native/src/evm/providers/ui-context-provider.tsx index 6a54876f2f0..1bca67f4b73 100644 --- a/packages/react-native/src/evm/providers/ui-context-provider.tsx +++ b/packages/react-native/src/evm/providers/ui-context-provider.tsx @@ -100,7 +100,7 @@ export const useGlobalTheme = (theme?: ThemeProviderProps["theme"]): Theme => { const resultTheme = useMemo(() => { const resp = getThemeObj(context.theme) || getThemeObj(theme) || appTheme; return resp; - }, [theme, context, appTheme]); + }, [theme, context.theme, appTheme]); return resultTheme; }; diff --git a/packages/react-native/src/evm/utils/modalTypes.ts b/packages/react-native/src/evm/utils/modalTypes.ts index decf5a0c490..de71dd3158b 100644 --- a/packages/react-native/src/evm/utils/modalTypes.ts +++ b/packages/react-native/src/evm/utils/modalTypes.ts @@ -1,4 +1,3 @@ -import { WalletConfig } from "@thirdweb-dev/react-core"; import { WCProposal, WCRequest } from "@thirdweb-dev/wallets"; export const CLOSE_MODAL_STATE = (caller: Caller): ModalState => { @@ -50,17 +49,16 @@ export type ClosedModal = { } & SheetModal; // connect wallet flow -export type ConnectWalletFlowData = { +export type ConnectEmbedData = { modalTitle?: string; modalTitleIconUrl?: string; termsOfServiceUrl?: string; privacyPolicyUrl?: string; - walletConfig?: WalletConfig; }; export type ConnectWalletFlowModal = { view: "ConnectWalletFlow"; - data: ConnectWalletFlowData; + data: ConnectEmbedData; } & SheetModal; // wallet details From dcb6afa1480be2ebc8490b0bcb18ab4efee8db28 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Wed, 17 Jan 2024 21:08:37 +0530 Subject: [PATCH 08/13] Fix release-artifacts workflow (#2189) --- .../{typedoc.yml => release-artifacts.yml} | 15 ++++-- .github/workflows/snippets.yml | 46 ------------------- 2 files changed, 12 insertions(+), 49 deletions(-) rename .github/workflows/{typedoc.yml => release-artifacts.yml} (75%) delete mode 100644 .github/workflows/snippets.yml diff --git a/.github/workflows/typedoc.yml b/.github/workflows/release-artifacts.yml similarity index 75% rename from .github/workflows/typedoc.yml rename to .github/workflows/release-artifacts.yml index efce1d149ca..a962df683d1 100644 --- a/.github/workflows/typedoc.yml +++ b/.github/workflows/release-artifacts.yml @@ -1,7 +1,7 @@ # On the Version Packages branch -# Generate and Commit the Typedoc JSON files +# Generate and Commit the Typedoc JSON files and the Snippets JSON files -name: Commit Typdoc JSON files +name: Commit Release Artifacts on: push: @@ -12,7 +12,7 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: - typedoc: + release-artifacts: runs-on: ubuntu-latest steps: - name: Checkout branch @@ -27,6 +27,15 @@ jobs: - name: Install uses: ./.github/composite-actions/install + - name: Build + run: pnpm build + + - name: Generate Docs + run: pnpm generate-docs + + - name: Generate Snippets + run: pnpm generate-snippets + - name: Typedoc run: pnpm typedoc diff --git a/.github/workflows/snippets.yml b/.github/workflows/snippets.yml deleted file mode 100644 index cf0c3cb31b3..00000000000 --- a/.github/workflows/snippets.yml +++ /dev/null @@ -1,46 +0,0 @@ -# On the Version Packages branch -# Generate and Commit snippets JSON files - -name: Commit Snippets JSON files - -on: - push: - branches: - - changeset-release/main - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - -jobs: - snippets: - runs-on: ubuntu-latest - steps: - - name: Checkout branch - uses: actions/checkout@v3 - - - name: Setup bun - uses: oven-sh/setup-bun@v1 - with: - bun-version: 1.0.21 - - - name: Install - uses: ./.github/composite-actions/install - - - name: Build - run: pnpm build - - - name: generate-docs - run: pnpm generate-docs - - - name: generate-snippets - run: pnpm generate-snippets - - - name: Commit changes - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add -A - git commit -m "Commit Release Artifacts [skip ci]" - git push - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 89641e33784ff74c32fcbb51db72b67065ba85cb Mon Sep 17 00:00:00 2001 From: Tomster Date: Wed, 17 Jan 2024 08:36:39 -0800 Subject: [PATCH 09/13] [react] Add switchNetworkBtnTitle prop in ConnectWallet and Web3Button (#1884) Co-authored-by: Manan Tank --- .changeset/five-walls-smash.md | 17 +++++++++++++++++ .../src/evm/components/Web3Button/index.tsx | 9 ++++++++- .../src/wallet/ConnectWallet/ConnectWallet.tsx | 12 +++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 .changeset/five-walls-smash.md diff --git a/.changeset/five-walls-smash.md b/.changeset/five-walls-smash.md new file mode 100644 index 00000000000..b7d0cbad756 --- /dev/null +++ b/.changeset/five-walls-smash.md @@ -0,0 +1,17 @@ +--- +"@thirdweb-dev/react": patch +--- + +Add prop `switchNetworkBtnTitle` to `ConnectWallet` and `Web3Button` components to allow changing the "Switch Network" label on the button which is displayed when user needs to switch the network in the connected wallet. + +```tsx + +``` + +```tsx + +``` diff --git a/packages/react/src/evm/components/Web3Button/index.tsx b/packages/react/src/evm/components/Web3Button/index.tsx index 9640d505619..a98ef9cc3bc 100644 --- a/packages/react/src/evm/components/Web3Button/index.tsx +++ b/packages/react/src/evm/components/Web3Button/index.tsx @@ -186,6 +186,11 @@ export interface Web3ButtonProps { */ welcomeScreen?: WelcomeScreen; }; + + /** + * Set a custom label for the "Switch Network" button + */ + switchNetworkBtnTitle?: string; } /** @@ -255,6 +260,8 @@ export const Web3Button = ( const theme = props.theme || contextTheme || "dark"; const locale = useTWLocale(); + const switchNetworkLabel = + props.switchNetworkBtnTitle || locale.connectWallet.switchNetwork; const [confirmStatus, setConfirmStatus] = useState<"idle" | "waiting">( "idle", @@ -337,7 +344,7 @@ export const Web3Button = ( {confirmStatus === "waiting" ? ( ) : ( - locale.connectWallet.switchNetwork + switchNetworkLabel )} ); diff --git a/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx b/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx index 4d3074167ba..52509c3df5a 100644 --- a/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx +++ b/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx @@ -79,6 +79,11 @@ export type ConnectWalletProps = { */ btnTitle?: string; + /** + * Set a custom label for the "Switch Network" button + */ + switchNetworkBtnTitle?: string; + /** * Change the title of ConnectWallet Modal * @@ -722,6 +727,7 @@ export function ConnectWallet(props: ConnectWalletProps) { ); } @@ -784,12 +790,16 @@ export function ConnectWallet(props: ConnectWalletProps) { function SwitchNetworkButton(props: { style?: React.CSSProperties; className?: string; + switchNetworkBtnTitle?: string; }) { const { activeChain } = useWalletContext(); const switchChain = useSwitchChain(); const [switching, setSwitching] = useState(false); const locale = useTWLocale(); + const switchNetworkBtnTitle = + props.switchNetworkBtnTitle ?? locale.connectWallet.switchNetwork; + return ( ) : ( - locale.connectWallet.switchNetwork + switchNetworkBtnTitle )} ); From ea7da5fb77575d7db52c6af561585ddbd3c78614 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Thu, 18 Jan 2024 00:26:57 +0530 Subject: [PATCH 10/13] Refactor release-artifacts workflow (#2190) --- .github/workflows/release-artifacts.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml index a962df683d1..18991a67068 100644 --- a/.github/workflows/release-artifacts.yml +++ b/.github/workflows/release-artifacts.yml @@ -27,17 +27,12 @@ jobs: - name: Install uses: ./.github/composite-actions/install - - name: Build - run: pnpm build - - - name: Generate Docs - run: pnpm generate-docs - - - name: Generate Snippets - run: pnpm generate-snippets - - - name: Typedoc - run: pnpm typedoc + - name: Generate Release Artifacts + run: | + pnpm build + pnpm generate-docs + pnpm generate-snippets + pnpm typedoc - name: Commit changes run: | From 9caf201f24ece7db756402b98726ad87a21d5c3e Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Thu, 18 Jan 2024 01:26:28 +0530 Subject: [PATCH 11/13] Reorder commands in release-artifacts.yml (#2191) --- .github/workflows/release-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml index 18991a67068..13ce29cf402 100644 --- a/.github/workflows/release-artifacts.yml +++ b/.github/workflows/release-artifacts.yml @@ -29,10 +29,10 @@ jobs: - name: Generate Release Artifacts run: | + pnpm typedoc pnpm build pnpm generate-docs pnpm generate-snippets - pnpm typedoc - name: Commit changes run: | From 7af35a01334f84f6405b4dbe44c8c7e18459f95a Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Thu, 18 Jan 2024 02:32:34 +0530 Subject: [PATCH 12/13] only commit generated files in release-artifacts workflow (#2192) --- .github/workflows/release-artifacts.yml | 30 ++++++++++++++++++++----- package.json | 1 - turbo.json | 4 ---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml index 13ce29cf402..3a17f45901c 100644 --- a/.github/workflows/release-artifacts.yml +++ b/.github/workflows/release-artifacts.yml @@ -27,18 +27,38 @@ jobs: - name: Install uses: ./.github/composite-actions/install - - name: Generate Release Artifacts + - name: Build + run: pnpm build + + - name: Typedoc + run: pnpm typedoc + + - name: Generate Docs run: | - pnpm typedoc - pnpm build + cd packages/sdk + pnpm generate-docs + cd ../react-core pnpm generate-docs - pnpm generate-snippets + cd ../react + pnpm generate-docs + cd ../.. + + - name: Generate Snippets + run: pnpm generate-snippets - name: Commit changes run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add -A + git status + git add packages/react/typedoc/documentation.json + git add packages/react-core/typedoc/documentation.json + git add packages/sdk/typedoc/documentation.json + git add packages/storage/typedoc/documentation.json + git add packages/wallets/typedoc/documentation.json + git add snippets/feature_snippets_react.json + git add snippets/feature_snippets_sdk.json + git add snippets/snippets.json git commit -m "Commit Release Artifacts [skip ci]" git push env: diff --git a/package.json b/package.json index c1f107d2537..c30bd1debb6 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "e2e": "turbo run e2e", "build": "turbo run build --filter=./packages/*", "typedoc": "turbo run typedoc", - "generate-docs": "turbo run generate-docs", "generate-snippets": "node ./scripts/generate-snippets/index.mjs", "build:release": "turbo run build --force --filter=./packages/*", "dev": "turbo run dev --no-cache --parallel --continue", diff --git a/turbo.json b/turbo.json index fbd8dc31315..cde4acd4f96 100644 --- a/turbo.json +++ b/turbo.json @@ -9,10 +9,6 @@ "outputs": ["typedoc/**"], "dependsOn": ["^build"] }, - "generate-docs": { - "outputs": ["docs/**"], - "dependsOn": ["^build"] - }, "@thirdweb-dev/chains#build": { "outputs": ["dist/**", "chains/**"], "dependsOn": ["^build"], From 0efd0f9d2626d1cb8d7a49f26b9beaa4c27bca15 Mon Sep 17 00:00:00 2001 From: Manan Tank Date: Thu, 18 Jan 2024 04:19:17 +0530 Subject: [PATCH 13/13] [react] add useSetWalletModalConfig hook (#2193) --- .changeset/serious-ears-beam.md | 33 ++ packages/react/src/evm/index.ts | 2 + .../providers/wallet-ui-states-provider.tsx | 285 ++++++++++++++++++ .../wallet/ConnectWallet/ConnectWallet.tsx | 4 + 4 files changed, 324 insertions(+) create mode 100644 .changeset/serious-ears-beam.md diff --git a/.changeset/serious-ears-beam.md b/.changeset/serious-ears-beam.md new file mode 100644 index 00000000000..bf45b119130 --- /dev/null +++ b/.changeset/serious-ears-beam.md @@ -0,0 +1,33 @@ +--- +"@thirdweb-dev/react": patch +--- + +add `useSetWalletModalConfig` hook to customize the ConnectWallet Modal to programmatically open the modal without using the `ConnectWallet` component along with `useSetIsWalletModalOpen` + +```tsx +import { + useSetWalletModalConfig, + useSetIsWalletModalOpen, +} from "@thirdweb-dev/react"; + +function Example() { + const setWalletModalConfig = useSetWalletModalConfig(); + const setIsWalletModalOpen = useSetIsWalletModalOpen(); + + return ( + + ); +} +``` diff --git a/packages/react/src/evm/index.ts b/packages/react/src/evm/index.ts index 7fe0e28612d..6d94e1ed7c7 100644 --- a/packages/react/src/evm/index.ts +++ b/packages/react/src/evm/index.ts @@ -1,6 +1,8 @@ export { useIsWalletModalOpen, useSetIsWalletModalOpen, + type ModalConfigOptions, + useSetWalletModalConfig, } from "./providers/wallet-ui-states-provider"; export { useSafe } from "./connectors/gnosis"; diff --git a/packages/react/src/evm/providers/wallet-ui-states-provider.tsx b/packages/react/src/evm/providers/wallet-ui-states-provider.tsx index 9212c12ee6b..e3337222769 100644 --- a/packages/react/src/evm/providers/wallet-ui-states-provider.tsx +++ b/packages/react/src/evm/providers/wallet-ui-states-provider.tsx @@ -139,3 +139,288 @@ export const useSetIsWalletModalOpen = () => { } return context; }; + +export type ModalConfigOptions = { + /** + * Title of the Modal + */ + title?: string; + /** + * Set the theme for the Modal + * + * By default it is set to "dark" if `theme` is not set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) + * If a `theme` is set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) then that theme will be used by default + * + * theme can be set to either `"dark"` or `"light"` or a custom theme object. You can also import `lightTheme` or `darkTheme` functions from `@thirdweb-dev/react` to use the default themes as base and overrides parts of it. + * + * ```ts + * import { lightTheme } from "@thirdweb-dev/react"; + * const customTheme = lightTheme({ + * colors: { + * modalBg: 'red' + * } + * }) + * ``` + */ + theme?: "light" | "dark" | Theme; + /** + * Set the size of the modal - `compact` or `wide` on desktop + * + * Modal size is always `compact` on mobile + * + * By default it is `"wide"` for desktop. + */ + modalSize: "wide" | "compact"; + /** + * URL of the "terms of service" page + * + * If provided, Modal will show a Terms of Service message at the bottom with below link + */ + termsOfServiceUrl?: string; + /** + * URL of the "privacy policy" page + * + * If provided, Modal will show a Privacy Policy message at the bottom with below link + */ + privacyPolicyUrl?: string; + /** + * Customize the welcome screen. This is only applicable when `modalSize` is set to "wide". + * On "wide" Modal size, a welcome screen is shown on the right side of the modal. + * + * This screen can be customized in two ways + * + * #### 1. Customize Metadata and Image + * + * ```tsx + * const welcomeScreen = { + * title: "your title", + * subtitle: "your subtitle", + * img: { + * src: "https://your-image-url.png", + * width: 300, + * height: 50, + * }, + * } + * ``` + * + * #### 2. Render Custom Component + * + * ```tsx + * const welcomeScreen = () => { + * return + * } + * ``` + */ + welcomeScreen?: WelcomeScreen; + /** + * Replace the thirdweb icon next to modalTitle and set your own iconUrl + */ + titleIconUrl?: string; + /** + * The object contains the following properties to customize the authentication + * - `loginOptional` - specify whether signing in is optional or not. By default it is `false` ( Sign in is required ) if `authConfig` is set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) + * - `onLogin` - Callback to be called after user signs in with their wallet + * - `onLogout` - Callback to be called after user signs out + */ + auth?: { + loginOptional?: boolean; + onLogin?: (token: string) => void; + onLogout?: () => void; + }; + /** + * Callback to be called on successful connection of wallet + * + * Note that this does not include the sign in, If you want to call a callback after user connects AND signs in with their wallet, use `auth.onLogin` instead + */ + onConnect?: () => void; +}; + +/** + * Set Modal config for the [`ConnectWallet`](https://portal.thirdweb.com/react/v4/components/ConnectWallet) Modal. + * This is useful if you want to open the Modal using the `useSetIsWalletModalOpen` hook and want to configure the Modal before opening it. + * + * @example + * ```tsx + * function Example() { + * const setModalConfig = useSetWalletModalConfig(); + * const setIsWalletModalOpen = useSetIsWalletModalOpen(); + * + * function openModal() { + * setIsWalletModalOpen(true); + * setModalConfig({ + * modalSize: "compact", + * theme: "light" + * }) + * } + * + * return + * } + * ``` + * + * @returns Function to set the Modal config + * + * The function takes an object with the following properties + * + * ### title + * Title of the Modal + * + * ### theme + * theme to use in Modal + * + * By default it is set to "dark" if `theme` is not set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) + * If a `theme` is set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) then that theme will be used by default + * + * theme can be set to either `"dark"` or `"light"` or a custom theme object. You can also import `lightTheme` or `darkTheme` functions from `@thirdweb-dev/react` to use the default themes as base and overrides parts of it. + * + * ```ts + * import { lightTheme } from "@thirdweb-dev/react"; + * const customTheme = lightTheme({ + * colors: { + * modalBg: 'red' + * } + * }) + * ``` + * + * ### modalSize + * Set the size of the modal - `compact` or `wide` on desktop + * + * Modal size is always `compact` on mobile + * + * By default it is `"wide"` for desktop. + * + * ### termsOfServiceUrl + * URL of the "terms of service" page + * + * If provided, Modal will show a Terms of Service message at the bottom with below link + * + * ### privacyPolicyUrl + * URL of the "privacy policy" page + * + * If provided, Modal will show a Privacy Policy message at the bottom with below link + * + * ### welcomeScreen + * Customize the welcome screen. This is only applicable when `modalSize` is set to "wide". + * On "wide" Modal size, a welcome screen is shown on the right side of the modal. + * + * This screen can be customized in two ways + * + * #### 1. Customize Metadata and Image + * + * ```tsx + * function Example() { + * const setModalConfig = useSetWalletModalConfig(); + * const setIsWalletModalOpen = useSetIsWalletModalOpen(); + * + * function openModal() { + * setIsWalletModalOpen(true); + * setModalConfig({ + * welcomeScreen: { + * title: "your title", + * subtitle: "your subtitle", + * img: { + * src: "https://your-image-url.png", + * width: 300, + * height: 50, + * } + * } + * }) + * } + * + * return + * } + * ``` + * + * #### 2. Render Custom Component + * + * ```tsx + * function Example() { + * const setModalConfig = useSetWalletModalConfig(); + * const setIsWalletModalOpen = useSetIsWalletModalOpen(); + * + * function openModal() { + * setIsWalletModalOpen(true); + * setModalConfig({ + * welcomeScreen() { + * return + * } + * }) + * } + * + * return + * } + * ``` + * + * ### titleIconUrl + * Replace the thirdweb icon next to modalTitle and set your own iconUrl + * + * ### auth + * The object contains the following properties to customize the authentication + * - `loginOptional` - specify whether signing in is optional or not. By default it is `false` ( Sign in is required ) if `authConfig` is set on [`ThirdwebProvider`](https://portal.thirdweb.com/react/v4/ThirdwebProvider) + * - `onLogin` - Callback to be called after user signs in with their wallet + * - `onLogout` - Callback to be called after user signs out + * + * ### onConnect + * Callback to be called on successful connection of wallet + * + * + * ```tsx + * function Example() { + * const setModalConfig = useSetWalletModalConfig(); + * const setIsWalletModalOpen = useSetIsWalletModalOpen(); + * + * function openModal() { + * setIsWalletModalOpen(true); + * setModalConfig({ + * onConnect() { + * console.log("wallet connected") + * } + * }) + * } + * + * return + * } + * ``` + * + * Note that this does not include the sign in, If you want to call a callback after user connects AND signs in with their wallet, use `auth.onLogin` prop instead + * + * ```tsx + * function Example() { + * const setModalConfig = useSetWalletModalConfig(); + * const setIsWalletModalOpen = useSetIsWalletModalOpen(); + * + * function openModal() { + * setIsWalletModalOpen(true); + * setModalConfig({ + * auth: { + * onLogin() { + * console.log("wallet connected and signed in") + * } + * } + * }) + * } + * + * return + * } + * ``` + */ +export const useSetWalletModalConfig = () => { + const context = useContext(SetModalConfigCtx); + const _isMobile = isMobile(); + const locale = useTWLocale(); + + if (context === undefined) { + throw new Error( + "useSetWalletModalConfig must be used within a ThirdwebProvider", + ); + } + return (value: ModalConfigOptions) => { + const { title, theme, modalSize, ...rest } = value; + return context({ + title: title || locale.connectWallet.defaultModalTitle, + data: undefined, + theme: theme || "dark", + modalSize: (_isMobile ? "compact" : modalSize) || "wide", + ...rest, + }); + }; +}; diff --git a/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx b/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx index 52509c3df5a..bc3ea2f0135 100644 --- a/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx +++ b/packages/react/src/wallet/ConnectWallet/ConnectWallet.tsx @@ -201,6 +201,8 @@ export type ConnectWalletProps = { modalSize?: "compact" | "wide"; /** + * URL of the "terms of service" page + * * If provided, Modal will show a Terms of Service message at the bottom with below link * * @example @@ -211,6 +213,8 @@ export type ConnectWalletProps = { termsOfServiceUrl?: string; /** + * URL of the "privacy policy" page + * * If provided, Modal will show a Privacy Policy message at the bottom with below link * * @example