Compare commits

..
Author SHA1 Message Date
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
d2bb62a1b8 Version Packages (#840)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-30 11:03:44 -07:00
sidandGitHub db648ed22d Add --clean flag to deploy, publish, build (#836) 2023-03-30 17:50:17 +00:00
Jonas DanielsandGitHub 9b3038291d [chains] - add telos icon & update other chains (#839) 2023-03-30 17:28:37 +00:00
e2581f211e [RectCore] fix auth logout by invalidating and storing invalidated cookie (#837)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-30 17:21:00 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
3ad3bf0124 Version Packages (#700)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-29 15:46:11 -07:00
iketwandGitHub 6b31a9bcd3 [Wallets] set qrcode prop correctly (#835) 2023-03-29 22:33:50 +00:00
Adam MajmudarandGitHub 085076117b [SDK] Add magical types for thirdweb generate (#820) 2023-03-29 21:51:07 +00:00
Manan TankandGitHub 83e99dbf28 Fix paper auto connect (#833) 2023-03-29 21:31:31 +00:00
Manan TankandGitHub e47ceafeae Wallet enhancements & Fixes (#832) 2023-03-29 20:11:07 +00:00
iketwandGitHub 96b1aa1521 Update changesets (#831) 2023-03-29 19:24:41 +00:00
Manan TankandGitHub 3ff8eecf18 use authConfig in useLogin() (#829) 2023-03-29 18:50:55 +00:00
Adam MajmudarandGitHub 805896c78d [SDK] Make metadata signature 721 output optional (#830) 2023-03-29 18:40:55 +00:00
48ec060267 various wallet improvements (#828)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-29 10:24:23 -07:00
4bdeefe6cb [Wallets, Core, RN, React] Allow wallets to be constructed without params where possible (#825)
Co-authored-by: Manan Tank <[email protected]>
2023-03-29 09:44:37 -07:00
iketwandGitHub 95bcfa6df8 [Wallets] Adds autoConnect capabilities (#824) 2023-03-29 01:19:48 +00:00
Jonas DanielsandGitHub 4ba431f4a4 [chains] - add linea testnet (consensys zkevm) (#823) 2023-03-29 00:36:34 +00:00
e453e3651e allow wallet config (#808)
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: iketw <[email protected]>
2023-03-29 00:27:24 +00:00
Jonas DanielsandGitHub e2ec70c492 [chains] - update some chains (#822) 2023-03-28 21:45:41 +00:00
Jonas DanielsandGitHub 02f5766bcb [react] - fix connect wallet modal overlay (#821) 2023-03-28 07:35:44 +00:00
6ea5eea1d8 Optimize build times for foundry and hardhat (#806)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-28 07:30:51 +00:00
Adam MajmudarandGitHub 682f1c673f [SDK] Update contract.call with function types (#819) 2023-03-28 01:00:05 +00:00
4cbbad98b3 [SDK] Add support for transaction on deploy (#758)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-03-27 23:11:22 +00:00
Jonas DanielsandGitHub e4893a0821 [chains] - fix zkevm mainnet not being a testnet (#818) 2023-03-27 23:08:18 +00:00
Jonas DanielsandGitHub 766cc75640 [tooling] - attempt to fix versioning (#817) 2023-03-27 22:51:08 +00:00
Jonas DanielsandGitHub f994278a51 [chains] - fix zkevm mainnet beta showing as testnet (#816) 2023-03-27 22:15:29 +00:00
Jonas Daniels 0666fb018b Merge branch 'main' of github.com:thirdweb-dev/js 2023-03-27 14:30:17 -07:00
Jonas Daniels 61e8985149 fix chains build 2023-03-27 14:30:06 -07:00
iketwandGitHub b8b8a7ca07 [ReactNative] remove old device wallet (#815) 2023-03-27 21:21:31 +00:00
iketwandGitHub b97cf2e588 [ReactNative] Fix flicker in react-native-modal in ios (#813) 2023-03-27 20:47:27 +00:00
Jonas DanielsandGitHub 97b5147bde [tooling] fix docs generation (#812) 2023-03-27 20:26:56 +00:00
Manan TankandGitHub 13c1e23757 catch JSON error when connecting to safe (#811) 2023-03-27 20:11:09 +00:00
iketwandGitHub 5ac451da2b [ReactNative] Improve web3button and add more descriptive console.errors (#810) 2023-03-27 18:19:36 +00:00
Jonas DanielsandGitHub 9a4a542ce9 [chains] add polygon zkevm mainnet beta (#809) 2023-03-27 17:23:31 +00:00
iketwandGitHub 79768d4cfa [ReactNative] Update code comments for supportedWallets (#807) 2023-03-27 14:05:12 +00:00
iketwandGitHub 4d07b4b4e7 [ReactCore/Wallets] ReactCore manages all coordination (#802) 2023-03-25 16:46:20 +00:00
Manan TankandGitHub f281e1a080 react: various UI improvements for connect wallet (#805) 2023-03-25 08:57:41 +00:00
Jonas DanielsandGitHub 92936b7ffa [react-core] - update provider props to accept strings and numbers bu… (#803) 2023-03-25 01:48:51 +00:00
Jonas DanielsandGitHub a9618d9bca [CLI] - fix install command (#804) 2023-03-25 01:26:30 +00:00
Jonas DanielsandGitHub 6b145d4b36 [chains] update chains (#801) 2023-03-24 23:53:41 +00:00
iketwandGitHub 49eceaa08e [ReactCore] typescript complains about chains not in defaultChains (#799) 2023-03-24 18:57:02 +00:00
iketwandGitHub d6ae520aaf [ReactCore] fix useActiveChain hook (#800) 2023-03-24 18:44:54 +00:00
Manan TankandGitHub 7a420889f6 Fix Gnosis Safe Connection glitch + UI improvements (#798) 2023-03-24 16:34:05 +00:00
iketwandGitHub de7b619676 [SDK] remove duplicate creation in derived class (#797) 2023-03-24 05:24:32 +00:00
iketwandGitHub b56511e22d [SDK] Dont parse abis on detect features (#796) 2023-03-24 05:24:21 +00:00
a6fce0f691 Install command improvements (#794)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: adam-maj <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-23 21:39:05 +00:00
iketwandGitHub 2129c1f8c1 [Wallets] Pass correct static id from the specific wallet (#795) 2023-03-23 20:28:27 +00:00
Manan TankandGitHub 1f49af3d5b Fix Autoconnect not working on prod bundle (#793) 2023-03-23 17:44:44 +00:00
77c5ca1bd5 Connect Wallet v2 UI improvements (#789)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-23 09:07:20 +00:00
Jonas DanielsandGitHub 283fd7db5d [react-core] - no longer requires auth at runtime at all :) (#792) 2023-03-23 05:58:52 +00:00
Jonas DanielsandGitHub c2324bfdc2 [auth, react-core, react] - clean up auth integration (#791) 2023-03-23 04:21:29 +00:00
Joaquim VergesandGitHub 485abd06aa [SDK] Fix getPackContents with ERC20 rewards (#790) 2023-03-23 03:17:25 +00:00
9fa628f894 [SDK, React, CLI] Make generate work with useContract (#767)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-03-22 20:23:12 +00:00
Manan TankandGitHub ddc1c33a53 Gnosis Safe (#786) 2023-03-22 14:46:42 +00:00
Jonas DanielsandGitHub 9fdcf3113a [sdk] - more z.input -> z.output changes (#784) 2023-03-21 06:13:43 +00:00
Joaquim VergesandGitHub 6c0c65389f [UnityLib] update wallets SDK (#778) 2023-03-21 06:06:47 +00:00
Jonas DanielsandGitHub 91089a3869 [sdk] - make AbiTypeBaseSchema default name instead of optional as well (#783) 2023-03-21 05:43:49 +00:00
Jonas DanielsandGitHub d8c1c9433e [sdk] - properly parse ABIs (#782) 2023-03-21 05:13:44 +00:00
Jonas DanielsandGitHub d1e2d5f90f [wallets] - fix paper connection args (#781) 2023-03-21 04:15:19 +00:00
Jonas DanielsandGitHub 2a53405dea [wallets] - remove serverside and Pkey wallets from top level export (#780) 2023-03-21 03:21:00 +00:00
Jonas DanielsandGitHub 0f5343a303 [wallets, react, react-core] - clean up lots of wallet logic (#779) 2023-03-21 01:45:17 +00:00
4b77bc9b88 add paper wallet, don't save device wallet connectParams (#764)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-20 23:04:09 +00:00
iketwandGitHub e2ea5a716f [ReactCore] Making supportedChains optional again in the SDK provider (#766) 2023-03-19 05:46:45 +00:00
8463a1761f [SDK] Fix infinite recursion in ENS cache (#773)
Co-authored-by: Adam Majmudar <[email protected]>
2023-03-18 23:54:29 +00:00
iketwandGitHub e3161e5986 [RN] Get wallet meta from wallets (#771) 2023-03-18 20:02:01 +00:00
Joaquim VergesandGitHub 5c7c0923e4 [SDK] Fix NFT metadata failure breaking marketplace v3 getAllListings (#770) 2023-03-18 04:29:29 +00:00
Jonas DanielsandGitHub 6ae9fbf988 [tooling] - add a script to attempt to explain major versions (#769) 2023-03-17 23:51:14 +00:00
923b9ead3d [CLI] thirdweb create should rename contract (#768)
Co-authored-by: Adam Majmudar <[email protected]>
2023-03-17 22:28:51 +00:00
92d190709b [CLI] Handle failed metadata downloads and use cache in generate (#765)
Co-authored-by: Adam Majmudar <[email protected]>
2023-03-17 19:14:42 +00:00
iketwandGitHub 43d8a65e1d [ReactNativeCLI] Add expo option to create app (#763) 2023-03-17 15:15:19 +00:00
Jonas DanielsandGitHub 93eca1de7d [wallets] - coinbase sdk full dependency (#760) 2023-03-17 04:47:49 +00:00
Joaquim VergesandGitHub 52d37f0187 [SDK] fix ABI parsing for inputs without names (#761) 2023-03-17 04:42:58 +00:00
Jonas Daniels c6efc2389f change some versioning in changesets 2023-03-16 20:43:45 -07:00
Jonas DanielsandGitHub 379d4e167a remove duplicate changeset (#759) 2023-03-17 02:43:13 +00:00
8ef5a6f217 [SDK] add marketplace v3 extensions to SmartContract (#753)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-17 02:24:30 +00:00
9ea439692d [Storage] Set new ipfs gateway (#757)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-17 02:20:52 +00:00
Jonas DanielsandGitHub 9e593574f1 [tooling] - switch to pnpm for faster CI (#755) 2023-03-17 02:05:00 +00:00
abf609a401 [SDK] Add multiplyGas function and bump polygon default gas settings (#737)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
Co-authored-by: Adam Majmudar <[email protected]>
2023-03-16 20:19:00 +00:00
Manan TankandGitHub 781824ba05 fix wallet connect v2 error (#754) 2023-03-16 19:59:51 +00:00
1baed0b1d8 [SDK, CLI] Add generated ABIs and types (#721)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: Adam Majmudar <[email protected]>
2023-03-16 20:26:54 +00:00
iketwandGitHub 439d791996 [ReactNative] clear web3button state when user disconnects (#752) 2023-03-16 19:38:47 +00:00
Jonas DanielsandGitHub efff9cfda0 [cli] remove tslog (#751) 2023-03-16 19:27:52 +00:00
f630630b1f react: use wallet.meta for wallet name and icon (#731)
Co-authored-by: iketw <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-16 17:45:49 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1a574ef3d8 Bump eslint-config-next from 12.3.1 to 13.2.4 (#743)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 17:25:19 +00:00
2221f97ddc Fix RPC URLs in the chain object (#748)
Co-authored-by: ikethirdweb <[email protected]>
2023-03-16 16:37:04 +00:00
Manan TankandGitHub 34f3d7104c fix hotlink error (#747) 2023-03-16 14:16:12 +00:00
iketwandGitHub a4c9017dd5 [ReactCore] fix timeout and find exact wallet (#746) 2023-03-16 14:06:04 +00:00
Jonas DanielsandGitHub c18738bb34 Create .github/dependabot.yml (#740) 2023-03-16 11:25:23 +00:00
Jonas DanielsandGitHub 4d5fdda907 [wallets, react] - move (gnosis) safe to /wallets package (#739) 2023-03-16 10:54:56 +00:00
Jonas DanielsandGitHub f619249110 fix some changesets (#738) 2023-03-16 08:23:56 +00:00
e4b4a8d287 [React] Move default api key to the React package (#736)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-16 08:21:00 +00:00
1efa22afd3 [React] Fix wrong return on useActiveClaimConditionForWallet (#733)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-16 08:05:38 +00:00
Jonas DanielsandGitHub ba9f593be8 [sdk] - add functions to watch blocks and transactions (#735) 2023-03-16 07:50:33 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ce0b1bf288 Bump next-auth from 4.19.2 to 4.20.1 (#718)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 04:30:12 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7522320050 Bump webpack from 5.75.0 to 5.76.1 (#727)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 04:29:55 +00:00
iketwandGitHub 4dfe2f6ee6 [ReactCore] re-export all thirdweb/sdk (#734) 2023-03-16 01:10:20 +00:00
iketwandGitHub b17194bd46 [Wallets] separate listeners in tw-connector (#732) 2023-03-15 15:48:11 +00:00
Manan TankandGitHub 1fbc0d061a Cwv2 connection fixes (#730) 2023-03-15 13:39:50 +00:00
Manan TankandGitHub 75bec68d23 Fix useConnect() type (#729) 2023-03-15 11:03:38 +00:00
iketwandGitHub ce48d13cd7 [RNCreateCLI] skip ruby checks for expo (#728) 2023-03-15 05:23:09 +00:00
iketwandGitHub bddb1566f1 [Wallets] Correctly setup listeners (#726) 2023-03-15 02:29:55 +00:00
Nacho IacovinoandGitHub b2d0ffb049 [Chains] Override goerli default faucet (#719) 2023-03-14 22:45:10 +00:00
iketwandGitHub 956ceff3c3 [ReactNativeCLI] Only check ruby version and throw. Attempting to change has a lot of side effects (#725) 2023-03-14 14:25:03 +00:00
Manan TankandGitHub ce1ecb9f9f Connect wallet v2 various improvements (#724) 2023-03-14 13:27:00 +00:00
iketwandGitHub 48bff31f35 [ReactNativeCLI] manage ruby version by setting the project version to the systems version (#723) 2023-03-14 04:42:24 +00:00
iketwandGitHub 0eb0aae29a [ReactNativeSDK] fix WC uri and pass correct default metadata url (#722) 2023-03-14 02:40:36 +00:00
Nacho IacovinoandGitHub 04775954a0 [React] Make tokenId optional on useTotalCirculatingSupply (#717) 2023-03-13 19:56:05 +00:00
bd40bc2ef1 [React] Fix accepted types for some hooks (#712)
Co-authored-by: Nacho Iacovino <[email protected]>
2023-03-13 19:32:33 +00:00
iketwandGitHub 17a03e94d2 [ReactNativeCLI] verify correct ruby version (#716) 2023-03-13 19:29:58 +00:00
iketwandGitHub 4154c6f51a [react-core] fix changeset (#715) 2023-03-13 18:31:04 +00:00
iketwandGitHub c4862425dc [ReactNativeCLI] Added RN specific instructions + installation steps (#714) 2023-03-13 17:43:58 +00:00
Adam MajmudarandGitHub d6913d70b2 [Auth] Only import types in auth from @thirdweb-dev/wallets (#709) 2023-03-11 01:52:01 +00:00
d01b135d26 Connect Wallet v2 (#584)
Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-11 00:03:44 +00:00
71532e5a9f [SDK] rename to MarketplaceV3 (#701)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-10 18:39:16 +00:00
Ooi Thian HooiandGitHub aad57a566b [REACT] Fix/unable to override chain (#708) 2023-03-10 17:47:31 +00:00
Joaquim VergesandGitHub 2ec2802119 [SDK] Remove hardcoded gasLimits on marketplace/pack (#705) 2023-03-10 05:12:18 +00:00
Joaquim VergesandGitHub 208d97e6a8 [SDK] Export currency Utils (#704) 2023-03-10 05:12:09 +00:00
b3eb309c1e CLI install command (#677)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: adam-maj <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-10 01:38:38 +00:00
Jonas DanielsandGitHub 33d1cc7f92 [many] re-enable browser build where feasible (#702) 2023-03-10 00:15:31 +00:00
Adam MajmudarandGitHub 6e9b9dba1d [SDK] Add .prepare() to all other transaction functions except deploys (#703) 2023-03-09 23:45:53 +00:00
5f0493d0fb [SDK] Add ENS support to all functions (#681)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-09 20:03:08 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
e4d41856f2 Version Packages (#699)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-09 12:07:00 -08:00
Joaquim VergesandGitHub 713d3187be [SDK] Allow null values for NFT schema (#698) 2023-03-09 19:38:54 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
f6c6a68b97 Version Packages (#690)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-09 10:48:42 -08:00
Joaquim VergesandGitHub 2682f5823e [SDK] Fix fetching ABI for legacy contracts (#697) 2023-03-09 18:34:02 +00:00
Joaquim VergesandGitHub d30e3f4db3 [Wallets] Upgrade paper SDK (#696) 2023-03-09 18:02:56 +00:00
Joaquim VergesandGitHub 2efe5be3ad [SDK] Optimize get contract calls (#694) 2023-03-09 05:56:36 +00:00
Joaquim VergesandGitHub 31a252a0ec [Wallets] Cleanup paper wallet integration (#692) 2023-03-09 04:42:23 +00:00
Joaquim VergesandGitHub d5f18b403a [SDK] fix passing slug only as the network (#693) 2023-03-09 04:38:05 +00:00
Nacho IacovinoandGitHub cc0c7fa093 [React] useClaimNFT using correct twfeature (#691) 2023-03-08 21:43:37 +00:00
Nacho IacovinoandGitHub baeb74274e [SDK] New AppURI defaults (#687) 2023-03-08 20:46:21 +00:00
Joaquim VergesandGitHub 5038487e1b Update README.md 2023-03-08 12:06:22 -08:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
c5959fbd52 Version Packages (#689)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-07 22:37:23 -08:00
Adam MajmudarandGitHub 68d52f99b3 [SDK] Poll if transaction isn't found yet (#688) 2023-03-08 06:17:23 +00:00
9efeba38f0 [Auth] Include credentials on initial login request, [react] web3button type (#684)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-08 06:10:39 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
50346bd9d0 Version Packages (#622)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-07 18:03:15 -08:00
Jonas DanielsandGitHub f9cf2bc6ba [chains] - fix windows build? (#686) 2023-03-07 20:11:52 +00:00
Jonas DanielsandGitHub 4355518afe [chains] - update chains (#685) 2023-03-07 18:57:43 +00:00
Jonas DanielsandGitHub 99521129ed quicker timeouts (#682) 2023-03-06 17:49:44 -08:00
c9067681c2 Add CLI command to deploy dynamic smart contracts (#678)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-07 00:22:30 +00:00
2335f000c9 [SDK] - NFT supply is now string instead of number (#679)
Co-authored-by: Joaquim Verges <[email protected]>
2023-03-05 04:46:00 +00:00
Adam MajmudarandGitHub a7e908b5fe [SDK] Add transaction pattern to registry (#676) 2023-03-03 22:18:35 +00:00
Adam MajmudarandGitHub 2a8cc289ac [SDK] Add transaction builder to publisher and registry (#675) 2023-03-03 21:44:45 +00:00
Adam MajmudarandGitHub d8dec9fc19 [SDK] Fix configuring SDK with custom chains (#674) 2023-03-03 08:23:55 +00:00
Adam MajmudarandGitHub 0c88304464 [SDK] Don't use functions in sdk.getContract (#673) 2023-03-03 07:25:22 +00:00
Jonas DanielsandGitHub 2676fc01f4 fix react core (#672) 2023-03-03 07:14:50 +00:00
Furqan RydhanandGitHub 61ef69649f app URI fixes (#671) 2023-03-03 07:07:32 +00:00
Furqan Rydhan 460576fea9 Merge branch 'main' of github.com:thirdweb-dev/js 2023-03-03 06:47:37 +00:00
Furqan Rydhan 87a8ebdb7a fix things 2023-03-03 06:47:01 +00:00
Furqan Rydhan e23ee0526e fix type for prebuilt contracts and app uri 2023-03-03 06:13:09 +00:00
be04ff2775 CLI improvements (#666)
Co-authored-by: Adam Majmudar <[email protected]>
Co-authored-by: adam-maj <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-03 06:11:48 +00:00
3740a0bf5d app uri (#662)
Co-authored-by: Nacho Iacovino <[email protected]>
Co-authored-by: Nacho Iacovino <[email protected]>
2023-03-03 05:40:00 +00:00
Jonas DanielsandGitHub 6ae39277a1 [react-core] fix signer more (#670) 2023-03-03 05:39:18 +00:00
Jonas DanielsandGitHub 8f46a2eef5 update signer correctly (#668) 2023-03-02 20:04:56 +00:00
Furqan Rydhan 8ac9b03f4a fix code tab for contract metadata 2023-03-02 06:24:17 +00:00
6ef52dc916 Fix spelling (#665)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-02 03:04:05 +00:00
Adam MajmudarandGitHub b6b0855b81 [SDK] Allow setting extra overrides (#667) 2023-03-02 02:20:45 +00:00
Jonas Daniels ac01516ce6 fix it 2023-03-01 17:36:09 -08:00
Jonas Daniels 1aef3bd270 changesets action 2023-03-01 17:29:45 -08:00
Jonas Daniels e9b5031565 more things 2023-03-01 17:23:40 -08:00
Adam MajmudarandGitHub e081075b2c [SDK] Expose get and set functions on transaction and tx.sign() (#663) 2023-03-02 00:28:40 +00:00
Jonas Daniels 3212867de2 just always do it 2023-03-01 16:18:02 -08:00
Jonas Daniels 91e7178295 hasChangesets true value not string 2023-03-01 16:08:28 -08:00
Jonas DanielsandGitHub 3985560942 changeset and workflow changes (#664) 2023-03-01 23:32:43 +00:00
87a101ad56 Fix Wrong Currency symbol in non-default chains (#660)
Co-authored-by: Jonas Daniels <[email protected]>
2023-03-01 21:37:51 +00:00
nkrishangandGitHub 842ed519a3 CLI command to create extensions for dynamic contracts (#641) 2023-03-01 19:04:30 +00:00
Adam MajmudarandGitHub 2f4cd92848 [SDK] Add prepare method to all contracts (#661) 2023-03-01 18:49:55 +00:00
iketwandGitHub 303bf63c1a [ReactCoreSDK] pass default key to the sdkprovider (#658) 2023-03-01 17:44:56 +00:00
Adam MajmudarandGitHub 8845bf960e [SDK] await getGasOverrides (#659) 2023-03-01 08:12:48 +00:00
Jake LooandGitHub b80024c6cc ERC20Permit detect (#655) 2023-03-01 03:39:12 +00:00
Jonas DanielsandGitHub 696c384a34 Jd/fix build app uri (#654) 2023-03-01 01:53:26 +00:00
Jonas DanielsandGitHub bd6be0bae7 [SDK] - add extensions getter (#653) 2023-03-01 01:09:57 +00:00
Nacho IacovinoandGitHub 8d5b418e78 [React] Fix appURI hook invariant (#650) 2023-03-01 00:51:59 +00:00
Adam MajmudarandGitHub 1bdb44d36b [React] Fix onError in Web3Button to work with errors on promise (#651) 2023-03-01 00:51:35 +00:00
Nacho IacovinoandGitHub b83ea5251b [SDK] Detect appURI (#631) 2023-03-01 00:50:03 +00:00
Adam MajmudarandGitHub 537785fed0 [SDK] Add getContract and getContractFromAbi functions (#628) 2023-03-01 00:40:13 +00:00
Adam MajmudarandGitHub fb346ffd45 [Storage] Send progress event if files have already been uploaded (#648) 2023-02-28 23:54:29 +00:00
Adam MajmudarandGitHub 63f552d736 Allow passing gatewayUrls as array and directly (#644) 2023-02-28 23:27:14 +00:00
Adam MajmudarandGitHub cc7ce8b1e8 Allow CID prediction for file type on client (#646) 2023-02-28 23:19:30 +00:00
Jonas DanielsandGitHub 85250cf711 [multi] - various fixes (#643) 2023-02-28 22:50:22 +00:00
Adam MajmudarandGitHub 29c1cf7eff Make checking for CID non-blocking on error (#645) 2023-02-28 22:16:58 +00:00
Adam MajmudarandGitHub 0666f37c13 [SDK] Cleanup signer and provider logic & add exhaustive test cases (#623) 2023-02-28 09:14:14 +00:00
Adam MajmudarandGitHub 8a8a37f6d3 [Storage] Pre-compute IPFS hashes before uploading (#637) 2023-02-28 08:08:15 +00:00
Furqan RydhanandGitHub dc08aa731f contract metadata compatibility (#642) 2023-02-28 03:59:31 +00:00
Adam MajmudarandGitHub 541dfeeaba Fix top-level transaction functions (#640) 2023-02-28 02:27:13 +00:00
1e1a39123b [SDK] Add new transaction pattern (#566)
Co-authored-by: Jonas Daniels <[email protected]>
2023-02-27 23:22:21 +00:00
Jonas DanielsandGitHub 5c7ae694c4 add test for chains (#639) 2023-02-27 22:30:36 +00:00
Jonas DanielsandGitHub e33bd2a856 add getChainByChainId function (#638) 2023-02-27 19:18:04 +00:00
Nacho IacovinoandGitHub b1ee7491c8 [React] Export appURI hooks (#636) 2023-02-27 01:01:05 +00:00
Jonas DanielsandGitHub 7832041c0f add chains (#635) 2023-02-27 00:47:10 +00:00
Joaquim VergesandGitHub 88c78f3b32 [SDK] export marketplace and appUri classes (#634) 2023-02-26 23:16:43 +00:00
Nacho IacovinoandGitHub 78536ba65f [Multi] More docs small changes (#633) 2023-02-26 07:26:22 +00:00
Nacho IacovinoandGitHub b0e8406d1e [Multi] Document marketplace v3 with examples (#632) 2023-02-26 04:00:43 +00:00
Nacho IacovinoandGitHub 9c5dbf1fe6 [Multi] AppURI now works with ContractMetadata feature (#630) 2023-02-25 23:13:09 +00:00
Nacho IacovinoandGitHub ba90c675db [Multi] More docs updates (#629) 2023-02-25 22:51:46 +00:00
Joaquim VergesandGitHub fd9ba94db2 Fix feature snippets SDK script (#627) 2023-02-25 17:10:32 +00:00
Nacho IacovinoandGitHub 91f5a2fd5c Fix documentation for react docs (#626) 2023-02-25 16:30:23 +00:00
Joaquim VergesandGitHub e50911bc06 [Wallet] Email wallet improvements (#612) 2023-02-25 04:02:59 +00:00
Nacho IacovinoandGitHub 23cd88ec3a [React] Add AppURI get/set hooks (#625) 2023-02-25 01:52:20 +00:00
Joaquim VergesandGitHub 1adaf41e41 [SDK] Extension code comments (#624) 2023-02-25 01:16:02 +00:00
YashandGitHub 478780f634 [SDK] Feature for extension router (#621) 2023-02-24 03:59:16 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
521c85c1ba Version Packages (#618)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-23 09:29:36 -08:00
Jonas DanielsandGitHub b7a5b45441 fix base goerli slug (#619) 2023-02-23 17:17:37 +00:00
Jonas DanielsandGitHub d7deaa48f2 [chains] - add support for base goerli (#617) 2023-02-23 16:58:25 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
98fc320a86 Version Packages (#614)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-22 21:48:03 -08:00
Joaquim VergesandGitHub 5712650074 [SDK] Handle custom currencies for any chain (#616) 2023-02-23 05:33:00 +00:00
Jonas DanielsandGitHub 1b0bc87efb [sdk] add code cov (#615) 2023-02-23 01:26:53 +00:00
Jonas DanielsandGitHub a3472a1331 [chains] - DX improvements & chain updates (#613) 2023-02-23 00:01:59 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
7c3f050883 Version Packages (#609)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-22 13:59:28 -08:00
8b68f20678 refactor: Release to Publish (#567)
Co-authored-by: Jonas Daniels <[email protected]>
2023-02-22 21:36:03 +00:00
Jonas DanielsandGitHub 3d644fb8cb [react] - add mediarenderer prop (#608) 2023-02-21 10:30:21 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
690ff925c3 Version Packages (#603)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-02-20 20:13:14 -08:00
Jonas DanielsandGitHub 4fe6797427 clean up remaining workflows (#605) 2023-02-19 02:12:39 +00:00
Jonas DanielsandGitHub f3408d05d8 [sdk] - fix possible crash in StaticJsonRpcBatchProvider (#604) 2023-02-19 01:47:29 +00:00
Jonas Daniels 845e818c66 CI all in one? 2023-02-18 14:55:51 -08:00
Jonas Daniels 5178256e84 try out new ci action 2023-02-18 14:40:23 -08:00
Jonas DanielsandGitHub 66cf1fb5c2 [various] - upgrade dependencies (#601) 2023-02-18 22:10:45 +00:00
Jonas Daniels df792f0b81 make merge queue work 2023-02-18 14:10:16 -08:00
Jonas Daniels ae0f967356 make platform own everything by default 2023-02-18 13:55:33 -08:00
Jonas Daniels 076718112f devrel should not own changeset markdown files 2023-02-18 13:54:00 -08:00
Jonas Daniels 7c9f86cc44 improve codeowners 2023-02-18 13:51:56 -08:00
Jonas DanielsandGitHub 9c90371426 Jd/add codeowners (#602) 2023-02-18 13:49:09 -08:00
862 changed files with 58609 additions and 38826 deletions
+10 -5
View File
@@ -1,21 +1,26 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "thirdweb-dev/js" }],
"changelog": [
"@changesets/changelog-github",
{
"repo": "thirdweb-dev/js"
}
],
"commit": false,
"fixed": [
["@thirdweb-dev/sdk", "@thirdweb-dev/react-core", "@thirdweb-dev/react"]
["@thirdweb-dev/react-core", "@thirdweb-dev/react"],
["@thirdweb-dev/react-native-compat", "@thirdweb-dev/react-native"]
],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["e2e-cra-5", "e2e-next-12", "e2e-vite-3"],
"ignore": ["e2e-cra-5", "e2e-next-13", "e2e-vite-3"],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"updateInternalDependents": "always",
"onlyUpdatePeerDependentsWhenOutOfRange": true
},
"snapshot": {
"useCalculatedVersion": true,
"prereleaseTemplate": "{tag}-{commit}"
"prereleaseTemplate": "{tag}-{commit}-{datetime}"
}
}
+29
View File
@@ -0,0 +1,29 @@
# Order is important; the last matching pattern takes the most precedence.
# Platform team owns everything by default
* @thirdweb-dev/platform
# Devrel owns all markdown files (README etc.)
*.md @thirdweb-dev/devrel
.changeset/
# Shared ownership of the react and react-core packages
packages/react/ @thirdweb-dev/product @thirdweb-dev/platform
packages/react-core/ @thirdweb-dev/product @thirdweb-dev/platform
# Shared ownership of the CLI
packages/cli/ @thirdweb-dev/product @thirdweb-dev/platform
# Chains is owned specifically by jonas for now
packages/chains/ @jnsdls
# .github folder + .changeset + turbo config is owned by joaquim and jonas for now
.github/ @jnsdls @joaquim-verges
.changeset/config.json @jnsdls @joaquim-verges
turbo.json @joaquim-verges @jnsdls
+5 -2
View File
@@ -4,15 +4,18 @@ description: "Sets up Node.js and runs install"
runs:
using: composite
steps:
- uses: pnpm/action-setup@v2
with:
version: 7
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16
registry-url: "https://registry.npmjs.org"
cache: "yarn"
cache: "pnpm"
- name: Install dependencies
shell: bash
run: yarn install --frozen-lockfile
run: pnpm install
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
+6 -6
View File
@@ -35,7 +35,7 @@ You can see a quick outline of each of the projects within this repo below, each
Let's explore how you can set up the repo on your local machine and start contributing!
This section requires some existing knowledge of [Git](https://git-scm.com/), [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/).
This section requires some existing knowledge of [Git](https://git-scm.com/), [Node.js](https://nodejs.org/en/) and [pnpm](https://pnpm.io/).
<br/>
@@ -57,7 +57,7 @@ To begin:
4. Install the dependencies:
```
yarn
pnpm install
```
Now you have got the repo on your local machine, and you're ready to start making your changes!
@@ -69,7 +69,7 @@ We use [yalc](https://github.com/wclr/yalc) to test changes locally.
Install the yalc CLI globally:
```bash
yarn global add yalc
pnpm add yalc -g
```
First, create a test project where you can experiment with your changes:
@@ -91,10 +91,10 @@ yalc add @thirdweb-dev/sdk # Link the sdk package
From the monorepo, run the following command to publish your local changes to the test project:
```bash
yarn push
pnpm push
```
Now, each time you make a change to the monorepo, you can run `yarn push` to publish your changes to the test project.
Now, each time you make a change to the monorepo, you can run `pnpm push` to publish your changes to the test project.
In your test project, you need to:
@@ -110,7 +110,7 @@ Once you're satisfied with your changes, you are ready to submit them for review
1. Use [changeset](https://github.com/changesets/changesets) to generate a changeset file:
```
yarn changeset
pnpm changeset
```
We follow [semantic versioning](https://semver.org/) for generating versioned releases of our packages (i.e. version = `MAJOR.MINOR.PATCH`)
+11
View File
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
-34
View File
@@ -1,34 +0,0 @@
name: CI
on:
push:
branches: ["main"]
pull_request:
types: [opened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build and Test
timeout-minutes: 30
runs-on: ubuntu-latest-16
# To use Remote Caching, uncomment the next lines and follow the steps below.
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
# this already builds anything that changed...
- name: Build & Test
run: yarn test
+133
View File
@@ -0,0 +1,133 @@
name: Build, Lint & Test
on:
push:
branches: ["main"]
pull_request:
types: [opened, synchronize]
# trigger on merge group as well (merge queue)
merge_group:
types: [checks_requested]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# To use Remote Caching, uncomment the next lines and follow the steps below.
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
build:
timeout-minutes: 15
name: Build
runs-on: ubuntu-latest-16
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 25
- name: Install
uses: ./.github/composite-actions/install
- run: pnpm build
# We use week in the turbo cache key to keep the cache from infinitely growing
- id: get-week
run: echo "WEEK=$(date +%U)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
timeout-minutes: 5
id: cache-build
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
lint:
timeout-minutes: 15
name: Lint Packages
runs-on: ubuntu-latest
needs: build
steps:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16
check-latest: true
- uses: pnpm/action-setup@v2
with:
version: 7
- uses: actions/cache@v3
timeout-minutes: 5
id: restore-build
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- run: pnpm lint
test:
timeout-minutes: 15
name: Unit Tests
runs-on: ubuntu-latest-16
needs: build
steps:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16
check-latest: true
- uses: pnpm/action-setup@v2
with:
version: 7
- uses: actions/cache@v3
timeout-minutes: 5
id: restore-build
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- run: pnpm test
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
files: ./packages/sdk/coverage/evm/lcov.info,./packages/sdk/coverage/solana/lcov.info,
e2e:
timeout-minutes: 15
name: E2E Tests
runs-on: ubuntu-latest-16
needs: build
steps:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16
check-latest: true
- uses: pnpm/action-setup@v2
with:
version: 7
- uses: actions/cache@v3
timeout-minutes: 5
id: restore-build
with:
path: ./*
key: ${{ github.sha }}-${{ github.run_number }}
- name: Install Playwright
run: npx playwright install --with-deps
- name: Run e2e tests
run: pnpm e2e
env:
NODE_OPTIONS: "--max_old_space_size=4096"
-29
View File
@@ -1,29 +0,0 @@
name: Integration tests
on:
push:
branches: ["main"]
pull_request:
types: [opened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
integration-tests:
timeout-minutes: 30
runs-on: ubuntu-latest-16
steps:
- uses: actions/checkout@v3
- name: Install
uses: ./.github/composite-actions/install
- name: Install Playwright
run: npx playwright install --with-deps
- name: Run e2e tests
run: yarn e2e
env:
NODE_OPTIONS: "--max_old_space_size=4096"
-33
View File
@@ -1,33 +0,0 @@
name: Lint
on:
push:
branches: ["main"]
pull_request:
types: [opened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
timeout-minutes: 15
runs-on: ubuntu-latest
# To use Remote Caching, uncomment the next lines and follow the steps below.
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
- name: Lint
run: yarn lint
+9 -3
View File
@@ -6,6 +6,10 @@ on:
issue_comment:
types: [created]
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
deploy-check:
# this just checks if ur allowed to do the action so does not need to run on a fast machine
@@ -67,7 +71,7 @@ jobs:
uses: ./.github/composite-actions/install
- name: Build
run: yarn build
run: pnpm build
- name: Configure npm
run: |
@@ -76,8 +80,10 @@ jobs:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Deploy pre-release
id: changesets
run: |
yarn changeset version --snapshot dev
yarn changeset publish --tag dev --no-git-tag
pnpm changeset version --snapshot dev
node ./scripts/pre-release.mjs
pnpm changeset publish --tag dev --no-git-tag
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+9 -5
View File
@@ -8,6 +8,10 @@ on:
branches:
- main
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -26,14 +30,14 @@ jobs:
uses: ./.github/composite-actions/install
- name: Build
run: yarn build:release
run: pnpm build:release
- name: Create release Pull Request or publish to NPM
id: changesets
uses: changesets/action@v1
with:
publish: yarn release
version: yarn version-packages
publish: pnpm release
version: pnpm version-packages
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -43,8 +47,8 @@ jobs:
if: steps.changesets.outputs.published != 'true'
run: |
git checkout main
yarn version-packages:nightly
yarn release:nightly
pnpm version-packages:nightly
pnpm release:nightly
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-20
View File
@@ -1,20 +0,0 @@
name: Compressed Size
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest-8
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: preactjs/compressed-size-action@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
strip-hash: "\\-(\\w{8})(?:\\.esm|\\.cjs)"
minimum-change-threshold: 100
# exclude source maps, node modules and any test related files
exclude: "{**/*.map,**/node_modules/**,**/test/**}"
-1
View File
@@ -10,7 +10,6 @@ dist-ssr
.cache
server/dist
public/dist
.turbo
./packages/contracts-js/abis
.idea/
.yalc/
+1
View File
@@ -0,0 +1 @@
auto-install-peers=true
+3 -3
View File
@@ -5,11 +5,11 @@
<br />
</p>
<h1 align="center"><a href='http://thirdweb.com/'>thirdweb</a> JavaScript/TypeScript monorepo</h1>
<h1 align="center"><a href='https://thirdweb.com/'>thirdweb</a> JavaScript/TypeScript monorepo</h1>
<p align="center">
<a href="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml">
<img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml/badge.svg"/>
<a href="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml">
<img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml/badge.svg"/>
</a>
<a href="https://discord.gg/thirdweb">
<img alt="Join our Discord!" src="https://img.shields.io/discord/834227967404146718.svg?color=7289da&label=discord&logo=discord&style=flat"/>
+23 -18
View File
@@ -6,14 +6,12 @@
"author": "thirdweb eng <[email protected]>",
"license": "MIT",
"private": true,
"workspaces": {
"packages": [
"packages/*",
"test/**/*"
]
"engines": {
"node": ">=16.7.0"
},
"scripts": {
"test": "turbo run test test:evm test:solana",
"preinstall": "npx only-allow pnpm",
"test": "turbo run test test:evm test:solana --filter=./packages/*",
"e2e": "turbo run e2e",
"build": "turbo run build --filter=./packages/*",
"build:release": "turbo run build --force --filter=./packages/*",
@@ -26,23 +24,30 @@
"changeset": "changeset",
"version-packages": "changeset version",
"release": "node ./scripts/pre-release.mjs && changeset publish",
"version-packages:nightly": "changeset version --snapshot nightly",
"version-packages:nightly": "node scripts/pre-nightly.mjs && changeset version --snapshot nightly",
"release:nightly": "node ./scripts/pre-release.mjs && changeset publish --tag nightly",
"push": "turbo run push --filter=./packages/*"
"push": "turbo run push --filter=./packages/*",
"hotlink-init": "node ./scripts/hotlink/hotlink-init.mjs",
"hotlink-revert": "node ./scripts/hotlink/hotlink-revert.mjs",
"explain:major": "node ./scripts/changeset-explain-major.mjs"
},
"packageManager": "[email protected]",
"packageManager": "[email protected]",
"dependencies": {
"@changesets/changelog-github": "^0.4.6",
"@changesets/cli": "^2.24.3",
"@manypkg/cli": "^0.19.1",
"@changesets/changelog-github": "^0.4.8",
"@changesets/cli": "^2.26.1",
"@changesets/get-dependents-graph": "^1.3.5",
"@changesets/get-release-plan": "^3.0.16",
"@changesets/parse": "^0.3.16",
"@manypkg/cli": "^0.20.0",
"@manypkg/get-packages": "^1.1.3",
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
"eslint": "^8.21.0",
"@playwright/test": "1.31.2",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"@types/node": "^18.15.7",
"eslint": "^8.36.0",
"mocha": "^10.2.0",
"postinstall-postinstall": "^2.1.0",
"prettier": "^2.7.1",
"turbo": "^1.4.6",
"yalc": "^1.0.0-pre.53"
"prettier": "^2.8.7",
"turbo": "^1.8.5",
"yalc": "1.0.0-pre.53"
},
"manypkg": {
"defaultBranch": "main"
+34
View File
@@ -1,5 +1,39 @@
# @thirdweb-dev/auth
## 3.0.9
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@0.2.10
## 3.0.8
### Patch Changes
- [#791](https://github.com/thirdweb-dev/js/pull/791) [`c2324bfd`](https://github.com/thirdweb-dev/js/commit/c2324bfdc25e92589a0dcd9736925924f7b7e516) Thanks [@jnsdls](https://github.com/jnsdls)! - now relies on `@thirdweb-dev/wallets` for wallet integrations instead of rolling its own
- [#794](https://github.com/thirdweb-dev/js/pull/794) [`a6fce0f6`](https://github.com/thirdweb-dev/js/commit/a6fce0f691ffeb2b7ec1355b1c55fa7e58700406) Thanks [@shift4id](https://github.com/shift4id)! - Minor copy changes
- [#702](https://github.com/thirdweb-dev/js/pull/702) [`33d1cc7f`](https://github.com/thirdweb-dev/js/commit/33d1cc7f92cd982e9e55130472c0006bb999f682) Thanks [@jnsdls](https://github.com/jnsdls)! - enable `browser` export
- [#709](https://github.com/thirdweb-dev/js/pull/709) [`d6913d70`](https://github.com/thirdweb-dev/js/commit/d6913d70b2d62a40f5e08e5f23f74e1f174887ca) Thanks [@adam-maj](https://github.com/adam-maj)! - Make @thirdweb-dev/wallets actual dev dependency of auth
- Updated dependencies [[`d01b135d`](https://github.com/thirdweb-dev/js/commit/d01b135d26efe6cebd84110b1a8eacee5c1b98db), [`93eca1de`](https://github.com/thirdweb-dev/js/commit/93eca1de7d23d66a129418aee72a41e394cbec16), [`a6fce0f6`](https://github.com/thirdweb-dev/js/commit/a6fce0f691ffeb2b7ec1355b1c55fa7e58700406), [`4bdeefe6`](https://github.com/thirdweb-dev/js/commit/4bdeefe6cb343a979b336dcd99197d895c2ae1fb), [`33d1cc7f`](https://github.com/thirdweb-dev/js/commit/33d1cc7f92cd982e9e55130472c0006bb999f682), [`83e99dbf`](https://github.com/thirdweb-dev/js/commit/83e99dbf289c7b8b8991c58383f8bc2a63f5a702), [`95bcfa6d`](https://github.com/thirdweb-dev/js/commit/95bcfa6df84c48cb5d590f47489f275d22bd660a), [`4d07b4b4`](https://github.com/thirdweb-dev/js/commit/4d07b4b4e7bdc6244d399f287611fd5eb5d39cac), [`4d5fdda9`](https://github.com/thirdweb-dev/js/commit/4d5fdda907af0451507d5e2812ec91fbd513a11c), [`6b31a9bc`](https://github.com/thirdweb-dev/js/commit/6b31a9bcd3898cf56ee3b774a44b7481738c8e60), [`4b77bc9b`](https://github.com/thirdweb-dev/js/commit/4b77bc9b88a218647e6c32c7002880f07347f32a), [`d01b135d`](https://github.com/thirdweb-dev/js/commit/d01b135d26efe6cebd84110b1a8eacee5c1b98db), [`e47ceafe`](https://github.com/thirdweb-dev/js/commit/e47ceafeae950c22860ca4c7dffba7d573e04a94), [`6c0c6538`](https://github.com/thirdweb-dev/js/commit/6c0c65389fb5b990a6e780e7d3f7dbd403fe950d), [`ddc1c33a`](https://github.com/thirdweb-dev/js/commit/ddc1c33a531dd063158ec736f43dd65b423c21e8), [`2221f97d`](https://github.com/thirdweb-dev/js/commit/2221f97ddc997d864db3a5f00e82862ece574922)]:
- @thirdweb-dev/wallets@0.2.9
## 3.0.7
### Patch Changes
- [#665](https://github.com/thirdweb-dev/js/pull/665) [`6ef52dc9`](https://github.com/thirdweb-dev/js/commit/6ef52dc916251d72416ba5a8b63b428770f54e75) Thanks [@shift4id](https://github.com/shift4id)! - Fix spelling throughout all packages
## 3.0.6
### Patch Changes
- [#601](https://github.com/thirdweb-dev/js/pull/601) [`66cf1fb`](https://github.com/thirdweb-dev/js/commit/66cf1fb5c2e8deb486543ee028d786bb8eef6c19) Thanks [@jnsdls](https://github.com/jnsdls)! - upgrade dependencies
## 3.0.5
### Patch Changes
+2
View File
@@ -5,6 +5,8 @@
</p>
<h1 align="center">thirdweb Auth</h1>
<p align="center">
<a href="https://www.npmjs.com/package/@thirdweb-dev/auth"><img src="https://img.shields.io/npm/v/@thirdweb-dev/auth?color=red&label=npm&logo=npm" alt="npm version"/></a>
<a href="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml"><img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml/badge.svg"/></a>
<a href="https://discord.gg/thirdweb"><img alt="Join our Discord!" src="https://img.shields.io/discord/834227967404146718.svg?color=7289da&label=discord&logo=discord&style=flat"/></a>
</p>
+4 -1
View File
@@ -1,4 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-evm.cjs.js",
"module": "dist/thirdweb-dev-auth-evm.esm.js"
"module": "dist/thirdweb-dev-auth-evm.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-evm.esm.js": "./dist/thirdweb-dev-auth-evm.browser.esm.js"
}
}
+4 -1
View File
@@ -1,4 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-express.cjs.js",
"module": "dist/thirdweb-dev-auth-express.esm.js"
"module": "dist/thirdweb-dev-auth-express.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-express.esm.js": "./dist/thirdweb-dev-auth-express.browser.esm.js"
}
}
+4 -1
View File
@@ -1,4 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-next-auth.cjs.js",
"module": "dist/thirdweb-dev-auth-next-auth.esm.js"
"module": "dist/thirdweb-dev-auth-next-auth.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-next-auth.esm.js": "./dist/thirdweb-dev-auth-next-auth.browser.esm.js"
}
}
+4 -1
View File
@@ -1,4 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-next.cjs.js",
"module": "dist/thirdweb-dev-auth-next.esm.js"
"module": "dist/thirdweb-dev-auth-next.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-next.esm.js": "./dist/thirdweb-dev-auth-next.browser.esm.js"
}
}
+46 -36
View File
@@ -1,31 +1,52 @@
{
"name": "@thirdweb-dev/auth",
"version": "3.0.5",
"version": "3.0.9",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
"./dist/thirdweb-dev-auth.esm.js": "./dist/thirdweb-dev-auth.browser.esm.js"
},
"exports": {
".": {
"module": "./dist/thirdweb-dev-auth.esm.js",
"module": {
"browser": "./dist/thirdweb-dev-auth.browser.esm.js",
"default": "./dist/thirdweb-dev-auth.esm.js"
},
"default": "./dist/thirdweb-dev-auth.cjs.js"
},
"./evm": {
"module": "./evm/dist/thirdweb-dev-auth-evm.esm.js",
"module": {
"browser": "./evm/dist/thirdweb-dev-auth-evm.browser.esm.js",
"default": "./evm/dist/thirdweb-dev-auth-evm.esm.js"
},
"default": "./evm/dist/thirdweb-dev-auth-evm.cjs.js"
},
"./next": {
"module": "./next/dist/thirdweb-dev-auth-next.esm.js",
"module": {
"browser": "./next/dist/thirdweb-dev-auth-next.browser.esm.js",
"default": "./next/dist/thirdweb-dev-auth-next.esm.js"
},
"default": "./next/dist/thirdweb-dev-auth-next.cjs.js"
},
"./solana": {
"module": "./solana/dist/thirdweb-dev-auth-solana.esm.js",
"module": {
"browser": "./solana/dist/thirdweb-dev-auth-solana.browser.esm.js",
"default": "./solana/dist/thirdweb-dev-auth-solana.esm.js"
},
"default": "./solana/dist/thirdweb-dev-auth-solana.cjs.js"
},
"./express": {
"module": "./express/dist/thirdweb-dev-auth-express.esm.js",
"module": {
"browser": "./express/dist/thirdweb-dev-auth-express.browser.esm.js",
"default": "./express/dist/thirdweb-dev-auth-express.esm.js"
},
"default": "./express/dist/thirdweb-dev-auth-express.cjs.js"
},
"./next-auth": {
"module": "./next-auth/dist/thirdweb-dev-auth-next-auth.esm.js",
"module": {
"browser": "./next-auth/dist/thirdweb-dev-auth-next-auth.browser.esm.js",
"default": "./next-auth/dist/thirdweb-dev-auth-next-auth.esm.js"
},
"default": "./next-auth/dist/thirdweb-dev-auth-next-auth.cjs.js"
},
"./package.json": "./package.json"
@@ -50,10 +71,11 @@
"evm/index.ts",
"solana/index.ts"
],
"___experimentalFlags_WILL_CHANGE_IN_PATCH": {
"exports": true
},
"exports": true
"exports": {
"envConditions": [
"browser"
]
}
},
"devDependencies": {
"@babel/core": "^7.19.3",
@@ -63,22 +85,23 @@
"@microsoft/api-extractor": "^7.29.2",
"@microsoft/tsdoc": "^0.14.1",
"@preconstruct/cli": "^2.2.1",
"@solana/web3.js": "^1.73.0",
"@swc-node/register": "^1.5.4",
"@solana/web3.js": "^1.62.0",
"@swc-node/register": "^1.5.1",
"@swc/core": "^1.3.23",
"@thirdweb-dev/wallets": "*",
"@types/bs58": "^4.0.1",
"@types/chai": "^4.3.4",
"@thirdweb-dev/tsconfig": "workspace:*",
"@types/chai": "^4.3.3",
"@types/cookie": "^0.5.1",
"@types/cookie-parser": "^1.4.3",
"@types/express": "^4.17.13",
"@types/mocha": "^10.0.1",
"@types/mocha": "^10.0.0",
"@types/uuid": "^9.0.0",
"@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.33.0",
"@wagmi/core": "^0.8.18",
"chai": "^4.3.7",
"chai": "^4.3.6",
"cookie-parser": "^1.4.6",
"eslint": "^8.21.0",
"eslint-config-prettier": "^8.3.0",
"eslint-config-thirdweb": "workspace:*",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-inclusive-language": "^2.2.0",
"eslint-plugin-prettier": "^4.2.1",
@@ -87,39 +110,25 @@
"express": "^4.18.1",
"mocha": "^10.2.0",
"next": "^12.2.0",
"next-auth": "^4.10.3",
"next-auth": "^4.20.1",
"prettier": "^2.7.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^4.7.4"
},
"peerDependencies": {
"@noble/ed25519": "^1.7.1",
"@solana/web3.js": "^1.73.0",
"bs58": "^5.0.0",
"cookie-parser": "^1.4.6",
"ethers": "^5",
"express": "^4",
"next": "^12 || ^13",
"next-auth": "^4",
"tweetnacl": "^1.0.3"
"next-auth": "^4"
},
"peerDependenciesMeta": {
"@noble/ed25519": {
"optional": true
},
"@solana/web3.js": {
"optional": true
},
"bs58": {
"optional": true
},
"cookie-parser": {
"optional": true
},
"tweetnacl": {
"optional": true
},
"ethers": {
"optional": true
},
@@ -134,8 +143,9 @@
}
},
"dependencies": {
"@thirdweb-dev/wallets": "workspace:*",
"cookie": "^0.5.0",
"uuid": "^9.0.0",
"zod": "^3.20.2"
}
}
}
+4 -1
View File
@@ -1,4 +1,7 @@
{
"main": "dist/thirdweb-dev-auth-solana.cjs.js",
"module": "dist/thirdweb-dev-auth-solana.esm.js"
"module": "dist/thirdweb-dev-auth-solana.esm.js",
"browser": {
"./dist/thirdweb-dev-auth-solana.esm.js": "./dist/thirdweb-dev-auth-solana.browser.esm.js"
}
}
-28
View File
@@ -1,28 +0,0 @@
import { ThirdwebAuth } from "../core";
import { LoginPayload, VerifyOptions } from "../core/schema";
import { SignerWallet } from "./signer";
import { ethers } from "ethers";
const wallet = new SignerWallet(ethers.Wallet.createRandom());
const authMap = new Map<string, ThirdwebAuth>();
export async function verifyLogin(
domain: string,
payload: LoginPayload,
options?: Omit<VerifyOptions, "domain">,
) {
let auth: ThirdwebAuth;
if (!authMap.has(domain)) {
auth = new ThirdwebAuth(wallet, domain);
authMap.set(domain, auth);
} else {
auth = authMap.get(domain) as ThirdwebAuth;
}
try {
const address = await auth.verify(payload, options);
return { address, error: undefined };
} catch (err: any) {
return { address: undefined, error: err.message };
}
}
-613
View File
@@ -1,613 +0,0 @@
import type { Chain } from "@wagmi/core";
const arbitrum: Chain = {
id: 42_161,
name: "Arbitrum One",
network: "arbitrum",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://arb-mainnet.g.alchemy.com/v2"],
webSocket: ["wss://arb-mainnet.g.alchemy.com/v2"],
},
infura: {
http: ["https://arbitrum-mainnet.infura.io/v3"],
webSocket: ["wss://arbitrum-mainnet.infura.io/ws/v3"],
},
default: {
http: ["https://arb1.arbitrum.io/rpc"],
},
public: {
http: ["https://arb1.arbitrum.io/rpc"],
},
},
blockExplorers: {
etherscan: { name: "Arbiscan", url: "https://arbiscan.io" },
default: { name: "Arbiscan", url: "https://arbiscan.io" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 7654707,
},
},
};
const arbitrumGoerli: Chain = {
id: 421_613,
name: "Arbitrum Goerli",
network: "arbitrum-goerli",
nativeCurrency: {
name: "Arbitrum Goerli Ether",
symbol: "ETH",
decimals: 18,
},
rpcUrls: {
alchemy: {
http: ["https://arb-goerli.g.alchemy.com/v2"],
webSocket: ["wss://arb-goerli.g.alchemy.com/v2"],
},
infura: {
http: ["https://arbitrum-goerli.infura.io/v3"],
webSocket: ["wss://arbitrum-goerli.infura.io/ws/v3"],
},
default: {
http: ["https://goerli-rollup.arbitrum.io/rpc"],
},
public: {
http: ["https://goerli-rollup.arbitrum.io/rpc"],
},
},
blockExplorers: {
etherscan: { name: "Arbiscan", url: "https://goerli.arbiscan.io/" },
default: { name: "Arbiscan", url: "https://goerli.arbiscan.io/" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 88114,
},
},
testnet: true,
};
const avalanche: Chain = {
id: 43_114,
name: "Avalanche",
network: "avalanche",
nativeCurrency: {
decimals: 18,
name: "Avalanche",
symbol: "AVAX",
},
rpcUrls: {
default: { http: ["https://api.avax.network/ext/bc/C/rpc"] },
public: { http: ["https://api.avax.network/ext/bc/C/rpc"] },
},
blockExplorers: {
etherscan: { name: "SnowTrace", url: "https://snowtrace.io" },
default: { name: "SnowTrace", url: "https://snowtrace.io" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 11907934,
},
},
};
const avalancheFuji: Chain = {
id: 43_113,
name: "Avalanche Fuji",
network: "avalanche-fuji",
nativeCurrency: {
decimals: 18,
name: "Avalanche Fuji",
symbol: "AVAX",
},
rpcUrls: {
default: { http: ["https://api.avax-test.network/ext/bc/C/rpc"] },
public: { http: ["https://api.avax-test.network/ext/bc/C/rpc"] },
},
blockExplorers: {
etherscan: { name: "SnowTrace", url: "https://testnet.snowtrace.io" },
default: { name: "SnowTrace", url: "https://testnet.snowtrace.io" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 7096959,
},
},
testnet: true,
};
const bsc: Chain = {
id: 56,
name: "BNB Smart Chain",
network: "bsc",
nativeCurrency: {
decimals: 18,
name: "BNB",
symbol: "BNB",
},
rpcUrls: {
default: { http: ["https://rpc.ankr.com/bsc"] },
public: { http: ["https://rpc.ankr.com/bsc"] },
},
blockExplorers: {
etherscan: { name: "BscScan", url: "https://bscscan.com" },
default: { name: "BscScan", url: "https://bscscan.com" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 15921452,
},
},
};
const bscTestnet: Chain = {
id: 97,
name: "Binance Smart Chain Testnet",
network: "bsc-testnet",
nativeCurrency: {
decimals: 18,
name: "BNB",
symbol: "tBNB",
},
rpcUrls: {
default: { http: ["https://bsc-testnet.public.blastapi.io"] },
public: { http: ["https://bsc-testnet.public.blastapi.io"] },
},
blockExplorers: {
etherscan: { name: "BscScan", url: "https://testnet.bscscan.com" },
default: { name: "BscScan", url: "https://testnet.bscscan.com" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 17422483,
},
},
testnet: true,
};
const fantom: Chain = {
id: 250,
name: "Fantom",
network: "fantom",
nativeCurrency: {
decimals: 18,
name: "Fantom",
symbol: "FTM",
},
rpcUrls: {
default: { http: ["https://rpc.ankr.com/fantom"] },
public: { http: ["https://rpc.ankr.com/fantom"] },
},
blockExplorers: {
etherscan: { name: "FTMScan", url: "https://ftmscan.com" },
default: { name: "FTMScan", url: "https://ftmscan.com" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 33001987,
},
},
};
const fantomTestnet: Chain = {
id: 4002,
name: "Fantom Testnet",
network: "fantom-testnet",
nativeCurrency: {
decimals: 18,
name: "Fantom",
symbol: "FTM",
},
rpcUrls: {
default: { http: ["https://rpc.testnet.fantom.network"] },
public: { http: ["https://rpc.testnet.fantom.network"] },
},
blockExplorers: {
etherscan: { name: "FTMScan", url: "https://testnet.ftmscan.com" },
default: { name: "FTMScan", url: "https://testnet.ftmscan.com" },
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 8328688,
},
},
};
const goerli: Chain = {
id: 5,
network: "goerli",
name: "Goerli",
nativeCurrency: { name: "Goerli Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://eth-goerli.g.alchemy.com/v2"],
webSocket: ["wss://eth-goerli.g.alchemy.com/v2"],
},
infura: {
http: ["https://goerli.infura.io/v3"],
webSocket: ["wss://goerli.infura.io/ws/v3"],
},
default: {
http: ["https://rpc.ankr.com/eth_goerli"],
},
public: {
http: ["https://rpc.ankr.com/eth_goerli"],
},
},
blockExplorers: {
etherscan: {
name: "Etherscan",
url: "https://goerli.etherscan.io",
},
default: {
name: "Etherscan",
url: "https://goerli.etherscan.io",
},
},
contracts: {
ensRegistry: {
address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
},
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 6507670,
},
},
testnet: true,
};
const mainnet: Chain = {
id: 1,
network: "homestead",
name: "Ethereum",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://eth-mainnet.g.alchemy.com/v2"],
webSocket: ["wss://eth-mainnet.g.alchemy.com/v2"],
},
infura: {
http: ["https://mainnet.infura.io/v3"],
webSocket: ["wss://mainnet.infura.io/ws/v3"],
},
default: {
http: ["https://cloudflare-eth.com"],
},
public: {
http: ["https://cloudflare-eth.com"],
},
},
blockExplorers: {
etherscan: {
name: "Etherscan",
url: "https://etherscan.io",
},
default: {
name: "Etherscan",
url: "https://etherscan.io",
},
},
contracts: {
ensRegistry: {
address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
},
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 14353601,
},
},
};
const optimism: Chain = {
id: 10,
name: "Optimism",
network: "optimism",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://opt-mainnet.g.alchemy.com/v2"],
webSocket: ["wss://opt-mainnet.g.alchemy.com/v2"],
},
infura: {
http: ["https://optimism-mainnet.infura.io/v3"],
webSocket: ["wss://optimism-mainnet.infura.io/ws/v3"],
},
default: {
http: ["https://mainnet.optimism.io"],
},
public: {
http: ["https://mainnet.optimism.io"],
},
},
blockExplorers: {
etherscan: {
name: "Etherscan",
url: "https://optimistic.etherscan.io",
},
default: {
name: "Etherscan",
url: "https://optimistic.etherscan.io",
},
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 4286263,
},
},
};
const optimismGoerli: Chain = {
id: 420,
name: "Optimism Goerli",
network: "optimism-goerli",
nativeCurrency: { name: "Goerli Ether", symbol: "ETH", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://opt-goerli.g.alchemy.com/v2"],
webSocket: ["wss://opt-goerli.g.alchemy.com/v2"],
},
infura: {
http: ["https://optimism-goerli.infura.io/v3"],
webSocket: ["wss://optimism-goerli.infura.io/ws/v3"],
},
default: {
http: ["https://goerli.optimism.io"],
},
public: {
http: ["https://goerli.optimism.io"],
},
},
blockExplorers: {
etherscan: {
name: "Etherscan",
url: "https://goerli-optimism.etherscan.io",
},
default: {
name: "Etherscan",
url: "https://goerli-optimism.etherscan.io",
},
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 49461,
},
},
testnet: true,
};
const polygon: Chain = {
id: 137,
name: "Polygon",
network: "matic",
nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://polygon-mainnet.g.alchemy.com/v2"],
webSocket: ["wss://polygon-mainnet.g.alchemy.com/v2"],
},
infura: {
http: ["https://polygon-mainnet.infura.io/v3"],
webSocket: ["wss://polygon-mainnet.infura.io/ws/v3"],
},
default: {
http: ["https://polygon-rpc.com"],
},
public: {
http: ["https://polygon-rpc.com"],
},
},
blockExplorers: {
etherscan: {
name: "PolygonScan",
url: "https://polygonscan.com",
},
default: {
name: "PolygonScan",
url: "https://polygonscan.com",
},
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 25770160,
},
},
};
const polygonMumbai: Chain = {
id: 80_001,
name: "Polygon Mumbai",
network: "maticmum",
nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18 },
rpcUrls: {
alchemy: {
http: ["https://polygon-mumbai.g.alchemy.com/v2"],
webSocket: ["wss://polygon-mumbai.g.alchemy.com/v2"],
},
infura: {
http: ["https://polygon-mumbai.infura.io/v3"],
webSocket: ["wss://polygon-mumbai.infura.io/ws/v3"],
},
default: {
http: ["https://matic-mumbai.chainstacklabs.com"],
},
public: {
http: ["https://matic-mumbai.chainstacklabs.com"],
},
},
blockExplorers: {
etherscan: {
name: "PolygonScan",
url: "https://mumbai.polygonscan.com",
},
default: {
name: "PolygonScan",
url: "https://mumbai.polygonscan.com",
},
},
contracts: {
multicall3: {
address: "0xca11bde05977b3631167028862be2a173976ca11",
blockCreated: 25770160,
},
},
testnet: true,
};
/**
* @public
*/
export enum ChainId {
Mainnet = 1,
Goerli = 5,
Polygon = 137,
Mumbai = 80001,
Fantom = 250,
FantomTestnet = 4002,
Avalanche = 43114,
AvalancheFujiTestnet = 43113,
Optimism = 10,
OptimismGoerli = 420,
Arbitrum = 42161,
ArbitrumGoerli = 421613,
BinanceSmartChainMainnet = 56,
BinanceSmartChainTestnet = 97,
}
/**
* @public
*/
export type SUPPORTED_CHAIN_ID =
| ChainId.Mainnet
| ChainId.Goerli
| ChainId.Mumbai
| ChainId.Polygon
| ChainId.Fantom
| ChainId.FantomTestnet
| ChainId.Avalanche
| ChainId.AvalancheFujiTestnet
| ChainId.Optimism
| ChainId.OptimismGoerli
| ChainId.Arbitrum
| ChainId.ArbitrumGoerli
| ChainId.BinanceSmartChainMainnet
| ChainId.BinanceSmartChainTestnet;
/**
* @public
*/
export const SUPPORTED_CHAIN_IDS: SUPPORTED_CHAIN_ID[] = [
ChainId.Mainnet,
ChainId.Goerli,
ChainId.Polygon,
ChainId.Mumbai,
ChainId.Fantom,
ChainId.FantomTestnet,
ChainId.Avalanche,
ChainId.AvalancheFujiTestnet,
ChainId.Optimism,
ChainId.OptimismGoerli,
ChainId.Arbitrum,
ChainId.ArbitrumGoerli,
ChainId.BinanceSmartChainMainnet,
ChainId.BinanceSmartChainTestnet,
];
/**
* @public
*/
export const NATIVE_TOKEN_ADDRESS =
"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
export const DEFAULT_API_KEY =
"c6634ad2d97b74baf15ff556016830c251050e6c36b9da508ce3ec80095d3dc1";
function getRpcNameFromChainId(chainId: SUPPORTED_CHAIN_ID): string {
switch (chainId) {
case ChainId.Mainnet:
return "mainnet";
case ChainId.Goerli:
return "goerli";
case ChainId.Polygon:
return "polygon";
case ChainId.Mumbai:
return "mumbai";
case ChainId.Avalanche:
return "avalanche";
case ChainId.AvalancheFujiTestnet:
return "avalanche-fuji";
case ChainId.Fantom:
return "fantom";
case ChainId.FantomTestnet:
return "fantom-testnet";
case ChainId.Arbitrum:
return "arbitrum";
case ChainId.ArbitrumGoerli:
return "arbitrum-goerli";
case ChainId.Optimism:
return "optimism";
case ChainId.OptimismGoerli:
return "optimism-goerli";
case ChainId.BinanceSmartChainMainnet:
return "bsc";
case ChainId.BinanceSmartChainTestnet:
return "bsc-testnet";
default:
throw new Error("Unsupported chain id");
}
}
export function getRpcUrl(chainId: SUPPORTED_CHAIN_ID) {
return `https://${getRpcNameFromChainId(
chainId,
)}.rpc.thirdweb.com/${DEFAULT_API_KEY}`;
}
function enhanceChain<TChain extends Chain>(chain: TChain) {
const twRPC = getRpcUrl(chain.id);
return {
...chain,
rpcUrls: {
...chain.rpcUrls,
default: {
...chain.rpcUrls.default,
http: [twRPC, ...chain.rpcUrls.default.http],
},
public: {
...chain.rpcUrls.public,
http: [twRPC, ...(chain.rpcUrls.public?.http || [])],
},
},
} as TChain;
}
export const supportedChains: Record<SUPPORTED_CHAIN_ID, Chain> = {
[ChainId.Mainnet]: enhanceChain(mainnet),
[ChainId.Goerli]: enhanceChain(goerli),
[ChainId.Polygon]: enhanceChain(polygon),
[ChainId.Mumbai]: enhanceChain(polygonMumbai),
[ChainId.Avalanche]: enhanceChain(avalanche),
[ChainId.AvalancheFujiTestnet]: enhanceChain(avalancheFuji),
[ChainId.Fantom]: enhanceChain(fantom),
[ChainId.FantomTestnet]: enhanceChain(fantomTestnet),
[ChainId.Arbitrum]: enhanceChain(arbitrum),
[ChainId.ArbitrumGoerli]: enhanceChain(arbitrumGoerli),
[ChainId.Optimism]: enhanceChain(optimism),
[ChainId.OptimismGoerli]: enhanceChain(optimismGoerli),
[ChainId.BinanceSmartChainMainnet]: enhanceChain(bsc),
[ChainId.BinanceSmartChainTestnet]: enhanceChain(bscTestnet),
};
export const thirdwebChains: Chain[] = Object.values(supportedChains);
+31 -2
View File
@@ -1,2 +1,31 @@
export * from "./signer";
export * from "./auth";
import { ThirdwebAuth } from "../core";
import { LoginPayload, VerifyOptions } from "../core/schema";
import { EthersWallet } from "@thirdweb-dev/wallets/evm/wallets/ethers";
import { ethers } from "ethers";
const authMap = new Map<string, ThirdwebAuth>();
let wallet: EthersWallet;
export async function verifyLogin(
domain: string,
payload: LoginPayload,
options?: Omit<VerifyOptions, "domain">,
) {
wallet = wallet || new EthersWallet(ethers.Wallet.createRandom());
let auth: ThirdwebAuth;
if (!authMap.has(domain)) {
auth = new ThirdwebAuth(wallet, domain);
authMap.set(domain, auth);
} else {
auth = authMap.get(domain) as ThirdwebAuth;
}
try {
const address = await auth.verify(payload, options);
return { address, error: undefined };
} catch (err: any) {
return { address: undefined, error: err.message };
}
}
export { PrivateKeyWallet } from "@thirdweb-dev/wallets/evm/wallets/private-key";
-93
View File
@@ -1,93 +0,0 @@
import { SUPPORTED_CHAIN_ID, supportedChains } from "./evm";
import type { Ecosystem, GenericAuthWallet } from "@thirdweb-dev/wallets";
import { ethers } from "ethers";
const EIP1271_ABI = [
"function isValidSignature(bytes32 _message, bytes _signature) public view returns (bytes4)",
];
const EIP1271_MAGICVALUE = "0x1626ba7e";
export const checkContractWalletSignature = async (
message: string,
signature: string,
address: string,
chainId: number,
): Promise<boolean> => {
const rpcUrl =
supportedChains[chainId as SUPPORTED_CHAIN_ID]?.rpcUrls.default.http[0];
if (!rpcUrl) {
return false;
}
const provider = new ethers.providers.JsonRpcProvider(rpcUrl);
const walletContract = new ethers.Contract(address, EIP1271_ABI, provider);
const hashMessage = ethers.utils.hashMessage(message);
try {
const res = await walletContract.isValidSignature(hashMessage, signature);
return res === EIP1271_MAGICVALUE;
} catch {
return false;
}
};
export class SignerWallet implements GenericAuthWallet {
type: Ecosystem = "evm";
#signer: ethers.Signer;
constructor(signer: ethers.Signer) {
this.#signer = signer;
}
public async getAddress(): Promise<string> {
return this.#signer.getAddress();
}
public async getChainId(): Promise<number> {
return this.#signer.getChainId();
}
public async signMessage(message: string): Promise<string> {
return await this.#signer.signMessage(message);
}
public async verifySignature(
message: string,
signature: string,
address: string,
chainId?: number,
): Promise<boolean> {
const messageHash = ethers.utils.hashMessage(message);
const messageHashBytes = ethers.utils.arrayify(messageHash);
const recoveredAddress = ethers.utils.recoverAddress(
messageHashBytes,
signature,
);
if (recoveredAddress === address) {
return true;
}
// Check if the address is a smart contract wallet
if (chainId !== undefined) {
try {
const isValid = await checkContractWalletSignature(
message,
signature,
address,
chainId || 1,
);
return isValid;
} catch {
// no-op
}
}
return false;
}
}
export class PrivateKeyWallet extends SignerWallet {
constructor(privateKey: string) {
super(new ethers.Wallet(privateKey));
}
}
+17 -2
View File
@@ -3,7 +3,11 @@ import { getUser } from "./helpers/user";
import loginHandler from "./routes/login";
import logoutHandler from "./routes/logout";
import userHandler from "./routes/user";
import { ThirdwebAuthConfig, ThirdwebAuthContext } from "./types";
import {
ThirdwebAuthConfig,
ThirdwebAuthContext,
ThirdwebAuthUser,
} from "./types";
import cookieParser from "cookie-parser";
import express, { Request, Response } from "express";
@@ -17,10 +21,21 @@ const asyncHandler =
return Promise.resolve(fnReturn).catch(next);
};
type ThirdwebAuthReturnType<
TData extends Json = Json,
TSession extends Json = Json,
> = {
authRouter: express.Router;
authMiddleware: express.RequestHandler;
getUser: (req: Request) => Promise<ThirdwebAuthUser<TData, TSession> | null>;
};
export function ThirdwebAuth<
TData extends Json = Json,
TSession extends Json = Json,
>(cfg: ThirdwebAuthConfig<TData, TSession>) {
>(
cfg: ThirdwebAuthConfig<TData, TSession>,
): ThirdwebAuthReturnType<TData, TSession> {
const ctx = {
...cfg,
auth: new ThirdwebAuthSDK(cfg.wallet, cfg.domain),
+1 -1
View File
@@ -31,5 +31,5 @@ export default async function handler(
}),
);
return res.status(200).json({ message: "Succesfully logged out" });
return res.status(200).json({ message: "Successfully logged out" });
}
+1 -1
View File
@@ -1,6 +1,6 @@
import { ThirdwebAuth } from "../../core";
import { Json, LoginPayloadOutputSchema, User } from "../../core/schema";
import { GenericAuthWallet } from "@thirdweb-dev/wallets";
import type { GenericAuthWallet } from "@thirdweb-dev/wallets";
import { Request } from "express";
import { z } from "zod";
+2 -2
View File
@@ -1,13 +1,13 @@
import { LoginPayload, ThirdwebAuth, VerifyOptions } from "../core";
import { SignerWallet } from "../evm";
import { ThirdwebProviderConfig } from "./types";
import { EthersWallet } from "@thirdweb-dev/wallets/evm/wallets/ethers";
import { ethers } from "ethers";
import { Awaitable, Session } from "next-auth/core/types";
import { JWT } from "next-auth/jwt/types";
import CredentialsProvider from "next-auth/providers/credentials";
export function ThirdwebAuthProvider(cfg: ThirdwebProviderConfig) {
const wallet = new SignerWallet(ethers.Wallet.createRandom());
const wallet = new EthersWallet(ethers.Wallet.createRandom());
const auth = new ThirdwebAuth(wallet, cfg.domain);
return CredentialsProvider({
+1 -1
View File
@@ -31,5 +31,5 @@ export default async function handler(
}),
);
return res.status(200).json({ message: "Succesfully logged out" });
return res.status(200).json({ message: "Successfully logged out" });
}
+1 -1
View File
@@ -1,6 +1,6 @@
import { ThirdwebAuth } from "../../core";
import { Json, LoginPayloadOutputSchema, User } from "../../core/schema";
import { GenericAuthWallet } from "@thirdweb-dev/wallets";
import type { GenericAuthWallet } from "@thirdweb-dev/wallets";
import { GetServerSidePropsContext, NextApiRequest } from "next";
import { NextRequest } from "next/server";
import { z } from "zod";
-28
View File
@@ -1,28 +0,0 @@
import { ThirdwebAuth } from "../core";
import { LoginPayload, VerifyOptions } from "../core/schema";
import { KeypairWallet } from "./signer";
import { Keypair } from "@solana/web3.js";
const wallet = new KeypairWallet(Keypair.generate());
const authMap = new Map<string, ThirdwebAuth>();
export async function verifyLogin(
domain: string,
payload: LoginPayload,
options?: Omit<VerifyOptions, "domain">,
) {
let auth: ThirdwebAuth;
if (!authMap.has(domain)) {
auth = new ThirdwebAuth(wallet, domain);
authMap.set(domain, auth);
} else {
auth = authMap.get(domain) as ThirdwebAuth;
}
try {
const address = await auth.verify(payload, options);
return { address, error: undefined };
} catch (err: any) {
return { address: undefined, error: err.message };
}
}
+29 -2
View File
@@ -1,2 +1,29 @@
export * from "./signer";
export * from "./auth";
import { ThirdwebAuth } from "../core";
import { LoginPayload, VerifyOptions } from "../core/schema";
import { Keypair } from "@solana/web3.js";
import { KeypairWallet } from "@thirdweb-dev/wallets/solana/wallets/keypair";
const authMap = new Map<string, ThirdwebAuth>();
let wallet: KeypairWallet;
export async function verifyLogin(
domain: string,
payload: LoginPayload,
options?: Omit<VerifyOptions, "domain">,
) {
wallet = wallet || new KeypairWallet(Keypair.generate());
let auth: ThirdwebAuth;
if (!authMap.has(domain)) {
auth = new ThirdwebAuth(wallet, domain);
authMap.set(domain, auth);
} else {
auth = authMap.get(domain) as ThirdwebAuth;
}
try {
const address = await auth.verify(payload, options);
return { address, error: undefined };
} catch (err: any) {
return { address: undefined, error: err.message };
}
}
-69
View File
@@ -1,69 +0,0 @@
import * as ed25519 from "@noble/ed25519";
import { Signer, Keypair, PublicKey } from "@solana/web3.js";
import type { Ecosystem, GenericAuthWallet } from "@thirdweb-dev/wallets";
import bs58 from "bs58";
import nacl from "tweetnacl";
export interface SolanaSigner {
publicKey: PublicKey;
signMessage(message: Uint8Array): Promise<Uint8Array>;
}
export class SignerWallet implements GenericAuthWallet {
type: Ecosystem = "solana";
private signer: SolanaSigner;
constructor(signer: SolanaSigner) {
this.signer = signer;
}
public async getAddress(): Promise<string> {
return this.signer.publicKey.toBase58();
}
public async signMessage(message: string): Promise<string> {
const encodedMessage = new TextEncoder().encode(message);
const signedMessage = await this.signer.signMessage(encodedMessage);
const signature = bs58.encode(signedMessage);
return signature;
}
public async verifySignature(
message: string,
signature: string,
address: string,
): Promise<boolean> {
return nacl.sign.detached.verify(
new TextEncoder().encode(message),
bs58.decode(signature),
bs58.decode(address),
);
}
}
class KeypairSigner implements SolanaSigner {
private keypair: Signer;
public publicKey: PublicKey;
constructor(keypair: Signer) {
this.keypair = keypair;
this.publicKey = keypair.publicKey;
}
public async signMessage(message: Uint8Array): Promise<Uint8Array> {
return ed25519.sync.sign(message, this.keypair.secretKey.slice(0, 32));
}
}
export class KeypairWallet extends SignerWallet {
constructor(keypair: Keypair) {
super(new KeypairSigner(keypair));
}
}
export class PrivateKeyWallet extends KeypairWallet {
constructor(privateKey: string) {
super(Keypair.fromSecretKey(bs58.decode(privateKey)));
}
}
+4 -4
View File
@@ -1,5 +1,5 @@
import { ThirdwebAuth } from "../src/core";
import { SignerWallet } from "../src/evm";
import { EthersWallet } from "@thirdweb-dev/wallets/evm/wallets/ethers";
import { expect } from "chai";
import { Wallet } from "ethers";
@@ -14,9 +14,9 @@ describe("Wallet Authentication", async () => {
Wallet.createRandom(),
];
adminWallet = new SignerWallet(adminSigner);
signerWallet = new SignerWallet(signerSigner);
attackerWallet = new SignerWallet(attackerSigner);
adminWallet = new EthersWallet(adminSigner);
signerWallet = new EthersWallet(signerSigner);
attackerWallet = new EthersWallet(attackerSigner);
auth = new ThirdwebAuth(signerWallet, "thirdweb.com");
});
+1 -1
View File
@@ -1,6 +1,6 @@
import { ThirdwebAuth } from "../src/core";
import { KeypairWallet } from "../src/solana";
import { Keypair } from "@solana/web3.js";
import { KeypairWallet } from "@thirdweb-dev/wallets/solana/wallets/keypair";
import { expect } from "chai";
describe("Wallet Authentication", async () => {
+140
View File
@@ -1,5 +1,145 @@
# @thirdweb-dev/chains
## 0.1.8
### Patch Changes
- [#839](https://github.com/thirdweb-dev/js/pull/839) [`9b303829`](https://github.com/thirdweb-dev/js/commit/9b3038291d1c9f4eb243718a6070e3dac829a354) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains (add telos icon & avalanche fuji faucet)
## 0.1.7
### Patch Changes
- [#584](https://github.com/thirdweb-dev/js/pull/584) [`d01b135d`](https://github.com/thirdweb-dev/js/commit/d01b135d26efe6cebd84110b1a8eacee5c1b98db) Thanks [@MananTank](https://github.com/MananTank)! - [Wallets, RN, React, ReactCore] New Wallets SDK implementation
#### Breaking changes:
### React and React Native
1. Replaced `walletConnectors` with `supportedWallets` in the ThirdwebProvider.
```diff
import { coinbaseWallet, metamaskWallet, ThirdwebProvider } from "@thirdweb-dev/react";
const App = () => {
- return <ThirdwebProvider walletConnectors={["metamask", "coinbaseWallet"]}>{...}</ThirdwebProvider>
+ return <ThirdwebProvider supportedWallets={[metamaskWallet(), coinbaseWallet()]}>{...}</ThirdwebProvider>
}
```
2. `magicLinkConnector` not yet implemented in this version
3. Removed `desiredChainId`, use `activeChain` instead
4. `DAppMetaData` type now requires the `url` field to be passed in
5. Removed `chainRpc` prop from the ThirdwebProvider. You can pass custom rpcs in the Chain object through the `activeChain` and `supportedChains` props.
6. Replaced the `useNetwork` hook for `useChain` and `useSwitchChain`
7. Updated `ConnectWallet` button in React:
- Removed `accentColor` and `colorMode`
- Added a `theme` prop with `dark` and `light` values
8. Updated the `Web3Button` button in React:
- Removed `accentColor` and `colorMode`
- Added a `theme` prop with `dark` and `light` values
### Patch Changes
- You can now pass a `theme` prop to the ThirdwebProvider. Values are `light` and `dark`
```
import { ThirdwebProvider } from "@thirdweb-dev/react";
const App = () => {
return <ThirdwebProvider theme='light'>{...}</ThirdwebProvider>
}
```
- New wallet hooks added
- useWallet()
- useConenct()
- useConnectionStatus()
- useSwitchChain()
- Removed `wagmi` dependency from the `react-native-compat` package and updated shims
- New `ConnectWallet` and `Web3Button` components in React Native
- New wallets package with support for the most common wallets. MetaMask, Coinbase, WalletConnect V1 and V2 and PaperWallet
- Added `autoSwitch` prop to the ThirdwebProvider to control whether or not to automatically switch to wallet's network to active chain
```
import { ThirdwebProvider } from "@thirdweb-dev/react";
const App = () => {
return <ThirdwebProvider autoSwitch>{...}</ThirdwebProvider>
}
```
- [#771](https://github.com/thirdweb-dev/js/pull/771) [`e3161e59`](https://github.com/thirdweb-dev/js/commit/e3161e5986e1831c6dae517889b6a6ba181ccd36) Thanks [@iketw](https://github.com/iketw)! - [ReactNativeSDK] Use wallet metadata from the wallet class
- [#702](https://github.com/thirdweb-dev/js/pull/702) [`33d1cc7f`](https://github.com/thirdweb-dev/js/commit/33d1cc7f92cd982e9e55130472c0006bb999f682) Thanks [@jnsdls](https://github.com/jnsdls)! - enable `browser` export
- [#801](https://github.com/thirdweb-dev/js/pull/801) [`6b145d4b`](https://github.com/thirdweb-dev/js/commit/6b145d4b36d2706f8a2dcad4b8f680c41606a556) Thanks [@jnsdls](https://github.com/jnsdls)! - updated chains
- [#822](https://github.com/thirdweb-dev/js/pull/822) [`e2ec70c4`](https://github.com/thirdweb-dev/js/commit/e2ec70c49264737fbd2afb1cacabded82262bc6c) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains again
- [#721](https://github.com/thirdweb-dev/js/pull/721) [`1baed0b1`](https://github.com/thirdweb-dev/js/commit/1baed0b1d83b4c92dac44430af5436d04727d92f) Thanks [@adam-maj](https://github.com/adam-maj)! - Update chains
- [#748](https://github.com/thirdweb-dev/js/pull/748) [`2221f97d`](https://github.com/thirdweb-dev/js/commit/2221f97ddc997d864db3a5f00e82862ece574922) Thanks [@MananTank](https://github.com/MananTank)! - [ReactCore] Inject api key to chains
- [#770](https://github.com/thirdweb-dev/js/pull/770) [`5c7c0923`](https://github.com/thirdweb-dev/js/commit/5c7c0923e45b3f0ee27c83a9c4c691ce9bbb8539) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - update chains
- [#809](https://github.com/thirdweb-dev/js/pull/809) [`9a4a542c`](https://github.com/thirdweb-dev/js/commit/9a4a542ce9650605d48745a40126ca6b52a16722) Thanks [@jnsdls](https://github.com/jnsdls)! - add new chains
- [#719](https://github.com/thirdweb-dev/js/pull/719) [`b2d0ffb0`](https://github.com/thirdweb-dev/js/commit/b2d0ffb049208de9f9212eae7059212aed74fec4) Thanks [@nachoiacovino](https://github.com/nachoiacovino)! - Replace Goerli default faucet
## 0.1.6
### Patch Changes
- [#635](https://github.com/thirdweb-dev/js/pull/635) [`7832041c`](https://github.com/thirdweb-dev/js/commit/7832041c0fb25852489c73453c2b26e844d94582) Thanks [@jnsdls](https://github.com/jnsdls)! - Add additional chains
- [#643](https://github.com/thirdweb-dev/js/pull/643) [`85250cf7`](https://github.com/thirdweb-dev/js/commit/85250cf71190092b61023d56d1e786d395a008a6) Thanks [@jnsdls](https://github.com/jnsdls)! - expose `getChainBySlug` and `ChainSlug` and `ChainId` type
- [#638](https://github.com/thirdweb-dev/js/pull/638) [`e33bd2a8`](https://github.com/thirdweb-dev/js/commit/e33bd2a856bbc2e2f6b0c90b46be5166281875ae) Thanks [@jnsdls](https://github.com/jnsdls)! - Add `getChainByChainId()` to retrieve chain by chainId
- [#685](https://github.com/thirdweb-dev/js/pull/685) [`4355518a`](https://github.com/thirdweb-dev/js/commit/4355518afea68cd8026d3ab8a0144c15d66b9e24) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains
## 0.1.5
### Patch Changes
- [#617](https://github.com/thirdweb-dev/js/pull/617) [`d7deaa4`](https://github.com/thirdweb-dev/js/commit/d7deaa48f2f943deb8f2ad7459d17de930c00517) Thanks [@jnsdls](https://github.com/jnsdls)! - Add Base Goerli
- [#619](https://github.com/thirdweb-dev/js/pull/619) [`b7a5b45`](https://github.com/thirdweb-dev/js/commit/b7a5b454415596316f58a75f14472631242cc115) Thanks [@jnsdls](https://github.com/jnsdls)! - fix the slug for base-goerli
## 0.1.4
### Patch Changes
- [#613](https://github.com/thirdweb-dev/js/pull/613) [`a3472a1`](https://github.com/thirdweb-dev/js/commit/a3472a133175826d052ee986907de014e3cf3ad9) Thanks [@jnsdls](https://github.com/jnsdls)! - Update Chains
- [#616](https://github.com/thirdweb-dev/js/pull/616) [`5712650`](https://github.com/thirdweb-dev/js/commit/5712650074e2415bbea4173a0bb68d727ff2db90) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - new chains
## 0.1.3
### Patch Changes
- [#608](https://github.com/thirdweb-dev/js/pull/608) [`3d644fb`](https://github.com/thirdweb-dev/js/commit/3d644fb8cbae8bc3ee624505831b9f5c6996898a) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains
## 0.1.2
### Patch Changes
- [#601](https://github.com/thirdweb-dev/js/pull/601) [`66cf1fb`](https://github.com/thirdweb-dev/js/commit/66cf1fb5c2e8deb486543ee028d786bb8eef6c19) Thanks [@jnsdls](https://github.com/jnsdls)! - upgrade dependencies
## 0.1.1
### Patch Changes
+24 -4
View File
@@ -5,12 +5,32 @@
</p>
<h1 align="center">thirdweb chains</h1>
<p align="center">
<!-- <a href="https://www.npmjs.com/package/@thirdweb-dev/sdk"><img src="https://img.shields.io/npm/v/@thirdweb-dev/sdk?color=red&label=npm&logo=npm" alt="npm version"/></a> -->
<!-- <a href="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml"><img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml/badge.svg"/></a> -->
<!-- <a href="https://discord.gg/thirdweb"><img alt="Join our Discord!" src="https://img.shields.io/discord/834227967404146718.svg?color=7289da&label=discord&logo=discord&style=flat"/></a> -->
<a href="https://www.npmjs.com/package/@thirdweb-dev/chains"><img src="https://img.shields.io/npm/v/@thirdweb-dev/chains?color=red&label=npm&logo=npm" alt="npm version"/></a>
<a href="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml"><img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/build-test-lint.yml/badge.svg"/></a>
<a href="https://discord.gg/thirdweb"><img alt="Join our Discord!" src="https://img.shields.io/discord/834227967404146718.svg?color=7289da&label=discord&logo=discord&style=flat"/></a>
</p>
<!-- <p align="center"><strong>Best in class Web3 SDK for Browser, Node and Mobile apps</strong></p> -->
<br />
### todo
## Installation
```bash
yarn add @thirdweb-dev/chains
```
## Contributing
### Adding / Overriding Chain Data
Chain data is automatically pulled in from [ethereum-lists/chains](https://github.com/ethereum-lists/chains) on every build.
#### Overriding Chain Data
Chain data can be overridden by running `yarn override-chain` and following the prompts.
#### Adding A New Chain
In cases where a chain is not listed in the [ethereum-lists/chains](https://github.com/ethereum-lists/chains) repo, you can add it manually by running `yarn add-chain` and following the prompts.
> Prefer adding chains to the ethereum-lists/chains repo instead of manually adding them here.
+2 -1
View File
@@ -21,7 +21,8 @@ export default {
"https://mainnet.infura.io/v3/${INFURA_API_KEY}",
"wss://mainnet.infura.io/ws/v3/${INFURA_API_KEY}",
"https://api.mycryptoapi.com/eth",
"https://cloudflare-eth.com"
"https://cloudflare-eth.com",
"https://ethereum.publicnode.com"
],
"features": [
{
-1
View File
@@ -35,7 +35,6 @@ export default {
{
"name": "gnosisscan",
"url": "https://gnosisscan.io",
"icon": "gnosisscan",
"standard": "EIP3091"
},
{
+6
View File
@@ -31,6 +31,12 @@ export default {
}
]
},
"icon": {
"url": "ipfs://QmbWKNucbMtrMPPkHG5ZmVmvNUo8CzqHHcrpk1C2BVQsEG/2022_H-Brand_Stacked_WhiteGreen.svg",
"format": "svg",
"height": 512,
"width": 512
},
"testnet": false,
"slug": "metis-andromeda"
} as const;
+44
View File
@@ -0,0 +1,44 @@
export default {
"name": "Polygon zkEVM",
"title": "Polygon zkEVM",
"chain": "Polygon",
"rpc": [
"https://polygon-zkevm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://zkevm-rpc.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"infoURL": "https://polygon.technology/polygon-zkevm",
"shortName": "zkevm",
"chainId": 1101,
"networkId": 1101,
"icon": {
"url": "ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv",
"width": 122,
"height": 135,
"format": "png"
},
"explorers": [
{
"name": "blockscout",
"url": "https://zkevm.polygonscan.com",
"icon": "zkevm",
"standard": "EIP3091"
}
],
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://bridge.zkevm-rpc.com"
}
]
},
"testnet": false,
"slug": "polygon-zkevm"
} as const;
+41
View File
@@ -0,0 +1,41 @@
export default {
"name": "Siberium Network",
"chain": "SBR",
"rpc": [
"https://siberium-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.main.siberium.net",
"https://rpc.main.siberium.net.ru"
],
"faucets": [],
"nativeCurrency": {
"name": "Siberium",
"symbol": "SBR",
"decimals": 18
},
"infoURL": "https://siberium.net",
"shortName": "sbr",
"chainId": 111111,
"networkId": 111111,
"icon": {
"url": "ipfs://QmVDeoGo2TZPDWiaNDdPCnH2tz2BCQ7viw8ugdDWnU5LFq",
"width": 1920,
"height": 1920,
"format": "svg"
},
"explorers": [
{
"name": "Siberium Mainnet Explorer - blockscout - 1",
"url": "https://explorer.main.siberium.net",
"icon": "siberium",
"standard": "EIP3091"
},
{
"name": "Siberium Mainnet Explorer - blockscout - 2",
"url": "https://explorer.main.siberium.net.ru",
"icon": "siberium",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "siberium-network"
} as const;
+30
View File
@@ -0,0 +1,30 @@
export default {
"name": "HashBit Mainnet",
"chain": "HBIT",
"rpc": [
"https://hashbit.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.hashbit.org",
"https://rpc.hashbit.org"
],
"faucets": [
"https://free-online-app.com/faucet-for-eth-evm-chains/"
],
"nativeCurrency": {
"name": "HashBit Native Token",
"symbol": "HBIT",
"decimals": 18
},
"infoURL": "https://hashbit.org",
"shortName": "hbit",
"chainId": 11119,
"networkId": 11119,
"explorers": [
{
"name": "hashbitscan",
"url": "https://explorer.hashbit.org",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "hashbit"
} as const;
+1
View File
@@ -5,6 +5,7 @@ export default {
"rpc": [
"https://sepolia.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.sepolia.org",
"https://rpc2.sepolia.org",
"https://rpc-sepolia.rockx.com"
],
"faucets": [
+2 -1
View File
@@ -9,7 +9,8 @@ export default {
},
"rpc": [
"https://core-blockchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.coredao.org/"
"https://rpc.coredao.org/",
"https://rpc-core.icecreamswap.com"
],
"faucets": [],
"nativeCurrency": {
+1 -1
View File
@@ -9,7 +9,7 @@ export default {
},
"rpc": [
"https://dogcoin.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.dogcoin.network"
"https://mainnet-rpc.dogcoin.me"
],
"faucets": [
"https://faucet.dogcoin.network"
+35
View File
@@ -0,0 +1,35 @@
export default {
"name": "CyberdeckNet",
"chain": "cyberdeck",
"rpc": [
"https://cyberdecknet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://cybeth1.cyberdeck.eu:8545"
],
"faucets": [],
"nativeCurrency": {
"name": "Cyb",
"symbol": "CYB",
"decimals": 18
},
"infoURL": "https://cyberdeck.eu",
"shortName": "cyb",
"chainId": 1146703430,
"networkId": 1146703430,
"icon": {
"url": "ipfs://QmTvYMJXeZeWxYPuoQ15mHCS8K5EQzkMMCHQVs3GshooyR",
"width": 193,
"height": 214,
"format": "png"
},
"status": "active",
"explorers": [
{
"name": "CybEthExplorer",
"url": "http://cybeth1.cyberdeck.eu:8000",
"icon": "cyberdeck",
"standard": "none"
}
],
"testnet": false,
"slug": "cyberdecknet"
} as const;
+34
View File
@@ -0,0 +1,34 @@
export default {
"name": "Uptick Mainnet",
"chain": "Uptick",
"rpc": [
"https://uptick.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://json-rpc.uptick.network"
],
"faucets": [],
"nativeCurrency": {
"name": "Uptick",
"symbol": "UPTICK",
"decimals": 18
},
"infoURL": "https://www.uptick.network",
"shortName": "auptick",
"chainId": 117,
"networkId": 117,
"icon": {
"url": "ipfs://QmRGJ6PqYHDTWuUQ6xfnK8S82NzRXiMjTnSGat9qtLuaLP",
"width": 400,
"height": 400,
"format": "png"
},
"explorers": [
{
"name": "Uptick Explorer",
"url": "https://evm-explorer.uptick.network",
"icon": "uptick",
"standard": "none"
}
],
"testnet": false,
"slug": "uptick"
} as const;
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "Arcology Testnet",
"chain": "Arcology",
"icon": {
"url": "ipfs://QmRD7itMvaZutfBjyA7V9xkMGDtsZiJSagPwd3ijqka8kE",
"width": 288,
"height": 288,
"format": "png"
},
"rpc": [
"https://arcology-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.arcology.network/rpc"
],
"faucets": [],
"nativeCurrency": {
"name": "Arcology Coin",
"symbol": "Acol",
"decimals": 18
},
"infoURL": "https://arcology.network/",
"shortName": "arcology",
"chainId": 118,
"networkId": 118,
"explorers": [
{
"name": "arcology",
"url": "https://testnet.arcology.network/explorer",
"standard": "none"
}
],
"testnet": true,
"slug": "arcology-testnet"
} as const;
+6
View File
@@ -15,6 +15,12 @@ export default {
"shortName": "fuse",
"chainId": 122,
"networkId": 122,
"icon": {
"url": "ipfs://QmQg8aqyeaMfHvjzFDtZkb8dUNRYhFezPp8UYVc1HnLpRW/green.png",
"format": "png",
"width": 512,
"height": 512
},
"testnet": false,
"slug": "fuse"
} as const;
+6
View File
@@ -18,5 +18,11 @@ export default {
"chainId": 123,
"networkId": 123,
"testnet": true,
"icon": {
"url": "ipfs://QmQg8aqyeaMfHvjzFDtZkb8dUNRYhFezPp8UYVc1HnLpRW/green.png",
"format": "png",
"width": 512,
"height": 512
},
"slug": "fuse-sparknet"
} as const;
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "Fibonacci Mainnet",
"chain": "FIBO",
"icon": {
"url": "ipfs://bafkreidiedaz3jugxmh2ylzlc4nympbd5iwab33adhwkcnblyop6vvj25y",
"width": 1494,
"height": 1494,
"format": "png"
},
"rpc": [
"https://fibonacci.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://node1.fibo-api.asia"
],
"faucets": [],
"nativeCurrency": {
"name": "FIBONACCI UTILITY TOKEN",
"symbol": "FIBO",
"decimals": 18
},
"infoURL": "https://fibochain.org",
"shortName": "fibo",
"chainId": 12306,
"networkId": 1230,
"explorers": [
{
"name": "fiboscan",
"url": "https://scan.fibochain.org",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "fibonacci"
} as const;
+28
View File
@@ -0,0 +1,28 @@
export default {
"name": "BLG Testnet",
"chain": "BLG",
"icon": {
"url": "ipfs://QmUN5j2cre8GHKv52JE8ag88aAnRmuHMGFxePPvKMogisC",
"width": 512,
"height": 512,
"format": "svg"
},
"rpc": [
"https://blg-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.blgchain.com"
],
"faucets": [
"https://faucet.blgchain.com"
],
"nativeCurrency": {
"name": "Blg",
"symbol": "BLG",
"decimals": 18
},
"infoURL": "https://blgchain.com",
"shortName": "blgchain",
"chainId": 12321,
"networkId": 12321,
"testnet": true,
"slug": "blg-testnet"
} as const;
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "ADIL Devnet",
"chain": "ADIL",
"icon": {
"url": "ipfs://QmeHNYUx6n8CjUFSLWNT17oAtDYrUq6r8buyvGCUBXCJw6",
"width": 500,
"height": 500,
"format": "png"
},
"rpc": [
"https://adil-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://devnet.adilchain-rpc.io"
],
"faucets": [],
"nativeCurrency": {
"name": "Devnet ADIL",
"symbol": "ADIL",
"decimals": 18
},
"infoURL": "https://adilchain.io",
"shortName": "dadil",
"chainId": 123456,
"networkId": 123456,
"explorers": [
{
"name": "ADIL Devnet Explorer",
"url": "https://devnet.adilchain-scan.io",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "adil-devnet"
} as const;
+28
View File
@@ -0,0 +1,28 @@
export default {
"name": "Rikeza Network Testnet",
"title": "Rikeza Network Testnet",
"chain": "Rikeza",
"rpc": [
"https://rikeza-network-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.rikscan.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Rikeza",
"symbol": "RIK",
"decimals": 18
},
"infoURL": "https://rikeza.io",
"shortName": "tRIK",
"chainId": 12715,
"networkId": 12715,
"explorers": [
{
"name": "Rikeza Blockchain explorer",
"url": "https://testnet.rikscan.com",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "rikeza-network-testnet"
} as const;
+31
View File
@@ -0,0 +1,31 @@
export default {
"name": "HUMAN Protocol",
"title": "HUMAN Protocol",
"chain": "wan-red-ain",
"rpc": [
"https://human-protocol.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.skalenodes.com/v1/wan-red-ain"
],
"faucets": [
"https://dashboard.humanprotocol.org/faucet"
],
"nativeCurrency": {
"name": "sFUEL",
"symbol": "sFUEL",
"decimals": 18
},
"infoURL": "https://www.humanprotocol.org",
"shortName": "human-mainnet",
"chainId": 1273227453,
"networkId": 1273227453,
"explorers": [
{
"name": "Blockscout",
"url": "https://wan-red-ain.explorer.mainnet.skalenodes.com",
"icon": "human",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "human-protocol"
} as const;
+1 -1
View File
@@ -12,7 +12,7 @@ export default {
"decimals": 18
},
"infoURL": "http://doschain.io/",
"shortName": "DOS",
"shortName": "TDOS",
"chainId": 1311,
"networkId": 1311,
"explorers": [
-1
View File
@@ -25,7 +25,6 @@ export default {
{
"name": "phoenixplorer",
"url": "https://phoenixplorer.com",
"icon": "phoenixplorer",
"standard": "EIP3091"
}
],
+1 -1
View File
@@ -4,7 +4,7 @@ export default {
"chain": "Elysium",
"rpc": [
"https://elysium.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://elysium-rpc.vulcanforged.com"
"https://rpc.elysiumchain.tech/"
],
"faucets": [],
"nativeCurrency": {
+34
View File
@@ -0,0 +1,34 @@
export default {
"name": "iExec Sidechain",
"chain": "Bellecour",
"icon": {
"url": "ipfs://QmUYKpVmZL4aS3TEZLG5wbrRJ6exxLiwm1rejfGYYNicfb",
"width": 155,
"height": 155,
"format": "png"
},
"rpc": [
"https://iexec-sidechain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://bellecour.iex.ec"
],
"faucets": [],
"nativeCurrency": {
"name": "xRLC",
"symbol": "xRLC",
"decimals": 18
},
"infoURL": "https://iex.ec",
"shortName": "rlc",
"chainId": 134,
"networkId": 134,
"explorers": [
{
"name": "blockscout",
"url": "https://blockscout.bellecour.iex.ec",
"icon": "blockscout",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "iexec-sidechain"
} as const;
+39
View File
@@ -0,0 +1,39 @@
export default {
"name": "RaptorChain",
"chain": "RPTR",
"rpc": [
"https://raptorchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.raptorchain.io/web3"
],
"faucets": [],
"nativeCurrency": {
"name": "Raptor",
"symbol": "RPTR",
"decimals": 18
},
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://raptorchain.io",
"shortName": "rptr",
"chainId": 1380996178,
"networkId": 1380996178,
"icon": {
"url": "ipfs://QmQuvmiN6vM6Rqzqe1pMzDf8iZXqTtSeqCgGe5k5AyksDU",
"width": 200,
"height": 200,
"format": "png"
},
"explorers": [
{
"name": "RaptorChain Explorer",
"url": "https://explorer.raptorchain.io",
"icon": "raptorchain_explorer",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "raptorchain"
} as const;
+41
View File
@@ -0,0 +1,41 @@
export default {
"name": "WoopChain Mainnet",
"chain": "WOOP",
"icon": {
"url": "ipfs://Qma7LpnkGjAN1dwL6VTXUYqzySNxjLg4br7J8UE4yZWYec",
"width": 310,
"height": 310,
"format": "png"
},
"rpc": [
"https://woopchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.woop.ai/rpc"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "WoopCoin",
"symbol": "WOOC",
"decimals": 18
},
"infoURL": "https://wikiwoop.com",
"shortName": "woop",
"chainId": 139,
"networkId": 139,
"explorers": [
{
"name": "wikiwoop",
"url": "https://explorer.wikiwoop.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "woopchain"
} as const;
+28
View File
@@ -0,0 +1,28 @@
export default {
"name": "Rikeza Network Mainnet",
"title": "Rikeza Network Mainnet",
"chain": "Rikeza",
"rpc": [
"https://rikeza-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.rikscan.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Rikeza",
"symbol": "RIK",
"decimals": 18
},
"infoURL": "https://rikeza.io",
"shortName": "RIK",
"chainId": 1433,
"networkId": 1433,
"explorers": [
{
"name": "Rikeza Blockchain explorer",
"url": "https://rikscan.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "rikeza-network"
} as const;
@@ -14,8 +14,8 @@ export default {
},
"infoURL": "https://polygon.technology/solutions/polygon-zkevm/",
"shortName": "testnet-zkEVM-mango",
"chainId": 1422,
"networkId": 1422,
"chainId": 1442,
"networkId": 1442,
"explorers": [
{
"name": "Polygon zkEVM explorer",
@@ -23,6 +23,12 @@ export default {
"standard": "EIP3091"
}
],
"icon": {
"url": "ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv",
"width": 122,
"height": 135,
"format": "png"
},
"testnet": true,
"slug": "polygon-zkevm-testnet"
} as const;
+27
View File
@@ -0,0 +1,27 @@
export default {
"name": "LoopNetwork Mainnet",
"chain": "LoopNetwork",
"rpc": [
"https://loopnetwork.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.mainnetloop.com"
],
"faucets": [],
"nativeCurrency": {
"name": "LOOP",
"symbol": "LOOP",
"decimals": 18
},
"infoURL": "http://theloopnetwork.org/",
"shortName": "loop",
"chainId": 15551,
"networkId": 15551,
"explorers": [
{
"name": "loopscan",
"url": "http://explorer.mainnetloop.com",
"standard": "none"
}
],
"testnet": false,
"slug": "loopnetwork"
} as const;
+45
View File
@@ -0,0 +1,45 @@
export default {
"name": "Horizen Yuma Testnet",
"shortName": "Yuma",
"chain": "Yuma",
"icon": {
"url": "ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti",
"width": 1213,
"height": 1213,
"format": "png"
},
"rpc": [
"https://horizen-yuma-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://yuma-testnet.horizenlabs.io/ethv1"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [
"https://yuma-testnet-faucet.horizen.io"
],
"nativeCurrency": {
"name": "Testnet Zen",
"symbol": "tZEN",
"decimals": 18
},
"infoURL": "https://horizen.io/",
"chainId": 1662,
"networkId": 1662,
"slip44": 121,
"explorers": [
{
"name": "Yuma Testnet Block Explorer",
"url": "https://yuma-explorer.horizen.io",
"icon": "eon",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "horizen-yuma-testnet"
} as const;
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "Taiko (Alpha-2 Testnet)",
"chain": "ETH",
"icon": {
"url": "ipfs://QmWMUDmNHzCtism9dYK1JooerZJ4da6kGt67HAQmLiEykc",
"width": 1001,
"height": 1001,
"format": "png"
},
"rpc": [
"https://taiko-alpha-2-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.a2.taiko.xyz"
],
"faucets": [],
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"infoURL": "https://taiko.xyz",
"shortName": "taiko-a2",
"chainId": 167004,
"networkId": 167004,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.a2.taiko.xyz",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "taiko-alpha-2-testnet"
} as const;
+35
View File
@@ -0,0 +1,35 @@
export default {
"name": "Palette Chain Mainnet",
"chain": "PLT",
"rpc": [
"https://palette-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://palette-rpc.com:22000"
],
"faucets": [],
"nativeCurrency": {
"name": "Palette Token",
"symbol": "PLT",
"decimals": 18
},
"features": [],
"infoURL": "https://hashpalette.com/",
"shortName": "PaletteChain",
"chainId": 1718,
"networkId": 1718,
"icon": {
"url": "ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA",
"width": 800,
"height": 800,
"format": "png"
},
"explorers": [
{
"name": "Palettescan",
"url": "https://palettescan.com",
"icon": "PLT",
"standard": "none"
}
],
"testnet": false,
"slug": "palette-chain"
} as const;
+40
View File
@@ -0,0 +1,40 @@
export default {
"name": "Lightlink Phoenix Mainnet",
"chain": "Lightlink Phoenix Mainnet",
"icon": {
"url": "ipfs://QmNRUoMgx16hurD3au3ou5A9rmTLYmre8WiGmQEPFmP2Vo",
"width": 600,
"height": 600,
"format": "png"
},
"rpc": [
"https://lightlink-phoenix.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://replicator-01.phoenix.lightlink.io/rpc/v1",
"https://replicator-02.phoenix.lightlink.io/rpc/v1"
],
"features": [
{
"name": "EIP155"
}
],
"faucets": [],
"nativeCurrency": {
"name": "Ethereum",
"symbol": "ETH",
"decimals": 18
},
"infoURL": "https://lightlink.io",
"shortName": "lightlink_phoenix",
"chainId": 1890,
"networkId": 1890,
"explorers": [
{
"name": "phoenix",
"url": "https://phoenix.lightlink.io",
"icon": "lightlink",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "lightlink-phoenix"
} as const;
+42
View File
@@ -0,0 +1,42 @@
export default {
"name": "Lightlink Pegasus Testnet",
"chain": "Lightlink Pegasus Testnet",
"icon": {
"url": "ipfs://QmNRUoMgx16hurD3au3ou5A9rmTLYmre8WiGmQEPFmP2Vo",
"width": 600,
"height": 600,
"format": "png"
},
"rpc": [
"https://lightlink-pegasus-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://replicator-01.pegasus.lightlink.io/rpc/v1",
"https://replicator-02.pegasus.lightlink.io/rpc/v1"
],
"features": [
{
"name": "EIP155"
}
],
"faucets": [
"https://pegasus-faucet-react.vercel.app"
],
"nativeCurrency": {
"name": "Ethereum",
"symbol": "ETH",
"decimals": 18
},
"infoURL": "https://lightlink.io",
"shortName": "lightlink_pegasus",
"chainId": 1891,
"networkId": 1891,
"explorers": [
{
"name": "pegasus",
"url": "https://pegasus.lightlink.io",
"icon": "lightlink",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "lightlink-pegasus-testnet"
} as const;
-1
View File
@@ -10,7 +10,6 @@ export default {
"rpc": [
"https://songbird-canary-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://songbird-api.flare.network/ext/C/rpc",
"https://songbird.towolabs.com/ext/C/rpc",
"https://sgb.ftso.com.au/ext/bc/C/rpc",
"https://sgb.lightft.so/rpc",
"https://sgb-rpc.ftso.eu"
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "Bitcichain Mainnet",
"chain": "BITCI",
"icon": {
"url": "ipfs://QmbxmfWw5sVMASz5EbR1DCgLfk8PnqpSJGQKpYuEUpoxqn",
"width": 64,
"height": 64,
"format": "svg"
},
"rpc": [
"https://bitcichain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.bitci.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Bitci",
"symbol": "BITCI",
"decimals": 18
},
"infoURL": "https://www.bitcichain.com",
"shortName": "bitci",
"chainId": 1907,
"networkId": 1907,
"explorers": [
{
"name": "Bitci Explorer",
"url": "https://bitciexplorer.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "bitcichain"
} as const;
+35
View File
@@ -0,0 +1,35 @@
export default {
"name": "Bitcichain Testnet",
"chain": "TBITCI",
"icon": {
"url": "ipfs://QmbxmfWw5sVMASz5EbR1DCgLfk8PnqpSJGQKpYuEUpoxqn",
"width": 64,
"height": 64,
"format": "svg"
},
"rpc": [
"https://bitcichain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.bitcichain.com"
],
"faucets": [
"https://faucet.bitcichain.com"
],
"nativeCurrency": {
"name": "Test Bitci",
"symbol": "TBITCI",
"decimals": 18
},
"infoURL": "https://www.bitcichain.com",
"shortName": "tbitci",
"chainId": 1908,
"networkId": 1908,
"explorers": [
{
"name": "Bitci Explorer Testnet",
"url": "https://testnet.bitciexplorer.com",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "bitcichain-testnet"
} as const;
+6
View File
@@ -22,6 +22,12 @@ export default {
"standard": "none"
}
],
"icon": {
"url": "ipfs://Qmc9AJGg9aNhoH56n3deaZeUc8Ty1jDYJsW6Lu6hgSZH4S",
"height": 512,
"width": 512,
"format": "png"
},
"testnet": false,
"slug": "gather-network"
} as const;
+31
View File
@@ -0,0 +1,31 @@
export default {
"name": "OKBChain Testnet",
"chain": "okbchain",
"rpc": [
"https://okbchain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://okbtestrpc.okbchain.org"
],
"faucets": [
"https://www.oklink.com/okbc-test"
],
"nativeCurrency": {
"name": "OKBChain Global Utility Token in testnet",
"symbol": "OKB",
"decimals": 18
},
"features": [],
"infoURL": "https://www.okx.com/okbc/docs/dev/quick-start/introduction/introduction-to-okbchain",
"shortName": "tokb",
"chainId": 195,
"networkId": 195,
"explorers": [
{
"name": "OKLink",
"url": "https://www.oklink.com/okbc-test",
"standard": "EIP3091"
}
],
"status": "active",
"testnet": true,
"slug": "okbchain-testnet"
} as const;
+42
View File
@@ -0,0 +1,42 @@
export default {
"name": "Dexilla Testnet",
"chain": "Dexilla",
"rpc": [
"https://dexilla-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.dexilla.com"
],
"faucets": [],
"icon": {
"url": "ipfs://QmUBveetVibvSEWQrjyxySgUphLuoMGSVLGmYnobt5FgEZ",
"width": 512,
"height": 512,
"format": "png"
},
"nativeCurrency": {
"name": "Dexilla Native Token",
"symbol": "DXZ",
"decimals": 18
},
"infoURL": "https://dexilla.com",
"shortName": "Dexilla",
"chainId": 1954,
"networkId": 1954,
"explorers": [
{
"name": "dos-mainnet",
"url": "https://exp.dexilla.com",
"standard": "EIP3091"
}
],
"parent": {
"type": "L2",
"chain": "eip155-11155111",
"bridges": [
{
"url": "https://bridge.dexilla.com"
}
]
},
"testnet": true,
"slug": "dexilla-testnet"
} as const;
+20
View File
@@ -0,0 +1,20 @@
export default {
"name": "OKBChain Mainnet",
"chain": "okbchain",
"rpc": [],
"faucets": [],
"nativeCurrency": {
"name": "OKBChain Global Utility Token",
"symbol": "OKB",
"decimals": 18
},
"features": [],
"infoURL": "https://www.okex.com/okc",
"shortName": "okb",
"chainId": 196,
"networkId": 196,
"explorers": [],
"status": "incubating",
"testnet": false,
"slug": "okbchain"
} as const;
+31
View File
@@ -0,0 +1,31 @@
export default {
"name": "Eleanor",
"title": "Metatime Testnet Eleanor",
"chain": "MTC",
"rpc": [
"https://eleanor.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.metatime.com/eleanor",
"wss://ws.metatime.com/eleanor"
],
"faucets": [
"https://faucet.metatime.com/eleanor"
],
"nativeCurrency": {
"name": "Eleanor Metacoin",
"symbol": "MTC",
"decimals": 18
},
"infoURL": "https://eleanor.metatime.com",
"shortName": "mtc",
"chainId": 1967,
"networkId": 1967,
"explorers": [
{
"name": "metaexplorer-eleanor",
"url": "https://explorer.metatime.com/eleanor",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "eleanor"
} as const;
+35
View File
@@ -0,0 +1,35 @@
export default {
"name": "Super Smart Chain Testnet",
"chain": "TSCS",
"rpc": [
"https://super-smart-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.superexchain.com:8544"
],
"faucets": [
"https://testnet.superexchain.com"
],
"nativeCurrency": {
"name": "Super Chain Native Token",
"symbol": "TSCS",
"decimals": 18
},
"infoURL": "https://testnet.superexchain.com",
"shortName": "tscs",
"chainId": 1969,
"networkId": 1969,
"icon": {
"url": "ipfs://QmW4C4QHLMhLeH5MsdVbauMc2Skb4ehzLKU3egLKKoux4D",
"width": 130,
"height": 130,
"format": "png"
},
"explorers": [
{
"name": "blockscout",
"url": "https://testnetscan.superexchain.com",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "super-smart-chain-testnet"
} as const;
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "Super Smart Chain Mainnet",
"chain": "SCS",
"rpc": [
"https://super-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://superexchain.com:8545"
],
"faucets": [],
"nativeCurrency": {
"name": "Super Chain Native Token",
"symbol": "SCS",
"decimals": 18
},
"infoURL": "https://superexchain.com",
"shortName": "scs",
"chainId": 1970,
"networkId": 1970,
"icon": {
"url": "ipfs://QmW4C4QHLMhLeH5MsdVbauMc2Skb4ehzLKU3egLKKoux4D",
"width": 130,
"height": 130,
"format": "png"
},
"explorers": [
{
"name": "blockscout",
"url": "https://scan.superexchain.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "super-smart-chain"
} as const;
+2 -1
View File
@@ -3,7 +3,8 @@ export default {
"chain": "edeXa TestNetwork",
"rpc": [
"https://edexa-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.edexa.com/rpc"
"https://testnet.edexa.com/rpc",
"https://io-dataseed1.testnet.edexa.io-market.com/rpc"
],
"faucets": [
"https://faucet.edexa.com/"
+33
View File
@@ -0,0 +1,33 @@
export default {
"name": "CamelArk Mainnet",
"chainId": 20001,
"shortName": "CamelArk",
"chain": "ETHW",
"icon": {
"url": "ipfs://QmbXDcCWHh8jExE1tAUkUKzXyTb8srpC75ogZq1QYkMMRW",
"width": 128,
"height": 128,
"format": "svg"
},
"networkId": 20001,
"nativeCurrency": {
"name": "EthereumPoW",
"symbol": "ETHW",
"decimals": 18
},
"rpc": [
"https://camelark.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-http-rpc.camelark.com"
],
"faucets": [],
"explorers": [
{
"name": "CamelArkscan",
"url": "https://scan.camelark.com",
"standard": "EIP3091"
}
],
"infoURL": "https://www.camelark.com",
"testnet": false,
"slug": "camelark"
} as const;
+43 -6
View File
@@ -1,20 +1,57 @@
export default {
"name": "Edgeware Mainnet",
"name": "Edgeware EdgeEVM Mainnet",
"chain": "EDG",
"icon": {
"url": "ipfs://QmS3ERgAKYTmV7bSWcUPSvrrCC9wHQYxtZqEQYx9Rw4RGA",
"width": 352,
"height": 304,
"format": "png"
},
"rpc": [
"https://edgeware.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet1.edgewa.re"
"https://edgeware-edgeevm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://edgeware-evm.jelliedowl.net",
"https://mainnet2.edgewa.re/evm",
"https://mainnet3.edgewa.re/evm",
"https://mainnet4.edgewa.re/evm",
"https://mainnet5.edgewa.re/evm",
"wss://edgeware.jelliedowl.net",
"wss://mainnet2.edgewa.re",
"wss://mainnet3.edgewa.re",
"wss://mainnet4.edgewa.re",
"wss://mainnet5.edgewa.re"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "Edge",
"name": "Edgeware",
"symbol": "EDG",
"decimals": 18
},
"infoURL": "http://edgewa.re",
"infoURL": "https://edgeware.io",
"shortName": "edg",
"chainId": 2021,
"networkId": 2021,
"slip44": 523,
"explorers": [
{
"name": "Edgscan by Bharathcoorg",
"url": "https://edgscan.live",
"standard": "EIP3091"
},
{
"name": "Subscan",
"url": "https://edgeware.subscan.io",
"standard": "none",
"icon": "subscan"
}
],
"testnet": false,
"slug": "edgeware"
"slug": "edgeware-edgeevm"
} as const;
+14 -6
View File
@@ -1,20 +1,28 @@
export default {
"name": "Beresheet Testnet",
"name": "Beresheet BereEVM Testnet",
"chain": "EDG",
"rpc": [
"https://beresheet-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://beresheet1.edgewa.re"
"https://beresheet-bereevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://beresheet-evm.jelliedowl.net",
"wss://beresheet.jelliedowl.net"
],
"faucets": [],
"nativeCurrency": {
"name": "Testnet Edge",
"name": "Testnet EDG",
"symbol": "tEDG",
"decimals": 18
},
"infoURL": "http://edgewa.re",
"infoURL": "https://edgeware.io/build",
"shortName": "edgt",
"chainId": 2022,
"networkId": 2022,
"explorers": [
{
"name": "Edgscan by Bharathcoorg",
"url": "https://testnet.edgscan.live",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "beresheet-testnet"
"slug": "beresheet-bereevm-testnet"
} as const;
+3 -3
View File
@@ -2,9 +2,9 @@ export default {
"name": "Rangers Protocol Mainnet",
"chain": "Rangers",
"icon": {
"url": "ipfs://QmfHG3xbg4iiopagww93Gu7tmvCpPwZdiwsUjd3Dt5mRwT",
"width": 835,
"height": 835,
"url": "ipfs://QmXR5e5SDABWfQn6XT9uMsVYAo5Bv7vUv4jVs8DFqatZWG",
"width": 2000,
"height": 2000,
"format": "png"
},
"rpc": [
-1
View File
@@ -33,7 +33,6 @@ export default {
{
"name": "explorer masnet",
"url": "https://explorer.masnet.ai",
"icon": "explorer",
"standard": "EIP3091"
}
],
+35
View File
@@ -0,0 +1,35 @@
export default {
"name": "HashKey Chain Testnet",
"chain": "HashKey",
"rpc": [
"https://hashkey-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.hashkeychain/rpc"
],
"faucets": [
"https://testnet.hashkeychain/faucet"
],
"nativeCurrency": {
"name": "HashKey Token",
"symbol": "tHSK",
"decimals": 18
},
"infoURL": "https://www.hashkey.com",
"shortName": "hsktest",
"chainId": 230315,
"networkId": 230315,
"icon": {
"url": "ipfs://QmNU11AqYB2htrrSyBSP9ct7bPtuZTP7Hrz21PrEcB9nYE",
"width": 1440,
"height": 448,
"format": "png"
},
"explorers": [
{
"name": "HashKey Chain Testnet Explorer",
"url": "https://testnet.hashkeyscan.io",
"standard": "none"
}
],
"testnet": true,
"slug": "hashkey-chain-testnet"
} as const;
+19
View File
@@ -0,0 +1,19 @@
export default {
"name": "Arevia",
"chain": "Arevia",
"rpc": [],
"faucets": [],
"nativeCurrency": {
"name": "Arev",
"symbol": "ARÉV",
"decimals": 18
},
"infoURL": "",
"shortName": "arevia",
"chainId": 2309,
"networkId": 2309,
"explorers": [],
"status": "incubating",
"testnet": false,
"slug": "arevia"
} as const;
+2 -1
View File
@@ -3,7 +3,8 @@ export default {
"chain": "CRO",
"rpc": [
"https://cronos-beta.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm.cronos.org"
"https://evm.cronos.org",
"https://cronos-evm.publicnode.com"
],
"features": [
{
+1
View File
@@ -3,6 +3,7 @@ export default {
"chain": "FTM",
"rpc": [
"https://fantom.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://fantom.publicnode.com",
"https://rpc.ftm.tools"
],
"faucets": [
+2 -2
View File
@@ -3,7 +3,7 @@ export default {
"chain": "ETH",
"rpc": [
"https://zksync-era-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://zksync2-testnet.zksync.dev"
"https://testnet.era.zksync.dev"
],
"faucets": [
"https://goerli.portal.zksync.io/faucet"
@@ -18,7 +18,7 @@ export default {
"chainId": 280,
"networkId": 280,
"icon": {
"url": "ipfs://Qma6H9xd8Ydah1bAFnmDuau1jeMh5NjGEL8tpdnjLbJ7m2",
"url": "ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN",
"width": 512,
"height": 512,
"format": "svg"
+17 -1
View File
@@ -10,7 +10,8 @@ export default {
"rpc": [
"https://filecoin.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.node.glif.io/",
"https://rpc.ankr.com/filecoin"
"https://rpc.ankr.com/filecoin",
"https://filecoin-mainnet.chainstacklabs.com/rpc/v1"
],
"faucets": [],
"nativeCurrency": {
@@ -29,6 +30,21 @@ export default {
"url": "https://filfox.info/en",
"standard": "none"
},
{
"name": "Beryx",
"url": "https://beryx.zondax.ch",
"standard": "none"
},
{
"name": "Glif Explorer",
"url": "https://explorer.glif.io",
"standard": "EIP3091"
},
{
"name": "Dev.storage",
"url": "https://dev.storage",
"standard": "none"
},
{
"name": "Filscan",
"url": "https://filscan.io",
+3 -2
View File
@@ -10,6 +10,7 @@ export default {
"rpc": [
"https://filecoin-hyperspace-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.hyperspace.node.glif.io/rpc/v1",
"https://rpc.ankr.com/filecoin_testnet",
"https://filecoin-hyperspace.chainstacklabs.com/rpc/v1"
],
"faucets": [
@@ -42,8 +43,8 @@ export default {
"standard": "none"
},
{
"name": "Filmine",
"url": "https://explorer.filmine.io",
"name": "Dev.storage",
"url": "https://dev.storage",
"standard": "none"
},
{
+5
View File
@@ -34,6 +34,11 @@ export default {
"name": "Filscout - Calibration",
"url": "https://calibration.filscout.com/en",
"standard": "none"
},
{
"name": "Filfox - Calibration",
"url": "https://calibration.filfox.info",
"standard": "none"
}
],
"testnet": true,
+3 -3
View File
@@ -3,7 +3,7 @@ export default {
"chain": "ETH",
"rpc": [
"https://zksync-era.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://zksync2-mainnet.zksync.io"
"https://mainnet.era.zksync.io"
],
"faucets": [],
"nativeCurrency": {
@@ -16,7 +16,7 @@ export default {
"chainId": 324,
"networkId": 324,
"icon": {
"url": "ipfs://Qma6H9xd8Ydah1bAFnmDuau1jeMh5NjGEL8tpdnjLbJ7m2",
"url": "ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN",
"width": 512,
"height": 512,
"format": "svg"
@@ -34,7 +34,7 @@ export default {
"chain": "eip155-1",
"bridges": [
{
"url": "https://portal.zksync.io/bridge"
"url": "https://bridge.zksync.io/"
}
]
},
+29
View File
@@ -0,0 +1,29 @@
export default {
"name": "Zilliqa EVM Testnet",
"chain": "ZIL",
"rpc": [
"https://zilliqa-evm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://dev-api.zilliqa.com"
],
"faucets": [
"https://dev-wallet.zilliqa.com/faucet?network=testnet"
],
"nativeCurrency": {
"name": "Zilliqa",
"symbol": "ZIL",
"decimals": 18
},
"infoURL": "https://www.zilliqa.com/",
"shortName": "zil-testnet",
"chainId": 33101,
"networkId": 33101,
"explorers": [
{
"name": "Zilliqa EVM Explorer",
"url": "https://evmx.zilliqa.com",
"standard": "none"
}
],
"testnet": true,
"slug": "zilliqa-evm-testnet"
} as const;

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