Compare commits

..
Author SHA1 Message Date
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
6a41fe9829 Version Packages (#2274)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-02-07 13:11:26 -08:00
0092e2a317 fix(auth): Next.js App Router handler return type (#2278)
Signed-off-by: Jonas Daniels <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2024-02-07 12:47:09 -08:00
87b9e6d42d chore(chains): update chains (#2279)
Co-authored-by: GitHub Action <[email protected]>
2024-02-07 10:29:29 -08:00
github-actions[bot]andGitHub 336dfd3b37 chore(chains): update chains (#2277) 2024-02-07 08:52:01 -08:00
957c75a36e chore(chains): update chains (#2276)
Co-authored-by: GitHub Action <[email protected]>
2024-02-06 22:27:49 -08:00
357886e31b chore(chains): update chains (#2258)
Co-authored-by: GitHub Action <[email protected]>
2024-02-06 15:46:46 -08:00
DustinandGitHub 330c270f3c Update .env.example (#2272) 2024-02-06 13:52:51 -08:00
Joaquim VergesandGitHub 9096bdc0f1 [ServiceUtils] Add latency prop to CF worker logs (#2273) 2024-02-06 21:44:43 +00:00
saminaandGitHub 62ef83c9e0 Update pull_request_template.md (#2267)
Signed-off-by: samina <[email protected]>
2024-02-06 18:15:54 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
1e7a7a5f3c Version Packages (#2261)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-02-06 09:36:14 -08:00
Manan TankandGitHub 433d49e3ab [react-core] keep wallet states in sync (#2270) 2024-02-06 17:18:46 +00:00
Joaquim VergesandGitHub 5a3f7fa123 [ServiceUtil] add latency prop to logHttpRequest (#2266) 2024-02-06 05:08:46 +00:00
FirekeeperandGitHub 3857cba8ab Unity v4.6.1 (#2268) 2024-02-06 01:57:02 +00:00
Manan TankandGitHub 6a3cacb622 [react] Enforce compact CW modal size based on available space (#2260) 2024-02-02 17:35:52 +00:00
78 changed files with 1219 additions and 191 deletions
+2 -1
View File
@@ -3,4 +3,5 @@
# used for unit tests that hit real IPFS gateway
# get a secret key from https://thirdweb.com/create-api-key
TW_SECRET_KEY=""
# Learn more about API keys. https://portal.thirdweb.com/account/api-keys
TW_SECRET_KEY=""
+6
View File
@@ -11,3 +11,9 @@ Short description of the bug fixed or feature added
- [ ] Automated tests: link to unit test file
- [ ] Manual tests: step by step instructions on how to test
## Contributor NFT
Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.
```Address: ```
+9
View File
@@ -1,5 +1,14 @@
# @thirdweb-dev/auth
## 4.1.31
### Patch Changes
- [#2278](https://github.com/thirdweb-dev/js/pull/2278) [`0092e2a3`](https://github.com/thirdweb-dev/js/commit/0092e2a3177364ad26af15ecafb4381591dc9be1) Thanks [@hsynlms](https://github.com/hsynlms)! - fix(auth): Next.js App Router handler return type
- Updated dependencies []:
- @thirdweb-dev/wallets@2.4.9
## 4.1.30
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.1.30",
"version": "4.1.31",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
+2 -7
View File
@@ -58,13 +58,8 @@ export function ThirdwebAuth<
auth: new ThirdwebAuthSDK(cfg.wallet, cfg.domain),
};
async function ThirdwebAuthHandler(...args: [] | [NextRequest, ThirdwebNextContext]) {
if (args.length === 0) {
return async (req: NextRequest, ctx: ThirdwebNextContext): Promise<void | Response> =>
await ThirdwebAuthRouter(req, ctx, authCtx as ThirdwebAuthContext);
}
return ThirdwebAuthRouter(args[0], args[1], authCtx as ThirdwebAuthContext);
async function ThirdwebAuthHandler(req: NextRequest, ctx: ThirdwebNextContext) {
return await ThirdwebAuthRouter(req, ctx, authCtx as ThirdwebAuthContext);
}
return {
+6
View File
@@ -1,5 +1,11 @@
# @thirdweb-dev/chains
## 0.1.71
### Patch Changes
- [#2258](https://github.com/thirdweb-dev/js/pull/2258) [`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.70
### Patch Changes
+1 -1
View File
@@ -31,5 +31,5 @@ export default {
"shortName": "Baobab",
"slip44": 1,
"slug": "klaytn-testnet-baobab",
"testnet": true
"testnet": false
} as const satisfies Chain;
+13 -2
View File
@@ -2,8 +2,20 @@ import type { Chain } from "../src/types";
export default {
"chain": "Dymension",
"chainId": 1100,
"explorers": [],
"explorers": [
{
"name": "dym.fyi",
"url": "https://dym.fyi",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafkreic4sjyqikz33xzpcctczvkiwfj44q5i3i7zslycnjiqmyx5ybc3fi",
"width": 1200,
"height": 1200,
"format": "png"
},
"infoURL": "https://dymension.xyz",
"name": "Dymension",
"nativeCurrency": {
@@ -19,6 +31,5 @@ export default {
],
"shortName": "dymension",
"slug": "dymension",
"status": "incubating",
"testnet": false
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 12001,
"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": "Mikias's Testnet",
"nativeCurrency": {
"name": "Mikias's Testnet Token",
"symbol": "XVL",
"decimals": 18
},
"networkId": 12001,
"redFlags": [],
"rpc": [
"https://mikias-s-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://12001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-test.io/c3c8cc74-5101-4380-937f-4f534cad0128"
],
"shortName": "Mikias's Testnet",
"slug": "mikias-s-testnet",
"testnet": true
} as const satisfies Chain;
@@ -1,7 +1,7 @@
import type { Chain } from "../src/types";
export default {
"chain": "XRPL",
"chainId": 1440001,
"chainId": 1440002,
"explorers": [
{
"name": "XRP Ledger Explorer",
@@ -23,11 +23,11 @@ export default {
"symbol": "XRP",
"decimals": 18
},
"networkId": 1440001,
"networkId": 1440002,
"redFlags": [],
"rpc": [
"https://xrp-ledger-evm-devnet-sidechain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1440001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1440002.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-evm-sidechain.xrpl.org"
],
"shortName": "XRPL-EVM-Devnet-Sidechain",
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 15056,
"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 2402052",
"nativeCurrency": {
"name": "QI M 2402052 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 15056,
"redFlags": [],
"rpc": [
"https://qi-m-2402052.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://15056.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402052",
"slug": "qi-m-2402052",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 15104,
"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 2402054",
"nativeCurrency": {
"name": "QI M 2402054 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 15104,
"redFlags": [],
"rpc": [
"https://qi-m-2402054.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://15104.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402054",
"slug": "qi-m-2402054",
"testnet": true
} as const satisfies Chain;
-36
View File
@@ -1,36 +0,0 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 167005,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.test.taiko.xyz",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui",
"width": 288,
"height": 258,
"format": "png"
},
"infoURL": "https://taiko.xyz",
"name": "Taiko Grimsvotn L2",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 167005,
"rpc": [
"https://taiko-grimsvotn-l2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://167005.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.test.taiko.xyz"
],
"shortName": "taiko-l2",
"slug": "taiko-grimsvotn-l2",
"status": "deprecated",
"testnet": true
} as const satisfies Chain;
-36
View File
@@ -1,36 +0,0 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 167006,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.l3test.taiko.xyz",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui",
"width": 288,
"height": 258,
"format": "png"
},
"infoURL": "https://taiko.xyz",
"name": "Taiko Eldfell L3",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 167006,
"rpc": [
"https://taiko-eldfell-l3.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://167006.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.l3test.taiko.xyz"
],
"shortName": "taiko-l3",
"slug": "taiko-eldfell-l3",
"status": "deprecated",
"testnet": true
} as const satisfies Chain;
-36
View File
@@ -1,36 +0,0 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 167007,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.jolnir.taiko.xyz",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui",
"width": 288,
"height": 258,
"format": "png"
},
"infoURL": "https://taiko.xyz",
"name": "Taiko Jolnir L2",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 167007,
"rpc": [
"https://taiko-jolnir-l2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://167007.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.jolnir.taiko.xyz"
],
"shortName": "tko-jolnir",
"slug": "taiko-jolnir-l2",
"status": "deprecated",
"testnet": false
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 234560,
"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": "Project Orc",
"nativeCurrency": {
"name": "Project Orc Token",
"symbol": "STX",
"decimals": 18
},
"networkId": 234560,
"redFlags": [],
"rpc": [
"https://project-orc.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://234560.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/projectorc/testnet/rpc"
],
"shortName": "Project Orc",
"slug": "project-orc",
"testnet": true
} as const satisfies Chain;
+41
View File
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"chain": "Elizabeth",
"chainId": 2731,
"explorers": [
{
"name": "Time Network Explorer",
"url": "https://testnet-scanner.timenetwork.io",
"standard": "none",
"icon": {
"url": "ipfs://bafkreidoudwo453gr3hoxpreleguga73rm55yl6vuedxrfmhknljppqbiu",
"width": 512,
"height": 512,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafkreidoudwo453gr3hoxpreleguga73rm55yl6vuedxrfmhknljppqbiu",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://whitepaper.anttime.net/overview/anttime",
"name": "Elizabeth Testnet",
"nativeCurrency": {
"name": "TIME",
"symbol": "TIME",
"decimals": 18
},
"networkId": 2731,
"rpc": [
"https://elizabeth-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://2731.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.timenetwork.io"
],
"shortName": "TIME",
"slug": "elizabeth-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": 29442,
"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 2402055",
"nativeCurrency": {
"name": "QI M 2402055 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 29442,
"redFlags": [],
"rpc": [
"https://qi-m-2402055.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://29442.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402055",
"slug": "qi-m-2402055",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 30266,
"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": "Tnet02-06",
"nativeCurrency": {
"name": "Tnet02-06 Token",
"symbol": "LFC",
"decimals": 18
},
"networkId": 30266,
"redFlags": [],
"rpc": [
"https://tnet02-06.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://30266.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Tnet02-06",
"slug": "tnet02-06",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 32277,
"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 2402058",
"nativeCurrency": {
"name": "QI M 2402058 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 32277,
"redFlags": [],
"rpc": [
"https://qi-m-2402058.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://32277.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402058",
"slug": "qi-m-2402058",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 37375,
"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 2402057",
"nativeCurrency": {
"name": "QI M 2402057 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 37375,
"redFlags": [],
"rpc": [
"https://qi-m-2402057.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://37375.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402057",
"slug": "qi-m-2402057",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 37767,
"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": "Tnet 01-15",
"nativeCurrency": {
"name": "Tnet 01-15 Token",
"symbol": "LFC",
"decimals": 18
},
"networkId": 37767,
"redFlags": [],
"rpc": [
"https://tnet-01-15.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://37767.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Tnet 01-15",
"slug": "tnet-01-15",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 41077,
"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": "REALLY",
"nativeCurrency": {
"name": "REALLY Token",
"symbol": "FAN",
"decimals": 18
},
"networkId": 41077,
"redFlags": [],
"rpc": [
"https://really.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://41077.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/really/testnet/rpc"
],
"shortName": "REALLY",
"slug": "really",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 41425,
"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": "QR0205I1",
"nativeCurrency": {
"name": "QR0205I1 Token",
"symbol": "PVW",
"decimals": 18
},
"networkId": 41425,
"redFlags": [],
"rpc": [
"https://qr0205i1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://41425.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0205i1/testnet/rpc"
],
"shortName": "QR0205I1",
"slug": "qr0205i1",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 41604,
"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": "LFC",
"decimals": 18
},
"networkId": 41604,
"redFlags": [],
"rpc": [
"https://testnet-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://41604.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Testnet",
"slug": "testnet-testnet",
"testnet": true
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"chain": "Merlin",
"chainId": 4200,
"explorers": [
{
"name": "blockscout",
"url": "https://scan.merlinchain.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmULpMFUvKSmJT8sWXS3WDnTm4EacgRbsEynDenpxcfrAj",
"width": 400,
"height": 400,
"format": "jpg"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmULpMFUvKSmJT8sWXS3WDnTm4EacgRbsEynDenpxcfrAj",
"width": 400,
"height": 400,
"format": "jpg"
},
"infoURL": "https://merlinchain.io",
"name": "Merlin Mainnet",
"nativeCurrency": {
"name": "BTC",
"symbol": "BTC",
"decimals": 18
},
"networkId": 4200,
"rpc": [
"https://merlin.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://4200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.merlinchain.io"
],
"shortName": "Merlin-Mainnet",
"slug": "merlin",
"testnet": false,
"title": "Merlin Mainnet"
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 48702,
"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": "LUG",
"decimals": 18
},
"networkId": 48702,
"redFlags": [],
"rpc": [
"https://testnet-testnet-48702.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://48702.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Testnet",
"slug": "testnet-testnet-48702",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Syndicate",
"chainId": 510,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX",
"width": 16000,
"height": 16000,
"format": "png"
},
"infoURL": "https://syndicate.io",
"name": "Syndicate Chain",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 510,
"rpc": [
"https://syndicate-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://510.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-mainnet.syndicate.io"
],
"shortName": "syndicate-chain-mainnet",
"slug": "syndicate-chain",
"status": "incubating",
"testnet": false,
"title": "Syndicate Chain"
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Syndicate",
"chainId": 5100,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX",
"width": 16000,
"height": 16000,
"format": "png"
},
"infoURL": "https://syndicate.io",
"name": "Syndicate Testnet",
"nativeCurrency": {
"name": "S-Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 5100,
"rpc": [
"https://syndicate-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://5100.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.syndicate.io"
],
"shortName": "syndicate-chain-testnet",
"slug": "syndicate-testnet",
"status": "incubating",
"testnet": true,
"title": "Syndicate Testnet"
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Syndicate Frame",
"chainId": 5101,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX",
"width": 16000,
"height": 16000,
"format": "png"
},
"infoURL": "https://syndicate.io",
"name": "Syndicate Frame Chain",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 5101,
"rpc": [
"https://syndicate-frame-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://5101.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-frame.syndicate.io"
],
"shortName": "syndicate-chain-frame",
"slug": "syndicate-frame-chain",
"status": "incubating",
"testnet": false,
"title": "Syndicate Frame Chain"
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 60834,
"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 2402059",
"nativeCurrency": {
"name": "QI M 2402059 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 60834,
"redFlags": [],
"rpc": [
"https://qi-m-2402059.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://60834.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402059",
"slug": "qi-m-2402059",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 63891,
"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": "Tnetv2",
"nativeCurrency": {
"name": "Tnetv2 Token",
"symbol": "LFC",
"decimals": 18
},
"networkId": 63891,
"redFlags": [],
"rpc": [
"https://tnetv2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://63891.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Tnetv2",
"slug": "tnetv2",
"testnet": true
} as const satisfies Chain;
+2 -8
View File
@@ -2,13 +2,7 @@ import type { Chain } from "../src/types";
export default {
"chain": "Xai Mainnet",
"chainId": 660279,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.xai-chain.net/",
"standard": "EIP3091"
}
],
"explorers": [],
"faucets": [],
"features": [],
"icon": {
@@ -29,7 +23,7 @@ export default {
"rpc": [
"https://xai.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://660279.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://xai-chain.net/rpc"
"https://xai-chain.net/rpc/xai79df8614da076af58f199126a07db"
],
"shortName": "xai",
"slug": "xai",
+44
View File
@@ -0,0 +1,44 @@
import type { Chain } from "../src/types";
export default {
"chain": "Sei",
"chainId": 713715,
"explorers": [
{
"name": "Seistream",
"url": "https://seistream.app",
"standard": "none"
},
{
"name": "Seitrace",
"url": "https://seitrace.com",
"standard": "EIP3091"
}
],
"faucets": [
"https://sei-faucet.nima.enterprises",
"https://sei-evm.faucetme.pro"
],
"icon": {
"url": "ipfs://bafkreih3l3iisplmikofkbfyimqlox7nmixzlkzhjoewmpi4jbqitwryoa",
"width": 600,
"height": 600,
"format": "png"
},
"infoURL": "https://www.sei.io",
"name": "Sei Devnet",
"nativeCurrency": {
"name": "Sei",
"symbol": "SEI",
"decimals": 18
},
"networkId": 713715,
"rpc": [
"https://sei-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://713715.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-rpc-arctic-1.sei-apis.com",
"https://evm-rpc.arctic-1.seinetwork.io"
],
"shortName": "sei-devnet",
"slug": "sei-devnet",
"testnet": false
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 74738,
"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": "CWA",
"decimals": 18
},
"networkId": 74738,
"redFlags": [],
"rpc": [
"https://testnet-testnet-74738.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://74738.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Testnet",
"slug": "testnet-testnet-74738",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 7640,
"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": "QI0205I1",
"nativeCurrency": {
"name": "QI0205I1 Token",
"symbol": "KOA",
"decimals": 18
},
"networkId": 7640,
"redFlags": [],
"rpc": [
"https://qi0205i1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://7640.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0205I1",
"slug": "qi0205i1",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 87815,
"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 2402056",
"nativeCurrency": {
"name": "QI M 2402056 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 87815,
"redFlags": [],
"rpc": [
"https://qi-m-2402056.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://87815.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402056",
"slug": "qi-m-2402056",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 92780,
"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 2402053",
"nativeCurrency": {
"name": "QI M 2402053 Token",
"symbol": "ACI",
"decimals": 18
},
"networkId": 92780,
"redFlags": [],
"rpc": [
"https://qi-m-2402053.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://92780.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9"
],
"shortName": "QI M 2402053",
"slug": "qi-m-2402053",
"testnet": true
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 951083,
"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": "QR0205Y1S",
"nativeCurrency": {
"name": "QR0205Y1S Token",
"symbol": "MYO",
"decimals": 18
},
"networkId": 951083,
"redFlags": [],
"rpc": [
"https://qr0205y1s.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://951083.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0205y1s/testnet/rpc"
],
"shortName": "QR0205Y1S",
"slug": "qr0205y1s",
"testnet": true
} as const satisfies Chain;
+2 -2
View File
@@ -21,11 +21,11 @@ export default {
"networkId": 95395,
"redFlags": [],
"rpc": [
"https://testnet-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-testnet-95395.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://95395.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "Testnet",
"slug": "testnet-testnet",
"slug": "testnet-testnet-95395",
"testnet": true
} as const satisfies Chain;
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/chains",
"version": "0.1.70",
"version": "0.1.71",
"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.39
### Patch Changes
- Updated dependencies [[`0092e2a3`](https://github.com/thirdweb-dev/js/commit/0092e2a3177364ad26af15ecafb4381591dc9be1), [`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/auth@4.1.31
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/sdk@4.0.34
- @thirdweb-dev/wallets@2.4.9
## 0.13.38
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "thirdweb",
"main": "dist/cli/index.js",
"version": "0.13.38",
"version": "0.13.39",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
+16
View File
@@ -1,5 +1,21 @@
# @thirdweb-dev/react-core
## 4.4.7
### Patch Changes
- Updated dependencies [[`0092e2a3`](https://github.com/thirdweb-dev/js/commit/0092e2a3177364ad26af15ecafb4381591dc9be1), [`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/auth@4.1.31
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/sdk@4.0.34
- @thirdweb-dev/wallets@2.4.9
## 4.4.6
### Patch Changes
- [#2270](https://github.com/thirdweb-dev/js/pull/2270) [`433d49e3`](https://github.com/thirdweb-dev/js/commit/433d49e3aba03df33678f429f19f426fd107b7eb) Thanks [@MananTank](https://github.com/MananTank)! - Keep the wallet states like signer, chainId, address in sync by setting their states at once synchronously
## 4.4.5
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-core",
"version": "4.4.5",
"version": "4.4.7",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-core",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -90,6 +90,8 @@ type WalletSetupData = {
};
type ThirdwebWalletContextData = {
address: string | undefined;
chainId: number | undefined;
wallets: WalletConfig[];
signer?: Signer;
activeWallet?: WalletInstance;
@@ -127,7 +129,7 @@ type ThirdwebWalletContextData = {
isAutoConnecting: boolean;
};
const ThirdwebWalletContext = /* @__PURE__ */ createContext<
export const ThirdwebWalletContext = /* @__PURE__ */ createContext<
ThirdwebWalletContextData | undefined
>(undefined);
@@ -221,17 +223,26 @@ function useWalletConnectionSetup(
connectParams?: ConnectParams<Record<string, any>>,
isAutoConnect = false,
) => {
setActiveWallet(wallet);
const walletConfig = walletInstanceToConfig.get(wallet);
if (!walletConfig) {
throw new Error(
"Wallet config not found for given wallet instance. Do not create a wallet instance manually - use the useCreateWalletInstance() hook instead",
);
}
const [_signer, _chainId, _address] = await Promise.all([
wallet.getSigner(),
wallet.getChainId(),
wallet.getAddress(),
]);
// set states for the connected wallet
setActiveWallet(wallet);
setChainId(_chainId);
setWalletAddress(_address);
setSigner(_signer);
setActiveWalletConfig(walletConfig);
setConnectionStatus("connected");
const _signer = await wallet.getSigner();
setSigner(_signer);
// if personal wallet exists, we need to replace the connectParams.personalWallet to a stringifiable version
const personalWallet = wallet.getPersonalWallet() as AbstractClientWallet;
@@ -341,16 +352,14 @@ function useWalletConnectionSetup(
[createWalletInstance, setConnectedWallet, chainToConnect],
);
const onWalletDisconnect = useCallback(async () => {
await lastConnectedWalletStorage.removeItem(
LAST_CONNECTED_WALLET_STORAGE_KEY,
);
const onWalletDisconnect = useCallback(() => {
setConnectionStatus("disconnected");
setSigner(undefined);
setActiveWallet(undefined);
setActiveWalletConfig(undefined);
setChainId(undefined);
setWalletAddress(undefined);
lastConnectedWalletStorage.removeItem(LAST_CONNECTED_WALLET_STORAGE_KEY);
}, []);
const disconnectWallet = useCallback(async () => {
@@ -360,14 +369,13 @@ function useWalletConnectionSetup(
return;
}
onWalletDisconnect();
const personalWallet = activeWallet.getPersonalWallet();
await activeWallet.disconnect();
if (personalWallet) {
await (personalWallet as AbstractClientWallet)?.disconnect();
}
onWalletDisconnect();
}, [activeWallet, onWalletDisconnect]);
// handle wallet change event
@@ -380,9 +388,15 @@ function useWalletConnectionSetup(
}
const update = async () => {
activeWallet.getSigner().then(setSigner);
activeWallet.getChainId().then(setChainId);
activeWallet.getAddress().then(setWalletAddress);
Promise.all([
activeWallet.getSigner(),
activeWallet.getChainId(),
activeWallet.getAddress(),
]).then(([_signer, _chainId, _address]) => {
setSigner(_signer);
setChainId(_chainId);
setWalletAddress(_address);
});
};
update();
@@ -459,6 +473,8 @@ export function ThirdwebWalletProvider(
switchChain,
connectWallet,
disconnectWallet,
address,
chainId,
} = useWalletConnectionSetup(walletSetupData, {
connectionStatus: "unknown",
});
@@ -713,6 +729,8 @@ export function ThirdwebWalletProvider(
return (
<ThirdwebWalletContext.Provider
value={{
address,
chainId,
disconnect: disconnectWallet,
wallets: props.supportedWallets,
connect: connectWallet,
+10 -1
View File
@@ -2,6 +2,7 @@ import { useContext } from "react";
import { ThirdwebConnectedWalletContext } from "../contexts/thirdweb-wallet";
import type { Signer } from "ethers";
import invariant from "tiny-invariant";
import { ThirdwebWalletContext } from "../../core/providers/thirdweb-wallet-provider";
/**
* Hook for getting the [ethers signer](https://docs.ethers.org/v5/api/signer/) of the connected wallet.
@@ -24,9 +25,17 @@ import invariant from "tiny-invariant";
*/
export function useSigner(): Signer | undefined {
const context = useContext(ThirdwebConnectedWalletContext);
const walletCtx = useContext(ThirdwebWalletContext);
// if ThirdwebWalletContext is present, use the signer from there because signer from ThirdwebConnectedWalletContext also uses that signer but it lags behind
// walletCtx is undefined if only ThirdwebSDKProvider is used
if (walletCtx) {
return walletCtx.signer;
}
invariant(
context,
"useSigner() hook must be used within a <ThirdwebProvider/>",
"useSigner() hook must be used within a <ThirdwebProvider/> or <ThirdwebSDKProvider/> component",
);
return context.signer;
}
+21 -2
View File
@@ -10,7 +10,10 @@ import { UseQueryResult, useQuery } from "@tanstack/react-query";
import { Chain, defaultChains } from "@thirdweb-dev/chains";
import { useContext, useMemo } from "react";
import { useSDK } from "./useSDK";
import { useWalletContext } from "../../core/providers/thirdweb-wallet-provider";
import {
ThirdwebWalletContext,
useWalletContext,
} from "../../core/providers/thirdweb-wallet-provider";
import { BigNumber } from "ethers";
/**
@@ -151,6 +154,14 @@ export function useConnectedWallet() {
*/
export function useAddress(): string | undefined {
const context = useContext(ThirdwebConnectedWalletContext);
const walletCtx = useContext(ThirdwebWalletContext);
// if ThirdwebWalletContext is present, use the address from there because address from ThirdwebConnectedWalletContext also uses that address but it lags behind
// walletCtx is undefined if only ThirdwebSDKProvider is used
if (walletCtx) {
return walletCtx.address;
}
invariant(
context,
"useAddress() hook must be used within a <ThirdwebProvider/>",
@@ -185,9 +196,17 @@ export function useAddress(): string | undefined {
*/
export function useChainId(): number | undefined {
const context = useContext(ThirdwebConnectedWalletContext);
const walletCtx = useContext(ThirdwebWalletContext);
// if ThirdwebWalletContext is present, use the chainId from there because chainId from ThirdwebConnectedWalletContext also uses that chainId but it lags behind
// walletCtx is undefined if only ThirdwebSDKProvider is used
if (walletCtx) {
return walletCtx.chainId;
}
invariant(
context,
"useChainId() hook must be used within a <ThirdwebProvider/>",
"useChainId() hook must be used within a <ThirdwebProvider/> or <ThirdwebSDKProvider/> component",
);
return context.chainId;
}
Binary file not shown.
@@ -1,5 +1,9 @@
# @thirdweb-dev/react-native-compat
## 0.7.4
## 0.7.3
## 0.7.2
## 0.7.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.7.2",
"version": "0.7.4",
"author": "thirdweb eng <[email protected]>",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native-compat",
"license": "Apache-2.0",
+17
View File
@@ -1,5 +1,22 @@
# @thirdweb-dev/react-native
## 0.7.4
### Patch Changes
- Updated dependencies [[`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/react-core@4.4.7
- @thirdweb-dev/sdk@4.0.34
- @thirdweb-dev/wallets@2.4.9
## 0.7.3
### Patch Changes
- Updated dependencies [[`433d49e3`](https://github.com/thirdweb-dev/js/commit/433d49e3aba03df33678f429f19f426fd107b7eb)]:
- @thirdweb-dev/react-core@4.4.6
## 0.7.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-native",
"version": "0.7.2",
"version": "0.7.4",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react-native",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
Binary file not shown.
+19
View File
@@ -1,5 +1,24 @@
# @thirdweb-dev/react
## 4.4.7
### Patch Changes
- Updated dependencies [[`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/react-core@4.4.7
- @thirdweb-dev/sdk@4.0.34
- @thirdweb-dev/wallets@2.4.9
## 4.4.6
### Patch Changes
- [#2260](https://github.com/thirdweb-dev/js/pull/2260) [`6a3cacb6`](https://github.com/thirdweb-dev/js/commit/6a3cacb62257c1774b5bac739b89e17495f42655) Thanks [@MananTank](https://github.com/MananTank)! - Enforce compact modal size in ConnectWallet based on available space instead of just on mobile device
- Updated dependencies [[`433d49e3`](https://github.com/thirdweb-dev/js/commit/433d49e3aba03df33678f429f19f426fd107b7eb)]:
- @thirdweb-dev/react-core@4.4.6
## 4.4.5
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react",
"version": "4.4.5",
"version": "4.4.7",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/react",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -1,8 +1,8 @@
import { useState, createContext, useContext } from "react";
import { isMobile } from "../utils/isMobile";
import { Theme } from "../../design-system";
import { WelcomeScreen } from "../../wallet/ConnectWallet/screens/types";
import { useTWLocale } from "./locale-provider";
import { canFitWideModal } from "../utils/canFitWIdeModal";
type BoolSetter = (value: boolean) => void;
@@ -59,14 +59,14 @@ export const WalletUIStatesProvider = (
}>,
) => {
const [isWalletModalOpen, setIsWalletModalOpen] = useState(false);
const _isMobile = isMobile();
const enforceCompact = !canFitWideModal();
const locale = useTWLocale();
const [modalConfig, setModalConfig] = useState<ModalConfig>({
title: props.title || locale.connectWallet.defaultModalTitle,
theme: props.theme || "dark",
data: undefined,
modalSize: (_isMobile ? "compact" : props.modalSize) || "wide",
modalSize: (enforceCompact ? "compact" : props.modalSize) || "wide",
termsOfServiceUrl: props.termsOfServiceUrl,
privacyPolicyUrl: props.privacyPolicyUrl,
welcomeScreen: props.welcomeScreen,
@@ -405,7 +405,7 @@ export type ModalConfigOptions = {
*/
export const useSetWalletModalConfig = () => {
const context = useContext(SetModalConfigCtx);
const _isMobile = isMobile();
const enforceCompact = !canFitWideModal();
const locale = useTWLocale();
if (context === undefined) {
@@ -419,7 +419,7 @@ export const useSetWalletModalConfig = () => {
title: title || locale.connectWallet.defaultModalTitle,
data: undefined,
theme: theme || "dark",
modalSize: (_isMobile ? "compact" : modalSize) || "wide",
modalSize: (enforceCompact ? "compact" : modalSize) || "wide",
...rest,
});
};
@@ -0,0 +1,12 @@
import { wideModalScreenThreshold } from "../../wallet/ConnectWallet/constants";
/**
* Return true if the current screen size can fit the the wide connect modal
* @internal
*/
export function canFitWideModal(): boolean {
if (typeof window !== "undefined") {
return window.innerWidth >= wideModalScreenThreshold;
}
return false;
}
@@ -21,7 +21,6 @@ import { Button } from "../../components/buttons";
import { Spinner } from "../../components/Spinner";
import styled from "@emotion/styled";
import type { NetworkSelectorProps } from "./NetworkSelector";
import { isMobile } from "../../evm/utils/isMobile";
import {
CustomThemeProvider,
useCustomTheme,
@@ -34,6 +33,7 @@ import { LockIcon } from "./icons/LockIcon";
import { SignatureScreen } from "./SignatureScreen";
import { Modal } from "../../components/Modal";
import { useTWLocale } from "../../evm/providers/locale-provider";
import { canFitWideModal } from "../../evm/utils/canFitWIdeModal";
export type ConnectWalletProps = {
/**
@@ -691,7 +691,7 @@ export function ConnectWallet(props: ConnectWalletProps) {
onClick={() => {
let modalSize = props.modalSize || "wide";
if (isMobile() || walletConfigs.length === 1) {
if (!canFitWideModal() || walletConfigs.length === 1) {
modalSize = "compact";
}
@@ -9,7 +9,6 @@ import {
} from "../constants";
import { ConnectModalContent } from "./ConnectModal";
import { useScreen } from "./screen";
import { isMobile } from "../../../evm/utils/isMobile";
import { DynamicHeight } from "../../../components/DynamicHeight";
import {
CustomThemeProvider,
@@ -28,6 +27,7 @@ import {
} from "@thirdweb-dev/react-core";
import { Container } from "../../../components/basic";
import { Spinner } from "../../../components/Spinner";
import { canFitWideModal } from "../../../evm/utils/canFitWIdeModal";
export type ConnectEmbedProps = {
/**
@@ -397,7 +397,7 @@ export function SyncedWalletUIStates(
...c,
title: props.title || locale.connectWallet.defaultModalTitle,
theme: props.theme || "dark",
modalSize: (isMobile() ? "compact" : props.modalSize) || "wide",
modalSize: (!canFitWideModal() ? "compact" : props.modalSize) || "wide",
termsOfServiceUrl: props.termsOfServiceUrl,
privacyPolicyUrl: props.privacyPolicyUrl,
welcomeScreen: props.welcomeScreen,
@@ -10,7 +10,6 @@ import {
} from "../constants";
import { ConnectModalContent } from "./ConnectModal";
import { useScreen } from "./screen";
import { isMobile } from "../../../evm/utils/isMobile";
import { useWallets } from "@thirdweb-dev/react-core";
import { DynamicHeight } from "../../../components/DynamicHeight";
import {
@@ -20,6 +19,7 @@ import {
import { StyledDiv } from "../../../design-system/elements";
import { SyncedWalletUIStates } from "./ConnectEmbed";
import { WelcomeScreen } from "../screens/types";
import { canFitWideModal } from "../../../evm/utils/canFitWIdeModal";
/**
* @internal
@@ -79,7 +79,9 @@ export const ConnectModalInline = (props: ConnectModalInlineProps) => {
const { screen, setScreen, initialScreen } = useScreen();
const walletConfigs = useWallets();
const modalSize =
isMobile() || walletConfigs.length === 1 ? "compact" : props.modalSize;
!canFitWideModal() || walletConfigs.length === 1
? "compact"
: props.modalSize;
const ctxTheme = useCustomTheme();
const content = (
@@ -5,7 +5,10 @@ export const reservedScreens = {
};
export const modalMaxWidthCompact = "360px";
export const modalMaxWidthWide = "730px";
const wideModalWidth = 730;
export const modalMaxWidthWide = wideModalWidth + "px";
export const wideModalScreenThreshold = wideModalWidth + 40;
export const wideModalMaxHeight = "570px";
export const compactModalMaxHeight = "600px";
Binary file not shown.
+7
View File
@@ -1,5 +1,12 @@
# @thirdweb-dev/sdk
## 4.0.34
### Patch Changes
- Updated dependencies [[`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/chains@0.1.71
## 4.0.33
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/sdk",
"version": "4.0.33",
"version": "4.0.34",
"description": "The main thirdweb SDK.",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/sdk",
"license": "Apache-2.0",
Binary file not shown.
+14
View File
@@ -1,5 +1,19 @@
# @thirdweb-dev/service-utils
## 0.4.16
### Patch Changes
- [#2273](https://github.com/thirdweb-dev/js/pull/2273) [`9096bdc0`](https://github.com/thirdweb-dev/js/commit/9096bdc0f1c182a5dc47db7a613978917d1fa006) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Add latency prop to logHttpRequest
- [#2273](https://github.com/thirdweb-dev/js/pull/2273) [`9096bdc0`](https://github.com/thirdweb-dev/js/commit/9096bdc0f1c182a5dc47db7a613978917d1fa006) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Add latency prop to CF worker logs
## 0.4.15
### Patch Changes
- [#2266](https://github.com/thirdweb-dev/js/pull/2266) [`5a3f7fa1`](https://github.com/thirdweb-dev/js/commit/5a3f7fa12361f5c0c90acccdd129aed37825e9ab) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Add latency prop to logHttpRequest
## 0.4.14
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/service-utils",
"version": "0.4.14",
"version": "0.4.16",
"main": "dist/thirdweb-dev-service-utils.cjs.js",
"module": "dist/thirdweb-dev-service-utils.esm.js",
"exports": {
@@ -181,11 +181,13 @@ export async function logHttpRequest({
res,
isAuthed,
statusMessage,
latencyMs,
}: AuthInput & {
source: string;
res: Response;
isAuthed?: boolean;
statusMessage?: Error | string;
latencyMs?: number;
}) {
try {
const authorizationData = await extractAuthorizationData({ req, clientId });
@@ -204,6 +206,8 @@ export async function logHttpRequest({
sdkName: headers.get("x-sdk-name") ?? "unknown",
sdkVersion: headers.get("x-sdk-version") ?? "unknown",
platform: headers.get("x-sdk-platform") ?? "unknown",
os: headers.get("x-sdk-os") ?? "unknown",
latencyMs: latencyMs ?? null,
}),
);
console.log(`statusMessage=${statusMessage ?? res.statusText}`);
+4
View File
@@ -183,11 +183,13 @@ export function logHttpRequest({
res,
isAuthed,
statusMessage,
latencyMs,
}: AuthInput & {
source: string;
res: ServerResponse;
isAuthed?: boolean;
statusMessage?: Error | string;
latencyMs?: number;
}) {
try {
const authorizationData = extractAuthorizationData({ req, clientId });
@@ -208,6 +210,8 @@ export function logHttpRequest({
sdkName: headers["x-sdk-name"] ?? "unknown",
sdkVersion: headers["x-sdk-version"] ?? "unknown",
platform: headers["x-sdk-platform"] ?? "unknown",
os: headers["x-sdk-os"] ?? "unknown",
latencyMs: latencyMs ?? null,
}),
);
console.log(`statusMessage=${_statusMessage}`);
Binary file not shown.
+16
View File
@@ -1,5 +1,21 @@
# @thirdweb-dev/unity-js-bridge
## 0.3.15
### Patch Changes
- Updated dependencies [[`0092e2a3`](https://github.com/thirdweb-dev/js/commit/0092e2a3177364ad26af15ecafb4381591dc9be1), [`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/auth@4.1.31
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/sdk@4.0.34
- @thirdweb-dev/wallets@2.4.9
## 0.3.14
### Patch Changes
- [#2268](https://github.com/thirdweb-dev/js/pull/2268) [`3857cba8`](https://github.com/thirdweb-dev/js/commit/3857cba8ab3aad04744121d1a94d4a1893142bbc) Thanks [@0xFirekeeper](https://github.com/0xFirekeeper)! - Unity v4.6.1
## 0.3.13
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/unity-js-bridge",
"version": "0.3.13",
"version": "0.3.15",
"main": "dist/thirdweb-unity-bridge.js",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
"license": "Apache-2.0",
@@ -143,7 +143,7 @@ class ThirdwebBridge implements TWBridge {
}
(globalThis as any).X_SDK_NAME = "UnitySDK_WebGL";
(globalThis as any).X_SDK_PLATFORM = "unity";
(globalThis as any).X_SDK_VERSION = "4.6.0";
(globalThis as any).X_SDK_VERSION = "4.6.1";
(globalThis as any).X_SDK_OS = browser?.os ?? "unknown";
}
this.initializedChain = chain;
+8
View File
@@ -1,5 +1,13 @@
# @thirdweb-dev/wallets
## 2.4.9
### Patch Changes
- Updated dependencies [[`357886e3`](https://github.com/thirdweb-dev/js/commit/357886e31b37aad950731ce8f013a101190ebd07)]:
- @thirdweb-dev/chains@0.1.71
- @thirdweb-dev/sdk@4.0.34
## 2.4.8
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/wallets",
"version": "2.4.8",
"version": "2.4.9",
"main": "dist/thirdweb-dev-wallets.cjs.js",
"module": "dist/thirdweb-dev-wallets.esm.js",
"browser": {
Binary file not shown.