Compare commits
55
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e526d46fa | ||
|
|
a36c7e8331 | ||
|
|
7bb054e45c | ||
|
|
cd87be4a24 | ||
|
|
aefc4cda4c | ||
|
|
cfe81b4432 | ||
|
|
72c0bb10d6 | ||
|
|
ca618ea0c9 | ||
|
|
d20e789856 | ||
|
|
a135857c7a | ||
|
|
34546c24c7 | ||
|
|
61c62b3f07 | ||
|
|
f2390b64e8 | ||
|
|
4ae1cd63bb | ||
|
|
a4339818a0 | ||
|
|
b3394277c7 | ||
|
|
fdf19b0a26 | ||
|
|
9798a31a9a | ||
|
|
f93bd325e1 | ||
|
|
97ba1fbd42 | ||
|
|
28fc3736aa | ||
|
|
06805217c2 | ||
|
|
b833250053 | ||
|
|
9455912932 | ||
|
|
4c488aa31f | ||
|
|
b0ecfd2d8d | ||
|
|
2b4f1c8e55 | ||
|
|
e79b293562 | ||
|
|
2861dff1f0 | ||
|
|
61b6a00214 | ||
|
|
b02fb91a54 | ||
|
|
8bf3be88be | ||
|
|
fb5095bff5 | ||
|
|
d28097f508 | ||
|
|
a27b10c5c3 | ||
|
|
8c2d4e5ea7 | ||
|
|
507496627b | ||
|
|
f5b89987af | ||
|
|
4bb8f5b15e | ||
|
|
914befda16 | ||
|
|
b5bbe2bd43 | ||
|
|
68288436ac | ||
|
|
d4ce855e5f | ||
|
|
47b0ed5171 | ||
|
|
00b9eea9ec | ||
|
|
bf27b88728 | ||
|
|
17fe41d42b | ||
|
|
36600decef | ||
|
|
e09221f1e0 | ||
|
|
62cc785c4a | ||
|
|
7c45941b57 | ||
|
|
7a2e0edab4 | ||
|
|
fb0cb676b9 | ||
|
|
12d85dec10 | ||
|
|
1094a03a04 |
@@ -14,6 +14,7 @@
|
||||
"test": "turbo run test --filter=./packages/*",
|
||||
"e2e": "turbo run e2e",
|
||||
"build": "turbo run build --filter=./packages/*",
|
||||
"typedoc": "turbo run typedoc",
|
||||
"build:release": "turbo run build --force --filter=./packages/*",
|
||||
"dev": "turbo run dev --no-cache --parallel --continue",
|
||||
"fix:repo": "manypkg fix",
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# @thirdweb-dev/auth
|
||||
|
||||
## 4.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`a36c7e83`](https://github.com/thirdweb-dev/js/commit/a36c7e8331744879a169f84e97b66abf0ab44f56), [`4ae1cd63`](https://github.com/thirdweb-dev/js/commit/4ae1cd63bb7b471cae48a27bf6554c4953c1dc82), [`61c62b3f`](https://github.com/thirdweb-dev/js/commit/61c62b3f07a082ffd7620c949e3bcc6b75c104b5), [`7bb054e4`](https://github.com/thirdweb-dev/js/commit/7bb054e45c75450c8f465809d23eb66371f6ef8e)]:
|
||||
- @thirdweb-dev/wallets@2.1.11
|
||||
|
||||
## 4.1.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`8c2d4e5e`](https://github.com/thirdweb-dev/js/commit/8c2d4e5ea7c38b3efa4d8d94c9822a92d271e59b), [`2b4f1c8e`](https://github.com/thirdweb-dev/js/commit/2b4f1c8e55de091100fb5279887bcb19ea31d38c)]:
|
||||
- @thirdweb-dev/wallets@2.1.10
|
||||
|
||||
## 4.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`b5bbe2bd`](https://github.com/thirdweb-dev/js/commit/b5bbe2bd438179c38451bc2cfa20a54fc79e4f3a)]:
|
||||
- @thirdweb-dev/wallets@2.1.9
|
||||
|
||||
## 4.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1973](https://github.com/thirdweb-dev/js/pull/1973) [`36600dec`](https://github.com/thirdweb-dev/js/commit/36600decefca7b9ebb1924757b4186b559e439f6) Thanks [@assimovt](https://github.com/assimovt)! - add logging to authenticate
|
||||
|
||||
- Updated dependencies [[`1094a03a`](https://github.com/thirdweb-dev/js/commit/1094a03a04f3e7ade84af0f7a6073794c0904cb1)]:
|
||||
- @thirdweb-dev/wallets@2.1.8
|
||||
|
||||
## 4.1.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/auth",
|
||||
"version": "4.1.10",
|
||||
"version": "4.1.14",
|
||||
"main": "dist/thirdweb-dev-auth.cjs.js",
|
||||
"module": "dist/thirdweb-dev-auth.esm.js",
|
||||
"browser": {
|
||||
|
||||
@@ -62,6 +62,7 @@ export async function getUser<
|
||||
const token = getToken(req);
|
||||
|
||||
if (!token) {
|
||||
console.error("Error: No auth token found");
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -75,6 +76,7 @@ export async function getUser<
|
||||
},
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(`Authenticate Error: ${(err as Error)?.message}`);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# @thirdweb-dev/chains
|
||||
|
||||
## 0.1.60
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2019](https://github.com/thirdweb-dev/js/pull/2019) [`b8332500`](https://github.com/thirdweb-dev/js/commit/b833250053320c8608109053f5cffe2dc96ce70a) Thanks [@jnsdls](https://github.com/jnsdls)! - add & update chains
|
||||
|
||||
- [#2024](https://github.com/thirdweb-dev/js/pull/2024) [`28fc3736`](https://github.com/thirdweb-dev/js/commit/28fc3736aa30c89690084aa2c62556c183796352) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Base Sepolia to defaultChains
|
||||
|
||||
- [#2023](https://github.com/thirdweb-dev/js/pull/2023) [`06805217`](https://github.com/thirdweb-dev/js/commit/06805217c26de203a57c21246acba22def8a78fa) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Eth Sepolia to defaultChains
|
||||
|
||||
## 0.1.59
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1967](https://github.com/thirdweb-dev/js/pull/1967) [`47b0ed51`](https://github.com/thirdweb-dev/js/commit/47b0ed5171be5608ae23c19481a1b04948443c6a) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Arbitrum Sepolia to defaultChains
|
||||
|
||||
- [#1990](https://github.com/thirdweb-dev/js/pull/1990) [`d4ce855e`](https://github.com/thirdweb-dev/js/commit/d4ce855e5f5e6c4206a3efa250e92e690ae87281) Thanks [@jnsdls](https://github.com/jnsdls)! - deprecate `allChains` `getChainById` and `getChainBySlug`
|
||||
|
||||
all of these would (necessarily) pull in every single chain in the package (>600kb)
|
||||
|
||||
instead these can be replaced with their async variants:
|
||||
|
||||
- `allChains` -> `await fetchChains()`
|
||||
- `getChainById(chainId)` -> `await getChainByIdAsync(chainId)`
|
||||
- `getChainBySlug(chainSlug)` -> `await getChainBySlugAsync(chainSlug)`
|
||||
|
||||
these async functions will return the same data as their sync counterparts, but without having to pull in every single chain at build-time.
|
||||
|
||||
## 0.1.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -39,11 +39,11 @@ export default {
|
||||
},
|
||||
"networkId": 13308,
|
||||
"rpc": [
|
||||
"https://credit-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://credit-smart-chain-credit.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://13308.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.creditsmartchain.com"
|
||||
],
|
||||
"shortName": "Credit",
|
||||
"slug": "credit-smart-chain",
|
||||
"slug": "credit-smart-chain-credit",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "BLITZ",
|
||||
"chainId": 1343,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "BLITZ Explorer",
|
||||
"url": "https://subnets-test.avax.network/blitz",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"infoURL": "https://blitz.gg",
|
||||
"name": "Blitz Subnet",
|
||||
"nativeCurrency": {
|
||||
"name": "BLITZ GAS",
|
||||
"symbol": "BGAS",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1343,
|
||||
"rpc": [
|
||||
"https://blitz-subnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1343.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/blitz/testnet/rpc"
|
||||
],
|
||||
"shortName": "blitz",
|
||||
"slug": "blitz-subnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "parallel-stormy-spica",
|
||||
"chainId": 1350216234,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://parallel-stormy-spica.explorer.mainnet.skalenodes.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://sfuel.skale.network/"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreiagrt5dhgltg2kmw7hf24kslstr5h42e745luuxwp2wbg24gm6zza",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"name": "SKALE Titan Hub",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1350216234,
|
||||
"rpc": [
|
||||
"https://skale-titan-hub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1350216234.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.skalenodes.com/v1/parallel-stormy-spica",
|
||||
"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"
|
||||
],
|
||||
"shortName": "titan-mainnet",
|
||||
"slug": "skale-titan-hub",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -33,6 +33,6 @@ export default {
|
||||
],
|
||||
"shortName": "testnet-zkEVM-mango",
|
||||
"slug": "polygon-zkevm-testnet",
|
||||
"testnet": false,
|
||||
"testnet": true,
|
||||
"title": "Polygon zkEVM Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -4,20 +4,22 @@ export default {
|
||||
"chainId": 1482601649,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "nebula",
|
||||
"name": "Blockscout",
|
||||
"url": "https://green-giddy-denebola.explorer.mainnet.skalenodes.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmfQkfmQuoUUUKwF1yCcrPEzFcWLaqNyiSv5YMcSj6zs74",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"faucets": [
|
||||
"https://sfuel.skale.network/"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeic5eexvd34wfy4kuebcyu73qpkv3x57s54ebzjyhyjsmeuni5jwcm",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://nebulachain.io/",
|
||||
"name": "Nebula Mainnet",
|
||||
"name": "SKALE Nebula Hub",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
@@ -25,12 +27,12 @@ export default {
|
||||
},
|
||||
"networkId": 1482601649,
|
||||
"rpc": [
|
||||
"https://nebula.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://skale-nebula-hub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1482601649.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.skalenodes.com/v1/green-giddy-denebola",
|
||||
"wss://mainnet-proxy.skalenodes.com/v1/ws/green-giddy-denebola"
|
||||
],
|
||||
"shortName": "nebula-mainnet",
|
||||
"slug": "nebula",
|
||||
"slug": "skale-nebula-hub",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "staging-aware-chief-gianfar",
|
||||
"chainId": 1517929550,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://sfuel.dirtroad.dev/staging"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreiagrt5dhgltg2kmw7hf24kslstr5h42e745luuxwp2wbg24gm6zza",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"name": "SKALE Titan Hub Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1517929550,
|
||||
"rpc": [
|
||||
"https://skale-titan-hub-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1517929550.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar",
|
||||
"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"
|
||||
],
|
||||
"shortName": "titan-testnet",
|
||||
"slug": "skale-titan-hub-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 15535,
|
||||
"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 11271",
|
||||
"nativeCurrency": {
|
||||
"name": "QI M 11271 Token",
|
||||
"symbol": "JZW",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 15535,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qi-m-11271.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://15535.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/a47e1c06-fa75-4536-a900-1574d198e197"
|
||||
],
|
||||
"shortName": "QI M 11271",
|
||||
"slug": "qi-m-11271",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -6,20 +6,20 @@ export default {
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m",
|
||||
"width": 1637,
|
||||
"height": 1636,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://sfuel.dirtroad.dev"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m",
|
||||
"width": 1637,
|
||||
"height": 1636,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://calypsohub.network/",
|
||||
"name": "Calypso NFT Hub (SKALE)",
|
||||
"name": "SKALE Calypso Hub",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
@@ -27,12 +27,11 @@ export default {
|
||||
},
|
||||
"networkId": 1564830818,
|
||||
"rpc": [
|
||||
"https://calypso-nft-hub-skale.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://skale-calypso-hub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1564830818.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"
|
||||
],
|
||||
"shortName": "calypso-mainnet",
|
||||
"slug": "calypso-nft-hub-skale",
|
||||
"testnet": false,
|
||||
"title": "Calypso NFT Hub Mainnet"
|
||||
"slug": "skale-calypso-hub",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -1,35 +1,28 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Yuma",
|
||||
"chain": "LQC",
|
||||
"chainId": 1662,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
"explorers": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
"name": "Liquichain Mainnet",
|
||||
"url": "https://mainnet.liquichain.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti",
|
||||
"width": 1213,
|
||||
"height": 1213,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://horizen.io/",
|
||||
"name": "Horizen Yuma Testnet Deprecated",
|
||||
"faucets": [],
|
||||
"infoURL": "https://liquichain.io/",
|
||||
"name": "Liquichain",
|
||||
"nativeCurrency": {
|
||||
"name": "Testnet Zen",
|
||||
"symbol": "tZEN",
|
||||
"name": "Licoin",
|
||||
"symbol": "LCN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1662,
|
||||
"redFlags": [
|
||||
"reusedChainId"
|
||||
],
|
||||
"rpc": [],
|
||||
"shortName": "Yuma",
|
||||
"slip44": 121,
|
||||
"slug": "horizen-yuma-testnet-deprecated",
|
||||
"status": "deprecated",
|
||||
"testnet": true
|
||||
"shortName": "Liquichain",
|
||||
"slug": "liquichain",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -41,6 +41,7 @@ export default {
|
||||
"https://faucet.holesky.ethpandaops.io",
|
||||
"https://holesky-faucet.pk910.de"
|
||||
],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
|
||||
"width": 1000,
|
||||
@@ -55,6 +56,7 @@ export default {
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 17000,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://holesky.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://17000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
@@ -65,5 +67,6 @@ export default {
|
||||
"shortName": "holesky",
|
||||
"slug": "holesky",
|
||||
"status": "incubating",
|
||||
"testnet": true
|
||||
"testnet": true,
|
||||
"title": "Ethereum Testnet Holesky"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,41 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ETH",
|
||||
"chainId": 17001,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Redstone Holesky Explorer",
|
||||
"url": "https://explorer.holesky.redstone.xyz",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt",
|
||||
"width": 1000,
|
||||
"height": 1628,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreieyaqgkgntvxuo5tnhgseladga5q6gutc37dab7kqqfdguhq7vkxq",
|
||||
"width": 5836,
|
||||
"height": 5836,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://redstone.xyz/docs/network-info",
|
||||
"name": "Redstone Holesky Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Redstone Testnet Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 17001,
|
||||
"rpc": [
|
||||
"https://redstone-holesky-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://17001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.holesky.redstone.xyz"
|
||||
],
|
||||
"shortName": "redstone",
|
||||
"slug": "redstone-holesky-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -2,13 +2,7 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Roll",
|
||||
"chainId": 1748,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://roll.calderaexplorer.xyz/",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
@@ -26,7 +20,11 @@ export default {
|
||||
},
|
||||
"networkId": 1748,
|
||||
"redFlags": [],
|
||||
"rpc": [],
|
||||
"rpc": [
|
||||
"https://roll-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1748.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://roll.calderachain.xyz/http"
|
||||
],
|
||||
"shortName": "Roll",
|
||||
"slug": "roll-testnet",
|
||||
"testnet": true,
|
||||
|
||||
@@ -1,33 +1,34 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "xgon",
|
||||
"chain": "X1",
|
||||
"chainId": 195,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "OKLink",
|
||||
"url": "https://www.oklink.com/okbc-test",
|
||||
"url": "https://www.oklink.com/x1-test",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://www.oklink.com/okbc-test"
|
||||
"https://www.okx.com/x1/faucet"
|
||||
],
|
||||
"features": [],
|
||||
"infoURL": "https://www.okx.com/okbc/docs/dev/quick-start/introduction/introduction-to-okbchain",
|
||||
"name": "Xgon Testnet",
|
||||
"infoURL": "https://www.okx.com/x1",
|
||||
"name": "X1 Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Xgon Global Utility Token in testnet",
|
||||
"name": "X1 Global Utility Token in testnet",
|
||||
"symbol": "OKB",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 195,
|
||||
"rpc": [
|
||||
"https://xgon-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://x1-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://195.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testrpc.xgon.io"
|
||||
"https://testrpc.x1.tech",
|
||||
"https://x1testrpc.okx.com"
|
||||
],
|
||||
"shortName": "tokb",
|
||||
"slug": "xgon-testnet",
|
||||
"slug": "x1-testnet",
|
||||
"status": "active",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -1,21 +1,21 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "xgon",
|
||||
"chain": "X1",
|
||||
"chainId": 196,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"infoURL": "https://www.okx.com/okbc/docs/dev/quick-start/introduction/introduction-to-okbchain",
|
||||
"name": "Xgon Mainnet",
|
||||
"infoURL": "https://www.okx.com/x1",
|
||||
"name": "X1 Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Xgon Global Utility Token",
|
||||
"name": "X1 Global Utility Token",
|
||||
"symbol": "OKB",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 196,
|
||||
"rpc": [],
|
||||
"shortName": "okb",
|
||||
"slug": "xgon",
|
||||
"slug": "x1",
|
||||
"status": "incubating",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -29,7 +29,8 @@ export default {
|
||||
"rpc": [
|
||||
"https://z-mainnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2016.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.mainnetz.io"
|
||||
"https://mainnet-rpc.mainnetz.io",
|
||||
"https://eu-rpc.mainnetz.io"
|
||||
],
|
||||
"shortName": "NetZm",
|
||||
"slug": "z-mainnet",
|
||||
|
||||
@@ -20,7 +20,7 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://europahub.network/",
|
||||
"name": "Europa SKALE Chain",
|
||||
"name": "SKALE Europa Hub",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
@@ -37,12 +37,12 @@ export default {
|
||||
]
|
||||
},
|
||||
"rpc": [
|
||||
"https://europa-skale-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://skale-europa-hub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2046399126.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.skalenodes.com/v1/elated-tan-skat",
|
||||
"wss://mainnet.skalenodes.com/v1/elated-tan-skat"
|
||||
],
|
||||
"shortName": "europa",
|
||||
"slug": "europa-skale-chain",
|
||||
"slug": "skale-europa-hub",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 2121,
|
||||
"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": "M TEST 1103-2",
|
||||
"nativeCurrency": {
|
||||
"name": "M TEST 1103-2 Token",
|
||||
"symbol": "RJI",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 2121,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://m-test-1103-2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2121.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/cb82eb40-2d0d-4188-905b-d50c4b09b40b"
|
||||
],
|
||||
"shortName": "M TEST 1103-2",
|
||||
"slug": "m-test-1103-2",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -32,7 +32,8 @@ export default {
|
||||
"rpc": [
|
||||
"https://krest-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2241.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://erpc-krest.peaq.network"
|
||||
"https://erpc-krest.peaq.network",
|
||||
"https://krest.unitedbloc.com"
|
||||
],
|
||||
"shortName": "KRST",
|
||||
"slug": "krest-network",
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 23934,
|
||||
"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": "ST 11-16 v7 Regression",
|
||||
"nativeCurrency": {
|
||||
"name": "ST 11-16 v7 Regression Token",
|
||||
"symbol": "WLA",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 23934,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://st-11-16-v7-regression.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://23934.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
|
||||
],
|
||||
"shortName": "ST 11-16 v7 Regression",
|
||||
"slug": "st-11-16-v7-regression",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -13,9 +13,21 @@ export default {
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "etherscan",
|
||||
"url": "https://kromascan.com/",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho",
|
||||
"width": 320,
|
||||
@@ -39,6 +51,7 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://kroma.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://255.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
|
||||
@@ -6,8 +6,8 @@ export default {
|
||||
"faucets": [],
|
||||
"name": "DPU Chain",
|
||||
"nativeCurrency": {
|
||||
"name": "DGS",
|
||||
"symbol": "DGS",
|
||||
"name": "DGC",
|
||||
"symbol": "DGC",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 2611555,
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "K-LAOS",
|
||||
"chainId": 2718,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.klaos.laosfoundation.io",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL",
|
||||
"width": 580,
|
||||
"height": 580,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL",
|
||||
"width": 580,
|
||||
"height": 580,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.laosfoundation.io/",
|
||||
"name": "K-LAOS",
|
||||
"nativeCurrency": {
|
||||
"name": "KLAOS",
|
||||
"symbol": "KLAOS",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 2718,
|
||||
"rpc": [
|
||||
"https://k-laos.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2718.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.klaos.laosfoundation.io",
|
||||
"wss://rpc.klaos.laosfoundation.io"
|
||||
],
|
||||
"shortName": "k-laos",
|
||||
"slug": "k-laos",
|
||||
"testnet": false,
|
||||
"title": "K-LAOS: LAOS on Kusama"
|
||||
} as const satisfies Chain;
|
||||
@@ -5,8 +5,8 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "HashScan",
|
||||
"url": "https://hashscan.io/mainnet/dashboard",
|
||||
"standard": "none"
|
||||
"url": "https://hashscan.io/mainnet",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "Arkhia Explorer",
|
||||
|
||||
@@ -5,8 +5,8 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "HashScan",
|
||||
"url": "https://hashscan.io/testnet/dashboard",
|
||||
"standard": "none"
|
||||
"url": "https://hashscan.io/testnet",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "Arkhia Explorer",
|
||||
|
||||
@@ -5,8 +5,8 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "HashScan",
|
||||
"url": "https://hashscan.io/previewnet/dashboard",
|
||||
"standard": "none"
|
||||
"url": "https://hashscan.io/previewnet",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 30891,
|
||||
"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": "Jambon's Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Jambon's Testnet Token",
|
||||
"symbol": "CXY",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 30891,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://jambon-s-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://30891.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/e8b04790-d50c-4bb1-89ba-7bd140b674f3"
|
||||
],
|
||||
"shortName": "Jambon's Testnet",
|
||||
"slug": "jambon-s-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "CLOUDVERSE",
|
||||
"chainId": 33210,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "CLOUDVERSE Explorer",
|
||||
"url": "https://subnets.avax.network/cloudverse",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"infoURL": "https://muadao.build/",
|
||||
"name": "Cloudverse Subnet",
|
||||
"nativeCurrency": {
|
||||
"name": "XCLOUD",
|
||||
"symbol": "XCLOUD",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 33210,
|
||||
"rpc": [
|
||||
"https://cloudverse-subnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://33210.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/cloudverse/mainnet/rpc"
|
||||
],
|
||||
"shortName": "cloudverse",
|
||||
"slug": "cloudverse-subnet",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 33909,
|
||||
"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": "Reg1116test",
|
||||
"nativeCurrency": {
|
||||
"name": "Reg1116test Token",
|
||||
"symbol": "JUO",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 33909,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://reg1116test.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://33909.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
|
||||
],
|
||||
"shortName": "Reg1116test",
|
||||
"slug": "reg1116test",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -6,20 +6,20 @@ export default {
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m",
|
||||
"width": 1637,
|
||||
"height": 1636,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://sfuel.dirtroad.dev/staging"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m",
|
||||
"width": 1637,
|
||||
"height": 1636,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://calypsohub.network/",
|
||||
"name": "Calypso NFT Hub (SKALE Testnet)",
|
||||
"name": "SKALE Calypso Hub Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
@@ -27,12 +27,12 @@ export default {
|
||||
},
|
||||
"networkId": 344106930,
|
||||
"rpc": [
|
||||
"https://calypso-nft-hub-skale-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://skale-calypso-hub-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://344106930.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"
|
||||
],
|
||||
"shortName": "calypso-testnet",
|
||||
"slug": "calypso-nft-hub-skale-testnet",
|
||||
"slug": "skale-calypso-hub-testnet",
|
||||
"testnet": true,
|
||||
"title": "Calypso NFT Hub Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ETH",
|
||||
"chainId": 34443,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "modescout",
|
||||
"url": "https://explorer.mode.network",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidi5y7afj5z4xrz7uz5rkg2mcsv2p2n4ui4g7q4k4ecdz65i2agou",
|
||||
"width": 2160,
|
||||
"height": 2160,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://docs.mode.network/",
|
||||
"name": "Mode",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 34443,
|
||||
"rpc": [
|
||||
"https://mode.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://34443.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.mode.network"
|
||||
],
|
||||
"shortName": "mode",
|
||||
"slug": "mode",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,28 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "DS2",
|
||||
"chainId": 363636,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmRiAUu3xV5uiX6Nk1iXD5w6qjki5ugGFETRVavzJ2h5QF",
|
||||
"width": 370,
|
||||
"height": 320,
|
||||
"format": "png"
|
||||
},
|
||||
"name": "Digit Soul Smart Chain 2",
|
||||
"nativeCurrency": {
|
||||
"name": "Digit Coin",
|
||||
"symbol": "DGC",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 363636,
|
||||
"rpc": [
|
||||
"https://digit-soul-smart-chain-2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://363636.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://dgs-rpc.digitsoul.co.th"
|
||||
],
|
||||
"shortName": "DS2",
|
||||
"slug": "digit-soul-smart-chain-2",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -43,5 +43,5 @@ export default {
|
||||
],
|
||||
"shortName": "tftm",
|
||||
"slug": "fantom-testnet",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -15,9 +15,7 @@ export default {
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://coinbase.com/faucets/optimism-goerli-faucet"
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/optimism/512.png",
|
||||
@@ -37,8 +35,6 @@ export default {
|
||||
"rpc": [
|
||||
"https://optimism-goerli.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://420.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://optimism-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://opt-goerli.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://goerli.optimism.io",
|
||||
"https://optimism-goerli.publicnode.com",
|
||||
"wss://optimism-goerli.publicnode.com",
|
||||
@@ -47,5 +43,5 @@ export default {
|
||||
],
|
||||
"shortName": "ogor",
|
||||
"slug": "optimism-goerli",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -38,14 +38,12 @@ export default {
|
||||
"rpc": [
|
||||
"https://arbitrum-goerli.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://421613.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://arbitrum-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://arb-goerli.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://goerli-rollup.arbitrum.io/rpc",
|
||||
"https://arbitrum-goerli.publicnode.com",
|
||||
"wss://arbitrum-goerli.publicnode.com"
|
||||
],
|
||||
"shortName": "arb-goerli",
|
||||
"slug": "arbitrum-goerli",
|
||||
"testnet": false,
|
||||
"testnet": true,
|
||||
"title": "Arbitrum Goerli Rollup Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Geso Verse",
|
||||
"chainId": 428,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Geso Verse Explorer",
|
||||
"url": "https://explorer.verse.gesoten.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://Qmb7oJY9zd9sTzxNNQNTVZQz2hkd1aA94mWm4cvXfJ9QxV",
|
||||
"width": 1280,
|
||||
"height": 1280,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://gesoten.com/",
|
||||
"name": "Geso Verse",
|
||||
"nativeCurrency": {
|
||||
"name": "OAS",
|
||||
"symbol": "OAS",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 428,
|
||||
"rpc": [
|
||||
"https://geso-verse.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://428.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.verse.gesoten.com/"
|
||||
],
|
||||
"shortName": "GSV",
|
||||
"slug": "geso-verse",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -10,8 +10,7 @@ export default {
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.avax-test.network/",
|
||||
"https://faucet.avax.network/"
|
||||
"https://faucet.avax-test.network/"
|
||||
],
|
||||
"features": [],
|
||||
"icon": {
|
||||
@@ -32,12 +31,11 @@ export default {
|
||||
"rpc": [
|
||||
"https://avalanche-fuji.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://43113.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://avalanche-fuji.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://api.avax-test.network/ext/bc/C/rpc",
|
||||
"https://avalanche-fuji-c-chain.publicnode.com",
|
||||
"wss://avalanche-fuji-c-chain.publicnode.com"
|
||||
],
|
||||
"shortName": "Fuji",
|
||||
"slug": "avalanche-fuji",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "CREDIT",
|
||||
"chainId": 4400,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Creditscan",
|
||||
"url": "https://scan.creditsmartchain.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4",
|
||||
"width": 1000,
|
||||
"height": 1628,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4",
|
||||
"width": 1000,
|
||||
"height": 1628,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://creditsmartchain.com",
|
||||
"name": "Credit Smart Chain Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Credit",
|
||||
"symbol": "CREDIT",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 4400,
|
||||
"rpc": [
|
||||
"https://credit-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://4400.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.creditsmartchain.com"
|
||||
],
|
||||
"shortName": "CreditEdge",
|
||||
"slug": "credit-smart-chain",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -45,5 +45,5 @@ export default {
|
||||
"shortName": "synapse-sepolia",
|
||||
"slug": "synapse-chain-testnet",
|
||||
"status": "active",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -4,8 +4,8 @@ export default {
|
||||
"chainId": 44787,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Celoscan",
|
||||
"url": "https://alfajores.celoscan.io/",
|
||||
"name": "Alfajoresscan",
|
||||
"url": "https://alfajores.celoscan.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
@@ -31,5 +31,5 @@ export default {
|
||||
],
|
||||
"shortName": "ALFA",
|
||||
"slug": "celo-alfajores-testnet",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -23,7 +23,6 @@ export default {
|
||||
"https://46.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.darwinia.network",
|
||||
"https://darwinia-rpc.darwiniacommunitydao.xyz",
|
||||
"https://darwinia2.api.onfinality.io/public-ws",
|
||||
"https://darwinia-rpc.dwellir.com"
|
||||
],
|
||||
"shortName": "darwinia",
|
||||
|
||||
@@ -35,5 +35,5 @@ export default {
|
||||
],
|
||||
"shortName": "iotex-testnet",
|
||||
"slug": "iotex-network-testnet",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,38 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "staging-legal-crazy-castor",
|
||||
"chainId": 476158412,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://sfuel.dirtroad.dev/staging"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreiezcwowhm6xjrkt44cmiu6ml36rhrxx3amcg3cfkcntv2vgcvgbre",
|
||||
"width": 600,
|
||||
"height": 600,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://europahub.network/",
|
||||
"name": "SKALE Europa Hub Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 476158412,
|
||||
"rpc": [
|
||||
"https://skale-europa-hub-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://476158412.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"
|
||||
],
|
||||
"shortName": "europa-testnet",
|
||||
"slug": "skale-europa-hub-testnet",
|
||||
"testnet": true,
|
||||
"title": "Europa Hub Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "GC",
|
||||
"chainId": 4893,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://gcscan.io",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmPRHDsVNpRZ72GoQgDbpa3R4wKENmrXCRNuYJkxocFRDb",
|
||||
"width": 306,
|
||||
"height": 293,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://gcscan.io",
|
||||
"name": "Globel Chain",
|
||||
"nativeCurrency": {
|
||||
"name": "Globel Chain",
|
||||
"symbol": "GC",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 4893,
|
||||
"rpc": [
|
||||
"https://globel-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://4893.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.gcscan.io"
|
||||
],
|
||||
"shortName": "GC",
|
||||
"slug": "globel-chain",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -26,8 +26,7 @@ export default {
|
||||
"faucets": [
|
||||
"http://fauceth.komputing.org?chain=5&address=${ADDRESS}",
|
||||
"https://goerli-faucet.slock.it?address=${ADDRESS}",
|
||||
"https://faucet.goerli.mudit.blog",
|
||||
"https://faucet.paradigm.xyz/"
|
||||
"https://faucet.goerli.mudit.blog"
|
||||
],
|
||||
"features": [],
|
||||
"icon": {
|
||||
@@ -50,7 +49,6 @@ export default {
|
||||
"https://5.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"wss://goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://eth-goerli.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://rpc.goerli.mudit.blog/",
|
||||
"https://ethereum-goerli.publicnode.com",
|
||||
"wss://ethereum-goerli.publicnode.com",
|
||||
@@ -59,6 +57,6 @@ export default {
|
||||
],
|
||||
"shortName": "gor",
|
||||
"slug": "goerli",
|
||||
"testnet": false,
|
||||
"testnet": true,
|
||||
"title": "Ethereum Testnet Goerli"
|
||||
} as const satisfies Chain;
|
||||
@@ -4,20 +4,22 @@ export default {
|
||||
"chainId": 503129905,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "nebula",
|
||||
"name": "Blockscout",
|
||||
"url": "https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmfQkfmQuoUUUKwF1yCcrPEzFcWLaqNyiSv5YMcSj6zs74",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"faucets": [
|
||||
"https://sfuel.dirtroad.dev/staging"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeic5eexvd34wfy4kuebcyu73qpkv3x57s54ebzjyhyjsmeuni5jwcm",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://nebulachain.io/",
|
||||
"name": "Nebula Staging",
|
||||
"name": "SKALE Nebula Hub Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "sFUEL",
|
||||
"symbol": "sFUEL",
|
||||
@@ -25,12 +27,12 @@ export default {
|
||||
},
|
||||
"networkId": 503129905,
|
||||
"rpc": [
|
||||
"https://nebula-staging.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://skale-nebula-hub-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://503129905.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird",
|
||||
"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"
|
||||
],
|
||||
"shortName": "nebula-staging",
|
||||
"slug": "nebula-staging",
|
||||
"testnet": false
|
||||
"shortName": "nebula-testnet",
|
||||
"slug": "skale-nebula-hub-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -38,7 +38,9 @@ export default {
|
||||
"https://rpc1.bahamut.io",
|
||||
"https://rpc2.bahamut.io",
|
||||
"wss://ws1.sahara.bahamutchain.com",
|
||||
"wss://ws2.sahara.bahamutchain.com"
|
||||
"wss://ws2.sahara.bahamutchain.com",
|
||||
"https://bahamut.publicnode.com",
|
||||
"wss://bahamut.publicnode.com"
|
||||
],
|
||||
"shortName": "ftn",
|
||||
"slug": "bahamut",
|
||||
|
||||
@@ -24,7 +24,6 @@ export default {
|
||||
"https://rollux.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://570.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.rollux.com",
|
||||
"https://rollux.public-rpc.com",
|
||||
"wss://rpc.rollux.com/wss"
|
||||
],
|
||||
"shortName": "sys-rollux",
|
||||
|
||||
@@ -47,6 +47,7 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://sepolia-pgn-public-goods-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://58008.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
@@ -54,5 +55,5 @@ export default {
|
||||
],
|
||||
"shortName": "sepPGN",
|
||||
"slug": "sepolia-pgn-public-goods-network",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -44,5 +44,5 @@ export default {
|
||||
],
|
||||
"shortName": "metis-goerli",
|
||||
"slug": "metis-goerli-testnet",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 62278,
|
||||
"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": "qi1121i1",
|
||||
"nativeCurrency": {
|
||||
"name": "qi1121i1 Token",
|
||||
"symbol": "SJOX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 62278,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qi1121i1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://62278.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
|
||||
],
|
||||
"shortName": "qi1121i1",
|
||||
"slug": "qi1121i1",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 63079,
|
||||
"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": "MT 1121-2",
|
||||
"nativeCurrency": {
|
||||
"name": "MT 1121-2 Token",
|
||||
"symbol": "RCE",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 63079,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://mt-1121-2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://63079.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-test.io/d76ea66a-e423-49f6-8ef1-4355260b47f1"
|
||||
],
|
||||
"shortName": "MT 1121-2",
|
||||
"slug": "mt-1121-2",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,28 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "DGS",
|
||||
"chainId": 6363,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmRiAUu3xV5uiX6Nk1iXD5w6qjki5ugGFETRVavzJ2h5QF",
|
||||
"width": 370,
|
||||
"height": 320,
|
||||
"format": "png"
|
||||
},
|
||||
"name": "Digit Soul Smart Chain",
|
||||
"nativeCurrency": {
|
||||
"name": "Digit Coin",
|
||||
"symbol": "DGC",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 6363,
|
||||
"rpc": [
|
||||
"https://digit-soul-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://6363.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://dsc-rpc.digitsoul.co.th"
|
||||
],
|
||||
"shortName": "DGS",
|
||||
"slug": "digit-soul-smart-chain",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "JanusNetwork",
|
||||
"chainId": 66988,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "JanusNetwork Testnet Explorer",
|
||||
"url": "https://beta.scan.janusnetwork.io",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreifc3vnwf4hj3bo6fg4u5qlqmjgajjgezyeg236qjcihl4ha42siuq",
|
||||
"width": 819,
|
||||
"height": 792,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://janus-network.gitbook.io/janus",
|
||||
"name": "Janus Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Janus",
|
||||
"symbol": "JNS",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 66988,
|
||||
"rpc": [
|
||||
"https://janus-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://66988.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.test.janusnetwork.io"
|
||||
],
|
||||
"shortName": "janusnetwork-testnet",
|
||||
"slug": "janus-testnet",
|
||||
"status": "active",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -14,9 +14,9 @@ export default {
|
||||
],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmTS1P9sh49zg5xL5BUsRLWDz3vVoJCtCNf9yN1TTnsuQ3",
|
||||
"width": 321,
|
||||
"height": 320,
|
||||
"url": "ipfs://QmRxeKFwBwrXyDksoN4NzNRp3R35s8pVnTBfBj4AJSCq5g",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://frame.xyz",
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Jambon's Devnet",
|
||||
"chainId": 72605,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": ".svg"
|
||||
},
|
||||
"name": "Jambon's Devnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Jambon's Devnet",
|
||||
"symbol": "DOB",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 72605,
|
||||
"redFlags": [],
|
||||
"rpc": [],
|
||||
"shortName": "Jambon's Devnet",
|
||||
"slug": "jambon-s-devnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,38 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "MaalChain Testnet",
|
||||
"chainId": 7860,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "maalscan testnet",
|
||||
"url": "https://testnet.maalscan.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet-testnet.maalscan.io/"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreiexfqfe2x4impvwhra3xxa5eb25gv25zi3kkaoatdnld7wbxdzf2a",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.maalchain.com/",
|
||||
"name": "MaalChain Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "MAAL",
|
||||
"symbol": "MAAL",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 7860,
|
||||
"rpc": [
|
||||
"https://maalchain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://7860.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://node1.maalscan.io/",
|
||||
"https://rpc-bntest.maalscan.io/"
|
||||
],
|
||||
"shortName": "maal-test",
|
||||
"slug": "maalchain-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -13,16 +13,28 @@ export default {
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "DOScan",
|
||||
"url": "https://explorer.doschain.com/",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://doschain.io",
|
||||
"infoURL": "https://doschain.com/",
|
||||
"name": "DOS Chain",
|
||||
"nativeCurrency": {
|
||||
"name": "DOS",
|
||||
@@ -30,6 +42,7 @@ export default {
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 7979,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://dos-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://7979.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
|
||||
@@ -31,8 +31,6 @@ export default {
|
||||
"rpc": [
|
||||
"https://mumbai.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://80001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://polygon-mumbai.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://polygon-mumbai.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://rpc-mumbai.maticvigil.com",
|
||||
"https://polygon-mumbai-bor.publicnode.com",
|
||||
"wss://polygon-mumbai-bor.publicnode.com",
|
||||
@@ -41,6 +39,6 @@ export default {
|
||||
],
|
||||
"shortName": "maticmum",
|
||||
"slug": "mumbai",
|
||||
"testnet": false,
|
||||
"testnet": true,
|
||||
"title": "Polygon Testnet Mumbai"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,41 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "TQF",
|
||||
"chainId": 8192,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://toruscan.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidchntjaxmq52cuqqoalpajk5ssk4p77k7n4jgywqmkpldo5qgobm",
|
||||
"width": 1200,
|
||||
"height": 1200,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://docs.toruschain.com",
|
||||
"name": "Torus Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "TQF",
|
||||
"symbol": "TQF",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 8192,
|
||||
"rpc": [
|
||||
"https://torus.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://8192.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.toruschain.com"
|
||||
],
|
||||
"shortName": "tqf",
|
||||
"slug": "torus",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "zFirst AvaCloud Subnet Thirdweb",
|
||||
"chainId": 82807,
|
||||
"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": "zFirst AvaCloud Subnet Thirdweb",
|
||||
"nativeCurrency": {
|
||||
"name": "zFirst AvaCloud Subnet Thirdweb",
|
||||
"symbol": "YOOO",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 82807,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://zfirst-avacloud-subnet-thirdweb.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://82807.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/f2ea180d-0fda-4b06-9b2e-53a65d3fd789"
|
||||
],
|
||||
"shortName": "zFirst AvaCloud Subnet Thirdweb",
|
||||
"slug": "zfirst-avacloud-subnet-thirdweb",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -6,10 +6,22 @@ export default {
|
||||
{
|
||||
"name": "Dodao Explorer",
|
||||
"url": "https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network",
|
||||
"standard": "none"
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmdWsi6mhs6Agb3LF4uycUwx2fgNmwkuAGb7JmsLPkwd3j",
|
||||
"width": 636,
|
||||
"height": 629,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmdWsi6mhs6Agb3LF4uycUwx2fgNmwkuAGb7JmsLPkwd3j",
|
||||
"width": 636,
|
||||
"height": 629,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://dodao.dev/",
|
||||
"name": "Dodao",
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -42,5 +42,5 @@ export default {
|
||||
],
|
||||
"shortName": "bnbt",
|
||||
"slug": "binance-testnet",
|
||||
"testnet": false
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 993535,
|
||||
"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": "qr1120y1",
|
||||
"nativeCurrency": {
|
||||
"name": "qr1120y1 Token",
|
||||
"symbol": "LMK",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 993535,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qr1120y1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://993535.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/qr1120y1/testnet/rpc"
|
||||
],
|
||||
"shortName": "qr1120y1",
|
||||
"slug": "qr1120y1",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -29,6 +29,8 @@ export default {
|
||||
"https://9996.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc-msc.mindchain.info/",
|
||||
"https://seednode.mindchain.info",
|
||||
"https://archive.mindchain.info/",
|
||||
"wss://archive.mindchain.info/ws",
|
||||
"wss://seednode.mindchain.info/ws"
|
||||
],
|
||||
"shortName": "MIND",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/chains",
|
||||
"version": "0.1.58",
|
||||
"version": "0.1.60",
|
||||
"main": "dist/thirdweb-dev-chains.cjs.js",
|
||||
"module": "dist/thirdweb-dev-chains.esm.js",
|
||||
"exports": {
|
||||
|
||||
@@ -95,7 +95,11 @@ export * from "./types";
|
||||
export * from "./utils";
|
||||
export * from "./async";
|
||||
export const defaultChains = [c1, c5, c8453, c84531, c137, c80001, c42161, c421613, c10, c420, c56, c97, c250, c4002, c43114, c43113, c1337];
|
||||
// @ts-expect-error - TODO: fix this later
|
||||
|
||||
\/**
|
||||
* @deprecated use \`fetchChains()\` instead
|
||||
*\/
|
||||
\/\/ @ts-expect-error - TODO: fix this later
|
||||
export const allChains: Chain[] = [${exportNames.join(", ")}];
|
||||
|
||||
type ChainsById = {
|
||||
@@ -152,6 +156,9 @@ function isValidChainSlug(slug: string): slug is ChainSlug {
|
||||
return slug in chainIdsBySlug;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use \`getChainByChainIdAsync()\` instead
|
||||
*/
|
||||
export function getChainByChainId<TChainId extends ChainId>(
|
||||
chainId: TChainId | (number & {}),
|
||||
) {
|
||||
@@ -162,6 +169,9 @@ export function getChainByChainId<TChainId extends ChainId>(
|
||||
throw new Error(\`Chain with chainId "\${chainId}" not found\`);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use \`getChainBySlugAsync()\` instead
|
||||
*/
|
||||
export function getChainBySlug<TSlug extends ChainSlug>(
|
||||
slug: TSlug | (string & {}),
|
||||
) {
|
||||
|
||||
@@ -4,8 +4,16 @@ type FetchChainResponse = {
|
||||
data: Chain;
|
||||
error: unknown;
|
||||
};
|
||||
|
||||
// cache of chainId -> Chain
|
||||
const chainCache: Record<number, Chain> = {};
|
||||
// cache of slug -> chainId
|
||||
const slugToChainId: Record<string, keyof typeof chainCache> = {};
|
||||
export async function fetchChain(chainIdOrSlug: number | string) {
|
||||
if (typeof chainIdOrSlug === "string" && chainIdOrSlug in slugToChainId) {
|
||||
return chainCache[slugToChainId[chainIdOrSlug]];
|
||||
} else if (typeof chainIdOrSlug === "number" && chainIdOrSlug in chainCache) {
|
||||
return chainCache[chainIdOrSlug];
|
||||
}
|
||||
const res = await fetch(
|
||||
`https://api.thirdweb.com/v1/chains/${chainIdOrSlug}`,
|
||||
);
|
||||
@@ -19,6 +27,11 @@ export async function fetchChain(chainIdOrSlug: number | string) {
|
||||
console.debug("[chains] fetchChain() error", json.error);
|
||||
return null;
|
||||
}
|
||||
const chain = json.data;
|
||||
// store the chain in chainCache
|
||||
chainCache[chain.chainId] = chain;
|
||||
// store the slug<->chainId in slugToChainId
|
||||
slugToChainId[chain.slug] = chain.chainId;
|
||||
return json.data;
|
||||
} catch (err) {
|
||||
console.debug("[chains] fetchChain() failed", err);
|
||||
@@ -31,10 +44,16 @@ type FetchChainsResponse = {
|
||||
error: unknown;
|
||||
};
|
||||
|
||||
const fetchChainsCache: Record<string, Chain[]> = {};
|
||||
export async function fetchChains(options?: {
|
||||
limit?: number;
|
||||
offset?: number;
|
||||
}) {
|
||||
// cache key is based on limit and offset (options)
|
||||
const cacheKey = `l:${options?.limit ?? 0}o:${options?.offset ?? 0}`;
|
||||
if (cacheKey in fetchChainsCache) {
|
||||
return fetchChainsCache[cacheKey];
|
||||
}
|
||||
const url = new URL(`https://api.thirdweb.com/v1/chains`);
|
||||
if (options?.limit && options.limit >= 1) {
|
||||
url.searchParams.append("limit", options.limit.toString());
|
||||
@@ -53,9 +72,39 @@ export async function fetchChains(options?: {
|
||||
console.debug("[chains] fetchChain() error", json.error);
|
||||
return null;
|
||||
}
|
||||
fetchChainsCache[cacheKey] = json.data;
|
||||
return json.data;
|
||||
} catch (err) {
|
||||
console.debug("[chains] fetchChain() failed", err);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param chainId - the chainId of the chain to resolve
|
||||
* @returns a Promise that resolves to the Chain object
|
||||
* @throws if the chainId is not found
|
||||
*/
|
||||
export async function getChainByChainIdAsync(chainId: number): Promise<Chain> {
|
||||
const chain = await fetchChain(chainId);
|
||||
if (!chain) {
|
||||
throw new Error(`Chain with chainId "${chainId}" not found`);
|
||||
}
|
||||
|
||||
return chain;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param slug - the slug of the chain to resolve
|
||||
* @returns a Promise that resolves to the Chain object
|
||||
* @throws if the slug is not found
|
||||
*/
|
||||
export async function getChainBySlugAsync(slug: string): Promise<Chain> {
|
||||
const chain = await fetchChain(slug);
|
||||
if (!chain) {
|
||||
throw new Error(`Chain with slug "${slug}" not found`);
|
||||
}
|
||||
return chain;
|
||||
}
|
||||
|
||||
+134
-20
File diff suppressed because one or more lines are too long
@@ -1,5 +1,45 @@
|
||||
# thirdweb
|
||||
|
||||
## 0.13.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`cfe81b44`](https://github.com/thirdweb-dev/js/commit/cfe81b443205d84e58128b8d7d5f2dc940b12875), [`72c0bb10`](https://github.com/thirdweb-dev/js/commit/72c0bb10d6d765d1679b2b22ac63d85db101b5c4), [`ca618ea0`](https://github.com/thirdweb-dev/js/commit/ca618ea0c9ac5dc4f65cbfbfd39360e4150c72c7), [`aefc4cda`](https://github.com/thirdweb-dev/js/commit/aefc4cda4c4fad81411d3a9485931e28100b5718), [`a36c7e83`](https://github.com/thirdweb-dev/js/commit/a36c7e8331744879a169f84e97b66abf0ab44f56), [`4ae1cd63`](https://github.com/thirdweb-dev/js/commit/4ae1cd63bb7b471cae48a27bf6554c4953c1dc82), [`61c62b3f`](https://github.com/thirdweb-dev/js/commit/61c62b3f07a082ffd7620c949e3bcc6b75c104b5), [`7bb054e4`](https://github.com/thirdweb-dev/js/commit/7bb054e45c75450c8f465809d23eb66371f6ef8e), [`d20e7898`](https://github.com/thirdweb-dev/js/commit/d20e7898562a3914841522f2e09f88ca37dfdd4b)]:
|
||||
- @thirdweb-dev/sdk@4.0.19
|
||||
- @thirdweb-dev/storage@2.0.7
|
||||
- @thirdweb-dev/wallets@2.1.11
|
||||
- @thirdweb-dev/auth@4.1.14
|
||||
|
||||
## 0.13.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`8c2d4e5e`](https://github.com/thirdweb-dev/js/commit/8c2d4e5ea7c38b3efa4d8d94c9822a92d271e59b), [`b0ecfd2d`](https://github.com/thirdweb-dev/js/commit/b0ecfd2d8d5cda33dc8f5ea2d20119cb901a0bcb), [`d28097f5`](https://github.com/thirdweb-dev/js/commit/d28097f508739cdbd6625e09c2ed0fe25a922c0f), [`b8332500`](https://github.com/thirdweb-dev/js/commit/b833250053320c8608109053f5cffe2dc96ce70a), [`8bf3be88`](https://github.com/thirdweb-dev/js/commit/8bf3be88be051178a7142618c4371d2f2ef26271), [`b02fb91a`](https://github.com/thirdweb-dev/js/commit/b02fb91a548a3f66f7677ced24be9397e0f9a7ba), [`f93bd325`](https://github.com/thirdweb-dev/js/commit/f93bd325e119381ddc3380a5ea43fe63fbcf42c0), [`2861dff1`](https://github.com/thirdweb-dev/js/commit/2861dff1f013b5150314fdaccaeadddbcf0d21c9), [`61b6a002`](https://github.com/thirdweb-dev/js/commit/61b6a00214716454222e67fe5fdb47edba391070), [`28fc3736`](https://github.com/thirdweb-dev/js/commit/28fc3736aa30c89690084aa2c62556c183796352), [`06805217`](https://github.com/thirdweb-dev/js/commit/06805217c26de203a57c21246acba22def8a78fa), [`2b4f1c8e`](https://github.com/thirdweb-dev/js/commit/2b4f1c8e55de091100fb5279887bcb19ea31d38c)]:
|
||||
- @thirdweb-dev/wallets@2.1.10
|
||||
- @thirdweb-dev/sdk@4.0.18
|
||||
- @thirdweb-dev/chains@0.1.60
|
||||
- @thirdweb-dev/storage@2.0.6
|
||||
- @thirdweb-dev/auth@4.1.13
|
||||
|
||||
## 0.13.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`47b0ed51`](https://github.com/thirdweb-dev/js/commit/47b0ed5171be5608ae23c19481a1b04948443c6a), [`d4ce855e`](https://github.com/thirdweb-dev/js/commit/d4ce855e5f5e6c4206a3efa250e92e690ae87281), [`b5bbe2bd`](https://github.com/thirdweb-dev/js/commit/b5bbe2bd438179c38451bc2cfa20a54fc79e4f3a)]:
|
||||
- @thirdweb-dev/chains@0.1.59
|
||||
- @thirdweb-dev/wallets@2.1.9
|
||||
- @thirdweb-dev/sdk@4.0.17
|
||||
- @thirdweb-dev/auth@4.1.12
|
||||
|
||||
## 0.13.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`36600dec`](https://github.com/thirdweb-dev/js/commit/36600decefca7b9ebb1924757b4186b559e439f6), [`1094a03a`](https://github.com/thirdweb-dev/js/commit/1094a03a04f3e7ade84af0f7a6073794c0904cb1), [`7c45941b`](https://github.com/thirdweb-dev/js/commit/7c45941b57fb5a6f83be507ee64dbf885d93c9d4)]:
|
||||
- @thirdweb-dev/auth@4.1.11
|
||||
- @thirdweb-dev/wallets@2.1.8
|
||||
- @thirdweb-dev/sdk@4.0.16
|
||||
|
||||
## 0.13.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "thirdweb",
|
||||
"main": "dist/cli/index.js",
|
||||
"version": "0.13.18",
|
||||
"version": "0.13.22",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -39,7 +39,14 @@
|
||||
"@types/treeify": "^1.0.2",
|
||||
"benchmark": "^2.1.4",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"typescript": "^5.1.6"
|
||||
"typescript": "^5.1.6",
|
||||
"circomlibjs": "^0.1.7",
|
||||
"crypto": "0.0.3",
|
||||
"ethereum-cryptography": "^1.0.3",
|
||||
"ethereumjs-util": "^7.0.9",
|
||||
"keccak256": "^1.0.6",
|
||||
"sha1": "^1.1.1",
|
||||
"tape": "^4.9.2"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier --write 'src/**/*'",
|
||||
@@ -48,7 +55,7 @@
|
||||
"clean": "rm -rf dist/",
|
||||
"build": "tsc && preconstruct build",
|
||||
"push": "yalc push",
|
||||
"test": "bun test",
|
||||
"test": "bun test && node test/MerkleTree.js",
|
||||
"benchmark:aes-encrypt": "bun benchmark/aes-encrypt.ts",
|
||||
"benchmark:aes-decrypt": "bun benchmark/aes-decrypt.ts",
|
||||
"benchmark:sha256": "bun benchmark/sha256.ts",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,103 @@
|
||||
# @thirdweb-dev/react-core
|
||||
|
||||
## 4.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2043](https://github.com/thirdweb-dev/js/pull/2043) [`34546c24`](https://github.com/thirdweb-dev/js/commit/34546c24c74f4e9e1f5e94567ebe1017ad63aea5) Thanks [@MananTank](https://github.com/MananTank)! - when user clicks on "Switch to personal wallet" when they are connected to smart wallet and reloads the page, auto-connect to smart wallet
|
||||
|
||||
- [#1842](https://github.com/thirdweb-dev/js/pull/1842) [`a36c7e83`](https://github.com/thirdweb-dev/js/commit/a36c7e8331744879a169f84e97b66abf0ab44f56) Thanks [@MananTank](https://github.com/MananTank)! - JSDoc improvements
|
||||
|
||||
- [#1938](https://github.com/thirdweb-dev/js/pull/1938) [`4ae1cd63`](https://github.com/thirdweb-dev/js/commit/4ae1cd63bb7b471cae48a27bf6554c4953c1dc82) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add OneKey wallet
|
||||
|
||||
- [#2042](https://github.com/thirdweb-dev/js/pull/2042) [`61c62b3f`](https://github.com/thirdweb-dev/js/commit/61c62b3f07a082ffd7620c949e3bcc6b75c104b5) Thanks [@MananTank](https://github.com/MananTank)! - Improved JSDoc comments and Type exports
|
||||
|
||||
- [#2039](https://github.com/thirdweb-dev/js/pull/2039) [`cd87be4a`](https://github.com/thirdweb-dev/js/commit/cd87be4a24a9a3a552fbc4f33da6fcb08b7da88b) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Remove barrel files
|
||||
|
||||
- Updated dependencies [[`cfe81b44`](https://github.com/thirdweb-dev/js/commit/cfe81b443205d84e58128b8d7d5f2dc940b12875), [`72c0bb10`](https://github.com/thirdweb-dev/js/commit/72c0bb10d6d765d1679b2b22ac63d85db101b5c4), [`ca618ea0`](https://github.com/thirdweb-dev/js/commit/ca618ea0c9ac5dc4f65cbfbfd39360e4150c72c7), [`aefc4cda`](https://github.com/thirdweb-dev/js/commit/aefc4cda4c4fad81411d3a9485931e28100b5718), [`a36c7e83`](https://github.com/thirdweb-dev/js/commit/a36c7e8331744879a169f84e97b66abf0ab44f56), [`4ae1cd63`](https://github.com/thirdweb-dev/js/commit/4ae1cd63bb7b471cae48a27bf6554c4953c1dc82), [`61c62b3f`](https://github.com/thirdweb-dev/js/commit/61c62b3f07a082ffd7620c949e3bcc6b75c104b5), [`7bb054e4`](https://github.com/thirdweb-dev/js/commit/7bb054e45c75450c8f465809d23eb66371f6ef8e), [`d20e7898`](https://github.com/thirdweb-dev/js/commit/d20e7898562a3914841522f2e09f88ca37dfdd4b)]:
|
||||
- @thirdweb-dev/sdk@4.0.19
|
||||
- @thirdweb-dev/storage@2.0.7
|
||||
- @thirdweb-dev/wallets@2.1.11
|
||||
- @thirdweb-dev/auth@4.1.14
|
||||
|
||||
## 4.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2007](https://github.com/thirdweb-dev/js/pull/2007) [`e79b2935`](https://github.com/thirdweb-dev/js/commit/e79b293562bbcf4af6fbcb4829b2acb4cb3e2cb4) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Get the native token balance of a wallet address on the `activeChain` network set in the `ThirdwebProvider`
|
||||
|
||||
```ts
|
||||
const balanceQuery = useBalanceForAddress(walletAddress);
|
||||
|
||||
console.log(balanceQuery.data);
|
||||
```
|
||||
|
||||
- [#1926](https://github.com/thirdweb-dev/js/pull/1926) [`8c2d4e5e`](https://github.com/thirdweb-dev/js/commit/8c2d4e5ea7c38b3efa4d8d94c9822a92d271e59b) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Rabby browser extension
|
||||
|
||||
- [#2001](https://github.com/thirdweb-dev/js/pull/2001) [`a27b10c5`](https://github.com/thirdweb-dev/js/commit/a27b10c5c3400500ef0138069acc550b3a07ffc6) Thanks [@iketw](https://github.com/iketw)! - Don't disconnect wallet if connecting
|
||||
|
||||
- [#2016](https://github.com/thirdweb-dev/js/pull/2016) [`94559129`](https://github.com/thirdweb-dev/js/commit/9455912932c71f3ef9b67461bf5604f1ea1f71e8) Thanks [@iketw](https://github.com/iketw)! - Share WalletConnectHandler between React and RN to support wallets as receivers
|
||||
|
||||
- [#1997](https://github.com/thirdweb-dev/js/pull/1997) [`50749662`](https://github.com/thirdweb-dev/js/commit/507496627bcd77b49bb027b24996a31c57e04819) Thanks [@MananTank](https://github.com/MananTank)! - - Fixes issue #1708
|
||||
|
||||
- Fixes smart wallet icon shown even after clicking on "Switch to Personal wallet" in ConnectWallet dropdown
|
||||
|
||||
- [#1987](https://github.com/thirdweb-dev/js/pull/1987) [`b3394277`](https://github.com/thirdweb-dev/js/commit/b3394277c77e4af130151111e056e27a28ac893a) Thanks [@MananTank](https://github.com/MananTank)! - Improved JSDoc comments and type exports
|
||||
|
||||
- [#1928](https://github.com/thirdweb-dev/js/pull/1928) [`2b4f1c8e`](https://github.com/thirdweb-dev/js/commit/2b4f1c8e55de091100fb5279887bcb19ea31d38c) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Crypto.com Defi wallet
|
||||
|
||||
- [#2015](https://github.com/thirdweb-dev/js/pull/2015) [`4c488aa3`](https://github.com/thirdweb-dev/js/commit/4c488aa31f6fadc13759ff60f30230b929feb314) Thanks [@MananTank](https://github.com/MananTank)! - Fix auto-connecting a personal wallet for smart/safe wallet
|
||||
|
||||
- Updated dependencies [[`8c2d4e5e`](https://github.com/thirdweb-dev/js/commit/8c2d4e5ea7c38b3efa4d8d94c9822a92d271e59b), [`b0ecfd2d`](https://github.com/thirdweb-dev/js/commit/b0ecfd2d8d5cda33dc8f5ea2d20119cb901a0bcb), [`d28097f5`](https://github.com/thirdweb-dev/js/commit/d28097f508739cdbd6625e09c2ed0fe25a922c0f), [`b8332500`](https://github.com/thirdweb-dev/js/commit/b833250053320c8608109053f5cffe2dc96ce70a), [`8bf3be88`](https://github.com/thirdweb-dev/js/commit/8bf3be88be051178a7142618c4371d2f2ef26271), [`b02fb91a`](https://github.com/thirdweb-dev/js/commit/b02fb91a548a3f66f7677ced24be9397e0f9a7ba), [`f93bd325`](https://github.com/thirdweb-dev/js/commit/f93bd325e119381ddc3380a5ea43fe63fbcf42c0), [`2861dff1`](https://github.com/thirdweb-dev/js/commit/2861dff1f013b5150314fdaccaeadddbcf0d21c9), [`61b6a002`](https://github.com/thirdweb-dev/js/commit/61b6a00214716454222e67fe5fdb47edba391070), [`28fc3736`](https://github.com/thirdweb-dev/js/commit/28fc3736aa30c89690084aa2c62556c183796352), [`06805217`](https://github.com/thirdweb-dev/js/commit/06805217c26de203a57c21246acba22def8a78fa), [`2b4f1c8e`](https://github.com/thirdweb-dev/js/commit/2b4f1c8e55de091100fb5279887bcb19ea31d38c)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 4.1.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1996](https://github.com/thirdweb-dev/js/pull/1996) [`4bb8f5b1`](https://github.com/thirdweb-dev/js/commit/4bb8f5b15e58de39c5edccc7476da3e4907d7688) Thanks [@MananTank](https://github.com/MananTank)! - Revert commit fb0cb676b996fe386dcc53b5a6dab03f88e76175
|
||||
|
||||
- Updated dependencies [[`47b0ed51`](https://github.com/thirdweb-dev/js/commit/47b0ed5171be5608ae23c19481a1b04948443c6a), [`d4ce855e`](https://github.com/thirdweb-dev/js/commit/d4ce855e5f5e6c4206a3efa250e92e690ae87281), [`b5bbe2bd`](https://github.com/thirdweb-dev/js/commit/b5bbe2bd438179c38451bc2cfa20a54fc79e4f3a)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 4.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1952](https://github.com/thirdweb-dev/js/pull/1952) [`fb0cb676`](https://github.com/thirdweb-dev/js/commit/fb0cb676b996fe386dcc53b5a6dab03f88e76175) Thanks [@MananTank](https://github.com/MananTank)! - - Add `ConnectEmbed`` component to embed the ConnectWallet's Modal UI directly in page
|
||||
|
||||
- Fix `ConnectWallet` component setting personal wallet as "connected" wallet when connecting a Safe / Smart Wallet
|
||||
|
||||
- [#1921](https://github.com/thirdweb-dev/js/pull/1921) [`1094a03a`](https://github.com/thirdweb-dev/js/commit/1094a03a04f3e7ade84af0f7a6073794c0904cb1) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Coin98 wallet
|
||||
|
||||
- [#1971](https://github.com/thirdweb-dev/js/pull/1971) [`12d85dec`](https://github.com/thirdweb-dev/js/commit/12d85dec10f47d6520b737a23576e4f832abb47f) Thanks [@iketw](https://github.com/iketw)! - Adds usePersonalWalletAddress hook to React/RN
|
||||
|
||||
```typescript
|
||||
// React
|
||||
import { usePersonalWalletAddress } from "@thirdweb-dev/react";
|
||||
|
||||
const personalWalletAddress = usePersonalWalletAddress();
|
||||
```
|
||||
|
||||
```typescript
|
||||
// React-Native
|
||||
import { usePersonalWalletAddress } from "@thirdweb-dev/react-native";
|
||||
|
||||
const personalWalletAddress = usePersonalWalletAddress();
|
||||
```
|
||||
|
||||
- Updated dependencies [[`36600dec`](https://github.com/thirdweb-dev/js/commit/36600decefca7b9ebb1924757b4186b559e439f6), [`1094a03a`](https://github.com/thirdweb-dev/js/commit/1094a03a04f3e7ade84af0f7a6073794c0904cb1), [`7c45941b`](https://github.com/thirdweb-dev/js/commit/7c45941b57fb5a6f83be507ee64dbf885d93c9d4)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 4.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-core",
|
||||
"version": "4.1.8",
|
||||
"version": "4.1.12",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-core",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -52,7 +52,8 @@
|
||||
"generate-docs:evm": "api-extractor run --local --config ./config/api-extractor-evm.json && api-documenter markdown -i ./temp -o ./docs/evm && rm -rf ./temp-evm && mv ./temp ./temp-evm",
|
||||
"generate-snippets": "node ./scripts/generate-snippets-evm.mjs && node ./scripts/generate-feature-snippets-evm.mjs",
|
||||
"build": "tsc && preconstruct build",
|
||||
"push": "yalc push"
|
||||
"push": "yalc push",
|
||||
"typedoc": "node scripts/typedoc.mjs"
|
||||
},
|
||||
"sideEffects:": false,
|
||||
"devDependencies": {
|
||||
@@ -83,7 +84,8 @@
|
||||
"ethers": "^5.7.2",
|
||||
"prettier": "^3.0.0",
|
||||
"react": "^18.2.0",
|
||||
"typescript": "^5.1.6"
|
||||
"typescript": "^5.1.6",
|
||||
"typedoc-gen": "workspace:*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tanstack/react-query": "^4.33.0",
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
// @ts-check
|
||||
/* eslint-disable better-tree-shaking/no-top-level-side-effects */
|
||||
|
||||
import { typedoc } from "typedoc-gen";
|
||||
|
||||
typedoc({
|
||||
entryPoints: ["src/index.ts"],
|
||||
exclude: [
|
||||
"**/packages/sdk/**",
|
||||
"**/packages/wallets/**",
|
||||
"**/packages/chains/**",
|
||||
],
|
||||
output: "both", // TODO: change this to 'json' when old portal is fully migrated to new portal
|
||||
});
|
||||
@@ -29,10 +29,12 @@ type NetworkMetadata = {
|
||||
|
||||
/**
|
||||
*
|
||||
* @deprecated - use `useChain`, `useSwitchChain`, `useChainId` instead
|
||||
*
|
||||
* Hook for getting metadata about the network the current wallet is connected to and switching networks
|
||||
*
|
||||
* It's important to note that some wallet apps do not support programmatic network switching and switchNetwork will be undefined.
|
||||
* For those situations, you can typically switch networks in the wallet app this hook will still work.
|
||||
*
|
||||
* @example
|
||||
* ```javascript
|
||||
* import { useNetwork } from "@thirdweb-dev/react";
|
||||
@@ -47,12 +49,9 @@ type NetworkMetadata = {
|
||||
* </button>
|
||||
* );
|
||||
* };
|
||||
```
|
||||
* ```
|
||||
*
|
||||
* It's important to note that some wallet apps do not support programmatic network switching and switchNetwork will be undefined.
|
||||
* For those situations, you can typically switch networks in the wallet app this hook will still work.
|
||||
*
|
||||
* @public
|
||||
* @deprecated - use `useChain`, `useSwitchChain`, `useChainId` instead
|
||||
*/
|
||||
export function useNetwork(): [NetworkMetadata, SwitchNetwork | undefined] {
|
||||
const chain = useChain();
|
||||
|
||||
@@ -2,16 +2,20 @@ import { useWalletContext } from "../providers/thirdweb-wallet-provider";
|
||||
import invariant from "tiny-invariant";
|
||||
import type {
|
||||
BloctoWallet,
|
||||
Coin98Wallet,
|
||||
CoinbaseWallet,
|
||||
CoreWallet,
|
||||
CryptoDefiWallet,
|
||||
EmbeddedWallet,
|
||||
FrameWallet,
|
||||
LocalWallet,
|
||||
MagicLink,
|
||||
MetaMaskWallet,
|
||||
OKXWallet,
|
||||
OneKeyWallet,
|
||||
PaperWallet,
|
||||
PhantomWallet,
|
||||
RabbyWallet,
|
||||
RainbowWallet,
|
||||
SafeWallet,
|
||||
SmartWallet,
|
||||
@@ -26,6 +30,7 @@ export type WalletId = (typeof walletIds)[keyof typeof walletIds];
|
||||
|
||||
type WalletIdToWalletTypeMap = {
|
||||
metamask: MetaMaskWallet;
|
||||
coin98: Coin98Wallet;
|
||||
coinbase: CoinbaseWallet;
|
||||
coreWallet: CoreWallet;
|
||||
rainbowWallet: RainbowWallet;
|
||||
@@ -43,6 +48,9 @@ type WalletIdToWalletTypeMap = {
|
||||
phantom: PhantomWallet;
|
||||
walletConnectV1: WalletConnect;
|
||||
okx: OKXWallet;
|
||||
oneKey: OneKeyWallet;
|
||||
cryptoDefiWallet: CryptoDefiWallet;
|
||||
rabby: RabbyWallet;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,9 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||
import { useMemo } from "react";
|
||||
|
||||
export interface QueryClientProviderProps {
|
||||
/**
|
||||
* If you are using React Query and have your own `QueryClient`, you can pass it as the queryClient prop to use that instead of the SDK's default client.
|
||||
*/
|
||||
queryClient?: QueryClient;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { createContext } from "react";
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export const ThirdwebThemeContext = /* @__PURE__ */ createContext<
|
||||
"light" | "dark" | undefined
|
||||
>(undefined);
|
||||
|
||||
@@ -56,6 +56,9 @@ export interface ThirdwebProviderCoreProps<TChains extends Chain[]>
|
||||
|
||||
theme?: "light" | "dark";
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
createWalletStorage?: CreateAsyncStorage;
|
||||
|
||||
/**
|
||||
@@ -68,13 +71,19 @@ export interface ThirdwebProviderCoreProps<TChains extends Chain[]>
|
||||
*
|
||||
* If wallet fails to connect in this time, it will stop trying to connect and user will have to manually connect
|
||||
*
|
||||
* @defaultValue 15000
|
||||
* By default, it is set to `15000` milliseconds (15 seconds)
|
||||
*/
|
||||
autoConnectTimeout?: number;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
signerWallet?: WalletConfig<SignerWallet>;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export const ThirdwebProviderCore = <TChains extends Chain[]>({
|
||||
createWalletStorage = createAsyncLocalStorage,
|
||||
...props
|
||||
|
||||
@@ -11,6 +11,9 @@ import {
|
||||
ConnectParams,
|
||||
CreateAsyncStorage,
|
||||
SignerWallet,
|
||||
WalletConnectHandler,
|
||||
WalletConnectReceiverConfig,
|
||||
WalletConnectV2Handler,
|
||||
walletIds,
|
||||
} from "@thirdweb-dev/wallets";
|
||||
import { Signer } from "ethers";
|
||||
@@ -24,6 +27,7 @@ import {
|
||||
useRef,
|
||||
useState,
|
||||
} from "react";
|
||||
import { isWalletConnectReceiverEnabled } from "../utils/receiver";
|
||||
|
||||
const LAST_CONNECTED_WALLET_STORAGE_KEY = "lastConnectedWallet";
|
||||
|
||||
@@ -92,6 +96,7 @@ type ThirdwebWalletContextData = {
|
||||
getWalletConfig: (walletInstance: WalletInstance) => WalletConfig | undefined;
|
||||
activeChainSetExplicitly: boolean;
|
||||
clientId?: string;
|
||||
walletConnectHandler: WalletConnectHandler | undefined;
|
||||
};
|
||||
|
||||
const ThirdwebWalletContext = /* @__PURE__ */ createContext<
|
||||
@@ -131,6 +136,9 @@ export function ThirdwebWalletProvider(
|
||||
WalletConfig | undefined
|
||||
>();
|
||||
|
||||
const [walletConnectHandler, setWalletConnectHandler] =
|
||||
useState<WalletConnectHandler>();
|
||||
|
||||
if (!lastConnectedWalletStorage) {
|
||||
lastConnectedWalletStorage =
|
||||
props.createWalletStorage("coordinatorStorage");
|
||||
@@ -172,6 +180,34 @@ export function ThirdwebWalletProvider(
|
||||
}
|
||||
}, [activeWallet, props.chains]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!activeWallet) {
|
||||
return;
|
||||
}
|
||||
|
||||
const initWCHandler = async () => {
|
||||
const wcReceiverOptions =
|
||||
activeWallet?.getOptions() as WalletConnectReceiverConfig;
|
||||
|
||||
const handler = new WalletConnectV2Handler(
|
||||
{
|
||||
walletConnectReceiver: {
|
||||
...(wcReceiverOptions?.walletConnectReceiver === true
|
||||
? {}
|
||||
: wcReceiverOptions?.walletConnectReceiver),
|
||||
},
|
||||
},
|
||||
activeWallet,
|
||||
);
|
||||
await handler.init();
|
||||
setWalletConnectHandler(handler);
|
||||
};
|
||||
|
||||
if (isWalletConnectReceiverEnabled(activeWallet)) {
|
||||
initWCHandler();
|
||||
}
|
||||
}, [activeWallet]);
|
||||
|
||||
const setConnectedWallet = useCallback(
|
||||
async (
|
||||
wallet: WalletInstance,
|
||||
@@ -267,18 +303,14 @@ export function ThirdwebWalletProvider(
|
||||
|
||||
// Auto Connect
|
||||
useEffect(() => {
|
||||
// do not auto connect if signerWallet is given
|
||||
if (props.signerWallet) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (autoConnectTriggered.current) {
|
||||
return;
|
||||
}
|
||||
// if explicitly set to false, don't auto connect
|
||||
// by default, auto connect
|
||||
if (props.shouldAutoConnect === false) {
|
||||
setConnectionStatus("disconnected");
|
||||
|
||||
autoConnectTriggered.current = true;
|
||||
|
||||
// do not auto connect if signerWallet is given
|
||||
if (props.signerWallet) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -292,7 +324,12 @@ export function ThirdwebWalletProvider(
|
||||
return;
|
||||
}
|
||||
|
||||
autoConnectTriggered.current = true;
|
||||
// if explicitly set to false, don't auto connect
|
||||
// by default, auto connect
|
||||
if (props.shouldAutoConnect === false) {
|
||||
setConnectionStatus("disconnected");
|
||||
return;
|
||||
}
|
||||
|
||||
async function autoconnect() {
|
||||
const walletInfo = await getLastConnectedWalletInfo();
|
||||
@@ -312,17 +349,31 @@ export function ThirdwebWalletProvider(
|
||||
return;
|
||||
}
|
||||
|
||||
const personalWalletInfo = walletInfo.connectParams?.personalWallet;
|
||||
let _personalWalletInfo = walletInfo.connectParams?.personalWallet;
|
||||
|
||||
// if the wallet requires a personal wallet (like smartWallet), but the saved data does not have it
|
||||
// this can happen when user clicks on "switch to personal wallet" and reloads the page
|
||||
// OR when user clicks on magic link social login
|
||||
if (walletObj.personalWallets && !_personalWalletInfo) {
|
||||
// fix the connectParams by adding the personal wallet info
|
||||
_personalWalletInfo = {
|
||||
walletId: walletInfo.walletId,
|
||||
connectParams: walletInfo.connectParams,
|
||||
};
|
||||
}
|
||||
|
||||
const personalWalletInfo = _personalWalletInfo;
|
||||
|
||||
if (personalWalletInfo) {
|
||||
const personalWallets = walletObj.personalWallets || [];
|
||||
|
||||
const personalWalleObj = personalWallets.find(
|
||||
const personalWalletObj = personalWallets.find(
|
||||
(W) => W.id === personalWalletInfo.walletId,
|
||||
);
|
||||
if (personalWalleObj) {
|
||||
if (personalWalletObj) {
|
||||
// create a personal wallet instance and auto connect it
|
||||
const personalWalletInstance = createWalletInstance(personalWalleObj);
|
||||
const personalWalletInstance =
|
||||
createWalletInstance(personalWalletObj);
|
||||
|
||||
try {
|
||||
await timeoutPromise(
|
||||
@@ -525,6 +576,7 @@ export function ThirdwebWalletProvider(
|
||||
},
|
||||
activeChainSetExplicitly: props.activeChainSetExplicitly,
|
||||
clientId: props.clientId,
|
||||
walletConnectHandler: walletConnectHandler,
|
||||
}}
|
||||
>
|
||||
{props.children}
|
||||
@@ -532,6 +584,9 @@ export function ThirdwebWalletProvider(
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export function useWalletContext() {
|
||||
const ctx = useContext(ThirdwebWalletContext);
|
||||
if (!ctx) {
|
||||
@@ -542,6 +597,16 @@ export function useWalletContext() {
|
||||
return ctx;
|
||||
}
|
||||
|
||||
export function useWalletConnectHandler() {
|
||||
const ctx = useWalletContext();
|
||||
if (!ctx) {
|
||||
throw new Error(
|
||||
`useWalletConnectHandler() can only be used inside <ThirdwebProvider />`,
|
||||
);
|
||||
}
|
||||
return ctx.walletConnectHandler;
|
||||
}
|
||||
|
||||
async function getLastConnectedWalletInfo() {
|
||||
const str = await lastConnectedWalletStorage.getItem(
|
||||
LAST_CONNECTED_WALLET_STORAGE_KEY,
|
||||
|
||||
@@ -18,6 +18,9 @@ export function neverPersist<TKey extends QueryKey>(key: TKey) {
|
||||
return [...key, NEVER_PERSIST_QUERY_POSTFIX] as const;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export function shouldNeverPersistQuery<TKey extends QueryKey>(
|
||||
key: TKey,
|
||||
): boolean {
|
||||
|
||||
@@ -2,8 +2,7 @@ import invariant from "tiny-invariant";
|
||||
|
||||
/**
|
||||
* Makes a parameter required to be passed, but still allows it to be null or undefined.
|
||||
*
|
||||
* @beta
|
||||
* @internal
|
||||
*/
|
||||
export type RequiredParam<T> = T | null | undefined;
|
||||
|
||||
|
||||
@@ -43,13 +43,15 @@ export type WalletConfig<I extends WalletInstance = WalletInstance> = {
|
||||
|
||||
/**
|
||||
* If true, this wallet will be tagged as "recommended" in ConnectWallet Modal and will be shown at the top of the list
|
||||
* @defaultValue false
|
||||
*
|
||||
* By default is set to `false`
|
||||
*/
|
||||
recommended?: boolean;
|
||||
|
||||
/**
|
||||
* If the wallet can sign transactions without user interaction, set this to true.
|
||||
* @defaultValue false
|
||||
*
|
||||
* By default is set to `false`
|
||||
*/
|
||||
isHeadless?: boolean;
|
||||
};
|
||||
|
||||
@@ -5,6 +5,9 @@ export interface IPFSResolverOptions {
|
||||
gatewayUrl: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export async function resolveMimeType(url?: string) {
|
||||
if (!url) {
|
||||
return undefined;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import { WalletInstance } from "../types/wallet";
|
||||
|
||||
export const isWalletConnectReceiverEnabled = (wallet?: WalletInstance) => {
|
||||
const options = wallet?.getOptions();
|
||||
return (
|
||||
options &&
|
||||
"walletConnectReceiver" in options &&
|
||||
options.walletConnectReceiver
|
||||
);
|
||||
};
|
||||
@@ -7,9 +7,12 @@ import {
|
||||
import { useQueryClient } from "@tanstack/react-query";
|
||||
import { useWallet } from "../../core/hooks/wallet-hooks";
|
||||
import { WalletData } from "@thirdweb-dev/wallets";
|
||||
import { useLogout } from "../hooks/auth";
|
||||
import { useLogout } from "../hooks/auth/useLogout";
|
||||
import { useSwitchAccount } from "../hooks/auth/useSwitchAccount";
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export const ThirdwebAuthProvider: React.FC<
|
||||
PropsWithChildren<{ value?: ThirdwebAuthConfig }>
|
||||
> = ({ value, children }) => {
|
||||
|
||||
@@ -9,7 +9,6 @@ export interface ISecureStorage {
|
||||
/**
|
||||
* The configuration to use the react SDK with an [auth](https://portal.thirdweb.com/auth) server.
|
||||
*
|
||||
* @beta
|
||||
*/
|
||||
export interface ThirdwebAuthConfig {
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,9 @@ export const ThirdwebConfigContext = /* @__PURE__ */ createContext<
|
||||
ThirdwebConfigContext | undefined
|
||||
>(undefined);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export const ThirdwebConfigProvider: React.FC<
|
||||
PropsWithChildren<{
|
||||
value: ThirdwebConfigContext;
|
||||
@@ -21,6 +24,9 @@ export const ThirdwebConfigProvider: React.FC<
|
||||
</ThirdwebConfigContext.Provider>
|
||||
);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export function useThirdwebConfigContext() {
|
||||
const context = useContext(ThirdwebConfigContext);
|
||||
invariant(
|
||||
|
||||
@@ -31,6 +31,9 @@ export const ThirdwebConnectedWalletContext = /* @__PURE__ */ createContext<
|
||||
ThirdwebConnectedWalletContext | undefined
|
||||
>(undefined);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export const ThirdwebConnectedWalletProvider: React.FC<
|
||||
PropsWithChildren<{ signer?: Signer }>
|
||||
> = ({ signer, children }) => {
|
||||
|
||||
@@ -34,7 +34,6 @@ import invariant from "tiny-invariant";
|
||||
* @returns a response object that includes an array of all accounts with their associated admin
|
||||
* @twfeature AccountFactory
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useaccounts?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useAccounts(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
@@ -66,7 +65,6 @@ export function useAccounts(
|
||||
* @returns a response object that includes an array of all accounts associated with the address
|
||||
* @twfeature AccountFactory
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useaccountsforaddress?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useAccountsForAddress(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
@@ -102,7 +100,6 @@ export function useAccountsForAddress(
|
||||
* @returns a boolean indicating if a account has been deployed for the given admin
|
||||
* @twfeature AccountFactory
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useisaccountdeployed?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useIsAccountDeployed(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
@@ -160,7 +157,6 @@ export function useIsAccountDeployed(
|
||||
* @returns a mutation object that can be used to create a account
|
||||
* @twfeature AccountFactory
|
||||
* @see {@link https://portal.thirdweb.com/react/react.usecreateaccount?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useCreateAccount(contract: RequiredParam<SmartContract>) {
|
||||
const activeChainId = useSDKChainId();
|
||||
|
||||
@@ -35,7 +35,6 @@ import { useWallet } from "../../../core/hooks/wallet-hooks";
|
||||
* @returns a response object that includes an array of all signers of the provided account
|
||||
* @twfeature Account
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useaccountsigners?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useAccountSigners(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
@@ -67,7 +66,6 @@ export function useAccountSigners(
|
||||
* @returns a response object that includes an array of all admins of the provided account
|
||||
* @twfeature Account
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useaccountadmins?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useAccountAdmins(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
@@ -99,7 +97,6 @@ export function useAccountAdmins(
|
||||
* @returns a response object that includes an array of all admins of the provided account
|
||||
* @twfeature Account
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useaccountadmins?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useAccountAdminsAndSigners(
|
||||
contract: RequiredParam<SmartContract>,
|
||||
|
||||
@@ -28,7 +28,6 @@ import invariant from "tiny-invariant";
|
||||
* @param contract - the {@link SmartContract} instance of the contract to get the appURI of
|
||||
* @returns a response object that includes the appURI of the contract
|
||||
* @twfeature AppURI
|
||||
* @beta
|
||||
*/
|
||||
export function useAppURI<TContract extends ValidContractInstance>(
|
||||
contract: RequiredParam<TContract>,
|
||||
@@ -75,7 +74,6 @@ export function useAppURI<TContract extends ValidContractInstance>(
|
||||
* @param contract - an instance of a {@link SmartContract}
|
||||
* @returns a mutation object that can be used to update the appURI of a contract
|
||||
* @twfeature AppUR
|
||||
* @beta
|
||||
*/
|
||||
export function useSetAppURI(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
|
||||
@@ -30,7 +30,6 @@ import invariant from "tiny-invariant";
|
||||
/**
|
||||
* The options to be passed as the second parameter to the {@link useClaimIneligibilityReasons} hook.
|
||||
*
|
||||
* @beta
|
||||
*/
|
||||
export type ClaimIneligibilityParams = {
|
||||
// the wallet address to check claim eligibility for
|
||||
@@ -42,7 +41,6 @@ export type ClaimIneligibilityParams = {
|
||||
/**
|
||||
* The params for the {@link useSetClaimConditions} hook mutation.
|
||||
*
|
||||
* @beta
|
||||
*/
|
||||
export type SetClaimConditionsParams = {
|
||||
phases: ClaimConditionInput[];
|
||||
@@ -66,7 +64,6 @@ export type SetClaimConditionsParams = {
|
||||
* @returns a response object with the currently active claim condition
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useactiveclaimcondition?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useActiveClaimCondition(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -122,7 +119,6 @@ export function useActiveClaimCondition(
|
||||
* @returns a response object with the snapshot for the provided address
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useclaimerproofs?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useClaimerProofs(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -186,7 +182,6 @@ export function useClaimerProofs(
|
||||
* @returns a response object with the list of claim conditions
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useclaimconditions?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useClaimConditions(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -241,7 +236,6 @@ export function useClaimConditions(
|
||||
* @returns a response object with the reasons for the claim ineligibility
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useclaimineligibilityreasons?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useClaimIneligibilityReasons(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -311,7 +305,6 @@ export function useClaimIneligibilityReasons(
|
||||
* @returns the active claim condition for the wallet address or null if there is no active claim condition
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useactiveclaimconditionforwallet?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useActiveClaimConditionForWallet(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -467,7 +460,6 @@ export function useActiveClaimConditionForWallet(
|
||||
* @returns a mutation object that can be used to set claim conditions
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @see {@link https://portal.thirdweb.com/react/react.usesetclaimconditions?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useSetClaimConditions(
|
||||
contract: RequiredParam<DropContract>,
|
||||
@@ -546,7 +538,6 @@ export function useSetClaimConditions(
|
||||
* @param contract - an instance of a {@link DropContract}
|
||||
* @returns a mutation object that can be used to reset claim conditions
|
||||
* @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1
|
||||
* @beta
|
||||
*/
|
||||
export function useResetClaimConditions(
|
||||
contract: RequiredParam<DropContract>,
|
||||
|
||||
@@ -37,7 +37,6 @@ import invariant from "tiny-invariant";
|
||||
* @returns the wallet address of the primary sales recipient
|
||||
* @twfeature PrimarySale
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useprimarysalerecipient?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function usePrimarySaleRecipient(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -89,7 +88,6 @@ export function usePrimarySaleRecipient(
|
||||
* @returns a mutation object that can be used to update the primary sales recipient
|
||||
* @twfeature PrimarySale
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useupdateprimarysalerecipient?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useUpdatePrimarySaleRecipient(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -140,7 +138,6 @@ export function useUpdatePrimarySaleRecipient(
|
||||
* @returns an object containing recipient address and the royalty basis points
|
||||
* @twfeature Royalty
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useroyaltysettings?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useRoyaltySettings(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -192,7 +189,6 @@ export function useRoyaltySettings(
|
||||
* @returns a mutation object that can be used to update the royalty settings
|
||||
* @twfeature Royalty
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useupdateroyaltysettings?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useUpdateRoyaltySettings(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -239,7 +235,6 @@ export function useUpdateRoyaltySettings(
|
||||
* @returns an object containing the platform fee basis points and the fee recipient address
|
||||
* @twfeature PlatformFee
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useplatformfees?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function usePlatformFees(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -290,7 +285,6 @@ export function usePlatformFees(
|
||||
* @returns a mutation object that can be used to update the platform fees settings
|
||||
* @twfeature PlatformFee
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useupdateplatformfees?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useUpdatePlatformFees(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -336,7 +330,6 @@ export function useUpdatePlatformFees(
|
||||
* @param contract - an instance of a {@link SmartContract}
|
||||
* @returns a {@link CustomContractMetadata} object containing the metadata
|
||||
* @see {@link https://portal.thirdweb.com/react/react.usemetadata?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useMetadata(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
@@ -390,7 +383,6 @@ export function useMetadata(
|
||||
* @param contract - an instance of a {@link SmartContract}
|
||||
* @returns a mutation object that can be used to update the metadata
|
||||
* @see {@link https://portal.thirdweb.com/react/react.useupdatemetadata?utm_source=sdk | Documentation}
|
||||
* @beta
|
||||
*/
|
||||
export function useUpdateMetadata(
|
||||
contract: RequiredParam<ValidContractInstance>,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user