Compare commits

..
Author SHA1 Message Date
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
318b274aae Version Packages (#924)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-03 21:24:18 -07:00
77f0474b88 [ReactNative] update copy for smart wallet (#963)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-05-03 19:15:33 +00:00
5ffb1cba03 [REACT] Add onLogout function to ConnectWallet authOptions prop (#960)
Co-authored-by: frog <[email protected]>
2023-05-03 16:07:31 +00:00
YashandGitHub 0bf29745b0 [SDK] GSNv2 Forwarder addresses (#961) 2023-05-03 15:55:30 +00:00
Joaquim VergesandGitHub 00d0d01e61 [SDK] Feature detection for Account and AccountFactory (#959) 2023-05-03 05:51:13 +00:00
Adam MajmudarandGitHub 72b8b9829e [Auth] Add all fields to cookie on logout (#958) 2023-05-03 00:14:29 +00:00
Joaquim VergesandGitHub 26cd91ffe1 [Wallets] update to latest account factory (#953) 2023-05-02 23:24:30 +00:00
1c3a846045 [ReactNative] Update guest mode icon and update learn more link (#957)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-05-02 22:40:44 +00:00
4a69f8c85d [ReactNative] Allow switching between personal wallet and smart wallet (#956)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-05-02 19:44:32 +00:00
Manan TankandGitHub c7c2530c7f [react] Local Wallet UI refactor, various fixes and cleanup (#955) 2023-05-02 17:58:14 +00:00
7012513bc2 [ReactNative] Introducing Smart Wallet (#937)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-05-01 22:58:06 +00:00
YashandGitHub 28b5d1eb6d [SDK] Custom gas-price for Theta testnet and mainnet (#951) 2023-05-01 21:37:15 +00:00
1e9fad779f safe, device wallet, smartWallet autoconnect (#927)
Co-authored-by: Joaquim Verges <[email protected]>
2023-05-01 20:07:25 +00:00
Joaquim VergesandGitHub 7e7a507f03 [Unity] fix unity wallet connect (#950) 2023-05-01 18:48:09 +00:00
Joaquim VergesandGitHub 5a67d5d894 [Wallets] Batch transactions functionality for Smart Wallets (#948) 2023-04-30 21:42:41 +00:00
Joaquim VergesandGitHub fc96e14750 [Wallets] Expose execute functions directly from smart wallet (#947) 2023-04-29 02:05:16 +00:00
YashandGitHub 8f962bc15c [SDK] Add default domain in gasless options (#944) 2023-04-29 01:19:15 +00:00
Joaquim VergesandGitHub f12a80a475 [Wallets] fix default RPC for local wallet providers (#931) 2023-04-29 01:11:57 +00:00
Joaquim VergesandGitHub 0186721bc4 [Wallets] New utils functions for smart wallets (#945) 2023-04-28 23:25:27 +00:00
Manan TankandGitHub 5d67b2807f add magic link wallet and UI (#941) 2023-04-28 21:11:52 +00:00
Joaquim VergesandGitHub 1e4ac67272 [SmartWallet] remove accountIds and allow passing custom factory/account contract definitions (#942) 2023-04-28 17:41:44 +00:00
iketwandGitHub 465d8e2c3d [ReactNative] Make web3button action return a promise (#943) 2023-04-28 15:03:05 +00:00
0xHendrixandGitHub a8b790652c [REACT] Add onLogin callback to ConnectWallet authOptions props (#940) 2023-04-28 03:41:38 +00:00
iketwandGitHub 4828c87691 [ReactNative] Enable copying the address by pressing on it (#936) 2023-04-26 17:46:52 +00:00
iketwandGitHub 45d2ffcf89 [ReactNative] continue as guest (#935) 2023-04-26 15:37:03 +00:00
YashandGitHub bf6df26711 [SDK] Add support for Skale chaos testnet (#932) 2023-04-25 19:56:15 +00:00
Manan TankandGitHub e22e4a47d7 [react] suggest first supportedWallet for getting started (#930) 2023-04-24 12:29:13 +00:00
iketwandGitHub d2c7f6d758 [ReactNativeSDK] Adds Local Wallet (#787) 2023-04-22 04:14:55 +00:00
Joaquim VergesandGitHub 7af99d9a6d [Wallets] Switch to entrypoint v0.6 for Smart Wallet (#929) 2023-04-21 23:01:33 +00:00
YashandGitHub f0279c2288 [SDK] Contract verification utils (#905) 2023-04-21 17:17:10 +00:00
iketwandGitHub 07194b06e5 [RN] Remove select wallet step with one supported wallet (#925) 2023-04-21 14:43:51 +00:00
255c5dcae8 [Wallets] Add accountId handling for SmartWallet (#923)
Co-authored-by: Manan Tank <[email protected]>
2023-04-21 14:15:39 +00:00
8cfb4f38ed [Wallets] Introducing Smart Wallet (#904)
Co-authored-by: Manan Tank <[email protected]>
2023-04-21 05:10:56 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
7c15913e46 Version Packages (#883)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-20 21:57:14 -07:00
Adam MajmudarandGitHub 477324ec85 [Auth] Add useAuth back to @thirdweb-dev/react (#922) 2023-04-19 20:05:51 +00:00
c9ee9b32f0 [SDK] Fix error handling for create2 factory deployments (#915)
Co-authored-by: Joaquim Verges <[email protected]>
2023-04-18 23:40:50 +00:00
Manan TankandGitHub 3010d84595 [react] improved autocomplete for imported device wallet (#920) 2023-04-18 21:01:57 +00:00
Manan TankandGitHub 81770647ab [react] improved device wallet password input autocomplete (#919) 2023-04-18 19:14:05 +00:00
Manan TankandGitHub 26644d63b5 Fix Connect Wallet Modal max-width on tablet (#918) 2023-04-18 17:33:01 +00:00
Manan TankandGitHub 09fae984e7 [react] Device wallet and other UI improvements (#917) 2023-04-18 15:57:11 +00:00
iketwandGitHub 0b1f522906 [ReactNative] Improve theming for Web3Button and ConnectWallet (#916) 2023-04-17 21:32:43 +00:00
Manan TankandGitHub ec36df5f75 Add Request Testnet Funds for Localhost (#914) 2023-04-17 11:00:46 +00:00
Manan TankandGitHub c93edc4999 [wallets] paper: add Avalanche (#913) 2023-04-17 09:20:13 +00:00
YashandGitHub 29146e009d [SDK] Fix listing validation for marketplace v2 & v3 (#907) 2023-04-15 01:14:25 +00:00
Adam MajmudarandGitHub ea04edf478 [SDK] Fix StaticJsonBatchRpcProvider (#911) 2023-04-14 23:54:39 +00:00
Joaquim VergesandGitHub c2fec93052 [Wallets] Allow passing any EVMWallet as personal Safe signer (#910) 2023-04-14 23:20:34 +00:00
Manan TankandGitHub d8b54a6f91 [react] add back device wallet UI (#909) 2023-04-14 22:43:30 +00:00
Manan TankandGitHub 664d1cd0dd [wallets] fix dynamic import error of crypto-js on vite (#908) 2023-04-14 20:40:16 +00:00
Manan TankandGitHub 4275c8e739 [wallets] device wallet fixes (#906) 2023-04-14 19:55:30 +00:00
Manan TankandGitHub 82bea3fa10 [wallets] Device Wallet Revamp (#901) 2023-04-14 17:15:30 +00:00
YashandGitHub 8e8ceaa344 [SDK] Update Weth addresses (#902) 2023-04-14 05:12:26 +00:00
Joaquim VergesandGitHub 77224646d5 [SDK] more transaction error parsing (#903) 2023-04-14 05:11:53 +00:00
Adam MajmudarandGitHub 72db2dc3e1 [CLI] Add cleaner messages to thirdweb generate (#894) 2023-04-13 18:29:54 +00:00
Joaquim VergesandGitHub abe88599b6 [SDK] fix gasless open pack (#898) 2023-04-12 22:38:23 +00:00
a6610f1211 Portal Links added to functions (#896)
Co-authored-by: Jonas Daniels <[email protected]>
2023-04-11 23:20:14 +00:00
YashandGitHub bfdd84939d [SDK] Enable MarketplaceV3 deploys on any EVM (#885) 2023-04-11 23:07:10 +00:00
Manan TankandGitHub 06cc1df3b7 Fix supported chains not having activeChain for wallets (#895) 2023-04-11 22:21:07 +00:00
Manan TankandGitHub 4acb2b5561 [react] add switch account for MetaMask (#892) 2023-04-10 21:38:15 +00:00
Adam MajmudarandGitHub 00f4355f1a [SDK] Add ability to batch list on marketplace v3 (#890) 2023-04-10 19:59:55 +00:00
Manan TankandGitHub 430a5f7934 [React] network selector revamp (#887) 2023-04-08 04:34:48 +00:00
iketwandGitHub 51e6b4146e [ReactNative] Fixes Coinbase Wallet Connect for iOS (#886) 2023-04-07 17:29:42 +00:00
iketwandGitHub 49922de9d9 [Core/RN] Implements auth for React Native (#874) 2023-04-07 00:43:56 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
603e24f1e2 Version Packages (#873)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-06 17:18:37 -07:00
YashandGitHub c9027fced0 [SDK] transaction count for any-evm deploy (#878) 2023-04-07 00:01:26 +00:00
Joaquim VergesandGitHub ac8fa0b345 [SDK] Fix resolving proxy implementation addreses with leading 0s (#882) 2023-04-06 23:26:13 +00:00
iketwandGitHub 81a32b4dd2 [React] change major change to patch (#881) 2023-04-06 20:40:03 +00:00
ciaranightingaleandGitHub bd0bb4fed7 fix portal links in README (#880) 2023-04-06 17:35:45 +00:00
iketwandGitHub b616dca7eb [Wallets] Rename base wallets (#868) 2023-04-06 17:12:13 +00:00
59434aac4f [react] add style prop on ConnectWallet and Web3Button (#879)
Co-authored-by: Nacho Iacovino <[email protected]>
2023-04-06 16:47:07 +00:00
iketwandGitHub cef16471f4 [CLI] Update min ruby version to 2.7.6 for React Native templates (#877) 2023-04-06 15:19:08 +00:00
Nacho IacovinoandGitHub 0db0cc7564 [React] Fix useContractEvents cache not storing individual events (#876) 2023-04-06 14:09:43 +00:00
229a47413e Fix build error in vite when connecting safe (#859)
Co-authored-by: Jonas Daniels <[email protected]>
2023-04-05 22:05:47 +00:00
b75bcef55b [SDK] any evm deploy setup (#756)
Co-authored-by: Jonas Daniels <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
2023-04-05 21:38:00 +00:00
Nacho IacovinoandGitHub 2545a440dc Rename Wallet Connect to WalletConnect (#872) 2023-04-05 19:41:58 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
0b4b6a5b4e Version Packages (#871)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-05 12:42:31 -07:00
b3d57949bd [SDK] Relax the requirement for LazyMint (#864)
Co-authored-by: Joaquim Verges <[email protected]>
2023-04-05 17:26:02 +00:00
Manan TankandGitHub 1cf1f866d5 Add stable css selectors on web3button and connect wallet button (#866) 2023-04-05 14:24:48 +00:00
602d8cbcfa [SDK] Add .prepare() support to tiered-drop (#869)
Co-authored-by: Jonas Daniels <[email protected]>
2023-04-05 01:01:46 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
33a78e68d1 Version Packages (#865)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-04 17:50:09 -07:00
Jonas DanielsandGitHub 235eb0460a [react-core, wallets] - fix window undefined error during SSR (#870) 2023-04-05 00:41:12 +00:00
Adam MajmudarandGitHub 3bb846adf0 [CLI] Generate detects contracts in project (#867) 2023-04-05 00:19:56 +00:00
b5648aee83 [React] Make tokenId optional one useNFTBalance (#862)
Co-authored-by: Adam Majmudar <[email protected]>
2023-04-04 23:51:28 +00:00
ciaranightingaleandGitHub 1b8f812fb8 [SDK] contract portal links (#863) 2023-04-04 21:47:53 +00:00
Adam MajmudarandGitHub 1547d76cce [SDK] Add unix timestamp dates (#861) 2023-04-04 00:54:48 +00:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
7c78d1c6e8 Version Packages (#858)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-03 16:41:59 -07:00
iketwandGitHub 058e4357c7 [CLI] Only run react-native ios specific tasks on macOS envs (#860) 2023-04-03 23:14:19 +00:00
Adam MajmudarandGitHub 3a0e904fc2 [CLI] Add skip intro flag to generate and update regex (#857) 2023-04-02 22:08:59 +00:00
381 changed files with 18980 additions and 6449 deletions
+64
View File
@@ -1,5 +1,69 @@
# @thirdweb-dev/auth
## 3.0.16
### Patch Changes
- [#958](https://github.com/thirdweb-dev/js/pull/958) [`72b8b982`](https://github.com/thirdweb-dev/js/commit/72b8b9829eb11d51a63530af62e5634f182c0d03) Thanks [@adam-maj](https://github.com/adam-maj)! - Add extra options to cookie on logout
- Updated dependencies [[`7012513b`](https://github.com/thirdweb-dev/js/commit/7012513bc20f283b2cde46c0b938af33fe3a1a20), [`5d67b280`](https://github.com/thirdweb-dev/js/commit/5d67b2807f2504add4c202d2eb18897415662fb6), [`f12a80a4`](https://github.com/thirdweb-dev/js/commit/f12a80a4758aa91c43084acedb212de9f36a7371), [`5a67d5d8`](https://github.com/thirdweb-dev/js/commit/5a67d5d89474eac9a638ffaddba139b62965deff), [`d2c7f6d7`](https://github.com/thirdweb-dev/js/commit/d2c7f6d758787fab102ecc0cec16ac74f3c87a1f), [`c7c2530c`](https://github.com/thirdweb-dev/js/commit/c7c2530c7f2ef412f1e40428391e85decf504392), [`e22e4a47`](https://github.com/thirdweb-dev/js/commit/e22e4a47d73e1bbc6e3f0ae7ed56717b44e5ffcd), [`1e4ac672`](https://github.com/thirdweb-dev/js/commit/1e4ac672720c2fb01046bec195877a074ffbda06), [`fc96e147`](https://github.com/thirdweb-dev/js/commit/fc96e14750175b19cb66fa7d50cdbad65b42153a), [`4a69f8c8`](https://github.com/thirdweb-dev/js/commit/4a69f8c85dec420615e9eda8d1ad5b5ef0b87713), [`26cd91ff`](https://github.com/thirdweb-dev/js/commit/26cd91ffe18dad37133a18988f21185c13d64cfb), [`0186721b`](https://github.com/thirdweb-dev/js/commit/0186721bc455aa1f8454839a1a25fa4062b45102), [`1e9fad77`](https://github.com/thirdweb-dev/js/commit/1e9fad779f3ebe535d32c0ce76905a3a8033f2fa), [`7af99d9a`](https://github.com/thirdweb-dev/js/commit/7af99d9a6d54492a29a90288a25b30773a8a10a7), [`8cfb4f38`](https://github.com/thirdweb-dev/js/commit/8cfb4f38ed89c26ad04f19d27c65c24cefa976b6)]:
- @thirdweb-dev/wallets@0.2.17
## 3.0.15
### Patch Changes
- [#874](https://github.com/thirdweb-dev/js/pull/874) [`49922de9`](https://github.com/thirdweb-dev/js/commit/49922de9d9c1258e58a3a05e656b229db469b1dd) Thanks [@iketw](https://github.com/iketw)! - [RN] Adds Auth to React Native
- Adds an optional `secureStorage` to authConfig
- Adds `expo-secure-store` to store the JWT token securely in React Native, passing a default value
- Stores the token in secure storage to be accessed by subsequent calls
- Returns the token in `useLogin` to be used by the user
How I tested:
- Tested in Android/iOS/Web
Usage:
```
<ThirdwebProvider
activeChain="ethereum"
supportedWallets={[metamaskWallet(), rainbowWallet()]}
authConfig={{
domain: https://your-domain.com,
authUrl: '/api/auth',
}}>
<AppInner />
</ThirdwebProvider>
```
```
const { login } = useLogin();
const { logout } = useLogout();
const { user, isLoggedIn } = useUser();
...
const token = await login();
```
- Updated dependencies [[`4acb2b55`](https://github.com/thirdweb-dev/js/commit/4acb2b5561118dde5c7372400d4d754b879aef2e), [`82bea3fa`](https://github.com/thirdweb-dev/js/commit/82bea3fa10294eb3c5c7327fb047e3d1b2c62ff9), [`664d1cd0`](https://github.com/thirdweb-dev/js/commit/664d1cd0dd03f32337c2cf532f0ad860e5aa5ea8), [`c2fec930`](https://github.com/thirdweb-dev/js/commit/c2fec930520e2df89532ec0027ead4563c7708cf)]:
- @thirdweb-dev/[email protected]
## 3.0.14
### Patch Changes
- Updated dependencies [[`b616dca7`](https://github.com/thirdweb-dev/js/commit/b616dca7eb861cd1d2adba3f3d1fe9c3b50f259e), [`2545a440`](https://github.com/thirdweb-dev/js/commit/2545a440dc272690cacbc23023f7b0a68f390c6e), [`229a4741`](https://github.com/thirdweb-dev/js/commit/229a47413e422952ad946b8c09af32cc1fcdc7f0)]:
- @thirdweb-dev/[email protected]
## 3.0.13
### Patch Changes
- Updated dependencies [[`235eb046`](https://github.com/thirdweb-dev/js/commit/235eb0460ae0638f63acf82957bcfea41b9e955d)]:
- @thirdweb-dev/[email protected]
## 3.0.12
### Patch Changes
+3 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "3.0.12",
"version": "3.0.16",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
@@ -60,7 +60,8 @@
"lint": "eslint src/",
"fix": "eslint src/ --fix",
"clean": "rm -rf dist/ && rm -rf node_modules/",
"test": "mocha --config './test/.mocharc.json' --timeout 30000 --parallel './test/**/*.test.ts'"
"test": "mocha --config './test/.mocharc.json' --timeout 30000 --parallel './test/**/*.test.ts'",
"push": "yalc push"
},
"preconstruct": {
"entrypoints": [
+1 -3
View File
@@ -49,9 +49,7 @@ export class ThirdwebAuth {
address: await this.wallet.getAddress(),
statement: parsedOptions?.statement,
version: parsedOptions?.version,
uri:
parsedOptions?.uri ||
(isBrowser() ? window.location.origin : undefined),
uri: parsedOptions?.uri,
chain_id: chainId,
nonce: parsedOptions?.nonce,
expiration_time:
@@ -27,7 +27,10 @@ export default async function handler(
serialize("thirdweb_auth_token", "", {
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(Date.now() + 5 * 1000),
httpOnly: true,
secure: true,
}),
);
+3
View File
@@ -27,7 +27,10 @@ export default async function handler(
serialize("thirdweb_auth_token", "", {
domain: ctx.cookieOptions?.domain,
path: ctx.cookieOptions?.path || "/",
sameSite: ctx.cookieOptions?.sameSite || "none",
expires: new Date(Date.now() + 5 * 1000),
httpOnly: true,
secure: true,
}),
);
+22
View File
@@ -1,5 +1,27 @@
# @thirdweb-dev/chains
## 0.1.13
### Patch Changes
- [#787](https://github.com/thirdweb-dev/js/pull/787) [`d2c7f6d7`](https://github.com/thirdweb-dev/js/commit/d2c7f6d758787fab102ecc0cec16ac74f3c87a1f) Thanks [@iketw](https://github.com/iketw)! - [ReactNative] Adds Device Wallet
- [#931](https://github.com/thirdweb-dev/js/pull/931) [`f12a80a4`](https://github.com/thirdweb-dev/js/commit/f12a80a4758aa91c43084acedb212de9f36a7371) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Updated chains
## 0.1.12
### Patch Changes
- [#896](https://github.com/thirdweb-dev/js/pull/896) [`a6610f12`](https://github.com/thirdweb-dev/js/commit/a6610f1211e9359885b948bf69a66d834707ec07) Thanks [@atharvadeosthale](https://github.com/atharvadeosthale)! - Added links to portal
- [#903](https://github.com/thirdweb-dev/js/pull/903) [`77224646`](https://github.com/thirdweb-dev/js/commit/77224646d542db3171394d744b455497cd057633) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - new chains
## 0.1.11
### Patch Changes
- [#870](https://github.com/thirdweb-dev/js/pull/870) [`235eb046`](https://github.com/thirdweb-dev/js/commit/235eb0460ae0638f63acf82957bcfea41b9e955d) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains
## 0.1.10
### Patch Changes
+1 -1
View File
@@ -10,7 +10,7 @@ export default {
},
"rpc": [
"https://nebula-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.rpc.novanetwork.io:9070"
"https://testnet.rpc.novanetwork.io"
],
"faucets": [
"https://faucet.novanetwork.io"
+38
View File
@@ -0,0 +1,38 @@
import type { Chain } from "../src/types";
export default {
"name": "ShimmerEVM Testnet",
"title": "ShimmerEVM Testnet",
"chain": "ShimmerEVM",
"icon": {
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
"width": 720,
"height": 720,
"format": "png"
},
"rpc": [
"https://shimmerevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://json-rpc.evm.testnet.shimmer.network"
],
"faucets": [
"https://evm-toolkit.evm.testnet.shimmer.network",
"https://evm-faucet.testnet.shimmer.network"
],
"nativeCurrency": {
"name": "SMR",
"symbol": "SMR",
"decimals": 18
},
"infoURL": "https://shimmer.network",
"shortName": "shimmerevm-testnet",
"chainId": 1071,
"networkId": 1071,
"explorers": [
{
"name": "explorer",
"url": "https://explorer.evm.testnet.shimmer.network",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "shimmerevm-testnet"
} as const satisfies Chain;
+37
View File
@@ -0,0 +1,37 @@
import type { Chain } from "../src/types";
export default {
"name": "Alphabet Mainnet",
"chain": "Alphabet Network",
"icon": {
"url": "ipfs://QmfTeudwVJcu7jzySBcpD9H5ZVK66nPJKRnicxend1bxfq",
"width": 500,
"height": 500,
"format": "svg"
},
"rpc": [
"https://alphabet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://londonpublic.alphabetnetwork.org",
"wss://londonpublic.alphabetnetwork.org/ws/",
"https://main-rpc.com",
"wss://main-rpc.com/ws/"
],
"faucets": [],
"nativeCurrency": {
"name": "ALT",
"symbol": "ALT",
"decimals": 18
},
"infoURL": "https://alphabetnetwork.org",
"shortName": "alphabet",
"chainId": 111222333444,
"networkId": 111222333444,
"explorers": [
{
"name": "Alphabet Explorer",
"url": "https://scan.alphabetnetwork.org",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "alphabet"
} as const satisfies Chain;
+6
View File
@@ -2,6 +2,12 @@ import type { Chain } from "../src/types";
export default {
"name": "Palm Testnet",
"chain": "Palm",
"icon": {
"url": "ipfs://bafkreihifvvbq6xzviygveivayogqiotdtpjvilu27bgqobduqemzeq7o4",
"width": 72,
"height": 72,
"format": "svg"
},
"rpc": [
"https://palm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://palm-testnet.infura.io/v3/${INFURA_API_KEY}"
+6
View File
@@ -2,6 +2,12 @@ import type { Chain } from "../src/types";
export default {
"name": "Palm",
"chain": "Palm",
"icon": {
"url": "ipfs://bafkreihifvvbq6xzviygveivayogqiotdtpjvilu27bgqobduqemzeq7o4",
"width": 72,
"height": 72,
"format": "svg"
},
"rpc": [
"https://palm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://palm-mainnet.infura.io/v3/${INFURA_API_KEY}"
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "Symplexia Smart Chain",
"chain": "Plexchain",
"rpc": [
"https://symplexia-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://plex-rpc.plexfinance.us"
],
"faucets": [],
"nativeCurrency": {
"name": "Plex Native Token",
"symbol": "PLEX",
"decimals": 18
},
"infoURL": "https://plexfinance.us/",
"shortName": "Plexchain",
"chainId": 1149,
"networkId": 1149,
"icon": {
"url": "ipfs://QmcXzfMNSQ7SZzKemNquVoXyG5ergdqCGeLWjRYETGBTUM",
"width": 256,
"height": 256,
"format": "png"
},
"explorers": [
{
"name": "Plexchain Explorer",
"url": "https://explorer.plexfinance.us",
"icon": {
"url": "ipfs://QmcXzfMNSQ7SZzKemNquVoXyG5ergdqCGeLWjRYETGBTUM",
"width": 256,
"height": 256,
"format": "png"
},
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "symplexia-smart-chain"
} as const satisfies Chain;
+6
View File
@@ -3,6 +3,12 @@ export default {
"name": "Rikeza Network Testnet",
"title": "Rikeza Network Testnet",
"chain": "Rikeza",
"icon": {
"url": "ipfs://QmfJ1Qxpzi6CSLeFeWY1Bwe435CpT5za5WfrLUE7vNzZfy",
"width": 512,
"height": 512,
"format": "png"
},
"rpc": [
"https://rikeza-network-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.rikscan.com"
+37
View File
@@ -0,0 +1,37 @@
import type { Chain } from "../src/types";
export default {
"name": "Chaos (SKALE Testnet)",
"title": "Chaos Testnet",
"chain": "staging-fast-active-bellatrix",
"rpc": [
"https://chaos-skale-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"
],
"faucets": [
"https://sfuel.skale.network/staging/chaos"
],
"nativeCurrency": {
"name": "sFUEL",
"symbol": "sFUEL",
"decimals": 18
},
"infoURL": "https://docs.skale.network/develop/",
"shortName": "chaos-tenet",
"chainId": 1351057110,
"networkId": 1351057110,
"explorers": [
{
"name": "Blockscout",
"url": "https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com",
"icon": {
"url": "ipfs://QmbYYCoU2G4LUfRr9ofGowF3eatfvWv9FiPVhqKndZeqwA",
"width": 400,
"height": 400,
"format": "png"
},
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "chaos-skale-testnet"
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "Deamchain Mainnet",
"chain": "Deamchain",
"icon": {
"url": "ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F",
"width": 512,
"height": 512,
"format": "svg"
},
"rpc": [
"https://deamchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.deamchain.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Deamchain Native Token",
"symbol": "DEAM",
"decimals": 18
},
"infoURL": "https://deamchain.com",
"shortName": "deam",
"chainId": 136,
"networkId": 136,
"explorers": [
{
"name": "Deamchain Block Explorer",
"url": "https://scan.deamchain.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F",
"width": 512,
"height": 512,
"format": "svg"
}
}
],
"testnet": false,
"slug": "deamchain"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "Zafirium Mainnet",
"chain": "ZAFIC",
"icon": {
"url": "ipfs://QmZT1Wq3P4YbgKBSUmCtgbs5ijPF5d91BzaMPh7Aub8d8t",
"width": 192,
"height": 192,
"format": "png"
},
"rpc": [
"https://zafirium.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.zakumi.io"
],
"faucets": [],
"nativeCurrency": {
"name": "Zakumi Chain Native Token",
"symbol": "ZAFIC",
"decimals": 18
},
"infoURL": "https://www.zakumi.io",
"shortName": "zafic",
"chainId": 1369,
"networkId": 1369,
"explorers": [
{
"name": "zafirium-explorer",
"url": "https://explorer.zakumi.io",
"standard": "none"
}
],
"testnet": false,
"slug": "zafirium"
} as const satisfies Chain;
+47
View File
@@ -0,0 +1,47 @@
import type { Chain } from "../src/types";
export default {
"name": "Defi Oracle Meta Mainnet",
"chain": "dfiometa",
"icon": {
"url": "ipfs://QmYrMRnjQJcNkYq9AvZ2FQ9kzYj9szzP4YDmyNA1ybd8xE",
"width": 1000,
"height": 1043,
"format": "png"
},
"rpc": [
"https://defi-oracle-meta.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.public-0138.defi-oracle.io",
"wss://rpc.public-0138.defi-oracle.io"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"infoURL": "https://defi-oracle.io/",
"shortName": "dfio-meta-main",
"chainId": 138,
"networkId": 1,
"slip44": 60,
"ens": {
"registry": "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85"
},
"explorers": [
{
"name": "Quorum Explorer",
"url": "https://public-0138.defi-oracle.io",
"standard": "none"
}
],
"testnet": false,
"slug": "defi-oracle-meta"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "ICPlaza Mainnet",
"chain": "ICPlaza",
"icon": {
"url": "ipfs://QmQpKKwpqrx77VA4SJLEWhuv9eLFMcVV9uvxRCLb6gdgCX",
"width": 847,
"height": 906,
"format": "png"
},
"rpc": [
"https://icplaza.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpcmainnet.ic-plaza.org/"
],
"faucets": [],
"nativeCurrency": {
"name": "ict",
"symbol": "ict",
"decimals": 18
},
"infoURL": "https://docs.ic-plaza.org/",
"shortName": "ICPlaza",
"chainId": 142857,
"networkId": 142857,
"explorers": [
{
"name": "ICPlaza",
"url": "https://browsemainnet.ic-plaza.org/index",
"standard": "none"
}
],
"testnet": false,
"slug": "icplaza"
} as const satisfies Chain;
+6
View File
@@ -3,6 +3,12 @@ export default {
"name": "Rikeza Network Mainnet",
"title": "Rikeza Network Mainnet",
"chain": "Rikeza",
"icon": {
"url": "ipfs://QmfJ1Qxpzi6CSLeFeWY1Bwe435CpT5za5WfrLUE7vNzZfy",
"width": 512,
"height": 512,
"format": "png"
},
"rpc": [
"https://rikeza-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.rikscan.com"
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "Six Protocol Testnet",
"chain": "FIVENET",
"icon": {
"url": "ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A",
"width": 512,
"height": 512,
"format": "png"
},
"rpc": [
"https://six-protocol-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-evm.fivenet.sixprotocol.net"
],
"faucets": [
"https://faucet.sixprotocol.net"
],
"nativeCurrency": {
"name": "SIX testnet evm token",
"symbol": "tSIX",
"decimals": 18
},
"infoURL": "https://six.network/",
"shortName": "sixt",
"chainId": 150,
"networkId": 150,
"explorers": [
{
"name": "SIX Scan fivenet",
"url": "https://sixscan.io/fivenet",
"standard": "none",
"icon": {
"url": "ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A",
"width": 512,
"height": 512,
"format": "png"
}
}
],
"testnet": true,
"slug": "six-protocol-testnet"
} as const satisfies Chain;
+43
View File
@@ -0,0 +1,43 @@
import type { Chain } from "../src/types";
export default {
"name": "EOS EVM Network Testnet",
"chain": "EOS",
"icon": {
"url": "ipfs://QmXkK5D5GWizvY1FmL6pV8cYLAbhehKETubktCgh6qDJZb",
"width": 500,
"height": 750,
"format": "png"
},
"rpc": [
"https://eos-evm-network-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.testnet.evm.eosnetwork.com"
],
"faucets": [],
"nativeCurrency": {
"name": "EOS",
"symbol": "EOS",
"decimals": 18
},
"infoURL": "https://eosnetwork.com/eos-evm",
"shortName": "eos-testnet",
"chainId": 15557,
"networkId": 15557,
"explorers": [
{
"name": "EOS EVM Explorer",
"url": "https://explorer.testnet.evm.eosnetwork.com",
"standard": "EIP3091"
}
],
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://bridge.testnet.evm.eosnetwork.com"
}
]
},
"testnet": true,
"slug": "eos-evm-network-testnet"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "OEBlock Testnet",
"chain": "OEBt",
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"rpc": [
"https://oeblock-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.oeblock.com"
],
"faucets": [],
"nativeCurrency": {
"name": "OEBlock",
"symbol": "OEB",
"decimals": 18
},
"infoURL": "https://www.oeblock.com/",
"shortName": "obe",
"chainId": 156,
"networkId": 156,
"icon": {
"url": "ipfs://QmdoQUfYqtkWMfjtoPv2KWDY4MxDDSsyWgwXtCx6jfkezz",
"width": 155,
"height": 177,
"format": "png"
},
"explorers": [
{
"name": "OEScan explorer",
"url": "https://testnet.oescan.io",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "oeblock-testnet"
} as const satisfies Chain;
+51
View File
@@ -0,0 +1,51 @@
import type { Chain } from "../src/types";
export default {
"name": "Horizen Gobi Testnet",
"shortName": "Gobi",
"chain": "Gobi",
"icon": {
"url": "ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti",
"width": 1213,
"height": 1213,
"format": "png"
},
"rpc": [
"https://horizen-gobi-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://gobi-testnet.horizenlabs.io/ethv1"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [
"https://faucet.horizen.io"
],
"nativeCurrency": {
"name": "Testnet Zen",
"symbol": "tZEN",
"decimals": 18
},
"infoURL": "https://horizen.io/",
"chainId": 1663,
"networkId": 1663,
"slip44": 121,
"explorers": [
{
"name": "Gobi Testnet Block Explorer",
"url": "https://gobi-explorer.horizen.io",
"icon": {
"url": "ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti",
"width": 1213,
"height": 1213,
"format": "png"
},
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "horizen-gobi-testnet"
} as const satisfies Chain;
+48
View File
@@ -0,0 +1,48 @@
import type { Chain } from "../src/types";
export default {
"name": "IRIShub Testnet",
"chain": "IRIShub",
"rpc": [
"https://irishub-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://34.80.202.172:8545"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "Eris",
"symbol": "ERIS",
"decimals": 18
},
"infoURL": "https://www.irisnet.org",
"shortName": "nyancat",
"chainId": 16688,
"networkId": 16688,
"icon": {
"url": "ipfs://QmRaSx7AX1VDgcqjwLgSDP4WZmKBHPdHhbjkcEEXPA2Fnc",
"width": 1062,
"height": 822,
"format": "png"
},
"explorers": [
{
"name": "IRISHub Testnet Cosmos Explorer (IOBScan)",
"url": "https://nyancat.iobscan.io",
"standard": "none",
"icon": {
"url": "ipfs://QmRaSx7AX1VDgcqjwLgSDP4WZmKBHPdHhbjkcEEXPA2Fnc",
"width": 1062,
"height": 822,
"format": "png"
}
}
],
"testnet": true,
"slug": "irishub-testnet"
} as const satisfies Chain;
+1 -1
View File
@@ -14,7 +14,7 @@ export default {
},
"features": [],
"infoURL": "https://hashpalette.com/",
"shortName": "PaletteChain",
"shortName": "PCM",
"chainId": 1718,
"networkId": 1718,
"icon": {
+41
View File
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"name": "Palette Chain Testnet",
"chain": "PLT",
"rpc": [
"https://palette-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://palette-opennet.com:22000"
],
"faucets": [],
"nativeCurrency": {
"name": "Palette Token",
"symbol": "PLT",
"decimals": 18
},
"features": [],
"infoURL": "https://hashpalette.com/",
"shortName": "PCT",
"chainId": 17180,
"networkId": 17180,
"icon": {
"url": "ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA",
"width": 800,
"height": 800,
"format": "png"
},
"explorers": [
{
"name": "Palettescan",
"url": "https://testnet.palettescan.com",
"icon": {
"url": "ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA",
"width": 800,
"height": 800,
"format": "png"
},
"standard": "none"
}
],
"testnet": true,
"slug": "palette-chain-testnet"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "PartyChain",
"chain": "mainnet",
"rpc": [
"https://partychain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://tea.mining4people.com/rpc",
"http://172.104.194.36:8545"
],
"faucets": [],
"nativeCurrency": {
"name": "Grams",
"symbol": "GRAMS",
"decimals": 18
},
"infoURL": "TeaPartyCrypto.com",
"shortName": "TeaParty",
"chainId": 1773,
"networkId": 1773,
"icon": {
"url": "ipfs://QmerDBFoXvgev2xx9U71gAaAK4CtxaaQVaAPf9Qi6UF9MS",
"width": 400,
"height": 400,
"format": "jpg"
},
"status": "incubating",
"explorers": [
{
"name": "PartyExplorer",
"url": "https://partyexplorer.co",
"icon": {
"url": "ipfs://QmerDBFoXvgev2xx9U71gAaAK4CtxaaQVaAPf9Qi6UF9MS",
"width": 400,
"height": 400,
"format": "jpg"
},
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "partychain"
} as const satisfies Chain;
+46
View File
@@ -0,0 +1,46 @@
import type { Chain } from "../src/types";
export default {
"name": "EOS EVM Network",
"chain": "EOS",
"icon": {
"url": "ipfs://QmXkK5D5GWizvY1FmL6pV8cYLAbhehKETubktCgh6qDJZb",
"width": 500,
"height": 750,
"format": "png"
},
"rpc": [
"https://eos-evm-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.evm.eosnetwork.com"
],
"faucets": [],
"nativeCurrency": {
"name": "EOS",
"symbol": "EOS",
"decimals": 18
},
"infoURL": "https://eosnetwork.com/eos-evm",
"shortName": "eos",
"chainId": 17777,
"networkId": 17777,
"explorers": [
{
"name": "EOS EVM Explorer",
"url": "https://explorer.evm.eosnetwork.com",
"standard": "EIP3091"
}
],
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://bridge.evm.eosnetwork.com"
},
{
"url": "https://app.multichain.org"
}
]
},
"testnet": false,
"slug": "eos-evm-network"
} as const satisfies Chain;
+13 -7
View File
@@ -16,19 +16,25 @@ export default {
"shortName": "GTH",
"chainId": 192837465,
"networkId": 192837465,
"explorers": [
{
"name": "Blockscout",
"url": "https://explorer.gather.network",
"standard": "none"
}
],
"icon": {
"url": "ipfs://Qmc9AJGg9aNhoH56n3deaZeUc8Ty1jDYJsW6Lu6hgSZH4S",
"height": 512,
"width": 512,
"format": "png"
},
"explorers": [
{
"name": "Blockscout",
"url": "https://explorer.gather.network",
"icon": {
"url": "ipfs://QmTYR8CeFiNbJ1zJHnE3DK2wEN18r2y2vqSKUcLweUT2Gz",
"width": 1080,
"height": 1080,
"format": "svg"
},
"standard": "none"
}
],
"testnet": false,
"slug": "gather-network"
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"name": "Neutrinos TestNet",
"chain": "NEUTR",
"rpc": [
"https://neutrinos-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.neutrinoschain.com"
],
"faucets": [
"https://neutrinoschain.com/faucet"
],
"nativeCurrency": {
"name": "Neutrinos",
"symbol": "NEUTR",
"decimals": 18
},
"infoURL": "https://docs.neutrinoschain.com",
"shortName": "NEUTR",
"chainId": 197,
"networkId": 197,
"explorers": [
{
"name": "blockscout",
"url": "https://testnet.neutrinoschain.com",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "neutrinos-testnet"
} as const satisfies Chain;
+1 -1
View File
@@ -28,7 +28,7 @@ export default {
"explorers": [
{
"name": "edexa-testnet",
"url": "https://explorer.edexa.com",
"url": "https://explorer.testnet.edexa.com",
"standard": "EIP3091"
}
],
+2 -2
View File
@@ -5,10 +5,10 @@ export default {
"shortName": "Camelark",
"chain": "ETHW",
"icon": {
"url": "ipfs://QmbXDcCWHh8jExE1tAUkUKzXyTb8srpC75ogZq1QYkMMRW",
"url": "ipfs://QmeJerrsURFNt2LL7DE7TxeunjrQXiuezdfHyqmsbwX3MZ",
"width": 128,
"height": 128,
"format": "svg"
"format": "png"
},
"networkId": 20001,
"nativeCurrency": {
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "Metaplayerone Network",
"chain": "MP1 Dubai-Testnet",
"icon": {
"url": "ipfs://QmfJKxmubJrqYWDcR2PnPvmpukxPz4fYDu3hqTaSnpJDxC",
"width": 42,
"height": 23,
"format": "svg"
},
"rpc": [
"https://metaplayerone-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-dubai.mp1network.com/"
],
"faucets": [],
"nativeCurrency": {
"name": "Metaunit",
"symbol": "MEU",
"decimals": 18
},
"infoURL": "https://docs.metaplayer.one/",
"shortName": "MEU",
"chainId": 2124,
"networkId": 2124,
"explorers": [
{
"name": "MP1Scan",
"url": "https://dubai.mp1scan.io",
"icon": {
"url": "ipfs://QmfJKxmubJrqYWDcR2PnPvmpukxPz4fYDu3hqTaSnpJDxC",
"width": 42,
"height": 23,
"format": "svg"
},
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "metaplayerone-network"
} as const satisfies Chain;
+47
View File
@@ -0,0 +1,47 @@
import type { Chain } from "../src/types";
export default {
"name": "Defi Oracle Meta Testnet",
"chain": "dfiometatest",
"icon": {
"url": "ipfs://QmYrMRnjQJcNkYq9AvZ2FQ9kzYj9szzP4YDmyNA1ybd8xE",
"width": 1000,
"height": 1043,
"format": "png"
},
"rpc": [
"https://defi-oracle-meta-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.public-2138.defi-oracle.io",
"wss://rpc.public-2138.defi-oracle.io"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "testEther",
"symbol": "tETH",
"decimals": 18
},
"infoURL": "https://defi-oracle.io/",
"shortName": "dfio-meta-test",
"chainId": 2138,
"networkId": 21,
"slip44": 60,
"ens": {
"registry": "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85"
},
"explorers": [
{
"name": "Quorum Explorer",
"url": "https://public-2138.defi-oracle.io",
"standard": "none"
}
],
"testnet": true,
"slug": "defi-oracle-meta-testnet"
} as const satisfies Chain;
+2 -2
View File
@@ -9,11 +9,11 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Bitcoin",
"symbol": "eBTC",
"symbol": "BTC",
"decimals": 18
},
"infoURL": "https://bitcoinevm.com",
"shortName": "eBTC",
"shortName": "BTC",
"chainId": 2203,
"networkId": 2203,
"icon": {
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"name": "Kanazawa",
"title": "Meld Testnet Kanazawa",
"chain": "Kanazawa",
"rpc": [
"https://kanazawa.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-kanazawa.meldlabs.dev/ext/bc/2Ci7VYrUd4fTBqGA5D2HA6UPHzQ4LQyr8rZQww9MGSv9rNkRzn/rpc"
],
"faucets": [],
"features": [],
"nativeCurrency": {
"name": "gMeld",
"symbol": "gMELD",
"decimals": 18
},
"icon": {
"url": "ipfs://QmRhB4AbjDrhvwfSAQi2JvKirFiDWxzJvKEvG8S8AdDdED",
"width": 4000,
"height": 4000,
"format": "png"
},
"infoURL": "https://meld.com",
"shortName": "kanazawa",
"chainId": 222000222,
"networkId": 222000222,
"explorers": [],
"testnet": true,
"slug": "kanazawa"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "Taf ECO Chain Mainnet",
"chain": "Taf ECO Chain",
"icon": {
"url": "ipfs://bafkreigpxhu7glccsislhjqpl5fnsfmj2io4cy33blhky642uiuyojossy",
"width": 400,
"height": 400,
"format": "png"
},
"rpc": [
"https://taf-eco-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.tafchain.com/v1"
],
"faucets": [],
"nativeCurrency": {
"name": "Taf ECO Chain Mainnet",
"symbol": "TAFECO",
"decimals": 18
},
"infoURL": "https://www.tafchain.com",
"shortName": "TAFECO",
"chainId": 224168,
"networkId": 224168,
"explorers": [
{
"name": "Taf ECO Chain Mainnet",
"url": "https://ecoscan.tafchain.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "taf-eco-chain"
} as const satisfies Chain;
+29
View File
@@ -0,0 +1,29 @@
import type { Chain } from "../src/types";
export default {
"name": "SwapDEX",
"chain": "SDX",
"rpc": [
"https://swapdex.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.swapdex.network",
"wss://ss.swapdex.network"
],
"faucets": [],
"nativeCurrency": {
"name": "SwapDEX",
"symbol": "SDX",
"decimals": 18
},
"infoURL": "https://swapdex.network/",
"shortName": "SDX",
"chainId": 230,
"networkId": 230,
"explorers": [
{
"name": "SwapDEX",
"url": "https://evm.swapdex.network",
"standard": "none"
}
],
"testnet": false,
"slug": "swapdex"
} as const satisfies Chain;
+50
View File
@@ -0,0 +1,50 @@
import type { Chain } from "../src/types";
export default {
"name": "Kroma Sepolia",
"title": "Kroma Testnet Sepolia",
"chainId": 2357,
"shortName": "kroma-sepolia",
"chain": "ETH",
"networkId": 2357,
"nativeCurrency": {
"name": "Sepolia Ether",
"symbol": "ETH",
"decimals": 18
},
"rpc": [
"https://kroma-sepolia.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.sepolia.kroma.network"
],
"faucets": [],
"infoURL": "https://kroma.network",
"icon": {
"url": "ipfs://QmcYafk2je5rMqgnFPDZJTaLi6dgFgq96vmX2Li6DX441B",
"width": 320,
"height": 320,
"format": "svg"
},
"explorers": [
{
"name": "blockscout",
"url": "https://blockscout.sepolia.kroma.network",
"icon": {
"url": "ipfs://QmcYafk2je5rMqgnFPDZJTaLi6dgFgq96vmX2Li6DX441B",
"width": 320,
"height": 320,
"format": "svg"
},
"standard": "EIP3091"
}
],
"parent": {
"type": "L2",
"chain": "eip155-11155111",
"bridges": [
{
"url": "https://kroma.network/bridge"
}
]
},
"testnet": true,
"slug": "kroma-sepolia"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "Deamchain Testnet",
"chain": "Deamchain",
"icon": {
"url": "ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F",
"width": 512,
"height": 512,
"format": "svg"
},
"rpc": [
"https://deamchain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.deamchain.com"
],
"faucets": [
"https://faucet.deamchain.com"
],
"nativeCurrency": {
"name": "Deamchain Native Token",
"symbol": "DEAM",
"decimals": 18
},
"infoURL": "https://deamchain.com",
"shortName": "deamtest",
"chainId": 236,
"networkId": 236,
"explorers": [
{
"name": "Deamchain Testnet Explorer",
"url": "https://testnet-scan.deamchain.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F",
"width": 512,
"height": 512,
"format": "svg"
}
}
],
"testnet": true,
"slug": "deamchain-testnet"
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "Neonlink Mainnet",
"chain": "Neonlink",
"rpc": [
"https://neonlink.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.neonlink.io"
],
"faucets": [],
"nativeCurrency": {
"name": "Neonlink Native Token",
"symbol": "NEON",
"decimals": 18
},
"infoURL": "https://neonlink.io",
"shortName": "neon",
"chainId": 259,
"networkId": 259,
"icon": {
"url": "ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz",
"width": 512,
"height": 512,
"format": "svg"
},
"explorers": [
{
"name": "Neon Blockchain Explorer",
"url": "https://scan.neonlink.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz",
"width": 512,
"height": 512,
"format": "svg"
}
}
],
"testnet": false,
"slug": "neonlink"
} as const satisfies Chain;
+38
View File
@@ -0,0 +1,38 @@
import type { Chain } from "../src/types";
export default {
"name": "Ferrum Testnet",
"chain": "tFRM",
"rpc": [
"https://ferrum-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://testnet.dev.svcs.ferrumnetwork.io:9933"
],
"faucets": [
"https://testnet.faucet.ferrumnetwork.io"
],
"nativeCurrency": {
"name": "Ferrum",
"symbol": "tFRM",
"decimals": 18
},
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"infoURL": "https://ferrum.network",
"shortName": "frm",
"chainId": 26026,
"networkId": 26026,
"explorers": [
{
"name": "polkadotjs",
"url": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.dev.svcs.ferrumnetwork.io#/explorer",
"standard": "none"
}
],
"testnet": true,
"slug": "ferrum-testnet"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "Zilliqa EVM",
"chain": "ZIL",
"rpc": [
"https://zilliqa-evm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.zilliqa.com"
],
"faucets": [],
"nativeCurrency": {
"name": "Zilliqa",
"symbol": "ZIL",
"decimals": 18
},
"infoURL": "https://www.zilliqa.com/",
"shortName": "zil",
"chainId": 32769,
"networkId": 32769,
"icon": {
"url": "ipfs://QmTREXNgGtUhSoxFsrkhTe5LUnDBTKL5byaX8kpET6UuKp",
"width": 2048,
"height": 2048,
"format": "png"
},
"explorers": [
{
"name": "Zilliqa EVM Explorer",
"url": "https://evmx.zilliqa.com",
"standard": "none"
}
],
"testnet": false,
"slug": "zilliqa-evm"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "TTcoin Smart Chain Mainnet",
"chain": "TSC",
"icon": {
"url": "ipfs://QmS7ipvvyZ16weG1DM7AZbi1v9ixYwU2FjP25Jj5jkLiuf",
"width": 512,
"height": 512,
"format": "png"
},
"rpc": [
"https://ttcoin-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.tscscan.com"
],
"faucets": [
"https://faucet.tscscan.com"
],
"nativeCurrency": {
"name": "TTcoin",
"symbol": "TC",
"decimals": 18
},
"infoURL": "https://ttcoin.info/",
"shortName": "tc",
"chainId": 330844,
"networkId": 330844,
"explorers": [
{
"name": "TTcoin Smart Chain Explorer",
"url": "https://tscscan.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmS7ipvvyZ16weG1DM7AZbi1v9ixYwU2FjP25Jj5jkLiuf",
"width": 512,
"height": 512,
"format": "png"
}
}
],
"testnet": false,
"slug": "ttcoin-smart-chain"
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"name": "Meld",
"title": "Meld Mainnet",
"chain": "MELD",
"rpc": [
"https://meld.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://network-rpc.meld.com"
],
"faucets": [],
"features": [],
"nativeCurrency": {
"name": "gMeld",
"symbol": "gMELD",
"decimals": 18
},
"icon": {
"url": "ipfs://QmRhB4AbjDrhvwfSAQi2JvKirFiDWxzJvKEvG8S8AdDdED",
"width": 4000,
"height": 4000,
"format": "png"
},
"infoURL": "https://meld.com",
"shortName": "meld",
"chainId": 333000333,
"networkId": 333000333,
"explorers": [],
"testnet": false,
"slug": "meld"
} as const satisfies Chain;
+14 -8
View File
@@ -18,19 +18,25 @@ export default {
"shortName": "tGTH",
"chainId": 356256156,
"networkId": 356256156,
"explorers": [
{
"name": "Blockscout",
"url": "https://testnet-explorer.gather.network",
"standard": "none"
}
],
"testnet": true,
"icon": {
"url": "ipfs://Qmc9AJGg9aNhoH56n3deaZeUc8Ty1jDYJsW6Lu6hgSZH4S",
"height": 512,
"width": 512,
"format": "png"
},
"explorers": [
{
"name": "Blockscout",
"url": "https://testnet-explorer.gather.network",
"icon": {
"url": "ipfs://QmTYR8CeFiNbJ1zJHnE3DK2wEN18r2y2vqSKUcLweUT2Gz",
"width": 1080,
"height": 1080,
"format": "svg"
},
"standard": "none"
}
],
"testnet": true,
"slug": "gather-testnet-network"
} as const satisfies Chain;
+29
View File
@@ -0,0 +1,29 @@
import type { Chain } from "../src/types";
export default {
"name": "Markr Go",
"chain": "Unified",
"icon": {
"url": "ipfs://QmVMBTZVPawyLBD2B5VbG68dfWLfZ1CnB8V59xduBe2kwh",
"width": 84,
"height": 84,
"format": "png"
},
"rpc": [
"https://markr-go.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.markr.io/ext/"
],
"faucets": [],
"nativeCurrency": {
"name": "Avalanche",
"symbol": "AVAX",
"decimals": 18
},
"infoURL": "https://www.markr.io/",
"shortName": "markr-go",
"chainId": 431140,
"networkId": 431140,
"explorers": [],
"status": "incubating",
"testnet": false,
"slug": "markr-go"
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"name": "Acria IntelliChain",
"chain": "AIC",
"rpc": [
"https://acria-intellichain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://aic.acria.ai"
],
"faucets": [],
"nativeCurrency": {
"name": "ACRIA",
"symbol": "ACRIA",
"decimals": 18
},
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"infoURL": "https://acria.ai",
"shortName": "aic",
"chainId": 47,
"networkId": 47,
"explorers": [
{
"name": "Acria IntelliChain-Explorer",
"url": "https://explorer.acria.ai",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "acria-intellichain"
} as const satisfies Chain;
+2 -1
View File
@@ -6,7 +6,8 @@ export default {
"https://xinfin-xdc-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://erpc.xinfin.network",
"https://rpc.xinfin.network",
"https://rpc1.xinfin.network"
"https://rpc1.xinfin.network",
"https://rpc-xdc.icecreamswap.com"
],
"faucets": [],
"nativeCurrency": {
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "MXC Wannsee zkEVM Testnet",
"chain": "MXC zkEVM",
"icon": {
"url": "ipfs://QmdGCthKA11K9kCZJdbTP5WPAyq1wiRZ3REn6KG58MrWaE",
"width": 159,
"height": 159,
"format": "png"
},
"rpc": [
"https://mxc-wannsee-zkevm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://wannsee-rpc.mxc.com"
],
"faucets": [],
"nativeCurrency": {
"name": "MXC Wannsee zkEVM Testnet",
"symbol": "MXC",
"decimals": 18
},
"infoURL": "https://wannsee.mxc.com/docs/intro",
"shortName": "MXC",
"chainId": 5167003,
"networkId": 5167003,
"explorers": [
{
"name": "MXC Wannsee zkEVM Testnet",
"url": "https://wannsee-explorer.mxc.com",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "mxc-wannsee-zkevm-testnet"
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"name": "SatoshiChain Testnet",
"chain": "SATS",
"icon": {
"url": "ipfs://QmRegpZQBW4o1imYNsW3d27MQjygBSU23Gf6JKje26nvs7",
"width": 1251,
"height": 1251,
"format": "png"
},
"rpc": [
"https://satoshichain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.satoshichain.io"
],
"faucets": [
"https://faucet.satoshichain.io"
],
"nativeCurrency": {
"name": "SatoshiChain Coin",
"symbol": "SATS",
"decimals": 18
},
"infoURL": "https://satoshichain.net",
"shortName": "sats",
"chainId": 5758,
"networkId": 5758,
"explorers": [
{
"name": "SatoshiChain Explorer",
"url": "https://satoshiscan.io",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "satoshichain-testnet"
} as const satisfies Chain;
-28
View File
@@ -1,28 +0,0 @@
import type { Chain } from "../src/types";
export default {
"name": "EOS Mainnet",
"chain": "EOS",
"rpc": [
"https://eos.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.eosargentina.io"
],
"faucets": [],
"nativeCurrency": {
"name": "EOS",
"symbol": "EOS",
"decimals": 18
},
"infoURL": "https://eoscommunity.org/",
"shortName": "EOSMainnet",
"chainId": 59,
"networkId": 59,
"explorers": [
{
"name": "bloks",
"url": "https://bloks.eosargentina.io",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "eos"
} as const satisfies Chain;
+13 -10
View File
@@ -1,17 +1,20 @@
import type { Chain } from "../src/types";
export default {
"name": "Linea Testnet",
"title": "Linea Testnet",
"title": "Linea Goerli Testnet",
"chain": "ETH",
"rpc": [
"https://linea-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.goerli.linea.build"
"https://rpc.goerli.linea.build",
"wss://rpc.goerli.linea.build",
"https://consensys-zkevm-goerli-prealpha.infura.io/v3/${INFURA_API_KEY}",
"wss://consensys-zkevm-goerli-prealpha.infura.io/v3/${INFURA_API_KEY}"
],
"faucets": [
"https://faucetlink.to/goerli"
],
"nativeCurrency": {
"name": "Goerli Ether",
"name": "Linea Ether",
"symbol": "ETH",
"decimals": 18
},
@@ -20,9 +23,9 @@ export default {
"chainId": 59140,
"networkId": 59140,
"icon": {
"url": "ipfs://QmP6rcphqMTeByPxomeYeR5XRPZaFpwGbZxHkGQKyao4Le",
"width": 115,
"height": 115,
"url": "ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH",
"width": 97,
"height": 102,
"format": "svg"
},
"parent": {
@@ -36,13 +39,13 @@ export default {
},
"explorers": [
{
"name": "Linea Testnet Explorer",
"name": "blockscout",
"url": "https://explorer.goerli.linea.build",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmP6rcphqMTeByPxomeYeR5XRPZaFpwGbZxHkGQKyao4Le",
"width": 115,
"height": 115,
"url": "ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH",
"width": 97,
"height": 102,
"format": "svg"
}
}
+22
View File
@@ -0,0 +1,22 @@
import type { Chain } from "../src/types";
export default {
"name": "Peerpay",
"chain": "P2P",
"rpc": [
"https://peerpay.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://peerpay.su.gy/p2p"
],
"faucets": [],
"nativeCurrency": {
"name": "Peerpay",
"symbol": "P2P",
"decimals": 18
},
"infoURL": "https://peerpay.su.gy",
"shortName": "Peerpay",
"chainId": 6502,
"networkId": 6502,
"explorers": [],
"testnet": false,
"slug": "peerpay"
} as const satisfies Chain;
+48
View File
@@ -0,0 +1,48 @@
import type { Chain } from "../src/types";
export default {
"name": "IRIShub",
"chain": "IRIShub",
"rpc": [
"https://irishub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evmrpc.irishub-1.irisnet.org"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [],
"nativeCurrency": {
"name": "Eris",
"symbol": "ERIS",
"decimals": 18
},
"infoURL": "https://www.irisnet.org",
"shortName": "iris",
"chainId": 6688,
"networkId": 6688,
"icon": {
"url": "ipfs://QmTKgKs7kJiWDhdjbELE4Y2HVZ36KS4bYkNCbXdsXk66sW",
"width": 1062,
"height": 1062,
"format": "png"
},
"explorers": [
{
"name": "IRISHub Cosmos Explorer (IOBScan)",
"url": "https://irishub.iobscan.io",
"standard": "none",
"icon": {
"url": "ipfs://QmTKgKs7kJiWDhdjbELE4Y2HVZ36KS4bYkNCbXdsXk66sW",
"width": 1062,
"height": 1062,
"format": "png"
}
}
],
"testnet": false,
"slug": "irishub"
} as const satisfies Chain;
+21
View File
@@ -0,0 +1,21 @@
import type { Chain } from "../src/types";
export default {
"name": "Cosmic Chain",
"chain": "COSMIC",
"rpc": [
"https://cosmic-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"http://testnet.cosmicchain.site:3344"
],
"faucets": [],
"nativeCurrency": {
"name": "Cosmic Chain",
"symbol": "COSMIC",
"decimals": 18
},
"infoURL": "https://cosmicchain.site",
"shortName": "Cosmic",
"chainId": 67588,
"networkId": 3344,
"testnet": true,
"slug": "cosmic-chain"
} as const satisfies Chain;
-28
View File
@@ -1,28 +0,0 @@
import type { Chain } from "../src/types";
export default {
"name": "Canto Testnet",
"chain": "Canto Tesnet",
"rpc": [
"https://canto-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://eth.plexnode.wtf/"
],
"faucets": [],
"nativeCurrency": {
"name": "Canto",
"symbol": "CANTO",
"decimals": 18
},
"infoURL": "https://canto.io",
"shortName": "tcanto",
"chainId": 740,
"networkId": 740,
"explorers": [
{
"name": "Canto Tesnet Explorer (Neobase)",
"url": "https://testnet-explorer.canto.neobase.one",
"standard": "none"
}
],
"testnet": true,
"slug": "canto-testnet"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"name": "Adil Chain V2 Mainnet",
"chain": "ADIL",
"icon": {
"url": "ipfs://QmeHNYUx6n8CjUFSLWNT17oAtDYrUq6r8buyvGCUBXCJw6",
"width": 500,
"height": 500,
"format": "png"
},
"rpc": [
"https://adil-chain-v2.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://adilchain-rpc.io"
],
"faucets": [],
"nativeCurrency": {
"name": "ADIL",
"symbol": "ADIL",
"decimals": 18
},
"infoURL": "https://adilchain.io",
"shortName": "adil",
"chainId": 7576,
"networkId": 7576,
"explorers": [
{
"name": "ADIL Mainnet Explorer",
"url": "https://adilchain-scan.io",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "adil-chain-v2"
} as const satisfies Chain;
+1 -1
View File
@@ -21,7 +21,7 @@ export default {
{
"name": "rootnet",
"url": "https://explorer.rootnet.live",
"standard": "none"
"standard": "EIP3091"
}
],
"testnet": false,
+1 -1
View File
@@ -21,7 +21,7 @@ export default {
{
"name": "rootnet",
"url": "https://explorer.rootnet.cloud",
"standard": "none"
"standard": "EIP3091"
}
],
"testnet": true,
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"name": "Canto Tesnet",
"chain": "Canto",
"rpc": [
"https://canto-tesnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-archive.plexnode.wtf"
],
"faucets": [],
"nativeCurrency": {
"name": "Testnet Canto",
"symbol": "CANTO",
"decimals": 18
},
"infoURL": "https://canto.io",
"shortName": "TestnetCanto",
"chainId": 7701,
"networkId": 7701,
"explorers": [
{
"name": "Canto Testnet EVM Explorer (Blockscout)",
"url": "https://testnet.tuber.build",
"standard": "none"
}
],
"testnet": true,
"slug": "canto-tesnet"
} as const satisfies Chain;
+2 -2
View File
@@ -1,6 +1,6 @@
import type { Chain } from "../src/types";
export default {
"name": "Qitmeer Network Mixnext",
"name": "Qitmeer Network Mixnet",
"chain": "MEER",
"rpc": [],
"faucets": [],
@@ -21,5 +21,5 @@ export default {
"networkId": 8132,
"status": "incubating",
"testnet": false,
"slug": "qitmeer-network-mixnext"
"slug": "qitmeer-network-mixnet"
} as const satisfies Chain;
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Amana Testnet",
"symbol": "MEER-t",
"symbol": "MEER-T",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Amana Mixnet",
"symbol": "MEER-m",
"symbol": "MEER-M",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Amana Privnet",
"symbol": "MEER-p",
"symbol": "MEER-P",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Flana Testnet",
"symbol": "MEER-t",
"symbol": "MEER-T",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Flana Mixnet",
"symbol": "MEER-m",
"symbol": "MEER-M",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Flana Privnet",
"symbol": "MEER-p",
"symbol": "MEER-P",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Mizana Testnet",
"symbol": "MEER-t",
"symbol": "MEER-T",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Mizana Mixnet",
"symbol": "MEER-m",
"symbol": "MEER-M",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+1 -1
View File
@@ -6,7 +6,7 @@ export default {
"faucets": [],
"nativeCurrency": {
"name": "Mizana Privnet",
"symbol": "MEER-p",
"symbol": "MEER-P",
"decimals": 18
},
"infoURL": "https://github.com/Qitmeer",
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "BeOne Chain Mainnet",
"chain": "BOC",
"icon": {
"url": "ipfs://QmbVLQnaMDu86bPyKgCvTGhFBeYwjr15hQnrCcsp1EkAGL",
"width": 500,
"height": 500,
"format": "png"
},
"rpc": [
"https://beone-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://dataseed1.beonechain.com",
"https://dataseed2.beonechain.com",
"https://dataseed-us1.beonechain.com",
"https://dataseed-us2.beonechain.com",
"https://dataseed-uk1.beonechain.com",
"https://dataseed-uk2.beonechain.com"
],
"faucets": [],
"nativeCurrency": {
"name": "BeOne Chain Mainnet",
"symbol": "BOC",
"decimals": 18
},
"infoURL": "https://beonechain.com",
"shortName": "BOC",
"chainId": 818,
"networkId": 818,
"slip44": 8181,
"explorers": [
{
"name": "BeOne Chain Mainnet",
"url": "https://beonescan.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "beone-chain"
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"name": "Linqto Devnet",
"chain": "LNQ",
"rpc": [
"https://linqto-devnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://linqto-dev.com"
],
"faucets": [],
"nativeCurrency": {
"name": "XRP",
"symbol": "XRP",
"decimals": 18
},
"infoURL": "https://linqto.com",
"shortName": "linqto-devnet",
"chainId": 84,
"networkId": 84,
"explorers": [
{
"name": "Linqto Devnet Explorer",
"url": "https://explorer.linqto-dev.com",
"standard": "EIP3091"
}
],
"testnet": false,
"slug": "linqto-devnet"
} as const satisfies Chain;
+21
View File
@@ -0,0 +1,21 @@
import type { Chain } from "../src/types";
export default {
"name": "DecentraBone Layer1 Testnet",
"chain": "DBONE",
"rpc": [
"https://decentrabone-layer1-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://layer1test.decentrabone.com"
],
"faucets": [],
"nativeCurrency": {
"name": "DecentraBone",
"symbol": "DBONE",
"decimals": 18
},
"infoURL": "https://decentrabone.com",
"shortName": "DBONE",
"chainId": 910,
"networkId": 910,
"testnet": true,
"slug": "decentrabone-layer1-testnet"
} as const satisfies Chain;
-24
View File
@@ -1,24 +0,0 @@
import type { Chain } from "../src/types";
export default {
"name": "PulseChain Testnet",
"shortName": "tpls",
"chain": "tPLS",
"chainId": 940,
"networkId": 940,
"infoURL": "https://pulsechain.com/",
"rpc": [
"https://pulsechain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.v2.testnet.pulsechain.com/",
"wss://rpc.v2.testnet.pulsechain.com/"
],
"faucets": [
"https://faucet.v2.testnet.pulsechain.com/"
],
"nativeCurrency": {
"name": "Test Pulse",
"symbol": "tPLS",
"decimals": 18
},
"testnet": true,
"slug": "pulsechain-testnet"
} as const satisfies Chain;
-24
View File
@@ -1,24 +0,0 @@
import type { Chain } from "../src/types";
export default {
"name": "PulseChain Testnet v2b",
"shortName": "t2bpls",
"chain": "t2bPLS",
"chainId": 941,
"networkId": 941,
"infoURL": "https://pulsechain.com/",
"rpc": [
"https://pulsechain-testnet-v2b.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.v2b.testnet.pulsechain.com/",
"wss://rpc.v2b.testnet.pulsechain.com/"
],
"faucets": [
"https://faucet.v2b.testnet.pulsechain.com/"
],
"nativeCurrency": {
"name": "Test Pulse",
"symbol": "tPLS",
"decimals": 18
},
"testnet": true,
"slug": "pulsechain-testnet-v2b"
} as const satisfies Chain;
+43
View File
@@ -0,0 +1,43 @@
import type { Chain } from "../src/types";
export default {
"name": "PulseChain Testnet v4",
"shortName": "t4pls",
"chain": "t4PLS",
"chainId": 943,
"networkId": 943,
"icon": {
"url": "ipfs://Qmckj9B9F3jWDk9bv9HwoPmfjrx2Ju8J2BQSNoPFdYGduj",
"width": 433,
"height": 402,
"format": "png"
},
"infoURL": "https://pulsechain.com",
"rpc": [
"https://pulsechain-testnet-v4.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.v4.testnet.pulsechain.com/",
"wss://rpc.v4.testnet.pulsechain.com/"
],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"faucets": [
"https://faucet.v4.testnet.pulsechain.com/"
],
"ens": {
"registry": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
},
"status": "incubating",
"explorers": [],
"nativeCurrency": {
"name": "Test Pulse",
"symbol": "tPLS",
"decimals": 18
},
"testnet": true,
"slug": "pulsechain-testnet-v4"
} as const satisfies Chain;
-28
View File
@@ -1,28 +0,0 @@
import type { Chain } from "../src/types";
export default {
"name": "CryptoKylin Testnet",
"chain": "EOS",
"rpc": [
"https://cryptokylin-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://kylin.eosargentina.io"
],
"faucets": [],
"nativeCurrency": {
"name": "EOS",
"symbol": "EOS",
"decimals": 18
},
"infoURL": "https://www.cryptokylin.io/",
"shortName": "KylinTestnet",
"chainId": 95,
"networkId": 95,
"explorers": [
{
"name": "eosq",
"url": "https://kylin.eosargentina.io",
"standard": "EIP3091"
}
],
"testnet": true,
"slug": "cryptokylin-testnet"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "Neonlink Testnet",
"chain": "Neonlink",
"rpc": [
"https://neonlink-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.neonlink.io"
],
"faucets": [
"https://faucet.neonlink.io/"
],
"nativeCurrency": {
"name": "Neonlink Native Token",
"symbol": "tNEON",
"decimals": 18
},
"infoURL": "https://neonlink.io",
"shortName": "testneon",
"chainId": 9559,
"networkId": 9559,
"icon": {
"url": "ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz",
"width": 512,
"height": 512,
"format": "svg"
},
"explorers": [
{
"name": "Neon Blockchain Explorer",
"url": "https://testnet-scan.neonlink.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz",
"width": 512,
"height": 512,
"format": "svg"
}
}
],
"testnet": true,
"slug": "neonlink-testnet"
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"name": "Carbon EVM",
"chain": "Carbon",
"icon": {
"url": "ipfs://QmQUHqi1gyuTuKmJQHqt9EyhN1FPmmmLNUK8u93nMGrxAy",
"width": 1600,
"height": 1600,
"format": "png"
},
"rpc": [
"https://carbon-evm.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-api.carbon.network/"
],
"faucets": [],
"nativeCurrency": {
"name": "swth",
"symbol": "SWTH",
"decimals": 18
},
"infoURL": "https://carbon.network/",
"shortName": "carbon",
"chainId": 9790,
"networkId": 9790,
"explorers": [],
"testnet": false,
"slug": "carbon-evm"
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"name": "Carbon EVM Testnet",
"chain": "Carbon",
"icon": {
"url": "ipfs://QmQUHqi1gyuTuKmJQHqt9EyhN1FPmmmLNUK8u93nMGrxAy",
"width": 1600,
"height": 1600,
"format": "png"
},
"rpc": [
"https://carbon-evm-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://test-evm-api.carbon.network/"
],
"faucets": [],
"nativeCurrency": {
"name": "swth",
"symbol": "SWTH",
"decimals": 18
},
"infoURL": "https://carbon.network/",
"shortName": "carbon-testnet",
"chainId": 9792,
"networkId": 9792,
"explorers": [],
"testnet": true,
"slug": "carbon-evm-testnet"
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"name": "Six Protocol",
"chain": "SIXNET",
"icon": {
"url": "ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A",
"width": 512,
"height": 512,
"format": "png"
},
"rpc": [
"https://six-protocol.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://sixnet-rpc-evm.sixprotocol.net"
],
"faucets": [],
"nativeCurrency": {
"name": "SIX evm token",
"symbol": "SIX",
"decimals": 18
},
"infoURL": "https://six.network/",
"shortName": "six",
"chainId": 98,
"networkId": 98,
"explorers": [
{
"name": "SIX Scan",
"url": "https://sixscan.io/sixnet",
"standard": "none",
"icon": {
"url": "ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A",
"width": 512,
"height": 512,
"format": "png"
}
}
],
"testnet": false,
"slug": "six-protocol"
} as const satisfies Chain;
+42
View File
@@ -0,0 +1,42 @@
import type { Chain } from "../src/types";
export default {
"name": "5ireChain Thunder",
"chain": "5ireChain",
"rpc": [
"https://5irechain-thunder.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.5ire.network"
],
"faucets": [
"https://explorer.5ire.network/faucet"
],
"nativeCurrency": {
"name": "5ire Token",
"symbol": "5ire",
"decimals": 18
},
"infoURL": "https://5ire.org",
"shortName": "5ire",
"chainId": 997,
"networkId": 997,
"icon": {
"url": "ipfs://QmaZDNDFLWESH4i3XqwEWfWBb1HPnQSNbDAr74nr2x8QAk",
"width": 800,
"height": 800,
"format": "svg"
},
"explorers": [
{
"name": "5ireChain Explorer",
"url": "https://explorer.5ire.network",
"standard": "none",
"icon": {
"url": "ipfs://QmaZDNDFLWESH4i3XqwEWfWBb1HPnQSNbDAr74nr2x8QAk",
"width": 800,
"height": 800,
"format": "svg"
}
}
],
"testnet": true,
"slug": "5irechain-thunder"
} as const satisfies Chain;
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/chains",
"version": "0.1.10",
"version": "0.1.13",
"main": "dist/thirdweb-dev-chains.cjs.js",
"module": "dist/thirdweb-dev-chains.esm.js",
"browser": {
+2677 -1657
View File
File diff suppressed because one or more lines are too long
+53
View File
@@ -1,5 +1,58 @@
# thirdweb
## 0.10.13
### Patch Changes
- Updated dependencies [[`d2c7f6d7`](https://github.com/thirdweb-dev/js/commit/d2c7f6d758787fab102ecc0cec16ac74f3c87a1f), [`f12a80a4`](https://github.com/thirdweb-dev/js/commit/f12a80a4758aa91c43084acedb212de9f36a7371), [`bf6df267`](https://github.com/thirdweb-dev/js/commit/bf6df2671131d7ed38650e2bed806081b32dc244), [`8f962bc1`](https://github.com/thirdweb-dev/js/commit/8f962bc15c35da52ed5bc4025bb4cd18b69079e3), [`28b5d1eb`](https://github.com/thirdweb-dev/js/commit/28b5d1eb6d0142d3ebefb8bd078c30949f77fe61), [`0bf29745`](https://github.com/thirdweb-dev/js/commit/0bf29745b0e842763c271ad8773312f0836ea00f), [`f0279c22`](https://github.com/thirdweb-dev/js/commit/f0279c228829b86ff1f828219bcef4fe16901f67), [`1e9fad77`](https://github.com/thirdweb-dev/js/commit/1e9fad779f3ebe535d32c0ce76905a3a8033f2fa), [`00d0d01e`](https://github.com/thirdweb-dev/js/commit/00d0d01e619ff5c60b9f31386f51a55b5e466efa), [`fc96e147`](https://github.com/thirdweb-dev/js/commit/fc96e14750175b19cb66fa7d50cdbad65b42153a)]:
- @thirdweb-dev/chains@0.1.13
- @thirdweb-dev/sdk@3.10.12
- @thirdweb-dev/storage@1.1.2
## 0.10.12
### Patch Changes
- [#894](https://github.com/thirdweb-dev/js/pull/894) [`72db2dc3`](https://github.com/thirdweb-dev/js/commit/72db2dc3e1c63e82ba4d73b6bd5ad4b2f8bbd559) Thanks [@adam-maj](https://github.com/adam-maj)! - Add more clear error messages to thirdweb generate
- Updated dependencies [[`abe88599`](https://github.com/thirdweb-dev/js/commit/abe88599b634699aa3b876fe344bfddc6c1a92d4), [`4acb2b55`](https://github.com/thirdweb-dev/js/commit/4acb2b5561118dde5c7372400d4d754b879aef2e), [`ea04edf4`](https://github.com/thirdweb-dev/js/commit/ea04edf47867617ff74f0aca1471a40b8d9c9f7c), [`77224646`](https://github.com/thirdweb-dev/js/commit/77224646d542db3171394d744b455497cd057633), [`c9ee9b32`](https://github.com/thirdweb-dev/js/commit/c9ee9b32f0a275f7c03d50243f23a7332f148ae5), [`00f4355f`](https://github.com/thirdweb-dev/js/commit/00f4355f1aa8843bb534b173e4d8e0a19dd18b47), [`a6610f12`](https://github.com/thirdweb-dev/js/commit/a6610f1211e9359885b948bf69a66d834707ec07), [`29146e00`](https://github.com/thirdweb-dev/js/commit/29146e009db655304f5753904ae7f8569c12f4ca), [`77224646`](https://github.com/thirdweb-dev/js/commit/77224646d542db3171394d744b455497cd057633), [`bfdd8493`](https://github.com/thirdweb-dev/js/commit/bfdd84939d7cf9c6635b83c971bcc8967b52538c)]:
- @thirdweb-dev/sdk@3.10.11
- @thirdweb-dev/chains@0.1.12
## 0.10.11
### Patch Changes
- [#877](https://github.com/thirdweb-dev/js/pull/877) [`cef16471`](https://github.com/thirdweb-dev/js/commit/cef16471f4493d7c2c1897a81ffebf84a743716e) Thanks [@iketw](https://github.com/iketw)! - [CLI] Update min ruby version supported to 2.7.6 for React Native templates
- Updated dependencies [[`ac8fa0b3`](https://github.com/thirdweb-dev/js/commit/ac8fa0b34545a2bc0b489a0551d476a9f560e851), [`b75bcef5`](https://github.com/thirdweb-dev/js/commit/b75bcef55bfdedc260b5b62bb4aff10a7d5c47b6), [`c9027fce`](https://github.com/thirdweb-dev/js/commit/c9027fced0fffbf757bf0080bc4a49f5464df647)]:
- @thirdweb-dev/sdk@3.10.10
## 0.10.10
### Patch Changes
- Updated dependencies [[`b3d57949`](https://github.com/thirdweb-dev/js/commit/b3d57949bd047831fda7e600b4872200340903b5), [`602d8cbc`](https://github.com/thirdweb-dev/js/commit/602d8cbcfaa7c1e117c01f842f89508f7333fcfe)]:
- @thirdweb-dev/sdk@3.10.9
## 0.10.9
### Patch Changes
- [#867](https://github.com/thirdweb-dev/js/pull/867) [`3bb846ad`](https://github.com/thirdweb-dev/js/commit/3bb846adf0484e8b7dc7dfeba9f9c0ee26f4ef35) Thanks [@adam-maj](https://github.com/adam-maj)! - Generate auto detects smart contracts in project
- Updated dependencies [[`1547d76c`](https://github.com/thirdweb-dev/js/commit/1547d76cce52265076c347599014f578c1de6152), [`1b8f812f`](https://github.com/thirdweb-dev/js/commit/1b8f812fb8c910d91fb7535d6446a0b6fc6b2310), [`235eb046`](https://github.com/thirdweb-dev/js/commit/235eb0460ae0638f63acf82957bcfea41b9e955d)]:
- @thirdweb-dev/sdk@3.10.8
- @thirdweb-dev/chains@0.1.11
## 0.10.8
### Patch Changes
- [#857](https://github.com/thirdweb-dev/js/pull/857) [`3a0e904f`](https://github.com/thirdweb-dev/js/commit/3a0e904fc2bae5134ba3bf65ba666c3360e4fced) Thanks [@adam-maj](https://github.com/adam-maj)! - Add skip intro flag to generate command and fix ABI cache regex
- [#860](https://github.com/thirdweb-dev/js/pull/860) [`058e4357`](https://github.com/thirdweb-dev/js/commit/058e4357c783911a6cab6b38c6eebbb3277dfe93) Thanks [@iketw](https://github.com/iketw)! - [CLI] Only checks ruby version and attempts to run pod install if the platform is macOS
## 0.10.7
### Patch Changes
+1 -1
View File
@@ -63,7 +63,7 @@ Deploying published contracts give deployers access to automatic SDKs to integra
npx thirdweb@latest detect
```
As you're developing your contracts, you may want to implement [Extensions](https://portal.thirdweb.com/contractkit) to unlock functionality on the SDKs (ie. nft minting with automatic upload to IPFS) and the dashboard (ie. generated UI to manage permissions). This command will show what extensions were detected on your contract, unlocking the corresponding functionality on the SDKs and dashboard.
As you're developing your contracts, you may want to implement [Extensions](https://portal.thirdweb.com/solidity/extensions) to unlock functionality on the SDKs (ie. nft minting with automatic upload to IPFS) and the dashboard (ie. generated UI to manage permissions). This command will show what extensions were detected on your contract, unlocking the corresponding functionality on the SDKs and dashboard.
---
+1 -1
View File
@@ -11,7 +11,7 @@ export const CREATE_MESSAGES = {
} as const;
export const GENERATE_MESSAGES = {
deployerAddress: "What is your deployer wallet address?",
chains: "What chains are you using in your project?",
};
export const ERROR_MESSAGES = {
+2 -1
View File
@@ -1,7 +1,7 @@
{
"name": "thirdweb",
"main": "dist/cli/index.js",
"version": "0.10.7",
"version": "0.10.13",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -34,6 +34,7 @@
"typescript": "^4.7.4"
},
"dependencies": {
"@thirdweb-dev/chains": "workspace:*",
"@thirdweb-dev/sdk": "workspace:*",
"@thirdweb-dev/storage": "workspace:*",
"async-retry": "^1.3.3",
-4
View File
@@ -412,10 +412,6 @@ const main = async () => {
"Preload ABIs and generate types for your smart contract to strongly type the thirdweb SDK",
)
.option("-p, --path <project-path>", "path to project", ".")
.option(
"-d, --deployer <deployer-address>",
"address of the contract deployer",
)
.action(async (options) => {
await generate(options);
});
+36 -1
View File
@@ -1,5 +1,5 @@
import { logger } from "../core/helpers/logger";
import { existsSync, readdirSync, statSync } from "fs";
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
import { basename, join } from "path";
export function findFiles(
@@ -38,3 +38,38 @@ export function findFiles(
}
}
}
export function findMatches(
startPath: string,
filter: RegExp,
results: string[],
) {
if (!existsSync(startPath)) {
console.log("no dir ", startPath);
return;
}
const files = readdirSync(startPath);
for (let i = 0; i < files.length; i++) {
const filename = join(startPath, files[i]);
const stat = statSync(filename);
if (stat.isDirectory() && basename(filename) === "node_modules") {
continue;
}
if (stat.isDirectory() && filename.startsWith(".")) {
continue;
}
if (stat.isDirectory()) {
findMatches(filename, filter, results);
} else {
const fileContents = readFileSync(filename, "utf-8");
const matches = fileContents.match(filter);
if (matches) {
results.push(...matches);
}
}
}
}
@@ -2,7 +2,7 @@
import { runCommand } from "./run-command";
import chalk from "chalk";
export const SUPPORTED_RUBY_VERSION = "2.7.5";
export const SUPPORTED_RUBY_VERSION = "2.7.6";
/**
* Checks if the current ruby version is supported by the project.
+19 -15
View File
@@ -62,6 +62,24 @@ export async function createApp({
}
}
const isReactNative =
template?.includes("react-native") || framework === "react-native";
function isReactNativeCLI() {
return (
isReactNative &&
(language === "typescript" || (template && !template.includes("expo")))
);
}
function isMacOS() {
return process.platform === "darwin";
}
if (isReactNativeCLI() && isMacOS()) {
// fail early if the user doesn't have the right version of Ruby installed on macOS
await checkRubyVersion();
}
const root = path.resolve(appPath);
if (!(await isWriteable(path.dirname(root)))) {
@@ -98,20 +116,6 @@ export async function createApp({
);
}
const isReactNative =
template?.includes("react-native") || framework === "react-native";
function isReactNativeCLI() {
return (
isReactNative &&
(language === "typescript" || (template && !template.includes("expo")))
);
}
if (isReactNativeCLI()) {
// fail early if the user doesn't have the right version of Ruby installed
await checkRubyVersion();
}
if (template) {
/**
* If a template repository is provided, clone it.
@@ -199,7 +203,7 @@ export async function createApp({
console.log();
}
if (isReactNativeCLI()) {
if (isReactNativeCLI() && isMacOS()) {
await podInstall(root, isOnline);
}
@@ -1,51 +0,0 @@
/* eslint-disable import/no-extraneous-dependencies */
import { runCommand } from "./run-command";
import fs from "fs";
import path from "path";
/**
* Checks if the current ruby version is supported by the project.
*
* @returns A Promise that resolves once the ruby version is checked. True if it changed, false otherwise.
*/
export function setRubyVersion(root: string): Promise<boolean> {
/**
* Return a Promise that resolves once the installation is finished.
*/
return new Promise(async (resolve, reject) => {
try {
await runCommand("ruby", ["-v"], false, (dataBfr) => {
const data = String(dataBfr);
const systemVersion = data.split(" ")[1];
let rubyVersionFile = path.join(root, ".ruby-version");
let rubyProjectVersionString = "";
try {
rubyProjectVersionString = String(fs.readFileSync(rubyVersionFile));
} catch (error) {
rubyVersionFile = path.join(root, "_ruby-version");
rubyProjectVersionString = String(fs.readFileSync(rubyVersionFile));
}
try {
if (systemVersion.includes(rubyProjectVersionString)) {
// same version, no need to update
resolve(false);
} else {
const systemVersionWithoutPatch = systemVersion.split("p")[0];
fs.writeFileSync(rubyVersionFile, systemVersionWithoutPatch);
resolve(true);
}
} catch (e) {
console.log(
"Failed to update ruby version. Please, set your ruby version to a minimum of 2.6 and try again.",
);
console.log();
}
});
} catch (error) {
reject(error);
}
});
}
+96 -36
View File
@@ -3,54 +3,99 @@ import {
DeployedContract,
fetchContractMetadataFromAddress,
getChainProvider,
ThirdwebSDK,
} from "@thirdweb-dev/sdk";
import { ThirdwebStorage } from "@thirdweb-dev/storage";
import { info } from "../core/helpers/logger";
import { allChains } from "@thirdweb-dev/chains";
import fs from "fs";
import prompts from "prompts";
type GenerateOptions = {
path: string;
deployer?: string;
};
import { findMatches } from "../common/file-helper";
import ora from "ora";
import { GenerateOptions, ThirdwebConfig } from "./types";
import { CHAIN_OPTIONS, getContractsForAddresses } from "./utils";
export async function generate(options: GenerateOptions) {
let projectPath: string = options.path?.replace(/\/$/, "") || ".";
let contracts: DeployedContract[] = [];
// Find all addresses in this project
let addresses: string[] = [];
findMatches(projectPath, /(0x[a-fA-F0-9]{40})/g, addresses);
// We check if there's a thirdweb.json config file present
if (fs.existsSync(`${projectPath}/thirdweb.json`)) {
// First we check if there's a thirdweb.json config file present
const thirdwebConfig = JSON.parse(
// Read the current thirdweb config file
const thirdwebConfig: ThirdwebConfig = JSON.parse(
fs.readFileSync(`${projectPath}/thirdweb.json`, "utf-8"),
);
contracts = thirdwebConfig.contracts as DeployedContract[];
} else {
// Otherwise, we get contracts by deployer address (and generate a thirdweb.json)
let deployerAddress: string;
if (options.deployer) {
deployerAddress = options.deployer;
} else {
const res = await prompts({
type: "text",
name: "deployer",
message: GENERATE_MESSAGES.deployerAddress,
});
deployerAddress = res.deployer.trim();
}
const sdk = new ThirdwebSDK("polygon");
contracts = await sdk.multiChainRegistry.getContractAddresses(
deployerAddress,
// Check if there are any addresses in the project that aren't yet in the config
const configAddresses = thirdwebConfig.contracts.map((contract) =>
contract.address.toLowerCase(),
);
const newAddresses = addresses.filter(
(address) => !configAddresses.includes(address.toLowerCase()),
);
// Initialize contracts to the contracts in thirdweb.json file
contracts = [...thirdwebConfig.contracts];
// If we have new contracts that aren't yet stored in config
// get full contract objects
if (newAddresses.length) {
const chainIds = thirdwebConfig.chainIds;
await getContractsForAddresses(newAddresses, chainIds, contracts);
if (contracts.length > thirdwebConfig.contracts.length) {
fs.writeFileSync(
`${projectPath}/thirdweb.json`,
JSON.stringify({ chainIds, contracts }, undefined, 2),
);
const numberOfNewContracts =
contracts.length - thirdwebConfig.contracts.length;
info(
`Updated thirdweb.json with ${numberOfNewContracts} new contract${
numberOfNewContracts === 1 ? "" : "s"
}`,
);
}
}
} else {
// If there is no configuration file present, we need to generate one...
// First we ask the user what chains are used in their project
const res = await prompts({
type: "autocompleteMultiselect",
name: "chains",
message: GENERATE_MESSAGES.chains,
choices: CHAIN_OPTIONS,
});
const chainIds: number[] = res.chains.map(
(index: number) => allChains[index].chainId,
);
// Then we check for the chainId of each address
await getContractsForAddresses(addresses, chainIds, contracts);
// Create a thirdweb.json file with the specific contracts and chain ids
fs.writeFileSync(
`${projectPath}/thirdweb.json`,
JSON.stringify({ contracts }, undefined, 2),
JSON.stringify({ chainIds, contracts }, undefined, 2),
);
info(
`Created a thirdweb.json file with configuration for ${
contracts.length
} contract${
contracts.length === 1 ? "" : "s"
} detected in your project.\n\n - You can also update this configuration manually by editing the file.\n`,
);
}
// Attempt to download the ABI for the contract
// Attempt to download the ABI for each contract
ora(`Downloading ABIs for contracts configured in 'thirdweb.json'`).info();
const storage = new ThirdwebStorage();
const metadata: {
address: string;
@@ -68,6 +113,9 @@ export async function generate(options: GenerateOptions) {
);
} catch {
// If metadata for a contract fails, just go onto the next one
ora(
`Unable to download ABI for contract ${contract.address}, skipping.`,
).warn();
return;
}
@@ -81,9 +129,10 @@ export async function generate(options: GenerateOptions) {
// Store the ABIs in the the SDKs ABI cache files
const packagePath = `${projectPath}/node_modules/@thirdweb-dev/generated-abis/dist`;
if (!fs.existsSync(packagePath)) {
throw new Error(
`Unable to cache ABIs. Please ensure that you're using the latest @thirdweb-dev/sdk package`,
);
ora(
`Unable to cache ABIs. Please ensure that you have the latest @thirdweb-dev/sdk package installed.`,
).fail();
process.exit(1);
}
const filePaths = [
@@ -97,7 +146,7 @@ export async function generate(options: GenerateOptions) {
}
const file = fs.readFileSync(filePath, "utf-8");
const abiRegex = /GENERATED_ABI = \{.*\}/s;
const abiRegex = /GENERATED_ABI = \{.*\};\n\n/s;
const contractAbis = metadata.reduce((acc, contract) => {
acc[contract.address] = contract.metadata.abi;
return acc;
@@ -105,8 +154,9 @@ export async function generate(options: GenerateOptions) {
const updatedAbis = JSON.stringify(contractAbis, null, 2);
const updatedFile = file.replace(
abiRegex,
`GENERATED_ABI = ${updatedAbis}`,
`GENERATED_ABI = ${updatedAbis};\n\n`,
);
fs.writeFileSync(filePath, updatedFile);
});
@@ -128,6 +178,12 @@ export async function generate(options: GenerateOptions) {
fs.writeFileSync(typeFilePath, updatedFile);
}
ora(
`Downloaded and cached ABIs for ${metadata.length} smart contract${
metadata.length === 1 ? "" : "s"
}`,
).succeed();
// Add generate command to postinstall
const packageJsonPath = `${projectPath}/package.json`;
if (!fs.existsSync(packageJsonPath)) {
@@ -141,8 +197,8 @@ export async function generate(options: GenerateOptions) {
const postinstall = packageJson.scripts?.postinstall
? packageJson.scripts.postinstall +
` && npx thirdweb generate --skip-update-check`
: `npx thirdweb generate --skip-update-check`;
` && export THIRDWEB_CLI_SKIP_INTRO=true && npx thirdweb generate --skip-update-check`
: `export THIRDWEB_CLI_SKIP_INTRO=true && npx thirdweb generate --skip-update-check`;
fs.writeFileSync(
packageJsonPath,
@@ -158,4 +214,8 @@ export async function generate(options: GenerateOptions) {
2,
),
);
ora(
"Added 'npx thirdweb generate' to postinstall in package.json.\n\n - This is necessary to use 'thirdweb generate' in production.\n",
).info();
}
+19
View File
@@ -0,0 +1,19 @@
import { DeployedContract } from "@thirdweb-dev/sdk";
export type ThirdwebConfig = {
chainIds: number[];
contracts: DeployedContract[];
};
export type GenerateOptions = {
path: string;
deployer?: string;
};
export type ContractChainPrompt = {
address: string;
chains: {
slug: string;
chainId: number;
}[];
};
+87
View File
@@ -0,0 +1,87 @@
import { DeployedContract, getChainProvider } from "@thirdweb-dev/sdk";
import prompts from "prompts";
import { ContractChainPrompt } from "./types";
import { allChains } from "@thirdweb-dev/chains";
export const CHAIN_OPTIONS = allChains.map((chain) => ({ title: chain.slug }));
export async function getContractsForAddresses(
addresses: string[],
chainIds: number[],
contracts: DeployedContract[],
) {
let contractChainPrompts: ContractChainPrompt[] = [];
await Promise.all(
addresses.map(async (address) => {
// Check which chainIds of the provided chains have a contract at this address
let chainIdsWithContract: number[] = [];
await Promise.all(
chainIds.map(async (chainId) => {
// Handles cacheing of provider by chain
const provider = getChainProvider(chainId, {});
try {
const code = await provider.getCode(address);
if (!code || code === "0x") {
return;
}
chainIdsWithContract.push(chainId);
} catch {
return;
}
}),
);
// If no chainId has this contract, we assume it's an EOA and move on
if (!chainIdsWithContract.length) {
return;
}
// If only one chain has this contract address, add it to our contracts list
if (chainIdsWithContract.length === 1) {
contracts.push({
address,
chainId: chainIdsWithContract[0],
});
return;
}
// Otherwise, add our contract to the list of contracts
// where we need to prompt the user to select the chain
contractChainPrompts.push({
address,
chains: chainIdsWithContract.map((chainId) => ({
slug: allChains[chainId].slug,
chainId,
})),
});
}),
);
// TODO: Long term, smart contracts in the generated-abis cache should be cached by
// both smart contract and chain id because people may want to use the same contract address
// on different chains
// For all addresses that have smart contracts deployed on multiple selected chains
// allow the user to specify which chain they want to use for their smart contract
for (const prompt of contractChainPrompts) {
const res = await prompts({
type: "select",
name: "chainId",
message: `What chain is smart contract '${prompt.address}' on?`,
choices: prompt.chains.map((chain) => ({
title: chain.slug,
value: chain.chainId,
})),
});
contracts.push({
address: prompt.address,
chainId: res.chainId,
});
}
}
+12
View File
@@ -1,5 +1,17 @@
# @thirdweb-dev/contracts-js
## 1.3.4
### Patch Changes
- [#959](https://github.com/thirdweb-dev/js/pull/959) [`00d0d01e`](https://github.com/thirdweb-dev/js/commit/00d0d01e619ff5c60b9f31386f51a55b5e466efa) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Update contracts package to 3.4.6
## 1.3.3
### Patch Changes
- [#756](https://github.com/thirdweb-dev/js/pull/756) [`b75bcef5`](https://github.com/thirdweb-dev/js/commit/b75bcef55bfdedc260b5b62bb4aff10a7d5c47b6) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Any EVM deploy flow with Create2 factory
## 1.3.2
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/contracts-js",
"version": "1.3.2",
"version": "1.3.4",
"main": "dist/thirdweb-dev-contracts-js.cjs.js",
"module": "dist/thirdweb-dev-contracts-js.esm.js",
"browser": {
@@ -10,7 +10,7 @@
"license": "Apache-2.0",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/contracts-js",
"dependencies": {
"@thirdweb-dev/contracts": "3.4.4"
"@thirdweb-dev/contracts": "3.4.7-0"
},
"devDependencies": {
"@babel/preset-env": "^7.18.10",
+4 -1
View File
@@ -25,5 +25,8 @@
"sideEffects": false,
"files": [
"dist/"
]
],
"scripts": {
"push": "yalc push"
}
}

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