Compare commits

...
Author SHA1 Message Date
github-actions[bot]andGitHub bbc2e092b8 Version Packages (#2120) 2024-01-06 07:18:21 +13:00
iketwandGitHub 4c3c840d88 [RN] Export WC modal component (#2092) 2024-01-05 16:27:27 +00:00
Manan TankandGitHub cf606665fc Update Docs links (#2119) 2024-01-05 16:07:39 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
3871068aa6 Version Packages (#2116)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-03 15:59:09 +13:00
Isaac DubuqueandGitHub d00ca7fd2a add patch bump to payments package (#2115) 2024-01-03 02:51:11 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
9ee3c21eac Version Packages (#2102)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-01-03 14:34:19 +13:00
ed3afd418c Isaac/react sdk migration (#1913)
Co-authored-by: gerrysaporito <[email protected]>
2024-01-03 00:55:16 +00:00
iketwandGitHub b90fa2cc29 [RN] Adds hideSendButtonand hideReceiveButton to ConnectWallet (#2108) 2024-01-02 20:02:44 +00:00
EimanandGitHub 2ab517aa49 changing Avalanche tether USD address mapping (#2109) 2023-12-28 16:34:34 +00:00
Manan TankandGitHub e46dd0254f [wallets] JSDoc improvements for autogenerated docs (#2103) 2023-12-22 10:06:51 +00:00
Gerry SaporitoandGitHub 1a5627f72d chore: added payments to scope (#2107) 2023-12-20 18:39:51 +00:00
YashandGitHub b808e942fd [SDK] Fix verification (#2105) 2023-12-20 15:02:04 +00:00
iketwandGitHub 7fdb1715e4 [RN] Export types to improve references (#2101) 2023-12-19 17:02:08 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
ae2fcf7e00 Version Packages (#2088)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-19 13:42:24 +13:00
iketwandGitHub 94a8f7960a [RN] Update coinbase wallet SDK to fix scheme bug (#2099) 2023-12-19 00:22:26 +00:00
Manan TankandGitHub c410a1c18a [react, react-core] - Migrate Docs content to JSDoc comments (#2084) 2023-12-18 21:11:29 +00:00
Winston YeoandGitHub 81c46e2298 [walllets]: don't rely on utils package for base url in embedded wallet (#2093) 2023-12-17 17:07:01 +00:00
YashandGitHub f369bffe5a [SDK] Deployment params: Empty default forwarders (#2090) 2023-12-16 21:57:35 +00:00
Kien NgoandGitHub fed1313a19 [SDK] Fix invalid recipient issue when deploy built-in contracts (#2020) 2023-12-15 03:05:02 +00:00
iketwandGitHub b7d4dee446 [RN] Support expo versions >=47 <50 (#2087) 2023-12-14 23:37:58 +00:00
Kien NgoandGitHub 23db97cca5 [react-core] Add hook: useTransferNativeToken (#2008) 2023-12-14 23:22:45 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
0f54e99141 Version Packages (#2083)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-15 09:31:22 +13:00
c701c388c6 feat: ethers skipFetchSetup support (#2085)
Co-authored-by: Manan Tank <[email protected]>
2023-12-15 08:37:55 +13:00
iketwandGitHub 328ef5dc9c [RN] Hide back button in WC modal when WC is the only supportedWallet (#2086) 2023-12-14 18:13:55 +00:00
iketwandGitHub 07fbb799be [RN] Adds the ability to login with any arbitrary login payload (#2074) 2023-12-13 20:50:24 +00:00
iketwandGitHub 699f31c20a [RN/React-Core] Improve comments (#2082) 2023-12-13 02:56:39 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
c97e51b855 Version Packages (#2071)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-13 13:11:43 +13:00
Adam MajmudarandGitHub e10173bf8a [Wallets] Add support for signTransaction for smart wallets (#2080) 2023-12-12 23:57:45 +00:00
Joaquim VergesandGitHub dbfa73d75a [SDK] Export contract verifier (#2081) 2023-12-12 23:34:31 +00:00
Joaquim VergesandGitHub 1b1212d9fb [Wallet] Export getUserOpReceipt() (#2079) 2023-12-12 22:46:52 +00:00
FirekeeperandGitHub 065f85bf71 [Unity] Support revokeSessionKey/getAllActiveSigners (#2078) 2023-12-12 21:30:46 +00:00
Joaquim VergesandGitHub 09bafa9aeb [Wallets] Respect value in smart wallet gas estimations + add getUserOpReceipt utility function (#2077) 2023-12-12 21:13:18 +00:00
Joaquim VergesandGitHub fe30c88cc3 [SDK] Re-export classes, comment cleanup (#2076) 2023-12-12 09:35:51 +00:00
Joaquim VergesandGitHub 3a9538259c [SDK] cleanup (#2075) 2023-12-12 00:12:03 +00:00
FirekeeperandGitHub 0c730e57e0 [Unity] Add JWT/AuthEndpoint login options (#2073) 2023-12-11 23:43:10 +00:00
iketwandGitHub 33c9f6b1ab [Embedded] Enforce encryption key for custom jwt (#2018) 2023-12-11 22:47:41 +00:00
iketwandGitHub 2346396bdf [RN] Adds analytics nonce to ews (#2072) 2023-12-11 22:41:32 +00:00
Manan TankandGitHub de5ebc9093 [wallets] Fix assertWindowEthereum (#2070) 2023-12-11 20:37:32 +00:00
Joaquim VergesandGitHub 42c4c33d30 [SDK] un-export unneeded classes + package reorganization (#2069) 2023-12-11 19:06:32 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
046603ac54 Version Packages (#2068)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-08 22:29:51 -08:00
YashandGitHub bcfa9463bb Fix deployments (#2067) 2023-12-09 04:37:58 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
42bda873b4 Version Packages (#2054)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-08 18:04:02 -08:00
Joaquim VergesandGitHub d2001ca464 sync chains (#2066) 2023-12-09 00:14:35 +00:00
Manan TankandGitHub c8ba5cf863 [react] - Add option to only show Official WC Modal, Fix focus trap when CW Modal is hidden (#2063) 2023-12-08 13:14:04 +00:00
Joaquim VergesandGitHub 85842c1596 [SDK] expose BaseFee in getDynamicFeeData() (#2062) 2023-12-07 23:29:17 +00:00
FirekeeperandGitHub 0fb2f1fc5e [Unity] Support for sdk.wallet.GetEmail (#2061) 2023-12-07 22:21:23 +00:00
Jonas DanielsandGitHub 497677f359 fix(sdk): roles.setAll.prepare() correctly sorts role removals (#2059) 2023-12-07 18:48:16 +00:00
Manan TankandGitHub 15ae5e7f95 [react] Add "Open Official WalletConnect Modal" in ConnectWallet (#2058) 2023-12-07 16:57:52 +00:00
FirekeeperandGitHub 5a0283d083 [Unity] Reload local wallet in case of reconnection (sw) (#2056) 2023-12-07 00:32:24 +00:00
Winston YeoandGitHub 9496606964 [wallets]: Winston/custom auth endpoint (#2052) 2023-12-06 23:35:47 +00:00
Manan TankandGitHub b50e4a41b5 [react] Use WalletConnect to connect MM on mobile by default (#2029) 2023-12-06 19:52:46 +00:00
YashandGitHub e595d4d92f [SDK] Update implementation (#2053) 2023-12-06 19:29:10 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
3e526d46fa Version Packages (#2036)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-05 21:14:32 -08:00
Manan TankandGitHub a36c7e8331 Update typedoc setup, JSDoc improvements (#1842)
Signed-off-by: Manan Tank <[email protected]>
2023-12-05 19:00:11 +00:00
7bb054e45c [wallets] Remove barrel files (#2040)
Co-authored-by: Manan Tank <[email protected]>
2023-12-05 15:22:22 +00:00
cd87be4a24 [react-core] Remove barrel files (#2039)
Co-authored-by: Manan Tank <[email protected]>
2023-12-05 15:17:24 +00:00
Joaquim VergesandGitHub aefc4cda4c [SDK] Add migration role (#2051) 2023-12-05 06:08:30 +00:00
YashandGitHub cfe81b4432 [SDK] Update implementation (#2050) 2023-12-05 05:33:40 +00:00
Jonas DanielsandGitHub 72c0bb10d6 fix(contract-roles): ensure connected wallet address is removed last (#2049) 2023-12-05 01:27:07 +00:00
YashandGitHub ca618ea0c9 [SDK] Metadata role for nft base contracts (#2048) 2023-12-04 23:31:02 +00:00
YashandGitHub d20e789856 [SDK] Update publisher and registry (#2044) 2023-12-04 19:11:29 +00:00
Manan TankandGitHub a135857c7a [react] Fix EmbeddedWalletConfigOptions type (#2045) 2023-12-04 17:44:24 +00:00
Manan TankandGitHub 34546c24c7 improved smart wallet autoconnect (#2043) 2023-12-04 15:58:41 +00:00
Manan TankandGitHub 61c62b3f07 [react, wallets] JSDoc Improvements, Type exports for autogenerated docs (#2042) 2023-12-04 13:57:22 +00:00
Jonas DanielsandGitHub f2390b64e8 testing(merkletree): add additional tests back (#2041) 2023-12-04 03:41:03 +00:00
4ae1cd63bb [wallet, react] Add OneKey wallet (#1938)
Co-authored-by: Manan Tank <[email protected]>
2023-12-03 12:00:32 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
a4339818a0 Version Packages (#1998)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-12-01 06:55:35 -08:00
Manan TankandGitHub b3394277c7 [react] JSDoc improvements (#1987) 2023-12-01 13:13:30 +00:00
Manan TankandGitHub fdf19b0a26 [react] Do not swallow error in useEmbeddedWallet() connect (#2031) 2023-12-01 12:42:39 +00:00
FirekeeperandGitHub 9798a31a9a [Unity] Pass down authOptions with smart wallet connections (#2026) 2023-11-30 00:59:22 +00:00
Kien NgoandGitHub f93bd325e1 [Storage] Catch error when converting invalid IPFS URIs (#2021) 2023-11-29 21:35:50 +00:00
iketwandGitHub 97ba1fbd42 [RN] Adds version header to ews calls (#2025) 2023-11-29 20:43:35 +00:00
Kien NgoandGitHub 28fc3736aa [storage] Add Base Sepolia to defaultChains (#2024) 2023-11-29 20:02:58 +00:00
Kien NgoandGitHub 06805217c2 [chains] Add Eth Sepolia to defaultChains (#2023) 2023-11-29 15:24:54 +00:00
Jonas DanielsandGitHub b833250053 chore(chains): add & update chains (#2019) 2023-11-28 22:07:14 +00:00
iketwandGitHub 9455912932 [ReactCore] Share WalletConnecthandler in react core (#2016) 2023-11-28 16:00:48 +00:00
Manan TankandGitHub 4c488aa31f [react-core] Fix auto-connecting a personal wallet for smart/safe wallet (#2015) 2023-11-28 12:17:28 +00:00
Joaquim VergesandGitHub b0ecfd2d8d [SDK] propagate isPartialABI (#2012) 2023-11-27 20:30:32 +00:00
2b4f1c8e55 [wallet, react] Add Crypto.com Defi wallet (#1928)
Co-authored-by: Manan Tank <[email protected]>
2023-11-27 15:16:30 +00:00
e79b293562 [react-core] Add hook: useBalanceForAddress (#2007)
Co-authored-by: Manan Tank <[email protected]>
2023-11-27 14:43:32 +00:00
Joaquim VergesandGitHub 2861dff1f0 [SDK] dont fetch metadata from CDN for local nodes (#2011) 2023-11-27 06:02:33 +00:00
Kien NgoandGitHub 61b6a00214 Fix typo in comment (#2010) 2023-11-27 05:35:30 +00:00
Joaquim VergesandGitHub b02fb91a54 [SDK] Add missing roles from new contracts (#2009) 2023-11-26 04:51:52 +00:00
Joaquim VergesandGitHub 8bf3be88be [SDK] Enable deployments for older AccountFactory contracts (#2005) 2023-11-24 23:02:15 +00:00
Joaquim VergesandGitHub fb5095bff5 [SDK] Handle other possible undefined cases for unknown chains (#2004) 2023-11-23 21:24:05 +00:00
Joaquim VergesandGitHub d28097f508 [SDK] Fix undefined error for unknow chains (#2003) 2023-11-23 17:31:11 +00:00
iketwandGitHub a27b10c5c3 [React] Do not set disconnected if connecting (#2001) 2023-11-23 16:12:39 +00:00
8c2d4e5ea7 [wallet, react] Add Rabby wallet (browser extension) (#1926)
Co-authored-by: Manan Tank <[email protected]>
2023-11-22 18:33:15 +00:00
Manan TankandGitHub 507496627b [react] Fix SmartWallet + MagicLink social login connection, Fix WalletIcon in CW (#1997) 2023-11-22 18:14:30 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
f5b89987af Version Packages (#1991)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-22 07:31:24 -08:00
Manan TankandGitHub 4bb8f5b15e Revert "add ConnectEmbed + Fix double connection issue" (#1996) 2023-11-22 15:11:43 +00:00
FirekeeperandGitHub 914befda16 [Unity] Add new tx/block processing methods to match static C# counterparts (#1995) 2023-11-22 11:31:25 +00:00
Joaquim VergesandGitHub b5bbe2bd43 [Wallets] Look at last 10 blocks for recently submitted userOp (#1992) 2023-11-22 04:52:24 +00:00
Kien NgoandGitHub 68288436ac [React, React native] Remove overrides prop from Web3Button (#1994) 2023-11-22 01:23:55 +00:00
Jonas DanielsandGitHub d4ce855e5f chore(chains): update chains & deprecate allChains (#1990) 2023-11-22 01:13:04 +00:00
Kien NgoandGitHub 47b0ed5171 [sdk, chains] Add Arb Sepolia to defaultChains (#1967) 2023-11-21 22:05:17 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
00b9eea9ec Version Packages (#1980)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-21 13:37:37 -08:00
iketwandGitHub bf27b88728 [RN] Improves error messages for embedded wallet (#1989) 2023-11-21 19:41:23 +00:00
Tair AsimandGitHub 17fe41d42b fix: api key caching ttl (#1988) 2023-11-21 17:38:59 +00:00
Tair AsimandGitHub 36600decef chore: add logging to authenticate (#1973) 2023-11-21 17:08:22 +00:00
FirekeeperandGitHub e09221f1e0 [Unity] SW Account Override Support (#1986) 2023-11-21 12:16:28 +00:00
FirekeeperandGitHub 62cc785c4a [Unity] Support Add/Remove Admin and Create Session Key for SW (#1985) 2023-11-21 10:42:57 +00:00
Adam MajmudarandGitHub 7c45941b57 Add support for executeMetaTransaction (#1974) 2023-11-20 19:12:11 +00:00
FirekeeperandGitHub 7a2e0edab4 [Unity] Apple and Facebook logins (#1981) 2023-11-20 18:45:33 +00:00
Manan TankandGitHub fb0cb676b9 add ConnectEmbed + Fix double connection issue with Safe/Smart in ConnectWallet (#1952) 2023-11-20 17:56:55 +00:00
12d85dec10 [React/RN] Move usePersonalWalletAddress hook to core (#1971)
Co-authored-by: Manan Tank <[email protected]>
2023-11-20 17:29:32 +00:00
1094a03a04 [wallet, react] Add Coin98 Wallet (#1921)
Co-authored-by: Manan Tank <[email protected]>
2023-11-20 16:27:00 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
6cc38b0680 Version Packages (#1970)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-18 14:30:05 -08:00
Joaquim VergesandGitHub 7abb36a7ec [Wallets] Enforce authenticated users when getting EW signers (#1978) 2023-11-18 17:21:15 +00:00
Joaquim VergesandGitHub 6832b19fc5 [Wallets] Fix potential embedded wallet autoconnect race condition (#1977) 2023-11-18 07:18:30 +00:00
nkrishangandGitHub 1c4cbedb6a Override signMessage for SmartWallet class (#1953) 2023-11-18 06:04:02 +00:00
Phillip HoandGitHub 8ff87be631 fix: Reuse response body in service utils helper (#1976) 2023-11-18 01:50:37 +00:00
YashandGitHub e43beec36a [SDK] Resolve diamond pattern facets abi (#1935) 2023-11-17 15:56:29 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
c5b7fef5ba Version Packages (#1966)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-17 10:40:41 +01:00
Manan TankandGitHub 4c5e40ae4e [react] Fix ConnectWallet text alignment issues in paper/embedded wallet (#1969) 2023-11-17 09:22:45 +00:00
Jonas DanielsandGitHub ab2dfd4f5c Initialize @thirdweb-dev/crypto and @thirdweb-dev/merkletree (#1861)
Signed-off-by: Jonas Daniels <[email protected]>
2023-11-16 22:32:24 +00:00
Manan TankandGitHub 13029e3286 [react] ConnectWallet UI adjustments, expose hook to fetch embeddedWallet email (#1965) 2023-11-16 20:25:25 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
44c9ccd65d Version Packages (#1963)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-16 10:21:09 -08:00
Manan TankandGitHub 7912c26323 [react] use custom theme context in styled components (#1954) 2023-11-16 17:53:44 +00:00
69d68f5a25 [RN/React] Enables FB and Apple sign in for embedded wallet (#1945)
Co-authored-by: Manan Tank <[email protected]>
2023-11-16 13:31:22 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
836be52724 Version Packages (#1959)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-15 20:26:55 -08:00
Joaquim VergesandGitHub 9f993dcc1e [EmbeddedWallet] fix switch chains logic (#1958) 2023-11-15 16:56:19 -08:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
61760a180f Version Packages (#1946)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-15 15:20:43 -08:00
Joaquim VergesandGitHub a3f3e160e0 [SDK] Performance improvements for getContract (#1936) 2023-11-15 23:01:25 +00:00
Joaquim VergesandGitHub b1190914a9 [SmartWallet, React] Smart wallet performance and auto connect fixes (#1950) 2023-11-15 18:37:30 +00:00
Kien NgoandGitHub e79a952061 [React-core] Fix caching issue with useTotalCirculatingSupply (#1951) 2023-11-15 14:34:57 +00:00
iketwandGitHub 480ed721d1 Enforces tsdoc/syntax code comments (#1949) 2023-11-15 04:30:13 +00:00
42c7436827 [React/Wallets] Deprecates PaperWallet in favor of EmbeddedWallet (#1948)
Co-authored-by: ElasticBottle <[email protected]>
2023-11-15 03:33:10 +00:00
Adam MajmudarandGitHub 16e9e8b64d [Wallets] Add EngineWallet & EngineSigner (#1939) 2023-11-15 00:59:58 +00:00
Adam MajmudarandGitHub 23ab897e32 Add support for EIP-2612 to engine relayer (#1947) 2023-11-14 23:20:44 +00:00
iketwandGitHub 6fcdec7c12 [SDK] Fixes all tsdoc warnings (#1944) 2023-11-14 20:04:17 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
b734f05525 Version Packages (#1919)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-14 11:30:08 -08:00
iketwandGitHub 30ea9c6bf7 [All] Warns tsdoc formatting and fixes React, RN and ReactCore (#1943) 2023-11-14 19:19:46 +00:00
iketwandGitHub 6de3a19b86 [RN] Updated safe-area-context package to 4.7.4 (#1942) 2023-11-14 18:09:58 +00:00
iketwandGitHub 06e59cf916 [React/RN] Move shortenAdress util to react-core (#1929) 2023-11-14 15:48:52 +00:00
Joaquim VergesandGitHub 3f3a484a3a [SmartWallet] remove deprecated fallback (#1937) 2023-11-14 01:39:23 +00:00
05e52114bf [auth] update fastify login route response to match express/next (#1927)
Signed-off-by: Alec Ananian <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-11-13 16:42:41 -08:00
iketwandGitHub 1a421d3b5d [RN] Adds Apple sign in option to embedded wallet (#1912) 2023-11-10 21:59:10 +00:00
iketwandGitHub 97fdbc8f64 [RN] Refactor WC receiver for SW and EW (#1925) 2023-11-10 21:26:17 +00:00
ebf4025718 [wallets]: refactor for ease of adding oauth provider (#1923)
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: Manan Tank <[email protected]>
2023-11-10 19:13:27 +00:00
a81a5285b7 [wallets, React SDK] Add FB and Apple social login (#1920)
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: Manan Tank <[email protected]>
2023-11-10 18:07:25 +00:00
95c9d56ea4 [CLI] fixed url redirect for pre-built deploy command (#1918)
Co-authored-by: ikethirdweb <[email protected]>
2023-11-09 22:20:25 +00:00
18552f3a22 [React Native] Option to hide [Switch to Personal Wallet] button (#1908)
Co-authored-by: ikethirdweb <[email protected]>
2023-11-09 22:09:47 +00:00
github-actions[bot]andGitHub 9187e0f2cf Version Packages (#1894) 2023-11-09 10:42:07 -08:00
20d0f53b46 [wallet, react] Add Core wallet (Avalanche) (#1891)
Co-authored-by: Manan Tank <[email protected]>
2023-11-09 15:22:14 +00:00
iketwandGitHub 0dcb15b7e6 [Chore(chains)] sync chains (#1911) 2023-11-08 20:00:43 +00:00
iketwandGitHub ba49a82463 [RN] UI improvements (#1909) 2023-11-08 16:55:02 +00:00
Phillip HoandGitHub 8d1b8a47e6 chore: Add checkout as a usage type (#1907) 2023-11-07 21:21:00 +00:00
b90d3af5b8 [React] Add option to hide personal wallet switch to React (#1906)
Co-authored-by: Manan Tank <[email protected]>
2023-11-07 16:09:32 +00:00
c34ac468fb [react] Add Localization (#1847)
Signed-off-by: Manan Tank <[email protected]>
Co-authored-by: ikethirdweb <[email protected]>
2023-11-07 15:36:13 +00:00
YashandGitHub fefeaeef18 [SDK] Fix publish (#1809) 2023-11-06 13:46:17 +00:00
Adam MajmudarandGitHub 91c2352b03 [SDK] Add support for engine relayer (#1896) 2023-11-06 00:19:58 +00:00
iketwandGitHub 9f454d1e08 [RN] Improve modal title customization (#1900) 2023-11-04 14:23:31 +00:00
iketwandGitHub 59e5541094 [RN] Removes magic support in favor of embedded wallet (#1892) 2023-11-02 21:14:29 +00:00
iketwandGitHub 8e104b443e [RN] Updates Japanese translations (#1893) 2023-11-02 19:18:01 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
0eed017bb9 Version Packages (#1889)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-01 16:06:38 -07:00
Joaquim VergesandGitHub 789700cf60 [React] Fix sign in button display logic (#1888) 2023-11-01 22:56:00 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
570d71e8d6 Version Packages (#1882)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-11-01 13:03:47 -07:00
961ef644d1 [SmartWallet] Improved useSmartWallet hook (#1885)
Co-authored-by: ikethirdweb <[email protected]>
2023-11-01 19:54:46 +00:00
Edward SunandGitHub 6fcd09ddbd Show sign in button if user address and active wallet address are mis-matched (#1886) 2023-11-01 19:22:35 +00:00
Kien NgoandGitHub a9d32f3c90 [SDK] Reduce bundle size by lazy loading some large modules (#1871) 2023-11-01 03:35:24 +00:00
iketwandGitHub 8ec0d00c75 [RN] Fix typo in readme (#1881) 2023-10-31 22:46:59 +00:00
+3
Joaquim VergesGitHubElasticBottleManan TankWinston Yeoikethirdweb0xFirekeeperiketwvuittont60Jonas Danielsgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>github-actions[bot] <github-actions[bot]@users.noreply.github.com>yoanslvy
0acc530f8b [Wallet, React] New Embedded Wallet API (#1846)
Signed-off-by: vuittont60 <[email protected]>
Signed-off-by: Manan Tank <[email protected]>
Co-authored-by: ElasticBottle <[email protected]>
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Winston Yeo <[email protected]>
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: 0xFirekeeper <[email protected]>
Co-authored-by: iketw <[email protected]>
Co-authored-by: vuittont60 <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: yoanslvy <[email protected]>
2023-10-31 22:42:15 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
7a6f516b4f Version Packages (#1877)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-31 15:41:13 -07:00
iketwandGitHub 7461e2a914 [RN] Fixes wallet icons border bug (#1880) 2023-10-31 22:31:20 +00:00
iketwandGitHub 178609a062 [RN] Adds Japanese and Spanish support (#1878) 2023-10-31 00:55:17 +00:00
Kien NgoandGitHub 8ea8f6e954 [SDK] Lazy load JSON files (#1862)
Signed-off-by: Kien Ngo <[email protected]>
2023-10-31 00:40:54 +00:00
iketwandGitHub b49efc24ac Revert "[WALLET + REACT] Add Cometh Connect" (#1879) 2023-10-31 00:03:08 +00:00
6853e87a49 [WALLET + REACT] Add Cometh Connect (#1749)
Signed-off-by: Manan Tank <[email protected]>
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-10-30 16:01:11 -07:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
4197d1bf3f Version Packages (#1866)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-27 23:53:04 -07:00
Joaquim VergesandGitHub 3faa9f21ef [SmartWallet] expose data in smart wallet utils (#1867) 2023-10-28 06:21:03 +00:00
Jonas DanielsandGitHub a75e4cc80a chore(chains): sync chains (#1865) 2023-10-28 01:44:02 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
f7bda0904f Version Packages (#1828)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-27 11:37:38 -07:00
iketwandGitHub fe7be4dd8d Revert "[SDK/Wallets] Override crypto-js to use latest version to fix vulnera…" (#1859) 2023-10-27 17:58:35 +00:00
Jonas DanielsandGitHub 0f15ee5963 feat: Update minimum required Node.js version to >=18 (#1858) 2023-10-27 17:32:37 +00:00
Joaquim VergesandGitHub 4fa09df6d0 [SmartWallet] Expose new estimation functions for smart wallet transactions (#1856) 2023-10-27 05:59:04 +00:00
Jonas DanielsandGitHub b6f72c566c feat: Update minimum required Node version to 18.17.0 (#1855) 2023-10-26 22:41:03 +00:00
vuittont60andGitHub 1934ef5fac Fix typo in comments (#1839)
Signed-off-by: vuittont60 <[email protected]>
2023-10-26 11:29:38 -07:00
iketwandGitHub 467c9eeedc [SDK/Wallets] Override crypto-js to use latest version to fix vulnera… (#1854) 2023-10-26 16:25:24 +00:00
Manan TankandGitHub 7ff0b4d547 [wallets] - Fix chains package not tree-shaken because of SmartWallet (#1853) 2023-10-26 15:45:15 +00:00
Joaquim VergesandGitHub 5917e626b0 [Wallet] Fix getSmartWalletAddress util function (#1851) 2023-10-26 05:51:54 +00:00
Jonas DanielsandGitHub 6028a88111 chore(chains): sync chains (#1843)
Signed-off-by: Jonas Daniels <[email protected]>
2023-10-26 00:09:27 +00:00
Joaquim VergesandGitHub 80def43d44 [SDK] Fix double trailing slash when downloading merkle data (#1850) 2023-10-25 23:52:47 +00:00
iketwandGitHub 0b748f31ce [RN] Migrate embedded wallet to new api (#1844) 2023-10-25 20:33:32 +00:00
Kien NgoandGitHub 0358722c1a [SDK] Remove barrel files in @r\packages\sdk\src\evm (#1827)
Signed-off-by: Kien Ngo <[email protected]>
2023-10-24 21:54:32 +00:00
iketwandGitHub b6267599f5 [RN] Update naming for embeddedWallet jwt flow (#1841) 2023-10-24 17:06:47 +00:00
nkrishangandGitHub 44f258d6bf Patch: missing data arg in isSmartWalletDeployed (#1840) 2023-10-24 16:33:11 +00:00
4cb6e287c8 [SDK] Add ERC6551 Interface (#1324)
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-10-24 04:45:24 +00:00
Kien NgoandGitHub db0bbf5173 [SDK] Perf improvements for erc-20 methods (#1814)
Signed-off-by: Kien Ngo <[email protected]>
2023-10-24 04:44:36 +00:00
iketwandGitHub 41fd6f9395 [RN] Update changelog (#1833) 2023-10-23 17:44:34 +00:00
iketwandGitHub 4374bd4e16 [RN] Allows for custom auth with embeddedWallet (#1806) 2023-10-23 14:14:03 +00:00
Manan TankandGitHub 042459fe34 Use BigInt function instead of bigint primitive numbers (#1830) 2023-10-23 14:11:39 +00:00
YashandGitHub cc6511351f Spicy chain gas override (#1805) 2023-10-23 13:22:50 +00:00
Kien NgoandGitHub d1743a3279 [SDK] Improve contract-roles methods (#1798) 2023-10-23 05:25:50 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
f3fb440fb5 Version Packages (#1793)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-22 14:33:11 -07:00
Manan TankandGitHub 2307f11ab3 [wallets, react] Add OKX wallet (#1826) 2023-10-22 18:47:23 +00:00
Kien NgoandGitHub d8d48a9516 [SDK] Perf improvement for erc-1155-signature-mintable (#1824) 2023-10-21 22:29:55 +00:00
Winston YeoandGitHub 5ffbcfc302 [wallets, react] expose onAuthSuccess callback in paperWallet (#1815) 2023-10-21 01:03:06 +00:00
Joaquim VergesandGitHub d27a3dee83 [SmartWallet] implement multidimensional nonces for smart wallets (#1821) 2023-10-20 23:28:08 +00:00
iketwandGitHub 7080ff29fc [RN] Allow custom fontFamily (#1820) 2023-10-20 20:39:39 +00:00
iketwandGitHub 638afd8e08 [RN] i18n strings (#1819) 2023-10-20 19:04:13 +00:00
iketwandGitHub 947e3345ef [RN] i18n more strings and fix fontFamily (#1818) 2023-10-20 18:04:29 +00:00
iketwandGitHub ea51a50bfc [RN] Update weights (#1817) 2023-10-20 16:10:07 +00:00
iketwandGitHub c6f59e1b01 [RN] Makes locale optional (#1816) 2023-10-20 15:46:57 +00:00
Kien NgoandGitHub 6d1eabe9f9 [SDK] Some more small improvements (#1813) 2023-10-20 04:46:50 +00:00
Adam MajmudarandGitHub c238fde877 [Auth] Update to call uuidv4 to generate jti (#1812) 2023-10-20 02:14:42 +00:00
Adam MajmudarandGitHub 548601981f [Auth] Expose buildJWT (#1811) 2023-10-20 01:00:05 +00:00
iketwandGitHub 05481aa8c0 [RN]i18n Extract more strings (#1810) 2023-10-20 00:19:25 +00:00
iketwandGitHub 1cc26e43e5 [RN] Enable localization for the RN SDK (#1799) 2023-10-19 23:54:19 +00:00
Adam MajmudarandGitHub 99d7ec06ec [Auth] Add fastify extension, onToken callback, & secure option (#1801) 2023-10-19 23:34:32 +00:00
ff996646b2 [React, RN, Wallets, SDK, Storage] typedoc generation (#1787)
Co-authored-by: ikethirdweb <[email protected]>
2023-10-19 20:11:21 +00:00
iketwandGitHub 01260009be [RN] Pass custom fontfamily to textinput placeholders (#1807) 2023-10-19 19:16:08 +00:00
iketwandGitHub 7dea0975ec [RN] Update README (#1804) 2023-10-19 15:11:22 +00:00
iketwandGitHub a63f5dc7cb [RN] Improve UI and theming (#1803) 2023-10-19 15:07:15 +00:00
Joaquim VergesandGitHub fd7a9f0998 [SmartWallet] expose new send/execute smart wallet functions (#1800) 2023-10-19 05:37:01 +00:00
Manan TankandGitHub 246b0d4aac [react] Fix wrong Icon size of few icons in Firefox in ConnectWallet (#1797) 2023-10-18 23:31:50 +00:00
Kien NgoandGitHub 42ba15f2c0 Improve performance for /prebuilt-implementations (#1795) 2023-10-18 22:30:30 +00:00
Adam MajmudarandGitHub aa9f48d136 [Wallets] Add AsyncWallet (#1790) 2023-10-18 18:48:31 +00:00
Adam MajmudarandGitHub 64138642e8 Manually write GCP KMS signer with full configuration (#1789) 2023-10-18 18:38:48 +00:00
Joaquim VergesandGitHub 223008b1f7 [SDK] fix marketplace tests (#1791) 2023-10-18 06:01:10 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
cbfd445ae7 Version Packages (#1784)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-10-16 20:38:41 -07:00
Jonas DanielsandGitHub 137f46a547 chore(chains): fix up chain sync script (#1783) 2023-10-17 02:28:33 +00:00
2158 changed files with 56456 additions and 12208 deletions
+11 -1
View File
@@ -15,7 +15,17 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["e2e-cra-5", "e2e-next-13", "e2e-vite-3"],
"ignore": [
"e2e-cra-5",
"e2e-next-13",
"e2e-vite-3",
"bundlers-esbuild",
"bundlers-vite",
"bundlers-webpack",
"bundlers-swc",
"runtimes-node-commonjs",
"runtimes-node-module"
],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"updateInternalDependents": "always",
"onlyUpdatePeerDependentsWhenOutOfRange": true
+22
View File
@@ -31,6 +31,11 @@ jobs:
with:
fetch-depth: 25
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install
uses: ./.github/composite-actions/install
@@ -59,6 +64,11 @@ jobs:
node-version: 20
check-latest: true
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- uses: pnpm/action-setup@v2
with:
version: 8
@@ -84,6 +94,12 @@ jobs:
node-version: 20
check-latest: true
# we use bun for some test suites
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- uses: pnpm/action-setup@v2
with:
version: 8
@@ -114,6 +130,12 @@ jobs:
node-version: 20
check-latest: true
# we use bun for some test suites
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- uses: pnpm/action-setup@v2
with:
version: 8
+5
View File
@@ -26,6 +26,11 @@ jobs:
with:
fetch-depth: 0
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install
uses: ./.github/composite-actions/install
+5
View File
@@ -67,6 +67,11 @@ jobs:
repository: ${{ fromJson(steps.get_pull_request_ref.outputs.data).head.repo.full_name }}
ref: ${{ fromJson(steps.get_pull_request_ref.outputs.data).head.ref }}
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install
uses: ./.github/composite-actions/install
+5
View File
@@ -26,6 +26,11 @@ jobs:
with:
fetch-depth: 0
- name: Setup bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install
uses: ./.github/composite-actions/install
+3 -1
View File
@@ -20,4 +20,6 @@ playwright-report/
.env/
# Artifacts
packages/cli/artifacts/
packages/cli/artifacts/
typedoc
+2 -1
View File
@@ -7,13 +7,14 @@
"license": "MIT",
"private": true,
"engines": {
"node": ">=18.0.0"
"node": ">=18"
},
"scripts": {
"preinstall": "npx only-allow pnpm",
"test": "turbo run test --filter=./packages/*",
"e2e": "turbo run e2e",
"build": "turbo run build --filter=./packages/*",
"typedoc": "turbo run typedoc",
"build:release": "turbo run build --force --filter=./packages/*",
"dev": "turbo run dev --no-cache --parallel --continue",
"fix:repo": "manypkg fix",
+177
View File
@@ -1,5 +1,182 @@
# @thirdweb-dev/auth
## 4.1.21
### Patch Changes
- Updated dependencies [[`cf606665`](https://github.com/thirdweb-dev/js/commit/cf606665fcfdad7b08259350d39b60313278a8dc)]:
- @thirdweb-dev/wallets@2.3.4
## 4.1.20
### Patch Changes
- Updated dependencies [[`e46dd025`](https://github.com/thirdweb-dev/js/commit/e46dd0254f157c3c4d50fe3e4f44e2e24eaf34a8)]:
- @thirdweb-dev/wallets@2.3.3
## 4.1.19
### Patch Changes
- Updated dependencies [[`c410a1c1`](https://github.com/thirdweb-dev/js/commit/c410a1c18a704d118555215db9ba7d92c3b24d8c), [`81c46e22`](https://github.com/thirdweb-dev/js/commit/81c46e22984cdb5b33b2e6eb99a0ebf0e4fbdb33)]:
- @thirdweb-dev/wallets@2.3.2
## 4.1.18
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.3.1
## 4.1.17
### Patch Changes
- Updated dependencies [[`33c9f6b1`](https://github.com/thirdweb-dev/js/commit/33c9f6b1ab3e65187b2c49c083412d39a1334bba), [`de5ebc90`](https://github.com/thirdweb-dev/js/commit/de5ebc9093aaf5fc08bc0d2d414138b520fe17fe), [`e10173bf`](https://github.com/thirdweb-dev/js/commit/e10173bf8aeaaabdb45231109b4da0c52c91b9da), [`09bafa9a`](https://github.com/thirdweb-dev/js/commit/09bafa9aebadb01641214747148c67d0b39c1275)]:
- @thirdweb-dev/wallets@2.3.0
## 4.1.16
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.2.1
## 4.1.15
### Patch Changes
- Updated dependencies [[`94966069`](https://github.com/thirdweb-dev/js/commit/9496606964d65268f8ee6bf9f78b2786e99d33ac), [`15ae5e7f`](https://github.com/thirdweb-dev/js/commit/15ae5e7f95a482a9736923c0e10916a0a6115c3d)]:
- @thirdweb-dev/wallets@2.2.0
## 4.1.14
### Patch Changes
- Updated dependencies [[`a36c7e83`](https://github.com/thirdweb-dev/js/commit/a36c7e8331744879a169f84e97b66abf0ab44f56), [`4ae1cd63`](https://github.com/thirdweb-dev/js/commit/4ae1cd63bb7b471cae48a27bf6554c4953c1dc82), [`61c62b3f`](https://github.com/thirdweb-dev/js/commit/61c62b3f07a082ffd7620c949e3bcc6b75c104b5), [`7bb054e4`](https://github.com/thirdweb-dev/js/commit/7bb054e45c75450c8f465809d23eb66371f6ef8e)]:
- @thirdweb-dev/wallets@2.1.11
## 4.1.13
### Patch Changes
- Updated dependencies [[`8c2d4e5e`](https://github.com/thirdweb-dev/js/commit/8c2d4e5ea7c38b3efa4d8d94c9822a92d271e59b), [`2b4f1c8e`](https://github.com/thirdweb-dev/js/commit/2b4f1c8e55de091100fb5279887bcb19ea31d38c)]:
- @thirdweb-dev/wallets@2.1.10
## 4.1.12
### Patch Changes
- Updated dependencies [[`b5bbe2bd`](https://github.com/thirdweb-dev/js/commit/b5bbe2bd438179c38451bc2cfa20a54fc79e4f3a)]:
- @thirdweb-dev/wallets@2.1.9
## 4.1.11
### Patch Changes
- [#1973](https://github.com/thirdweb-dev/js/pull/1973) [`36600dec`](https://github.com/thirdweb-dev/js/commit/36600decefca7b9ebb1924757b4186b559e439f6) Thanks [@assimovt](https://github.com/assimovt)! - add logging to authenticate
- Updated dependencies [[`1094a03a`](https://github.com/thirdweb-dev/js/commit/1094a03a04f3e7ade84af0f7a6073794c0904cb1)]:
- @thirdweb-dev/wallets@2.1.8
## 4.1.10
### Patch Changes
- Updated dependencies [[`6832b19f`](https://github.com/thirdweb-dev/js/commit/6832b19fc5eedc7c17e69940a361840de0a84881), [`7abb36a7`](https://github.com/thirdweb-dev/js/commit/7abb36a7ec39766dd7da03015ccef401ef7a7863), [`1c4cbedb`](https://github.com/thirdweb-dev/js/commit/1c4cbedb6a3c9f9014ffbf83c02b998768958d96)]:
- @thirdweb-dev/wallets@2.1.7
## 4.1.9
### Patch Changes
- Updated dependencies [[`ab2dfd4f`](https://github.com/thirdweb-dev/js/commit/ab2dfd4f5cf4256fa62d76f84ca804992afab1e4)]:
- @thirdweb-dev/wallets@2.1.6
## 4.1.8
### Patch Changes
- Updated dependencies [[`69d68f5a`](https://github.com/thirdweb-dev/js/commit/69d68f5a25877bf5ea694719d2cf4ca8388f3091)]:
- @thirdweb-dev/wallets@2.1.5
## 4.1.7
### Patch Changes
- Updated dependencies [[`9f993dcc`](https://github.com/thirdweb-dev/js/commit/9f993dcc1e60cc087850b8fb9ce09524073ce0b5)]:
- @thirdweb-dev/wallets@2.1.4
## 4.1.6
### Patch Changes
- Updated dependencies [[`6fcdec7c`](https://github.com/thirdweb-dev/js/commit/6fcdec7c12e4a3c0d10f3a67771e19cfad5c8ab5), [`42c74368`](https://github.com/thirdweb-dev/js/commit/42c743682739de77c264c11cc1692ed752f929a6), [`480ed721`](https://github.com/thirdweb-dev/js/commit/480ed721d1c736049fa8b6ee4cbdbdf3cce18abd), [`16e9e8b6`](https://github.com/thirdweb-dev/js/commit/16e9e8b64d7d1a97a5b32fc855479e992b7ed3a8), [`b1190914`](https://github.com/thirdweb-dev/js/commit/b1190914a97a9c4d9019c4ce8ee49ad345aed18c)]:
- @thirdweb-dev/wallets@2.1.3
## 4.1.5
### Patch Changes
- [#1927](https://github.com/thirdweb-dev/js/pull/1927) [`05e52114`](https://github.com/thirdweb-dev/js/commit/05e52114bf4f0ee352f393ed20115a904a18c310) Thanks [@alecananian](https://github.com/alecananian)! - Update Fastify login route response to match Express/Next
- Updated dependencies [[`3f3a484a`](https://github.com/thirdweb-dev/js/commit/3f3a484a3aa6e9f784e4d44458461bac0d3d4c6b), [`a81a5285`](https://github.com/thirdweb-dev/js/commit/a81a5285b7ef4ddf47fd2779ab80ebbef4bd9e0e), [`30ea9c6b`](https://github.com/thirdweb-dev/js/commit/30ea9c6bf74b483a98592a1d8d64589b7f1b22a3), [`97fdbc8f`](https://github.com/thirdweb-dev/js/commit/97fdbc8f6443dcd08a7610e4437bd4c9d6b0e8c8)]:
- @thirdweb-dev/wallets@2.1.2
## 4.1.4
### Patch Changes
- Updated dependencies [[`20d0f53b`](https://github.com/thirdweb-dev/js/commit/20d0f53b46a2975a0a14ddaa4a377f2f758804db)]:
- @thirdweb-dev/wallets@2.1.1
## 4.1.3
### Patch Changes
- Updated dependencies [[`0acc530f`](https://github.com/thirdweb-dev/js/commit/0acc530f8bbee59672d9705724edc278bd853d9a)]:
- @thirdweb-dev/wallets@2.1.0
## 4.1.2
### Patch Changes
- Updated dependencies [[`3faa9f21`](https://github.com/thirdweb-dev/js/commit/3faa9f21efb1ae29a57747d6f0b8fb1151930ab4)]:
- @thirdweb-dev/wallets@2.0.10
## 4.1.1
### Patch Changes
- [#1855](https://github.com/thirdweb-dev/js/pull/1855) [`b6f72c56`](https://github.com/thirdweb-dev/js/commit/b6f72c566c9cec5c2d0a0ebe709d6177b2af68e4) Thanks [@jnsdls](https://github.com/jnsdls)! - require minimum node version: `>=18`
- Updated dependencies [[`4fa09df6`](https://github.com/thirdweb-dev/js/commit/4fa09df6d0ece89e5e6f1c8f9b530a4bd6c266d7), [`4cb6e287`](https://github.com/thirdweb-dev/js/commit/4cb6e287c857e3597ae9f3c92c9c3961ca7a9f4e), [`5917e626`](https://github.com/thirdweb-dev/js/commit/5917e626b0744af369b67a2e44d9361422a8045d), [`44f258d6`](https://github.com/thirdweb-dev/js/commit/44f258d6bf801b553ca67a5dcebe213a4772e8a1), [`7ff0b4d5`](https://github.com/thirdweb-dev/js/commit/7ff0b4d54715afc86fc72e297a4d8bbe6897e49c), [`b6f72c56`](https://github.com/thirdweb-dev/js/commit/b6f72c566c9cec5c2d0a0ebe709d6177b2af68e4), [`042459fe`](https://github.com/thirdweb-dev/js/commit/042459fe3424add527209ac273913b494b5e426c)]:
- @thirdweb-dev/wallets@2.0.9
## 4.1.0
### Minor Changes
- [#1801](https://github.com/thirdweb-dev/js/pull/1801) [`99d7ec06`](https://github.com/thirdweb-dev/js/commit/99d7ec06ec4f31308627edc87d3122c21a884b5a) Thanks [@adam-maj](https://github.com/adam-maj)! - Add support for fastify
### Patch Changes
- [#1812](https://github.com/thirdweb-dev/js/pull/1812) [`c238fde8`](https://github.com/thirdweb-dev/js/commit/c238fde8777fd14b39837117e2d3fda1dd301029) Thanks [@adam-maj](https://github.com/adam-maj)! - Update to call uuidv4 to generate jti
- [#1811](https://github.com/thirdweb-dev/js/pull/1811) [`54860198`](https://github.com/thirdweb-dev/js/commit/548601981f6dd8706d7a9bd4ca48e4abc7723a1d) Thanks [@adam-maj](https://github.com/adam-maj)! - Expose buildJWT function
- [#1812](https://github.com/thirdweb-dev/js/pull/1812) [`c238fde8`](https://github.com/thirdweb-dev/js/commit/c238fde8777fd14b39837117e2d3fda1dd301029) Thanks [@adam-maj](https://github.com/adam-maj)! - Update to use uuidv4 for default jti
- Updated dependencies [[`5ffbcfc3`](https://github.com/thirdweb-dev/js/commit/5ffbcfc302f74167768b196d93a328f979344036), [`d27a3dee`](https://github.com/thirdweb-dev/js/commit/d27a3dee8398d5707d2d1343c428abf8e03f67e3), [`ff996646`](https://github.com/thirdweb-dev/js/commit/ff996646b228d4d095eea04b05004dd26fc7e522), [`aa9f48d1`](https://github.com/thirdweb-dev/js/commit/aa9f48d1361194fc81146da530c95a3409bd0799), [`fd7a9f09`](https://github.com/thirdweb-dev/js/commit/fd7a9f09989e39b02a93d9dfd01cc7378e6ead53), [`2307f11a`](https://github.com/thirdweb-dev/js/commit/2307f11ab311aa4a775edd23e777d10f8015ce86), [`64138642`](https://github.com/thirdweb-dev/js/commit/64138642e84d8b56b254762eca613d443cca292b)]:
- @thirdweb-dev/wallets@2.0.8
## 4.0.7
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.0.7
## 4.0.6
### Patch Changes
+7
View File
@@ -0,0 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-fastify.cjs.js",
"module": "dist/thirdweb-dev-auth-fastify.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-fastify.esm.js": "./dist/thirdweb-dev-auth-fastify.browser.esm.js"
}
}
+21 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.0.6",
"version": "4.1.21",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
@@ -35,6 +35,13 @@
},
"default": "./express/dist/thirdweb-dev-auth-express.cjs.js"
},
"./fastify": {
"module": {
"browser": "./fastify/dist/thirdweb-dev-auth-fastify.browser.esm.js",
"default": "./fastify/dist/thirdweb-dev-auth-fastify.esm.js"
},
"default": "./fastify/dist/thirdweb-dev-auth-fastify.cjs.js"
},
"./next-auth": {
"module": {
"browser": "./next-auth/dist/thirdweb-dev-auth-next-auth.browser.esm.js",
@@ -51,7 +58,7 @@
"scripts": {
"build": "preconstruct build",
"format": "prettier --write 'src/**/*'",
"lint": "eslint src/",
"lint": "eslint src/ && bunx publint --strict --level warning",
"fix": "eslint src/ --fix",
"clean": "rm -rf dist/ && rm -rf node_modules/",
"test": "mocha --config './test/.mocharc.json' --timeout 30000 --parallel './test/**/*.test.ts'",
@@ -63,6 +70,7 @@
"express/index.ts",
"next/index.ts",
"next-auth/index.ts",
"fastify/index.ts",
"evm/index.ts"
],
"exports": {
@@ -101,6 +109,7 @@
"eslint-plugin-tsdoc": "^0.2.16",
"ethers": "^5.7.2",
"express": "^4.18.1",
"fastify": "^4.24.2",
"mocha": "^10.2.0",
"next": "^12.3.4",
"next-auth": "^4.22.3",
@@ -111,7 +120,8 @@
"cookie-parser": "^1.4.6",
"ethers": "^5",
"express": "^4",
"next": "^12 || ^13",
"fastify": "^4.24.2",
"next": "^12 || ^13 || ^14",
"next-auth": "^4"
},
"peerDependenciesMeta": {
@@ -124,6 +134,9 @@
"express": {
"optional": true
},
"fastify": {
"optional": true
},
"next": {
"optional": true
},
@@ -132,9 +145,14 @@
}
},
"dependencies": {
"@fastify/cookie": "^9.1.0",
"@thirdweb-dev/wallets": "workspace:*",
"cookie": "^0.5.0",
"fastify-type-provider-zod": "^1.1.9",
"uuid": "^9.0.1",
"zod": "^3.22.3"
},
"engines": {
"node": ">=18"
}
}
+4 -1
View File
@@ -38,7 +38,10 @@ function base64decode(data: string): string {
/**
* Build JWT token based on the authentication payload
*/
async function buildJWT({ wallet, payload }: BuildJwtParams): Promise<string> {
export async function buildJWT({
wallet,
payload,
}: BuildJwtParams): Promise<string> {
const payloadData = AuthenticationPayloadDataSchema.parse(payload);
const message = JSON.stringify(payloadData);
+1
View File
@@ -3,6 +3,7 @@ export { ThirdwebAuth } from "./auth";
// Export individual auth functions
export {
buildJWT,
generateJWT,
parseJWT,
refreshJWT,
@@ -9,7 +9,7 @@ export const AuthenticationPayloadDataSchema = z.object({
exp: RawDateSchema,
nbf: RawDateSchema,
iat: RawDateSchema,
jti: z.string().default(uuidv4()),
jti: z.string().default(() => uuidv4()),
ctx: JsonSchema.optional(),
});
+1 -1
View File
@@ -44,7 +44,7 @@ export const LoginPayloadDataSchema = z.object({
uri: z.string().optional(),
version: z.string().default("1"),
chain_id: z.string().optional(),
nonce: z.string().default(uuidv4()),
nonce: z.string().default(() => uuidv4()),
issued_at: z
.date()
.default(new Date())
+1 -1
View File
@@ -2,7 +2,7 @@ import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { Json } from "../../core/schema";
import { Json } from "../../core";
import { ThirdwebAuthContext, ThirdwebAuthUser } from "../types";
import { Request } from "express";
+8 -4
View File
@@ -2,7 +2,7 @@ import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { GenerateOptions } from "../../core";
import { GenerateOptionsWithOptionalDomain } from "../../core";
import { LoginPayloadBodySchema, ThirdwebAuthContext } from "../types";
import { serialize } from "cookie";
import { Request, Response } from "express";
@@ -41,7 +41,7 @@ export default async function handler(
? new Date(Date.now() + 1000 * ctx.authOptions.tokenDurationInSeconds)
: undefined;
const generateOptions: GenerateOptions = {
const generateOptions: GenerateOptionsWithOptionalDomain = {
verifyOptions: {
statement: ctx.authOptions?.statement,
uri: ctx.authOptions?.uri,
@@ -68,6 +68,10 @@ export default async function handler(
}
}
if (ctx.callbacks?.onToken) {
await ctx.callbacks.onToken(token, req);
}
const {
payload: { exp },
} = ctx.auth.parseToken(token);
@@ -84,7 +88,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
},
),
serialize(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, payload.payload.address, {
@@ -93,7 +97,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
+1 -1
View File
@@ -37,7 +37,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(Date.now() + 5 * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
);
@@ -55,7 +55,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: cookieExpiration,
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
+2 -2
View File
@@ -53,7 +53,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
},
),
serialize(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, user.address, {
@@ -62,7 +62,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
}
+10 -6
View File
@@ -52,17 +52,21 @@ export type ThirdwebAuthConfig<
domain?: string;
path?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
};
callbacks?: {
onLogin?:
| ((address: string, req?: Request) => void | TSession)
| ((address: string, req?: Request) => Promise<void | TSession>);
| ((address: string, req: Request) => void | TSession)
| ((address: string, req: Request) => Promise<void | TSession>);
onToken?:
| ((token: string, req: Request) => void)
| ((token: string, req: Request) => Promise<void>);
onUser?:
| ((user: User<TSession>, req?: Request) => void | TData)
| ((user: User<TSession>, req?: Request) => Promise<void | TData>);
| ((user: User<TSession>, req: Request) => void | TData)
| ((user: User<TSession>, req: Request) => Promise<void | TData>);
onLogout?:
| ((user: User, req?: Request) => void)
| ((user: User, req?: Request) => Promise<void>);
| ((user: User, req: Request) => void)
| ((user: User, req: Request) => Promise<void>);
};
};
+93
View File
@@ -0,0 +1,93 @@
import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { Json } from "../../core";
import { ThirdwebAuthContext, ThirdwebAuthUser } from "../types";
import { FastifyRequest } from "fastify";
export function getCookie(
req: FastifyRequest,
cookie: string,
): string | undefined {
return req.cookies[cookie];
}
export function getActiveCookie(req: FastifyRequest): string | undefined {
if (!req.cookies) {
return undefined;
}
const activeAccount = getCookie(req, THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE);
if (activeAccount) {
return `${THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX}_${activeAccount}`;
}
// If active account is not present, then use the old default
return THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX;
}
/**
* @internal
* @param req
* @returns
*/
export function getToken(req: FastifyRequest): string | undefined {
if (req.headers.authorization) {
const authorizationHeader = req.headers.authorization.split(" ");
if (authorizationHeader?.length === 2) {
return authorizationHeader[1];
}
}
if (!req.cookies) {
return undefined;
}
const activeCookie = getActiveCookie(req);
if (!activeCookie) {
return undefined;
}
return getCookie(req, activeCookie);
}
export async function getUser<
TData extends Json = Json,
TSession extends Json = Json,
>(
req: FastifyRequest,
ctx: ThirdwebAuthContext<TData, TSession>,
): Promise<ThirdwebAuthUser<TData, TSession> | null> {
const token = getToken(req);
if (!token) {
console.error("Error: No auth token found");
return null;
}
let authenticatedUser: ThirdwebAuthUser<TData, TSession>;
try {
authenticatedUser = await ctx.auth.authenticate<TSession>(token, {
validateTokenId: async (tokenId: string) => {
if (ctx.authOptions?.validateTokenId) {
await ctx.authOptions?.validateTokenId(tokenId);
}
},
});
} catch (err) {
console.error(`Authenticate Error: ${(err as Error)?.message}`);
return null;
}
if (!ctx.callbacks?.onUser) {
return authenticatedUser;
}
const data = await ctx.callbacks.onUser(authenticatedUser, req);
if (!data) {
return authenticatedUser;
}
return { ...authenticatedUser, data: data };
}
+81
View File
@@ -0,0 +1,81 @@
import { FastifyInstance, FastifyPluginOptions, FastifyRequest } from "fastify";
import { Json, ThirdwebAuth as ThirdwebAuthSDK } from "../core";
import fastifyCookie, { FastifyCookie } from "@fastify/cookie";
import { payloadHandler } from "./routes/payload";
import { loginHandler } from "./routes/login";
import { userHandler } from "./routes/user";
import { logoutHandler } from "./routes/logout";
import { switchAccountHandler } from "./routes/switch-account";
import {
ZodTypeProvider,
serializerCompiler,
validatorCompiler,
} from "fastify-type-provider-zod";
import { getUser } from "./helpers/user";
import {
ThirdwebAuthConfig,
ThirdwebAuthContext,
ThirdwebAuthUser,
} from "./types";
export * from "./types";
export { getToken } from "./helpers/user";
type ThirdwebAuthReturnType<
TData extends Json = Json,
TSession extends Json = Json,
> = {
authRouter: (
fastify: FastifyInstance,
opts: FastifyPluginOptions,
done: (err?: Error | undefined) => void,
) => void;
authMiddleware: FastifyCookie;
getUser: (
req: FastifyRequest,
) => Promise<ThirdwebAuthUser<TData, TSession> | null>;
};
export function ThirdwebAuth<
TData extends Json = Json,
TSession extends Json = Json,
>(
cfg: ThirdwebAuthConfig<TData, TSession>,
): ThirdwebAuthReturnType<TData, TSession> {
const ctx = {
...cfg,
auth: new ThirdwebAuthSDK(cfg.wallet, cfg.domain),
};
const authRouter = async (
fastify: FastifyInstance,
_opts: FastifyPluginOptions,
done: (err?: Error | undefined) => void,
) => {
// Setup plugin to use zod as a type provider
fastify.setValidatorCompiler(validatorCompiler);
fastify.setSerializerCompiler(serializerCompiler);
const plugin = fastify.withTypeProvider<ZodTypeProvider>();
// Register the fastify cookie middleware with this plugin
await plugin.register(fastifyCookie);
// Register individual auth endpoints
payloadHandler(plugin, ctx as ThirdwebAuthContext);
loginHandler(plugin, ctx as ThirdwebAuthContext);
logoutHandler(plugin, ctx as ThirdwebAuthContext);
userHandler(plugin, ctx as ThirdwebAuthContext);
switchAccountHandler(plugin, ctx as ThirdwebAuthContext);
// Mark plugin creation as complete
done();
};
return {
authRouter,
authMiddleware: fastifyCookie,
getUser: (req: FastifyRequest) => {
return getUser<TData, TSession>(req, ctx);
},
};
}
+113
View File
@@ -0,0 +1,113 @@
import {
FastifyInstanceWithZod,
LoginPayloadBodySchema,
ThirdwebAuthContext,
} from "../types";
import { GenerateOptionsWithOptionalDomain } from "../../core";
import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { z } from "zod";
export const loginHandler = (
fastify: FastifyInstanceWithZod,
ctx: ThirdwebAuthContext,
) => {
fastify.route<{
Body: z.infer<typeof LoginPayloadBodySchema>;
}>({
method: "POST",
url: "/login",
schema: {
body: LoginPayloadBodySchema,
response: {
200: z.object({
token: z.string(),
}),
},
},
handler: async (req, res) => {
const validateNonce = async (nonce: string) => {
if (ctx.authOptions?.validateNonce) {
await ctx.authOptions?.validateNonce(nonce);
}
};
const getSession = async (address: string) => {
if (ctx.callbacks?.onLogin) {
return ctx.callbacks.onLogin(address, req);
}
};
const expirationTime = ctx.authOptions?.tokenDurationInSeconds
? new Date(Date.now() + 1000 * ctx.authOptions.tokenDurationInSeconds)
: undefined;
const generateOptions: GenerateOptionsWithOptionalDomain = {
verifyOptions: {
statement: ctx.authOptions?.statement,
uri: ctx.authOptions?.uri,
version: ctx.authOptions?.version,
chainId: ctx.authOptions?.chainId,
validateNonce,
resources: ctx.authOptions?.resources,
},
expirationTime,
session: getSession,
};
let token: string;
try {
// Generate an access token with the SDK using the signed payload
token = await ctx.auth.generate(req.body.payload, generateOptions);
} catch (err: any) {
if (err.message) {
return res.status(400).send({ error: err.message });
} else if (typeof err === "string") {
return res.status(400).send({ error: err });
} else {
return res.status(400).send({ error: "Invalid login payload" });
}
}
if (ctx.callbacks?.onToken) {
await ctx.callbacks.onToken(token, req);
}
const {
payload: { exp },
} = ctx.auth.parseToken(token);
// Securely set httpOnly cookie on request to prevent XSS on frontend
// And set path to / to enable thirdweb_auth_token usage on all endpoints
res.setCookie(
`${THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX}_${req.body.payload.payload.address}`,
token,
{
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
},
);
res.setCookie(
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
req.body.payload.payload.address,
{
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
},
);
// Send token in body and as cookie for frontend and backend use cases
return res.status(200).send({ token });
},
});
};
@@ -0,0 +1,52 @@
import { z } from "zod";
import { getActiveCookie, getUser } from "../helpers/user";
import {
ErrorResponseSchema,
FastifyInstanceWithZod,
ThirdwebAuthContext,
} from "../types";
export const logoutHandler = (
fastify: FastifyInstanceWithZod,
ctx: ThirdwebAuthContext,
) => {
fastify.route({
method: "POST",
url: "/logout",
schema: {
response: {
200: z.object({
message: z.string(),
}),
400: ErrorResponseSchema,
},
},
handler: async (req, res) => {
const activeCookie = getActiveCookie(req);
if (!activeCookie) {
return res.status(400).send({
error: "No logged in user to logout.",
});
}
if (ctx.callbacks?.onLogout) {
const user = await getUser(req, ctx);
if (user) {
await ctx.callbacks.onLogout(user, req);
}
}
// Set the access token to 'none' and expire in 5 seconds
res.setCookie(activeCookie, "", {
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(Date.now() + 5 * 1000),
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
});
return res.status(200).send({ message: "Successfully logged out" });
},
});
};
@@ -0,0 +1,41 @@
import {
FastifyInstanceWithZod,
PayloadBodySchema,
ThirdwebAuthContext,
} from "../types";
import { z } from "zod";
export const payloadHandler = (
fastify: FastifyInstanceWithZod,
ctx: ThirdwebAuthContext,
) => {
fastify.route<{
Body: z.infer<typeof PayloadBodySchema>;
}>({
method: "POST",
url: "/payload",
schema: {
body: PayloadBodySchema,
response: {
200: z.any(),
},
},
handler: async (req, res) => {
const payload = await ctx.auth.payload({
address: req.body.address,
statement: ctx.authOptions?.statement,
uri: ctx.authOptions?.uri,
version: ctx.authOptions?.version,
chainId: req.body.chainId || ctx.authOptions?.chainId,
resources: ctx.authOptions?.resources,
expirationTime: ctx.authOptions?.loginPayloadDurationInSeconds
? new Date(
Date.now() + 1000 * ctx.authOptions.loginPayloadDurationInSeconds,
)
: undefined,
});
return res.status(200).send({ payload });
},
});
};
@@ -0,0 +1,68 @@
import {
ActiveBodySchema,
ErrorResponseSchema,
FastifyInstanceWithZod,
ThirdwebAuthContext,
} from "../types";
import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { getCookie } from "../helpers/user";
import { z } from "zod";
export const switchAccountHandler = (
fastify: FastifyInstanceWithZod,
ctx: ThirdwebAuthContext,
) => {
fastify.route<{
Body: z.infer<typeof ActiveBodySchema>;
}>({
method: "POST",
url: "/switch-account",
schema: {
body: ActiveBodySchema,
response: {
200: z.any(),
400: ErrorResponseSchema,
},
},
handler: async (req, res) => {
let cookieExpiration: Date;
const cookie = getCookie(
req,
`${THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX}_${req.body.address}`,
);
if (cookie) {
// If the new account is already logged in, get the expiration time from the cookie
const {
payload: { exp },
} = ctx.auth.parseToken(cookie);
cookieExpiration = new Date(exp * 1000);
} else if (ctx.authOptions?.tokenDurationInSeconds) {
// Otherwise, if we have a token duration in seconds, set it to that
cookieExpiration = new Date(
Date.now() + 1000 * ctx.authOptions.tokenDurationInSeconds,
);
} else {
// Otherwise, just default to 24 hours
cookieExpiration = new Date(
Date.now() + 1000 * THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS,
);
}
res.setCookie(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, req.body.address, {
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: cookieExpiration,
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
});
return res.status(200).send();
},
});
};
+80
View File
@@ -0,0 +1,80 @@
import { getToken, getUser } from "../helpers/user";
import { FastifyInstanceWithZod, ThirdwebAuthContext } from "../types";
import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_DEFAULT_REFRESH_INTERVAL_IN_SECONDS,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { z } from "zod";
export const userHandler = (
fastify: FastifyInstanceWithZod,
ctx: ThirdwebAuthContext,
) => {
fastify.route({
method: "GET",
url: "/user",
schema: {
response: {
200: z.any(),
},
},
handler: async (req, res) => {
const user = await getUser(req, ctx);
// Importantly, make sure the user was actually logged in before refreshing
if (user) {
const token = getToken(req);
if (token) {
const payload = ctx.auth.parseToken(token);
const refreshDate = ctx.authOptions?.refreshIntervalInSeconds
? new Date(
payload.payload.iat * 1000 +
ctx.authOptions.refreshIntervalInSeconds * 1000,
)
: new Date(
payload.payload.iat * 1000 +
THIRDWEB_AUTH_DEFAULT_REFRESH_INTERVAL_IN_SECONDS * 1000,
);
if (new Date() > refreshDate) {
const expirationTime = ctx.authOptions?.tokenDurationInSeconds
? new Date(
Date.now() + 1000 * ctx.authOptions.tokenDurationInSeconds,
)
: undefined;
const refreshedToken = await ctx.auth.refresh(
token,
expirationTime,
);
const refreshedPayload = ctx.auth.parseToken(refreshedToken);
res.setCookie(
`${THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX}_${user.address}`,
refreshedToken,
{
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
},
);
res.setCookie(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, user.address, {
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: ctx.cookieOptions?.secure || true,
});
}
}
}
return res.status(200).send(user);
},
});
};
+94
View File
@@ -0,0 +1,94 @@
import { GenericAuthWallet } from "@thirdweb-dev/wallets";
import { Json, LoginPayloadOutputSchema, ThirdwebAuth, User } from "../../core";
import {
FastifyBaseLogger,
FastifyInstance,
FastifyRequest,
RawServerDefault,
} from "fastify";
import { z } from "zod";
import { IncomingMessage, ServerResponse } from "http";
import { ZodTypeProvider } from "fastify-type-provider-zod";
export const PayloadBodySchema = z.object({
address: z.string(),
chainId: z.string().optional(),
});
export const ActiveBodySchema = z.object({
address: z.string(),
});
export const LoginPayloadBodySchema = z.object({
payload: LoginPayloadOutputSchema,
});
export const ErrorResponseSchema = z.object({
error: z.string(),
});
export type ThirdwebAuthUser<
TData extends Json = Json,
TSession extends Json = Json,
> = User<TSession> & {
data?: TData;
};
export type ThirdwebAuthConfig<
TData extends Json = Json,
TSession extends Json = Json,
> = {
domain: string;
wallet: GenericAuthWallet;
authOptions?: {
statement?: string;
uri?: string;
version?: string;
chainId?: string;
resources?: string[];
validateNonce?:
| ((nonce: string) => void)
| ((nonce: string) => Promise<void>);
validateTokenId?:
| ((tokenId: string) => void)
| ((tokenId: string) => Promise<void>);
loginPayloadDurationInSeconds?: number;
tokenDurationInSeconds?: number;
refreshIntervalInSeconds?: number;
};
cookieOptions?: {
domain?: string;
path?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
};
callbacks?: {
onLogin?:
| ((address: string, req: FastifyRequest) => void | TSession)
| ((address: string, req: FastifyRequest) => Promise<void | TSession>);
onToken?:
| ((token: string, req: FastifyRequest) => void)
| ((token: string, req: FastifyRequest) => Promise<void>);
onUser?:
| ((user: User<TSession>, req: FastifyRequest) => void | TData)
| ((user: User<TSession>, req: FastifyRequest) => Promise<void | TData>);
onLogout?:
| ((user: User, req: FastifyRequest) => void)
| ((user: User, req: FastifyRequest) => Promise<void>);
};
};
export type ThirdwebAuthContext<
TData extends Json = Json,
TSession extends Json = Json,
> = Omit<Omit<ThirdwebAuthConfig<TData, TSession>, "wallet">, "domain"> & {
auth: ThirdwebAuth;
};
export type FastifyInstanceWithZod = FastifyInstance<
RawServerDefault,
IncomingMessage,
ServerResponse<IncomingMessage>,
FastifyBaseLogger,
ZodTypeProvider
>;
+1 -1
View File
@@ -2,7 +2,7 @@ import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { Json } from "../../core/schema";
import { Json } from "../../core";
import { ThirdwebAuthContext, ThirdwebAuthUser } from "../types";
import { GetServerSidePropsContext, NextApiRequest } from "next";
import { NextRequest } from "next/server";
+8 -4
View File
@@ -2,7 +2,7 @@ import {
THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE,
THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX,
} from "../../constants";
import { GenerateOptions } from "../../core";
import { GenerateOptionsWithOptionalDomain } from "../../core";
import { LoginPayloadBodySchema, ThirdwebAuthContext } from "../types";
import { serialize } from "cookie";
import { NextApiRequest, NextApiResponse } from "next";
@@ -41,7 +41,7 @@ export default async function handler(
? new Date(Date.now() + 1000 * ctx.authOptions.tokenDurationInSeconds)
: undefined;
const generateOptions: GenerateOptions = {
const generateOptions: GenerateOptionsWithOptionalDomain = {
verifyOptions: {
statement: ctx.authOptions?.statement,
uri: ctx.authOptions?.uri,
@@ -68,6 +68,10 @@ export default async function handler(
}
}
if (ctx.callbacks?.onToken) {
await ctx.callbacks.onToken(token, req);
}
const {
payload: { exp },
} = ctx.auth.parseToken(token);
@@ -84,7 +88,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
},
),
serialize(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, payload.payload.address, {
@@ -93,7 +97,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
+1 -1
View File
@@ -37,7 +37,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(Date.now() + 5 * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
);
@@ -55,7 +55,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: cookieExpiration,
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
+2 -2
View File
@@ -53,7 +53,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
},
),
serialize(THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE, user.address, {
@@ -62,7 +62,7 @@ export default async function handler(
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(refreshedPayload.payload.exp * 1000),
httpOnly: true,
secure: true,
secure: ctx.cookieOptions?.secure || true,
}),
]);
}
+10 -6
View File
@@ -62,23 +62,27 @@ export type ThirdwebAuthConfig<
domain?: string;
path?: string;
sameSite?: "lax" | "strict" | "none";
secure?: boolean;
};
callbacks?: {
onLogin?:
| ((address: string, req?: NextApiRequest) => void | TSession)
| ((address: string, req?: NextApiRequest) => Promise<void | TSession>);
| ((address: string, req: NextApiRequest) => void | TSession)
| ((address: string, req: NextApiRequest) => Promise<void | TSession>);
onToken?:
| ((token: string, req: NextApiRequest) => void)
| ((token: string, req: NextApiRequest) => Promise<void>);
onUser?:
| (<TRequestType extends RequestType = RequestType>(
user: User<TSession>,
req?: TRequestType,
req: TRequestType,
) => void | TData)
| (<TRequestType extends RequestType = RequestType>(
user: User<TSession>,
req?: TRequestType,
req: TRequestType,
) => Promise<void | TData>);
onLogout?:
| ((user: User, req?: NextApiRequest) => void)
| ((user: User, req?: NextApiRequest) => Promise<void>);
| ((user: User, req: NextApiRequest) => void)
| ((user: User, req: NextApiRequest) => Promise<void>);
};
};
+68
View File
@@ -1,5 +1,73 @@
# @thirdweb-dev/chains
## 0.1.62
### Patch Changes
- [#2084](https://github.com/thirdweb-dev/js/pull/2084) [`c410a1c1`](https://github.com/thirdweb-dev/js/commit/c410a1c18a704d118555215db9ba7d92c3b24d8c) Thanks [@MananTank](https://github.com/MananTank)! - JSDoc comments Improvements
## 0.1.61
### Patch Changes
- [#2066](https://github.com/thirdweb-dev/js/pull/2066) [`d2001ca4`](https://github.com/thirdweb-dev/js/commit/d2001ca464aa699ac821c97eb37de7409ba865f3) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Updatechains
## 0.1.60
### Patch Changes
- [#2019](https://github.com/thirdweb-dev/js/pull/2019) [`b8332500`](https://github.com/thirdweb-dev/js/commit/b833250053320c8608109053f5cffe2dc96ce70a) Thanks [@jnsdls](https://github.com/jnsdls)! - add & update chains
- [#2024](https://github.com/thirdweb-dev/js/pull/2024) [`28fc3736`](https://github.com/thirdweb-dev/js/commit/28fc3736aa30c89690084aa2c62556c183796352) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Base Sepolia to defaultChains
- [#2023](https://github.com/thirdweb-dev/js/pull/2023) [`06805217`](https://github.com/thirdweb-dev/js/commit/06805217c26de203a57c21246acba22def8a78fa) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Eth Sepolia to defaultChains
## 0.1.59
### Patch Changes
- [#1967](https://github.com/thirdweb-dev/js/pull/1967) [`47b0ed51`](https://github.com/thirdweb-dev/js/commit/47b0ed5171be5608ae23c19481a1b04948443c6a) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Arbitrum Sepolia to defaultChains
- [#1990](https://github.com/thirdweb-dev/js/pull/1990) [`d4ce855e`](https://github.com/thirdweb-dev/js/commit/d4ce855e5f5e6c4206a3efa250e92e690ae87281) Thanks [@jnsdls](https://github.com/jnsdls)! - deprecate `allChains` `getChainById` and `getChainBySlug`
all of these would (necessarily) pull in every single chain in the package (>600kb)
instead these can be replaced with their async variants:
- `allChains` -> `await fetchChains()`
- `getChainById(chainId)` -> `await getChainByIdAsync(chainId)`
- `getChainBySlug(chainSlug)` -> `await getChainBySlugAsync(chainSlug)`
these async functions will return the same data as their sync counterparts, but without having to pull in every single chain at build-time.
## 0.1.58
### Patch Changes
- [#1911](https://github.com/thirdweb-dev/js/pull/1911) [`0dcb15b7`](https://github.com/thirdweb-dev/js/commit/0dcb15b7e647acd038b0ec8b1a2b200808aae00e) Thanks [@iketw](https://github.com/iketw)! - Syncs Chains
## 0.1.57
### Patch Changes
- [#1865](https://github.com/thirdweb-dev/js/pull/1865) [`a75e4cc8`](https://github.com/thirdweb-dev/js/commit/a75e4cc80a5a36bf6baeeb40e8ae3be485d35618) Thanks [@jnsdls](https://github.com/jnsdls)! - sync chains
## 0.1.56
### Patch Changes
- [#1843](https://github.com/thirdweb-dev/js/pull/1843) [`6028a881`](https://github.com/thirdweb-dev/js/commit/6028a88111d9071155370c7aeaf22d4ee0c3ec93) Thanks [@jnsdls](https://github.com/jnsdls)! - sync chains
- [#1855](https://github.com/thirdweb-dev/js/pull/1855) [`b6f72c56`](https://github.com/thirdweb-dev/js/commit/b6f72c566c9cec5c2d0a0ebe709d6177b2af68e4) Thanks [@jnsdls](https://github.com/jnsdls)! - require minimum node version: `>=18`
- [#1805](https://github.com/thirdweb-dev/js/pull/1805) [`cc651135`](https://github.com/thirdweb-dev/js/commit/cc6511351fea568246ddf49f687a5616d484d2a4) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Spicy Chain deployments
## 0.1.55
### Patch Changes
- [#1783](https://github.com/thirdweb-dev/js/pull/1783) [`137f46a5`](https://github.com/thirdweb-dev/js/commit/137f46a5470d2b5f9d7f9eda9b2d839a53ddeb64) Thanks [@jnsdls](https://github.com/jnsdls)! - sync chains
## 0.1.54
### Patch Changes
+30 -4
View File
@@ -2,6 +2,9 @@ import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 1,
"ens": {
"registry": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
},
"explorers": [
{
"name": "etherscan",
@@ -11,16 +14,33 @@ export default {
{
"name": "blockscout",
"url": "https://eth.blockscout.com",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
},
{
"name": "dexguru",
"url": "https://ethereum.dex.guru",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne",
"width": 83,
"height": 82,
"format": "svg"
}
}
],
"faucets": [],
"features": [
{
"name": "EIP1559"
"name": "EIP155"
},
{
"name": "EIP155"
"name": "EIP1559"
}
],
"icon": {
@@ -36,9 +56,11 @@ export default {
"symbol": "ETH",
"decimals": 18
},
"networkId": 1,
"redFlags": [],
"rpc": [
"https://ethereum.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.infura.io/v3/${INFURA_API_KEY}",
"wss://mainnet.infura.io/ws/v3/${INFURA_API_KEY}",
"https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
@@ -47,9 +69,13 @@ export default {
"https://ethereum.publicnode.com",
"wss://ethereum.publicnode.com",
"https://mainnet.gateway.tenderly.co",
"wss://mainnet.gateway.tenderly.co"
"wss://mainnet.gateway.tenderly.co",
"https://rpc.blocknative.com/boost",
"https://rpc.flashbots.net/fast",
"https://rpc.mevblocker.io/fullprivacy"
],
"shortName": "eth",
"slip44": 60,
"slug": "ethereum",
"testnet": false
} as const satisfies Chain;
+20 -1
View File
@@ -11,7 +11,24 @@ export default {
{
"name": "blockscout",
"url": "https://optimism.blockscout.com",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
},
{
"name": "dexguru",
"url": "https://optimism.dex.guru",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne",
"width": 83,
"height": 82,
"format": "svg"
}
}
],
"faucets": [],
@@ -29,9 +46,11 @@ export default {
"symbol": "ETH",
"decimals": 18
},
"networkId": 10,
"redFlags": [],
"rpc": [
"https://optimism.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://optimism-mainnet.infura.io/v3/${INFURA_API_KEY}",
"https://opt-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
"https://mainnet.optimism.io",
+23 -5
View File
@@ -3,15 +3,32 @@ export default {
"chain": "GNO",
"chainId": 100,
"explorers": [
{
"name": "blockscout",
"url": "https://gnosis.blockscout.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
},
{
"name": "gnosisscan",
"url": "https://gnosisscan.io",
"standard": "EIP3091"
},
{
"name": "blockscout",
"url": "https://gnosis.blockscout.com",
"standard": "EIP3091"
"name": "dexguru",
"url": "https://gnosis.dex.guru",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne",
"width": 83,
"height": 82,
"format": "svg"
}
}
],
"faucets": [
@@ -19,7 +36,6 @@ export default {
"https://stakely.io/faucet/gnosis-chain-xdai",
"https://faucet.prussia.dev/xdai"
],
"features": [],
"icon": {
"url": "ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm",
"width": 1800,
@@ -33,9 +49,10 @@ export default {
"symbol": "XDAI",
"decimals": 18
},
"redFlags": [],
"networkId": 100,
"rpc": [
"https://gnosis.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.gnosischain.com",
"https://rpc.gnosis.gateway.fm",
"https://rpc.ankr.com/gnosis",
@@ -50,6 +67,7 @@ export default {
"wss://gnosis.publicnode.com"
],
"shortName": "gno",
"slip44": 700,
"slug": "gnosis",
"testnet": false
} as const satisfies Chain;
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://gton.capital",
"name": "GTON Mainnet",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "GCD",
"decimals": 18
},
"redFlags": [],
"networkId": 1000,
"parent": {
"type": "L2",
"chain": "eip155-1"
},
"rpc": [
"https://gton.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.gton.network/"
],
"shortName": "gton",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 10000,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://smartbch.org/",
"name": "Smart Bitcoin Cash",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "BCH",
"decimals": 18
},
"redFlags": [],
"networkId": 10000,
"rpc": [
"https://smart-bitcoin-cash.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://smartbch.greyh.at",
"https://rpc-mainnet.smartbch.org",
"https://smartbch.fountainhead.cash/mainnet",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 100000,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Root",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100000,
"rpc": [
"https://quarkchain-root.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://jrpc.mainnet.quarkchain.io:38391"
],
"shortName": "qkc-r",
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 0",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100001,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-0.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s0-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39000"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 1",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100002,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100002.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s1-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39001"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 2",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100003,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100003.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s2-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39002"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 3",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100004,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-3.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100004.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s3-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39003"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 4",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100005,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-4.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100005.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s4-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39004"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 5",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100006,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-5.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100006.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s5-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39005"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 6",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100007,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-6.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100007.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s6-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39006"
],
+6 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.quarkchain.io",
"name": "QuarkChain Mainnet Shard 7",
"nativeCurrency": {
@@ -18,9 +17,14 @@ export default {
"symbol": "QKC",
"decimals": 18
},
"redFlags": [],
"networkId": 100008,
"parent": {
"type": "shard",
"chain": "eip155-100000"
},
"rpc": [
"https://quarkchain-shard-7.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://100008.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-s7-ethapi.quarkchain.io",
"http://eth-jrpc.mainnet.quarkchain.io:39007"
],
+1 -2
View File
@@ -15,7 +15,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://vechain.org",
"name": "VeChain",
"nativeCurrency": {
@@ -23,7 +22,7 @@ export default {
"symbol": "VET",
"decimals": 18
},
"redFlags": [],
"networkId": 100009,
"rpc": [],
"shortName": "vechain",
"slug": "vechain",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 10001,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "http://smartbch.org/",
"name": "Smart Bitcoin Cash Testnet",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "BCHT",
"decimals": 18
},
"redFlags": [],
"networkId": 10001,
"rpc": [
"https://smart-bitcoin-cash-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.smartbch.org",
"https://smartbch.devops.cash/testnet"
],
+1 -2
View File
@@ -12,7 +12,6 @@ export default {
"faucets": [
"https://faucet.vecha.in"
],
"features": [],
"infoURL": "https://vechain.org",
"name": "VeChain Testnet",
"nativeCurrency": {
@@ -20,7 +19,7 @@ export default {
"symbol": "VET",
"decimals": 18
},
"redFlags": [],
"networkId": 100010,
"rpc": [],
"shortName": "vechain-testnet",
"slug": "vechain-testnet",
+9 -3
View File
@@ -2,11 +2,16 @@ import type { Chain } from "../src/types";
export default {
"chain": "KLAY",
"chainId": 1001,
"explorers": [],
"explorers": [
{
"name": "klaytnscope",
"url": "https://scope.klaytn.com",
"standard": "EIP3091"
}
],
"faucets": [
"https://baobab.wallet.klaytn.com/access?next=faucet"
],
"features": [],
"infoURL": "https://www.klaytn.com/",
"name": "Klaytn Testnet Baobab",
"nativeCurrency": {
@@ -14,9 +19,10 @@ export default {
"symbol": "KLAY",
"decimals": 18
},
"redFlags": [],
"networkId": 1001,
"rpc": [
"https://klaytn-testnet-baobab.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.baobab.klaytn.net:8651"
],
"shortName": "Baobab",
+26
View File
@@ -0,0 +1,26 @@
import type { Chain } from "../src/types";
export default {
"chain": "CHI1",
"chainId": 100100,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm",
"width": 1800,
"height": 1800,
"format": "png"
},
"infoURL": "https://docs.gnosischain.com",
"name": "Deprecated CHI",
"nativeCurrency": {
"name": "Chiado xDAI",
"symbol": "xDAI",
"decimals": 18
},
"networkId": 100100,
"rpc": [],
"shortName": "chi1",
"slug": "deprecated-chi",
"status": "deprecated",
"testnet": false
} as const satisfies Chain;
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmPtiJGaApbW3ATZhPW3pKJpw3iGVrRGsZLWhrDKF9ZK18",
"width": 1024,
@@ -23,9 +22,10 @@ export default {
"symbol": "GT",
"decimals": 18
},
"redFlags": [],
"networkId": 10024,
"rpc": [
"https://gon-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10024.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://node1.testnet.gaiaopen.network",
"https://node1.mainnet.gon.network",
"https://node2.mainnet.gon.network",
+9 -3
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "Tectum explorer",
"url": "https://explorer.tectum.io",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYvFVprVdAGJH4iHUCXGEmy7pq8MMfxEjM64SuXutz9qx",
"width": 256,
"height": 256,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"infoURL": "https://softnote.com",
"name": "Tectum Emission Token",
"nativeCurrency": {
@@ -18,9 +23,10 @@ export default {
"symbol": "TET",
"decimals": 8
},
"redFlags": [],
"networkId": 1003,
"rpc": [
"https://tectum-emission-token.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1003.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.softnote.com/"
],
"shortName": "tet",
+11 -4
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "test-ektascan",
"url": "https://test.ektascan.io",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1",
"width": 2100,
"height": 2100,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1",
"width": 2100,
@@ -24,12 +29,14 @@ export default {
"symbol": "T-EKTA",
"decimals": 18
},
"redFlags": [],
"networkId": 1004,
"rpc": [
"https://t-ekta.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1004.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://test.ekta.io:8545"
],
"shortName": "t-ekta",
"slug": "t-ekta",
"testnet": true
"testnet": true,
"title": "EKTA Testnet T-EKTA"
} as const satisfies Chain;
+7 -3
View File
@@ -10,17 +10,21 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://plian.org/",
"name": "Plian Testnet Subchain 1",
"nativeCurrency": {
"name": "Plian Token",
"symbol": "PI",
"symbol": "TPI",
"decimals": 18
},
"redFlags": [],
"networkId": 10067275,
"parent": {
"type": "L2",
"chain": "eip155-16658437"
},
"rpc": [
"https://plian-testnet-subchain-1.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10067275.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.plian.io/child_test"
],
"shortName": "plian-testnet-l2",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1007,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://www.newtonproject.org/",
"name": "Newton Testnet",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "NEW",
"decimals": 18
},
"redFlags": [],
"networkId": 1007,
"rpc": [
"https://newton-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1007.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc1.newchain.newtonproject.org"
],
"shortName": "tnew",
+9 -3
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "eurusexplorer",
"url": "https://explorer.eurus.network",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e",
"width": 471,
"height": 471,
"format": "svg"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e",
"width": 471,
@@ -24,9 +29,10 @@ export default {
"symbol": "EUN",
"decimals": 18
},
"redFlags": [],
"networkId": 1008,
"rpc": [
"https://eurus.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1008.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.eurus.network/"
],
"shortName": "eun",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.japanopenchain.org/",
"name": "Japan Open Chain Testnet",
"nativeCurrency": {
@@ -18,9 +17,10 @@ export default {
"symbol": "JOCT",
"decimals": 18
},
"redFlags": [],
"networkId": 10081,
"rpc": [
"https://japan-open-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10081.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-1.testnet.japanopenchain.org:8545",
"https://rpc-2.testnet.japanopenchain.org:8545"
],
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 10086,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://sjis.me",
"name": "SJATSH",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "ETH",
"decimals": 18
},
"redFlags": [],
"networkId": 10086,
"rpc": [
"https://sjatsh.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10086.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://geth.free.idcfengye.com"
],
"shortName": "SJ",
+3 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 101,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://einc.io",
"name": "EtherInc",
"nativeCurrency": {
@@ -12,12 +11,14 @@ export default {
"symbol": "ETI",
"decimals": 18
},
"redFlags": [],
"networkId": 1,
"rpc": [
"https://etherinc.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://101.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.einc.io/jsonrpc/mainnet"
],
"shortName": "eti",
"slip44": 464,
"slug": "etherinc",
"testnet": false
} as const satisfies Chain;
+3 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1010,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://evrice.com",
"name": "Evrice Network",
"nativeCurrency": {
@@ -12,12 +11,14 @@ export default {
"symbol": "EVC",
"decimals": 18
},
"redFlags": [],
"networkId": 1010,
"rpc": [
"https://evrice-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1010.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://meta.evrice.com"
],
"shortName": "EVC",
"slip44": 1020,
"slug": "evrice-network",
"testnet": false
} as const satisfies Chain;
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 10101,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://www.xixoio.com/",
"name": "Blockchain Genesis Mainnet",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "GEN",
"decimals": 18
},
"redFlags": [],
"networkId": 10101,
"rpc": [
"https://blockchain-genesis.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10101.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://eu.mainnet.xixoio.com",
"https://us.mainnet.xixoio.com",
"https://asia.mainnet.xixoio.com"
+2 -2
View File
@@ -12,7 +12,6 @@ export default {
"faucets": [
"https://faucet.soverun.com"
],
"features": [],
"icon": {
"url": "ipfs://QmTYazUzgY9Nn2mCjWwFUSLy3dG6i2PvALpwCNQvx1zXyi",
"width": 1154,
@@ -26,9 +25,10 @@ export default {
"symbol": "SVRN",
"decimals": 18
},
"redFlags": [],
"networkId": 101010,
"rpc": [
"https://soverun-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://101010.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.soverun.com"
],
"shortName": "SVRNt",
+2 -2
View File
@@ -12,7 +12,6 @@ export default {
"faucets": [
"https://faucet.soverun.com"
],
"features": [],
"icon": {
"url": "ipfs://QmTYazUzgY9Nn2mCjWwFUSLy3dG6i2PvALpwCNQvx1zXyi",
"width": 1154,
@@ -26,9 +25,10 @@ export default {
"symbol": "SVRN",
"decimals": 18
},
"redFlags": [],
"networkId": 10101010,
"rpc": [
"https://soverun.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10101010.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.soverun.com"
],
"shortName": "SVRNm",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1012,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://www.newtonproject.org/",
"name": "Newton",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "NEW",
"decimals": 18
},
"redFlags": [],
"networkId": 1012,
"rpc": [
"https://newton.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1012.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://global.rpc.mainnet.newtonproject.org"
],
"shortName": "new",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 102,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo",
"width": 192,
@@ -18,9 +17,10 @@ export default {
"symbol": "W3G",
"decimals": 18
},
"redFlags": [],
"networkId": 102,
"rpc": [
"https://web3games-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://102.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc-0.web3games.org/evm",
"https://testnet-rpc-1.web3games.org/evm",
"https://testnet-rpc-2.web3games.org/evm"
+9 -3
View File
@@ -6,13 +6,18 @@ export default {
{
"name": "blockscout",
"url": "https://gnosis-chiado.blockscout.com",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
}
],
"faucets": [
"https://gnosisfaucet.com"
],
"features": [],
"icon": {
"url": "ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm",
"width": 1800,
@@ -26,9 +31,10 @@ export default {
"symbol": "XDAI",
"decimals": 18
},
"redFlags": [],
"networkId": 10200,
"rpc": [
"https://gnosis-chiado-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.chiadochain.net",
"https://rpc.chiado.gnosis.gateway.fm",
"wss://rpc.chiadochain.net/wss",
+2 -2
View File
@@ -12,7 +12,6 @@ export default {
"faucets": [
"https://faucet.maxxchain.org"
],
"features": [],
"icon": {
"url": "ipfs://QmRhQG9TZrXDdbQeTzBmjg3pqgwaD5TKVZj8k4kaz8AoZx",
"width": 1021,
@@ -26,9 +25,10 @@ export default {
"symbol": "PWR",
"decimals": 18
},
"redFlags": [],
"networkId": 10201,
"rpc": [
"https://maxxchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10201.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.maxxchain.org",
"https://rpc1.maxxchain.org",
"https://rpc2.maxxchain.org"
+1 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1022,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://clover.finance/sakura",
"name": "Sakura",
"nativeCurrency": {
@@ -12,7 +11,7 @@ export default {
"symbol": "SKU",
"decimals": 18
},
"redFlags": [],
"networkId": 1022,
"rpc": [],
"shortName": "sku",
"slug": "sakura",
+1 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1023,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://clover.finance",
"name": "Clover Testnet",
"nativeCurrency": {
@@ -12,7 +11,7 @@ export default {
"symbol": "CLV",
"decimals": 18
},
"redFlags": [],
"networkId": 1023,
"rpc": [],
"shortName": "tclv",
"slug": "clover-testnet",
+2 -2
View File
@@ -4,7 +4,6 @@ export default {
"chainId": 1024,
"explorers": [],
"faucets": [],
"features": [],
"infoURL": "https://clv.org",
"name": "CLV Parachain",
"nativeCurrency": {
@@ -12,9 +11,10 @@ export default {
"symbol": "CLV",
"decimals": 18
},
"redFlags": [],
"networkId": 1024,
"rpc": [
"https://clv-parachain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1024.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api-para.clover.finance"
],
"shortName": "clv",
+9 -3
View File
@@ -6,13 +6,18 @@ export default {
{
"name": "blockscout",
"url": "https://explorer-test.arthera.net",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
}
],
"faucets": [
"https://faucet.arthera.net"
],
"features": [],
"icon": {
"url": "ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak",
"width": 1024,
@@ -26,9 +31,10 @@ export default {
"symbol": "AA",
"decimals": 18
},
"redFlags": [],
"networkId": 10243,
"rpc": [
"https://arthera-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10243.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-test.arthera.net"
],
"shortName": "aa",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://www.0xtrade.finance/",
"name": "0XTade",
"nativeCurrency": {
@@ -18,9 +17,10 @@ export default {
"symbol": "0XT",
"decimals": 18
},
"redFlags": [],
"networkId": 10248,
"rpc": [
"https://0xtade.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10248.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://node.0xtchain.com"
],
"shortName": "0xt",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://bittorrentchain.io/",
"name": "BitTorrent Chain Testnet",
"nativeCurrency": {
@@ -18,9 +17,10 @@ export default {
"symbol": "BTT",
"decimals": 18
},
"redFlags": [],
"networkId": 1028,
"rpc": [
"https://bittorrent-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1028.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testrpc.bittorrentchain.io/"
],
"shortName": "tbtt",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmYZNTfK3byhgLsTjXP8vPubVHRz2CWsBrTJxZrQmKq6JZ",
"width": 3509,
@@ -24,9 +23,10 @@ export default {
"symbol": "WL",
"decimals": 18
},
"redFlags": [],
"networkId": 103,
"rpc": [
"https://worldland.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://103.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://seoul.worldland.foundation"
],
"shortName": "WLC",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafkreifj7n24u2dslfijfihwqvpdeigt5aj3k3sxv6s35lv75sxsfr3ojy",
"width": 460,
@@ -24,9 +23,10 @@ export default {
"symbol": "CFX",
"decimals": 18
},
"redFlags": [],
"networkId": 1030,
"rpc": [
"https://conflux-espace.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1030.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm.confluxrpc.com"
],
"shortName": "cfx",
+9 -3
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "blockscout",
"url": "https://scan.crystaleum.org",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://Qmbry1Uc6HnXmqFNXW5dFJ7To8EezCCjNr4TqqvAyzXS4h",
"width": 150,
"height": 150,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://Qmbry1Uc6HnXmqFNXW5dFJ7To8EezCCjNr4TqqvAyzXS4h",
"width": 150,
@@ -24,9 +29,10 @@ export default {
"symbol": "◈",
"decimals": 18
},
"redFlags": [],
"networkId": 1,
"rpc": [
"https://crystaleum.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://103090.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm.cryptocurrencydevs.org",
"https://rpc.crystaleum.org"
],
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://theproxy.network",
"name": "Proxy Network Testnet",
"nativeCurrency": {
@@ -18,9 +17,10 @@ export default {
"symbol": "PRX",
"decimals": 18
},
"redFlags": [],
"networkId": 1031,
"rpc": [
"https://proxy-network-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1031.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://128.199.94.183:8041"
],
"shortName": "prx",
+9 -3
View File
@@ -6,13 +6,18 @@ export default {
{
"name": "Bronos Testnet Explorer",
"url": "https://tbroscan.bronos.org",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga",
"width": 500,
"height": 500,
"format": "png"
}
}
],
"faucets": [
"https://faucet.bronos.org"
],
"features": [],
"icon": {
"url": "ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga",
"width": 500,
@@ -26,9 +31,10 @@ export default {
"symbol": "tBRO",
"decimals": 18
},
"redFlags": [],
"networkId": 1038,
"rpc": [
"https://bronos-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1038.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-testnet.bronos.org"
],
"shortName": "bronos-testnet",
+8 -3
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "Bronos Explorer",
"url": "https://broscan.bronos.org",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga",
"width": 500,
"height": 500,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga",
"width": 500,
@@ -24,7 +29,7 @@ export default {
"symbol": "BRO",
"decimals": 18
},
"redFlags": [],
"networkId": 1039,
"rpc": [],
"shortName": "bronos-mainnet",
"slug": "bronos",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmYZNTfK3byhgLsTjXP8vPubVHRz2CWsBrTJxZrQmKq6JZ",
"width": 3509,
@@ -24,9 +23,10 @@ export default {
"symbol": "WL",
"decimals": 18
},
"redFlags": [],
"networkId": 10395,
"rpc": [
"https://worldland-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10395.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://gwangju.worldland.foundation"
],
"shortName": "TWLC",
+9 -3
View File
@@ -6,11 +6,16 @@ export default {
{
"name": "kaibascan",
"url": "https://kaibascan.io",
"standard": "EIP3091"
"standard": "EIP3091",
"icon": {
"url": "ipfs://bafybeihbsw3ky7yf6llpww6fabo4dicotcgwjpefscoxrppstjx25dvtea",
"width": 932,
"height": 932,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeihbsw3ky7yf6llpww6fabo4dicotcgwjpefscoxrppstjx25dvtea",
"width": 932,
@@ -24,9 +29,10 @@ export default {
"symbol": "tKAIBA",
"decimals": 18
},
"redFlags": [],
"networkId": 104,
"rpc": [
"https://kaiba-lightning-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://104.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://klc.live/"
],
"shortName": "tklc",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo",
"width": 192,
@@ -24,9 +23,10 @@ export default {
"symbol": "W3G",
"decimals": 18
},
"redFlags": [],
"networkId": 105,
"rpc": [
"https://web3games-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://105.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://devnet.web3games.org/evm"
],
"shortName": "dw3g",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafkreie3ba6ofosjqqiya6empkyw6u5xdrtcfzi2evvyt4u6utzeiezyhi",
"width": 1500,
@@ -24,9 +23,10 @@ export default {
"symbol": "NUM",
"decimals": 18
},
"redFlags": [],
"networkId": 10507,
"rpc": [
"https://numbers.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10507.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnetrpc.num.network"
],
"shortName": "Jade",
+2 -2
View File
@@ -13,7 +13,6 @@ export default {
"https://faucet.avax.network/?subnet=num",
"https://faucet.num.network"
],
"features": [],
"icon": {
"url": "ipfs://bafkreie3ba6ofosjqqiya6empkyw6u5xdrtcfzi2evvyt4u6utzeiezyhi",
"width": 1500,
@@ -27,9 +26,10 @@ export default {
"symbol": "NUM",
"decimals": 18
},
"redFlags": [],
"networkId": 10508,
"rpc": [
"https://numbers-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10508.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnetrpc.num.network"
],
"shortName": "Snow",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmNXiCXJxEeBd7ZYGYjPSMTSdbDd2nfodLC677gUfk9ku5",
"width": 924,
@@ -24,9 +23,10 @@ export default {
"symbol": "VLX",
"decimals": 18
},
"redFlags": [],
"networkId": 106,
"rpc": [
"https://velas-evm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://106.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evmexplorer.velas.com/rpc",
"https://explorer.velas.com/rpc"
],
+2 -2
View File
@@ -12,7 +12,6 @@ export default {
"faucets": [
"https://faucet.novanetwork.io"
],
"features": [],
"icon": {
"url": "ipfs://QmeFaJtQqTKKuXQR7ysS53bLFPasFBcZw445cvYJ2HGeTo",
"width": 512,
@@ -26,9 +25,10 @@ export default {
"symbol": "NBX",
"decimals": 18
},
"redFlags": [],
"networkId": 107,
"rpc": [
"https://nebula-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://107.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.rpc.novanetwork.io"
],
"shortName": "ntn",
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "ShimmerEVM",
"chainId": 1071,
"explorers": [
{
"name": "explorer",
"url": "https://explorer.evm.testnet.shimmer.network",
"standard": "EIP3091"
}
],
"faucets": [
"https://evm-toolkit.evm.testnet.shimmer.network",
"https://evm-faucet.testnet.shimmer.network"
],
"icon": {
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
"width": 720,
"height": 720,
"format": "png"
},
"infoURL": "https://shimmer.network",
"name": "ShimmerEVM Testnet Deprecated",
"nativeCurrency": {
"name": "SMR",
"symbol": "SMR",
"decimals": 18
},
"networkId": 1071,
"rpc": [],
"shortName": "shimmerevm-testnet-deprecated",
"slug": "shimmerevm-testnet-deprecated",
"status": "deprecated",
"testnet": true,
"title": "ShimmerEVM Testnet Deprecated"
} as const satisfies Chain;
+9 -11
View File
@@ -13,7 +13,6 @@ export default {
"https://evm-toolkit.evm.testnet.shimmer.network",
"https://evm-faucet.testnet.shimmer.network"
],
"features": [],
"icon": {
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
"width": 720,
@@ -21,18 +20,17 @@ export default {
"format": "png"
},
"infoURL": "https://shimmer.network",
"name": "ShimmerEVM Testnet",
"name": "ShimmerEVM Testnet Deprecated 1072",
"nativeCurrency": {
"name": "SMR",
"symbol": "SMR",
"decimals": 18
"decimals": 6
},
"redFlags": [],
"rpc": [
"https://shimmerevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://json-rpc.evm.testnet.shimmer.network"
],
"shortName": "shimmerevm-testnet",
"slug": "shimmerevm-testnet",
"testnet": true
"networkId": 1072,
"rpc": [],
"shortName": "shimmerevm-testnet-deprecated-1072",
"slug": "shimmerevm-testnet-deprecated-1072",
"status": "deprecated",
"testnet": true,
"title": "ShimmerEVM Testnet Deprecated 1072"
} as const satisfies Chain;
+39
View File
@@ -0,0 +1,39 @@
import type { Chain } from "../src/types";
export default {
"chain": "ShimmerEVM",
"chainId": 1073,
"explorers": [
{
"name": "explorer",
"url": "https://explorer.evm.testnet.shimmer.network",
"standard": "EIP3091"
}
],
"faucets": [
"https://evm-toolkit.evm.testnet.shimmer.network",
"https://evm-faucet.testnet.shimmer.network"
],
"icon": {
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
"width": 720,
"height": 720,
"format": "png"
},
"infoURL": "https://shimmer.network",
"name": "ShimmerEVM Testnet",
"nativeCurrency": {
"name": "SMR",
"symbol": "SMR",
"decimals": 6
},
"networkId": 1073,
"rpc": [
"https://shimmerevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1073.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://json-rpc.evm.testnet.shimmer.network"
],
"shortName": "shimmerevm-testnet",
"slug": "shimmerevm-testnet",
"testnet": true,
"title": "ShimmerEVM Testnet"
} as const satisfies Chain;
+4 -3
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja",
"width": 256,
@@ -24,12 +23,14 @@ export default {
"symbol": "MNTR",
"decimals": 18
},
"redFlags": [],
"networkId": 1079,
"rpc": [
"https://mintara-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1079.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/mintara/testnet/rpc"
],
"shortName": "mintara-testnet",
"slug": "mintara-testnet",
"testnet": true
"testnet": true,
"title": "Mintara Testnet"
} as const satisfies Chain;
+3 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://thundercore.com",
"name": "ThunderCore Mainnet",
"nativeCurrency": {
@@ -18,14 +17,16 @@ export default {
"symbol": "TT",
"decimals": 18
},
"redFlags": [],
"networkId": 108,
"rpc": [
"https://thundercore.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://108.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.thundercore.com",
"https://mainnet-rpc.thundertoken.net",
"https://mainnet-rpc.thundercore.io"
],
"shortName": "TT",
"slip44": 1001,
"slug": "thundercore",
"testnet": false
} as const satisfies Chain;
+4 -3
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja",
"width": 256,
@@ -24,12 +23,14 @@ export default {
"symbol": "MNTR",
"decimals": 18
},
"redFlags": [],
"networkId": 1080,
"rpc": [
"https://mintara.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1080.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/mintara/mainnet/rpc"
],
"shortName": "mintara",
"slug": "mintara",
"testnet": false
"testnet": false,
"title": "Mintara Mainnet"
} as const satisfies Chain;
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmPw1ixYYeXvTiRWoCt2jWe4YMd3B5o7TzL18SBEHXvhXX",
"width": 200,
@@ -24,9 +23,10 @@ export default {
"symbol": "CCP",
"decimals": 18
},
"redFlags": [],
"networkId": 10823,
"rpc": [
"https://cryptocoinpay.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://10823.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://node106.cryptocoinpay.info:8545",
"ws://node106.cryptocoinpay.info:8546"
],
+11
View File
@@ -24,9 +24,20 @@ export default {
"symbol": "METIS",
"decimals": 18
},
"networkId": 1088,
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://bridge.metis.io"
}
]
},
"redFlags": [],
"rpc": [
"https://metis-andromeda.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1088.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://andromeda.metis.io/?owner=1088"
],
"shortName": "metis-andromeda",
+2 -2
View File
@@ -10,7 +10,6 @@ export default {
}
],
"faucets": [],
"features": [],
"infoURL": "https://brochain.org",
"name": "BROChain Mainnet",
"nativeCurrency": {
@@ -18,9 +17,10 @@ export default {
"symbol": "BRO",
"decimals": 18
},
"redFlags": [],
"networkId": 108801,
"rpc": [
"https://brochain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://108801.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.brochain.org",
"http://rpc.brochain.org",
"https://rpc.brochain.org/mainnet",
+9 -2
View File
@@ -6,7 +6,13 @@ export default {
{
"name": "explorer.guru",
"url": "https://humans.explorers.guru",
"standard": "none"
"standard": "none",
"icon": {
"url": "ipfs://QmU83haX3TNifDDjBx6RP6ByqES1Kg9VqeJC87X9ipKyCS",
"width": 386,
"height": 397,
"format": "png"
}
}
],
"faucets": [],
@@ -31,9 +37,10 @@ export default {
"symbol": "HEART",
"decimals": 18
},
"redFlags": [],
"networkId": 1089,
"rpc": [
"https://humans-ai.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://1089.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://jsonrpc.humans.nodestake.top",
"https://humans-mainnet-evm.itrocket.net:443",
"https://humans-evm-rpc.staketab.org:443",

Some files were not shown because too many files have changed in this diff Show More