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/.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/.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/.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/.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/.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/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml
new file mode 100644
index 00000000000..3a17f45901c
--- /dev/null
+++ b/.github/workflows/release-artifacts.yml
@@ -0,0 +1,65 @@
+# On the Version Packages branch
+# Generate and Commit the Typedoc JSON files and the Snippets JSON files
+
+name: Commit Release Artifacts
+
+on:
+ push:
+ branches:
+ - changeset-release/main
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+
+jobs:
+ release-artifacts:
+ 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: Build
+ run: pnpm build
+
+ - name: Typedoc
+ run: pnpm typedoc
+
+ - name: Generate Docs
+ run: |
+ cd packages/sdk
+ pnpm generate-docs
+ cd ../react-core
+ pnpm generate-docs
+ 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 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:
+ 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 }}
diff --git a/package.json b/package.json
index c44e97fa76f..ab5fca7a778 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/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,
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
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
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/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 4d3074167ba..bc3ea2f0135 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
*
@@ -196,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
@@ -206,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
@@ -722,6 +731,7 @@ export function ConnectWallet(props: ConnectWalletProps) {
);
}
@@ -784,12 +794,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
)}
);
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",
diff --git a/turbo.json b/turbo.json
index 365588a76ab..c97ce47ade7 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"],