Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
046603ac54 | ||
|
|
bcfa9463bb | ||
|
|
42bda873b4 | ||
|
|
d2001ca464 | ||
|
|
c8ba5cf863 | ||
|
|
85842c1596 | ||
|
|
0fb2f1fc5e | ||
|
|
497677f359 | ||
|
|
15ae5e7f95 | ||
|
|
5a0283d083 | ||
|
|
9496606964 | ||
|
|
b50e4a41b5 | ||
|
|
e595d4d92f |
@@ -1,5 +1,19 @@
|
||||
# @thirdweb-dev/auth
|
||||
|
||||
## 4.1.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
|
||||
## 4.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/wallets@2.2.0
|
||||
|
||||
## 4.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/auth",
|
||||
"version": "4.1.14",
|
||||
"version": "4.1.16",
|
||||
"main": "dist/thirdweb-dev-auth.cjs.js",
|
||||
"module": "dist/thirdweb-dev-auth.esm.js",
|
||||
"browser": {
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @thirdweb-dev/chains
|
||||
|
||||
## 0.1.61
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2066](https://github.com/thirdweb-dev/js/pull/2066) [`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Updatechains
|
||||
|
||||
## 0.1.60
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -20,20 +20,17 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://shimmer.network",
|
||||
"name": "ShimmerEVM Testnet",
|
||||
"name": "ShimmerEVM Testnet Deprecated 1072",
|
||||
"nativeCurrency": {
|
||||
"name": "SMR",
|
||||
"symbol": "SMR",
|
||||
"decimals": 6
|
||||
},
|
||||
"networkId": 1072,
|
||||
"rpc": [
|
||||
"https://shimmerevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1072.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://json-rpc.evm.testnet.shimmer.network"
|
||||
],
|
||||
"shortName": "shimmerevm-testnet",
|
||||
"slug": "shimmerevm-testnet",
|
||||
"rpc": [],
|
||||
"shortName": "shimmerevm-testnet-deprecated-1072",
|
||||
"slug": "shimmerevm-testnet-deprecated-1072",
|
||||
"status": "deprecated",
|
||||
"testnet": true,
|
||||
"title": "ShimmerEVM Testnet"
|
||||
"title": "ShimmerEVM Testnet Deprecated 1072"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,39 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ShimmerEVM",
|
||||
"chainId": 1073,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "explorer",
|
||||
"url": "https://explorer.evm.testnet.shimmer.network",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://evm-toolkit.evm.testnet.shimmer.network",
|
||||
"https://evm-faucet.testnet.shimmer.network"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
|
||||
"width": 720,
|
||||
"height": 720,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://shimmer.network",
|
||||
"name": "ShimmerEVM Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "SMR",
|
||||
"symbol": "SMR",
|
||||
"decimals": 6
|
||||
},
|
||||
"networkId": 1073,
|
||||
"rpc": [
|
||||
"https://shimmerevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1073.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://json-rpc.evm.testnet.shimmer.network"
|
||||
],
|
||||
"shortName": "shimmerevm-testnet",
|
||||
"slug": "shimmerevm-testnet",
|
||||
"testnet": true,
|
||||
"title": "ShimmerEVM Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ETH",
|
||||
"chainId": 11155420,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "opscout",
|
||||
"url": "https://optimism-sepolia.blockscout.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://app.optimism.io/faucet"
|
||||
],
|
||||
"infoURL": "https://optimism.io",
|
||||
"name": "OP Sepolia Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Sepolia Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 11155420,
|
||||
"rpc": [
|
||||
"https://op-sepolia-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://11155420.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://sepolia.optimism.io"
|
||||
],
|
||||
"shortName": "opsep",
|
||||
"slug": "op-sepolia-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,33 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "TILTYARD",
|
||||
"chainId": 1127469,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "TILTYARD Explorer",
|
||||
"url": "http://testnet-explorer.tiltyard.gg",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"name": "Tiltyard Subnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Tiltyard Token",
|
||||
"symbol": "TILTG",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1127469,
|
||||
"rpc": [
|
||||
"https://tiltyard-subnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1127469.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/tiltyard/testnet/rpc"
|
||||
],
|
||||
"shortName": "tiltyard",
|
||||
"slug": "tiltyard-subnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 12035,
|
||||
"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 11272",
|
||||
"nativeCurrency": {
|
||||
"name": "QI M 11272 Token",
|
||||
"symbol": "JZW",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 12035,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qi-m-11272.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://12035.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/b19c9e32-f359-451f-ad15-7ec784625c04"
|
||||
],
|
||||
"shortName": "QI M 11272",
|
||||
"slug": "qi-m-11272",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -6,13 +6,7 @@ export default {
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://wan-red-ain.explorer.mainnet.skalenodes.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmT5KKrpNt6duU8QfwaYw3xf4ifTBPtjahpWsMi3gsFmcS",
|
||||
"width": 440,
|
||||
"height": 600,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
|
||||
@@ -6,22 +6,10 @@ export default {
|
||||
{
|
||||
"name": "etndscan",
|
||||
"url": "https://scan.etnd.pro",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://Qmd26eRJxPb1jJg5Q4mC2M4kD9Jrs5vmcnr5LczHFMGwSD",
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"format": "png"
|
||||
}
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://Qmd26eRJxPb1jJg5Q4mC2M4kD9Jrs5vmcnr5LczHFMGwSD",
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.etnd.pro",
|
||||
"name": "ETND Chain Mainnets",
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Immutable zkEVM",
|
||||
"chainId": 13473,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Immutable Testnet explorer",
|
||||
"url": "https://explorer.testnet.immutable.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw",
|
||||
"width": 1168,
|
||||
"height": 1168,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://docs.immutable.com/docs/zkEVM/guides/faucet"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw",
|
||||
"width": 1168,
|
||||
"height": 1168,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.immutable.com",
|
||||
"name": "Immutable zkEVM Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Test IMX",
|
||||
"symbol": "tIMX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 13473,
|
||||
"rpc": [
|
||||
"https://immutable-zkevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://13473.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.testnet.immutable.com"
|
||||
],
|
||||
"shortName": "imx-testnet",
|
||||
"slug": "immutable-zkevm-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,43 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Immutable zkEVM",
|
||||
"chainId": 15003,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Immutable Devnet explorer",
|
||||
"url": "https://explorer.dev.immutable.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw",
|
||||
"width": 1168,
|
||||
"height": 1168,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://docs.immutable.com/docs/zkEVM/guides/faucet"
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw",
|
||||
"width": 1168,
|
||||
"height": 1168,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.immutable.com",
|
||||
"name": "Immutable zkEVM Devnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Dev IMX",
|
||||
"symbol": "dIMX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 15003,
|
||||
"rpc": [
|
||||
"https://immutable-zkevm-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://15003.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.dev.immutable.com"
|
||||
],
|
||||
"shortName": "imx-devnet",
|
||||
"slug": "immutable-zkevm-devnet",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 17026,
|
||||
"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": "QI1204I3",
|
||||
"nativeCurrency": {
|
||||
"name": "QI1204I3 Token",
|
||||
"symbol": "BHOX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 17026,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qi1204i3.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://17026.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-test.io/e7aeac38-06b2-4aaa-87b4-2c2da10fa43e"
|
||||
],
|
||||
"shortName": "QI1204I3",
|
||||
"slug": "qi1204i3",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -12,7 +12,7 @@ export default {
|
||||
"format": ".png"
|
||||
},
|
||||
"infoURL": "https://tryroll.com/",
|
||||
"name": "Roll Testnet",
|
||||
"name": "Form Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
@@ -20,13 +20,9 @@ export default {
|
||||
},
|
||||
"networkId": 1748,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://roll-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1748.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://roll.calderachain.xyz/http"
|
||||
],
|
||||
"rpc": [],
|
||||
"shortName": "Roll",
|
||||
"slug": "roll-testnet",
|
||||
"slug": "form-testnet",
|
||||
"testnet": true,
|
||||
"title": "Roll Testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -10,12 +10,6 @@ export default {
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmePhfibWz9jnGUqF9Rven4x734br1h3LxrChYTEjbbQvo",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://proofofmemes.org",
|
||||
"name": "Proof Of Memes",
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "MRK",
|
||||
"chainId": 1909,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://merklescan.com",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmZocJpCSLoQqoYFkF1kn7uKDuAiFRNTK8P5PoVeiigDBU",
|
||||
"width": 114,
|
||||
"height": 132,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://merklescan.com",
|
||||
"name": "Merkle Scan",
|
||||
"nativeCurrency": {
|
||||
"name": "Merkle",
|
||||
"symbol": "MRK",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 1909,
|
||||
"rpc": [
|
||||
"https://merkle-scan.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://1909.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://marklechain-rpc.merklescan.com"
|
||||
],
|
||||
"shortName": "MRK",
|
||||
"slug": "merkle-scan",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 19683,
|
||||
"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 12-07 V1",
|
||||
"nativeCurrency": {
|
||||
"name": "ST 12-07 V1 Token",
|
||||
"symbol": "XRL",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 19683,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://st-12-07-v1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://19683.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-test.io/d26b972e-1832-4d3a-bf7b-d0ce1f4331c2"
|
||||
],
|
||||
"shortName": "ST 12-07 V1",
|
||||
"slug": "st-12-07-v1",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "X1",
|
||||
"chainId": 202212,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://explorer.x1-devnet.xen.network",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://docs.xen.network/x1/",
|
||||
"name": "X1 Devnet",
|
||||
"nativeCurrency": {
|
||||
"name": "XN",
|
||||
"symbol": "XN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 202212,
|
||||
"rpc": [
|
||||
"https://x1-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://202212.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://x1-devnet.xen.network"
|
||||
],
|
||||
"shortName": "x1-devnet",
|
||||
"slug": "x1-devnet",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "X1",
|
||||
"chainId": 204005,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://explorer.x1-testnet.xen.network",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://docs.xen.network/go-x1/",
|
||||
"name": "X1 Network",
|
||||
"nativeCurrency": {
|
||||
"name": "XN",
|
||||
"symbol": "XN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 204005,
|
||||
"rpc": [
|
||||
"https://x1-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://204005.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://x1-testnet.xen.network"
|
||||
],
|
||||
"shortName": "x1-testnet",
|
||||
"slug": "x1-network",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,30 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "BSL",
|
||||
"chainId": 21912,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "BSL Mainnet Explorer",
|
||||
"url": "https://scan.nftruth.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://bsquarelab.com/",
|
||||
"name": "BSL Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Origin NFT",
|
||||
"symbol": "ONF",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 21912,
|
||||
"rpc": [
|
||||
"https://bsl.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://21912.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"http://rpc-mainnet.nftruth.io:8545",
|
||||
"ws://rpc-mainnet.nftruth.io:8645"
|
||||
],
|
||||
"shortName": "onf",
|
||||
"slug": "bsl",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,23 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ebro",
|
||||
"chainId": 2306,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"infoURL": "https://www.ebrochain.com",
|
||||
"name": "Ebro Network",
|
||||
"nativeCurrency": {
|
||||
"name": "Ebro",
|
||||
"symbol": "ebro",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 2306,
|
||||
"rpc": [
|
||||
"https://ebro-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2306.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://greendinoswap.com"
|
||||
],
|
||||
"shortName": "ebro",
|
||||
"slug": "ebro-network",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -14,11 +14,6 @@ export default {
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "native",
|
||||
"url": "https://devnet.explorer.neon-labs.org",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "neonscan",
|
||||
"url": "https://devnet.neonscan.org",
|
||||
@@ -35,7 +30,7 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://neon-labs.org",
|
||||
"name": "Neon EVM DevNet",
|
||||
"name": "Neon EVM Devnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Neon",
|
||||
"symbol": "NEON",
|
||||
|
||||
@@ -22,14 +22,18 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://neonevm.org",
|
||||
"name": "Neon EVM MainNet",
|
||||
"name": "Neon EVM Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Neon",
|
||||
"symbol": "NEON",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 245022934,
|
||||
"rpc": [],
|
||||
"rpc": [
|
||||
"https://neon-evm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://245022934.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://neon-proxy-mainnet.solana.p2p.org"
|
||||
],
|
||||
"shortName": "neonevm-mainnet",
|
||||
"slug": "neon-evm",
|
||||
"testnet": false
|
||||
|
||||
@@ -36,5 +36,6 @@ export default {
|
||||
],
|
||||
"shortName": "neonevm-testnet",
|
||||
"slug": "neon-evm-testnet",
|
||||
"status": "deprecated",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -5,7 +5,7 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Cronos Explorer",
|
||||
"url": "https://cronoscan.com",
|
||||
"url": "https://explorer.cronos.org",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "FRAX",
|
||||
"chainId": 252,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmQLJk5G7zF8ZDxSxkRcpHqEqcifrJEhGmEKC6zwyPXWAw/fraxchain.png",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "PNG"
|
||||
},
|
||||
"infoURL": "https://mainnet.frax.com",
|
||||
"name": "Fraxchain Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Frax Ether",
|
||||
"symbol": "frxETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 252,
|
||||
"redFlags": [],
|
||||
"rpc": [],
|
||||
"shortName": "fraxchain",
|
||||
"slug": "fraxchain",
|
||||
"status": "incubating",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,32 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "FRAX",
|
||||
"chainId": 2522,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmQLJk5G7zF8ZDxSxkRcpHqEqcifrJEhGmEKC6zwyPXWAw/fraxchain.png",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "PNG"
|
||||
},
|
||||
"infoURL": "https://testnet.frax.com",
|
||||
"name": "Fraxchain Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Frax Ether",
|
||||
"symbol": "frxETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 2522,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://fraxchain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2522.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.testnet.frax.com"
|
||||
],
|
||||
"shortName": "fraxchain-testnet",
|
||||
"slug": "fraxchain-testnet",
|
||||
"status": "active",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -4,14 +4,14 @@ export default {
|
||||
"chainId": 2710,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Morphism Testnet Explorer",
|
||||
"url": "https://explorer-testnet.morphism.xyz",
|
||||
"name": "Morph Testnet Explorer",
|
||||
"url": "https://explorer-testnet.morphl2.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://morphism.xyz",
|
||||
"name": "Morphism Testnet",
|
||||
"infoURL": "https://morphl2.io",
|
||||
"name": "Morph Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
@@ -23,16 +23,16 @@ export default {
|
||||
"chain": "eip155-1",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://bridge-testnet.morphism.xyz"
|
||||
"url": "https://bridge-testnet.morphl2.io"
|
||||
}
|
||||
]
|
||||
},
|
||||
"rpc": [
|
||||
"https://morphism-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://morph-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://2710.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc-testnet.morphism.xyz"
|
||||
"https://rpc-testnet.morphl2.io"
|
||||
],
|
||||
"shortName": "tmorph",
|
||||
"slug": "morphism-testnet",
|
||||
"slug": "morph-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -15,17 +15,15 @@ export default {
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://goerli.portal.zksync.io/faucet"
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "svg"
|
||||
},
|
||||
"infoURL": "https://era.zksync.io/docs/",
|
||||
"name": "zkSync Era Testnet",
|
||||
"infoURL": "https://zksync.io/",
|
||||
"name": "zkSync Era Goerli Testnet (deprecated)",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
@@ -37,16 +35,17 @@ export default {
|
||||
"chain": "eip155-1",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://goerli.portal.zksync.io/bridge"
|
||||
"url": "https://bridge.zksync.io/"
|
||||
}
|
||||
]
|
||||
},
|
||||
"rpc": [
|
||||
"https://zksync-era-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://zksync-era-goerli-testnet-deprecated.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://280.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet.era.zksync.dev"
|
||||
],
|
||||
"shortName": "zksync-goerli",
|
||||
"slug": "zksync-era-testnet",
|
||||
"slug": "zksync-era-goerli-testnet-deprecated",
|
||||
"status": "deprecated",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -1,20 +1,53 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "OGC",
|
||||
"chain": "ETH",
|
||||
"chainId": 300,
|
||||
"explorers": [],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "zkSync Block Explorer",
|
||||
"url": "https://sepolia.explorer.zksync.io",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "svg"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://docs.gnosischain.com",
|
||||
"name": "(deprecated) Optimism on GC",
|
||||
"icon": {
|
||||
"url": "ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "svg"
|
||||
},
|
||||
"infoURL": "https://zksync.io/",
|
||||
"name": "zkSync Sepolia Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "xDAI",
|
||||
"symbol": "xDAI",
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 300,
|
||||
"rpc": [],
|
||||
"shortName": "ogc",
|
||||
"slug": "deprecated-optimism-on-gc",
|
||||
"status": "deprecated",
|
||||
"testnet": false
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-1",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://bridge.zksync.io/"
|
||||
}
|
||||
]
|
||||
},
|
||||
"redFlags": [
|
||||
"reusedChainId"
|
||||
],
|
||||
"rpc": [
|
||||
"https://zksync-sepolia-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://300.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://sepolia.era.zksync.dev"
|
||||
],
|
||||
"shortName": "zksync-sepolia",
|
||||
"slug": "zksync-sepolia-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
"format": "svg"
|
||||
},
|
||||
"infoURL": "https://zksync.io/",
|
||||
"name": "zkSync Era Mainnet",
|
||||
"name": "zkSync Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
@@ -40,11 +40,11 @@ export default {
|
||||
]
|
||||
},
|
||||
"rpc": [
|
||||
"https://zksync-era.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://zksync.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://324.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.era.zksync.io"
|
||||
],
|
||||
"shortName": "zksync",
|
||||
"slug": "zksync-era",
|
||||
"slug": "zksync",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 35730,
|
||||
"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": "QR1129I1",
|
||||
"nativeCurrency": {
|
||||
"name": "QR1129I1 Token",
|
||||
"symbol": "YXAX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 35730,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qr1129i1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://35730.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/qr1129i1/testnet/rpc"
|
||||
],
|
||||
"shortName": "QR1129I1",
|
||||
"slug": "qr1129i1",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 36908,
|
||||
"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": "QR1205s1",
|
||||
"nativeCurrency": {
|
||||
"name": "QR1205s1 Token",
|
||||
"symbol": "MDN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 36908,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qr1205s1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://36908.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/qr1205s1/testnet/rpc"
|
||||
],
|
||||
"shortName": "QR1205s1",
|
||||
"slug": "qr1205s1",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,24 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Firechain",
|
||||
"chainId": 3885,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"infoURL": "https://docs.thefirechain.com/",
|
||||
"name": "Firechain zkEVM Ghostrider",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 3885,
|
||||
"rpc": [
|
||||
"https://firechain-zkevm-ghostrider.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://3885.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.zkevm.ghostrider.thefirechain.com"
|
||||
],
|
||||
"shortName": "firechain-zkEVM-ghostrider",
|
||||
"slug": "firechain-zkevm-ghostrider",
|
||||
"testnet": false,
|
||||
"title": "Firechain zkEVM Ghostrider"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "X1",
|
||||
"chainId": 4003,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://explorer.x1-fastnet.xen.network",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://docs.xen.network/go-x1/",
|
||||
"name": "X1 Fastnet",
|
||||
"nativeCurrency": {
|
||||
"name": "XN",
|
||||
"symbol": "XN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 4003,
|
||||
"rpc": [
|
||||
"https://x1-fastnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://4003.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://x1-fastnet.xen.network"
|
||||
],
|
||||
"shortName": "x1-fastnet",
|
||||
"slug": "x1-fastnet",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "XFI",
|
||||
"chainId": 4157,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Scan Testnet",
|
||||
"url": "https://scan.testnet.ms/",
|
||||
"standard": "EIP1559"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"name": "CrossFi Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "XFI",
|
||||
"symbol": "XFI",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 4157,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://crossfi-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://4157.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.testnet.ms/"
|
||||
],
|
||||
"shortName": "XFI",
|
||||
"slug": "crossfi-testnet",
|
||||
"testnet": true,
|
||||
"title": "https://scan.testnet.ms/"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "ETH",
|
||||
"chainId": 43851,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "ZKFair Testnet Info",
|
||||
"url": "https://testnet-scan.zkfair.io",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw",
|
||||
"width": 400,
|
||||
"height": 400,
|
||||
"format": "jpg"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw",
|
||||
"width": 400,
|
||||
"height": 400,
|
||||
"format": "jpg"
|
||||
},
|
||||
"infoURL": "https://zkfair.io",
|
||||
"name": "ZKFair Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "USDC Token",
|
||||
"symbol": "USDC",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 43851,
|
||||
"rpc": [
|
||||
"https://zkfair-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://43851.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-rpc.zkfair.io"
|
||||
],
|
||||
"shortName": "ZKFair-Testnet",
|
||||
"slug": "zkfair-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Areon",
|
||||
"chainId": 463,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "AreonScan",
|
||||
"url": "https://areonscan.com",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreihs2nrnizpcuzjmuu2yi7wrtwd7qlqje46qnil5bnntfbfkb2roea",
|
||||
"width": 1000,
|
||||
"height": 1000,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://areon.network",
|
||||
"name": "Areon Network Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Areon",
|
||||
"symbol": "AREA",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 463,
|
||||
"rpc": [
|
||||
"https://areon-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://463.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.areon.network"
|
||||
],
|
||||
"shortName": "area",
|
||||
"slug": "areon-network",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -5,7 +5,7 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Scroll Sepolia Etherscan",
|
||||
"url": "https://sepolia.scrollscan.dev",
|
||||
"url": "https://sepolia.scrollscan.com",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
@@ -28,7 +28,7 @@ export default {
|
||||
"chain": "eip155-11155111",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://scroll.io/bridge"
|
||||
"url": "https://sepolia.scroll.io/bridge"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 56914,
|
||||
"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": "KK1223",
|
||||
"nativeCurrency": {
|
||||
"name": "KK1223 Token",
|
||||
"symbol": "KLK",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 56914,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://kk1223.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://56914.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/bf540c23-4601-4768-9e26-f2e5f0f89c18"
|
||||
],
|
||||
"shortName": "KK1223",
|
||||
"slug": "kk1223",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,41 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "GCODE",
|
||||
"chainId": 59971,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Genesys Scan",
|
||||
"url": "https://genesysscan.io",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreihgmpaceze7rxpajv7yrlx3cb6daqubippkpvgryzairtaubsjjoe",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreihgmpaceze7rxpajv7yrlx3cb6daqubippkpvgryzairtaubsjjoe",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://genesyscode.io",
|
||||
"name": "Genesys Code Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "GenesysCode",
|
||||
"symbol": "GCODE",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 59971,
|
||||
"rpc": [
|
||||
"https://genesys-code.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://59971.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.genesyscode.io/"
|
||||
],
|
||||
"shortName": "gcode",
|
||||
"slug": "genesys-code",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "RTH",
|
||||
"chain": "HYP",
|
||||
"chainId": 622277,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "rethereum",
|
||||
"url": "https://explorer.rethereum.org",
|
||||
"name": "hypra",
|
||||
"url": "https://explorer.hypra.network",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
@@ -30,22 +30,23 @@ export default {
|
||||
"height": 830,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://www.rethereum.org",
|
||||
"name": "Rethereum Mainnet",
|
||||
"infoURL": "https://www.hypra.network",
|
||||
"name": "Hypra Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Rethereum",
|
||||
"symbol": "RTH",
|
||||
"name": "Hypra",
|
||||
"symbol": "HYP",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 622277,
|
||||
"rpc": [
|
||||
"https://rethereum.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://hypra.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://622277.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.hypra.network",
|
||||
"https://rpc.rethereum.org",
|
||||
"https://rethereum.rpc.restratagem.com",
|
||||
"https://rpc.rthcentral.org"
|
||||
],
|
||||
"shortName": "rth",
|
||||
"slug": "rethereum",
|
||||
"shortName": "hyp",
|
||||
"slug": "hypra",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "AUT",
|
||||
"chainId": 65010000,
|
||||
"chainId": 65010001,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "autonity-blockscout",
|
||||
@@ -19,20 +19,20 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://autonity.org/",
|
||||
"name": "Autonity Bakerloo (Thames) Testnet",
|
||||
"name": "Autonity Bakerloo (Barada) Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Bakerloo Auton",
|
||||
"symbol": "ATN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 65010000,
|
||||
"networkId": 65010001,
|
||||
"rpc": [
|
||||
"https://autonity-bakerloo-thames-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://65010000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://autonity-bakerloo-barada-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://65010001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc1.bakerloo.autonity.org/",
|
||||
"wss://rpc1.bakerloo.autonity.org/ws/"
|
||||
],
|
||||
"shortName": "bakerloo-0",
|
||||
"slug": "autonity-bakerloo-thames-testnet",
|
||||
"shortName": "bakerloo-01",
|
||||
"slug": "autonity-bakerloo-barada-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,29 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Kalichain",
|
||||
"chainId": 653,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "kalichain explorer",
|
||||
"url": "https://explorer.kalichain.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://kalichain.com",
|
||||
"name": "Kalichain Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "kalis",
|
||||
"symbol": "KALIS",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 653,
|
||||
"rpc": [
|
||||
"https://kalichain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://653.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.kalichain.com"
|
||||
],
|
||||
"shortName": "kalichain",
|
||||
"slug": "kalichain",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,27 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "OCASH",
|
||||
"chainId": 660868,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"features": [],
|
||||
"icon": {
|
||||
"url": "https://ipfs.io/ipfs/QmbwuoezvkfZBY9nrZ65n3iHGyhJG6yDRyhPjqE6k3uCiM",
|
||||
"width": 350,
|
||||
"height": 350,
|
||||
"format": "PNG"
|
||||
},
|
||||
"infoURL": "https://www.overline.network",
|
||||
"name": "Ocash testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "OCASH",
|
||||
"symbol": "OCASH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 660868,
|
||||
"redFlags": [],
|
||||
"rpc": [],
|
||||
"shortName": "ocash",
|
||||
"slug": "ocash-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 69740,
|
||||
"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": "Will's Testnet",
|
||||
"nativeCurrency": {
|
||||
"name": "Will's Testnet Token",
|
||||
"symbol": "WLDVNT",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 69740,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://will-s-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://69740.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
|
||||
],
|
||||
"shortName": "Will's Testnet",
|
||||
"slug": "will-s-testnet",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 70466,
|
||||
"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": "Cohan test3",
|
||||
"nativeCurrency": {
|
||||
"name": "Cohan test3 Token",
|
||||
"symbol": "HYN",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 70466,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://cohan-test3.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://70466.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/f44b72ee-0574-44d2-a10b-363a74964145"
|
||||
],
|
||||
"shortName": "Cohan test3",
|
||||
"slug": "cohan-test3",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,24 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "BLU",
|
||||
"chainId": 727,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"infoURL": "https://www.blucrates.com",
|
||||
"name": "Blucrates",
|
||||
"nativeCurrency": {
|
||||
"name": "Blucrates",
|
||||
"symbol": "BLU",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 727,
|
||||
"rpc": [
|
||||
"https://blucrates.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://727.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://data.bluchain.pro"
|
||||
],
|
||||
"shortName": "blu",
|
||||
"slip44": 727,
|
||||
"slug": "blucrates",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 80182,
|
||||
"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 12051",
|
||||
"nativeCurrency": {
|
||||
"name": "QI M 12051 Token",
|
||||
"symbol": "VTV",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 80182,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://qi-m-12051.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://80182.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avacloud-dev.io/b19c9e32-f359-451f-ad15-7ec784625c04"
|
||||
],
|
||||
"shortName": "QI M 12051",
|
||||
"slug": "qi-m-12051",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,29 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Nordek",
|
||||
"chainId": 81041,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "nordek",
|
||||
"url": "https://nordekscan.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://nordekscan.com",
|
||||
"name": "Nordek Mainnet",
|
||||
"nativeCurrency": {
|
||||
"name": "NRK",
|
||||
"symbol": "NRK",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 81041,
|
||||
"rpc": [
|
||||
"https://nordek.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://81041.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.nordekscan.com"
|
||||
],
|
||||
"shortName": "nordek",
|
||||
"slug": "nordek",
|
||||
"testnet": false
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,39 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Firechain",
|
||||
"chainId": 814,
|
||||
"explorers": [],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmYjuztyURb3Fc6ZTLgCbwQa64CcVoigF5j9cafzuSbqgf",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://docs.thefirechain.com/",
|
||||
"name": "Firechain zkEVM",
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 814,
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-1",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://zkevm.bridge.rpc.thefirechain.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
"rpc": [
|
||||
"https://firechain-zkevm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://814.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.zkevm.thefirechain.com"
|
||||
],
|
||||
"shortName": "firechan-zkEVM",
|
||||
"slug": "firechain-zkevm",
|
||||
"testnet": false,
|
||||
"title": "Firechain zkEVM"
|
||||
} as const satisfies Chain;
|
||||
@@ -5,7 +5,7 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://testnet.torusscan.com",
|
||||
"url": "https://testnet.toruscan.com",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Avalanche",
|
||||
"chainId": 88883,
|
||||
"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": "Proj Orc Testnet Alpha",
|
||||
"nativeCurrency": {
|
||||
"name": "Proj Orc Testnet Alpha Token",
|
||||
"symbol": "STX",
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 88883,
|
||||
"redFlags": [],
|
||||
"rpc": [
|
||||
"https://proj-orc-testnet-alpha.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://88883.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/projorctes/testnet/rpc"
|
||||
],
|
||||
"shortName": "Proj Orc Testnet Alpha",
|
||||
"slug": "proj-orc-testnet-alpha",
|
||||
"testnet": true
|
||||
} as const satisfies Chain;
|
||||
@@ -29,7 +29,8 @@ export default {
|
||||
"rpc": [
|
||||
"https://jibchain-l1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://8899.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc-l1.jibchain.net"
|
||||
"https://rpc-l1.jibchain.net",
|
||||
"https://jib-rpc.inan.in.th"
|
||||
],
|
||||
"shortName": "jbc",
|
||||
"slug": "jibchain-l1",
|
||||
|
||||
@@ -2,12 +2,24 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Oort Mainnet",
|
||||
"chainId": 970,
|
||||
"explorers": [],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Oort Mainnet Explorer",
|
||||
"url": "https://mainnet-scan.oortech.com",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmZ1jbxFZcuotj3eZ6iKFrg9ZXnaV8AK6sGRa7ELrceWyD",
|
||||
"width": 1043,
|
||||
"height": 1079,
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://oortech.com",
|
||||
@@ -21,7 +33,7 @@ export default {
|
||||
"rpc": [
|
||||
"https://oort.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://970.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.oortech.com"
|
||||
"https://mainnet-rpc.oortech.com"
|
||||
],
|
||||
"shortName": "ccn",
|
||||
"slug": "oort",
|
||||
|
||||
@@ -2,12 +2,24 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "MainnetDev",
|
||||
"chainId": 9700,
|
||||
"explorers": [],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Oort MainnetDev Scan",
|
||||
"url": "https://dev-scan.oortech.com",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmZ1jbxFZcuotj3eZ6iKFrg9ZXnaV8AK6sGRa7ELrceWyD",
|
||||
"width": 1043,
|
||||
"height": 1079,
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://oortech.com",
|
||||
@@ -18,7 +30,11 @@ export default {
|
||||
"decimals": 18
|
||||
},
|
||||
"networkId": 9700,
|
||||
"rpc": [],
|
||||
"rpc": [
|
||||
"https://oort-dev.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://9700.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://dev-rpc.oortech.com"
|
||||
],
|
||||
"shortName": "MainnetDev",
|
||||
"slug": "oort-dev",
|
||||
"testnet": false,
|
||||
|
||||
@@ -2,12 +2,24 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"chain": "Ascraeus",
|
||||
"chainId": 972,
|
||||
"explorers": [],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Oort Ascraeus Explorer",
|
||||
"url": "https://ascraeus-scan.oortech.com",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"icon": {
|
||||
"url": "ipfs://QmZ1jbxFZcuotj3eZ6iKFrg9ZXnaV8AK6sGRa7ELrceWyD",
|
||||
"width": 1043,
|
||||
"height": 1079,
|
||||
"url": "ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy",
|
||||
"width": 1440,
|
||||
"height": 1440,
|
||||
"format": "png"
|
||||
},
|
||||
"infoURL": "https://oortech.com",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/chains",
|
||||
"version": "0.1.60",
|
||||
"version": "0.1.61",
|
||||
"main": "dist/thirdweb-dev-chains.cjs.js",
|
||||
"module": "dist/thirdweb-dev-chains.esm.js",
|
||||
"exports": {
|
||||
|
||||
+152
-20
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# thirdweb
|
||||
|
||||
## 0.13.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
- @thirdweb-dev/auth@4.1.16
|
||||
|
||||
## 0.13.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf), [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
- @thirdweb-dev/sdk@4.0.20
|
||||
- @thirdweb-dev/wallets@2.2.0
|
||||
- @thirdweb-dev/auth@4.1.15
|
||||
|
||||
## 0.13.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "thirdweb",
|
||||
"main": "dist/cli/index.js",
|
||||
"version": "0.13.22",
|
||||
"version": "0.13.24",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @thirdweb-dev/react-core
|
||||
|
||||
## 4.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
- @thirdweb-dev/auth@4.1.16
|
||||
|
||||
## 4.1.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf), [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
- @thirdweb-dev/sdk@4.0.20
|
||||
- @thirdweb-dev/wallets@2.2.0
|
||||
- @thirdweb-dev/auth@4.1.15
|
||||
|
||||
## 4.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-core",
|
||||
"version": "4.1.12",
|
||||
"version": "4.1.14",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-core",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# @thirdweb-dev/react-native-compat
|
||||
|
||||
## 0.4.14
|
||||
|
||||
## 0.4.13
|
||||
|
||||
## 0.4.12
|
||||
|
||||
## 0.4.11
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-native-compat",
|
||||
"description": "Shims for Thirdweb in React Native Projects",
|
||||
"version": "0.4.12",
|
||||
"version": "0.4.14",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native-compat",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @thirdweb-dev/react-native
|
||||
|
||||
## 0.4.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
- @thirdweb-dev/react-core@4.1.14
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
|
||||
## 0.4.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf), [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
- @thirdweb-dev/sdk@4.0.20
|
||||
- @thirdweb-dev/wallets@2.2.0
|
||||
- @thirdweb-dev/react-core@4.1.13
|
||||
|
||||
## 0.4.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-native",
|
||||
"version": "0.4.12",
|
||||
"version": "0.4.14",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,5 +1,82 @@
|
||||
# @thirdweb-dev/react
|
||||
|
||||
## 4.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
- @thirdweb-dev/react-core@4.1.14
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
|
||||
## 4.1.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2029](https://github.com/thirdweb-dev/js/pull/2029) [`b50e4a41`](https://github.com/thirdweb-dev/js/commit/b50e4a41b560eb647fec1224d6b6782be7132034) Thanks [@MananTank](https://github.com/MananTank)! - Connect to MetaMask on mobile device using WalletConnect instead of opening the web app in MetaMask browser by default
|
||||
|
||||
This behavior can be changed by setting `connectionMethod` option to `metamaskWallet`
|
||||
|
||||
```tsx
|
||||
<ThirdwebProvider
|
||||
supportedWallets={[
|
||||
metamaskWallet({
|
||||
connectionMethod: "walletConnect", // default
|
||||
}),
|
||||
]}
|
||||
>
|
||||
<App />
|
||||
</ThirdwebProvider>
|
||||
```
|
||||
|
||||
this is same as not setting `connectionMethod` option:
|
||||
|
||||
```tsx
|
||||
<ThirdwebProvider supportedWallets={[metamaskWallet()]}>
|
||||
<App />
|
||||
</ThirdwebProvider>
|
||||
```
|
||||
|
||||
If you want to revert to old behavior of opening the web app in Metamask browser, set `connectionMethod` to `metamaskBrowser`
|
||||
|
||||
```tsx
|
||||
<ThirdwebProvider
|
||||
supportedWallets={[
|
||||
metamaskWallet({
|
||||
connectionMethod: "metamaskBrowser",
|
||||
}),
|
||||
]}
|
||||
>
|
||||
<App />
|
||||
</ThirdwebProvider>
|
||||
```
|
||||
|
||||
- [#2063](https://github.com/thirdweb-dev/js/pull/2063) [`c8ba5cf8`](https://github.com/thirdweb-dev/js/commit/c8ba5cf863b7b2a92e0cb2c50776511782d4e2b6) Thanks [@MananTank](https://github.com/MananTank)! - - Add option to only show the Official WalletConnect Modal for `walletConnect` in ConnectWallet Modal
|
||||
|
||||
```ts
|
||||
walletConnect({
|
||||
qrModal: "walletConnect", // hide the ConnectWallet Modal and only show the WalletConnect Modal
|
||||
});
|
||||
```
|
||||
|
||||
If no, `qrModal` is set, it defaults to `"custom"` as shown below:
|
||||
|
||||
```ts
|
||||
walletConnect({
|
||||
qrModal: "custom", // render QR code in ConnectWallet Modal
|
||||
});
|
||||
```
|
||||
|
||||
- Stop Focus trapping the ConnectWallet Modal when it is rendered but hidden
|
||||
|
||||
- [#2058](https://github.com/thirdweb-dev/js/pull/2058) [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d) Thanks [@MananTank](https://github.com/MananTank)! - Add option to open the official wallet connect modal in ConnectWallet
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf), [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 4.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react",
|
||||
"version": "4.1.12",
|
||||
"version": "4.1.14",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -104,16 +104,17 @@
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"stream": "npm:stream-browserify@^3.0.0",
|
||||
"typescript": "^5.1.6",
|
||||
"typedoc-gen": "workspace:*"
|
||||
"typedoc-gen": "workspace:*",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.11.1",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@google/model-viewer": "^2.1.1",
|
||||
"@radix-ui/colors": "^0.1.9",
|
||||
"@radix-ui/react-dialog": "^1.0.4",
|
||||
"@radix-ui/react-dialog": "^1.0.5",
|
||||
"@radix-ui/react-dropdown-menu": "^2.0.5",
|
||||
"@radix-ui/react-focus-scope": "^1.0.4",
|
||||
"@radix-ui/react-icons": "^1.3.0",
|
||||
"@radix-ui/react-popover": "^1.0.6",
|
||||
"@radix-ui/react-tabs": "^1.0.4",
|
||||
|
||||
@@ -16,6 +16,7 @@ import { DynamicHeight } from "./DynamicHeight";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import { useCustomTheme } from "../design-system/CustomThemeProvider";
|
||||
import { StyledDiv } from "../design-system/elements";
|
||||
import { FocusScope } from "@radix-ui/react-focus-scope";
|
||||
|
||||
export const Modal: React.FC<{
|
||||
trigger?: React.ReactNode;
|
||||
@@ -74,48 +75,50 @@ export const Modal: React.FC<{
|
||||
</Dialog.Overlay>
|
||||
)}
|
||||
|
||||
<Dialog.Content asChild>
|
||||
<DialogContent
|
||||
ref={contentRef}
|
||||
style={
|
||||
props.hide
|
||||
? { width: 0, height: 0, overflow: "hidden", opacity: 0 }
|
||||
: {
|
||||
height:
|
||||
props.size === "compact" ? "auto" : wideModalMaxHeight,
|
||||
maxWidth:
|
||||
props.size === "compact"
|
||||
? modalMaxWidthCompact
|
||||
: modalMaxWidthWide,
|
||||
}
|
||||
}
|
||||
>
|
||||
{props.size === "compact" ? (
|
||||
<DynamicHeight maxHeight={compactModalMaxHeight}>
|
||||
{props.children}{" "}
|
||||
</DynamicHeight>
|
||||
) : (
|
||||
props.children
|
||||
)}
|
||||
<FocusScope trapped={!props.hide}>
|
||||
<Dialog.Content asChild>
|
||||
<DialogContent
|
||||
ref={contentRef}
|
||||
style={
|
||||
props.hide
|
||||
? { width: 0, height: 0, overflow: "hidden", opacity: 0 }
|
||||
: {
|
||||
height:
|
||||
props.size === "compact" ? "auto" : wideModalMaxHeight,
|
||||
maxWidth:
|
||||
props.size === "compact"
|
||||
? modalMaxWidthCompact
|
||||
: modalMaxWidthWide,
|
||||
}
|
||||
}
|
||||
>
|
||||
{props.size === "compact" ? (
|
||||
<DynamicHeight maxHeight={compactModalMaxHeight}>
|
||||
{props.children}{" "}
|
||||
</DynamicHeight>
|
||||
) : (
|
||||
props.children
|
||||
)}
|
||||
|
||||
{/* Close Icon */}
|
||||
{!props.hideCloseIcon && (
|
||||
<CrossContainer>
|
||||
<Dialog.Close asChild>
|
||||
<IconButton type="button" aria-label="Close">
|
||||
<Cross2Icon
|
||||
width={iconSize.md}
|
||||
height={iconSize.md}
|
||||
style={{
|
||||
color: "inherit",
|
||||
}}
|
||||
/>
|
||||
</IconButton>
|
||||
</Dialog.Close>
|
||||
</CrossContainer>
|
||||
)}
|
||||
</DialogContent>
|
||||
</Dialog.Content>
|
||||
{/* Close Icon */}
|
||||
{!props.hideCloseIcon && (
|
||||
<CrossContainer>
|
||||
<Dialog.Close asChild>
|
||||
<IconButton type="button" aria-label="Close">
|
||||
<Cross2Icon
|
||||
width={iconSize.md}
|
||||
height={iconSize.md}
|
||||
style={{
|
||||
color: "inherit",
|
||||
}}
|
||||
/>
|
||||
</IconButton>
|
||||
</Dialog.Close>
|
||||
</CrossContainer>
|
||||
)}
|
||||
</DialogContent>
|
||||
</Dialog.Content>
|
||||
</FocusScope>
|
||||
</Dialog.Portal>
|
||||
</Dialog.Root>
|
||||
);
|
||||
|
||||
@@ -71,7 +71,9 @@ export const ConnectModalContent = (props: {
|
||||
? false
|
||||
: !!authConfig?.authUrl && !user?.address;
|
||||
|
||||
setHideModal(false);
|
||||
onModalUnmount(() => {
|
||||
setHideModal(false);
|
||||
});
|
||||
|
||||
// show sign in screen if required
|
||||
if (requiresSignIn) {
|
||||
@@ -242,7 +244,9 @@ export const ConnectModal = () => {
|
||||
|
||||
useEffect(() => {
|
||||
if (!isWalletModalOpen) {
|
||||
setHideModal(false);
|
||||
onModalUnmount(() => {
|
||||
setHideModal(false);
|
||||
});
|
||||
}
|
||||
}, [isWalletModalOpen, setIsWalletModalOpen, screen]);
|
||||
|
||||
@@ -268,6 +272,10 @@ export const ConnectModal = () => {
|
||||
size={modalSize}
|
||||
open={isWalletModalOpen}
|
||||
setOpen={(value) => {
|
||||
if (hideModal) {
|
||||
return;
|
||||
}
|
||||
|
||||
setIsWalletModalOpen(value);
|
||||
if (!value) {
|
||||
const requiresSignIn = auth?.loginOptional
|
||||
|
||||
@@ -29,10 +29,11 @@ export const HeadlessConnectUI = ({
|
||||
} catch (e) {
|
||||
if (!singleWallet) {
|
||||
goBack();
|
||||
show();
|
||||
}
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
show();
|
||||
})();
|
||||
}, [walletConfig, connect, singleWallet, connected, hide, show, goBack]);
|
||||
|
||||
|
||||
@@ -7,16 +7,30 @@ import { GetStartedScreen } from "../../ConnectWallet/screens/GetStartedScreen";
|
||||
import { MetaMaskWallet } from "@thirdweb-dev/wallets";
|
||||
import { wait } from "../../../utils/wait";
|
||||
import { useTWLocale } from "../../../evm/providers/locale-provider";
|
||||
import { metamaskUris } from "./metamaskUris";
|
||||
import { WCOpenURI } from "../../ConnectWallet/screens/WCOpenUri";
|
||||
|
||||
export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
export const MetamaskConnectUI = (
|
||||
props: ConnectUIProps<MetaMaskWallet> & {
|
||||
connectionMethod: "walletConnect" | "metamaskBrowser";
|
||||
},
|
||||
) => {
|
||||
const [screen, setScreen] = useState<
|
||||
"connecting" | "scanning" | "get-started"
|
||||
"connecting" | "scanning" | "get-started" | "open-wc-uri"
|
||||
>("connecting");
|
||||
const locale = useTWLocale().wallets.metamaskWallet;
|
||||
const { walletConfig, connected } = props;
|
||||
const connect = useConnect();
|
||||
const [errorConnecting, setErrorConnecting] = useState(false);
|
||||
|
||||
const connectingLocale = {
|
||||
getStartedLink: locale.getStartedLink,
|
||||
instruction: locale.connectionScreen.instruction,
|
||||
tryAgain: locale.connectionScreen.retry,
|
||||
inProgress: locale.connectionScreen.inProgress,
|
||||
failed: locale.connectionScreen.failed,
|
||||
};
|
||||
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
const connectToExtension = useCallback(async () => {
|
||||
@@ -53,27 +67,25 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
else {
|
||||
// on mobile, open metamask app link
|
||||
if (isMobile()) {
|
||||
window.open(
|
||||
`https://metamask.app.link/dapp/${window.location.toString()}`,
|
||||
);
|
||||
if (props.connectionMethod === "walletConnect") {
|
||||
setScreen("open-wc-uri");
|
||||
} else {
|
||||
window.open(
|
||||
`https://metamask.app.link/dapp/${window.location.toString()}`,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
// on desktop, show the metamask scan qr code
|
||||
setScreen("scanning");
|
||||
}
|
||||
}
|
||||
})();
|
||||
}, [connectToExtension, walletConfig]);
|
||||
}, [connectToExtension, props.connectionMethod, walletConfig]);
|
||||
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
locale={{
|
||||
getStartedLink: locale.getStartedLink,
|
||||
instruction: locale.connectionScreen.instruction,
|
||||
tryAgain: locale.connectionScreen.retry,
|
||||
inProgress: locale.connectionScreen.inProgress,
|
||||
failed: locale.connectionScreen.failed,
|
||||
}}
|
||||
locale={connectingLocale}
|
||||
errorConnecting={errorConnecting}
|
||||
onGetStarted={() => {
|
||||
setScreen("get-started");
|
||||
@@ -103,6 +115,26 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
);
|
||||
}
|
||||
|
||||
if (screen === "open-wc-uri") {
|
||||
return (
|
||||
<WCOpenURI
|
||||
locale={connectingLocale}
|
||||
onRetry={() => {
|
||||
// NOOP - TODO make onRetry optional
|
||||
}}
|
||||
errorConnecting={errorConnecting}
|
||||
onGetStarted={() => {
|
||||
setScreen("get-started");
|
||||
}}
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
onConnected={connected}
|
||||
walletConfig={walletConfig}
|
||||
appUriPrefix={metamaskUris}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
if (screen === "scanning") {
|
||||
return (
|
||||
<MetamaskScan
|
||||
|
||||
@@ -4,6 +4,8 @@ import {
|
||||
getInjectedMetamaskProvider,
|
||||
} from "@thirdweb-dev/wallets";
|
||||
import { MetamaskConnectUI } from "./MetamaskConnectUI";
|
||||
import { metamaskUris } from "./metamaskUris";
|
||||
import { handelWCSessionRequest } from "../handleWCSessionRequest";
|
||||
|
||||
export type MetamaskWalletConfigOptions = {
|
||||
/**
|
||||
@@ -18,6 +20,16 @@ export type MetamaskWalletConfigOptions = {
|
||||
* If true, the wallet will be tagged as "reccomended" in ConnectWallet Modal
|
||||
*/
|
||||
recommended?: boolean;
|
||||
|
||||
/**
|
||||
* Specify how the connection to metamask app should be established if the user is on a mobile device.
|
||||
* There are two options: "walletconnect" and "browser".
|
||||
* 1. "walletconnect" - User will be redirected to MetaMask app and upon successful connection, user can return back to the web page.
|
||||
* 2. "browser" - User will be redirected to MetaMask app and the web page will be opened in MetaMask browser.
|
||||
*
|
||||
* @defaultValue "walletconnect"
|
||||
*/
|
||||
connectionMethod?: "walletConnect" | "metamaskBrowser";
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -61,6 +73,8 @@ export type MetamaskWalletConfigOptions = {
|
||||
export const metamaskWallet = (
|
||||
options?: MetamaskWalletConfigOptions,
|
||||
): WalletConfig<MetaMaskWallet> => {
|
||||
const connectionMethod = options?.connectionMethod || "walletConnect";
|
||||
|
||||
return {
|
||||
id: MetaMaskWallet.id,
|
||||
recommended: options?.recommended,
|
||||
@@ -76,9 +90,17 @@ export const metamaskWallet = (
|
||||
qrcode: false,
|
||||
});
|
||||
|
||||
if (connectionMethod === "walletConnect") {
|
||||
handelWCSessionRequest(wallet, metamaskUris);
|
||||
}
|
||||
|
||||
return wallet;
|
||||
},
|
||||
connectUI: MetamaskConnectUI,
|
||||
connectUI(props) {
|
||||
return (
|
||||
<MetamaskConnectUI {...props} connectionMethod={connectionMethod} />
|
||||
);
|
||||
},
|
||||
isInstalled() {
|
||||
return !!getInjectedMetamaskProvider();
|
||||
},
|
||||
|
||||
@@ -4,14 +4,17 @@ import {
|
||||
} from "@thirdweb-dev/react-core";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import type { WalletConnect } from "@thirdweb-dev/wallets";
|
||||
import type { WalletConfig } from "@thirdweb-dev/react-core";
|
||||
import type { ConnectUIProps, WalletConfig } from "@thirdweb-dev/react-core";
|
||||
import { QRCode } from "../../../components/QRCode";
|
||||
import { Img } from "../../../components/Img";
|
||||
import { Spacer } from "../../../components/Spacer";
|
||||
import { ModalHeader, Container } from "../../../components/basic";
|
||||
import { ModalHeader, Container, Line } from "../../../components/basic";
|
||||
import { iconSize } from "../../../design-system";
|
||||
import { Text } from "../../../components/text";
|
||||
import { useTWLocale } from "../../../evm/providers/locale-provider";
|
||||
import { Button } from "../../../components/buttons";
|
||||
import { Spinner } from "../../../components/Spinner";
|
||||
import { wait } from "../../../utils/wait";
|
||||
|
||||
export const WalletConnectScan: React.FC<{
|
||||
onBack: () => void;
|
||||
@@ -19,41 +22,40 @@ export const WalletConnectScan: React.FC<{
|
||||
walletConfig: WalletConfig<WalletConnect>;
|
||||
hideBackButton: boolean;
|
||||
modalSize: "wide" | "compact";
|
||||
}> = ({ onBack, onConnected, walletConfig }) => {
|
||||
hide: ConnectUIProps["hide"];
|
||||
show: ConnectUIProps["show"];
|
||||
}> = ({ onBack, onConnected, walletConfig, hide, show }) => {
|
||||
const locale = useTWLocale().wallets.walletConnect;
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>();
|
||||
const { setConnectedWallet, chainToConnect, setConnectionStatus } =
|
||||
useWalletContext();
|
||||
const [isWCModalOpen, setIsWCModalOpen] = useState(false);
|
||||
|
||||
const scanStarted = useRef(false);
|
||||
useEffect(() => {
|
||||
if (scanStarted.current) {
|
||||
return;
|
||||
}
|
||||
scanStarted.current = true;
|
||||
|
||||
const handleWCModalConnect = async () => {
|
||||
const walletInstance = createInstance(walletConfig);
|
||||
|
||||
setConnectionStatus("connecting");
|
||||
walletInstance.connectWithQrCode({
|
||||
chainId: chainToConnect?.chainId,
|
||||
onQrCodeUri(uri) {
|
||||
setQrCodeUri(uri);
|
||||
},
|
||||
onConnected() {
|
||||
setConnectedWallet(walletInstance);
|
||||
onConnected();
|
||||
},
|
||||
});
|
||||
}, [
|
||||
createInstance,
|
||||
setConnectedWallet,
|
||||
chainToConnect,
|
||||
onConnected,
|
||||
walletConfig,
|
||||
setConnectionStatus,
|
||||
]);
|
||||
|
||||
try {
|
||||
setQrCodeUri(undefined);
|
||||
setIsWCModalOpen(true);
|
||||
wait(1000).then(() => {
|
||||
hide();
|
||||
});
|
||||
|
||||
await walletInstance.connectWithModal({
|
||||
chainId: chainToConnect?.chainId,
|
||||
});
|
||||
|
||||
setConnectedWallet(walletInstance);
|
||||
onConnected();
|
||||
show();
|
||||
} catch {
|
||||
show();
|
||||
setIsWCModalOpen(false);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Container fullHeight animate="fadein" flex="column">
|
||||
@@ -64,20 +66,30 @@ export const WalletConnectScan: React.FC<{
|
||||
<Spacer y="sm" />
|
||||
|
||||
<Container flex="column" center={"both"} px="lg" expand>
|
||||
<QRCode
|
||||
qrCodeUri={qrCodeUri}
|
||||
QRIcon={
|
||||
<Img
|
||||
width={iconSize.xxl}
|
||||
height={iconSize.xxl}
|
||||
src={walletConfig.meta.iconURL}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
{isWCModalOpen ? (
|
||||
<Container
|
||||
style={{
|
||||
minHeight: "300px",
|
||||
}}
|
||||
flex="column"
|
||||
center="both"
|
||||
>
|
||||
<Spinner size="xl" color="accentText" />
|
||||
</Container>
|
||||
) : (
|
||||
<WalletConnectQRScanConnect
|
||||
createInstance={createInstance}
|
||||
onConnected={onConnected}
|
||||
qrCodeUri={qrCodeUri}
|
||||
setConnectedWallet={setConnectedWallet}
|
||||
setConnectionStatus={setConnectionStatus}
|
||||
setQrCodeUri={setQrCodeUri}
|
||||
walletConfig={walletConfig}
|
||||
chainIdToConnect={chainToConnect?.chainId}
|
||||
/>
|
||||
)}
|
||||
</Container>
|
||||
|
||||
<Spacer y="lg" />
|
||||
|
||||
{/* <Spacer y="xl" /> */}
|
||||
|
||||
{/* <Spacer y="lg" />
|
||||
@@ -95,10 +107,84 @@ export const WalletConnectScan: React.FC<{
|
||||
{locale.scanInstruction}
|
||||
</Text>
|
||||
</Container>
|
||||
|
||||
<Line />
|
||||
<Container py="lg" flex="row" center="x">
|
||||
<Button variant="link" onClick={handleWCModalConnect}>
|
||||
{"Open Official WalletConnect Modal"}
|
||||
</Button>
|
||||
</Container>
|
||||
</Container>
|
||||
);
|
||||
};
|
||||
|
||||
function WalletConnectQRScanConnect(props: {
|
||||
qrCodeUri: string | undefined;
|
||||
setQrCodeUri: (uri: string) => void;
|
||||
walletConfig: WalletConfig<WalletConnect>;
|
||||
onConnected: () => void;
|
||||
setConnectedWallet: (wallet: WalletConnect) => void;
|
||||
createInstance: (walletConfig: WalletConfig<WalletConnect>) => WalletConnect;
|
||||
setConnectionStatus: (
|
||||
status: "disconnected" | "connecting" | "connected",
|
||||
) => void;
|
||||
chainIdToConnect?: number;
|
||||
}) {
|
||||
const {
|
||||
qrCodeUri,
|
||||
walletConfig,
|
||||
onConnected,
|
||||
setConnectedWallet,
|
||||
createInstance,
|
||||
setQrCodeUri,
|
||||
chainIdToConnect,
|
||||
setConnectionStatus,
|
||||
} = props;
|
||||
|
||||
const scanStarted = useRef(false);
|
||||
useEffect(() => {
|
||||
if (scanStarted.current) {
|
||||
return;
|
||||
}
|
||||
scanStarted.current = true;
|
||||
|
||||
const walletInstance = createInstance(walletConfig);
|
||||
|
||||
setConnectionStatus("connecting");
|
||||
walletInstance.connectWithQrCode({
|
||||
chainId: chainIdToConnect,
|
||||
onQrCodeUri(uri) {
|
||||
setQrCodeUri(uri);
|
||||
},
|
||||
onConnected() {
|
||||
setConnectedWallet(walletInstance);
|
||||
onConnected();
|
||||
},
|
||||
});
|
||||
}, [
|
||||
createInstance,
|
||||
setConnectedWallet,
|
||||
chainIdToConnect,
|
||||
onConnected,
|
||||
walletConfig,
|
||||
setConnectionStatus,
|
||||
setQrCodeUri,
|
||||
]);
|
||||
|
||||
return (
|
||||
<QRCode
|
||||
qrCodeUri={qrCodeUri}
|
||||
QRIcon={
|
||||
<Img
|
||||
width={iconSize.xxl}
|
||||
height={iconSize.xxl}
|
||||
src={walletConfig.meta.iconURL}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// export const CopyButton: React.FC<{
|
||||
// text: string;
|
||||
// tip: string;
|
||||
|
||||
@@ -27,6 +27,15 @@ export type walletConnectConfigOptions = {
|
||||
* If true, the wallet will be tagged as "reccomended" in ConnectWallet Modal
|
||||
*/
|
||||
recommended?: boolean;
|
||||
|
||||
/**
|
||||
* Specify wheher a custom QR Modal or the Official WalletConnect Modal should be used on desktop. The custom screen has an option to open the official WalletConnect Modal too.
|
||||
*
|
||||
* Note that the official WalletConnect Modal is always used on mobile devices.
|
||||
*
|
||||
* The default is `"custom"` ( for desktop )
|
||||
*/
|
||||
qrModal?: "custom" | "walletConnect";
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -71,6 +80,15 @@ export const walletConnect = (
|
||||
config?: walletConnectConfigOptions,
|
||||
): WalletConfig<WalletConnect> => {
|
||||
const projectId = config?.projectId || TW_WC_PROJECT_ID;
|
||||
|
||||
// on mobile - always use the official WalletConnect Modal
|
||||
// on desktop - use the official WalletConnect Modal if qrModal is set to "walletconnect"
|
||||
const showOfficialModal = isMobile()
|
||||
? true
|
||||
: config?.qrModal === "walletConnect"
|
||||
? true
|
||||
: false;
|
||||
|
||||
return {
|
||||
recommended: config?.recommended,
|
||||
id: WalletConnect.id,
|
||||
@@ -82,13 +100,14 @@ export const walletConnect = (
|
||||
create(options: WalletOptions) {
|
||||
return new WalletConnect({
|
||||
...options,
|
||||
qrcode: isMobile() ? true : false,
|
||||
|
||||
qrcode: showOfficialModal,
|
||||
projectId,
|
||||
qrModalOptions: config?.qrModalOptions,
|
||||
});
|
||||
},
|
||||
connectUI(props) {
|
||||
if (isMobile()) {
|
||||
if (showOfficialModal) {
|
||||
return <HeadlessConnectUI {...props} />;
|
||||
}
|
||||
|
||||
@@ -99,6 +118,8 @@ export const walletConnect = (
|
||||
walletConfig={props.walletConfig}
|
||||
hideBackButton={props.supportedWallets.length > 1}
|
||||
modalSize={props.modalSize}
|
||||
hide={props.hide}
|
||||
show={props.show}
|
||||
/>
|
||||
);
|
||||
},
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @thirdweb-dev/sdk
|
||||
|
||||
## 4.0.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2067](https://github.com/thirdweb-dev/js/pull/2067) [`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173) Thanks [@kumaryash90](https://github.com/kumaryash90)! - fix deployments
|
||||
|
||||
## 4.0.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2062](https://github.com/thirdweb-dev/js/pull/2062) [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Expose baseFee in getDynamicFeeData()
|
||||
|
||||
- [#2053](https://github.com/thirdweb-dev/js/pull/2053) [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Fix error message
|
||||
|
||||
- [#2059](https://github.com/thirdweb-dev/js/pull/2059) [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf) Thanks [@jnsdls](https://github.com/jnsdls)! - contract.roles.setAll now allows passing a actingAddress explictly to "prepare()" to correctly prepare the txn when there are multiple roles being removed
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
|
||||
## 4.0.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/sdk",
|
||||
"version": "4.0.19",
|
||||
"version": "4.0.21",
|
||||
"description": "The main thirdweb SDK.",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/sdk",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -6,6 +6,7 @@ import { isBrowser } from "./utils";
|
||||
type FeeData = {
|
||||
maxFeePerGas: null | BigNumber;
|
||||
maxPriorityFeePerGas: null | BigNumber;
|
||||
baseFee: null | BigNumber;
|
||||
};
|
||||
|
||||
export async function getDefaultGasOverrides(provider: providers.Provider) {
|
||||
@@ -63,16 +64,17 @@ export async function getDynamicFeeData(
|
||||
maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;
|
||||
if (!maxPriorityFeePerGas) {
|
||||
// chain does not support eip-1559, return null for both
|
||||
return { maxFeePerGas: null, maxPriorityFeePerGas: null };
|
||||
return { maxFeePerGas: null, maxPriorityFeePerGas: null, baseFee: null };
|
||||
}
|
||||
}
|
||||
|
||||
// eip-1559 formula, with an extra 10% tip to account for gas volatility
|
||||
maxFeePerGas = baseBlockFee
|
||||
.mul(2)
|
||||
.add(getPreferredPriorityFee(maxPriorityFeePerGas));
|
||||
// add 10% tip to maxPriorityFeePerGas for faster processing
|
||||
maxPriorityFeePerGas = getPreferredPriorityFee(maxPriorityFeePerGas);
|
||||
// eip-1559 formula, doubling the base fee ensures that the tx can be included in the next 6 blocks no matter how busy the network is
|
||||
// good article on the subject: https://www.blocknative.com/blog/eip-1559-fees
|
||||
maxFeePerGas = baseBlockFee.mul(2).add(maxPriorityFeePerGas);
|
||||
|
||||
return { maxFeePerGas, maxPriorityFeePerGas };
|
||||
return { maxFeePerGas, maxPriorityFeePerGas, baseFee: baseBlockFee };
|
||||
}
|
||||
|
||||
function getPreferredPriorityFee(
|
||||
@@ -80,8 +82,8 @@ function getPreferredPriorityFee(
|
||||
percentMultiplier: number = 10,
|
||||
): BigNumber {
|
||||
const extraTip = defaultPriorityFeePerGas.div(100).mul(percentMultiplier); // + 10%
|
||||
const txGasPrice = defaultPriorityFeePerGas.add(extraTip);
|
||||
return txGasPrice;
|
||||
const totalPriorityFee = defaultPriorityFeePerGas.add(extraTip);
|
||||
return totalPriorityFee;
|
||||
}
|
||||
|
||||
export async function getGasPrice(
|
||||
|
||||
@@ -135,9 +135,17 @@ export class ContractRoles<TContract extends IPermissions, TRole extends Role>
|
||||
*
|
||||
* */
|
||||
setAll = /* @__PURE__ */ buildTransactionFunction(
|
||||
async (rolesWithAddresses: {
|
||||
[key in TRole]?: AddressOrEns[];
|
||||
}): Promise<Transaction> => {
|
||||
async (
|
||||
rolesWithAddresses: {
|
||||
[key in TRole]?: AddressOrEns[];
|
||||
},
|
||||
actingAddress?: string,
|
||||
): Promise<Transaction> => {
|
||||
// if we are removing multiple roles, we need to allways remove the connected wallet address *last*
|
||||
// this is so we don't renounce (i.e.) admin role first and then try to revoke someone else's (i.e.) admin role after (which will revert the entire txn because we are no longer an admin)
|
||||
// if it is explicitly passed in (i.e. for estimation) we use that value, otherwise we get it from the connected signer
|
||||
const connectedWalletAddress =
|
||||
actingAddress || (await this.contractWrapper.getSignerAddress());
|
||||
const contractEncoder = new ContractEncoder(this.contractWrapper);
|
||||
|
||||
const roles = Object.keys(rolesWithAddresses) as TRole[];
|
||||
@@ -170,11 +178,9 @@ export class ContractRoles<TContract extends IPermissions, TRole extends Role>
|
||||
const toRemove = currentAddresses.filter(
|
||||
(address) => !addresses.includes(address),
|
||||
);
|
||||
// if we are removing multiple roles, we need to allways remove the connected wallet address *last*
|
||||
// this is so we don't renounce (i.e.) admin role first and then try to revoke someone else's (i.e.) admin role after (which will revert the entire txn because we are no longer an admin)
|
||||
const connectedWalletAddress =
|
||||
await this.contractWrapper.getSignerAddress();
|
||||
// only need to do this path if the toRemove is longer than 1 (i.e. we are removing multiple addresses from a role)
|
||||
|
||||
// if we're removing more than one address we have to make sure we always remove the *connected* (acting) wallet address first
|
||||
// otherwise we'll revoke the connected wallet address and then try to revoke someone else's address which will revert the entire txn
|
||||
if (toRemove.length > 1) {
|
||||
const index = toRemove.indexOf(connectedWalletAddress);
|
||||
if (index > -1) {
|
||||
|
||||
@@ -1887,6 +1887,7 @@ export class ContractDeployer extends RPCConnectionHandler {
|
||||
`Error deploying contract at ${tx.predictedAddress}`,
|
||||
(e as any)?.message,
|
||||
);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,12 +14,12 @@ export const CONTRACT_ADDRESSES: Record<
|
||||
}
|
||||
> = {
|
||||
[280]: {
|
||||
openzeppelinForwarder: "0x12A305cc7168fa3b7B172fE53c57b9a22716F667",
|
||||
openzeppelinForwarder: AddressZero,
|
||||
openzeppelinForwarderEOA: AddressZero,
|
||||
biconomyForwarder: AddressZero,
|
||||
},
|
||||
[324]: {
|
||||
openzeppelinForwarder: "0x4e0C3577335961Ff800FFDA24981EB2F38D94483",
|
||||
openzeppelinForwarder: AddressZero,
|
||||
openzeppelinForwarderEOA: AddressZero,
|
||||
biconomyForwarder: AddressZero,
|
||||
},
|
||||
@@ -92,18 +92,10 @@ export function getImplementation(
|
||||
* @returns the array of trusted forwarders for the given chain id
|
||||
* @internal
|
||||
*/
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
export function zkGetDefaultTrustedForwarders(
|
||||
chainId: number,
|
||||
contractName?: string,
|
||||
): string[] {
|
||||
const biconomyForwarder =
|
||||
CONTRACT_ADDRESSES[chainId]?.biconomyForwarder || AddressZero;
|
||||
const openzeppelinForwarder =
|
||||
CONTRACT_ADDRESSES[chainId]?.openzeppelinForwarder || AddressZero;
|
||||
|
||||
return contractName && contractName === "Pack"
|
||||
? []
|
||||
: [openzeppelinForwarder, biconomyForwarder].filter(
|
||||
(a) => a !== AddressZero,
|
||||
);
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ export async function zkDeployContractFromUri(
|
||||
compilerMetadata.name,
|
||||
extendedMetadata.version,
|
||||
);
|
||||
if (implementationAddress) {
|
||||
if (!implementationAddress) {
|
||||
throw new Error("Contract not supported yet.");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# @thirdweb-dev/unity-js-bridge
|
||||
|
||||
## 0.2.110
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
- @thirdweb-dev/wallets@2.2.1
|
||||
- @thirdweb-dev/auth@4.1.16
|
||||
|
||||
## 0.2.109
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2061](https://github.com/thirdweb-dev/js/pull/2061) [`0fb2f1fc`](https://github.com/thirdweb-dev/js/commit/0fb2f1fc5e2241f8b0fff2ad9219eeed40a8d1d0) Thanks [@0xFirekeeper](https://github.com/0xFirekeeper)! - [Unity] Support for sdk.wallet.GetEmail
|
||||
|
||||
- [#2056](https://github.com/thirdweb-dev/js/pull/2056) [`5a0283d0`](https://github.com/thirdweb-dev/js/commit/5a0283d083b47a8f26ce61ce59c914e27d60401c) Thanks [@0xFirekeeper](https://github.com/0xFirekeeper)! - [Unity] Reload local wallet in case of reconnection (sw)
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf), [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
- @thirdweb-dev/sdk@4.0.20
|
||||
- @thirdweb-dev/wallets@2.2.0
|
||||
- @thirdweb-dev/auth@4.1.15
|
||||
|
||||
## 0.2.108
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/unity-js-bridge",
|
||||
"version": "0.2.108",
|
||||
"version": "0.2.110",
|
||||
"main": "dist/thirdweb-unity-bridge.js",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -96,6 +96,7 @@ interface TWBridge {
|
||||
getLatestBlockNumber: () => Promise<string>;
|
||||
getBlock: (blockNumber: string) => Promise<string>;
|
||||
getBlockWithTransactions: (blockNumber: string) => Promise<string>;
|
||||
getEmail: () => Promise<string>;
|
||||
}
|
||||
|
||||
const w = window;
|
||||
@@ -652,10 +653,16 @@ class ThirdwebBridge implements TWBridge {
|
||||
const localWallet = this.walletMap.get(
|
||||
walletIds.localWallet,
|
||||
) as LocalWallet;
|
||||
await localWallet.loadOrCreate({
|
||||
strategy: "encryptedJson",
|
||||
password,
|
||||
});
|
||||
try {
|
||||
await localWallet.loadOrCreate({
|
||||
strategy: "encryptedJson",
|
||||
password,
|
||||
});
|
||||
} catch(e) {
|
||||
console.warn(e);
|
||||
return localWallet;
|
||||
}
|
||||
|
||||
return localWallet;
|
||||
}
|
||||
|
||||
@@ -730,6 +737,14 @@ class ThirdwebBridge implements TWBridge {
|
||||
return JSON.stringify({ result: res }, bigNumberReplacer);
|
||||
}
|
||||
|
||||
public async getEmail(){
|
||||
const embeddedWallet = this.walletMap.get(
|
||||
walletIds.embeddedWallet,
|
||||
) as EmbeddedWallet;
|
||||
const email = await embeddedWallet.getEmail();
|
||||
return JSON.stringify({ result: email });
|
||||
}
|
||||
|
||||
public openPopupWindow() {
|
||||
const win = window.open("", undefined, "width=350, height=500");
|
||||
if (win) {
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @thirdweb-dev/wallets
|
||||
|
||||
## 2.2.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`bcfa9463`](https://github.com/thirdweb-dev/js/commit/bcfa9463bbae6bf1d3b6389b7a141f65ef3e1173)]:
|
||||
- @thirdweb-dev/sdk@4.0.21
|
||||
|
||||
## 2.2.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- [#2052](https://github.com/thirdweb-dev/js/pull/2052) [`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac) Thanks [@ElasticBottle](https://github.com/ElasticBottle)! - feat: add custom auth endpoint authentication strategy support for embeddedWallet
|
||||
|
||||
Configure the endpoint for where the payload is to be sent too over at thirdweb.com/dashboard.
|
||||
|
||||
```typsecript
|
||||
await embeddedWallet.authenticate({
|
||||
strategy: "auth_endpoint",
|
||||
payload: "SOME_STRING",
|
||||
encryptionKey: ""
|
||||
});
|
||||
```
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#2058](https://github.com/thirdweb-dev/js/pull/2058) [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d) Thanks [@MananTank](https://github.com/MananTank)! - Add option to open the official wallet connect modal in ConnectWallet
|
||||
|
||||
- Updated dependencies [[`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3), [`85842c15`](https://github.com/thirdweb-dev/js/commit/85842c1596c901e228be1894b6702a8871d9e794), [`e595d4d9`](https://github.com/thirdweb-dev/js/commit/e595d4d92f03e36cbe61e1f00a366e37ede5d814), [`497677f3`](https://github.com/thirdweb-dev/js/commit/497677f3596977fa90ebc0fa76cb5842d46d8dcf)]:
|
||||
- @thirdweb-dev/chains@0.1.61
|
||||
- @thirdweb-dev/sdk@4.0.20
|
||||
|
||||
## 2.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/wallets",
|
||||
"version": "2.1.11",
|
||||
"version": "2.2.1",
|
||||
"main": "dist/thirdweb-dev-wallets.cjs.js",
|
||||
"module": "dist/thirdweb-dev-wallets.esm.js",
|
||||
"browser": {
|
||||
|
||||
@@ -14,6 +14,7 @@ export enum AuthProvider {
|
||||
GOOGLE = "Google",
|
||||
EMAIL_OTP = "EmailOtp",
|
||||
CUSTOM_JWT = "CustomJWT",
|
||||
CUSTOM_AUTH_ENDPOINT = "CustomAuthEndpoint",
|
||||
FACEBOOK = "Facebook",
|
||||
APPLE = "Apple",
|
||||
}
|
||||
|
||||
+5
@@ -10,6 +10,7 @@ import type {
|
||||
import type { EmbeddedWalletIframeCommunicator } from "../../utils/iFrameCommunication/EmbeddedWalletIframeCommunicator";
|
||||
|
||||
export type LoginQuerierTypes = {
|
||||
loginWithCustomAuthEndpoint: { payload: string; encryptionKey: string };
|
||||
loginWithCustomJwt: { jwt: string; encryptionKey?: string };
|
||||
loginWithThirdwebModal: undefined | { email: string };
|
||||
sendThirdwebEmailLoginOtp: { email: string };
|
||||
@@ -68,6 +69,10 @@ export abstract class AbstractLogin<
|
||||
jwt: string;
|
||||
encryptionKey: string;
|
||||
}): Promise<AuthLoginReturnType>;
|
||||
abstract loginWithCustomAuthEndpoint(args: {
|
||||
payload: string;
|
||||
encryptionKey: string;
|
||||
}): Promise<AuthLoginReturnType>;
|
||||
abstract loginWithModal(args?: MODAL): Promise<AuthLoginReturnType>;
|
||||
abstract loginWithEmailOtp(args: EMAIL_MODAL): Promise<AuthLoginReturnType>;
|
||||
abstract loginWithOauth(
|
||||
|
||||
+13
@@ -184,6 +184,7 @@ export class BaseLogin extends AbstractLogin<
|
||||
encryptionKey,
|
||||
jwt,
|
||||
}: LoginQuerierTypes["loginWithCustomJwt"]): Promise<AuthLoginReturnType> {
|
||||
await this.preLogin();
|
||||
const result = await this.LoginQuerier.call<AuthAndWalletRpcReturnType>({
|
||||
procedureName: "loginWithCustomJwt",
|
||||
params: { encryptionKey, jwt },
|
||||
@@ -191,6 +192,18 @@ export class BaseLogin extends AbstractLogin<
|
||||
return this.postLogin(result);
|
||||
}
|
||||
|
||||
override async loginWithCustomAuthEndpoint({
|
||||
encryptionKey,
|
||||
payload,
|
||||
}: LoginQuerierTypes["loginWithCustomAuthEndpoint"]): Promise<AuthLoginReturnType> {
|
||||
await this.preLogin();
|
||||
const result = await this.LoginQuerier.call<AuthAndWalletRpcReturnType>({
|
||||
procedureName: "loginWithCustomAuthEndpoint",
|
||||
params: { encryptionKey, payload },
|
||||
});
|
||||
return this.postLogin(result);
|
||||
}
|
||||
|
||||
override async verifyEmailLoginOtp({
|
||||
email,
|
||||
otp,
|
||||
|
||||
+6
-2
@@ -96,8 +96,6 @@ export class Auth {
|
||||
* @returns `{{user: InitializedUser}}` An InitializedUser object. See {@link EmbeddedWalletSdk.getUser} for more
|
||||
*/
|
||||
async loginWithModal(): Promise<AuthLoginReturnType> {
|
||||
await this.preLogin();
|
||||
|
||||
return this.BaseLogin.loginWithModal();
|
||||
}
|
||||
|
||||
@@ -133,6 +131,12 @@ export class Auth {
|
||||
return this.BaseLogin.loginWithCustomJwt(args);
|
||||
}
|
||||
|
||||
async loginWithCustomAuthEndpoint(
|
||||
args: Parameters<BaseLogin["loginWithCustomAuthEndpoint"]>[0],
|
||||
): Promise<AuthLoginReturnType> {
|
||||
return this.BaseLogin.loginWithCustomAuthEndpoint(args);
|
||||
}
|
||||
|
||||
async loginWithOauth(
|
||||
args: Parameters<BaseLogin["loginWithOauth"]>[0],
|
||||
): Promise<AuthLoginReturnType> {
|
||||
|
||||
@@ -250,13 +250,18 @@ export class EmbeddedWalletConnector extends Connector<EmbeddedWalletConnectionA
|
||||
encryptionKey: params.encryptionKey,
|
||||
});
|
||||
}
|
||||
case "auth_endpoint": {
|
||||
return ewSDK.auth.loginWithCustomAuthEndpoint({
|
||||
payload: params.payload,
|
||||
encryptionKey: params.encryptionKey,
|
||||
});
|
||||
}
|
||||
case "iframe_email_verification": {
|
||||
return ewSDK.auth.loginWithEmailOtp({
|
||||
email: params.email,
|
||||
});
|
||||
}
|
||||
case "iframe":
|
||||
case undefined: {
|
||||
case "iframe": {
|
||||
return ewSDK.auth.loginWithModal();
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -40,6 +40,12 @@ type JwtAuthParams = {
|
||||
encryptionKey?: string;
|
||||
};
|
||||
|
||||
type AuthEndpointParams = {
|
||||
strategy: "auth_endpoint";
|
||||
payload: string;
|
||||
encryptionKey: string;
|
||||
};
|
||||
|
||||
// open iFrame to send and input the OTP
|
||||
type IframeOtpAuthParams = {
|
||||
strategy: "iframe_email_verification";
|
||||
@@ -56,6 +62,7 @@ export type AuthParams =
|
||||
| EmailVerificationAuthParams
|
||||
| OauthAuthParams
|
||||
| JwtAuthParams
|
||||
| AuthEndpointParams
|
||||
| IframeOtpAuthParams
|
||||
| IframeAuthParams;
|
||||
|
||||
|
||||
@@ -229,6 +229,10 @@ export abstract class BaseAccountAPI {
|
||||
}));
|
||||
}
|
||||
|
||||
// callGasLimit = callGasLimit.mul(10); // add 100k for entrypoint checks
|
||||
|
||||
console.log("callGasLimit", callGasLimit.toString());
|
||||
|
||||
return {
|
||||
callData,
|
||||
callGasLimit,
|
||||
@@ -291,6 +295,11 @@ export abstract class BaseAccountAPI {
|
||||
await this.getVerificationGasLimit(),
|
||||
).add(initGas);
|
||||
|
||||
console.log("initGas", initGas.toString());
|
||||
console.log("initGas", verificationGasLimit.toString());
|
||||
|
||||
// verificationGasLimit = verificationGasLimit.mul(3);
|
||||
|
||||
let { maxFeePerGas, maxPriorityFeePerGas } = info;
|
||||
if (!maxFeePerGas || !maxPriorityFeePerGas) {
|
||||
const feeData = await getDynamicFeeData(
|
||||
@@ -301,16 +310,32 @@ export abstract class BaseAccountAPI {
|
||||
}
|
||||
if (!maxFeePerGas) {
|
||||
maxFeePerGas = feeData.maxFeePerGas ?? undefined;
|
||||
maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? undefined;
|
||||
const network = await this.provider.getNetwork();
|
||||
const chainId = network.chainId;
|
||||
|
||||
console.log(
|
||||
"CELO maxFeePerGas",
|
||||
ethers.utils.formatUnits(maxFeePerGas || 0, "gwei"),
|
||||
);
|
||||
console.log(
|
||||
"CELO maxPriorityFeePerGas",
|
||||
ethers.utils.formatUnits(maxPriorityFeePerGas || 0, "gwei"),
|
||||
);
|
||||
|
||||
if (
|
||||
chainId === Celo.chainId ||
|
||||
chainId === CeloAlfajoresTestnet.chainId ||
|
||||
chainId === CeloBaklavaTestnet.chainId
|
||||
) {
|
||||
maxFeePerGas = maxFeePerGas?.mul(50);
|
||||
maxPriorityFeePerGas = maxFeePerGas;
|
||||
}
|
||||
|
||||
console.log(
|
||||
"CELO final",
|
||||
ethers.utils.formatUnits(maxPriorityFeePerGas || 0, "gwei"),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ export class WalletConnectConnector extends WagmiConnector<
|
||||
#initProviderPromise?: Promise<void>;
|
||||
#storage: AsyncStorage;
|
||||
filteredChains: Chain[];
|
||||
showWalletConnectModal: boolean;
|
||||
|
||||
constructor(config: { chains?: Chain[]; options: WalletConnectOptions }) {
|
||||
super({
|
||||
@@ -97,6 +98,8 @@ export class WalletConnectConnector extends WagmiConnector<
|
||||
return chainsToRequest.has(c.chainId);
|
||||
})
|
||||
: this.chains;
|
||||
|
||||
this.showWalletConnectModal = this.options.qrcode !== false;
|
||||
}
|
||||
|
||||
async connect({ chainId: chainIdP, pairingTopic }: ConnectConfig = {}) {
|
||||
@@ -323,12 +326,12 @@ export class WalletConnectConnector extends WagmiConnector<
|
||||
|
||||
async #createProvider() {
|
||||
if (!this.#initProviderPromise && typeof window !== "undefined") {
|
||||
this.#initProviderPromise = this.#initProvider();
|
||||
this.#initProviderPromise = this.initProvider();
|
||||
}
|
||||
return this.#initProviderPromise;
|
||||
}
|
||||
|
||||
async #initProvider() {
|
||||
async initProvider() {
|
||||
const {
|
||||
default: EthereumProvider,
|
||||
OPTIONAL_EVENTS,
|
||||
@@ -341,7 +344,7 @@ export class WalletConnectConnector extends WagmiConnector<
|
||||
if (defaultChain) {
|
||||
// EthereumProvider populates & deduplicates required methods and events internally
|
||||
this.#provider = await EthereumProvider.init({
|
||||
showQrModal: this.options.qrcode !== false,
|
||||
showQrModal: this.showWalletConnectModal,
|
||||
projectId: this.options.projectId,
|
||||
optionalMethods: OPTIONAL_METHODS,
|
||||
optionalEvents: OPTIONAL_EVENTS,
|
||||
|
||||
@@ -166,6 +166,8 @@ export class WalletConnect extends AbstractClientWallet<WalletConnectOptions> {
|
||||
throw new Error("WalletConnect connector not found");
|
||||
}
|
||||
|
||||
wcConnector.showWalletConnectModal = false;
|
||||
|
||||
const wcProvider = await wcConnector.getProvider();
|
||||
|
||||
wcProvider.on("display_uri", (uri) => {
|
||||
@@ -175,4 +177,19 @@ export class WalletConnect extends AbstractClientWallet<WalletConnectOptions> {
|
||||
// trigger connect flow
|
||||
this.connect({ chainId: options.chainId }).then(options.onConnected);
|
||||
}
|
||||
|
||||
async connectWithModal(options?: { chainId?: number }) {
|
||||
await this.getConnector();
|
||||
const wcConnector = this.#walletConnectConnector;
|
||||
|
||||
if (!wcConnector) {
|
||||
throw new Error("WalletConnect connector not found");
|
||||
}
|
||||
|
||||
wcConnector.showWalletConnectModal = true;
|
||||
|
||||
await wcConnector.initProvider();
|
||||
|
||||
await this.connect({ chainId: options?.chainId });
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+79
-7
@@ -575,11 +575,14 @@ importers:
|
||||
specifier: ^0.1.9
|
||||
version: 0.1.9
|
||||
'@radix-ui/react-dialog':
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
specifier: ^1.0.5
|
||||
version: 1.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-dropdown-menu':
|
||||
specifier: ^2.0.5
|
||||
version: 2.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-focus-scope':
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-icons':
|
||||
specifier: ^1.3.0
|
||||
version: 1.3.0([email protected])
|
||||
@@ -10185,8 +10188,8 @@ packages:
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected].4(@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==}
|
||||
/@radix-ui/[email protected].5(@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
@@ -10202,11 +10205,11 @@ packages:
|
||||
'@radix-ui/primitive': 1.0.1
|
||||
'@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-context': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-dismissable-layer': 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-dismissable-layer': 1.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-focus-guards': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-focus-scope': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-focus-scope': 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-id': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-portal': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-portal': 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-presence': 1.0.1(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-slot': 1.0.2(@types/[email protected])([email protected])
|
||||
@@ -10258,6 +10261,31 @@ packages:
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
react: ^16.8 || ^17.0 || ^18.0
|
||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
||||
peerDependenciesMeta:
|
||||
'@types/react':
|
||||
optional: true
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.22.6
|
||||
'@radix-ui/primitive': 1.0.1
|
||||
'@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-use-escape-keydown': 1.0.3(@types/[email protected])([email protected])
|
||||
'@types/react': 18.2.17
|
||||
'@types/react-dom': 18.2.7
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==}
|
||||
peerDependencies:
|
||||
@@ -10322,6 +10350,29 @@ packages:
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
react: ^16.8 || ^17.0 || ^18.0
|
||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
||||
peerDependenciesMeta:
|
||||
'@types/react':
|
||||
optional: true
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.22.6
|
||||
'@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
|
||||
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@radix-ui/react-use-callback-ref': 1.0.1(@types/[email protected])([email protected])
|
||||
'@types/react': 18.2.17
|
||||
'@types/react-dom': 18.2.7
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected]([email protected]):
|
||||
resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==}
|
||||
peerDependencies:
|
||||
@@ -10469,6 +10520,27 @@ packages:
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
react: ^16.8 || ^17.0 || ^18.0
|
||||
react-dom: ^16.8 || ^17.0 || ^18.0
|
||||
peerDependenciesMeta:
|
||||
'@types/react':
|
||||
optional: true
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.22.6
|
||||
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
|
||||
'@types/react': 18.2.17
|
||||
'@types/react-dom': 18.2.7
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0([email protected])
|
||||
dev: false
|
||||
|
||||
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
|
||||
resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
|
||||
peerDependencies:
|
||||
|
||||
Reference in New Issue
Block a user