Compare commits
33
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db964131b4 | ||
|
|
4393b22805 | ||
|
|
b28c3a5a67 | ||
|
|
4068219145 | ||
|
|
03d1a6d73b | ||
|
|
fd74d79180 | ||
|
|
35f20ceb4f | ||
|
|
db68bd04cd | ||
|
|
3df86ad16f | ||
|
|
4389083ca3 | ||
|
|
4961b597a0 | ||
|
|
7e044c664d | ||
|
|
498df5d69a | ||
|
|
b8d4930305 | ||
|
|
2c0bb07899 | ||
|
|
72ada47596 | ||
|
|
dc9eee735c | ||
|
|
b4aee9b591 | ||
|
|
b5c6eedb38 | ||
|
|
8672c8533c | ||
|
|
bb207473f8 | ||
|
|
10b3a717da | ||
|
|
aa81bedaf2 | ||
|
|
b4676e1b4e | ||
|
|
0135a7790c | ||
|
|
2d088d367c | ||
|
|
546353a479 | ||
|
|
9daf044926 | ||
|
|
7054f9f016 | ||
|
|
a3bb17cb33 | ||
|
|
d03645aefd | ||
|
|
53626f8100 | ||
|
|
8a389f1295 |
+26
-7
@@ -34,22 +34,41 @@
|
||||
"packageManager": "[email protected]",
|
||||
"dependencies": {
|
||||
"@changesets/changelog-github": "^0.4.8",
|
||||
"@changesets/cli": "^2.26.1",
|
||||
"@changesets/get-dependents-graph": "^1.3.5",
|
||||
"@changesets/get-release-plan": "^3.0.16",
|
||||
"@changesets/cli": "^2.26.2",
|
||||
"@changesets/get-dependents-graph": "^1.3.6",
|
||||
"@changesets/get-release-plan": "^3.0.17",
|
||||
"@changesets/parse": "^0.3.16",
|
||||
"@manypkg/cli": "^0.20.0",
|
||||
"@manypkg/get-packages": "^1.1.3",
|
||||
"@playwright/test": "1.31.2",
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
||||
"@types/node": "^18.15.11",
|
||||
"eslint": "^8.42.0",
|
||||
"@types/node": "^18.16.18",
|
||||
"eslint": "^8.43.0",
|
||||
"mocha": "^10.2.0",
|
||||
"prettier": "^2.8.7",
|
||||
"turbo": "^1.9.8",
|
||||
"prettier": "^2.8.8",
|
||||
"turbo": "^1.10.6",
|
||||
"yalc": "1.0.0-pre.53"
|
||||
},
|
||||
"manypkg": {
|
||||
"defaultBranch": "main"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"cross-fetch@>=3.0.0 <3.1.5": ">=3.1.5",
|
||||
"got@<11.8.5": ">=11.8.5",
|
||||
"glob-parent@<5.1.2": ">=5.1.2",
|
||||
"node-fetch@<2.6.7": ">=2.6.7",
|
||||
"nth-check@<2.0.1": ">=2.0.1",
|
||||
"socket.io-parser@>=4.0.4 <4.2.3": ">=4.2.3",
|
||||
"fast-xml-parser@<4.2.4": ">=4.2.4",
|
||||
"@openzeppelin/contracts@>=4.3.0 <4.9.1": ">=4.9.1",
|
||||
"@openzeppelin/contracts@>=4.7.0 <4.9.2": ">=4.9.2",
|
||||
"xml2js@<0.5.0": ">=0.5.0",
|
||||
"engine.io@>=5.1.0 <6.4.2": ">=6.4.2",
|
||||
"semver@<7.5.2": ">=7.5.2",
|
||||
"json5@<1.0.2": ">=1.0.2",
|
||||
"protobufjs@>=6.10.0 <7.2.4": ">=7.2.4",
|
||||
"tough-cookie@<4.1.3": ">=4.1.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,42 @@
|
||||
# @thirdweb-dev/auth
|
||||
|
||||
## 3.2.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @thirdweb-dev/wallets@1.0.8
|
||||
|
||||
## 3.2.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @thirdweb-dev/wallets@1.0.7
|
||||
|
||||
## 3.2.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @thirdweb-dev/wallets@1.0.6
|
||||
|
||||
## 3.2.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`10b3a717`](https://github.com/thirdweb-dev/js/commit/10b3a717da606632a05769ac821bdd21d6b63a03), [`b4aee9b5`](https://github.com/thirdweb-dev/js/commit/b4aee9b59121bab5f9b3d9b7ecdc4bcb4cd66f58)]:
|
||||
- @thirdweb-dev/wallets@1.0.5
|
||||
|
||||
## 3.2.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- Updated dependencies [[`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2)]:
|
||||
- @thirdweb-dev/wallets@1.0.4
|
||||
|
||||
## 3.2.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+19
-19
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/auth",
|
||||
"version": "3.2.7",
|
||||
"version": "3.2.12",
|
||||
"main": "dist/thirdweb-dev-auth.cjs.js",
|
||||
"module": "dist/thirdweb-dev-auth.esm.js",
|
||||
"browser": {
|
||||
@@ -80,29 +80,29 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@microsoft/api-documenter": "^7.19.4",
|
||||
"@microsoft/api-extractor": "^7.29.2",
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@microsoft/api-documenter": "^7.22.21",
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
"@microsoft/tsdoc": "^0.14.1",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@solana/web3.js": "^1.62.0",
|
||||
"@swc-node/register": "^1.5.1",
|
||||
"@swc/core": "^1.3.23",
|
||||
"@swc-node/register": "^1.6.6",
|
||||
"@swc/core": "^1.3.67",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/chai": "^4.3.5",
|
||||
"@types/cookie": "^0.5.1",
|
||||
"@types/cookie-parser": "^1.4.3",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/mocha": "^10.0.0",
|
||||
"@types/uuid": "^9.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"chai": "^4.3.6",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"eslint": "^8.42.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-inclusive-language": "^2.2.0",
|
||||
@@ -111,10 +111,10 @@
|
||||
"ethers": "^5.7.2",
|
||||
"express": "^4.18.1",
|
||||
"mocha": "^10.2.0",
|
||||
"next": "^12.2.0",
|
||||
"next-auth": "^4.20.1",
|
||||
"prettier": "^2.7.1",
|
||||
"typescript": "^4.7.4"
|
||||
"next": "^12.3.4",
|
||||
"next-auth": "^4.22.1",
|
||||
"prettier": "^2.8.8",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@solana/web3.js": "^1.73.0",
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# @thirdweb-dev/chains
|
||||
|
||||
## 0.1.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1328](https://github.com/thirdweb-dev/js/pull/1328) [`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5) Thanks [@adam-maj](https://github.com/adam-maj)! - Make base default chain
|
||||
|
||||
## 0.1.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1326](https://github.com/thirdweb-dev/js/pull/1326) [`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2) Thanks [@adam-maj](https://github.com/adam-maj)! - Add base chain support
|
||||
|
||||
## 0.1.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1320](https://github.com/thirdweb-dev/js/pull/1320) [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Linea mainnet support
|
||||
|
||||
- [#1315](https://github.com/thirdweb-dev/js/pull/1315) [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a) Thanks [@jnsdls](https://github.com/jnsdls)! - add more chains
|
||||
|
||||
## 0.1.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1299](https://github.com/thirdweb-dev/js/pull/1299) [`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5) Thanks [@nkrishang](https://github.com/nkrishang)! - Add ERC721LoyaltyCard and ERC721UpdatableMetadata
|
||||
|
||||
- [#1297](https://github.com/thirdweb-dev/js/pull/1297) [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61) Thanks [@0xFirekeeper](https://github.com/0xFirekeeper)! - add zksync as default chain
|
||||
|
||||
- [#1309](https://github.com/thirdweb-dev/js/pull/1309) [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352) Thanks [@jnsdls](https://github.com/jnsdls)! - unblock storage domains
|
||||
|
||||
## 0.1.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- [#1281](https://github.com/thirdweb-dev/js/pull/1281) [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96) Thanks [@nkrishang](https://github.com/nkrishang)! - Handle ERC4337Signer correctly for signTypedData
|
||||
|
||||
## 0.1.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -20,12 +20,12 @@ export default {
|
||||
"nativeCurrency": {
|
||||
"name": "SMR",
|
||||
"symbol": "SMR",
|
||||
"decimals": 18
|
||||
"decimals": 6
|
||||
},
|
||||
"infoURL": "https://shimmer.network",
|
||||
"shortName": "shimmerevm-testnet",
|
||||
"chainId": 1071,
|
||||
"networkId": 1071,
|
||||
"chainId": 1072,
|
||||
"networkId": 1072,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "explorer",
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Mintara Testnet",
|
||||
"title": "Mintara Testnet",
|
||||
"chain": "Mintara",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://mintara-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/mintara/testnet/rpc"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MINTARA",
|
||||
"symbol": "MNTR",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://playthink.co.jp",
|
||||
"shortName": "mintara-testnet",
|
||||
"chainId": 1079,
|
||||
"networkId": 1079,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "explorer",
|
||||
"url": "https://subnets-test.avax.network/mintara",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "mintara-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,41 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Metachain One Mainnet",
|
||||
"chain": "METAO",
|
||||
"icon": {
|
||||
"url": "ipfs://QmTmo2QAtX5PbhX96vewnvH4Vc5H83Ft2DJGi6tAqTcFij",
|
||||
"width": 1000,
|
||||
"height": 981,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://metachain-one.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.metachain.one",
|
||||
"https://rpc2.metachain.one"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Metao",
|
||||
"symbol": "METAO",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://metachain.one",
|
||||
"shortName": "metao",
|
||||
"chainId": 112358,
|
||||
"networkId": 112358,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.metachain.one",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "metachain-one"
|
||||
} as const satisfies Chain;
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Taro Testnet",
|
||||
"name": "Bubs Testnet",
|
||||
"chain": "gETH",
|
||||
"shortName": "Taro",
|
||||
"shortName": "Bubs",
|
||||
"chainId": 1582,
|
||||
"testnet": true,
|
||||
"icon": {
|
||||
@@ -12,8 +12,8 @@ export default {
|
||||
"height": 512
|
||||
},
|
||||
"rpc": [
|
||||
"https://taro-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://taro-testnet.calderachain.xyz/http"
|
||||
"https://bubs-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://bubs.calderachain.xyz/http"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"decimals": 18,
|
||||
@@ -22,15 +22,15 @@ export default {
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"url": "https://explorer.tarotestnet.com",
|
||||
"name": "Taro Testnet Explorer",
|
||||
"url": "https://explorer.bubstestnet.com",
|
||||
"name": "Bubs Testnet Explorer",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://tarotestnet.com"
|
||||
"https://bubstestnet.com"
|
||||
],
|
||||
"infoURL": "https://tarotestnet.com",
|
||||
"infoURL": "https://bubstestnet.com",
|
||||
"networkId": 1582,
|
||||
"slug": "taro-testnet"
|
||||
"slug": "bubs-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "MXC zkEVM Mainnet",
|
||||
"chain": "MXC zkEVM",
|
||||
"icon": {
|
||||
"url": "ipfs://QmdGCthKA11K9kCZJdbTP5WPAyq1wiRZ3REn6KG58MrWaE",
|
||||
"width": 159,
|
||||
"height": 159,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://mxc-zkevm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.mxc.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MXC zkEVM Mainnet",
|
||||
"symbol": "MXC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://doc.mxc.com/docs/intro",
|
||||
"shortName": "MXCzkEVM",
|
||||
"chainId": 18686,
|
||||
"networkId": 18686,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "MXC zkEVM Mainnet",
|
||||
"url": "https://explorer.mxc.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "mxc-zkevm"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,44 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Moonsama Network",
|
||||
"chain": "MSN",
|
||||
"rpc": [
|
||||
"https://moonsama-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.moonsama.com",
|
||||
"wss://rpc.moonsama.com/ws"
|
||||
],
|
||||
"faucets": [
|
||||
"https://multiverse.moonsama.com/faucet"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Sama Token",
|
||||
"symbol": "SAMA",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://moonsama.com",
|
||||
"shortName": "msn",
|
||||
"chainId": 2199,
|
||||
"networkId": 2199,
|
||||
"slip44": 2199,
|
||||
"icon": {
|
||||
"url": "ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS",
|
||||
"width": 468,
|
||||
"height": 468,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.moonsama.com",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "moonsama-network"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Plinga Mainnet",
|
||||
"chain": "Plinga",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeibpvlod5nyev6wyuvp6pbestmgvru3ovbadsul32odpno26xwld6y",
|
||||
"width": 1039,
|
||||
"height": 1022,
|
||||
"format": "svg"
|
||||
},
|
||||
"rpc": [
|
||||
"https://plinga.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpcurl.mainnet.plgchain.com",
|
||||
"https://rpcurl.plgchain.blockchain.evmnode.online",
|
||||
"https://rpcurl.mainnet.plgchain.plinga.technology"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Plinga",
|
||||
"symbol": "PLINGA",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.plinga.technology/",
|
||||
"shortName": "plgchain",
|
||||
"chainId": 242,
|
||||
"networkId": 242,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "plgscan",
|
||||
"url": "https://www.plgscan.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "plinga"
|
||||
} as const satisfies Chain;
|
||||
@@ -4,7 +4,12 @@ export default {
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://boba-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet.boba.network/"
|
||||
"https://mainnet.boba.network",
|
||||
"https://replica.boba.network",
|
||||
"http://boba-ethereum.gateway.tenderly.co",
|
||||
"http://gateway.tenderly.co/public/boba-ethereum",
|
||||
"wss://boba-ethereum.gateway.tenderly.co/",
|
||||
"wss://gateway.tenderly.co/public/boba-ethereum"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -4,7 +4,8 @@ export default {
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://boba-network-goerli-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://goerli.boba.network/"
|
||||
"https://goerli.boba.network/",
|
||||
"wss://wss.goerli.boba.network/"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
@@ -13,7 +14,7 @@ export default {
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://boba.network",
|
||||
"shortName": "Bobagoerli",
|
||||
"shortName": "BobaGoerli",
|
||||
"chainId": 2888,
|
||||
"networkId": 2888,
|
||||
"explorers": [
|
||||
@@ -28,7 +29,7 @@ export default {
|
||||
"chain": "eip155-5",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://gateway.goerli.boba.network"
|
||||
"url": "https://gateway.boba.network"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Botanix Testnet",
|
||||
"chain": "BTC",
|
||||
"icon": {
|
||||
"url": "ipfs://Qmf2iSjcrZwUDKhCVY9ZzfbSV2He2HSssbcG2yMz1mDerm",
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://botanix-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-rpc.btxtestchain.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.btxtestchain.com"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Botanix",
|
||||
"symbol": "BTC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://btxtestchain.com",
|
||||
"shortName": "BTCt",
|
||||
"chainId": 3636,
|
||||
"networkId": 3636,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Botanix",
|
||||
"url": "https://testnet.btxtestchain.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "botanix-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Botanix Mainnet",
|
||||
"chain": "BTC",
|
||||
"icon": {
|
||||
"url": "ipfs://Qmf2iSjcrZwUDKhCVY9ZzfbSV2He2HSssbcG2yMz1mDerm",
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://botanix.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.btxtestchain.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.btxtestchain.com"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Botanix",
|
||||
"symbol": "BTC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://btxtestchain.com",
|
||||
"shortName": "BTCm",
|
||||
"chainId": 3637,
|
||||
"networkId": 3637,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Botanix",
|
||||
"url": "https://btxtestchain.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "botanix"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "SenjePowers Testnet",
|
||||
"chain": "SPC",
|
||||
"icon": {
|
||||
"url": "ipfs://QmcpyTj4hUyHJZ2VmSdkXFpPpRcNKRP1VxMs7Cp1anymNy",
|
||||
"width": 504,
|
||||
"height": 495,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://senjepowers-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-rpc.senjepowersscan.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.senjepowersscan.com"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "SenjePowers",
|
||||
"symbol": "SPC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://senjepowersscan.com",
|
||||
"shortName": "SPCt",
|
||||
"chainId": 3698,
|
||||
"networkId": 3698,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "SenjePowers",
|
||||
"url": "https://testnet.senjepowersscan.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "senjepowers-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "AltLayer Zero Gas Network",
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://altlayer-zero-gas-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://zero.alt.technology"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "ZERO",
|
||||
"symbol": "ZERO",
|
||||
"decimals": 18
|
||||
},
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"infoURL": "https://altlayer.io",
|
||||
"shortName": "alt-zerogas",
|
||||
"chainId": 4000003,
|
||||
"networkId": 4000003,
|
||||
"icon": {
|
||||
"url": "ipfs://QmcEfZJU7NMn9ycTAcEooQgGNfa2nYBToSUZHdFCFadcjb",
|
||||
"width": 1080,
|
||||
"height": 1025,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://zero-explorer.alt.technology",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "altlayer-zero-gas-network"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,57 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "PGN (Public Goods Network)",
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://pgn-public-goods-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.publicgoods.network"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"infoURL": "https://publicgoods.network/",
|
||||
"shortName": "PGN",
|
||||
"chainId": 424,
|
||||
"networkId": 424,
|
||||
"icon": {
|
||||
"url": "ipfs://QmUVJ7MLCEAfq3pHVPFLscqRMiyAY5biVgTkeDQCmAhHNS",
|
||||
"width": 574,
|
||||
"height": 574,
|
||||
"format": "svg"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.publicgoods.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-1",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://bridge.publicgoods.network"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": false,
|
||||
"slug": "pgn-public-goods-network"
|
||||
} as const satisfies Chain;
|
||||
@@ -6,8 +6,7 @@ export default {
|
||||
"https://bobafuji-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet.avax.boba.network",
|
||||
"wss://wss.testnet.avax.boba.network",
|
||||
"https://replica.testnet.avax.boba.network",
|
||||
"wss://replica-wss.testnet.avax.boba.network"
|
||||
"https://replica.testnet.avax.boba.network"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
@@ -26,6 +25,15 @@ export default {
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-5",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://gateway.boba.network"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": true,
|
||||
"slug": "bobafuji-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,40 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "MEVerse Chain Testnet",
|
||||
"chain": "MEVerse",
|
||||
"rpc": [
|
||||
"https://meverse-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.meversetestnet.io"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MEVerse",
|
||||
"symbol": "MEV",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.meverse.sg",
|
||||
"shortName": "TESTMEV",
|
||||
"chainId": 4759,
|
||||
"networkId": 4759,
|
||||
"icon": {
|
||||
"url": "ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ",
|
||||
"width": 800,
|
||||
"height": 800,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "MEVerse Chain Testnet Explorer",
|
||||
"url": "https://testnet.meversescan.io",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ",
|
||||
"width": 800,
|
||||
"height": 800,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "meverse-chain-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,30 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Shinarium Beta",
|
||||
"chain": "Shinarium",
|
||||
"rpc": [
|
||||
"https://shinarium-beta.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.shinarium.org"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.shinarium.org"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Shina Inu",
|
||||
"symbol": "SHI",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://shinarium.org",
|
||||
"shortName": "shi",
|
||||
"chainId": 534849,
|
||||
"networkId": 534849,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "shinascan",
|
||||
"url": "https://shinascan.shinarium.org",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "shinarium-beta"
|
||||
} as const satisfies Chain;
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Binance Smart Chain Mainnet",
|
||||
"name": "BNB Smart Chain Mainnet",
|
||||
"chain": "BSC",
|
||||
"rpc": [
|
||||
"https://binance.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://bnb-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"wss://bsc-ws-node.nariox.org",
|
||||
"https://bsc.publicnode.com",
|
||||
"https://bsc-dataseed4.ninicoin.io",
|
||||
@@ -14,20 +14,20 @@ export default {
|
||||
"https://bsc-dataseed3.defibit.io",
|
||||
"https://bsc-dataseed2.defibit.io",
|
||||
"https://bsc-dataseed1.defibit.io",
|
||||
"https://bsc-dataseed4.binance.org",
|
||||
"https://bsc-dataseed3.binance.org",
|
||||
"https://bsc-dataseed2.binance.org",
|
||||
"https://bsc-dataseed1.binance.org"
|
||||
"https://bsc-dataseed4.bnbchain.org",
|
||||
"https://bsc-dataseed3.bnbchain.org",
|
||||
"https://bsc-dataseed2.bnbchain.org",
|
||||
"https://bsc-dataseed1.bnbchain.org"
|
||||
],
|
||||
"faucets": [
|
||||
"https://free-online-app.com/faucet-for-eth-evm-chains/"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Binance Chain Native Token",
|
||||
"name": "BNB Chain Native Token",
|
||||
"symbol": "BNB",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.binance.org",
|
||||
"infoURL": "https://www.bnbchain.org/en",
|
||||
"shortName": "bnb",
|
||||
"chainId": 56,
|
||||
"networkId": 56,
|
||||
@@ -46,5 +46,5 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"testnet": false,
|
||||
"slug": "binance"
|
||||
"slug": "bnb-smart-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -5,9 +5,11 @@ export default {
|
||||
"rpc": [
|
||||
"https://boba-bnb.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://bnb.boba.network",
|
||||
"wss://wss.bnb.boba.network",
|
||||
"http://boba-bnb.gateway.tenderly.co/",
|
||||
"http://gateway.tenderly.co/public/boba-bnb",
|
||||
"https://replica.bnb.boba.network",
|
||||
"wss://replica-wss.bnb.boba.network"
|
||||
"wss://boba-bnb.gateway.tenderly.co/",
|
||||
"wss://gateway.tenderly.co/public/boba-bnb"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
@@ -26,6 +28,15 @@ export default {
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-5",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://gateway.boba.network"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": false,
|
||||
"slug": "boba-bnb"
|
||||
} as const satisfies Chain;
|
||||
@@ -5,6 +5,7 @@ export default {
|
||||
"rpc": [
|
||||
"https://rollux.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.rollux.com",
|
||||
"https://rollux.public-rpc.com",
|
||||
"wss://rpc.rollux.com/wss",
|
||||
"https://rpc.ankr.com/rollux/${ANKR_API_KEY}"
|
||||
],
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Sepolia PGN (Public Goods Network)",
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://sepolia-pgn-public-goods-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://sepolia.publicgoods.network"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Sepolia Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"infoURL": "https://publicgoods.network/",
|
||||
"shortName": "sepPGN",
|
||||
"chainId": 58008,
|
||||
"networkId": 58008,
|
||||
"icon": {
|
||||
"url": "ipfs://QmUVJ7MLCEAfq3pHVPFLscqRMiyAY5biVgTkeDQCmAhHNS",
|
||||
"width": 574,
|
||||
"height": 574,
|
||||
"format": "svg"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.sepolia.publicgoods.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-11155111",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://pgn-bridge.vercel.app/bridge"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": false,
|
||||
"slug": "sepolia-pgn-public-goods-network"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,32 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Linea Mainnet",
|
||||
"chain": "Linea Mainnet",
|
||||
"shortName": "linea-mainnet",
|
||||
"chainId": 59144,
|
||||
"testnet": false,
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"rpc": [],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Linea Scan",
|
||||
"url": "https://lineascan.build",
|
||||
"standard": ""
|
||||
}
|
||||
],
|
||||
"faucets": [
|
||||
"https://www.infura.io/faucet/linea"
|
||||
],
|
||||
"infoURL": "https://docs.linea.build/overview",
|
||||
"icon": {
|
||||
"url": "ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH",
|
||||
"height": 512,
|
||||
"width": 512,
|
||||
"format": "svg"
|
||||
},
|
||||
"slug": "linea"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,53 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Cascadia Testnet",
|
||||
"chain": "Cascadia",
|
||||
"rpc": [
|
||||
"https://cascadia-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet.cascadia.foundation"
|
||||
],
|
||||
"faucets": [
|
||||
"https://www.cascadia.foundation/faucet"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "CC",
|
||||
"symbol": "tCC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.cascadia.foundation",
|
||||
"shortName": "cascadia",
|
||||
"chainId": 6102,
|
||||
"networkId": 6102,
|
||||
"icon": {
|
||||
"url": "ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Cascadia EVM Explorer",
|
||||
"url": "https://explorer.cascadia.foundation",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Cascadia Cosmos Explorer",
|
||||
"url": "https://validator.cascadia.foundation",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "cascadia-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,40 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Avocado",
|
||||
"chain": "Avocado",
|
||||
"rpc": [
|
||||
"https://avocado.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.avocado.instadapp.io"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "USDC",
|
||||
"symbol": "USDC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://avocado.instadapp.io",
|
||||
"shortName": "avocado",
|
||||
"chainId": 634,
|
||||
"networkId": 634,
|
||||
"icon": {
|
||||
"url": "ipfs://Qma9rJSgy32UL1iXtXKFZQJA6FjkcUcDU4HR6y13Wu1vjn",
|
||||
"width": 600,
|
||||
"height": 600,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "avoscan",
|
||||
"url": "https://avoscan.co",
|
||||
"icon": {
|
||||
"url": "ipfs://Qma9rJSgy32UL1iXtXKFZQJA6FjkcUcDU4HR6y13Wu1vjn",
|
||||
"width": 600,
|
||||
"height": 600,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "avocado"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,34 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "ALL Mainnet",
|
||||
"chain": "ALL",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreibqe2mgiqezi24sx272kunqt6pv7uzxhpkxuobvpbsptce3q6nn5i",
|
||||
"width": 1000,
|
||||
"height": 1000,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://all.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.alltra.global"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "ALL",
|
||||
"symbol": "ALL",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://alltra.world",
|
||||
"shortName": "ALL",
|
||||
"chainId": 651940,
|
||||
"networkId": 651940,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Alltra SmartChain Explorer",
|
||||
"url": "https://alltra.global",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "all"
|
||||
} as const satisfies Chain;
|
||||
@@ -10,8 +10,7 @@ export default {
|
||||
},
|
||||
"rpc": [
|
||||
"https://zetachain-athens-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://zetachain-athens-evm.blockpi.network/v1/rpc/public",
|
||||
"wss://zetachain-athens.blockpi.network/rpc/v1/public/websocket"
|
||||
"https://api.athens2.zetachain.com/evm"
|
||||
],
|
||||
"faucets": [
|
||||
"https://labs.zetachain.com/get-zeta"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "MEVerse Chain Mainnet",
|
||||
"chain": "MEVerse",
|
||||
"rpc": [
|
||||
"https://meverse-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.meversemainnet.io"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MEVerse",
|
||||
"symbol": "MEV",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.meverse.sg",
|
||||
"shortName": "MEV",
|
||||
"chainId": 7518,
|
||||
"networkId": 7518,
|
||||
"icon": {
|
||||
"url": "ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ",
|
||||
"width": 800,
|
||||
"height": 800,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "MEVerse Chain Explorer",
|
||||
"url": "https://www.meversescan.io",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ",
|
||||
"width": 800,
|
||||
"height": 800,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "meverse-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -2,7 +2,9 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Base",
|
||||
"chain": "ETH",
|
||||
"rpc": [],
|
||||
"rpc": [
|
||||
"https://base.rpc.thirdweb.com/${THIRDWEB_API_KEY}"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
|
||||
@@ -26,19 +26,8 @@ export default {
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Evmos EVM Explorer",
|
||||
"url": "https://evm.evmos.dev",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c",
|
||||
"width": 400,
|
||||
"height": 400,
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Evmos Cosmos Explorer",
|
||||
"url": "https://explorer.evmos.dev",
|
||||
"name": "Evmos Explorer (Escan)",
|
||||
"url": "https://testnet.escan.live",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c",
|
||||
|
||||
@@ -4,7 +4,6 @@ export default {
|
||||
"chain": "Evmos",
|
||||
"rpc": [
|
||||
"https://evmos.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://eth.bd.evmos.org:8545",
|
||||
"https://evmos-evm.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
@@ -25,7 +24,7 @@ export default {
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Evmos EVM Explorer (Escan)",
|
||||
"name": "Evmos Explorer (Escan)",
|
||||
"url": "https://escan.live",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
@@ -34,17 +33,6 @@ export default {
|
||||
"height": 400,
|
||||
"format": "png"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Evmos Cosmos Explorer (Mintscan)",
|
||||
"url": "https://www.mintscan.io/evmos",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c",
|
||||
"width": 400,
|
||||
"height": 400,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Binance Smart Chain Testnet",
|
||||
"name": "BNB Smart Chain Testnet",
|
||||
"chain": "BSC",
|
||||
"rpc": [
|
||||
"https://binance-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://bnb-smart-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://bsc-testnet.publicnode.com",
|
||||
"https://data-seed-prebsc-2-s3.binance.org:8545",
|
||||
"https://data-seed-prebsc-1-s3.binance.org:8545",
|
||||
"https://data-seed-prebsc-2-s2.binance.org:8545",
|
||||
"https://data-seed-prebsc-1-s2.binance.org:8545",
|
||||
"https://data-seed-prebsc-2-s1.binance.org:8545",
|
||||
"https://data-seed-prebsc-1-s1.binance.org:8545"
|
||||
"https://data-seed-prebsc-2-s3.bnbchain.org:8545",
|
||||
"https://data-seed-prebsc-1-s3.bnbchain.org:8545",
|
||||
"https://data-seed-prebsc-2-s2.bnbchain.org:8545",
|
||||
"https://data-seed-prebsc-1-s2.bnbchain.org:8545",
|
||||
"https://data-seed-prebsc-2-s1.bnbchain.org:8545",
|
||||
"https://data-seed-prebsc-1-s1.bnbchain.org:8545"
|
||||
],
|
||||
"faucets": [
|
||||
"https://testnet.binance.org/faucet-smart"
|
||||
"https://testnet.bnbchain.org/faucet-smart"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "Binance Chain Native Token",
|
||||
"name": "BNB Chain Native Token",
|
||||
"symbol": "tBNB",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://testnet.binance.org/",
|
||||
"infoURL": "https://www.bnbchain.org/en",
|
||||
"shortName": "bnbt",
|
||||
"chainId": 97,
|
||||
"networkId": 97,
|
||||
@@ -38,5 +38,5 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"testnet": true,
|
||||
"slug": "binance-testnet"
|
||||
"slug": "bnb-smart-chain-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -26,6 +26,15 @@ export default {
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-5",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://gateway.boba.network"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": true,
|
||||
"slug": "boba-bnb-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
/** @type {Omit<Chain, "slug">} */
|
||||
export default {
|
||||
name: "Taro Testnet",
|
||||
name: "Bubs Testnet",
|
||||
chain: "gETH",
|
||||
shortName: "Taro",
|
||||
shortName: "Bubs",
|
||||
chainId: 1582,
|
||||
testnet: true,
|
||||
icon: {
|
||||
@@ -14,7 +14,7 @@ export default {
|
||||
width: 512,
|
||||
height: 512,
|
||||
},
|
||||
rpc: ["https://taro-testnet.calderachain.xyz/http"],
|
||||
rpc: ["https://bubs.calderachain.xyz/http"],
|
||||
nativeCurrency: {
|
||||
decimals: 18,
|
||||
name: "Ether",
|
||||
@@ -22,12 +22,12 @@ export default {
|
||||
},
|
||||
explorers: [
|
||||
{
|
||||
url: "https://explorer.tarotestnet.com",
|
||||
name: "Taro Testnet Explorer",
|
||||
url: "https://explorer.bubstestnet.com",
|
||||
name: "Bubs Testnet Explorer",
|
||||
standard: "EIP3091",
|
||||
},
|
||||
],
|
||||
faucets: ["https://tarotestnet.com"],
|
||||
infoURL: "https://tarotestnet.com",
|
||||
faucets: ["https://bubstestnet.com"],
|
||||
infoURL: "https://bubstestnet.com",
|
||||
networkId: 1582,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
// @ts-check
|
||||
/** @typedef { import("../../src/types").Chain } Chain */
|
||||
|
||||
/** @type {Omit<Chain, "slug">} */
|
||||
export default {
|
||||
name: "Linea Mainnet",
|
||||
chain: "Linea Mainnet",
|
||||
shortName: "linea-mainnet",
|
||||
chainId: 59144,
|
||||
testnet: false,
|
||||
nativeCurrency: {
|
||||
name: "Ether",
|
||||
symbol: "ETH",
|
||||
decimals: 18,
|
||||
},
|
||||
rpc: [],
|
||||
explorers: [
|
||||
{
|
||||
name: "Linea Scan",
|
||||
url: "https://lineascan.build",
|
||||
standard: "",
|
||||
},
|
||||
],
|
||||
faucets: ["https://www.infura.io/faucet/linea"],
|
||||
infoURL: "https://docs.linea.build/overview",
|
||||
icon: {
|
||||
url: "ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH",
|
||||
height: 512,
|
||||
width: 512,
|
||||
format: "svg",
|
||||
},
|
||||
};
|
||||
@@ -10,4 +10,5 @@ export default {
|
||||
width: 512,
|
||||
format: "png",
|
||||
},
|
||||
rpc: ["https://base.rpc.thirdweb.com/${THIRDWEB_API_KEY}"],
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/chains",
|
||||
"version": "0.1.26",
|
||||
"version": "0.1.31",
|
||||
"main": "dist/thirdweb-dev-chains.cjs.js",
|
||||
"module": "dist/thirdweb-dev-chains.esm.js",
|
||||
"browser": {
|
||||
@@ -23,18 +23,18 @@
|
||||
},
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/runtime": "^7.19.0",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"axios": "^1.3.4",
|
||||
"deepmerge": "^4.3.0",
|
||||
"axios": "^1.4.0",
|
||||
"deepmerge": "^4.3.1",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"jest": "^29.4.3",
|
||||
"plop": "^3.1.2",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"preconstruct": {
|
||||
"entrypoints": [
|
||||
|
||||
@@ -267,7 +267,7 @@ import type { Chain } from "./types";
|
||||
${exports.join("\n")}
|
||||
export * from "./types";
|
||||
export * from "./utils";
|
||||
export const defaultChains = [c1, c5, c84531, c137, c80001, c42161, c421613, c10, c420, c56, c97, c250, c4002, c43114, c43113, c1337];
|
||||
export const defaultChains = [c1, c5, c8453, c84531, c137, c80001, c42161, c421613, c10, c420, c56, c97, c250, c4002, c43114, c43113, c1337];
|
||||
export const allChains: Chain[] = [${exportNames.join(", ")}];
|
||||
|
||||
type ChainsById = {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,52 @@
|
||||
# thirdweb
|
||||
|
||||
## 0.10.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5)]:
|
||||
- @thirdweb-dev/chains@0.1.31
|
||||
- @thirdweb-dev/sdk@3.10.32
|
||||
|
||||
## 0.10.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2)]:
|
||||
- @thirdweb-dev/chains@0.1.30
|
||||
- @thirdweb-dev/sdk@3.10.31
|
||||
|
||||
## 0.10.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0), [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d), [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a)]:
|
||||
- @thirdweb-dev/storage@1.1.8
|
||||
- @thirdweb-dev/sdk@3.10.30
|
||||
- @thirdweb-dev/chains@0.1.29
|
||||
|
||||
## 0.10.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5), [`72ada475`](https://github.com/thirdweb-dev/js/commit/72ada47596d5d5c08736c33215faeec636b7156a), [`2c0bb078`](https://github.com/thirdweb-dev/js/commit/2c0bb0789955f6cd397b6fdb8e990a505251c631), [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61), [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352)]:
|
||||
- @thirdweb-dev/chains@0.1.28
|
||||
- @thirdweb-dev/sdk@3.10.29
|
||||
- @thirdweb-dev/storage@1.1.7
|
||||
|
||||
## 0.10.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1280](https://github.com/thirdweb-dev/js/pull/1280) [`53626f81`](https://github.com/thirdweb-dev/js/commit/53626f8100f400c46333617b14bd9fc144a7e801) Thanks [@Marfuen](https://github.com/Marfuen)! - Don't rely on package.json to export app
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- Updated dependencies [[`2d088d36`](https://github.com/thirdweb-dev/js/commit/2d088d367ca54233836dc69712fd411ab7924205), [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2), [`9daf0449`](https://github.com/thirdweb-dev/js/commit/9daf044926bf995ac8998929dbeca548c5eb8561), [`546353a4`](https://github.com/thirdweb-dev/js/commit/546353a479c11533818ef917c0f6b4d6f8f69872), [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96), [`0135a779`](https://github.com/thirdweb-dev/js/commit/0135a7790cf2acde6b701cb41ea10dd311da5ec3)]:
|
||||
- @thirdweb-dev/storage@1.1.6
|
||||
- @thirdweb-dev/chains@0.1.27
|
||||
- @thirdweb-dev/sdk@3.10.28
|
||||
|
||||
## 0.10.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+15
-15
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "thirdweb",
|
||||
"main": "dist/cli/index.js",
|
||||
"version": "0.10.28",
|
||||
"version": "0.10.33",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -14,25 +14,25 @@
|
||||
"@types/async-retry": "^1.3.0",
|
||||
"@types/cross-spawn": "^6.0.2",
|
||||
"@types/inquirer": "^8.2.1",
|
||||
"@types/jest": "^29.2.1",
|
||||
"@types/jest": "^29.5.2",
|
||||
"@types/js-yaml": "^4.0.5",
|
||||
"@types/node": "^18.0.0",
|
||||
"@types/prompts": "^2.0.14",
|
||||
"@types/node": "^18.16.18",
|
||||
"@types/prompts": "^2.4.4",
|
||||
"@types/rimraf": "^3.0.0",
|
||||
"@types/tar": "^6.1.2",
|
||||
"@types/update-notifier": "^6.0.1",
|
||||
"@types/tar": "^6.1.5",
|
||||
"@types/update-notifier": "^6.0.4",
|
||||
"@types/validate-npm-package-name": "^4.0.0",
|
||||
"chalk": "^5.2.0",
|
||||
"chalk": "^5.3.0",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"hardhat": "^2.9.3",
|
||||
"hardhat": "^2.16.1",
|
||||
"jest": "^29.4.3",
|
||||
"ora": "^6.1.2",
|
||||
"prettier": "^2.7.1",
|
||||
"ts-jest": "^29.0.3",
|
||||
"ora": "^6.3.1",
|
||||
"prettier": "^2.8.8",
|
||||
"ts-jest": "^29.1.0",
|
||||
"ts-node": "^10.7.0",
|
||||
"tsup": "^6.2.3",
|
||||
"typescript": "^4.7.4"
|
||||
"tsup": "^6.7.0",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@iarna/toml": "^2.2.5",
|
||||
@@ -53,10 +53,10 @@
|
||||
"rimraf": "^3.0.2",
|
||||
"solc": "0.8.17",
|
||||
"sync-disk-cache": "^2.1.0",
|
||||
"tar": "^6.1.11",
|
||||
"tar": "^6.1.15",
|
||||
"update-notifier": "^6.0.2",
|
||||
"validate-npm-package-name": "^4.0.0",
|
||||
"yaml": "^2.1.1"
|
||||
"yaml": "^2.3.1"
|
||||
},
|
||||
"bin": {
|
||||
"thirdweb": "./dist/cli/index.js"
|
||||
|
||||
@@ -35,19 +35,19 @@ export async function deployApp(distPath = "dist", projectPath = ".") {
|
||||
case "yarn":
|
||||
await runCommand("yarn", ["build"], true);
|
||||
if (detectedFramework === "next") {
|
||||
await runCommand("yarn", ["export"], true);
|
||||
await runCommand("yarn", ["next", "export"], true);
|
||||
}
|
||||
break;
|
||||
case "npm":
|
||||
await runCommand("npm", ["run", "build"], true);
|
||||
if (detectedFramework === "next") {
|
||||
await runCommand("npm", ["run", "export"], true);
|
||||
await runCommand("npx", ["next", "export"], true);
|
||||
}
|
||||
break;
|
||||
case "pnpm":
|
||||
await runCommand("pnpm", ["build"], true);
|
||||
if (detectedFramework === "next") {
|
||||
await runCommand("pnpm", ["export"], true);
|
||||
await runCommand("pnpm", ["next", "export"], true);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @thirdweb-dev/contracts-js
|
||||
|
||||
## 1.3.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1299](https://github.com/thirdweb-dev/js/pull/1299) [`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5) Thanks [@nkrishang](https://github.com/nkrishang)! - Add ERC721LoyaltyCard and ERC721UpdatableMetadata
|
||||
|
||||
## 1.3.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
## 1.3.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/contracts-js",
|
||||
"version": "1.3.7",
|
||||
"version": "1.3.9",
|
||||
"main": "dist/thirdweb-dev-contracts-js.cjs.js",
|
||||
"module": "dist/thirdweb-dev-contracts-js.esm.js",
|
||||
"browser": {
|
||||
@@ -10,20 +10,20 @@
|
||||
"license": "Apache-2.0",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/contracts-js",
|
||||
"dependencies": {
|
||||
"@thirdweb-dev/contracts": "3.5.9"
|
||||
"@thirdweb-dev/contracts": "3.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@ethersproject/abi": "^5.7.0",
|
||||
"@ethersproject/providers": "^5.7.2",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@typechain/ethers-v5": "10.0.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"ethers": "^5.7.2",
|
||||
"typechain": "^8.1.0",
|
||||
"typescript": "^4.7.4"
|
||||
"typechain": "^8.2.0",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ethers": "^5"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# eslint-config-thirdweb
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "eslint-config-thirdweb",
|
||||
"version": "0.1.4",
|
||||
"version": "0.1.5",
|
||||
"main": "index.js",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"eslint-config-next": "13.2.4",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-turbo": "^0.0.8",
|
||||
"eslint-plugin-react": "^7.28.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @thirdweb-dev/pay
|
||||
|
||||
## 0.1.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/pay",
|
||||
"version": "0.1.1",
|
||||
"version": "0.1.2",
|
||||
"main": "dist/thirdweb-dev-pay.cjs.js",
|
||||
"module": "dist/thirdweb-dev-pay.esm.js",
|
||||
"exports": {
|
||||
@@ -33,13 +33,13 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@coinbase/cbpay-js": "^1.6.0"
|
||||
"@coinbase/cbpay-js": "^1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"typescript": "^4.7.4",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*"
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier --write 'src/**/*'",
|
||||
|
||||
@@ -1,5 +1,57 @@
|
||||
# @thirdweb-dev/react-core
|
||||
|
||||
## 3.14.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5)]:
|
||||
- @thirdweb-dev/chains@0.1.31
|
||||
- @thirdweb-dev/sdk@3.10.32
|
||||
- @thirdweb-dev/wallets@1.0.8
|
||||
|
||||
## 3.14.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2)]:
|
||||
- @thirdweb-dev/chains@0.1.30
|
||||
- @thirdweb-dev/sdk@3.10.31
|
||||
- @thirdweb-dev/wallets@1.0.7
|
||||
|
||||
## 3.14.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0), [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d), [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a)]:
|
||||
- @thirdweb-dev/storage@1.1.8
|
||||
- @thirdweb-dev/sdk@3.10.30
|
||||
- @thirdweb-dev/chains@0.1.29
|
||||
- @thirdweb-dev/wallets@1.0.6
|
||||
|
||||
## 3.14.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1309](https://github.com/thirdweb-dev/js/pull/1309) [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352) Thanks [@jnsdls](https://github.com/jnsdls)! - unblock storage domains
|
||||
|
||||
- Updated dependencies [[`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5), [`72ada475`](https://github.com/thirdweb-dev/js/commit/72ada47596d5d5c08736c33215faeec636b7156a), [`2c0bb078`](https://github.com/thirdweb-dev/js/commit/2c0bb0789955f6cd397b6fdb8e990a505251c631), [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61), [`10b3a717`](https://github.com/thirdweb-dev/js/commit/10b3a717da606632a05769ac821bdd21d6b63a03), [`b4aee9b5`](https://github.com/thirdweb-dev/js/commit/b4aee9b59121bab5f9b3d9b7ecdc4bcb4cd66f58), [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352)]:
|
||||
- @thirdweb-dev/chains@0.1.28
|
||||
- @thirdweb-dev/sdk@3.10.29
|
||||
- @thirdweb-dev/wallets@1.0.5
|
||||
- @thirdweb-dev/storage@1.1.7
|
||||
|
||||
## 3.14.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- Updated dependencies [[`2d088d36`](https://github.com/thirdweb-dev/js/commit/2d088d367ca54233836dc69712fd411ab7924205), [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2), [`9daf0449`](https://github.com/thirdweb-dev/js/commit/9daf044926bf995ac8998929dbeca548c5eb8561), [`546353a4`](https://github.com/thirdweb-dev/js/commit/546353a479c11533818ef917c0f6b4d6f8f69872), [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96), [`0135a779`](https://github.com/thirdweb-dev/js/commit/0135a7790cf2acde6b701cb41ea10dd311da5ec3)]:
|
||||
- @thirdweb-dev/storage@1.1.6
|
||||
- @thirdweb-dev/wallets@1.0.4
|
||||
- @thirdweb-dev/chains@0.1.27
|
||||
- @thirdweb-dev/sdk@3.10.28
|
||||
|
||||
## 3.14.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-core",
|
||||
"version": "3.14.7",
|
||||
"version": "3.14.12",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-core",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -66,26 +66,26 @@
|
||||
},
|
||||
"sideEffects:": false,
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/runtime": "^7.19.0",
|
||||
"@microsoft/api-documenter": "^7.19.4",
|
||||
"@microsoft/api-extractor": "^7.29.2",
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/preset-react": "^7.22.5",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"@microsoft/api-documenter": "^7.22.21",
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
"@microsoft/tsdoc": "^0.14.1",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@solana/wallet-adapter-react": "^0.15.19",
|
||||
"@solana/web3.js": "^1.62.0",
|
||||
"@thirdweb-dev/auth": "workspace:*",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/js-cookie": "^3.0.3",
|
||||
"@types/mime": "3.0.0",
|
||||
"@types/react": "^18.0.5",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"eslint": "^8.42.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"@types/react": "^18.2.14",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-better-tree-shaking": "0.0.3",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
@@ -93,12 +93,12 @@
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-tsdoc": "^0.2.16",
|
||||
"ethers": "^5.7.2",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier": "^2.8.8",
|
||||
"react": "^18.2.0",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tanstack/react-query": "^4.0.10",
|
||||
"@tanstack/react-query": "^4.29.19",
|
||||
"@thirdweb-dev/chains": "workspace:*",
|
||||
"@thirdweb-dev/generated-abis": "workspace:^",
|
||||
"@thirdweb-dev/sdk": "workspace:*",
|
||||
|
||||
@@ -1,25 +1,10 @@
|
||||
import mime from "mime/lite.js";
|
||||
import {
|
||||
parseGatewayUrls,
|
||||
prepareGatewayUrls,
|
||||
replaceSchemeWithGatewayUrl,
|
||||
} from "@thirdweb-dev/storage";
|
||||
|
||||
// TODO legacy remove this when possible
|
||||
export interface IPFSResolverOptions {
|
||||
gatewayUrl: string;
|
||||
}
|
||||
|
||||
export function resolveIpfsUri(uri?: string, options?: IPFSResolverOptions) {
|
||||
if (!uri) {
|
||||
return undefined;
|
||||
}
|
||||
const gatewayUrls = prepareGatewayUrls(
|
||||
parseGatewayUrls(options?.gatewayUrl ? [options?.gatewayUrl] : undefined),
|
||||
);
|
||||
return replaceSchemeWithGatewayUrl(uri, gatewayUrls);
|
||||
}
|
||||
|
||||
export async function resolveMimeType(url?: string) {
|
||||
if (!url) {
|
||||
return undefined;
|
||||
|
||||
@@ -328,7 +328,7 @@ export function useContractMetadata<TContract extends ValidContractInstance>(
|
||||
cacheKeys.contract.metadata(contract?.getAddress()),
|
||||
async () => {
|
||||
requiredParamInvariant(contract, "contract is required");
|
||||
return await contract.metadata.get();
|
||||
return (await contract.metadata.get()) as any; // FIXME types
|
||||
},
|
||||
{
|
||||
enabled: !!contract,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export { resolveIpfsUri, resolveMimeType } from "../core/utils/ipfs";
|
||||
export { resolveMimeType } from "../core/utils/ipfs";
|
||||
|
||||
export { ThirdwebThemeContext } from "../core/providers/theme-context";
|
||||
export { ThirdwebProviderCore } from "../core/providers/thirdweb-provider";
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# @thirdweb-dev/react-native-compat
|
||||
|
||||
## 0.2.31
|
||||
|
||||
## 0.2.30
|
||||
|
||||
## 0.2.29
|
||||
|
||||
## 0.2.28
|
||||
|
||||
## 0.2.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
## 0.2.26
|
||||
|
||||
## 0.2.25
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-native-compat",
|
||||
"description": "Shims for Thirdweb in React Native Projects",
|
||||
"version": "0.2.26",
|
||||
"version": "0.2.31",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native-compat",
|
||||
"license": "Apache-2.0",
|
||||
@@ -22,10 +22,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@ethersproject/shims": "^5.7.0",
|
||||
"@walletconnect/react-native-compat": "^2.3.3",
|
||||
"@walletconnect/react-native-compat": "^2.8.6",
|
||||
"base-64": "^1.0.0",
|
||||
"big-integer": "^1.6.51",
|
||||
"react-native-get-random-values": "^1.8.0"
|
||||
"react-native-get-random-values": "^1.9.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ethers": "^5.5.1",
|
||||
@@ -34,12 +34,12 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/node": "^18.0.0",
|
||||
"@types/node": "^18.16.18",
|
||||
"babel-plugin-module-resolver": "^5.0.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"ethers": "^5.7.2",
|
||||
"react": "^18.2.0",
|
||||
"react-native": "^0.71.0",
|
||||
"typescript": "^4.7.4"
|
||||
"react-native": "^0.71.11",
|
||||
"typescript": "^5.1.6"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,91 @@
|
||||
# @thirdweb-dev/react-native
|
||||
|
||||
## 0.2.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5)]:
|
||||
- @thirdweb-dev/chains@0.1.31
|
||||
- @thirdweb-dev/react-core@3.14.12
|
||||
- @thirdweb-dev/sdk@3.10.32
|
||||
- @thirdweb-dev/wallets@1.0.8
|
||||
|
||||
## 0.2.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2)]:
|
||||
- @thirdweb-dev/chains@0.1.30
|
||||
- @thirdweb-dev/react-core@3.14.11
|
||||
- @thirdweb-dev/sdk@3.10.31
|
||||
- @thirdweb-dev/wallets@1.0.7
|
||||
|
||||
## 0.2.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0), [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d), [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a)]:
|
||||
- @thirdweb-dev/storage@1.1.8
|
||||
- @thirdweb-dev/sdk@3.10.30
|
||||
- @thirdweb-dev/chains@0.1.29
|
||||
- @thirdweb-dev/react-core@3.14.10
|
||||
- @thirdweb-dev/wallets@1.0.6
|
||||
|
||||
## 0.2.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1283](https://github.com/thirdweb-dev/js/pull/1283) [`8672c853`](https://github.com/thirdweb-dev/js/commit/8672c8533c694cad46242672ec23b883049bd526) Thanks [@iketw](https://github.com/iketw)! - SDK improvements:
|
||||
|
||||
1. You can now pass an `extraRows` prop to the ConnectWallet button. This will render the `extraRows` at the bottom of the connected wallet details modal.
|
||||
|
||||
```javascript
|
||||
import {
|
||||
BaseButton,
|
||||
Box,
|
||||
ConnectWallet,
|
||||
Text,
|
||||
} from "@thirdweb-dev/react-native";
|
||||
|
||||
const extraRows = () => {
|
||||
return (
|
||||
<Box>
|
||||
<Text variant="bodySmallSecondary" textAlign="center" mt="sm">
|
||||
Extra option
|
||||
</Text>
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
<ConnectWallet theme={"dark"} extraRows={extraRows} />;
|
||||
```
|
||||
|
||||
2. You can now import a local wallet by a mnemoic as well.
|
||||
|
||||
When creating a Local/Guest Wallet the import wallet modal accepts both a privateKey or a mnemonic. This makes it easier for users to import their wallets into your app
|
||||
|
||||
- [#1309](https://github.com/thirdweb-dev/js/pull/1309) [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352) Thanks [@jnsdls](https://github.com/jnsdls)! - unblock storage domains
|
||||
|
||||
- Updated dependencies [[`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5), [`72ada475`](https://github.com/thirdweb-dev/js/commit/72ada47596d5d5c08736c33215faeec636b7156a), [`2c0bb078`](https://github.com/thirdweb-dev/js/commit/2c0bb0789955f6cd397b6fdb8e990a505251c631), [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61), [`10b3a717`](https://github.com/thirdweb-dev/js/commit/10b3a717da606632a05769ac821bdd21d6b63a03), [`b4aee9b5`](https://github.com/thirdweb-dev/js/commit/b4aee9b59121bab5f9b3d9b7ecdc4bcb4cd66f58), [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 0.2.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- Updated dependencies [[`2d088d36`](https://github.com/thirdweb-dev/js/commit/2d088d367ca54233836dc69712fd411ab7924205), [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2), [`9daf0449`](https://github.com/thirdweb-dev/js/commit/9daf044926bf995ac8998929dbeca548c5eb8561), [`546353a4`](https://github.com/thirdweb-dev/js/commit/546353a479c11533818ef917c0f6b4d6f8f69872), [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96), [`0135a779`](https://github.com/thirdweb-dev/js/commit/0135a7790cf2acde6b701cb41ea10dd311da5ec3)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 0.2.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react-native",
|
||||
"version": "0.2.26",
|
||||
"version": "0.2.31",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -26,9 +26,9 @@
|
||||
"dependencies": {
|
||||
"@coinbase/wallet-mobile-sdk": "1.0.6",
|
||||
"@magic-sdk/provider": "17.2.0",
|
||||
"@magic-sdk/react-native-bare": "^18.3.0",
|
||||
"@shopify/restyle": "^2.4.1",
|
||||
"@tanstack/react-query": "^4.0.10",
|
||||
"@magic-sdk/react-native-bare": "^18.5.0",
|
||||
"@shopify/restyle": "^2.4.2",
|
||||
"@tanstack/react-query": "^4.29.19",
|
||||
"@thirdweb-dev/chains": "workspace:*",
|
||||
"@thirdweb-dev/react-core": "workspace:*",
|
||||
"@thirdweb-dev/sdk": "workspace:*",
|
||||
@@ -41,38 +41,38 @@
|
||||
"expo-secure-store": "^12.1.1",
|
||||
"react-native-mmkv": "2.5.1",
|
||||
"react-native-modal": "^13.0.1",
|
||||
"react-native-svg": "^13.8.0",
|
||||
"react-native-svg": "^13.9.0",
|
||||
"tiny-invariant": "^1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/preset-env": "^7.1.6",
|
||||
"@react-native-async-storage/async-storage": "*",
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@react-native-async-storage/async-storage": "^1.18.2",
|
||||
"@react-native-community/eslint-config": "^3.0.2",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/jest": "^29.2.1",
|
||||
"@types/react": "^18.0.5",
|
||||
"@types/react-native": "^0.71.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.56.0",
|
||||
"@typescript-eslint/parser": "^5.56.0",
|
||||
"@types/jest": "^29.5.2",
|
||||
"@types/react": "^18.2.14",
|
||||
"@types/react-native": "^0.71.8",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"babel-jest": "^29.2.1",
|
||||
"eslint": "^8.42.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-inclusive-language": "^2.2.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"ethers": "^5.7.2",
|
||||
"expo": "^47.0.0",
|
||||
"expo": "^47.0.14",
|
||||
"jest": "^29.4.3",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier": "^2.8.8",
|
||||
"react": "^18.2.0",
|
||||
"react-native": "^0.71.0",
|
||||
"react-native": "^0.71.11",
|
||||
"react-native-camera": "^4.2.1",
|
||||
"react-native-device-info": "10.6.0",
|
||||
"react-native-safe-area-context": "4.5.3",
|
||||
"react-native-webview": "12.1.0",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"react-native-camera": "^4.2.1",
|
||||
|
||||
@@ -14,6 +14,11 @@ export type ConnectWalletProps = {
|
||||
* render a custom button to display the connected wallet details instead of the default button
|
||||
*/
|
||||
detailsButton?: ConnectWalletDetailsProps["detailsButton"];
|
||||
|
||||
/**
|
||||
* render custom rows in the Connect Wallet Details modal
|
||||
*/
|
||||
extraRows?: ConnectWalletDetailsProps["extraRows"];
|
||||
} & ConnectWalletButtonProps;
|
||||
|
||||
export const ConnectWallet = ({
|
||||
@@ -21,6 +26,7 @@ export const ConnectWallet = ({
|
||||
theme,
|
||||
buttonTitle,
|
||||
modalTitle,
|
||||
extraRows,
|
||||
}: ConnectWalletProps) => {
|
||||
const fadeAnim = useRef(new Animated.Value(0)).current;
|
||||
const address = useAddress();
|
||||
@@ -40,6 +46,7 @@ export const ConnectWallet = ({
|
||||
<WalletDetailsButton
|
||||
address={address}
|
||||
detailsButton={detailsButton}
|
||||
extraRows={extraRows}
|
||||
/>
|
||||
) : (
|
||||
<ConnectWalletButton
|
||||
|
||||
+73
-43
@@ -1,11 +1,11 @@
|
||||
import { Linking, StyleSheet, View } from "react-native";
|
||||
import { Dimensions, Linking, StyleSheet, View } from "react-native";
|
||||
import Box from "../base/Box";
|
||||
import { Toast } from "../base/Toast";
|
||||
import { ExportLocalWalletModal } from "./ExportLocalWalletModal";
|
||||
import { NetworkButton } from "../base/NetworkButton";
|
||||
import { WalletDetailsModalHeader } from "./WalletDetailsModalHeader";
|
||||
import {
|
||||
useActiveChain,
|
||||
useChain,
|
||||
useDisconnect,
|
||||
useSetConnectedWallet,
|
||||
useWallet,
|
||||
@@ -18,24 +18,34 @@ import { useSmartWallet } from "../../providers/context-provider";
|
||||
import BaseButton from "../base/BaseButton";
|
||||
import { SmartWalletAdditionalActions } from "./SmartWalletAdditionalActions";
|
||||
import Text from "../base/Text";
|
||||
import { useModalState } from "../../providers/ui-context-provider";
|
||||
import { CLOSE_MODAL_STATE, WalletDetailsModal } from "../../utils/modalTypes";
|
||||
import { useAppTheme } from "../../styles/hooks";
|
||||
import { LocalWalletImportModal } from "../ConnectWalletFlow/LocalWalletImportModal";
|
||||
import { IconTextButton } from "../base/IconTextButton";
|
||||
import MoneyIcon from "../../assets/money";
|
||||
import { TWModal } from "../base/modal/TWModal";
|
||||
|
||||
export const ConnectWalletDetailsModal = () => {
|
||||
const MODAL_HEIGHT = Dimensions.get("window").height * 0.7;
|
||||
const DEVICE_WIDTH = Dimensions.get("window").width;
|
||||
|
||||
export const ConnectWalletDetailsModal = ({
|
||||
isVisible,
|
||||
onClosePress,
|
||||
extraRows,
|
||||
address,
|
||||
}: {
|
||||
isVisible: boolean;
|
||||
onClosePress: () => void;
|
||||
extraRows?: React.FC;
|
||||
address?: string;
|
||||
}) => {
|
||||
const theme = useAppTheme();
|
||||
const [isExportModalVisible, setIsExportModalVisible] = useState(false);
|
||||
const activeWallet = useWallet();
|
||||
const chain = useActiveChain();
|
||||
const chain = useChain();
|
||||
const disconnect = useDisconnect();
|
||||
const [smartWallet, setSmartWallet] = useSmartWallet();
|
||||
const [addressCopied, setAddressCopied] = useState(false);
|
||||
const [isImportModalVisible, setIsImportModalVisible] = useState(false);
|
||||
const { modalState, setModalState } = useModalState();
|
||||
const { address } = (modalState as WalletDetailsModal).data;
|
||||
const setConnectedWallet = useSetConnectedWallet();
|
||||
|
||||
useEffect(() => {
|
||||
@@ -50,8 +60,8 @@ export const ConnectWalletDetailsModal = () => {
|
||||
|
||||
const onDisconnectPress = () => {
|
||||
disconnect().finally(() => {
|
||||
setModalState(CLOSE_MODAL_STATE("ConnectWalletDetailsModal"));
|
||||
setSmartWallet?.(undefined);
|
||||
onClosePress();
|
||||
});
|
||||
};
|
||||
|
||||
@@ -176,45 +186,65 @@ export const ConnectWalletDetailsModal = () => {
|
||||
]);
|
||||
|
||||
return (
|
||||
<Box>
|
||||
<ExportLocalWalletModal
|
||||
isVisible={isExportModalVisible}
|
||||
onClose={onExportModalClose}
|
||||
/>
|
||||
<WalletDetailsModalHeader
|
||||
address={address}
|
||||
onDisconnectPress={onDisconnectPress}
|
||||
onAddressCopied={onAddressCopied}
|
||||
/>
|
||||
<View style={styles.currentNetwork}>
|
||||
<Text variant="bodySmallSecondary">Current Network</Text>
|
||||
<TWModal isVisible={isVisible} onBackdropPress={onClosePress}>
|
||||
<View
|
||||
style={[styles.modal, { backgroundColor: theme.colors.background }]}
|
||||
>
|
||||
<Box style={styles.contentContainer}>
|
||||
<ExportLocalWalletModal
|
||||
isVisible={isExportModalVisible}
|
||||
onClose={onExportModalClose}
|
||||
/>
|
||||
<WalletDetailsModalHeader
|
||||
address={address}
|
||||
onDisconnectPress={onDisconnectPress}
|
||||
onAddressCopied={onAddressCopied}
|
||||
/>
|
||||
<View style={styles.currentNetwork}>
|
||||
<Text variant="bodySmallSecondary">Current Network</Text>
|
||||
</View>
|
||||
<NetworkButton
|
||||
chainIconUrl={chain?.icon?.url || ""}
|
||||
chainName={chain?.name || "Unknown Network"}
|
||||
onPress={onChangeNetworkPress}
|
||||
/>
|
||||
{chain?.testnet && chain?.faucets?.length ? (
|
||||
<IconTextButton
|
||||
mt="xs"
|
||||
text="Request Testnet Funds"
|
||||
icon={<MoneyIcon height={10} width={10} />}
|
||||
onPress={() => {
|
||||
if (chain?.faucets?.[0]) {
|
||||
Linking.openURL(chain.faucets[0]);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
) : null}
|
||||
{getAdditionalActions()}
|
||||
{extraRows ? extraRows({}) : null}
|
||||
{addressCopied === true ? (
|
||||
<Toast text={"Address copied to clipboard"} />
|
||||
) : null}
|
||||
</Box>
|
||||
</View>
|
||||
<NetworkButton
|
||||
chainIconUrl={chain?.icon?.url || ""}
|
||||
chainName={chain?.name || "Unknown Network"}
|
||||
onPress={onChangeNetworkPress}
|
||||
/>
|
||||
{chain?.testnet && chain?.faucets?.length ? (
|
||||
<IconTextButton
|
||||
mt="xs"
|
||||
text="Request Testnet Funds"
|
||||
icon={<MoneyIcon height={10} width={10} />}
|
||||
onPress={() => {
|
||||
if (chain?.faucets?.[0]) {
|
||||
Linking.openURL(chain.faucets[0]);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
) : null}
|
||||
{getAdditionalActions()}
|
||||
{addressCopied === true ? (
|
||||
<Toast text={"Address copied to clipboard"} />
|
||||
) : null}
|
||||
</Box>
|
||||
</TWModal>
|
||||
);
|
||||
};
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
modal: {
|
||||
position: "absolute",
|
||||
bottom: -20,
|
||||
left: -20,
|
||||
width: DEVICE_WIDTH,
|
||||
borderTopLeftRadius: 24,
|
||||
borderTopRightRadius: 24,
|
||||
padding: 24,
|
||||
},
|
||||
contentContainer: {
|
||||
maxHeight: MODAL_HEIGHT,
|
||||
display: "flex",
|
||||
},
|
||||
exportWalletInfo: {
|
||||
flex: 1,
|
||||
justifyContent: "flex-start",
|
||||
|
||||
+22
-12
@@ -6,37 +6,47 @@ import { WalletIcon } from "../base/WalletIcon";
|
||||
import { useWallet, useBalance, useChain } from "@thirdweb-dev/react-core";
|
||||
import { StyleSheet } from "react-native";
|
||||
import { LocalWallet } from "@thirdweb-dev/wallets";
|
||||
import { useModalState } from "../../providers/ui-context-provider";
|
||||
import Box from "../base/Box";
|
||||
import { ConnectWalletDetailsModal } from "./ConnectWalletDetailsModal";
|
||||
import { useState } from "react";
|
||||
|
||||
export type ConnectWalletDetailsProps = {
|
||||
address: string;
|
||||
address?: string;
|
||||
detailsButton?: React.FC<{ onPress: () => void }>;
|
||||
extraRows?: React.FC;
|
||||
};
|
||||
|
||||
export const WalletDetailsButton = ({
|
||||
address,
|
||||
detailsButton,
|
||||
extraRows,
|
||||
}: ConnectWalletDetailsProps) => {
|
||||
const activeWallet = useWallet();
|
||||
const chain = useChain();
|
||||
const balanceQuery = useBalance();
|
||||
const { setModalState } = useModalState();
|
||||
const [isModalVisible, setIsModalVisible] = useState(false);
|
||||
|
||||
const onPress = () => {
|
||||
setModalState({
|
||||
view: "WalletDetails",
|
||||
data: {
|
||||
address: address,
|
||||
},
|
||||
isOpen: true,
|
||||
isSheet: true,
|
||||
caller: "ConnectWalletDetails",
|
||||
});
|
||||
// setModalState({
|
||||
// view: "WalletDetails",
|
||||
// data: {
|
||||
// address: address,
|
||||
// },
|
||||
// isOpen: true,
|
||||
// isSheet: true,
|
||||
// caller: "ConnectWalletDetails",
|
||||
// });
|
||||
setIsModalVisible(!isModalVisible);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<ConnectWalletDetailsModal
|
||||
isVisible={isModalVisible}
|
||||
onClosePress={onPress}
|
||||
extraRows={extraRows}
|
||||
address={address}
|
||||
/>
|
||||
{detailsButton ? (
|
||||
detailsButton({ onPress })
|
||||
) : (
|
||||
|
||||
+4
-1
@@ -12,7 +12,7 @@ import CopyIcon from "../../assets/copy";
|
||||
import { useState } from "react";
|
||||
|
||||
interface WalletDetailsModalHeaderProps {
|
||||
address: string;
|
||||
address?: string;
|
||||
onDisconnectPress: () => void;
|
||||
onAddressCopied?: () => void;
|
||||
loading?: boolean;
|
||||
@@ -29,6 +29,9 @@ export const WalletDetailsModalHeader = ({
|
||||
const [showLoading, setShowLoading] = useState(false);
|
||||
|
||||
const onAddressPress = async () => {
|
||||
if (!address) {
|
||||
return;
|
||||
}
|
||||
await Clipboard.setStringAsync(address);
|
||||
onAddressCopied?.();
|
||||
};
|
||||
|
||||
+41
-27
@@ -16,6 +16,7 @@ import * as FileSystem from "expo-file-system";
|
||||
import { TWModal } from "../base/modal/TWModal";
|
||||
import { localWallet } from "../../wallets/wallets/local-wallet";
|
||||
import { TextInput } from "../base";
|
||||
import { useAppTheme } from "../../styles/hooks";
|
||||
|
||||
export type LocalWalletImportModalProps = {
|
||||
isVisible: boolean;
|
||||
@@ -29,11 +30,14 @@ export const LocalWalletImportModal = ({
|
||||
onWalletImported,
|
||||
}: LocalWalletImportModalProps) => {
|
||||
const [password, setPassword] = useState<string | undefined>();
|
||||
const [privateKey, setPrivateKey] = useState<string | undefined>(undefined);
|
||||
const [privateKeyOrMnemonic, setPrivateKeyOrMnemonic] = useState<
|
||||
string | undefined
|
||||
>(undefined);
|
||||
const [jsonFile, setJsonFile] = useState<string | undefined>();
|
||||
const [error, setError] = useState<string | undefined>();
|
||||
const [isImporting, setIsImporting] = useState<boolean>(false);
|
||||
const createWalletInstance = useCreateWalletInstance();
|
||||
const theme = useAppTheme();
|
||||
|
||||
const createLocalWalletFromJsonFile = async () => {
|
||||
if (!jsonFile || !password) {
|
||||
@@ -65,17 +69,24 @@ export const LocalWalletImportModal = ({
|
||||
};
|
||||
|
||||
const createLocalWalletPK = async () => {
|
||||
if (!privateKey) {
|
||||
if (!privateKeyOrMnemonic) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const localWalletInstance = createWalletInstance(localWallet());
|
||||
|
||||
try {
|
||||
await localWalletInstance.import({
|
||||
privateKey: privateKey,
|
||||
encryption: false,
|
||||
});
|
||||
if (privateKeyOrMnemonic.indexOf(" ") === -1) {
|
||||
await localWalletInstance.import({
|
||||
privateKey: privateKeyOrMnemonic,
|
||||
encryption: false,
|
||||
});
|
||||
} else {
|
||||
await localWalletInstance.import({
|
||||
mnemonic: privateKeyOrMnemonic,
|
||||
encryption: false,
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("Error importing the wallet", err);
|
||||
return null;
|
||||
@@ -88,27 +99,29 @@ export const LocalWalletImportModal = ({
|
||||
setError(undefined);
|
||||
setIsImporting(true);
|
||||
|
||||
let localWalletInstance = await createLocalWalletFromJsonFile();
|
||||
setTimeout(async () => {
|
||||
let localWalletInstance = await createLocalWalletFromJsonFile();
|
||||
|
||||
if (!localWalletInstance) {
|
||||
localWalletInstance = await createLocalWalletPK();
|
||||
}
|
||||
if (!localWalletInstance) {
|
||||
localWalletInstance = await createLocalWalletPK();
|
||||
}
|
||||
|
||||
if (!localWalletInstance) {
|
||||
setError("Please, double check your password or private key.");
|
||||
setIsImporting(false);
|
||||
return;
|
||||
}
|
||||
|
||||
localWalletInstance.save({
|
||||
strategy: "privateKey",
|
||||
encryption: false,
|
||||
});
|
||||
|
||||
onWalletImported(localWalletInstance);
|
||||
|
||||
if (!localWalletInstance) {
|
||||
setError("Please, double check your password or private key.");
|
||||
setIsImporting(false);
|
||||
return;
|
||||
}
|
||||
|
||||
localWalletInstance.save({
|
||||
strategy: "privateKey",
|
||||
encryption: false,
|
||||
});
|
||||
|
||||
onWalletImported(localWalletInstance);
|
||||
|
||||
setIsImporting(false);
|
||||
onCloseInternal();
|
||||
onCloseInternal();
|
||||
}, 0);
|
||||
};
|
||||
|
||||
const onCloseInternal = () => {
|
||||
@@ -139,7 +152,7 @@ export const LocalWalletImportModal = ({
|
||||
};
|
||||
|
||||
const onPrivateKeyEntered = (text: string) => {
|
||||
setPrivateKey(text);
|
||||
setPrivateKeyOrMnemonic(text);
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -180,11 +193,12 @@ export const LocalWalletImportModal = ({
|
||||
{error}
|
||||
</Text>
|
||||
<Text variant="bodySmall" m="xs" textAlign="center">
|
||||
---- Or enter a private key ----
|
||||
---- Or Private key or Mnemonic ----
|
||||
</Text>
|
||||
<TextInput
|
||||
secureTextEntry={true}
|
||||
placeholder={"Private key"}
|
||||
placeholder={"Private key / Mnemonic"}
|
||||
placeholderTextColor={theme.colors.textSecondary}
|
||||
onChangeText={onPrivateKeyEntered}
|
||||
/>
|
||||
<Box
|
||||
|
||||
@@ -2,7 +2,6 @@ import { useModalState } from "../providers/ui-context-provider";
|
||||
import { ConnectWalletFlow } from "./ConnectWalletFlow/ConnectWalletFlow";
|
||||
import { Dimensions, StyleSheet, View } from "react-native";
|
||||
import { useMemo } from "react";
|
||||
import { ConnectWalletDetailsModal } from "./ConnectWalletDetails/ConnectWalletDetailsModal";
|
||||
import { CLOSE_MODAL_STATE } from "../utils/modalTypes";
|
||||
import { ThemeProvider } from "../styles/ThemeProvider";
|
||||
import { useAppTheme } from "../styles/hooks";
|
||||
@@ -24,8 +23,8 @@ export const MainModal = () => {
|
||||
switch (modalState?.view) {
|
||||
case "ConnectWalletFlow":
|
||||
return <ConnectWalletFlow />;
|
||||
case "WalletDetails":
|
||||
return <ConnectWalletDetailsModal />;
|
||||
// case "WalletDetails":
|
||||
// return <ConnectWalletDetailsModal />;
|
||||
case "WalletConnectSessionRequestModal":
|
||||
return <SessionRequestModal />;
|
||||
case "WalletConnectSessionProposalModal":
|
||||
|
||||
@@ -23,7 +23,7 @@ export const IconTextButton = ({
|
||||
}: IconTextProps) => {
|
||||
return (
|
||||
<BaseButton
|
||||
p={p || "md"}
|
||||
p={p || "sm"}
|
||||
backgroundColor="background"
|
||||
style={styles.networkContainer}
|
||||
onPress={onPress}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { resolveIpfsUri } from "@thirdweb-dev/react-core";
|
||||
import { useStorage } from "@thirdweb-dev/react-core";
|
||||
import { useState } from "react";
|
||||
import { Image } from "react-native";
|
||||
import { SvgUri } from "react-native-svg";
|
||||
|
||||
@@ -13,21 +14,35 @@ const ImageSvgUri = ({
|
||||
height: number;
|
||||
imageAlt?: string;
|
||||
}) => {
|
||||
const isSvg = imageUrl.toLowerCase().endsWith(".svg");
|
||||
const resolvedImageUrl = resolveIpfsUri(imageUrl) || "";
|
||||
const storage = useStorage();
|
||||
const resolvedImageUrl = storage
|
||||
? storage.resolveScheme(imageUrl)
|
||||
: imageUrl.replace("ipfs://", "https://ipfs.io/ipfs/");
|
||||
|
||||
const [error, setError] = useState(false);
|
||||
|
||||
if (!resolvedImageUrl || resolvedImageUrl === "") {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (isSvg) {
|
||||
return <SvgUri width={width} height={height} uri={resolvedImageUrl} />;
|
||||
if (error) {
|
||||
return (
|
||||
<SvgUri
|
||||
width={width}
|
||||
height={height}
|
||||
uri={resolvedImageUrl}
|
||||
onError={() => setError(true)}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
// always try to render Image first, if error then try to render svg
|
||||
// Image from RN handles onError better than SvgUri
|
||||
return (
|
||||
<Image
|
||||
alt={imageAlt}
|
||||
source={{ uri: resolvedImageUrl }}
|
||||
style={[{ width: width, height: height }]}
|
||||
onError={() => setError(true)}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,21 +1,37 @@
|
||||
import Box from "./Box";
|
||||
import Text from "./Text";
|
||||
import { StyleSheet } from "react-native";
|
||||
|
||||
type LabelProps = {
|
||||
text: string;
|
||||
};
|
||||
export const Label = ({ text }: LabelProps) => {
|
||||
} & (typeof Text)["arguments"];
|
||||
|
||||
export const Label = ({ text, ...props }: LabelProps) => {
|
||||
return (
|
||||
<Box
|
||||
justifyContent="center"
|
||||
flexDirection="row"
|
||||
alignItems="center"
|
||||
paddingVertical="xxs"
|
||||
paddingHorizontal="xs"
|
||||
borderRadius="lg"
|
||||
borderRadius="md"
|
||||
backgroundColor="labelBackground"
|
||||
>
|
||||
<Text variant="bodyLarge">{text}</Text>
|
||||
<Text
|
||||
variant="bodySmall"
|
||||
style={{
|
||||
...style.text,
|
||||
...props,
|
||||
}}
|
||||
>
|
||||
{text}
|
||||
</Text>
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
const style = StyleSheet.create({
|
||||
text: {
|
||||
textAlign: "center",
|
||||
paddingVertical: 3,
|
||||
paddingHorizontal: 8,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -4,6 +4,7 @@ import { ThemeProviderProps } from "../styles/ThemeProvider";
|
||||
import { Theme, darkTheme, lightTheme } from "../styles/theme";
|
||||
import { useAppTheme } from "../styles/hooks";
|
||||
import { useTheme } from "@shopify/restyle";
|
||||
import { PropsWithChildren } from "react";
|
||||
|
||||
type UIContextType = {
|
||||
modalState: ModalState;
|
||||
@@ -25,7 +26,7 @@ const UIContext = createContext<UIContextType>({
|
||||
setTheme: () => {},
|
||||
});
|
||||
|
||||
export const UIContextProvider = (props: React.PropsWithChildren<{}>) => {
|
||||
export const UIContextProvider = (props: PropsWithChildren<{}>) => {
|
||||
const [modalState, setModalState] = useState<ModalState>({
|
||||
view: "Closed",
|
||||
data: {},
|
||||
|
||||
@@ -9,7 +9,7 @@ export class RainbowWallet extends WalletConnectV2 {
|
||||
static meta = {
|
||||
name: "Rainbow",
|
||||
iconURL:
|
||||
"https://registry.walletconnect.org/v2/logo/md/7a33d7f1-3d12-4b5c-f3ee-5cd83cb1b500",
|
||||
"ipfs://QmSZn47p4DVVBfzvg9BAX2EqwnPxkT1YAE7rUnrtd9CybQ/rainbow-logo.png",
|
||||
links: {
|
||||
native: "rainbow:",
|
||||
universal: "https://rnbwapp.com",
|
||||
|
||||
@@ -7,7 +7,7 @@ export class TrustWallet extends WalletConnectV2 {
|
||||
static meta = {
|
||||
name: "Trust Wallet",
|
||||
iconURL:
|
||||
"https://registry.walletconnect.org/v2/logo/md/0528ee7e-16d1-4089-21e3-bbfb41933100",
|
||||
"ipfs://QmNigQbXk7wKZwDcgN38Znj1ZZQ3JEG3DD6fUKLBU8SUTP/trust%20wallet.svg",
|
||||
links: {
|
||||
native: "trust:",
|
||||
universal: "https://link.trustwallet.com",
|
||||
|
||||
@@ -1,5 +1,68 @@
|
||||
# @thirdweb-dev/react
|
||||
|
||||
## 3.14.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5)]:
|
||||
- @thirdweb-dev/chains@0.1.31
|
||||
- @thirdweb-dev/react-core@3.14.12
|
||||
- @thirdweb-dev/sdk@3.10.32
|
||||
- @thirdweb-dev/wallets@1.0.8
|
||||
|
||||
## 3.14.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2)]:
|
||||
- @thirdweb-dev/chains@0.1.30
|
||||
- @thirdweb-dev/react-core@3.14.11
|
||||
- @thirdweb-dev/sdk@3.10.31
|
||||
- @thirdweb-dev/wallets@1.0.7
|
||||
|
||||
## 3.14.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1310](https://github.com/thirdweb-dev/js/pull/1310) [`3df86ad1`](https://github.com/thirdweb-dev/js/commit/3df86ad16f3daf1a0382d5b860ef6f24a69cc8d0) Thanks [@MananTank](https://github.com/MananTank)! - ConnectWallet UI fixes
|
||||
|
||||
- Hide Back button when not required
|
||||
- Fix Rainbow wallet meta
|
||||
- Fix backbutton not working on get-started screen when there's a single supported wallet
|
||||
- Remove switchAccount button on mobile for metamask
|
||||
|
||||
- Updated dependencies [[`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0), [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d), [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a)]:
|
||||
- @thirdweb-dev/sdk@3.10.30
|
||||
- @thirdweb-dev/chains@0.1.29
|
||||
- @thirdweb-dev/react-core@3.14.10
|
||||
- @thirdweb-dev/wallets@1.0.6
|
||||
|
||||
## 3.14.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1309](https://github.com/thirdweb-dev/js/pull/1309) [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352) Thanks [@jnsdls](https://github.com/jnsdls)! - unblock storage domains
|
||||
|
||||
- Updated dependencies [[`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5), [`72ada475`](https://github.com/thirdweb-dev/js/commit/72ada47596d5d5c08736c33215faeec636b7156a), [`2c0bb078`](https://github.com/thirdweb-dev/js/commit/2c0bb0789955f6cd397b6fdb8e990a505251c631), [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61), [`10b3a717`](https://github.com/thirdweb-dev/js/commit/10b3a717da606632a05769ac821bdd21d6b63a03), [`b4aee9b5`](https://github.com/thirdweb-dev/js/commit/b4aee9b59121bab5f9b3d9b7ecdc4bcb4cd66f58), [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352)]:
|
||||
- @thirdweb-dev/chains@0.1.28
|
||||
- @thirdweb-dev/sdk@3.10.29
|
||||
- @thirdweb-dev/wallets@1.0.5
|
||||
- @thirdweb-dev/react-core@3.14.9
|
||||
|
||||
## 3.14.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1282](https://github.com/thirdweb-dev/js/pull/1282) [`7054f9f0`](https://github.com/thirdweb-dev/js/commit/7054f9f01691e1c942ffbec3ee8042218aadd126) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Fix issue #1201 - MediaRenderer HTML MimeType
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- Updated dependencies [[`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2), [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96)]:
|
||||
- @thirdweb-dev/react-core@3.14.8
|
||||
- @thirdweb-dev/wallets@1.0.4
|
||||
- @thirdweb-dev/chains@0.1.27
|
||||
- @thirdweb-dev/sdk@3.10.28
|
||||
|
||||
## 3.14.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+28
-28
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/react",
|
||||
"version": "3.14.7",
|
||||
"version": "3.14.12",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -81,15 +81,15 @@
|
||||
},
|
||||
"sideEffects:": false,
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.19.3",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@babel/runtime": "^7.19.0",
|
||||
"@microsoft/api-documenter": "^7.19.4",
|
||||
"@microsoft/api-extractor": "^7.29.2",
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/preset-react": "^7.22.5",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"@microsoft/api-documenter": "^7.22.21",
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
"@microsoft/tsdoc": "^0.14.1",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@solana/wallet-adapter-base": "^0.9.17",
|
||||
"@solana/wallet-adapter-phantom": "^0.9.17",
|
||||
"@solana/wallet-adapter-react": "^0.15.19",
|
||||
@@ -99,13 +99,13 @@
|
||||
"@thirdweb-dev/sdk": "workspace:*",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/color": "^3.0.3",
|
||||
"@types/react": "^18.0.5",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"@types/uuid": "^9.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"eslint": "^8.42.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"@types/react": "^18.2.14",
|
||||
"@types/react-dom": "^18.2.6",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-better-tree-shaking": "0.0.3",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
@@ -113,25 +113,25 @@
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-tsdoc": "^0.2.16",
|
||||
"ethers": "^5.7.2",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier": "^2.8.8",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"stream": "npm:stream-browserify@^3.0.0",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.10.0",
|
||||
"@emotion/styled": "^11.10.0",
|
||||
"@emotion/react": "^11.11.1",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@google/model-viewer": "^2.1.1",
|
||||
"@radix-ui/colors": "^0.1.8",
|
||||
"@radix-ui/react-dialog": "^1.0.2",
|
||||
"@radix-ui/react-dropdown-menu": "^2.0.2",
|
||||
"@radix-ui/react-icons": "^1.1.1",
|
||||
"@radix-ui/react-popover": "^1.0.5",
|
||||
"@radix-ui/react-tabs": "^1.0.2",
|
||||
"@radix-ui/react-tooltip": "^1.0.4",
|
||||
"@radix-ui/colors": "^0.1.9",
|
||||
"@radix-ui/react-dialog": "^1.0.4",
|
||||
"@radix-ui/react-dropdown-menu": "^2.0.5",
|
||||
"@radix-ui/react-icons": "^1.3.0",
|
||||
"@radix-ui/react-popover": "^1.0.6",
|
||||
"@radix-ui/react-tabs": "^1.0.4",
|
||||
"@radix-ui/react-tooltip": "^1.0.6",
|
||||
"@react-icons/all-files": "^4.1.0",
|
||||
"@tanstack/react-query": "^4.0.10",
|
||||
"@tanstack/react-query": "^4.29.19",
|
||||
"@thirdweb-dev/chains": "workspace:*",
|
||||
"@thirdweb-dev/react-core": "workspace:*",
|
||||
"@thirdweb-dev/wallets": "workspace:*",
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import type { Theme } from "../design-system";
|
||||
import styled from "@emotion/styled";
|
||||
import { Chain } from "@thirdweb-dev/chains";
|
||||
import { resolveIpfsUri } from "@thirdweb-dev/react-core";
|
||||
import { useStorage } from "@thirdweb-dev/react-core";
|
||||
|
||||
const defaultChainIcon = /* @__PURE__ */ resolveIpfsUri(
|
||||
"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png",
|
||||
);
|
||||
const defaultChainIcon =
|
||||
"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png";
|
||||
|
||||
export const ChainIcon: React.FC<{
|
||||
chain?: Chain;
|
||||
@@ -14,8 +13,12 @@ export const ChainIcon: React.FC<{
|
||||
className?: string;
|
||||
loading?: "lazy" | "eager";
|
||||
}> = (props) => {
|
||||
const url = props.chain?.icon?.url;
|
||||
const src = url ? resolveIpfsUri(url) : defaultChainIcon;
|
||||
const url = props.chain?.icon?.url || defaultChainIcon;
|
||||
const storage = useStorage();
|
||||
|
||||
const src = storage
|
||||
? storage.resolveScheme(url)
|
||||
: url.replace("ipfs://", "https://ipfs.io/ipfs/");
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { resolveIpfsUri } from "@thirdweb-dev/react-core";
|
||||
import { useStorage } from "@thirdweb-dev/react-core";
|
||||
|
||||
export const Img: React.FC<{
|
||||
width: string;
|
||||
@@ -8,11 +8,16 @@ export const Img: React.FC<{
|
||||
loading?: "eager" | "lazy";
|
||||
className?: string;
|
||||
}> = (props) => {
|
||||
const storage = useStorage();
|
||||
return (
|
||||
<img
|
||||
width={props.width}
|
||||
height={props.height}
|
||||
src={resolveIpfsUri(props.src)}
|
||||
src={
|
||||
storage
|
||||
? storage.resolveScheme(props.src)
|
||||
: props.src.replace("ipfs://", "https://ipfs.io/ipfs/")
|
||||
}
|
||||
alt={props.alt || ""}
|
||||
loading={props.loading}
|
||||
decoding="async"
|
||||
|
||||
@@ -7,11 +7,7 @@ import {
|
||||
CarbonPlayFilledAlt,
|
||||
} from "./Icons";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
resolveIpfsUri,
|
||||
resolveMimeType,
|
||||
useStorage,
|
||||
} from "@thirdweb-dev/react-core";
|
||||
import { resolveMimeType, useStorage } from "@thirdweb-dev/react-core";
|
||||
import React, {
|
||||
useEffect,
|
||||
useMemo,
|
||||
@@ -431,7 +427,7 @@ export const MediaRenderer = /* @__PURE__ */ React.forwardRef<
|
||||
alt={alt}
|
||||
/>
|
||||
);
|
||||
} else if (videoOrImageSrc.mimeType === "text/html") {
|
||||
} else if (videoOrImageSrc.mimeType.startsWith("text/html")) {
|
||||
return (
|
||||
<IframePlayer
|
||||
style={mergedStyle}
|
||||
@@ -547,18 +543,19 @@ export function useResolvedMediaType(
|
||||
) {
|
||||
const storage = useStorage();
|
||||
|
||||
const resolvedUrl = useMemo(
|
||||
() =>
|
||||
resolveIpfsUri(
|
||||
uri,
|
||||
gatewayUrl
|
||||
? { gatewayUrl }
|
||||
: storage
|
||||
? { gatewayUrl: storage.gatewayUrls["ipfs://"][0] }
|
||||
: undefined,
|
||||
),
|
||||
[uri, storage, gatewayUrl],
|
||||
);
|
||||
const resolvedUrl = useMemo(() => {
|
||||
if (!uri) {
|
||||
return "";
|
||||
}
|
||||
if (gatewayUrl) {
|
||||
return uri.replace("ipfs://", gatewayUrl);
|
||||
}
|
||||
if (storage) {
|
||||
return storage.resolveScheme(uri);
|
||||
}
|
||||
return uri.replace("ipfs://", "https://ipfs.io/ipfs/");
|
||||
}, [uri, storage, gatewayUrl]);
|
||||
|
||||
const resolvedMimType = useQuery(
|
||||
["mime-type", resolvedUrl],
|
||||
() => resolveMimeType(resolvedUrl),
|
||||
|
||||
@@ -304,7 +304,8 @@ export const ConnectedWalletDetails: React.FC<{
|
||||
{activeWalletConfig &&
|
||||
activeWalletConfig.id === walletIds.metamask &&
|
||||
activeWalletConfig.isInstalled &&
|
||||
activeWalletConfig.isInstalled() && (
|
||||
activeWalletConfig.isInstalled() &&
|
||||
!isMobile() && (
|
||||
<MenuButton
|
||||
type="button"
|
||||
onClick={() => {
|
||||
|
||||
@@ -16,10 +16,11 @@ export const ConnectingScreen: React.FC<{
|
||||
walletIconURL: string;
|
||||
walletName: string;
|
||||
supportLink: string;
|
||||
hideBackButton: boolean;
|
||||
}> = (props) => {
|
||||
return (
|
||||
<>
|
||||
<BackButton onClick={props.onBack} />
|
||||
{!props.hideBackButton && <BackButton onClick={props.onBack} />}
|
||||
<IconContainer>
|
||||
<Img
|
||||
src={props.walletIconURL}
|
||||
|
||||
@@ -17,7 +17,7 @@ export const ScanScreen: React.FC<{
|
||||
qrCodeUri?: string;
|
||||
walletName: string;
|
||||
walletIconURL: string;
|
||||
hideBackButton?: boolean;
|
||||
hideBackButton: boolean;
|
||||
}> = (props) => {
|
||||
const walletName = props.walletName.toLowerCase().includes("wallet")
|
||||
? props.walletName
|
||||
|
||||
@@ -6,13 +6,14 @@ export function useInstalledWallets() {
|
||||
let isZerionWalletInstalled = false;
|
||||
let isTrustWalletInstalled = false;
|
||||
|
||||
if (assertWindowEthereum(globalThis.window)) {
|
||||
isMetamaskInstalled = !!globalThis.window.ethereum?.isMetaMask;
|
||||
const window_: Window | undefined = globalThis?.window;
|
||||
if (assertWindowEthereum(window_)) {
|
||||
isMetamaskInstalled = !!window_.ethereum?.isMetaMask;
|
||||
isCoinbaseWalletInstalled =
|
||||
!!globalThis.window.ethereum?.isCoinbaseWallet ||
|
||||
!!globalThis.window.ethereum?.providers?.some((p) => p.isCoinbaseWallet);
|
||||
isZerionWalletInstalled = !!globalThis.window.ethereum?.isZerion;
|
||||
isTrustWalletInstalled = !!globalThis.window.ethereum?.isTrust;
|
||||
!!window_.ethereum?.isCoinbaseWallet ||
|
||||
!!window_.ethereum?.providers?.some((p) => p.isCoinbaseWallet);
|
||||
isZerionWalletInstalled = !!window_.ethereum?.isZerion;
|
||||
isTrustWalletInstalled = !!window_.ethereum?.isTrust;
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -18,6 +18,8 @@ export const CoinbaseConnectUI = ({
|
||||
"connecting" | "loading" | "scanning" | "get-started"
|
||||
>("loading");
|
||||
|
||||
const hideBackButton = supportedWallets.length === 1;
|
||||
|
||||
const connectPrompted = useRef(false);
|
||||
useEffect(() => {
|
||||
if (screen !== "loading") {
|
||||
@@ -61,6 +63,7 @@ export const CoinbaseConnectUI = ({
|
||||
if (screen === "connecting" || screen === "loading") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={goBack}
|
||||
walletName={meta.name}
|
||||
walletIconURL={meta.iconURL}
|
||||
@@ -77,7 +80,9 @@ export const CoinbaseConnectUI = ({
|
||||
chromeExtensionLink={meta.urls?.chrome}
|
||||
googlePlayStoreLink={meta.urls?.android}
|
||||
appleStoreLink={meta.urls?.ios}
|
||||
onBack={goBack}
|
||||
onBack={() => {
|
||||
setScreen("scanning");
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -89,7 +94,7 @@ export const CoinbaseConnectUI = ({
|
||||
onConnected={close}
|
||||
onGetStarted={() => setScreen("get-started")}
|
||||
walletConfig={walletConfig}
|
||||
hideBackButton={supportedWallets.length === 1}
|
||||
hideBackButton={hideBackButton}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ export const CoinbaseScan: React.FC<{
|
||||
onGetStarted: () => void;
|
||||
onConnected: () => void;
|
||||
walletConfig: WalletConfig<CoinbaseWallet>;
|
||||
hideBackButton?: boolean;
|
||||
hideBackButton: boolean;
|
||||
}> = ({ walletConfig, onConnected, onGetStarted, onBack, hideBackButton }) => {
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>(undefined);
|
||||
|
||||
@@ -21,12 +21,11 @@ export const coinbaseWallet = (): WalletConfig<CoinbaseWallet> => {
|
||||
},
|
||||
connectUI: CoinbaseConnectUI,
|
||||
isInstalled() {
|
||||
if (assertWindowEthereum(globalThis.window)) {
|
||||
const window_: Window | undefined = globalThis?.window;
|
||||
if (assertWindowEthereum(window_)) {
|
||||
return (
|
||||
globalThis.window.ethereum?.isCoinbaseWallet ||
|
||||
globalThis.window.ethereum?.providers?.some(
|
||||
(p) => p.isCoinbaseWallet,
|
||||
) ||
|
||||
window_.ethereum?.isCoinbaseWallet ||
|
||||
window_.ethereum?.providers?.some((p) => p.isCoinbaseWallet) ||
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ export const FrameConnectUI = (props: ConnectUIProps<FrameWallet>) => {
|
||||
const { walletConfig, close, goBack } = props;
|
||||
const downloadLink = "https://frame.sh";
|
||||
const supportLink = "https://docs.frame.sh";
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
useEffect(() => {
|
||||
if (connectPrompted.current) {
|
||||
@@ -98,6 +99,7 @@ export const FrameConnectUI = (props: ConnectUIProps<FrameWallet>) => {
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={goBack}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
|
||||
@@ -19,10 +19,11 @@ export const frameWallet = (): WalletConfig<FrameWallet> => ({
|
||||
},
|
||||
connectUI: FrameConnectUI,
|
||||
isInstalled() {
|
||||
if (assertWindowEthereum(globalThis.window)) {
|
||||
const window_: Window | undefined = globalThis?.window;
|
||||
if (assertWindowEthereum(window_)) {
|
||||
return (
|
||||
globalThis.window.ethereum?.isFrame ||
|
||||
globalThis.window.ethereum?.providers?.some((p) => p.isFrame) ||
|
||||
window_.ethereum?.isFrame ||
|
||||
window_.ethereum?.providers?.some((p) => p.isFrame) ||
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
const { walletConfig, close } = props;
|
||||
const connect = useConnect();
|
||||
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
const { goBack } = props;
|
||||
|
||||
const connectPrompted = useRef(false);
|
||||
@@ -56,6 +58,7 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
@@ -72,7 +75,9 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
chromeExtensionLink={walletConfig.meta.urls?.chrome}
|
||||
googlePlayStoreLink={walletConfig.meta.urls?.android}
|
||||
appleStoreLink={walletConfig.meta.urls?.ios}
|
||||
onBack={props.goBack}
|
||||
onBack={() => {
|
||||
setScreen("scanning");
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -80,11 +85,12 @@ export const MetamaskConnectUI = (props: ConnectUIProps<MetaMaskWallet>) => {
|
||||
if (screen === "scanning") {
|
||||
return (
|
||||
<MetamaskScan
|
||||
onBack={props.goBack}
|
||||
onBack={goBack}
|
||||
onConnected={close}
|
||||
onGetStarted={() => {
|
||||
setScreen("get-started");
|
||||
}}
|
||||
hideBackButton={hideBackButton}
|
||||
walletConfig={walletConfig}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -12,7 +12,8 @@ export const MetamaskScan: React.FC<{
|
||||
onGetStarted: () => void;
|
||||
onConnected: () => void;
|
||||
walletConfig: WalletConfig<MetaMaskWallet>;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig }) => {
|
||||
hideBackButton: boolean;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig, hideBackButton }) => {
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>();
|
||||
const { setConnectedWallet, chainToConnect, setConnectionStatus } =
|
||||
@@ -54,6 +55,7 @@ export const MetamaskScan: React.FC<{
|
||||
qrCodeUri={qrCodeUri}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
hideBackButton={hideBackButton}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -13,6 +13,8 @@ export const RainbowConnectUI = (props: ConnectUIProps<WalletConnect>) => {
|
||||
const { walletConfig, close } = props;
|
||||
const connect = useConnect();
|
||||
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
const { goBack } = props;
|
||||
|
||||
const connectPrompted = useRef(false);
|
||||
@@ -36,6 +38,7 @@ export const RainbowConnectUI = (props: ConnectUIProps<WalletConnect>) => {
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
@@ -52,7 +55,9 @@ export const RainbowConnectUI = (props: ConnectUIProps<WalletConnect>) => {
|
||||
chromeExtensionLink={walletConfig.meta.urls?.chrome}
|
||||
googlePlayStoreLink={walletConfig.meta.urls?.android}
|
||||
appleStoreLink={walletConfig.meta.urls?.ios}
|
||||
onBack={props.goBack}
|
||||
onBack={() => {
|
||||
setScreen("scanning");
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -65,6 +70,7 @@ export const RainbowConnectUI = (props: ConnectUIProps<WalletConnect>) => {
|
||||
onGetStarted={() => {
|
||||
setScreen("get-started");
|
||||
}}
|
||||
hideBackButton={hideBackButton}
|
||||
walletConfig={walletConfig}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -12,7 +12,8 @@ export const RainbowScan: React.FC<{
|
||||
onGetStarted: () => void;
|
||||
onConnected: () => void;
|
||||
walletConfig: WalletConfig<WalletConnect>;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig }) => {
|
||||
hideBackButton: boolean;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig, hideBackButton }) => {
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>();
|
||||
const { setConnectedWallet, chainToConnect, setConnectionStatus } =
|
||||
@@ -54,6 +55,7 @@ export const RainbowScan: React.FC<{
|
||||
qrCodeUri={qrCodeUri}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
hideBackButton={hideBackButton}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -21,6 +21,10 @@ export const rainbowWallet = (
|
||||
name: "Rainbow Wallet",
|
||||
iconURL:
|
||||
"ipfs://QmSZn47p4DVVBfzvg9BAX2EqwnPxkT1YAE7rUnrtd9CybQ/rainbow-logo.png",
|
||||
urls: {
|
||||
android: "https://rnbwapp.com/e/Va41HWS6Oxb",
|
||||
ios: "https://rnbwapp.com/e/OeMdmkJ6Oxb",
|
||||
},
|
||||
},
|
||||
create: (walletOptions: WalletOptions) => {
|
||||
return new WalletConnect({
|
||||
|
||||
@@ -12,6 +12,7 @@ export const TrustConnectUI = (props: ConnectUIProps<TrustWallet>) => {
|
||||
>("connecting");
|
||||
const { walletConfig, close } = props;
|
||||
const connect = useConnect();
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
const { goBack } = props;
|
||||
|
||||
@@ -54,6 +55,7 @@ export const TrustConnectUI = (props: ConnectUIProps<TrustWallet>) => {
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
@@ -70,7 +72,9 @@ export const TrustConnectUI = (props: ConnectUIProps<TrustWallet>) => {
|
||||
chromeExtensionLink={walletConfig.meta.urls?.chrome}
|
||||
googlePlayStoreLink={walletConfig.meta.urls?.android}
|
||||
appleStoreLink={walletConfig.meta.urls?.ios}
|
||||
onBack={props.goBack}
|
||||
onBack={() => {
|
||||
setScreen("scanning");
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -78,6 +82,7 @@ export const TrustConnectUI = (props: ConnectUIProps<TrustWallet>) => {
|
||||
if (screen === "scanning") {
|
||||
return (
|
||||
<TrustScan
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
onConnected={close}
|
||||
onGetStarted={() => {
|
||||
|
||||
@@ -11,8 +11,9 @@ export const TrustScan: React.FC<{
|
||||
onBack: () => void;
|
||||
onGetStarted: () => void;
|
||||
onConnected: () => void;
|
||||
hideBackButton: boolean;
|
||||
walletConfig: WalletConfig<TrustWallet>;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig }) => {
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig, hideBackButton }) => {
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>();
|
||||
const { setConnectedWallet, chainToConnect, setConnectionStatus } =
|
||||
@@ -54,6 +55,7 @@ export const TrustScan: React.FC<{
|
||||
qrCodeUri={qrCodeUri}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
hideBackButton={hideBackButton}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ export const ZerionConnectUI = (props: ConnectUIProps<ZerionWallet>) => {
|
||||
>("connecting");
|
||||
const { walletConfig, close } = props;
|
||||
const connect = useConnect();
|
||||
const hideBackButton = props.supportedWallets.length === 1;
|
||||
|
||||
const { goBack } = props;
|
||||
|
||||
@@ -54,6 +55,7 @@ export const ZerionConnectUI = (props: ConnectUIProps<ZerionWallet>) => {
|
||||
if (screen === "connecting") {
|
||||
return (
|
||||
<ConnectingScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
walletName={walletConfig.meta.name}
|
||||
walletIconURL={walletConfig.meta.iconURL}
|
||||
@@ -70,7 +72,9 @@ export const ZerionConnectUI = (props: ConnectUIProps<ZerionWallet>) => {
|
||||
chromeExtensionLink={walletConfig.meta.urls?.chrome}
|
||||
googlePlayStoreLink={walletConfig.meta.urls?.android}
|
||||
appleStoreLink={walletConfig.meta.urls?.ios}
|
||||
onBack={props.goBack}
|
||||
onBack={() => {
|
||||
setScreen("scanning");
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -78,6 +82,7 @@ export const ZerionConnectUI = (props: ConnectUIProps<ZerionWallet>) => {
|
||||
if (screen === "scanning") {
|
||||
return (
|
||||
<ZerionScan
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={props.goBack}
|
||||
onConnected={close}
|
||||
onGetStarted={() => {
|
||||
@@ -87,6 +92,6 @@ export const ZerionConnectUI = (props: ConnectUIProps<ZerionWallet>) => {
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
@@ -12,7 +12,8 @@ export const ZerionScan: React.FC<{
|
||||
onGetStarted: () => void;
|
||||
onConnected: () => void;
|
||||
walletConfig: WalletConfig<ZerionWallet>;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig }) => {
|
||||
hideBackButton: boolean;
|
||||
}> = ({ onBack, onConnected, onGetStarted, walletConfig, hideBackButton }) => {
|
||||
const createInstance = useCreateWalletInstance();
|
||||
const [qrCodeUri, setQrCodeUri] = useState<string | undefined>();
|
||||
const { setConnectedWallet, chainToConnect, setConnectionStatus } =
|
||||
@@ -49,6 +50,7 @@ export const ZerionScan: React.FC<{
|
||||
|
||||
return (
|
||||
<ScanScreen
|
||||
hideBackButton={hideBackButton}
|
||||
onBack={onBack}
|
||||
onGetStarted={onGetStarted}
|
||||
qrCodeUri={qrCodeUri}
|
||||
|
||||
@@ -1,5 +1,68 @@
|
||||
# @thirdweb-dev/sdk
|
||||
|
||||
## 3.10.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`4393b228`](https://github.com/thirdweb-dev/js/commit/4393b2280505fd0b2284555d64eae6567e8401a5)]:
|
||||
- @thirdweb-dev/chains@0.1.31
|
||||
|
||||
## 3.10.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`40682191`](https://github.com/thirdweb-dev/js/commit/40682191450de08ad40b9d2957afced248657af2)]:
|
||||
- @thirdweb-dev/chains@0.1.30
|
||||
|
||||
## 3.10.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1314](https://github.com/thirdweb-dev/js/pull/1314) [`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0) Thanks [@iketw](https://github.com/iketw)! - Passes API key to thirdweb storage ipfs uploader
|
||||
|
||||
If you want to use thirdweb's storage upload services you need to pass an API key.
|
||||
You can grab one from: https://thirdweb.com/dashboard/settings
|
||||
|
||||
If using ThirdwebStorage directly:
|
||||
|
||||
```javascript
|
||||
new ThirdwebStorage({
|
||||
apiKey: <yourApiKey>,
|
||||
});
|
||||
```
|
||||
|
||||
- Updated dependencies [[`db68bd04`](https://github.com/thirdweb-dev/js/commit/db68bd04cd8bb3ee6bff051d1d5b5a872353fde0), [`fd74d791`](https://github.com/thirdweb-dev/js/commit/fd74d7918072cda03b52f852ebb3f8dccb84074d), [`35f20ceb`](https://github.com/thirdweb-dev/js/commit/35f20ceb4f943e95d9566105096f06412978da7a)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 3.10.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1299](https://github.com/thirdweb-dev/js/pull/1299) [`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5) Thanks [@nkrishang](https://github.com/nkrishang)! - Add ERC721LoyaltyCard and ERC721UpdatableMetadata
|
||||
|
||||
- [#1298](https://github.com/thirdweb-dev/js/pull/1298) [`72ada475`](https://github.com/thirdweb-dev/js/commit/72ada47596d5d5c08736c33215faeec636b7156a) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Proper types for contract.metadata.get() for custom contracts
|
||||
|
||||
- [#1304](https://github.com/thirdweb-dev/js/pull/1304) [`2c0bb078`](https://github.com/thirdweb-dev/js/commit/2c0bb0789955f6cd397b6fdb8e990a505251c631) Thanks [@nachoiacovino](https://github.com/nachoiacovino)! - Fix pack code snippets
|
||||
|
||||
- Updated dependencies [[`7e044c66`](https://github.com/thirdweb-dev/js/commit/7e044c664d8a034f5324b859ac3596860c86f9a5), [`b5c6eedb`](https://github.com/thirdweb-dev/js/commit/b5c6eedb38aa3c52eb97f3d25ad83e38c55afe61), [`4961b597`](https://github.com/thirdweb-dev/js/commit/4961b597a098dae0a4eff01a9ef268a65fe1a352)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 3.10.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1278](https://github.com/thirdweb-dev/js/pull/1278) [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2) Thanks [@jnsdls](https://github.com/jnsdls)! - updated various dependencies
|
||||
|
||||
- [#1281](https://github.com/thirdweb-dev/js/pull/1281) [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96) Thanks [@nkrishang](https://github.com/nkrishang)! - Handle ERC4337Signer correctly for signTypedData
|
||||
|
||||
- Updated dependencies [[`2d088d36`](https://github.com/thirdweb-dev/js/commit/2d088d367ca54233836dc69712fd411ab7924205), [`8a389f12`](https://github.com/thirdweb-dev/js/commit/8a389f1295d2bf726059997ea0ca10cf0424f2a2), [`9daf0449`](https://github.com/thirdweb-dev/js/commit/9daf044926bf995ac8998929dbeca548c5eb8561), [`546353a4`](https://github.com/thirdweb-dev/js/commit/546353a479c11533818ef917c0f6b4d6f8f69872), [`a3bb17cb`](https://github.com/thirdweb-dev/js/commit/a3bb17cb33f033846fb3b4c8a0a4809ba76cab96), [`0135a779`](https://github.com/thirdweb-dev/js/commit/0135a7790cf2acde6b701cb41ea10dd311da5ec3)]:
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
- @thirdweb-dev/[email protected]
|
||||
|
||||
## 3.10.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+22
-22
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/sdk",
|
||||
"version": "3.10.27",
|
||||
"version": "3.10.32",
|
||||
"description": "The main thirdweb SDK.",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/sdk",
|
||||
"license": "Apache-2.0",
|
||||
@@ -97,35 +97,35 @@
|
||||
"push": "yalc push"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aws-sdk/client-secrets-manager": "^3.256.0",
|
||||
"@aws-sdk/client-secrets-manager": "^3.363.0",
|
||||
"@ethersproject/abstract-provider": "^5.7.0",
|
||||
"@metaplex-foundation/amman": "^0.12.1",
|
||||
"@metaplex-foundation/amman-client": "^0.2.4",
|
||||
"@metaplex-foundation/js": "^0.19.2",
|
||||
"@metaplex-foundation/mpl-token-metadata": "^2.11",
|
||||
"@microsoft/api-documenter": "^7.19.4",
|
||||
"@microsoft/api-extractor": "^7.29.2",
|
||||
"@metaplex-foundation/mpl-token-metadata": "^2.12.0",
|
||||
"@microsoft/api-documenter": "^7.22.21",
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
"@microsoft/tsdoc": "^0.14.1",
|
||||
"@nomiclabs/hardhat-ethers": "^2.0.5",
|
||||
"@preconstruct/cli": "^2.2.1",
|
||||
"@nomiclabs/hardhat-ethers": "^2.2.3",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@project-serum/anchor": "^0.25.0",
|
||||
"@solana/spl-token": "^0.3.5",
|
||||
"@solana/web3.js": "^1.62.0",
|
||||
"@swc-node/register": "^1.5.1",
|
||||
"@swc/core": "^1.3.23",
|
||||
"@swc-node/register": "^1.6.6",
|
||||
"@swc/core": "^1.3.67",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/bn.js": "^5.1.1",
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/chai": "^4.3.5",
|
||||
"@types/deep-equal-in-any-order": "^1.0.1",
|
||||
"@types/mocha": "^10.0.0",
|
||||
"@types/node": "^18.0.0",
|
||||
"@types/uuid": "^9.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"@types/node": "^18.16.18",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"chai": "^4.3.6",
|
||||
"deep-equal-in-any-order": "^1.1.18",
|
||||
"eslint": "^8.42.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-better-tree-shaking": "0.0.3",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
@@ -134,11 +134,11 @@
|
||||
"eslint-plugin-tsdoc": "^0.2.16",
|
||||
"ethers": "^5.7.2",
|
||||
"ethers-aws-kms-signer": "^1.3.2",
|
||||
"hardhat": "^2.9.3",
|
||||
"hardhat": "^2.16.1",
|
||||
"mocha": "^10.2.0",
|
||||
"nyc": "^15.1.0",
|
||||
"prettier": "^2.7.1",
|
||||
"typescript": "^4.7.4",
|
||||
"prettier": "^2.8.8",
|
||||
"typescript": "^5.1.6",
|
||||
"zksync-web3": "^0.14.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -187,14 +187,14 @@
|
||||
"bn.js": "^5.2.1",
|
||||
"bs58": "^5.0.0",
|
||||
"buffer": "^6.0.3",
|
||||
"cross-fetch": "^3.1.5",
|
||||
"eventemitter3": "^5.0.0",
|
||||
"cross-fetch": "^3.1.6",
|
||||
"eventemitter3": "^5.0.1",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"merkletreejs": "^0.2.24",
|
||||
"tiny-invariant": "^1.2.0",
|
||||
"tweetnacl": "^1.0.3",
|
||||
"uuid": "^9.0.0",
|
||||
"yaml": "^2.1.1",
|
||||
"yaml": "^2.3.1",
|
||||
"zod": "^3.20.2"
|
||||
},
|
||||
"bugs": {
|
||||
|
||||
@@ -31,11 +31,17 @@ export type EIP712Domain = EIP712StandardDomain | EIP712PolygonDomain;
|
||||
* @internal
|
||||
*/
|
||||
export async function signTypedDataInternal(
|
||||
signer: Signer,
|
||||
signerInput: Signer,
|
||||
domain: EIP712Domain,
|
||||
types: Record<string, Array<TypedDataField>>,
|
||||
message: Record<string, any>,
|
||||
) {
|
||||
// Handle ERC4337Signer
|
||||
let signer = signerInput;
|
||||
if ((signerInput as any).originalSigner) {
|
||||
signer = (signerInput as any).originalSigner;
|
||||
}
|
||||
|
||||
const provider = signer?.provider as providers.JsonRpcProvider;
|
||||
if (!provider) {
|
||||
throw new Error("missing provider");
|
||||
@@ -60,7 +66,7 @@ export async function signTypedDataInternal(
|
||||
message,
|
||||
);
|
||||
} catch (err: any) {
|
||||
if (err?.message?.includes("Method eth_signTypedData_v4 not supported")) {
|
||||
if (err?.message?.includes("eth_signTypedData_v4")) {
|
||||
signature = await provider.send("eth_signTypedData", [
|
||||
signerAddress,
|
||||
JSON.stringify(payload),
|
||||
|
||||
@@ -8,8 +8,13 @@ export function createStorage(
|
||||
if (storage) {
|
||||
return storage;
|
||||
} else if (options?.gatewayUrls) {
|
||||
return new ThirdwebStorage({ gatewayUrls: options.gatewayUrls });
|
||||
return new ThirdwebStorage({
|
||||
gatewayUrls: options.gatewayUrls,
|
||||
apiKey: options.thirdwebApiKey,
|
||||
});
|
||||
} else {
|
||||
return new ThirdwebStorage();
|
||||
return new ThirdwebStorage({
|
||||
apiKey: options?.thirdwebApiKey,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ import {
|
||||
FEATURE_NFT_SIGNATURE_MINTABLE_V2,
|
||||
FEATURE_NFT_SHARED_METADATA,
|
||||
FEATURE_NFT_CLAIM_ZORA,
|
||||
FEATURE_NFT_LOYALTY_CARD,
|
||||
FEATURE_NFT_UPDATABLE_METADATA,
|
||||
} from "./erc721-features";
|
||||
import {
|
||||
FEATURE_EDITION,
|
||||
@@ -98,6 +100,8 @@ export type Feature =
|
||||
| typeof FEATURE_NFT_BURNABLE
|
||||
| typeof FEATURE_NFT_TIERED_DROP
|
||||
| typeof FEATURE_NFT_SHARED_METADATA
|
||||
| typeof FEATURE_NFT_LOYALTY_CARD
|
||||
| typeof FEATURE_NFT_UPDATABLE_METADATA
|
||||
| typeof FEATURE_EDITION
|
||||
| typeof FEATURE_EDITION_ENUMERABLE
|
||||
| typeof FEATURE_EDITION_MINTABLE
|
||||
@@ -172,4 +176,6 @@ export const SUPPORTED_FEATURES: Record<string, Feature> = /* @__PURE__ */ {
|
||||
[FEATURE_OFFERS.name]: FEATURE_OFFERS,
|
||||
[FEATURE_ACCOUNT_FACTORY.name]: FEATURE_ACCOUNT_FACTORY,
|
||||
[FEATURE_ACCOUNT.name]: FEATURE_ACCOUNT,
|
||||
[FEATURE_NFT_LOYALTY_CARD.name]: FEATURE_NFT_LOYALTY_CARD,
|
||||
[FEATURE_NFT_UPDATABLE_METADATA.name]: FEATURE_NFT_UPDATABLE_METADATA,
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user