Compare commits

...
Author SHA1 Message Date
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
6884815428 Version Packages (#2195)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-01-22 17:19:49 -08:00
Joaquim VergesandGitHub f29f91d7e0 [React] show embedded wallet free tier error msg in connect (#2209) 2024-01-23 00:54:30 +00:00
Manan TankandGitHub 212b2e7bc2 [react, react-native] ConnectWallet Details Modal UI, hide testnet faucet link by default (#2197) 2024-01-22 20:03:03 +00:00
iketwandGitHub 3f2ee85a1a chore: synced chains with db (#2203) 2024-01-22 18:56:10 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
24450ed7ac Bump vite from 3.2.7 to 3.2.8 (#2201)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 16:13:32 +00:00
Kien NgoandGitHub ba978f55b0 [react-core] Update code sample for useTokenSupply (#2202) 2024-01-21 05:06:08 +00:00
iketwandGitHub 94e4dc9aab [RN] UI improvements (#2198) 2024-01-18 22:52:26 +00:00
Manan TankandGitHub 67656c7131 Add missing react-native in release-artifacts (#2196) 2024-01-17 23:57:58 +00:00
80 changed files with 154912 additions and 59284 deletions
+1
View File
@@ -53,6 +53,7 @@ jobs:
git status
git add packages/react/typedoc/documentation.json
git add packages/react-core/typedoc/documentation.json
git add packages/react-native/typedoc/documentation.json
git add packages/sdk/typedoc/documentation.json
git add packages/storage/typedoc/documentation.json
git add packages/wallets/typedoc/documentation.json
+7
View File
@@ -1,5 +1,12 @@
# @thirdweb-dev/auth
## 4.1.25
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.4.3
## 4.1.24
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.1.24",
"version": "4.1.25",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
+6
View File
@@ -1,5 +1,11 @@
# @thirdweb-dev/chains
## 0.1.65
### Patch Changes
- [#2203](https://github.com/thirdweb-dev/js/pull/2203) [`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9) Thanks [@iketw](https://github.com/iketw)! - Syncs Chains
## 0.1.64
### Patch Changes
-6
View File
@@ -10,12 +10,6 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmUkFZC2ZmoYPTKf7AHdjwRPZoV2h1MCuHaGM4iu8SNFpi",
"width": 400,
"height": 400,
"format": "svg"
},
"infoURL": "https://shyft.network",
"name": "Shyft Testnet",
"nativeCurrency": {
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"chain": "Rari",
"chainId": 1380012617,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmUQWUvJxi5yNof638U42ihmUmfTzGiMaYgYatQqzvy3mr/rari.png",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://rari-mainnet.caldera.dev/",
"name": "Rari Mainnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 1380012617,
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://rari.calderabridge.xyz/"
}
]
},
"redFlags": [],
"rpc": [
"https://rari.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1380012617.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rari.calderachain.xyz/http"
],
"shortName": "rari",
"slug": "rari",
"testnet": false
} as const satisfies Chain;
+7 -7
View File
@@ -4,8 +4,8 @@ export default {
"chainId": 1501,
"explorers": [
{
"name": "bevm scan",
"url": "https://scan.bevm.io",
"name": "bevm canary scan",
"url": "https://scan-canary.bevm.io",
"standard": "none"
}
],
@@ -18,7 +18,7 @@ export default {
"format": "png"
},
"infoURL": "https://chainx.org",
"name": "BEVM",
"name": "BEVM Canary",
"nativeCurrency": {
"name": "BTC",
"symbol": "BTC",
@@ -27,12 +27,12 @@ export default {
"networkId": 1501,
"redFlags": [],
"rpc": [
"https://bevm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://bevm-canary.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1501.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-1.bevm.io/",
"https://rpc-2.bevm.io/"
"https://rpc-canary-1.bevm.io/",
"https://rpc-canary-2.bevm.io/"
],
"shortName": "chainx",
"slug": "bevm",
"slug": "bevm-canary",
"testnet": false
} as const satisfies Chain;
+1 -13
View File
@@ -6,24 +6,12 @@ export default {
{
"name": "Anytype Explorer",
"url": "https://explorer.anytype.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmaARJiAQUn4Z6wG8GLEry3kTeBB3k6RfHzSZU9SPhBgcG",
"width": 200,
"height": 200,
"format": "png"
}
"standard": "EIP3091"
}
],
"faucets": [
"https://evm.anytype.io/faucet"
],
"icon": {
"url": "ipfs://QmaARJiAQUn4Z6wG8GLEry3kTeBB3k6RfHzSZU9SPhBgcG",
"width": 200,
"height": 200,
"format": "png"
},
"infoURL": "https://evm.anytype.io",
"name": "Anytype EVM Chain",
"nativeCurrency": {
+3 -5
View File
@@ -9,9 +9,7 @@ export default {
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.mainnetz.io"
],
"faucets": [],
"icon": {
"url": "ipfs://QmT5gJ5weBiLT3GoYuF5yRTRLdPLCVZ3tXznfqW7M8fxgG",
"width": 400,
@@ -21,7 +19,7 @@ export default {
"infoURL": "https://mainnetz.io",
"name": "MainnetZ Mainnet",
"nativeCurrency": {
"name": "mainnetz",
"name": "MainnetZ",
"symbol": "NetZ",
"decimals": 18
},
@@ -32,7 +30,7 @@ export default {
"https://mainnet-rpc.mainnetz.io",
"https://eu-rpc.mainnetz.io"
],
"shortName": "NetZm",
"shortName": "netz",
"slug": "z-mainnet",
"testnet": false
} as const satisfies Chain;
+12 -1
View File
@@ -3,6 +3,17 @@ export default {
"chain": "Kanazawa",
"chainId": 222000222,
"explorers": [
{
"name": "explorer",
"url": "https://testnet.meldscan.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRhB4AbjDrhvwfSAQi2JvKirFiDWxzJvKEvG8S8AdDdED",
"width": 4000,
"height": 4000,
"format": "png"
}
},
{
"name": "explorer",
"url": "https://subnets-test.avax.network/meld",
@@ -34,7 +45,7 @@ export default {
"rpc": [
"https://kanazawa.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://222000222.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/meld/testnet/rpc"
"https://testnet-rpc.meld.com"
],
"shortName": "kanazawa",
"slip44": 1,
+1 -13
View File
@@ -6,24 +6,12 @@ export default {
{
"name": "Kava Testnet Explorer",
"url": "http://testnet.kavascan.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm",
"width": 1186,
"height": 360,
"format": "svg"
}
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.kava.io"
],
"icon": {
"url": "ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm",
"width": 1186,
"height": 360,
"format": "svg"
},
"infoURL": "https://www.kava.io",
"name": "Kava Testnet",
"nativeCurrency": {
+1 -13
View File
@@ -6,22 +6,10 @@ export default {
{
"name": "Kava EVM Explorer",
"url": "https://kavascan.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm",
"width": 1186,
"height": 360,
"format": "svg"
}
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm",
"width": 1186,
"height": 360,
"format": "svg"
},
"infoURL": "https://www.kava.io",
"name": "Kava",
"nativeCurrency": {
+1 -3
View File
@@ -9,9 +9,7 @@ export default {
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.egonscan.com"
],
"faucets": [],
"icon": {
"url": "ipfs://QmNZiMmzMQYjyGtNSghtzLg4UooYhDgMQsa677DAP5KsBg",
"width": 512,
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 28982,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Testnet",
"nativeCurrency": {
"name": "Testnet Token",
"symbol": "RUI",
"decimals": 18
},
"networkId": 28982,
"redFlags": [],
"rpc": [
"https://testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://28982.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Testnet",
"slug": "testnet",
"testnet": true
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 32001,
"explorers": [
{
"name": "W3Gamez Holesky Explorer",
"url": "https://w3gamez-holesky.web3games.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo",
"width": 192,
"height": 192,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmaQdiE7vwxKeuWCjk4nKBikcpg4XCzQkFWGrAZHmMKnrq",
"width": 400,
"height": 400,
"format": "png"
},
"infoURL": "https://web3games.com/",
"name": "W3Gamez Holesky Testnet",
"nativeCurrency": {
"name": "W3Gamez Testnet Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 32001,
"rpc": [
"https://w3gamez-holesky-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://32001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-holesky.w3gamez.network"
],
"shortName": "w3gamez",
"slip44": 1,
"slug": "w3gamez-holesky-testnet",
"testnet": true
} as const satisfies Chain;
+12 -1
View File
@@ -3,6 +3,17 @@ export default {
"chain": "MELD",
"chainId": 333000333,
"explorers": [
{
"name": "explorer",
"url": "https://meldscan.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRhB4AbjDrhvwfSAQi2JvKirFiDWxzJvKEvG8S8AdDdED",
"width": 4000,
"height": 4000,
"format": "png"
}
},
{
"name": "explorer",
"url": "https://subnets.avax.network/meld",
@@ -34,7 +45,7 @@ export default {
"rpc": [
"https://meld.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://333000333.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/meld/mainnet/rpc"
"https://rpc-1.meld.com"
],
"shortName": "meld",
"slug": "meld",
+1 -3
View File
@@ -9,9 +9,7 @@ export default {
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.securechain.ai"
],
"faucets": [],
"icon": {
"url": "ipfs://Qme2Z8VFYjhHGfLQPBnfseNpEdRfmTDy7VXqrdH4AHETJf",
"width": 150,
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 53383,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "Jambon's Testnet",
"nativeCurrency": {
"name": "Jambon's Testnet Token",
"symbol": "GNF",
"decimals": 18
},
"networkId": 53383,
"redFlags": [],
"rpc": [
"https://jambon-s-testnet-jambon's testnet-53383.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://53383.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c37c3f83-6d95-4473-b5c7-626fad519f50"
],
"shortName": "Jambon's Testnet",
"slug": "jambon-s-testnet-jambon's testnet-53383",
"testnet": true
} as const satisfies Chain;
-6
View File
@@ -10,12 +10,6 @@ export default {
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmUkFZC2ZmoYPTKf7AHdjwRPZoV2h1MCuHaGM4iu8SNFpi",
"width": 400,
"height": 400,
"format": "svg"
},
"infoURL": "https://shyft.network",
"name": "Shyft Mainnet",
"nativeCurrency": {
+6 -4
View File
@@ -3,9 +3,7 @@ export default {
"chain": "Berachain",
"chainId": 80085,
"explorers": [],
"faucets": [
"https://artio.faucet.berachain.com/"
],
"faucets": [],
"features": [],
"infoURL": "https://www.berachain.com/",
"name": "Berachain Artio",
@@ -16,7 +14,11 @@ export default {
},
"networkId": 80085,
"redFlags": [],
"rpc": [],
"rpc": [
"https://berachain-artio.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://80085.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://artio.rpc.berachain.com/"
],
"shortName": "bera-artio",
"slug": "berachain-artio",
"testnet": true
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 83900,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0122I1 Testnet",
"nativeCurrency": {
"name": "QI0122I1 Testnet Token",
"symbol": "XTT",
"decimals": 18
},
"networkId": 83900,
"redFlags": [],
"rpc": [
"https://qi0122i1-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://83900.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-test.io/a5f62fea-1375-4ddd-b88f-72b56b435259"
],
"shortName": "QI0122I1 Testnet",
"slug": "qi0122i1-testnet",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 84623,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI M 2401221",
"nativeCurrency": {
"name": "QI M 2401221 Token",
"symbol": "HZU",
"decimals": 18
},
"networkId": 84623,
"redFlags": [],
"rpc": [
"https://qi-m-2401221.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://84623.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694"
],
"shortName": "QI M 2401221",
"slug": "qi-m-2401221",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 85023,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "NishiOgikubo Subnet",
"nativeCurrency": {
"name": "NishiOgikubo Subnet Token",
"symbol": "NOS",
"decimals": 18
},
"networkId": 85023,
"redFlags": [],
"rpc": [
"https://nishiogikubo-subnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://85023.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/nishiogiku/testnet/rpc"
],
"shortName": "NishiOgikubo Subnet",
"slug": "nishiogikubo-subnet",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 85678,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0122I1 Testnet",
"nativeCurrency": {
"name": "QI0122I1 Testnet Token",
"symbol": "KIP",
"decimals": 18
},
"networkId": 85678,
"redFlags": [],
"rpc": [
"https://qi0122i1-testnet-qi0122i1 testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://85678.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0122I1 Testnet",
"slug": "qi0122i1-testnet-qi0122i1 testnet",
"testnet": true
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "Hypr",
"chainId": 881,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeie6wdqkhub4p346rixkvft3l2bxa3kzo4q6dh5c5vgq6oejwlhu4a/",
"width": 3600,
"height": 3600,
"format": "PNG"
},
"infoURL": "https://www.hypr.network",
"name": "Hypr Mainnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 881,
"parent": {
"type": "OP Stack",
"chain": "OP",
"bridges": []
},
"redFlags": [],
"rpc": [
"https://hypr.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://881.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.hypr.network"
],
"shortName": "ether",
"slug": "hypr",
"testnet": false
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 94565,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "T 0117",
"nativeCurrency": {
"name": "T 0117 Token",
"symbol": "RUI",
"decimals": 18
},
"networkId": 94565,
"redFlags": [],
"rpc": [
"https://t-0117.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://94565.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "T 0117",
"slug": "t-0117",
"testnet": true
} as const satisfies Chain;
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/chains",
"version": "0.1.64",
"version": "0.1.65",
"main": "dist/thirdweb-dev-chains.cjs.js",
"module": "dist/thirdweb-dev-chains.esm.js",
"exports": {
File diff suppressed because one or more lines are too long
+10
View File
@@ -1,5 +1,15 @@
# thirdweb
## 0.13.33
### Patch Changes
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/sdk@4.0.28
- @thirdweb-dev/wallets@2.4.3
- @thirdweb-dev/auth@4.1.25
## 0.13.32
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "thirdweb",
"main": "dist/cli/index.js",
"version": "0.13.32",
"version": "0.13.33",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
+12
View File
@@ -1,5 +1,17 @@
# @thirdweb-dev/react-core
## 4.4.0
### Patch Changes
- [#2202](https://github.com/thirdweb-dev/js/pull/2202) [`ba978f55`](https://github.com/thirdweb-dev/js/commit/ba978f55b0c6a7458801a7c02f28db3266718e14) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Update code sample for useTokenSupply
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/sdk@4.0.28
- @thirdweb-dev/wallets@2.4.3
- @thirdweb-dev/auth@4.1.25
## 4.3.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-core",
"version": "4.3.2",
"version": "4.4.0",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-core",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -40,7 +40,8 @@ import invariant from "tiny-invariant";
* import { useTokenSupply } from "@thirdweb-dev/react";
*
* function App() {
* const { data, isLoading, error } = useTokenSupply(contractAddress);
* const { contract } = useContract(contractAddress);
* const { data, isLoading, error } = useTokenSupply(contract);
* }
* ```
*
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,7 @@
# @thirdweb-dev/react-native-compat
## 0.6.3
## 0.6.2
## 0.6.1
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@thirdweb-dev/react-native-compat",
"description": "Shims for Thirdweb in React Native Projects",
"version": "0.6.2",
"version": "0.6.3",
"author": "thirdweb eng <[email protected]>",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native-compat",
"license": "Apache-2.0",
+16
View File
@@ -1,5 +1,21 @@
# @thirdweb-dev/react-native
## 0.6.3
### Patch Changes
- [#2198](https://github.com/thirdweb-dev/js/pull/2198) [`94e4dc9a`](https://github.com/thirdweb-dev/js/commit/94e4dc9aab2b4fee0c444e10b2f860ed9f7c0fc9) Thanks [@iketw](https://github.com/iketw)! - UI improvements
- [#2197](https://github.com/thirdweb-dev/js/pull/2197) [`212b2e7b`](https://github.com/thirdweb-dev/js/commit/212b2e7bc28c8e88207a9935756f7e6133a5b7d3) Thanks [@MananTank](https://github.com/MananTank)! - - The "Request Testnet funds" button is now hidden by default in `ConnectWallet` Details Modal
- You can add it back by setting `hideTestnetFaucet` to `false` in the `ConnectWallet` component.
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9), [`ba978f55`](https://github.com/thirdweb-dev/js/commit/ba978f55b0c6a7458801a7c02f28db3266718e14)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/react-core@4.4.0
- @thirdweb-dev/sdk@4.0.28
- @thirdweb-dev/wallets@2.4.3
## 0.6.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-native",
"version": "0.6.2",
"version": "0.6.3",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -50,7 +50,12 @@ export type ConnectWalletProps = {
/**
* Hide option to request testnet funds for testnets in dropdown
*
* The default is `false`
* By default it is `true`, If you want to show the "Request Testnet funds" link when user is connected to a testnet, set this prop to `false`
*
* @example
* ```tsx
* <ConnectWallet hideTestnetFaucet={false} />
* ```
*/
hideTestnetFaucet?: boolean;
@@ -220,6 +220,10 @@ export const ConnectWalletDetailsModal = ({
hideSwitchToPersonalWallet,
]);
// by default we hide faucet link
const showFaucet =
hideTestnetFaucet === undefined ? false : !hideTestnetFaucet;
return (
<ThemeProvider>
<TWModal isVisible={isVisible} onBackdropPress={onClosePress}>
@@ -288,7 +292,7 @@ export const ConnectWalletDetailsModal = ({
</Text>
</View>
<NetworkButton chain={chain} enableSwitchModal={true} />
{!hideTestnetFaucet && chain?.testnet && chain?.faucets?.length ? (
{showFaucet && chain?.testnet && chain?.faucets?.length ? (
<IconTextButton
mt="xs"
text={l.connect_wallet_details.request_testnet_funds}
@@ -6,7 +6,7 @@ import {
useConnect,
useWalletContext,
} from "@thirdweb-dev/react-core";
import { ReactNode, useMemo, useState } from "react";
import { ReactNode, useCallback, useMemo, useState } from "react";
import Box from "../../base/Box";
import Text from "../../base/Text";
import ThirdwebLogo from "../../../assets/thirdweb-logo";
@@ -112,6 +112,22 @@ export function ChooseWallet({
}
};
const getHeaderText = useCallback(() => {
if (typeof headerText === "string" && headerText.length === 0) {
return null;
}
if (!headerText || typeof headerText === "string") {
return (
<Text variant="headerBold" ml="xxs" fontSize={20} lineHeight={24}>
{headerText ? headerText : l.connect_wallet_details.connect}
</Text>
);
}
return headerText;
}, [headerText, l.connect_wallet_details.connect]);
const connect = useConnect();
const address = useAddress();
const {
@@ -150,9 +166,7 @@ export function ChooseWallet({
color={theme.colors.backgroundInverted}
/>
)}
<Text variant="headerBold" ml="xxs" fontSize={20} lineHeight={24}>
{headerText ? headerText : l.connect_wallet_details.connect}
</Text>
{getHeaderText()}
</Box>
}
subHeaderText={subHeaderText}
@@ -107,7 +107,16 @@ export type ConnectEmbedProps = {
};
export const ConnectEmbed = (props: ConnectEmbedProps) => {
return <ConnectEmbedUI {...props} isModal={false} />;
return (
<ConnectEmbedUI
container={{
borderRadius: "xxl",
paddingBottom: "lg",
}}
{...props}
isModal={false}
/>
);
};
export const ConnectEmbedUI = ({
@@ -27,11 +27,13 @@ export function ConnectingWallet({
const l = useLocale();
return (
<Box paddingHorizontal="xl">
<ConnectWalletHeader
onBackPress={onBackPress}
subHeaderText={subHeaderText}
onClose={onClose}
/>
<Box marginVertical="lg">
<ConnectWalletHeader
onBackPress={onBackPress}
subHeaderText={subHeaderText}
onClose={onClose}
/>
</Box>
<WalletLoadingThumbnail imageSize={85}>
<ImageSvgUri height={80} width={80} imageUrl={wallet.meta.iconURL} />
</WalletLoadingThumbnail>
@@ -57,13 +57,13 @@ export const ModalHeaderTextClose = ({
<View />
)}
</Box>
<Box flexDirection="row" justifyContent="space-between" mt="md">
{typeof subHeaderText === "string" ? (
{!subHeaderText ? null : typeof subHeaderText === "string" ? (
<Box mt="md">
<Text variant="subHeader">{subHeaderText}</Text>
) : (
subHeaderText
)}
</Box>
</Box>
) : (
<Box mt="md">{subHeaderText}</Box>
)}
</>
);
};
File diff suppressed because it is too large Load Diff
+21
View File
@@ -1,5 +1,26 @@
# @thirdweb-dev/react
## 4.4.0
### Minor Changes
- [#2197](https://github.com/thirdweb-dev/js/pull/2197) [`212b2e7b`](https://github.com/thirdweb-dev/js/commit/212b2e7bc28c8e88207a9935756f7e6133a5b7d3) Thanks [@MananTank](https://github.com/MananTank)! - - Change ConnectWallet Details dropdown to a Modal with a few UI improvements.
- Because of this the `dropdownPosition` prop has been removed from `ConnectWallet` component
- The "Request Testnet funds" button is now hidden by default in the new Modal UI.
- You can add it back by setting `hideTestnetFaucet` to `false` in the `ConnectWallet` component.
### Patch Changes
- [#2209](https://github.com/thirdweb-dev/js/pull/2209) [`f29f91d7`](https://github.com/thirdweb-dev/js/commit/f29f91d7e0837b2084d7257288e80ef2cbc70942) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Show specific error message for embedded wallet limits reached
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9), [`ba978f55`](https://github.com/thirdweb-dev/js/commit/ba978f55b0c6a7458801a7c02f28db3266718e14)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/react-core@4.4.0
- @thirdweb-dev/sdk@4.0.28
- @thirdweb-dev/wallets@2.4.3
## 4.3.2
### Patch Changes
+1 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react",
"version": "4.3.2",
"version": "4.4.0",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -114,7 +114,6 @@
"@headlessui/react": "1.7.6",
"@radix-ui/colors": "^0.1.9",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.5",
"@radix-ui/react-focus-scope": "^1.0.4",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-popover": "^1.0.6",
+1 -1
View File
@@ -48,7 +48,7 @@ const TooltipContent = /* @__PURE__ */ (() =>
background: theme.colors.tooltipBg,
color: theme.colors.tooltipText,
borderRadius: radius.sm,
padding: `${spacing.sm} ${spacing.md}`,
padding: `${spacing.xs} ${spacing.sm}`,
fontSize: fontSize.sm,
boxShadow: shadow.sm,
userSelect: "none",
@@ -71,7 +71,6 @@ export type Theme = {
secondaryButtonHoverBg: string;
modalBg: string;
dropdownBg: string;
tooltipBg: string;
tooltipText: string;
@@ -122,7 +121,6 @@ function createThemeObj(colors: ThemeColors): Theme {
secondaryButtonHoverBg: colors.base4,
modalBg: colors.base1,
dropdownBg: colors.base1,
tooltipBg: colors.primaryText,
tooltipText: colors.base1,
-2
View File
@@ -30,8 +30,6 @@ export {
type NetworkSelectorChainProps,
} from "../wallet/ConnectWallet/NetworkSelector";
export type { DropDownPosition } from "../wallet/ConnectWallet/Details";
// UI components
export * from "./components/MediaRenderer";
export * from "./components/NftMedia";
+3 -1
View File
@@ -44,7 +44,7 @@ export function enDefault() {
transactionHistory: "Transaction History",
backupWallet: "Backup Wallet",
guestWalletWarning:
"This is a temporary guest wallet. Backup if you don't want to lose access to it",
"This is a temporary guest wallet. Backup wallet if you don't want to lose access to it",
switchTo: "Switch to", // Used in "Switch to <Wallet-Name>"
connectedToSmartWallet: "Connected To Smart Wallet",
confirmInWallet: "Confirm in wallet",
@@ -212,6 +212,8 @@ export function enDefault() {
signIn: "Sign in",
emailRequired: "Email address is required",
invalidEmail: "Invalid email address",
maxAccountsExceeded:
"Maximum number of accounts exceeded. Please notify the app developer.",
socialLoginScreen: {
title: "Sign in",
instruction: "Sign into your account in the pop-up",
+1
View File
@@ -215,6 +215,7 @@ export function esDefault(): ThirdwebLocale {
signIn: "Iniciar sesión",
emailRequired: "Se requiere dirección de correo electrónico",
invalidEmail: "Dirección de correo electrónico inválida",
maxAccountsExceeded: "Número máximo de cuentas alcanzado",
socialLoginScreen: {
title: "Iniciar sesión",
instruction: "Inicie sesión en su cuenta en la ventana abierta",
+1
View File
@@ -214,6 +214,7 @@ export function jaDefault(): ThirdwebLocale {
emailRequired: "メールアドレスが必要です",
invalidEmail: "無効なメールアドレス",
signIn: "サインイン",
maxAccountsExceeded: "アカウントの最大数を超えました",
socialLoginScreen: {
title: "サインイン",
instruction: "ポップアップウィンドウでアカウントにサインインします", // TODO: check if this is correct
+15 -7
View File
@@ -86,7 +86,8 @@ export function tlDefault(): ThirdwebLocale {
},
receiveFundsScreen: {
title: "Matanggap ang Pondo",
instruction: "Kopyahin ang address ng wallet para ipadala ang pondo dito",
instruction:
"Kopyahin ang address ng wallet para ipadala ang pondo dito",
},
sendFundsScreen: {
title: "Ipadala ang Pondo",
@@ -126,21 +127,24 @@ export function tlDefault(): ThirdwebLocale {
},
wallets: {
walletConnect: {
scanInstruction: "I-scan ito gamit ang iyong wallet app para makakonekta",
scanInstruction:
"I-scan ito gamit ang iyong wallet app para makakonekta",
},
smartWallet: {
connecting: "Kumokonekta sa Smart Wallet",
failedToConnect: "Hindi nagawa ang pagkonekta sa Smart Wallet",
wrongNetworkScreen: {
title: "Maling Network",
subtitle: "Hindi konektado ang iyong wallet sa kinakailangang network",
subtitle:
"Hindi konektado ang iyong wallet sa kinakailangang network",
failedToSwitch: "Hindi nagawa ang pagpapalit ng network",
},
},
safeWallet: {
connectWalletScreen: {
title: "Kumonekta ng personal na wallet",
subtitle: "Konektahin ang iyong personal na wallet para magamit ang Safe.",
subtitle:
"Konektahin ang iyong personal na wallet para magamit ang Safe.",
learnMoreLink: "Alamin pa",
},
accountDetailsScreen: {
@@ -148,7 +152,8 @@ export function tlDefault(): ThirdwebLocale {
findSafeAddressIn: "Maaari mong mahanap ang iyong safe address sa", // You can find your safe address in + <dashboardLink>
dashboardLink: "Safe Dashboard", // <dashboardLink>
network: "Safe Network",
selectNetworkPlaceholder: "Network kung saan inilunsad ang iyong safe",
selectNetworkPlaceholder:
"Network kung saan inilunsad ang iyong safe",
invalidChainConfig:
"Hindi magamit ang Safe: Walang mga suportadong chain ng Safe na nakakonfigure sa App",
failedToConnect:
@@ -212,6 +217,7 @@ export function tlDefault(): ThirdwebLocale {
signIn: "Mag-sign in",
emailRequired: "Kinakailangan ang email address",
invalidEmail: "Hindi wastong email address",
maxAccountsExceeded: "Naabot mo na ang maximum na bilang ng accounts",
socialLoginScreen: {
title: "Mag-sign in",
instruction: "Mag-sign in sa iyong account sa pop-up",
@@ -261,7 +267,8 @@ export function tlDefault(): ThirdwebLocale {
invalidEmail: "Hindi wastong email address",
invalidPhone: "Hindi wastong numero ng telepono",
invalidEmailOrPhone: "Hindi wastong email address o numero ng telepono",
countryCodeMissing: "Ang numero ng telepono ay dapat magsimula sa country code",
countryCodeMissing:
"Ang numero ng telepono ay dapat magsimula sa country code",
emailPlaceholder: "Ilagay ang iyong email address",
emailRequired: "Kinakailangan ang email address",
},
@@ -301,7 +308,8 @@ export function tlDefault(): ThirdwebLocale {
title: "Mag-import ng Wallet",
description1:
"Ang application ay maaaring mag-authorize ng anumang mga transaksyon sa ngalan ng wallet nang walang anumang mga approval",
description2: "Minumungkahi naming kumonekta lamang sa mga pinagkakatiwalaang application",
description2:
"Minumungkahi naming kumonekta lamang sa mga pinagkakatiwalaang application",
import: "Mag-import",
uploadJSON: "Mangyaring mag-upload ng isang JSON file",
uploadedSuccessfully: "Matagumpay na na-upload",
+1
View File
@@ -164,6 +164,7 @@ export type ThirdwebLocale = {
title: string;
};
submitEmail: string;
maxAccountsExceeded: string;
};
frameWallet: {
connectionFailedScreen: {
@@ -1,5 +1,5 @@
import { Theme, iconSize } from "../../design-system";
import { ConnectedWalletDetails, type DropDownPosition } from "./Details";
import { ConnectedWalletDetails } from "./Details";
import {
useAddress,
useConnectionStatus,
@@ -117,22 +117,6 @@ export type ConnectWalletProps = {
*/
detailsBtn?: () => JSX.Element;
/**
* When user connects the wallet using ConnectWallet Modal, a "Details Button" is rendered. Clicking on this button opens a dropdown which opens in a certain direction relative to the Details button.
*
* `dropdownPosition` prop allows you to customize the direction the dropdown should open relative to the Details button.
*
* ```tsx
* <ConnectWallet
* dropdownPosition={{
* side: "bottom", // or use: "top" | "bottom" | "left" | "right"
* align: "end", // or use: "start" | "center" | "end";
* }}
* />
* ```
*/
dropdownPosition?: DropDownPosition;
/**
* Enforce that users must sign in with their wallet using [auth](https://portal.thirdweb.com/wallets/auth) after connecting their wallet.
*
@@ -169,9 +153,9 @@ export type ConnectWalletProps = {
>;
/**
* Hide the "Request Testnet funds" link in ConnectWallet dropdown which is shown when user is connected to a testnet.
* Hide the "Request Testnet funds" link in ConnectWallet Details Modal when user is connected to a testnet.
*
* By default it is `false`
* By default it is `true`, If you want to show the "Request Testnet funds" link when user is connected to a testnet, set this prop to `false`
*
* @example
* ```tsx
@@ -317,7 +301,7 @@ export type ConnectWalletProps = {
hideSwitchToPersonalWallet?: boolean;
/**
* Hide the "Disconnect Wallet" button in the ConnectWallet Dropdown.
* Hide the "Disconnect Wallet" button in the ConnectWallet Details Modal.
*
* By default it is `false`
*
@@ -441,19 +425,6 @@ const TW_CONNECT_WALLET = "tw-connect-wallet";
* />
* ```
*
* ### dropdownPosition (optional)
* When user connects the wallet using ConnectWallet Modal, a "Details Button" is rendered. Clicking on this button opens a dropdown which opens in a certain direction relative to the Details button.
*
* `dropdownPosition` prop allows you to customize the direction the dropdown should open relative to the Details button.
*
* ```tsx
* <ConnectWallet
* dropdownPosition={{
* side: "bottom", // or use: "top" | "bottom" | "left" | "right"
* align: "end", // or use: "start" | "center" | "end";
* }}
* />
* ```
*
* ### style (optional)
* CSS styles to apply to the button element
@@ -462,9 +433,9 @@ const TW_CONNECT_WALLET = "tw-connect-wallet";
* Customize the Network selector shown
*
* ### hideTestnetFaucet (optional)
* Hide the "Request Testnet funds" link in ConnectWallet dropdown which is shown when user is connected to a testnet.
* Hide the "Request Testnet funds" link in ConnectWallet Details Modal when user is connected to a testnet. By default it is `true`
*
* By default it is `false`
* If you want to show the "Request Testnet funds" link when user is connected to a testnet, set this prop to `false`
*
* ```tsx
* <ConnectWallet hideTestnetFaucet={false} />
@@ -581,7 +552,7 @@ const TW_CONNECT_WALLET = "tw-connect-wallet";
* ```
*
* ### hideDisconnect
* Hide the "Disconnect Wallet" button in the ConnectWallet dropdown
* Hide the "Disconnect Wallet" button in the ConnectWallet Details Modal
*
* By default it is `false`
*
@@ -769,7 +740,6 @@ export function ConnectWallet(props: ConnectWalletProps) {
<ConnectedWalletDetails
theme={theme}
networkSelector={props.networkSelector}
dropdownPosition={props.dropdownPosition}
className={props.className}
style={props.style}
detailsBtn={props.detailsBtn}
@@ -4,7 +4,6 @@ import { Img } from "../../components/Img";
import { Modal } from "../../components/Modal";
import { Skeleton } from "../../components/Skeleton";
import { Spacer } from "../../components/Spacer";
import { ToolTip } from "../../components/Tooltip";
import { Button, IconButton } from "../../components/buttons";
import {
fontSize,
@@ -15,18 +14,19 @@ import {
Theme,
} from "../../design-system";
import { isMobile } from "../../evm/utils/isMobile";
import { NetworkSelector, type NetworkSelectorProps } from "./NetworkSelector";
import { ExitIcon } from "./icons/ExitIcon";
import { keyframes } from "@emotion/react";
import {
NetworkSelectorContent,
type NetworkSelectorProps,
} from "./NetworkSelector";
import styled from "@emotion/styled";
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
import {
ChevronRightIcon,
EnterIcon,
PaperPlaneIcon,
PinBottomIcon,
ShuffleIcon,
TextAlignLeftIcon,
TextAlignJustifyIcon,
ExitIcon,
} from "@radix-ui/react-icons";
import { Localhost } from "@thirdweb-dev/chains";
import {
@@ -48,7 +48,7 @@ import {
walletIds,
type EmbeddedWallet,
} from "@thirdweb-dev/wallets";
import { Container } from "../../components/basic";
import { Container, Line } from "../../components/basic";
import { FundsIcon } from "./icons/FundsIcon";
import { ExportLocalWallet } from "../wallets/localWallet/ExportLocalWallet";
import { useWalletContext } from "@thirdweb-dev/react-core";
@@ -62,11 +62,7 @@ import { ReceiveFunds } from "./ReceiveFunds";
import { smartWalletIcon } from "./icons/dataUris";
import { useTWLocale } from "../../evm/providers/locale-provider";
import { shortenString } from "@thirdweb-dev/react-core";
import {
StyledButton,
StyledDiv,
StyledLabel,
} from "../../design-system/elements";
import { StyledButton, StyledDiv } from "../../design-system/elements";
import { useCustomTheme } from "../../design-system/CustomThemeProvider";
import {
appleIconUri,
@@ -74,16 +70,18 @@ import {
googleIconUri,
} from "./icons/socialLogins";
import { useEmbeddedWalletUserEmail } from "../../evm/hooks/wallets/useEmbeddedWallet";
export type DropDownPosition = {
side: "top" | "bottom" | "left" | "right";
align: "start" | "center" | "end";
};
import { onModalUnmount } from "./constants";
const TW_CONNECTED_WALLET = "tw-connected-wallet";
type WalletDetailsModalScreen =
| "main"
| "export"
| "send"
| "receive"
| "network-switcher";
export const ConnectedWalletDetails: React.FC<{
dropdownPosition?: DropDownPosition;
onDisconnect: () => void;
style?: React.CSSProperties;
networkSelector?: Omit<
@@ -127,14 +125,8 @@ export const ConnectedWalletDetails: React.FC<{
string | undefined
>(undefined);
// modals
const [showNetworkSelector, setShowNetworkSelector] = useState(false);
const [showExportModal, setShowExportModal] = useState(false);
const [showSendModal, setShowSendModal] = useState(false);
const [showReceiveModal, setShowReceiveModal] = useState(false);
// dropdown
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
const [screen, setScreen] = useState<WalletDetailsModalScreen>("main");
const [isOpen, setIsOpen] = useState(false);
const sdk = useSDK();
@@ -152,7 +144,7 @@ export const ConnectedWalletDetails: React.FC<{
const isActuallyMetaMask =
activeWallet && activeWallet instanceof MetaMaskWallet;
const shortAddress = address ? shortenString(address) : "";
const shortAddress = address ? shortenString(address, false) : "";
const addressOrENS = ensQuery.data?.ens || shortAddress;
const avatarUrl = ensQuery.data?.avatarUrl;
@@ -183,6 +175,14 @@ export const ConnectedWalletDetails: React.FC<{
}
}, [activeWallet]);
useEffect(() => {
if (!isOpen) {
onModalUnmount(() => {
setScreen("main");
});
}
}, [isOpen]);
const walletIconUrl =
overrideWalletIconUrl || activeWalletConfig?.meta.iconURL || "";
const avatarOrWalletIconUrl = avatarUrl || walletIconUrl;
@@ -250,14 +250,14 @@ export const ConnectedWalletDetails: React.FC<{
</WalletInfoButton>
);
let networkSwitcherButton = (
const networkSwitcherButton = (
<MenuButton
type="button"
disabled={disableSwitchChain}
onClick={() => {
setIsDropdownOpen(false);
setShowNetworkSelector(true);
setScreen("network-switcher");
}}
data-variant="primary"
>
<div
style={{
@@ -268,7 +268,7 @@ export const ConnectedWalletDetails: React.FC<{
>
<ChainIcon chain={chain} size={iconSize.md} active />
</div>
<Text size="sm" color="primaryText" multiline>
<Text color="primaryText" multiline>
{chain?.name || `Unknown chain #${walletChainId}`}
</Text>
<StyledChevronRightIcon
@@ -282,19 +282,17 @@ export const ConnectedWalletDetails: React.FC<{
</MenuButton>
);
if (!disableSwitchChain) {
networkSwitcherButton = (
<ToolTip tip={locale.switchNetwork}>{networkSwitcherButton}</ToolTip>
);
}
// by default we hide faucet link
const showFaucet =
props.hideTestnetFaucet === undefined ? false : !props.hideTestnetFaucet;
const content = (
let content = (
<div>
{/* Balance and Account Address */}
<Container flex="row" gap="sm">
<Spacer y="xl" />
<Container px="lg" flex="column" center="x">
<Img
width={iconSize.xl}
height={iconSize.xl}
width={iconSize.xxl}
height={iconSize.xxl}
src={avatarOrWalletIconUrl}
alt=""
style={{
@@ -302,360 +300,319 @@ export const ConnectedWalletDetails: React.FC<{
}}
/>
<Spacer y="md" />
{/* Address */}
<div
style={{
flexGrow: 1,
display: "flex",
gap: spacing.xxs,
alignItems: "center",
transform: "translateX(10px)",
}}
data-test="connected-wallet-address"
data-address={address}
>
{/* row 1 */}
<Container gap="xs" flex="row" center="y">
<div
style={{
display: "flex",
gap: spacing.xs,
alignItems: "center",
}}
data-test="connected-wallet-address"
data-address={address}
>
<Text color="primaryText" weight={500}>
{addressOrENS}
</Text>
<IconButton
style={{
padding: "3px",
}}
data-test="copy-address"
>
<CopyIcon
text={address || ""}
tip={locale.copyAddress}
side="bottom"
/>
</IconButton>
</div>
{!props.hideDisconnect && (
<ToolTip
tip={locale.disconnectWallet}
side="bottom"
align={"end"}
sideOffset={10}
>
<DisconnectIconButton
type="button"
onClick={() => {
disconnect();
props.onDisconnect();
}}
>
<ExitIcon size={iconSize.md} />
</DisconnectIconButton>
</ToolTip>
)}
</Container>
{/* row 2 */}
<Text weight={500} size="sm">
{" "}
{balanceQuery.data ? (
Number(balanceQuery.data.displayValue).toFixed(3)
) : (
<Skeleton height="1em" width="100px" />
)}{" "}
{balanceQuery.data?.symbol}{" "}
<Text color="primaryText" weight={500} size="md">
{addressOrENS}
</Text>
</div>
</Container>
<Spacer y="lg" />
<ConnectedToSmartWallet />
<EmbeddedWalletEmail />
{/* Send and Receive */}
<Container
style={{
display: "grid",
gridTemplateColumns: "1fr 1fr",
gap: spacing.sm,
}}
>
<Button
variant="outline"
style={{
fontSize: fontSize.sm,
display: "flex",
gap: spacing.xs,
alignItems: "center",
padding: spacing.sm,
}}
onClick={() => {
setShowSendModal(true);
setIsDropdownOpen(false);
}}
>
<PaperPlaneIcon
width={iconSize.sm}
height={iconSize.sm}
<IconButton
style={{
transform: "translateY(-10%) rotate(-45deg) ",
padding: "3px",
}}
/>
{locale.send}
</Button>
data-test="copy-address"
>
<CopyIcon
text={address || ""}
tip={locale.copyAddress}
side="top"
/>
</IconButton>
</div>
<Button
variant="outline"
style={{
fontSize: fontSize.sm,
display: "flex",
gap: spacing.xs,
alignItems: "center",
padding: spacing.sm,
}}
onClick={() => {
setShowReceiveModal(true);
setIsDropdownOpen(false);
}}
>
<PinBottomIcon width={iconSize.sm} height={iconSize.sm} />{" "}
{locale.receive}{" "}
</Button>
<Spacer y="xxs" />
{/* Balance */}
<Text weight={500} size="sm">
{" "}
{balanceQuery.data ? (
Number(balanceQuery.data.displayValue).toFixed(3)
) : (
<Skeleton height="1em" width="100px" />
)}{" "}
{balanceQuery.data?.symbol}{" "}
</Text>
</Container>
<Spacer y="lg" />
{/* Network Switcher */}
<div>
<DropdownLabel>{locale.currentNetwork}</DropdownLabel>
<Spacer y="xs" />
{networkSwitcherButton}
</div>
<Container px="lg">
<ConnectedToSmartWallet />
<EmbeddedWalletEmail />
{/* Send and Receive */}
<Container
style={{
display: "grid",
gridTemplateColumns: "1fr 1fr",
gap: spacing.sm,
}}
>
<Button
variant="outline"
style={{
fontSize: fontSize.sm,
display: "flex",
gap: spacing.xs,
alignItems: "center",
padding: spacing.sm,
}}
onClick={() => {
setScreen("send");
}}
>
<PaperPlaneIcon
width={iconSize.sm}
height={iconSize.sm}
style={{
transform: "translateY(-10%) rotate(-45deg) ",
}}
/>
{locale.send}
</Button>
<Button
variant="outline"
style={{
fontSize: fontSize.sm,
display: "flex",
gap: spacing.xs,
alignItems: "center",
padding: spacing.sm,
}}
onClick={() => {
setScreen("receive");
}}
>
<PinBottomIcon width={iconSize.sm} height={iconSize.sm} />{" "}
{locale.receive}{" "}
</Button>
</Container>
</Container>
<Spacer y="md" />
<Container flex="column" gap="sm">
{/* Switch to Personal Wallet for Safe */}
{personalWallet &&
personalWalletConfig &&
!props.hideSwitchToPersonalWallet && (
<Container px="md">
{/* Network Switcher */}
<Container
flex="column"
style={{
gap: "1px",
}}
>
{networkSwitcherButton}
{/* Switch to Personal Wallet for Safe */}
{personalWallet &&
personalWalletConfig &&
!props.hideSwitchToPersonalWallet && (
<WalletSwitcher
wallet={personalWallet}
name={locale.personalWallet}
/>
)}
{/* Switch to Wrapper Wallet */}
{wrapperWalletConfig && wrapperWallet && (
<WalletSwitcher
wallet={personalWallet}
name={locale.personalWallet}
name={
wrapperWallet.walletId === walletIds.smartWallet
? locale.smartWallet
: wrapperWalletConfig.meta.name
}
wallet={wrapperWallet}
/>
)}
{/* Switch to Wrapper Wallet */}
{wrapperWalletConfig && wrapperWallet && (
<WalletSwitcher
name={
wrapperWallet.walletId === walletIds.smartWallet
? locale.smartWallet
: wrapperWalletConfig.meta.name
}
wallet={wrapperWallet}
/>
)}
{/* Switch Account for Metamask */}
{isActuallyMetaMask &&
activeWalletConfig &&
activeWalletConfig.isInstalled &&
activeWalletConfig.isInstalled() &&
!isMobile() && (
<MenuButton
type="button"
onClick={() => {
(activeWallet as MetaMaskWallet).switchAccount();
setIsOpen(false);
}}
>
<ShuffleIcon width={iconSize.md} height={iconSize.md} />
<Text color="primaryText">{locale.switchAccount}</Text>
</MenuButton>
)}
{/* Switch Account for Metamask */}
{isActuallyMetaMask &&
activeWalletConfig &&
activeWalletConfig.isInstalled &&
activeWalletConfig.isInstalled() &&
!isMobile() && (
<MenuButton
type="button"
onClick={() => {
(activeWallet as MetaMaskWallet).switchAccount();
setIsDropdownOpen(false);
}}
style={{
fontSize: fontSize.sm,
}}
>
<Container color="secondaryText">
<ShuffleIcon width={iconSize.sm} height={iconSize.sm} />
</Container>
{locale.switchAccount}
</MenuButton>
)}
{/* Request Testnet funds */}
{showFaucet &&
((chain?.faucets && chain.faucets.length > 0) ||
chain?.chainId === Localhost.chainId) && (
<MenuLink
href={chain?.faucets ? chain.faucets[0] : "#"}
target="_blank"
as="a"
onClick={async (e) => {
if (chain.chainId === Localhost.chainId) {
e.preventDefault();
setIsOpen(false);
await sdk?.wallet.requestFunds(10);
await balanceQuery.refetch();
}
}}
style={{
textDecoration: "none",
color: "inherit",
}}
>
<Container flex="row" center="both" color="secondaryText">
<FundsIcon size={iconSize.md} />
</Container>
{locale.requestTestnetFunds}
</MenuLink>
)}
{/* Request Testnet funds */}
{!props.hideTestnetFaucet &&
((chain?.faucets && chain.faucets.length > 0) ||
chain?.chainId === Localhost.chainId) && (
{/* Explorer link */}
{chain?.explorers && chain.explorers[0]?.url && (
<MenuLink
href={chain?.faucets ? chain.faucets[0] : "#"}
href={chain.explorers[0].url + "/address/" + address}
target="_blank"
as="a"
onClick={async (e) => {
if (chain.chainId === Localhost.chainId) {
e.preventDefault();
setIsDropdownOpen(false);
await sdk?.wallet.requestFunds(10);
await balanceQuery.refetch();
}
}}
style={{
textDecoration: "none",
color: "inherit",
fontSize: fontSize.sm,
}}
>
<Container flex="row" center="both" color="secondaryText">
<FundsIcon size={iconSize.sm} />
<Container flex="row" center="y" color="secondaryText">
<TextAlignJustifyIcon
width={iconSize.md}
height={iconSize.md}
/>
</Container>
{locale.requestTestnetFunds}
{locale.transactionHistory}
</MenuLink>
)}
{/* Explorer link */}
{chain?.explorers && chain.explorers[0]?.url && (
<MenuLink
href={chain.explorers[0].url + "/address/" + address}
target="_blank"
as="a"
style={{
textDecoration: "none",
color: "inherit",
fontSize: fontSize.sm,
}}
>
<Container flex="row" center="both" color="secondaryText">
<TextAlignLeftIcon width={iconSize.sm} height={iconSize.sm} />
</Container>
{locale.transactionHistory}
</MenuLink>
)}
{/* Export Wallet */}
{activeWallet?.walletId === walletIds.localWallet && (
<div>
<MenuButton
onClick={() => {
setScreen("export");
}}
style={{
fontSize: fontSize.sm,
}}
>
<PinBottomIcon width={iconSize.md} height={iconSize.md} />
<Text color="primaryText">{locale.backupWallet}</Text>
</MenuButton>
</div>
)}
</Container>
{/* Export Wallet */}
{activeWallet?.walletId === walletIds.localWallet && (
<div>
<Spacer y="md" />
</Container>
{props.hideDisconnect !== true && (
<Container>
<Line />
<Spacer y="sm" />
<Container px="md">
<MenuButton
data-variant="danger"
type="button"
onClick={() => {
setShowExportModal(true);
setIsDropdownOpen(false);
}}
style={{
fontSize: fontSize.sm,
disconnect();
props.onDisconnect();
}}
>
<Container flex="row" center="both" color="secondaryText">
<PinBottomIcon width={iconSize.sm} height={iconSize.sm} />
</Container>
{locale.backupWallet}{" "}
<ExitIcon width={iconSize.md} height={iconSize.md} />
<Text color="primaryText">{locale.disconnectWallet}</Text>
</MenuButton>
<Spacer y="md" />
</Container>
<Spacer y="sm" />
</Container>
)}
{activeWallet?.walletId === walletIds.localWallet && (
<>
<Line />
<Container py="md">
<Text size="xs" center multiline color="danger" balance>
{locale.guestWalletWarning}
</Text>
</div>
)}
</Container>
</Container>
</>
)}
</div>
);
return (
<>
{isMobile() ? (
<Modal
size={"compact"}
trigger={trigger}
open={isDropdownOpen}
setOpen={setIsDropdownOpen}
hideCloseIcon={true}
>
<Container p="lg">{content}</Container>
</Modal>
) : (
<DropdownMenu.Root
open={isDropdownOpen}
onOpenChange={setIsDropdownOpen}
>
<DropdownMenu.Trigger asChild>{trigger}</DropdownMenu.Trigger>
<DropdownMenu.Portal>
<DropDownContent
asChild
side={props.dropdownPosition?.side || "bottom"}
align={props.dropdownPosition?.align || "end"}
sideOffset={10}
>
{content}
</DropDownContent>
</DropdownMenu.Portal>
</DropdownMenu.Root>
)}
<NetworkSelector
open={showNetworkSelector}
if (screen === "network-switcher") {
content = (
<NetworkSelectorContent
open={true}
theme={props.theme}
chains={chains}
{...props.networkSelector}
onClose={() => setShowNetworkSelector(false)}
onClose={() => {
setIsOpen(false);
}}
onBack={() => {
setScreen("main");
}}
/>
);
} else if (screen === "export") {
content = (
<ExportLocalWallet
modalSize="compact"
localWalletConfig={activeWalletConfig as LocalWalletConfig}
onExport={() => {
setIsOpen(false);
}}
walletAddress={address}
walletInstance={activeWallet}
onBack={() => {
setScreen("main");
}}
/>
);
} else if (screen === "send") {
content = (
<SendFunds
supportedTokens={props.supportedTokens}
onBack={() => {
setScreen("main");
}}
/>
);
} else if (screen === "receive") {
content = (
<ReceiveFunds
iconUrl={walletIconUrl}
onBack={() => {
setScreen("main");
}}
/>
);
}
<Modal
size={"compact"}
open={showExportModal}
setOpen={setShowExportModal}
>
<ExportLocalWallet
modalSize="compact"
localWalletConfig={activeWalletConfig as LocalWalletConfig}
onExport={() => {
setShowExportModal(false);
}}
walletAddress={address}
walletInstance={activeWallet}
/>
</Modal>
<Modal size={"compact"} open={showSendModal} setOpen={setShowSendModal}>
<SendFunds supportedTokens={props.supportedTokens} />
</Modal>
<Modal
size={"compact"}
open={showReceiveModal}
setOpen={setShowReceiveModal}
>
<ReceiveFunds iconUrl={walletIconUrl} />
</Modal>
</>
return (
<Modal size={"compact"} trigger={trigger} open={isOpen} setOpen={setIsOpen}>
{content}
</Modal>
);
};
const dropdownContentFade = keyframes`
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
`;
const DropDownContent = /* @__PURE__ */ (() =>
styled(DropdownMenu.Content)(() => {
const theme = useCustomTheme();
return {
width: "360px",
boxSizing: "border-box",
maxWidth: "100%",
borderRadius: radius.lg,
padding: spacing.lg,
animation: `${dropdownContentFade} 400ms cubic-bezier(0.16, 1, 0.3, 1)`,
willChange: "transform, opacity",
border: `1px solid ${theme.colors.borderColor}`,
backgroundColor: theme.colors.dropdownBg,
"--bg": theme.colors.dropdownBg,
zIndex: 1000000,
lineHeight: "normal",
};
}))();
const WalletInfoButton = /* @__PURE__ */ StyledButton(() => {
const theme = useCustomTheme();
return {
@@ -688,15 +645,6 @@ const WalletInfoButton = /* @__PURE__ */ StyledButton(() => {
};
});
const DropdownLabel = /* @__PURE__ */ StyledLabel(() => {
const theme = useCustomTheme();
return {
fontSize: fontSize.sm,
color: theme.colors.secondaryText,
fontWeight: 500,
};
});
const MenuButton = /* @__PURE__ */ StyledButton(() => {
const theme = useCustomTheme();
return {
@@ -704,7 +652,7 @@ const MenuButton = /* @__PURE__ */ StyledButton(() => {
padding: `${spacing.sm} ${spacing.sm}`,
borderRadius: radius.md,
backgroundColor: "transparent",
border: `1px solid ${theme.colors.borderColor}`,
// border: `1px solid ${theme.colors.borderColor}`,
boxSizing: "border-box",
display: "flex",
alignItems: "center",
@@ -712,14 +660,17 @@ const MenuButton = /* @__PURE__ */ StyledButton(() => {
cursor: "pointer",
fontSize: fontSize.md,
fontWeight: 500,
color: `${theme.colors.primaryText} !important`,
color: theme.colors.secondaryText,
gap: spacing.sm,
WebkitTapHighlightColor: "transparent",
lineHeight: 1.3,
"&:not([disabled]):hover": {
transition: "box-shadow 250ms ease, border-color 250ms ease",
border: `1px solid ${theme.colors.accentText}`,
boxShadow: `0 0 0 1px ${theme.colors.accentText}`,
transition: "background-color 200ms ease, transform 200ms ease",
"&:hover": {
backgroundColor: theme.colors.walletSelectorButtonHoverBg,
transform: "scale(1.01)",
svg: {
color: theme.colors.accentText,
},
},
"&[disabled]": {
cursor: "not-allowed",
@@ -727,10 +678,15 @@ const MenuButton = /* @__PURE__ */ StyledButton(() => {
display: "none",
},
},
"&[disabled]:hover": {
transition: "box-shadow 250ms ease, border-color 250ms ease",
border: `1px solid ${theme.colors.danger}`,
boxShadow: `0 0 0 1px ${theme.colors.danger}`,
svg: {
color: theme.colors.secondaryText,
transition: "color 200ms ease",
},
"&[data-variant='danger']:hover svg": {
color: theme.colors.danger + "!important",
},
"&[data-variant='primary']:hover svg": {
color: theme.colors.primaryText + "!important",
},
};
});
@@ -746,19 +702,6 @@ export const StyledChevronRightIcon = /* @__PURE__ */ styled(
};
});
const DisconnectIconButton = /* @__PURE__ */ styled(IconButton)(() => {
const theme = useCustomTheme();
return {
marginRight: `-${spacing.xxs}`,
marginLeft: "auto",
color: theme.colors.secondaryText,
"&:hover": {
color: theme.colors.danger,
background: "none",
},
};
});
function WalletSwitcher({
wallet,
name,
@@ -779,10 +722,10 @@ function WalletSwitcher({
fontSize: fontSize.sm,
}}
>
<Container color="secondaryText">
<EnterIcon width={iconSize.sm} height={iconSize.sm} />
</Container>
{locale.switchTo} {name}
<EnterIcon width={iconSize.md} height={iconSize.md} />
<Text color="primaryText">
{locale.switchTo} {name}
</Text>
</MenuButton>
);
}
@@ -817,22 +760,9 @@ function ConnectedToSmartWallet() {
}, [activeWallet]);
const content = (
<Container
flex="row"
gap="xs"
center="y"
style={{
width: "100%",
justifyContent: "space-between",
}}
>
<Container flex="row" gap="xs" center="y">
<ActiveDot />
{locale.connectedToSmartWallet}
</Container>
{isSmartWalletDeployed && (
<ChevronRightIcon width={iconSize.sm} height={iconSize.sm} />
)}
<Container flex="row" gap="xxs" center="both">
<ActiveDot />
{locale.connectedToSmartWallet}
</Container>
);
@@ -867,11 +797,13 @@ function EmbeddedWalletEmail() {
if (emailQuery.data) {
return (
<Container
flex="row"
center="x"
style={{
paddingBottom: spacing.md,
}}
>
<Text color="primaryText">{emailQuery.data}</Text>
<Text size="sm">{emailQuery.data}</Text>
</Container>
);
}
@@ -24,7 +24,7 @@ import type { Chain } from "@thirdweb-dev/chains";
import Fuse from "fuse.js";
import { Button } from "../../components/buttons";
import { useEffect } from "react";
import { Container, Line } from "../../components/basic";
import { Container, Line, ModalHeader } from "../../components/basic";
import { Text } from "../../components/text";
import { ModalTitle } from "../../components/modalElements";
import {
@@ -33,6 +33,7 @@ import {
} from "../../design-system/CustomThemeProvider";
import { useTWLocale } from "../../evm/providers/locale-provider";
import { StyledButton, StyledP, StyledUl } from "../../design-system/elements";
import { Skeleton } from "../../components/Skeleton";
export type NetworkSelectorChainProps = {
/**
@@ -153,10 +154,38 @@ const fuseConfig = {
* @internal
*/
export function NetworkSelector(props: NetworkSelectorProps) {
const [searchTerm, setSearchTerm] = useState("");
const deferredSearchTerm = useDeferredValue(searchTerm);
const themeFromContext = useCustomTheme();
const theme = props.theme || themeFromContext || "dark";
const { onClose } = props;
return (
<CustomThemeProvider theme={theme}>
<Modal
size={"compact"}
open={props.open}
setOpen={(value) => {
if (!value && onClose) {
onClose();
}
}}
style={{
paddingBottom: props.onCustomClick ? spacing.md : "0px",
}}
>
<NetworkSelectorContent {...props} />
</Modal>
</CustomThemeProvider>
);
}
export function NetworkSelectorContent(
props: NetworkSelectorProps & {
onBack?: () => void;
},
) {
const [searchTerm, setSearchTerm] = useState("");
const deferredSearchTerm = useDeferredValue(searchTerm);
const supportedChains = useSupportedChains();
const chains = props.chains || supportedChains;
const locale = useTWLocale().connectWallet.networkSelector;
@@ -222,177 +251,166 @@ export function NetworkSelector(props: NetworkSelectorProps) {
);
return (
<CustomThemeProvider theme={theme}>
<Modal
size={"compact"}
open={props.open}
setOpen={(value) => {
if (!value && onClose) {
onClose();
}
}}
style={{
paddingBottom: props.onCustomClick ? spacing.md : "0px",
}}
>
<Container>
<Container p="lg">
<ModalTitle>{locale.title}</ModalTitle>
</Container>
<Container>
<Container p="lg">
{props.onBack ? (
<ModalHeader title={locale.title} onBack={props.onBack} />
) : (
<ModalTitle>{locale.title}</ModalTitle>
)}
</Container>
<Tabs.Root className="TabsRoot" defaultValue="all">
<Tabs.Root className="TabsRoot" defaultValue="all">
<Container px="lg">
<Tabs.List
className="TabsList"
aria-label="Manage your account"
style={{
display: "flex",
gap: spacing.xxs,
}}
>
<TabButton className="TabsTrigger" value="all">
{locale.allNetworks}
</TabButton>
<TabButton className="TabsTrigger" value="mainnet">
{locale.mainnets}
</TabButton>
<TabButton className="TabsTrigger" value="testnet">
{locale.testnets}
</TabButton>
</Tabs.List>
</Container>
<Spacer y="lg" />
{chains.length > 10 && (
<>
<Container px="lg">
<Tabs.List
className="TabsList"
aria-label="Manage your account"
{/* Search */}
<div
style={{
display: "flex",
gap: spacing.xxs,
alignItems: "center",
position: "relative",
}}
>
<TabButton className="TabsTrigger" value="all">
{locale.allNetworks}
</TabButton>
<TabButton className="TabsTrigger" value="mainnet">
{locale.mainnets}
</TabButton>
<TabButton className="TabsTrigger" value="testnet">
{locale.testnets}
</TabButton>
</Tabs.List>
</Container>
<StyledMagnifyingGlassIcon
width={iconSize.md}
height={iconSize.md}
/>
<Spacer y="lg" />
{chains.length > 10 && (
<>
<Container px="lg">
{/* Search */}
<Input
style={{
padding: `${spacing.sm} ${spacing.md} ${spacing.sm} ${spacing.xxl}`,
}}
tabIndex={-1}
variant="outline"
placeholder={locale.inputPlaceholder}
value={searchTerm}
onChange={(e) => {
setSearchTerm(e.target.value);
}}
/>
{/* Searching Spinner */}
{deferredSearchTerm !== searchTerm && (
<div
style={{
display: "flex",
alignItems: "center",
position: "relative",
position: "absolute",
right: spacing.md,
}}
>
<StyledMagnifyingGlassIcon
width={iconSize.md}
height={iconSize.md}
/>
<Input
style={{
padding: `${spacing.sm} ${spacing.md} ${spacing.sm} ${spacing.xxl}`,
}}
tabIndex={-1}
variant="outline"
placeholder={locale.inputPlaceholder}
value={searchTerm}
onChange={(e) => {
setSearchTerm(e.target.value);
}}
/>
{/* Searching Spinner */}
{deferredSearchTerm !== searchTerm && (
<div
style={{
position: "absolute",
right: spacing.md,
}}
>
<Spinner size="md" color="accentText" />
</div>
)}
<Spinner size="md" color="accentText" />
</div>
</Container>
<Spacer y="lg" />
</>
)}
<Container px="md">
<Tabs.Content
className="TabsContent"
value="all"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="all"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
<Tabs.Content
className="TabsContent"
value="mainnet"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="mainnet"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
<Tabs.Content
className="TabsContent"
value="testnet"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="testnet"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
)}
</div>
</Container>
<Spacer y="lg" />
</>
)}
{onCustomClick && (
<>
<Line />
<Container p="lg">
<Button
fullWidth
variant="link"
onClick={() => {
onCustomClick();
if (onClose) {
onClose();
}
}}
style={{
display: "flex",
fontSize: fontSize.sm,
boxShadow: "none",
}}
>
{locale.addCustomNetwork}
</Button>
</Container>
</>
)}
</Tabs.Root>
<Container px="md">
<Tabs.Content
className="TabsContent"
value="all"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="all"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
<Tabs.Content
className="TabsContent"
value="mainnet"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="mainnet"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
<Tabs.Content
className="TabsContent"
value="testnet"
style={{
outline: "none",
}}
>
<NetworkTab
allChains={allChains}
type="testnet"
popularChains={popularChains}
recentChains={recentChains}
onSwitch={handleSwitch}
renderChain={props.renderChain}
close={props.onClose}
/>
</Tabs.Content>
</Container>
</Modal>
</CustomThemeProvider>
{onCustomClick && (
<>
<Line />
<Container p="lg">
<Button
fullWidth
variant="link"
onClick={() => {
onCustomClick();
if (onClose) {
onClose();
}
}}
style={{
display: "flex",
fontSize: fontSize.sm,
boxShadow: "none",
}}
>
{locale.addCustomNetwork}
</Button>
</Container>
</>
)}
</Tabs.Root>
</Container>
);
}
@@ -533,21 +551,22 @@ const NetworkList = /* @__PURE__ */ memo(function NetworkList(props: {
useEffect(() => {
if (isLoading) {
setIsLoading(false);
setTimeout(() => {
requestAnimationFrame(() => {
setIsLoading(false);
});
}, 150);
}
}, [isLoading]);
if (isLoading) {
return (
<Container
flex="row"
center="both"
style={{
height: "250px",
}}
>
{/* Don't put a spinner here - it's gonna freeze */}
<Text>{locale.loading}</Text>
<Container px="xxs">
<NetworkListUl>
{new Array(10).fill(0).map((_, i) => (
<Skeleton height="48px" key={i} />
))}
</NetworkListUl>
</Container>
);
}
@@ -12,14 +12,14 @@ import { shortenString } from "@thirdweb-dev/react-core";
import { StyledButton } from "../../design-system/elements";
import { useCustomTheme } from "../../design-system/CustomThemeProvider";
export function ReceiveFunds(props: { iconUrl: string }) {
export function ReceiveFunds(props: { iconUrl: string; onBack: () => void }) {
const address = useAddress();
const { hasCopied, onCopy } = useClipboard(address || "");
const locale = useTWLocale().connectWallet.receiveFundsScreen;
return (
<Container p="lg">
<ModalHeader title={locale.title} />
<ModalHeader title={locale.title} onBack={props.onBack} />
<Spacer y="xl" />
@@ -16,7 +16,6 @@ import { Skeleton } from "../../components/Skeleton";
import { useMutation } from "@tanstack/react-query";
import { Spinner } from "../../components/Spinner";
import { TransactionResult } from "@thirdweb-dev/sdk";
import { ModalTitle } from "../../components/modalElements";
import { CheckCircledIcon, CrossCircledIcon } from "@radix-ui/react-icons";
import { utils } from "ethers";
import { SupportedTokens, TokenInfo, defaultTokens } from "./defaultTokens";
@@ -31,7 +30,10 @@ import { useCustomTheme } from "../../design-system/CustomThemeProvider";
type TXError = Error & { data?: { message?: string } };
export function SendFunds(props: { supportedTokens: SupportedTokens }) {
export function SendFunds(props: {
supportedTokens: SupportedTokens;
onBack: () => void;
}) {
const [screen, setScreen] = useState<"base" | "tokenSelector">("base");
const chainId = useChainId();
@@ -81,6 +83,7 @@ export function SendFunds(props: { supportedTokens: SupportedTokens }) {
setReceiverAddress={setReceiverAddress}
amount={amount}
setAmount={setAmount}
onBack={props.onBack}
/>
);
}
@@ -92,6 +95,7 @@ export function SendFundsForm(props: {
setReceiverAddress: (value: string) => void;
amount: string;
setAmount: (value: string) => void;
onBack: () => void;
}) {
const locale = useTWLocale().connectWallet.sendFundsScreen;
const tokenAddress = props.token?.address;
@@ -204,7 +208,7 @@ export function SendFundsForm(props: {
return (
<Container p="lg" animate="fadein">
<ModalTitle>{locale.title}</ModalTitle>
<ModalHeader title={locale.title} onBack={props.onBack} />
<Spacer y="xl" />
<form
@@ -366,7 +366,12 @@ export const WalletSelector: React.FC<{
<Container scrollY flex="column" animate="fadein" fullHeight>
{/* Header */}
{!modalConfig.isEmbed && (
<Container p="lg">
<Container
p="lg"
style={{
paddingBottom: spacing.md,
}}
>
{isWalletGroupExpanded ? (
<ModalHeader
title={twTitle}
@@ -1,18 +0,0 @@
import type { IconFC } from "./types";
export const ExitIcon: IconFC = ({ size }) => {
return (
<svg
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill="currentColor"
d="M10.79 16.29C11.18 16.68 11.81 16.68 12.2 16.29L15.79 12.7C15.8827 12.6075 15.9563 12.4976 16.0064 12.3766C16.0566 12.2557 16.0824 12.126 16.0824 11.995C16.0824 11.864 16.0566 11.7343 16.0064 11.6134C15.9563 11.4924 15.8827 11.3825 15.79 11.29L12.2 7.7C12.013 7.51302 11.7594 7.40798 11.495 7.40798C11.2306 7.40798 10.977 7.51302 10.79 7.7C10.603 7.88698 10.498 8.14057 10.498 8.405C10.498 8.66943 10.603 8.92302 10.79 9.11L12.67 11H4C3.45 11 3 11.45 3 12C3 12.55 3.45 13 4 13H12.67L10.79 14.88C10.4 15.27 10.41 15.91 10.79 16.29ZM19 3H5C4.46957 3 3.96086 3.21071 3.58579 3.58579C3.21071 3.96086 3 4.46957 3 5V8C3 8.55 3.45 9 4 9C4.55 9 5 8.55 5 8V6C5 5.45 5.45 5 6 5H18C18.55 5 19 5.45 19 6V18C19 18.55 18.55 19 18 19H6C5.45 19 5 18.55 5 18V16C5 15.45 4.55 15 4 15C3.45 15 3 15.45 3 16V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z"
/>
</svg>
);
};
@@ -71,7 +71,7 @@ export const EmbeddedWalletFormUI = (props: {
setConnectedWallet(embeddedWallet);
} catch (e) {
setConnectionStatus("disconnected");
console.error(e);
console.error(`Error sign in with ${strategy}`, e);
}
};
@@ -17,7 +17,12 @@ import { useCustomTheme } from "../../../design-system/CustomThemeProvider";
type EmbeddedWalletOTPLoginUIProps = ConnectUIProps<EmbeddedWallet>;
type VerificationStatus = "verifying" | "invalid" | "valid" | "idle";
type VerificationStatus =
| "verifying"
| "invalid"
| "valid"
| "idle"
| "payment_required";
type EmailStatus = "sending" | SendEmailOtpReturnType | "error";
type ScreenToShow =
| "base"
@@ -135,9 +140,13 @@ export const EmbeddedWalletOTPLoginUI: React.FC<
}
setVerifyStatus("valid");
} catch (e) {
setVerifyStatus("invalid");
console.error(e);
} catch (e: any) {
if (e?.message?.includes("PAYMENT_METHOD_REQUIRED")) {
setVerifyStatus("payment_required");
} else {
setVerifyStatus("invalid");
}
console.error("Authentication Error", e);
}
};
@@ -253,6 +262,15 @@ export const EmbeddedWalletOTPLoginUI: React.FC<
</FadeIn>
)}
{verifyStatus === "payment_required" && (
<FadeIn>
<Spacer y="md" />
<Text size="sm" color="danger" center>
{locale.maxAccountsExceeded}
</Text>
</FadeIn>
)}
<Spacer y="xl" />
<Container px={isWideModal ? "xxl" : "lg"}>
@@ -3,7 +3,7 @@ import {
EmbeddedWallet,
EmbeddedWalletOauthStrategy,
} from "@thirdweb-dev/wallets";
import { useEffect } from "react";
import { useEffect, useState } from "react";
import { Spacer } from "../../../components/Spacer";
import { Spinner } from "../../../components/Spinner";
import { Container, ModalHeader } from "../../../components/basic";
@@ -18,7 +18,8 @@ export const EmbeddedWalletSocialLogin = (
strategy: EmbeddedWalletOauthStrategy;
},
) => {
const locale = useTWLocale().wallets.embeddedWallet.socialLoginScreen;
const ewLocale = useTWLocale().wallets.embeddedWallet;
const locale = ewLocale.socialLoginScreen;
const {
goBack,
modalSize,
@@ -28,9 +29,11 @@ export const EmbeddedWalletSocialLogin = (
connectionStatus,
} = props;
const themeObj = useCustomTheme();
const [authError, setAuthError] = useState<string | undefined>(undefined);
const socialLogin = async () => {
try {
console.log("socialLogin");
const embeddedWallet = createWalletInstance();
setConnectionStatus("connecting");
const socialWindow = openOauthSignInWindow(props.strategy, themeObj);
@@ -49,7 +52,12 @@ export const EmbeddedWalletSocialLogin = (
});
setConnectedWallet(embeddedWallet);
props.connected();
} catch (e) {
} catch (e: any) {
// TODO this only happens on 'retry' button click, not on initial login
// should pass auth error message to this component
if (e?.message?.includes("PAYMENT_METHOD_REQUIRED")) {
setAuthError(ewLocale.maxAccountsExceeded);
}
setConnectionStatus("disconnected");
console.error(`Error sign in with ${props.strategy}`, e);
}
@@ -110,6 +118,7 @@ export const EmbeddedWalletSocialLogin = (
{connectionStatus === "disconnected" && (
<Container animate="fadein">
<Text color="danger">{locale.failed}</Text>
{authError && <Text color="danger">{authError}</Text>}
<Spacer y="lg" />
<Button variant="primary" onClick={socialLogin}>
{locale.retry}
File diff suppressed because it is too large Load Diff
+7
View File
@@ -1,5 +1,12 @@
# @thirdweb-dev/sdk
## 4.0.28
### Patch Changes
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9)]:
- @thirdweb-dev/chains@0.1.65
## 4.0.27
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/sdk",
"version": "4.0.27",
"version": "4.0.28",
"description": "The main thirdweb SDK.",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/sdk",
"license": "Apache-2.0",
File diff suppressed because it is too large Load Diff
+119 -119
View File
@@ -44,7 +44,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 50,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L50"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L50"
}
],
"signatures": [
@@ -59,7 +59,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 50,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L50"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L50"
}
],
"parameters": [
@@ -102,7 +102,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 47,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L47"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L47"
}
],
"type": {
@@ -124,7 +124,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 48,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L48"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L48"
}
],
"type": {
@@ -145,7 +145,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 46,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L46"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L46"
}
],
"type": {
@@ -174,7 +174,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 45,
"character": 9,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L45"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L45"
}
],
"type": {
@@ -200,7 +200,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 77,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L77"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L77"
}
],
"signatures": [
@@ -215,7 +215,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 77,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L77"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L77"
}
],
"parameters": [
@@ -290,7 +290,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 169,
"character": 6,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L169"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L169"
}
],
"type": {
@@ -313,7 +313,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 167,
"character": 6,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L167"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L167"
}
],
"type": {
@@ -341,7 +341,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 166,
"character": 11,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L166"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L166"
}
]
}
@@ -360,7 +360,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 57,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L57"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L57"
}
],
"signatures": [
@@ -394,7 +394,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 57,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L57"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L57"
}
],
"parameters": [
@@ -493,7 +493,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 173,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L173"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L173"
}
],
"signatures": [
@@ -508,7 +508,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 173,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L173"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L173"
}
],
"parameters": [
@@ -592,7 +592,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 327,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L327"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L327"
}
],
"signatures": [
@@ -607,7 +607,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 327,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L327"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L327"
}
],
"parameters": [
@@ -710,7 +710,7 @@
"fileName": "core/uploaders/ipfs-uploader.ts",
"line": 44,
"character": 13,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/uploaders/ipfs-uploader.ts#L44"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/uploaders/ipfs-uploader.ts#L44"
}
],
"implementedTypes": [
@@ -769,7 +769,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 38,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L38"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L38"
}
],
"signatures": [
@@ -784,7 +784,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 38,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L38"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L38"
}
],
"parameters": [
@@ -822,7 +822,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 32,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L32"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L32"
}
],
"type": {
@@ -842,7 +842,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 31,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L31"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L31"
}
],
"type": {
@@ -865,7 +865,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 35,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L35"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L35"
}
],
"type": {
@@ -886,7 +886,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 36,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L36"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L36"
}
],
"type": {
@@ -908,7 +908,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 34,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L34"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L34"
}
],
"type": {
@@ -927,7 +927,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 45,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L45"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L45"
}
],
"signatures": [
@@ -961,7 +961,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 45,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L45"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L45"
}
],
"parameters": [
@@ -1096,7 +1096,7 @@
"fileName": "core/downloaders/storage-downloader.ts",
"line": 30,
"character": 13,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/downloaders/storage-downloader.ts#L30"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/downloaders/storage-downloader.ts#L30"
}
],
"implementedTypes": [
@@ -1147,7 +1147,7 @@
"fileName": "core/storage.ts",
"line": 66,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L66"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L66"
}
],
"signatures": [
@@ -1162,7 +1162,7 @@
"fileName": "core/storage.ts",
"line": 66,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L66"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L66"
}
],
"typeParameter": [
@@ -1242,7 +1242,7 @@
"fileName": "core/storage.ts",
"line": 64,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L64"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L64"
}
],
"type": {
@@ -1263,7 +1263,7 @@
"fileName": "core/storage.ts",
"line": 62,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L62"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L62"
}
],
"type": {
@@ -1286,7 +1286,7 @@
"fileName": "core/storage.ts",
"line": 63,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L63"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L63"
}
],
"type": {
@@ -1309,7 +1309,7 @@
"fileName": "core/storage.ts",
"line": 61,
"character": 10,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L61"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L61"
}
],
"type": {
@@ -1338,7 +1338,7 @@
"fileName": "core/storage.ts",
"line": 122,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L122"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L122"
}
],
"signatures": [
@@ -1381,7 +1381,7 @@
"fileName": "core/storage.ts",
"line": 122,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L122"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L122"
}
],
"parameters": [
@@ -1464,7 +1464,7 @@
"fileName": "core/storage.ts",
"line": 142,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L142"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L142"
}
],
"signatures": [
@@ -1507,7 +1507,7 @@
"fileName": "core/storage.ts",
"line": 142,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L142"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L142"
}
],
"typeParameter": [
@@ -1600,7 +1600,7 @@
"fileName": "core/storage.ts",
"line": 246,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L246"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L246"
}
],
"signatures": [
@@ -1615,7 +1615,7 @@
"fileName": "core/storage.ts",
"line": 246,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L246"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L246"
}
],
"type": {
@@ -1648,7 +1648,7 @@
"fileName": "core/storage.ts",
"line": 101,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L101"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L101"
}
],
"signatures": [
@@ -1691,7 +1691,7 @@
"fileName": "core/storage.ts",
"line": 101,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L101"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L101"
}
],
"parameters": [
@@ -1743,7 +1743,7 @@
"fileName": "core/storage.ts",
"line": 176,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L176"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L176"
}
],
"signatures": [
@@ -1786,7 +1786,7 @@
"fileName": "core/storage.ts",
"line": 176,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L176"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L176"
}
],
"parameters": [
@@ -1874,7 +1874,7 @@
"fileName": "core/storage.ts",
"line": 250,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L250"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L250"
}
],
"signatures": [
@@ -1889,7 +1889,7 @@
"fileName": "core/storage.ts",
"line": 250,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L250"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L250"
}
],
"parameters": [
@@ -1955,7 +1955,7 @@
"fileName": "core/storage.ts",
"line": 206,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L206"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L206"
}
],
"signatures": [
@@ -1998,7 +1998,7 @@
"fileName": "core/storage.ts",
"line": 206,
"character": 8,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L206"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L206"
}
],
"parameters": [
@@ -2114,7 +2114,7 @@
"fileName": "core/storage.ts",
"line": 58,
"character": 13,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/core/storage.ts#L58"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/core/storage.ts#L58"
}
],
"typeParameters": [
@@ -2167,7 +2167,7 @@
"fileName": "types/download.ts",
"line": 12,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L12"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L12"
}
],
"signatures": [
@@ -2201,7 +2201,7 @@
"fileName": "types/download.ts",
"line": 12,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L12"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L12"
}
],
"parameters": [
@@ -2300,7 +2300,7 @@
"fileName": "types/download.ts",
"line": 4,
"character": 17,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L4"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L4"
}
],
"implementedBy": [
@@ -2341,7 +2341,7 @@
"fileName": "types/upload.ts",
"line": 15,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L15"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L15"
}
],
"type": {
@@ -2360,7 +2360,7 @@
"fileName": "types/upload.ts",
"line": 23,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L23"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L23"
}
],
"signatures": [
@@ -2394,7 +2394,7 @@
"fileName": "types/upload.ts",
"line": 23,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L23"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L23"
}
],
"parameters": [
@@ -2490,7 +2490,7 @@
"fileName": "types/upload.ts",
"line": 11,
"character": 17,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L11"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L11"
}
],
"typeParameters": [
@@ -2534,7 +2534,7 @@
"fileName": "types/index.ts",
"line": 19,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L19"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L19"
}
],
"signatures": [
@@ -2549,7 +2549,7 @@
"fileName": "types/index.ts",
"line": 19,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L19"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L19"
}
],
"parameters": [
@@ -2614,7 +2614,7 @@
"fileName": "types/index.ts",
"line": 20,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L20"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L20"
}
],
"signatures": [
@@ -2629,7 +2629,7 @@
"fileName": "types/index.ts",
"line": 20,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L20"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L20"
}
],
"typeParameter": [
@@ -2689,7 +2689,7 @@
"fileName": "types/index.ts",
"line": 23,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L23"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L23"
}
],
"signatures": [
@@ -2704,7 +2704,7 @@
"fileName": "types/index.ts",
"line": 23,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L23"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L23"
}
],
"type": {
@@ -2727,7 +2727,7 @@
"fileName": "types/index.ts",
"line": 18,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L18"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L18"
}
],
"signatures": [
@@ -2742,7 +2742,7 @@
"fileName": "types/index.ts",
"line": 18,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L18"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L18"
}
],
"parameters": [
@@ -2776,7 +2776,7 @@
"fileName": "types/index.ts",
"line": 21,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L21"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L21"
}
],
"signatures": [
@@ -2791,7 +2791,7 @@
"fileName": "types/index.ts",
"line": 21,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L21"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L21"
}
],
"parameters": [
@@ -2827,7 +2827,7 @@
"fileName": "types/index.ts",
"line": 21,
"character": 30,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L21"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L21"
}
],
"indexSignature": {
@@ -2841,7 +2841,7 @@
"fileName": "types/index.ts",
"line": 21,
"character": 32,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L21"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L21"
}
],
"parameters": [
@@ -2895,7 +2895,7 @@
"fileName": "types/index.ts",
"line": 22,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L22"
}
],
"signatures": [
@@ -2910,7 +2910,7 @@
"fileName": "types/index.ts",
"line": 22,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L22"
}
],
"parameters": [
@@ -2949,7 +2949,7 @@
"fileName": "types/index.ts",
"line": 22,
"character": 37,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L22"
}
],
"indexSignature": {
@@ -2963,7 +2963,7 @@
"fileName": "types/index.ts",
"line": 22,
"character": 39,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L22"
}
],
"parameters": [
@@ -3028,7 +3028,7 @@
"fileName": "types/index.ts",
"line": 17,
"character": 17,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L17"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L17"
}
],
"implementedBy": [
@@ -3052,7 +3052,7 @@
"fileName": "types/download.ts",
"line": 54,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L54"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L54"
}
],
"type": {
@@ -3068,7 +3068,7 @@
"fileName": "types/download.ts",
"line": 54,
"character": 26,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L54"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L54"
}
],
"indexSignature": {
@@ -3082,7 +3082,7 @@
"fileName": "types/download.ts",
"line": 55,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L55"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L55"
}
],
"parameters": [
@@ -3122,7 +3122,7 @@
"fileName": "types/download.ts",
"line": 22,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L22"
}
],
"type": {
@@ -3155,7 +3155,7 @@
"fileName": "types/download.ts",
"line": 33,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L33"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L33"
}
],
"type": {
@@ -3184,7 +3184,7 @@
"fileName": "types/download.ts",
"line": 27,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L27"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L27"
}
],
"type": {
@@ -3213,7 +3213,7 @@
"fileName": "types/download.ts",
"line": 37,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L37"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L37"
}
],
"type": {
@@ -3237,7 +3237,7 @@
"fileName": "types/download.ts",
"line": 22,
"character": 36,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L22"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L22"
}
]
}
@@ -3256,7 +3256,7 @@
"fileName": "types/upload.ts",
"line": 68,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L68"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L68"
}
],
"type": {
@@ -3289,7 +3289,7 @@
"fileName": "types/upload.ts",
"line": 98,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L98"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L98"
}
],
"type": {
@@ -3318,7 +3318,7 @@
"fileName": "types/upload.ts",
"line": 94,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L94"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L94"
}
],
"type": {
@@ -3354,7 +3354,7 @@
"fileName": "types/upload.ts",
"line": 86,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L86"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L86"
}
],
"type": {
@@ -3370,7 +3370,7 @@
"fileName": "types/upload.ts",
"line": 86,
"character": 15,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L86"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L86"
}
],
"signatures": [
@@ -3433,7 +3433,7 @@
"fileName": "types/upload.ts",
"line": 73,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L73"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L73"
}
],
"type": {
@@ -3464,7 +3464,7 @@
"fileName": "types/upload.ts",
"line": 77,
"character": 4,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L77"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L77"
}
],
"type": {
@@ -3486,7 +3486,7 @@
"fileName": "types/upload.ts",
"line": 73,
"character": 21,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L73"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L73"
}
]
}
@@ -3513,7 +3513,7 @@
"fileName": "types/upload.ts",
"line": 82,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L82"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L82"
}
],
"type": {
@@ -3542,7 +3542,7 @@
"fileName": "types/upload.ts",
"line": 90,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L90"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L90"
}
],
"type": {
@@ -3569,7 +3569,7 @@
"fileName": "types/upload.ts",
"line": 68,
"character": 37,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L68"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L68"
}
]
}
@@ -3588,7 +3588,7 @@
"fileName": "types/upload.ts",
"line": 44,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L44"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L44"
}
],
"type": {
@@ -3621,7 +3621,7 @@
"fileName": "types/upload.ts",
"line": 53,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L53"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L53"
}
],
"type": {
@@ -3650,7 +3650,7 @@
"fileName": "types/upload.ts",
"line": 58,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L58"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L58"
}
],
"type": {
@@ -3679,7 +3679,7 @@
"fileName": "types/upload.ts",
"line": 62,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L62"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L62"
}
],
"type": {
@@ -3708,7 +3708,7 @@
"fileName": "types/upload.ts",
"line": 48,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L48"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L48"
}
],
"type": {
@@ -3733,7 +3733,7 @@
"fileName": "types/upload.ts",
"line": 44,
"character": 34,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L44"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L44"
}
]
}
@@ -3750,7 +3750,7 @@
"fileName": "types/download.ts",
"line": 40,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L40"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L40"
}
],
"type": {
@@ -3783,7 +3783,7 @@
"fileName": "types/download.ts",
"line": 48,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L48"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L48"
}
],
"type": {
@@ -3812,7 +3812,7 @@
"fileName": "types/download.ts",
"line": 44,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L44"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L44"
}
],
"type": {
@@ -3835,7 +3835,7 @@
"fileName": "types/download.ts",
"line": 40,
"character": 36,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/download.ts#L40"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/download.ts#L40"
}
]
}
@@ -3852,7 +3852,7 @@
"fileName": "types/index.ts",
"line": 8,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L8"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L8"
}
],
"typeParameters": [
@@ -3892,7 +3892,7 @@
"fileName": "types/index.ts",
"line": 13,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L13"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L13"
}
],
"type": {
@@ -3913,7 +3913,7 @@
"fileName": "types/index.ts",
"line": 10,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L10"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L10"
}
],
"type": {
@@ -3936,7 +3936,7 @@
"fileName": "types/index.ts",
"line": 11,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L11"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L11"
}
],
"type": {
@@ -3971,7 +3971,7 @@
"fileName": "types/index.ts",
"line": 14,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L14"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L14"
}
],
"type": {
@@ -3992,7 +3992,7 @@
"fileName": "types/index.ts",
"line": 12,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L12"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L12"
}
],
"type": {
@@ -4013,7 +4013,7 @@
"fileName": "types/index.ts",
"line": 9,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L9"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L9"
}
],
"type": {
@@ -4050,7 +4050,7 @@
"fileName": "types/index.ts",
"line": 8,
"character": 62,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/index.ts#L8"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/index.ts#L8"
}
]
}
@@ -4069,7 +4069,7 @@
"fileName": "types/upload.ts",
"line": 6,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L6"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L6"
}
],
"type": {
@@ -4085,7 +4085,7 @@
"fileName": "types/upload.ts",
"line": 6,
"character": 28,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L6"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L6"
}
],
"indexSignature": {
@@ -4099,7 +4099,7 @@
"fileName": "types/upload.ts",
"line": 6,
"character": 30,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L6"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L6"
}
],
"parameters": [
@@ -4136,7 +4136,7 @@
"fileName": "types/upload.ts",
"line": 29,
"character": 12,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L29"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L29"
}
],
"type": {
@@ -4167,7 +4167,7 @@
"fileName": "types/upload.ts",
"line": 33,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L33"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L33"
}
],
"type": {
@@ -4194,7 +4194,7 @@
"fileName": "types/upload.ts",
"line": 38,
"character": 2,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L38"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L38"
}
],
"type": {
@@ -4217,7 +4217,7 @@
"fileName": "types/upload.ts",
"line": 29,
"character": 34,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/types/upload.ts#L29"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/types/upload.ts#L29"
}
]
}
@@ -4234,7 +4234,7 @@
"fileName": "common/utils.ts",
"line": 40,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/common/utils.ts#L40"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/common/utils.ts#L40"
}
],
"signatures": [
@@ -4249,7 +4249,7 @@
"fileName": "common/utils.ts",
"line": 40,
"character": 16,
"url": "https://github.com/thirdweb-dev/js/blob/d5d8d2c/packages/storage/src/common/utils.ts#L40"
"url": "https://github.com/thirdweb-dev/js/blob/48c404a/packages/storage/src/common/utils.ts#L40"
}
],
"parameters": [
+10
View File
@@ -1,5 +1,15 @@
# @thirdweb-dev/unity-js-bridge
## 0.3.8
### Patch Changes
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/sdk@4.0.28
- @thirdweb-dev/wallets@2.4.3
- @thirdweb-dev/auth@4.1.25
## 0.3.7
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/unity-js-bridge",
"version": "0.3.7",
"version": "0.3.8",
"main": "dist/thirdweb-unity-bridge.js",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
"license": "Apache-2.0",
+8
View File
@@ -1,5 +1,13 @@
# @thirdweb-dev/wallets
## 2.4.3
### Patch Changes
- Updated dependencies [[`3f2ee85a`](https://github.com/thirdweb-dev/js/commit/3f2ee85a1ab70e74aefe7f458379a2ccaf4058a9)]:
- @thirdweb-dev/chains@0.1.65
- @thirdweb-dev/sdk@4.0.28
## 2.4.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/wallets",
"version": "2.4.2",
"version": "2.4.3",
"main": "dist/thirdweb-dev-wallets.cjs.js",
"module": "dist/thirdweb-dev-wallets.esm.js",
"browser": {
File diff suppressed because it is too large Load Diff
+35 -106
View File
@@ -593,9 +593,6 @@ importers:
'@radix-ui/react-dialog':
specifier: ^1.0.5
version: 1.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-dropdown-menu':
specifier: ^2.0.5
version: 2.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-focus-scope':
specifier: ^1.0.4
version: 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
@@ -1759,8 +1756,8 @@ importers:
specifier: ^6.3.1
version: 6.3.1
vite:
specifier: ^3.2.7
version: 3.2.7(@types/[email protected])
specifier: ^3.2.8
version: 3.2.8(@types/[email protected])
test/bundlers/webpack:
dependencies:
@@ -1884,16 +1881,16 @@ importers:
version: 1.31.2
'@vitejs/plugin-react':
specifier: ^2
version: 2.2.0([email protected].7)
version: 2.2.0([email protected].8)
serve:
specifier: ^14.0.1
version: 14.2.0
vite:
specifier: ^3.2.7
version: 3.2.7(@types/[email protected])
specifier: ^3.2.8
version: 3.2.8(@types/[email protected])
vite-plugin-node-polyfills:
specifier: ^0.7.0
version: 0.7.0([email protected].7)
version: 0.7.0([email protected].8)
test/runtimes/node-commonjs:
dependencies:
@@ -10678,33 +10675,6 @@ packages:
react-dom: 18.2.0([email protected])
dev: false
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
resolution: {integrity: sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
react: ^16.8 || ^17.0 || ^18.0
react-dom: ^16.8 || ^17.0 || ^18.0
peerDependenciesMeta:
'@types/react':
optional: true
'@types/react-dom':
optional: true
dependencies:
'@babel/runtime': 7.23.8
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-context': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-id': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-menu': 2.0.5(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-use-controllable-state': 1.0.1(@types/[email protected])([email protected])
'@types/react': 18.2.17
'@types/react-dom': 18.2.7
react: 18.2.0
react-dom: 18.2.0([email protected])
dev: false
/@radix-ui/[email protected](@types/[email protected])([email protected]):
resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
peerDependencies:
@@ -10788,44 +10758,6 @@ packages:
react: 18.2.0
dev: false
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
resolution: {integrity: sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
react: ^16.8 || ^17.0 || ^18.0
react-dom: ^16.8 || ^17.0 || ^18.0
peerDependenciesMeta:
'@types/react':
optional: true
'@types/react-dom':
optional: true
dependencies:
'@babel/runtime': 7.23.8
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-collection': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-compose-refs': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-context': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-direction': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-dismissable-layer': 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-focus-guards': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-focus-scope': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-id': 1.0.1(@types/[email protected])([email protected])
'@radix-ui/react-popper': 1.1.2(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-portal': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-presence': 1.0.1(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-primitive': 1.0.3(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-roving-focus': 1.0.4(@types/[email protected])(@types/[email protected])([email protected])([email protected])
'@radix-ui/react-slot': 1.0.2(@types/[email protected])([email protected])
'@radix-ui/react-use-callback-ref': 1.0.1(@types/[email protected])([email protected])
'@types/react': 18.2.17
'@types/react-dom': 18.2.7
aria-hidden: 1.2.3
react: 18.2.0
react-dom: 18.2.0([email protected])
react-remove-scroll: 2.5.5(@types/[email protected])([email protected])
dev: false
/@radix-ui/[email protected](@types/[email protected])(@types/[email protected])([email protected])([email protected]):
resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==}
peerDependencies:
@@ -11476,7 +11408,7 @@ packages:
glob: 7.2.3
is-reference: 1.2.1
magic-string: 0.25.9
resolve: 1.22.1
resolve: 1.22.8
rollup: 2.79.1
dev: true
@@ -11514,7 +11446,7 @@ packages:
builtin-modules: 3.3.0
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.1
resolve: 1.22.8
rollup: 2.79.1
/@rollup/[email protected]([email protected]):
@@ -11567,7 +11499,7 @@ packages:
fs-extra: 7.0.1
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.1
resolve: 1.22.8
semver: 7.5.4
z-schema: 5.0.5
dev: true
@@ -11575,7 +11507,7 @@ packages:
/@rushstack/[email protected]:
resolution: {integrity: sha512-FnM1TQLJYwSiurP6aYSnansprK5l8WUK8VG38CmAaZs29ZeL1msjK0AP1VS4ejD33G0kE/2cpsPsS9jDenBMxw==}
dependencies:
resolve: 1.22.1
resolve: 1.22.8
strip-json-comments: 3.1.1
dev: true
@@ -13811,7 +13743,7 @@ packages:
wonka: 4.0.15
dev: false
/@vitejs/[email protected]([email protected].7):
/@vitejs/[email protected]([email protected].8):
resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@@ -13824,7 +13756,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/[email protected])
magic-string: 0.26.7
react-refresh: 0.14.0
vite: 3.2.7(@types/[email protected])
vite: 3.2.8(@types/[email protected])
transitivePeerDependencies:
- supports-color
dev: true
@@ -15283,7 +15215,7 @@ packages:
dependencies:
'@babel/runtime': 7.23.8
cosmiconfig: 7.1.0
resolve: 1.22.1
resolve: 1.22.8
dev: false
/[email protected]:
@@ -15867,7 +15799,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==}
dependencies:
resolve: 1.22.1
resolve: 1.22.8
dev: true
/[email protected]:
@@ -16208,7 +16140,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
function-bind: 1.1.1
function-bind: 1.1.2
get-intrinsic: 1.2.0
/[email protected]:
@@ -18598,8 +18530,8 @@ packages:
resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
dependencies:
debug: 3.2.7
is-core-module: 2.11.0
resolve: 1.22.1
is-core-module: 2.13.1
resolve: 1.22.8
transitivePeerDependencies:
- supports-color
@@ -18616,7 +18548,7 @@ packages:
eslint-plugin-import: 2.27.5(@typescript-eslint/[email protected])([email protected])
get-tsconfig: 4.4.0
globby: 13.1.3
is-core-module: 2.11.0
is-core-module: 2.13.1
is-glob: 4.0.3
synckit: 0.8.5
transitivePeerDependencies:
@@ -18755,11 +18687,11 @@ packages:
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4(@typescript-eslint/[email protected])([email protected])([email protected])([email protected])
has: 1.0.3
is-core-module: 2.11.0
is-core-module: 2.13.1
is-glob: 4.0.3
minimatch: 3.1.2
object.values: 1.1.6
resolve: 1.22.1
resolve: 1.22.8
semver: 7.5.4
tsconfig-paths: 3.14.2
transitivePeerDependencies:
@@ -20424,9 +20356,6 @@ packages:
requiresBuild: true
optional: true
/[email protected]:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
/[email protected]:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
@@ -21050,7 +20979,7 @@ packages:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: 1.1.1
function-bind: 1.1.2
/[email protected]:
resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==}
@@ -22715,7 +22644,7 @@ packages:
jest-pnp-resolver: 1.2.3([email protected])
jest-util: 27.5.1
jest-validate: 27.5.1
resolve: 1.22.1
resolve: 1.22.8
resolve.exports: 1.1.1
slash: 3.0.0
dev: false
@@ -23648,7 +23577,7 @@ packages:
is-plain-object: 5.0.0
object.map: 1.0.1
rechoir: 0.8.0
resolve: 1.22.1
resolve: 1.22.8
dev: true
/[email protected]:
@@ -25112,7 +25041,7 @@ packages:
lodash.get: 4.4.2
lower-case: 2.0.2
mkdirp: 1.0.4
resolve: 1.22.1
resolve: 1.22.8
title-case: 3.0.3
upper-case: 2.0.2
dev: true
@@ -25171,7 +25100,7 @@ packages:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
dependencies:
hosted-git-info: 2.8.9
resolve: 1.22.1
resolve: 1.22.8
semver: 7.5.4
validate-npm-package-license: 3.0.4
@@ -27929,7 +27858,7 @@ packages:
resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
engines: {node: '>= 10.13.0'}
dependencies:
resolve: 1.22.1
resolve: 1.22.8
dev: true
/[email protected]:
@@ -28201,7 +28130,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
dependencies:
is-core-module: 2.11.0
is-core-module: 2.13.1
path-parse: 1.0.7
dev: true
@@ -28209,7 +28138,7 @@ packages:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
hasBin: true
dependencies:
is-core-module: 2.11.0
is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -28231,7 +28160,7 @@ packages:
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
hasBin: true
dependencies:
is-core-module: 2.11.0
is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -29701,7 +29630,7 @@ packages:
postcss-selector-parser: 6.0.11
postcss-value-parser: 4.2.0
quick-lru: 5.1.1
resolve: 1.22.1
resolve: 1.22.8
transitivePeerDependencies:
- ts-node
dev: false
@@ -31060,20 +30989,20 @@ packages:
- zod
dev: true
/[email protected]([email protected].7):
/[email protected]([email protected].8):
resolution: {integrity: sha512-DKBSGDOx3R8pUIsQFRZAWNYp0vIffJOT0NkuByX4WIQq80nJ2eamAph5T9zG91liO1Fyl1lo7/Onh6xoQO52XQ==}
peerDependencies:
vite: ^2.0.0 || ^3.0.0 || ^4.0.0
dependencies:
'@rollup/plugin-inject': 5.0.3
node-stdlib-browser: 1.2.0
vite: 3.2.7(@types/[email protected])
vite: 3.2.8(@types/[email protected])
transitivePeerDependencies:
- rollup
dev: true
/[email protected].7(@types/[email protected]):
resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==}
/[email protected].8(@types/[email protected]):
resolution: {integrity: sha512-EtQU16PLIJpAZol2cTLttNP1mX6L0SyI0pgQB1VOoWeQnMSvtiwovV3D6NcjN8CZQWWyESD2v5NGnpz5RvgOZA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@@ -31100,7 +31029,7 @@ packages:
'@types/node': 18.17.1
esbuild: 0.15.17
postcss: 8.4.21
resolve: 1.22.1
resolve: 1.22.8
rollup: 2.79.1
optionalDependencies:
fsevents: 2.3.3
+1 -1
View File
@@ -2742,7 +2742,7 @@
"summary": "Hook for fetching the total supply of an ERC20 token.\n\nThis takes into account the increase and decrease in supply when tokens are minted and burned.\n\n",
"remarks": null,
"examples": {
"javascript": "import { useTokenSupply } from \"@thirdweb-dev/react\";\n\nfunction App() {\n const { data, isLoading, error } = useTokenSupply(contractAddress);\n}"
"javascript": "import { useTokenSupply } from \"@thirdweb-dev/react\";\n\nfunction App() {\n const { contract } = useContract(contractAddress);\n const { data, isLoading, error } = useTokenSupply(contract);\n}"
},
"reference": {
"javascript": "https://docs.thirdweb.com/react/react.usetokensupply"
+112
View File
@@ -865,6 +865,61 @@
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc1155signaturemintable"
}
},
{
"name": "mint",
"summary": "Mint a dynamically generated NFT\n\n",
"remarks": "\n\nMint a dynamic NFT with a previously generated signature.\n\n",
"examples": {
"javascript": "// see how to craft a payload to sign in the `generate()` documentation\nconst signedPayload = contract.erc1155.signature.generate(payload);\n\n// now anyone can mint the NFT\nconst tx = contract.erc1155.signature.mint(signedPayload);"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.signedpayload1155"
}
},
{
"name": "mintBatch",
"summary": "Mint any number of dynamically generated NFT at once\n\n",
"remarks": "\n\nMint multiple dynamic NFTs in one transaction. Note that this is only possible for free mints (cannot batch mints with a price attached to it for security reasons)\n\n",
"examples": {
"javascript": "// see how to craft a batch of payloads to sign in the `generateBatch()` documentation\nconst signedPayloads = contract.erc1155.signature.generateBatch(payloads);\n\n// now anyone can mint the NFT\nconst tx = contract.erc1155.signature.mintBatch(signedPayloads);"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.signedpayload1155"
}
},
{
"name": "generate",
"summary": "Generate a signature that can be used to mint an NFT dynamically.\n\n",
"remarks": "\n\nTakes in an NFT and some information about how it can be minted, uploads the metadata and signs it with your private key. The generated signature can then be used to mint an NFT using the exact payload and signature generated.\n\n",
"examples": {
"javascript": "const nftMetadata = {\n name: \"Cool NFT #1\",\n description: \"This is a cool NFT\",\n image: fs.readFileSync(\"path/to/image.png\"), // This can be an image url or file\n};\n\nconst startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n metadata: nftMetadata, // The NFT to mint\n to: {{wallet_address}}, // Who will receive the NFT\n quantity: 2, // the quantity of NFTs to mint\n price: 0.5, // the price per NFT\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now\n royaltyRecipient: \"0x...\", // custom royalty recipient for this NFT\n royaltyBps: 100, // custom royalty fees for this NFT (in bps)\n primarySaleRecipient: \"0x...\", // custom sale recipient for this NFT\n};\n\nconst signedPayload = await contract.erc1155.signature.generate(payload);\n// now anyone can use these to mint the NFT using `contract.erc1155.signature.mint(signedPayload)`"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc1155signaturemintable.generate"
}
},
{
"name": "generateFromTokenId",
"summary": "Generate a signature that can be used to mint additionally supply to an existing NFT.\n\n",
"remarks": "\n\nTakes in a payload with the token ID of an existing NFT, and signs it with your private key. The generated signature can then be used to mint additional supply to the NFT using the exact payload and signature generated.\n\n",
"examples": {
"javascript": "const nftMetadata = {\n name: \"Cool NFT #1\",\n description: \"This is a cool NFT\",\n image: fs.readFileSync(\"path/to/image.png\"), // This can be an image url or file\n};\n\nconst startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n tokenId: 0, // Instead of metadata, we specify the token ID of the NFT to mint supply to\n to: {{wallet_address}}, // Who will receive the NFT (or AddressZero for anyone)\n quantity: 2, // the quantity of NFTs to mint\n price: 0.5, // the price per NFT\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now\n royaltyRecipient: \"0x...\", // custom royalty recipient for this NFT\n royaltyBps: 100, // custom royalty fees for this NFT (in bps)\n primarySaleRecipient: \"0x...\", // custom sale recipient for this NFT\n};\n\nconst signedPayload = await contract.erc1155.signature.generateFromTokenId(payload);\n// now anyone can use these to mint the NFT using `contract.erc1155.signature.mint(signedPayload)`"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc1155signaturemintable.generatefromtokenid"
}
},
{
"name": "verify",
"summary": "Verify that a payload is correctly signed\n\n",
"remarks": null,
"examples": {
"javascript": "const nftMetadata = {\n name: \"Cool NFT #1\",\n description: \"This is a cool NFT\",\n image: fs.readFileSync(\"path/to/image.png\"), // This can be an image url or file\n};\n\nconst startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n metadata: nftMetadata, // The NFT to mint\n to: {{wallet_address}}, // Who will receive the NFT\n quantity: 2, // the quantity of NFTs to mint\n price: 0.5, // the price per NFT\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now\n royaltyRecipient: \"0x...\", // custom royalty recipient for this NFT\n royaltyBps: 100, // custom royalty fees for this NFT (in bps)\n primarySaleRecipient: \"0x...\", // custom sale recipient for this NFT\n};\n\nconst signedPayload = contract.erc1155.signature.generate(payload);\n// Now you can verify that the payload is valid\nconst isValid = await contract.erc1155.signature.verify(signedPayload);"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc1155signaturemintable.verify"
}
}
],
"ERC1155Enumerable": [
@@ -1215,6 +1270,28 @@
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc20signaturemintable"
}
},
{
"name": "mint",
"summary": "Mint tokens from a signature\n\n",
"remarks": "\n\nMint a certain amount of tokens from a previously generated signature.\n\n",
"examples": {
"javascript": "// see how to craft a payload to sign in the `generate()` documentation\nconst signedPayload = contract.erc20.signature.generate(payload);\n\n// Use the signed payload to mint the tokens\nconst tx = contract.erc20.signature.mint(signedPayload);"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.signedpayload20"
}
},
{
"name": "generate",
"summary": "Generate a signature that can be used to mint a certain amount of tokens\n\n",
"remarks": "\n\nTakes in a quantity of tokens, some conditions for how it can be minted and signs it with your private key. The generated signature can then be used to mint those tokens using the exact payload and signature generated.\n\n",
"examples": {
"javascript": "const startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n quantity: 4.2, // The quantity of tokens to be minted\n to: {{wallet_address}}, // Who will receive the tokens\n price: 0.5, // the price to pay for minting those tokens\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now,\n primarySaleRecipient: \"0x...\", // custom sale recipient for this token mint\n};\n\nconst signedPayload = await contract.erc20.signature.generate(payload);\n// now anyone can use these to mint the NFT using `contract.erc20.signature.mint(signedPayload)`"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc20signaturemintable.generate"
}
}
],
"": [
@@ -1862,6 +1939,41 @@
}
}
],
"ERC721SignatureMint": [
{
"name": "mint",
"summary": "Mint a dynamically generated NFT\n\n",
"remarks": "\n\nMint a dynamic NFT with a previously generated signature.\n\n",
"examples": {
"javascript": "// see how to craft a payload to sign in the `generate()` documentation\nconst signedPayload = contract.erc721.signature.generate(payload);\n\n// now anyone can mint the NFT\nconst tx = contract.erc721.signature.mint(signedPayload);\nconst receipt = tx.receipt; // the mint transaction receipt\nconst mintedId = tx.id; // the id of the NFT minted"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.signedpayload721withquantitysignature"
}
},
{
"name": "generate",
"summary": "Generate a signature that can be used to mint a dynamic NFT\n\n",
"remarks": "\n\nTakes in an NFT and some information about how it can be minted, uploads the metadata and signs it with your private key. The generated signature can then be used to mint an NFT using the exact payload and signature generated.\n\n",
"examples": {
"javascript": "const nftMetadata = {\n name: \"Cool NFT #1\",\n description: \"This is a cool NFT\",\n image: fs.readFileSync(\"path/to/image.png\"), // This can be an image url or file\n};\n\nconst startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n metadata: nftMetadata, // The NFT to mint\n to: {{wallet_address}}, // Who will receive the NFT\n quantity: 2, // the quantity of NFTs to mint\n price: 0.5, // the price per NFT\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now\n royaltyRecipient: \"0x...\", // custom royalty recipient for this NFT\n royaltyBps: 100, // custom royalty fees for this NFT (in bps)\n primarySaleRecipient: \"0x...\", // custom sale recipient for this NFT\n};\n\nconst signedPayload = await contract.erc721.signature.generate(payload);\n// now anyone can use these to mint the NFT using `contract.erc721.signature.mint(signedPayload)`"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc721withquantitysignaturemintable.generate"
}
},
{
"name": "verify",
"summary": "Verify that a payload is correctly signed\n\n",
"remarks": null,
"examples": {
"javascript": "const nftMetadata = {\n name: \"Cool NFT #1\",\n description: \"This is a cool NFT\",\n image: fs.readFileSync(\"path/to/image.png\"), // This can be an image url or file\n};\n\nconst startTime = new Date();\nconst endTime = new Date(Date.now() + 60 * 60 * 24 * 1000);\nconst payload = {\n metadata: nftMetadata, // The NFT to mint\n to: {{wallet_address}}, // Who will receive the NFT\n quantity: 2, // the quantity of NFTs to mint\n price: 0.5, // the price per NFT\n currencyAddress: NATIVE_TOKEN_ADDRESS, // the currency to pay with\n mintStartTime: startTime, // can mint anytime from now\n mintEndTime: endTime, // to 24h from now\n royaltyRecipient: \"0x...\", // custom royalty recipient for this NFT\n royaltyBps: 100, // custom royalty fees for this NFT (in bps)\n primarySaleRecipient: \"0x...\", // custom sale recipient for this NFT\n};\n\nconst signedPayload = await contract.erc721.signature.generate(payload);\n// Now you can verify if the signed payload is valid\nconst isValid = await contract.erc721.signature.verify(signedPayload);"
},
"reference": {
"javascript": "https://docs.thirdweb.com/typescript/sdk.erc721withquantitysignaturemintable.verify"
}
}
],
"DirectListings": [
{
"name": "approveBuyerForReservedListing",
+1 -1
View File
@@ -16,6 +16,6 @@
"devDependencies": {
"execa": "^8.0.1",
"ora": "^6.3.1",
"vite": "^3.2.7"
"vite": "^3.2.8"
}
}
+1 -1
View File
@@ -18,7 +18,7 @@
"@playwright/test": "1.31.2",
"@vitejs/plugin-react": "^2",
"serve": "^14.0.1",
"vite": "^3.2.7",
"vite": "^3.2.8",
"vite-plugin-node-polyfills": "^0.7.0"
},
"repository": "https://github.com/thirdweb-dev/js/tree/main/test/e2e/vite-3"