Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d275493c59 | ||
|
|
256ee0d5ec | ||
|
|
b4e295d885 | ||
|
|
fa48ab6942 | ||
|
|
cbf486c210 | ||
|
|
247cf57d37 | ||
|
|
b1e8c8e231 | ||
|
|
06b4f29831 | ||
|
|
0a5eb19d67 | ||
|
|
4ed662e841 | ||
|
|
75587c8b38 | ||
|
|
51b3604021 | ||
|
|
5340085823 | ||
|
|
aface46d74 | ||
|
|
5835b62496 | ||
|
|
7ae9f4cda1 | ||
|
|
3152d4e9b4 | ||
|
|
277cfd5ce1 | ||
|
|
72fa3d2225 | ||
|
|
9a329178ef | ||
|
|
01cc54087b | ||
|
|
09b3b339e6 | ||
|
|
aa6bdd0809 | ||
|
|
ff4fb7d360 | ||
|
|
9acf6854df | ||
|
|
a9f9a40345 | ||
|
|
8e6e55b154 | ||
|
|
37b88e3bc3 | ||
|
|
385895ca92 | ||
|
|
5e58c79926 | ||
|
|
2025b8cb8d | ||
|
|
cc5e2ec51f | ||
|
|
0402b8bb37 | ||
|
|
5fe3cec894 | ||
|
|
98009cb3ca | ||
|
|
60fbb767c1 | ||
|
|
5a02c5ec02 | ||
|
|
48ca58b7aa |
@@ -0,0 +1,6 @@
|
||||
# rename this file to .env and fill in the values
|
||||
# this is not required to build the packages but will significantly increase test performance
|
||||
|
||||
# used for unit tests that hit real IPFS gateway
|
||||
# get a secret key from https://thirdweb.com/create-api-key
|
||||
TW_SECRET_KEY=""
|
||||
@@ -17,6 +17,7 @@ yalc.lock
|
||||
build/
|
||||
playwright-report/
|
||||
.vscode/
|
||||
.env/
|
||||
|
||||
# Artifacts
|
||||
packages/cli/artifacts/
|
||||
+3
-3
@@ -41,12 +41,12 @@
|
||||
"@manypkg/cli": "^0.21.0",
|
||||
"@manypkg/get-packages": "^1.1.3",
|
||||
"@playwright/test": "1.31.2",
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
|
||||
"@types/node": "^18.16.18",
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.2.0",
|
||||
"@types/node": "^18.17.1",
|
||||
"eslint": "^8.45.0",
|
||||
"mocha": "^10.2.0",
|
||||
"prettier": "^3.0.0",
|
||||
"turbo": "^1.10.7",
|
||||
"turbo": "^1.10.12",
|
||||
"yalc": "1.0.0-pre.53"
|
||||
},
|
||||
"manypkg": {
|
||||
|
||||
@@ -1,5 +1,25 @@
|
||||
# @thirdweb-dev/auth
|
||||
|
||||
## 3.2.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1415](https://github.com/thirdweb-dev/js/pull/1415) [`256ee0d5`](https://github.com/thirdweb-dev/js/commit/256ee0d5ec9c8598aa79cd4cb1fd839c6cc7d390) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Downgrade preconstruct to 2.7.0
|
||||
|
||||
- Updated dependencies [[`256ee0d5`](https://github.com/thirdweb-dev/js/commit/256ee0d5ec9c8598aa79cd4cb1fd839c6cc7d390)]:
|
||||
- @thirdweb-dev/wallets@1.1.5
|
||||
|
||||
## 3.2.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1409](https://github.com/thirdweb-dev/js/pull/1409) [`b1e8c8e2`](https://github.com/thirdweb-dev/js/commit/b1e8c8e231013182eb46c16d0c441ee0f3bdfdb2) Thanks [@jnsdls](https://github.com/jnsdls)! - update dependencies
|
||||
|
||||
- [#1410](https://github.com/thirdweb-dev/js/pull/1410) [`247cf57d`](https://github.com/thirdweb-dev/js/commit/247cf57d375a4ec0bc6867e0b65a262c94a9e2f2) Thanks [@jnsdls](https://github.com/jnsdls)! - expose `getToken()` helper function
|
||||
|
||||
- Updated dependencies [[`06b4f298`](https://github.com/thirdweb-dev/js/commit/06b4f2983161fc9ff5913fd05dacf17260902576), [`b1e8c8e2`](https://github.com/thirdweb-dev/js/commit/b1e8c8e231013182eb46c16d0c441ee0f3bdfdb2), [`2025b8cb`](https://github.com/thirdweb-dev/js/commit/2025b8cb8d5157c03314e5db47a0d50382519c41), [`385895ca`](https://github.com/thirdweb-dev/js/commit/385895ca928a5276586f0a370fabdcece7620d83), [`9acf6854`](https://github.com/thirdweb-dev/js/commit/9acf6854dfdc5c0be768e660c1f174e017b06a9c), [`48ca58b7`](https://github.com/thirdweb-dev/js/commit/48ca58b7aa45348b928932b9c7b76b3dc233e429), [`60fbb767`](https://github.com/thirdweb-dev/js/commit/60fbb767c18ffe1e49792c6ac8e808792acf594c), [`277cfd5c`](https://github.com/thirdweb-dev/js/commit/277cfd5ce1f3a576d29c95492c735b46a00c164e), [`2025b8cb`](https://github.com/thirdweb-dev/js/commit/2025b8cb8d5157c03314e5db47a0d50382519c41), [`cc5e2ec5`](https://github.com/thirdweb-dev/js/commit/cc5e2ec51fce09af05be33811eb46980825829ee), [`7ae9f4cd`](https://github.com/thirdweb-dev/js/commit/7ae9f4cda1a2009dd414f836757bec8202c83172)]:
|
||||
- @thirdweb-dev/wallets@1.1.4
|
||||
|
||||
## 3.2.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+12
-12
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/auth",
|
||||
"version": "3.2.20",
|
||||
"version": "3.2.22",
|
||||
"main": "dist/thirdweb-dev-auth.cjs.js",
|
||||
"module": "dist/thirdweb-dev-auth.esm.js",
|
||||
"browser": {
|
||||
@@ -80,16 +80,16 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/core": "^7.22.9",
|
||||
"@babel/preset-env": "^7.22.9",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@microsoft/api-documenter": "^7.22.21",
|
||||
"@microsoft/api-extractor": "^7.36.0",
|
||||
"@microsoft/api-documenter": "^7.22.30",
|
||||
"@microsoft/api-extractor": "^7.36.3",
|
||||
"@microsoft/tsdoc": "^0.14.1",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@preconstruct/cli": "2.7.0",
|
||||
"@solana/web3.js": "^1.62.0",
|
||||
"@swc-node/register": "^1.6.6",
|
||||
"@swc/core": "^1.3.67",
|
||||
"@swc/core": "^1.3.71",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/chai": "^4.3.5",
|
||||
"@types/cookie": "^0.5.1",
|
||||
@@ -97,22 +97,22 @@
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/mocha": "^10.0.0",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"@typescript-eslint/eslint-plugin": "^6.2.0",
|
||||
"@typescript-eslint/parser": "^6.2.0",
|
||||
"chai": "^4.3.6",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"eslint": "^8.45.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-config-prettier": "^8.9.0",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-inclusive-language": "^2.2.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-prettier": "^5.0.0",
|
||||
"eslint-plugin-tsdoc": "^0.2.16",
|
||||
"ethers": "^5.7.2",
|
||||
"express": "^4.18.1",
|
||||
"mocha": "^10.2.0",
|
||||
"next": "^12.3.4",
|
||||
"next-auth": "^4.22.1",
|
||||
"next-auth": "^4.22.3",
|
||||
"prettier": "^3.0.0",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
|
||||
@@ -28,6 +28,11 @@ export function getActiveCookie(req: Request): string | undefined {
|
||||
return THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @param req
|
||||
* @returns
|
||||
*/
|
||||
export function getToken(req: Request): string | undefined {
|
||||
if (req.headers["authorization"]) {
|
||||
const authorizationHeader = req.headers["authorization"].split(" ");
|
||||
|
||||
@@ -14,6 +14,7 @@ import cookieParser from "cookie-parser";
|
||||
import express, { Request, Response } from "express";
|
||||
|
||||
export * from "./types";
|
||||
export { getToken } from "./helpers/user";
|
||||
|
||||
const asyncHandler =
|
||||
(fn: CallableFunction) =>
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# @thirdweb-dev/chains
|
||||
|
||||
## 0.1.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1415](https://github.com/thirdweb-dev/js/pull/1415) [`256ee0d5`](https://github.com/thirdweb-dev/js/commit/256ee0d5ec9c8598aa79cd4cb1fd839c6cc7d390) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Downgrade preconstruct to 2.7.0
|
||||
|
||||
## 0.1.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1407](https://github.com/thirdweb-dev/js/pull/1407) [`0a5eb19d`](https://github.com/thirdweb-dev/js/commit/0a5eb19d672909027bb6c7e79ea76d431535559c) Thanks [@jnsdls](https://github.com/jnsdls)! - remove non-standard urls
|
||||
|
||||
- [#1409](https://github.com/thirdweb-dev/js/pull/1409) [`b1e8c8e2`](https://github.com/thirdweb-dev/js/commit/b1e8c8e231013182eb46c16d0c441ee0f3bdfdb2) Thanks [@jnsdls](https://github.com/jnsdls)! - update dependencies
|
||||
|
||||
- [#1376](https://github.com/thirdweb-dev/js/pull/1376) [`48ca58b7`](https://github.com/thirdweb-dev/js/commit/48ca58b7aa45348b928932b9c7b76b3dc233e429) Thanks [@iketw](https://github.com/iketw)! - Pass bundleId if present
|
||||
|
||||
- [#1399](https://github.com/thirdweb-dev/js/pull/1399) [`3152d4e9`](https://github.com/thirdweb-dev/js/commit/3152d4e9b42e2777316b1b58513657f4430cb79a) Thanks [@jnsdls](https://github.com/jnsdls)! - update chains
|
||||
|
||||
- [#1387](https://github.com/thirdweb-dev/js/pull/1387) [`aa6bdd08`](https://github.com/thirdweb-dev/js/commit/aa6bdd0809d1d5536c837c59b2d407ee974c1f9c) Thanks [@nkrishang](https://github.com/nkrishang)! - Simplify account permissions
|
||||
|
||||
- [#1405](https://github.com/thirdweb-dev/js/pull/1405) [`75587c8b`](https://github.com/thirdweb-dev/js/commit/75587c8b38bbbcf68d2101526e9792349cce728f) Thanks [@jnsdls](https://github.com/jnsdls)! - sort explorers (etherscan -> blockscout -> other)
|
||||
|
||||
- [#1385](https://github.com/thirdweb-dev/js/pull/1385) [`cc5e2ec5`](https://github.com/thirdweb-dev/js/commit/cc5e2ec51fce09af05be33811eb46980825829ee) Thanks [@iketw](https://github.com/iketw)! - Adds chains and improve error messages
|
||||
|
||||
- [#1378](https://github.com/thirdweb-dev/js/pull/1378) [`5a02c5ec`](https://github.com/thirdweb-dev/js/commit/5a02c5ec0288fd6dfb2b765ef70bb18e714aca19) Thanks [@MananTank](https://github.com/MananTank)! - add icon in MinimalChain
|
||||
|
||||
## 0.1.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -44,6 +44,17 @@ export default {
|
||||
"name": "etherscan",
|
||||
"url": "https://etherscan.io",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://eth.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
|
||||
@@ -6,7 +6,8 @@ export default {
|
||||
"https://optimism.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://optimism-mainnet.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://opt-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://mainnet.optimism.io/"
|
||||
"https://mainnet.optimism.io",
|
||||
"https://optimism.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
@@ -23,6 +24,17 @@ export default {
|
||||
"name": "etherscan",
|
||||
"url": "https://optimistic.etherscan.io",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://optimism.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
|
||||
@@ -37,19 +37,19 @@ export default {
|
||||
"slip44": 700,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "gnosisscan",
|
||||
"url": "https://gnosisscan.io",
|
||||
"name": "blockscout",
|
||||
"url": "https://gnosis.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.com/xdai/mainnet",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"name": "gnosisscan",
|
||||
"url": "https://gnosisscan.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -29,11 +29,11 @@ export default {
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.chiadochain.net",
|
||||
"url": "https://gnosis-chiado.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Mintara Mainnet",
|
||||
"title": "Mintara Mainnet",
|
||||
"chain": "Mintara",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://mintara.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://subnets.avax.network/mintara/mainnet/rpc"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MINTARA",
|
||||
"symbol": "MNTR",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://playthink.co.jp",
|
||||
"shortName": "mintara",
|
||||
"chainId": 1080,
|
||||
"networkId": 1080,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "explorer",
|
||||
"url": "https://subnets.avax.network/mintara",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "mintara"
|
||||
} as const satisfies Chain;
|
||||
@@ -24,17 +24,6 @@ export default {
|
||||
"format": "svg"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Siberium Mainnet Explorer - blockscout - 1",
|
||||
"url": "https://explorer.main.siberium.net",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYeMdWDZ1iaBFeSPorRyPi7RuSXTdDKTgW3rfnUf3W5ne",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "svg"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "Siberium Mainnet Explorer - blockscout - 2",
|
||||
"url": "https://explorer.main.siberium.net.ru",
|
||||
|
||||
@@ -5,9 +5,12 @@ export default {
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://sepolia.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://sepolia.infura.io/v3/${INFURA_API_KEY}",
|
||||
"wss://sepolia.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://rpc.sepolia.org",
|
||||
"https://rpc2.sepolia.org",
|
||||
"https://rpc-sepolia.rockx.com"
|
||||
"https://rpc-sepolia.rockx.com",
|
||||
"https://rpc.sepolia.ethpandaops.io"
|
||||
],
|
||||
"faucets": [
|
||||
"http://fauceth.komputing.org?chain=11155111&address=${ADDRESS}"
|
||||
|
||||
@@ -27,9 +27,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://coinbit-explorer.chain.sbcrypto.app",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -4,7 +4,8 @@ export default {
|
||||
"chain": "Haqq",
|
||||
"rpc": [
|
||||
"https://haqq-network.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.eth.haqq.network"
|
||||
"https://rpc.eth.haqq.network",
|
||||
"https://haqq-evm.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -28,9 +28,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.metachain.one",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -27,9 +27,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.bellecour.iex.ec",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -11,7 +11,8 @@ export default {
|
||||
},
|
||||
"rpc": [
|
||||
"https://tenet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.tenet.org"
|
||||
"https://rpc.tenet.org",
|
||||
"https://tenet-evm.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -13,7 +13,6 @@ export default {
|
||||
"symbol": "GRAMS",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "TeaPartyCrypto.com",
|
||||
"shortName": "TeaParty",
|
||||
"chainId": 1773,
|
||||
"networkId": 1773,
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Smart Trade Networks",
|
||||
"chain": "Smart Trade Networks",
|
||||
"rpc": [
|
||||
"https://smart-trade-networks.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://beefledgerwallet.com:8544"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "STN",
|
||||
"symbol": "STN",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.smarttradenetworks.com",
|
||||
"shortName": "STN",
|
||||
"chainId": 18122,
|
||||
"networkId": 18122,
|
||||
"icon": {
|
||||
"url": "ipfs://QmRgZVpjik4cH3Sb6wLRpdnfv9kiMEZ8fugfkzTgk3bpRW",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "stnscan",
|
||||
"url": "https://stnscan.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmRgZVpjik4cH3Sb6wLRpdnfv9kiMEZ8fugfkzTgk3bpRW",
|
||||
"width": 500,
|
||||
"height": 500,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "smart-trade-networks"
|
||||
} as const satisfies Chain;
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
"chain": "tDSC",
|
||||
"rpc": [
|
||||
"https://decimal-smart-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-val.decimalchain.com/web3"
|
||||
"https://testnet-val.decimalchain.com/web3/"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Bitnet",
|
||||
"chain": "BTN",
|
||||
"icon": {
|
||||
"url": "ipfs://QmS9h3nFiCzaBLnBNw8Wot4U7vvEVK45EQfi8nxH4nvrmz",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://bitnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.bitnet.money",
|
||||
"https://rpc.btnscan.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Bitnet",
|
||||
"symbol": "BTN",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://bitnet.money",
|
||||
"shortName": "BTN",
|
||||
"chainId": 210,
|
||||
"networkId": 210,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Bitnet Explorer",
|
||||
"url": "https://btnscan.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "bitnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -29,9 +29,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.exosama.com",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -31,9 +31,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.moonsama.com",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Reapchain Mainnet",
|
||||
"chain": "REAP",
|
||||
"rpc": [
|
||||
"https://reapchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.reapchain.org"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Reap",
|
||||
"symbol": "REAP",
|
||||
"decimals": 18
|
||||
},
|
||||
"features": [],
|
||||
"infoURL": "https://reapchain.com",
|
||||
"shortName": "reap",
|
||||
"chainId": 221230,
|
||||
"networkId": 221230,
|
||||
"icon": {
|
||||
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Reapchain Dashboard",
|
||||
"url": "https://dashboard.reapchain.org",
|
||||
"icon": {
|
||||
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "reapchain"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,43 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Reapchain Testnet",
|
||||
"chain": "REAP",
|
||||
"rpc": [
|
||||
"https://reapchain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://test-rpc.reapchain.org"
|
||||
],
|
||||
"faucets": [
|
||||
"http://faucet.reapchain.com"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "test-Reap",
|
||||
"symbol": "tREAP",
|
||||
"decimals": 18
|
||||
},
|
||||
"features": [],
|
||||
"infoURL": "https://reapchain.com",
|
||||
"shortName": "reap-testnet",
|
||||
"chainId": 221231,
|
||||
"networkId": 221231,
|
||||
"icon": {
|
||||
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Reapchain Testnet Dashboard",
|
||||
"url": "https://test-dashboard.reapchain.org",
|
||||
"icon": {
|
||||
"url": "ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h",
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "reapchain-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -7,7 +7,8 @@ export default {
|
||||
"https://evm.kava.io",
|
||||
"https://evm2.kava.io",
|
||||
"wss://wevm.kava.io",
|
||||
"wss://wevm2.kava.io"
|
||||
"wss://wevm2.kava.io",
|
||||
"https://kava-evm.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -18,7 +18,7 @@ export default {
|
||||
"faucets": [],
|
||||
"infoURL": "https://kroma.network",
|
||||
"icon": {
|
||||
"url": "ipfs://QmcYafk2je5rMqgnFPDZJTaLi6dgFgq96vmX2Li6DX441B",
|
||||
"url": "ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho",
|
||||
"width": 320,
|
||||
"height": 320,
|
||||
"format": "svg"
|
||||
@@ -28,7 +28,7 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.sepolia.kroma.network",
|
||||
"icon": {
|
||||
"url": "ipfs://QmcYafk2je5rMqgnFPDZJTaLi6dgFgq96vmX2Li6DX441B",
|
||||
"url": "ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho",
|
||||
"width": 320,
|
||||
"height": 320,
|
||||
"format": "svg"
|
||||
|
||||
@@ -25,6 +25,17 @@ export default {
|
||||
"chainId": 245022926,
|
||||
"networkId": 245022926,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://neon-devnet.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "native",
|
||||
"url": "https://devnet.explorer.neon-labs.org",
|
||||
|
||||
@@ -28,6 +28,17 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.com/shiden",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "subscan",
|
||||
"url": "https://shiden.subscan.io",
|
||||
|
||||
@@ -8,8 +8,9 @@ export default {
|
||||
"infoURL": "https://pulsechain.com/",
|
||||
"rpc": [
|
||||
"https://pulsechain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.pulsechain.com/",
|
||||
"wss://rpc.pulsechain.com/"
|
||||
"https://rpc.pulsechain.com",
|
||||
"wss://rpc.pulsechain.com",
|
||||
"https://pulsechain.publicnode.com"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
|
||||
@@ -35,9 +35,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://zero-explorer.alt.technology",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Pepe Chain Mainnet",
|
||||
"chain": "PC",
|
||||
"status": "active",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreibjsc3gww3moti27za2hpyq552aevux3yv5y2ntdklksyr4v4uavy",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://pepe-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.pepe-chain.vip"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Pepe",
|
||||
"symbol": "PEPE",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://pepe-chain.vip",
|
||||
"shortName": "pepe",
|
||||
"chainId": 411,
|
||||
"networkId": 411,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "pepechain explorer",
|
||||
"url": "https://explorer.pepe-chain.vip",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "pepe-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -6,7 +6,8 @@ export default {
|
||||
"https://optimism-goerli.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://optimism-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://opt-goerli.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://goerli.optimism.io/"
|
||||
"https://goerli.optimism.io",
|
||||
"https://optimism-goerli.publicnode.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://coinbase.com/faucets/optimism-goerli-faucet"
|
||||
@@ -20,6 +21,19 @@ export default {
|
||||
"shortName": "ogor",
|
||||
"chainId": 420,
|
||||
"networkId": 420,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://optimism-goerli.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/optimism/512.png",
|
||||
"height": 512,
|
||||
|
||||
@@ -14,7 +14,8 @@ export default {
|
||||
"https://arbitrum.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://arbitrum-mainnet.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://arb1.arbitrum.io/rpc"
|
||||
"https://arb1.arbitrum.io/rpc",
|
||||
"https://arbitrum-one.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"explorers": [
|
||||
|
||||
@@ -15,7 +15,8 @@ export default {
|
||||
"https://arbitrum-goerli.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://arbitrum-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"https://arb-goerli.g.alchemy.com/v2/${ALCHEMY_API_KEY}",
|
||||
"https://goerli-rollup.arbitrum.io/rpc/"
|
||||
"https://goerli-rollup.arbitrum.io/rpc",
|
||||
"https://arbitrum-goerli.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://arbitrum.io/",
|
||||
|
||||
@@ -12,7 +12,8 @@ export default {
|
||||
},
|
||||
"rpc": [
|
||||
"https://arbitrum-nova.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://nova.arbitrum.io/rpc"
|
||||
"https://nova.arbitrum.io/rpc",
|
||||
"https://arbitrum-nova.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"explorers": [
|
||||
@@ -20,9 +21,9 @@ export default {
|
||||
"name": "Arbitrum Nova Chain Explorer",
|
||||
"url": "https://nova-explorer.arbitrum.io",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -20,15 +20,15 @@ export default {
|
||||
],
|
||||
"infoURL": "https://docs.celo.org/",
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Celoscan",
|
||||
"url": "https://celoscan.io",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.celo.org",
|
||||
"standard": "none"
|
||||
},
|
||||
{
|
||||
"name": "Celoscan",
|
||||
"url": "https://celoscan.io",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
|
||||
@@ -35,9 +35,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.publicgoods.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Kinto Testnet",
|
||||
"title": "Kinto Testnet",
|
||||
"chain": "ETH",
|
||||
"rpc": [
|
||||
"https://kinto-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"http://35.215.120.180:8545"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
},
|
||||
{
|
||||
"name": "EIP1559"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://ethereum.org",
|
||||
"shortName": "keth",
|
||||
"chainId": 42888,
|
||||
"networkId": 42888,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "kintoscan",
|
||||
"url": "http://35.215.120.180:4000",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "kinto-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,38 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Obscuro Testnet",
|
||||
"title": "Obscuro Sepolia Rollup Testnet",
|
||||
"chainId": 443,
|
||||
"shortName": "obs-testnet",
|
||||
"chain": "ETH",
|
||||
"networkId": 443,
|
||||
"nativeCurrency": {
|
||||
"name": "Sepolia Ether",
|
||||
"symbol": "ETH",
|
||||
"decimals": 18
|
||||
},
|
||||
"rpc": [
|
||||
"https://obscuro-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet.obscu.ro"
|
||||
],
|
||||
"faucets": [],
|
||||
"infoURL": "https://obscu.ro",
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Obscuro Sepolia Rollup Explorer",
|
||||
"url": "https://testnet.obscuroscan.io",
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"parent": {
|
||||
"type": "L2",
|
||||
"chain": "eip155-5",
|
||||
"bridges": [
|
||||
{
|
||||
"url": "https://bridge.obscu.ro"
|
||||
}
|
||||
]
|
||||
},
|
||||
"testnet": true,
|
||||
"slug": "obscuro-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -35,9 +35,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://testnet-explorer.blackfort.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -38,9 +38,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.blackfort.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -34,6 +34,17 @@ export default {
|
||||
"name": "etherscan-goerli",
|
||||
"url": "https://goerli.etherscan.io",
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "blockscout-goerli",
|
||||
"url": "https://eth-goerli.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
|
||||
@@ -10,7 +10,8 @@ export default {
|
||||
},
|
||||
"rpc": [
|
||||
"https://mantle.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.mantle.xyz"
|
||||
"https://rpc.mantle.xyz",
|
||||
"https://mantle.publicnode.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Treasurenet Mainnet Alpha",
|
||||
"chain": "Treasurenet Mainnet Alpha",
|
||||
"icon": {
|
||||
"url": "ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B",
|
||||
"width": 1844,
|
||||
"height": 1920,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://treasurenet-alpha.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://node0.treasurenet.io",
|
||||
"https://node1.treasurenet.io",
|
||||
"https://node2.treasurenet.io",
|
||||
"https://node3.treasurenet.io"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "UNIT",
|
||||
"symbol": "UNIT",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.treasurenet.io",
|
||||
"shortName": "treasurenet",
|
||||
"chainId": 5002,
|
||||
"networkId": 5002,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Treasurenet EVM BlockExplorer",
|
||||
"url": "https://evmexplorer.treasurenet.io",
|
||||
"icon": {
|
||||
"url": "ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B",
|
||||
"width": 1844,
|
||||
"height": 1920,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "treasurenet-alpha"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Treasurenet Testnet",
|
||||
"chain": "Treasurenet Testnet",
|
||||
"icon": {
|
||||
"url": "ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B",
|
||||
"width": 1844,
|
||||
"height": 1920,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://treasurenet-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://node0.testnet.treasurenet.io",
|
||||
"https://node1.testnet.treasurenet.io",
|
||||
"https://node2.testnet.treasurenet.io",
|
||||
"https://node3.testnet.treasurenet.io"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"name": "EIP155"
|
||||
}
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "UNIT",
|
||||
"symbol": "UNIT",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.testnet.treasurenet.io",
|
||||
"shortName": "tntest",
|
||||
"chainId": 5005,
|
||||
"networkId": 5005,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Treasurenet EVM BlockExplorer",
|
||||
"url": "https://evmexplorer.testnet.treasurenet.io",
|
||||
"icon": {
|
||||
"url": "ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B",
|
||||
"width": 1844,
|
||||
"height": 1920,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "none"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "treasurenet-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -2,6 +2,12 @@ import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Shinarium Beta",
|
||||
"chain": "Shinarium",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeiadbavrwcial76vs5ovhyykyaobteltuhliqcthdairbja4klwzhu",
|
||||
"width": 1000,
|
||||
"height": 1000,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://shinarium-beta.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.shinarium.org"
|
||||
|
||||
@@ -7,15 +7,12 @@ export default {
|
||||
"https://beaneco-smartchain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.bescscan.io"
|
||||
],
|
||||
"faucets": [
|
||||
"faucet.bescscan.ion"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "BeanEco SmartChain",
|
||||
"symbol": "BESC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "besceco.finance",
|
||||
"shortName": "BESC",
|
||||
"chainId": 535037,
|
||||
"networkId": 535037,
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Arcturus Chain Testnet",
|
||||
"chain": "ARCTURUS",
|
||||
"rpc": [
|
||||
"https://arcturus-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"http://185.99.196.3:8545"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Test Arct",
|
||||
"symbol": "tARCT",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://arcturuschain.io",
|
||||
"shortName": "ARCT",
|
||||
"chainId": 5616,
|
||||
"networkId": 5616,
|
||||
"testnet": true,
|
||||
"slug": "arcturus-chain-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -35,9 +35,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.sepolia.publicgoods.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -6,7 +6,7 @@ export default {
|
||||
"rpc": [
|
||||
"https://linea-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://linea-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"wss://linea-goerli.infura.io/v3/${INFURA_API_KEY}",
|
||||
"wss://linea-goerli.infura.io/ws/v3/${INFURA_API_KEY}",
|
||||
"https://rpc.goerli.linea.build",
|
||||
"wss://rpc.goerli.linea.build"
|
||||
],
|
||||
@@ -39,7 +39,18 @@ export default {
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"name": "Etherscan",
|
||||
"url": "https://goerli.lineascan.build",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH",
|
||||
"width": 97,
|
||||
"height": 102,
|
||||
"format": "svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Blockscout",
|
||||
"url": "https://explorer.goerli.linea.build",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
|
||||
@@ -24,6 +24,17 @@ export default {
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.com/astar",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "subscan",
|
||||
"url": "https://astar.subscan.io",
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "PEER Testnet",
|
||||
"chain": "PEER",
|
||||
"rpc": [
|
||||
"https://peer-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"http://testnet-polka-host-232813573.us-west-1.elb.amazonaws.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://testnet.peer.inc"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "PEER Token",
|
||||
"symbol": "PEER",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://peer.inc",
|
||||
"shortName": "PEER",
|
||||
"chainId": 601,
|
||||
"networkId": 601,
|
||||
"icon": {
|
||||
"url": "ipfs://QmPKKCdjEhP6CHekLD8YnhR2VsdjzprHapapDj7Wzqm52b",
|
||||
"width": 1363,
|
||||
"height": 760,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "PEER Explorer",
|
||||
"url": "https://testnet.peer.inc",
|
||||
"standard": "none",
|
||||
"icon": {
|
||||
"url": "ipfs://QmPKKCdjEhP6CHekLD8YnhR2VsdjzprHapapDj7Wzqm52b",
|
||||
"width": 1363,
|
||||
"height": 760,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "peer-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -4,7 +4,8 @@ export default {
|
||||
"chain": "IRIShub",
|
||||
"rpc": [
|
||||
"https://irishub.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://evmrpc.irishub-1.irisnet.org"
|
||||
"https://evmrpc.irishub-1.irisnet.org",
|
||||
"https://iris-evm.publicnode.com"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
|
||||
@@ -26,6 +26,17 @@ export default {
|
||||
"networkId": 7001,
|
||||
"status": "active",
|
||||
"explorers": [
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://zetachain-athens-3.blockscout.com",
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "ZetaChain Athens Testnet Explorer",
|
||||
"url": "https://explorer.athens.zetachain.com",
|
||||
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
"chain": "DSC",
|
||||
"rpc": [
|
||||
"https://decimal-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://node.decimalchain.com/web3"
|
||||
"https://node.decimalchain.com/web3/"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
|
||||
@@ -24,7 +24,13 @@ export default {
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.com/poa/sokol",
|
||||
"standard": "none"
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
|
||||
@@ -30,9 +30,9 @@ export default {
|
||||
"name": "Dragonfly Blockscout",
|
||||
"url": "https://blockscout.dragonfly.hexapod.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -28,9 +28,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://explorer.octa.space",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -1,30 +1,44 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Zenith Testnet (Vilnius)",
|
||||
"chain": "Zenith",
|
||||
"name": "Japan Open Chain Mainnet",
|
||||
"chain": "JOC",
|
||||
"rpc": [
|
||||
"https://zenith-testnet-vilnius.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://vilnius.zenithchain.co/http"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.zenithchain.co/"
|
||||
"https://japan-open-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc-1.japanopenchain.org:8545",
|
||||
"https://rpc-2.japanopenchain.org:8545"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Vilnius",
|
||||
"symbol": "VIL",
|
||||
"name": "Japan Open Chain Token",
|
||||
"symbol": "JOC",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://www.zenithchain.co/",
|
||||
"infoURL": "https://www.japanopenchain.org/",
|
||||
"shortName": "joc",
|
||||
"chainId": 81,
|
||||
"networkId": 81,
|
||||
"shortName": "VIL",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidhsiuqrct42bel76zhi3rx35k4lnk6aqgde27nvvxcz563ttfefy",
|
||||
"width": 2000,
|
||||
"height": 2000,
|
||||
"format": "png"
|
||||
},
|
||||
"explorers": [
|
||||
{
|
||||
"name": "vilnius scan",
|
||||
"url": "https://vilnius.scan.zenithchain.co",
|
||||
"standard": "EIP3091"
|
||||
"name": "Block Explorer",
|
||||
"url": "https://explorer.japanopenchain.org",
|
||||
"standard": "EIP3091",
|
||||
"icon": {
|
||||
"url": "ipfs://bafkreidhsiuqrct42bel76zhi3rx35k4lnk6aqgde27nvvxcz563ttfefy",
|
||||
"width": 2000,
|
||||
"height": 2000,
|
||||
"format": "png"
|
||||
}
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "zenith-testnet-vilnius"
|
||||
"redFlags": [
|
||||
"reusedChainId"
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "japan-open-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -26,7 +26,13 @@ export default {
|
||||
{
|
||||
"name": "basescout",
|
||||
"url": "https://base.blockscout.com",
|
||||
"standard": "none"
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "basescan",
|
||||
|
||||
@@ -28,7 +28,13 @@ export default {
|
||||
{
|
||||
"name": "basescout",
|
||||
"url": "https://base-goerli.blockscout.com",
|
||||
"standard": "none"
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
},
|
||||
{
|
||||
"name": "basescan",
|
||||
|
||||
@@ -1,36 +1,38 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "IVAR Chain Mainnet",
|
||||
"chain": "IVAR",
|
||||
"icon": {
|
||||
"url": "ipfs://QmV8UmSwqGF2fxrqVEBTHbkyZueahqyYtkfH2RBF5pNysM",
|
||||
"width": 519,
|
||||
"height": 519,
|
||||
"format": "svg"
|
||||
},
|
||||
"name": "Chiliz Chain",
|
||||
"chain": "CC2",
|
||||
"rpc": [
|
||||
"https://ivar-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://mainnet-rpc.ivarex.com"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.ivarex.com/"
|
||||
"https://chiliz-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.ankr.com/chiliz",
|
||||
"https://rpc.chiliz.com"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "Ivar",
|
||||
"symbol": "IVAR",
|
||||
"name": "Chiliz",
|
||||
"symbol": "CHZ",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://ivarex.com",
|
||||
"shortName": "ivar",
|
||||
"infoURL": "https://chiliz.com/chiliz-chain-2-0/",
|
||||
"shortName": "cc2",
|
||||
"chainId": 88888,
|
||||
"networkId": 88888,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "ivarscan",
|
||||
"url": "https://ivarscan.com",
|
||||
"name": "cc2scan",
|
||||
"url": "https://scan.chiliz.com",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"icon": {
|
||||
"url": "ipfs://QmTGYofJ8VLkeNY4J69AvXi8e126kmbHmf34wLFoJ1FKAK",
|
||||
"width": 400,
|
||||
"height": 400,
|
||||
"format": "png"
|
||||
},
|
||||
"testnet": false,
|
||||
"slug": "ivar-chain"
|
||||
"redFlags": [
|
||||
"reusedChainId"
|
||||
],
|
||||
"slug": "chiliz-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -15,7 +15,8 @@ export default {
|
||||
"rpc": [
|
||||
"https://pulsechain-testnet-v4.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.v4.testnet.pulsechain.com/",
|
||||
"wss://rpc.v4.testnet.pulsechain.com/"
|
||||
"wss://rpc.v4.testnet.pulsechain.com/",
|
||||
"https://pulsechain-testnet.publicnode.com"
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
|
||||
@@ -34,9 +34,9 @@ export default {
|
||||
"name": "Mantis Blockscout",
|
||||
"url": "https://blockscout.mantis.hexapod.network",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -15,7 +15,6 @@ export default {
|
||||
"symbol": "CMEMO",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "www.memolabs.org",
|
||||
"shortName": "memochain",
|
||||
"chainId": 985,
|
||||
"networkId": 985,
|
||||
|
||||
@@ -21,7 +21,13 @@ export default {
|
||||
{
|
||||
"name": "blockscout",
|
||||
"url": "https://blockscout.com/poa/core",
|
||||
"standard": "none"
|
||||
"icon": {
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "eLiberty Mainnet",
|
||||
"chain": "$EL",
|
||||
"icon": {
|
||||
"url": "ipfs://Qmcr8US1DZcK3ooiMtE8tEQPgep12abXzxPw1jCkgZhji9",
|
||||
"width": 150,
|
||||
"height": 150,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://eliberty.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc.eliberty.ngo"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.eliberty.ngo"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "eLiberty",
|
||||
"symbol": "$EL",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://eliberty.ngo",
|
||||
"shortName": "ELm",
|
||||
"chainId": 990,
|
||||
"networkId": 990,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "eLiberty Mainnet",
|
||||
"url": "https://explorer.eliberty.ngo",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "eliberty"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "eLiberty Testnet",
|
||||
"chain": "$EL",
|
||||
"icon": {
|
||||
"url": "ipfs://Qmcr8US1DZcK3ooiMtE8tEQPgep12abXzxPw1jCkgZhji9",
|
||||
"width": 150,
|
||||
"height": 150,
|
||||
"format": "png"
|
||||
},
|
||||
"rpc": [
|
||||
"https://eliberty-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-rpc.eliberty.ngo"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.eliberty.ngo"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "eLiberty",
|
||||
"symbol": "$EL",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://eliberty.ngo",
|
||||
"shortName": "ELt",
|
||||
"chainId": 99099,
|
||||
"networkId": 99099,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "eLiberty Testnet",
|
||||
"url": "https://testnet.eliberty.ngo",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "eliberty-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,36 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Mind Smart Chain Testnet",
|
||||
"chain": "tMIND",
|
||||
"icon": {
|
||||
"url": "ipfs://QmX2b4CzNyrNgy4ERBEteSS9MsuYNVYeq2sSMMiogGjbFP",
|
||||
"width": 732,
|
||||
"height": 732,
|
||||
"format": "jpg"
|
||||
},
|
||||
"rpc": [
|
||||
"https://mind-smart-chain-testnet.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://testnet-msc.mindchain.info/"
|
||||
],
|
||||
"faucets": [
|
||||
"https://faucet.mindchain.info/"
|
||||
],
|
||||
"nativeCurrency": {
|
||||
"name": "MIND Coin",
|
||||
"symbol": "tMIND",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://mindscan.info",
|
||||
"shortName": "tMIND",
|
||||
"chainId": 9977,
|
||||
"networkId": 9977,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Mind Chain explorer",
|
||||
"url": "https://testnet.mindscan.info",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": true,
|
||||
"slug": "mind-smart-chain-testnet"
|
||||
} as const satisfies Chain;
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { Chain } from "../src/types";
|
||||
export default {
|
||||
"name": "Mind Smart Chain Mainnet",
|
||||
"chain": "MIND",
|
||||
"icon": {
|
||||
"url": "ipfs://QmX2b4CzNyrNgy4ERBEteSS9MsuYNVYeq2sSMMiogGjbFP",
|
||||
"width": 732,
|
||||
"height": 732,
|
||||
"format": "jpg"
|
||||
},
|
||||
"rpc": [
|
||||
"https://mind-smart-chain.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
|
||||
"https://rpc-msc.mindchain.info/",
|
||||
"https://seednode.mindchain.info"
|
||||
],
|
||||
"faucets": [],
|
||||
"nativeCurrency": {
|
||||
"name": "MIND Coin",
|
||||
"symbol": "MIND",
|
||||
"decimals": 18
|
||||
},
|
||||
"infoURL": "https://mindscan.info",
|
||||
"shortName": "MIND",
|
||||
"chainId": 9996,
|
||||
"networkId": 9996,
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Mind Chain explorer",
|
||||
"url": "https://mainnet.mindscan.info",
|
||||
"standard": "EIP3091"
|
||||
}
|
||||
],
|
||||
"testnet": false,
|
||||
"slug": "mind-smart-chain"
|
||||
} as const satisfies Chain;
|
||||
@@ -35,9 +35,9 @@ export default {
|
||||
"name": "blockscout",
|
||||
"url": "https://testnet-rollup-explorer.altlayer.io",
|
||||
"icon": {
|
||||
"url": "ipfs://bafybeifu5tpui7dk5cjoo54kde7pmuthvnl7sdykobuarsxgu7t2izurnq",
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
|
||||
"width": 551,
|
||||
"height": 540,
|
||||
"format": "png"
|
||||
},
|
||||
"standard": "EIP3091"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
// @ts-check
|
||||
/** @typedef { import("../../src/types").Chain } Chain */
|
||||
|
||||
/** @type {Omit<Chain, "slug">} */
|
||||
export default {
|
||||
name: "Chiliz Chain",
|
||||
chain: "CC2",
|
||||
rpc: ["https://rpc.ankr.com/chiliz", "https://rpc.chiliz.com"],
|
||||
faucets: [],
|
||||
nativeCurrency: {
|
||||
name: "Chiliz",
|
||||
symbol: "CHZ",
|
||||
decimals: 18,
|
||||
},
|
||||
infoURL: "https://chiliz.com/chiliz-chain-2-0/",
|
||||
shortName: "cc2",
|
||||
chainId: 88888,
|
||||
networkId: 88888,
|
||||
explorers: [
|
||||
{
|
||||
name: "cc2scan",
|
||||
url: "https://scan.chiliz.com",
|
||||
standard: "EIP3091",
|
||||
},
|
||||
],
|
||||
icon: {
|
||||
url: "ipfs://QmTGYofJ8VLkeNY4J69AvXi8e126kmbHmf34wLFoJ1FKAK",
|
||||
width: 400,
|
||||
height: 400,
|
||||
format: "png",
|
||||
},
|
||||
testnet: false,
|
||||
redFlags: ["reusedChainId"],
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@thirdweb-dev/chains",
|
||||
"version": "0.1.38",
|
||||
"version": "0.1.40",
|
||||
"main": "dist/thirdweb-dev-chains.cjs.js",
|
||||
"module": "dist/thirdweb-dev-chains.esm.js",
|
||||
"browser": {
|
||||
@@ -23,16 +23,17 @@
|
||||
},
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.22.5",
|
||||
"@babel/preset-env": "^7.22.5",
|
||||
"@babel/core": "^7.22.9",
|
||||
"@babel/preset-env": "^7.22.9",
|
||||
"@babel/preset-typescript": "^7.22.5",
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"@preconstruct/cli": "^2.7.0",
|
||||
"@babel/runtime": "^7.22.6",
|
||||
"@preconstruct/cli": "2.7.0",
|
||||
"@thirdweb-dev/tsconfig": "workspace:*",
|
||||
"@types/jest": "^29.5.3",
|
||||
"axios": "^1.4.0",
|
||||
"deepmerge": "^4.3.1",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"jest": "^29.4.3",
|
||||
"jest": "^29.6.2",
|
||||
"plop": "^3.1.2",
|
||||
"typescript": "^5.1.6"
|
||||
},
|
||||
|
||||
@@ -17,6 +17,51 @@ const combineMerge = (target, source) => {
|
||||
return destination;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {Chain['explorers']} explorers
|
||||
*/
|
||||
function sortExplorers(explorers = []) {
|
||||
let etherscan = null;
|
||||
let blockscout = null;
|
||||
|
||||
let restExplorers = [];
|
||||
|
||||
for (const explorer of explorers) {
|
||||
if (explorer.name.includes("etherscan")) {
|
||||
etherscan = explorer;
|
||||
} else if (explorer.name.includes("blockscout")) {
|
||||
blockscout = explorer;
|
||||
} else {
|
||||
restExplorers.push(explorer);
|
||||
}
|
||||
}
|
||||
|
||||
const returnExplorers = [];
|
||||
if (etherscan) {
|
||||
returnExplorers.push(etherscan);
|
||||
}
|
||||
if (blockscout) {
|
||||
returnExplorers.push(blockscout);
|
||||
}
|
||||
|
||||
return [...returnExplorers, ...restExplorers];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {readonly any[]} values
|
||||
* @param {(arg0: any) => void} valueChecker
|
||||
*/
|
||||
function filterOutErroringValues(values, valueChecker) {
|
||||
return values.filter((value) => {
|
||||
try {
|
||||
valueChecker(value);
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const chainsDir = "./chains";
|
||||
|
||||
const chainsJsonUrl = "https://chainid.network/chains.json";
|
||||
@@ -74,10 +119,40 @@ chains = chains
|
||||
? false
|
||||
: JSON.stringify(chain).toLowerCase().includes("test");
|
||||
|
||||
return {
|
||||
const resultChain = {
|
||||
...chain,
|
||||
testnet,
|
||||
};
|
||||
// only add the explroers if they were there in the first place
|
||||
if (resultChain.explorers) {
|
||||
resultChain.explorers = sortExplorers(resultChain.explorers);
|
||||
// check every key that *could* contain a url and validate it
|
||||
resultChain.explorers = filterOutErroringValues(
|
||||
resultChain.explorers,
|
||||
(explorer) => new URL(explorer.url),
|
||||
);
|
||||
}
|
||||
if (resultChain.faucets) {
|
||||
resultChain.faucets = filterOutErroringValues(
|
||||
resultChain.faucets,
|
||||
(faucet) => new URL(faucet),
|
||||
);
|
||||
}
|
||||
if (resultChain.rpc) {
|
||||
resultChain.rpc = filterOutErroringValues(
|
||||
resultChain.rpc,
|
||||
(rpc) => new URL(rpc),
|
||||
);
|
||||
}
|
||||
if (resultChain.infoURL) {
|
||||
try {
|
||||
new URL(resultChain.infoURL);
|
||||
} catch (e) {
|
||||
delete resultChain.infoURL;
|
||||
}
|
||||
}
|
||||
|
||||
return resultChain;
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -56,4 +56,5 @@ export type MinimalChain = Pick<
|
||||
| "chainId"
|
||||
| "testnet"
|
||||
| "slug"
|
||||
| "icon"
|
||||
>;
|
||||
|
||||
@@ -98,7 +98,13 @@ export function getValidChainRPCs(
|
||||
// Replace API_KEY placeholder with value
|
||||
if (rpc.includes("${THIRDWEB_API_KEY}")) {
|
||||
if (clientId) {
|
||||
processedRPCs.push(rpc.replace("${THIRDWEB_API_KEY}", clientId));
|
||||
processedRPCs.push(
|
||||
rpc.replace("${THIRDWEB_API_KEY}", clientId) +
|
||||
(typeof globalThis !== "undefined" && "APP_BUNDLE_ID" in globalThis
|
||||
? // @ts-ignore
|
||||
`/?bundleId=${globalThis.APP_BUNDLE_ID}`
|
||||
: ""),
|
||||
);
|
||||
} else {
|
||||
// if no client id, let it through with empty string
|
||||
// if secretKey is present, it will be used in header
|
||||
@@ -154,6 +160,7 @@ export function minimizeChain(chain: Chain): MinimalChain {
|
||||
chainId: chain.chainId,
|
||||
testnet: chain.testnet,
|
||||
slug: chain.slug,
|
||||
icon: chain.icon,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,280 @@
|
||||
import { afterEach, beforeEach } from "node:test";
|
||||
import { Ethereum } from "../src";
|
||||
import {
|
||||
type ChainRPCOptions,
|
||||
getChainRPC,
|
||||
getChainRPCs,
|
||||
minimizeChain,
|
||||
configureChain,
|
||||
updateChainRPCs,
|
||||
getValidChainRPCs,
|
||||
} from "../src/utils";
|
||||
|
||||
const CHAIN_RPC_TEST_CASES: [ChainRPCOptions, string[]][] = [
|
||||
[
|
||||
{ thirdwebApiKey: "SAMPLE_KEY" },
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
{ alchemyApiKey: "SAMPLE_KEY" },
|
||||
[
|
||||
"https://eth-mainnet.g.alchemy.com/v2/SAMPLE_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
{ infuraApiKey: "SAMPLE_KEY" },
|
||||
[
|
||||
"https://mainnet.infura.io/v3/SAMPLE_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
// infura is supported for both http and ws
|
||||
[
|
||||
{ mode: "ws", infuraApiKey: "SAMPLE_KEY" },
|
||||
["wss://mainnet.infura.io/ws/v3/SAMPLE_KEY"],
|
||||
],
|
||||
];
|
||||
|
||||
describe("chains/utils", () => {
|
||||
test.each(CHAIN_RPC_TEST_CASES)(
|
||||
"getChainRPCs(%p) = %p",
|
||||
(options, expected) => {
|
||||
expect(getChainRPCs(Ethereum, options)).toEqual(expected);
|
||||
},
|
||||
);
|
||||
|
||||
test("Should throw error if no processedRPCs (getChainRPCs(%p))", () => {
|
||||
expect(() => {
|
||||
getChainRPCs(Ethereum, { mode: "ws" });
|
||||
}).toThrowError('No RPC available for chainId "1" with mode ws');
|
||||
});
|
||||
|
||||
test.each([
|
||||
[
|
||||
undefined,
|
||||
undefined,
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
undefined,
|
||||
"http",
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
undefined,
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
"http",
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
])("getValidChainRPCs(Ethereum, %s, %s) = %p", (clientId, mode, expected) => {
|
||||
expect(getValidChainRPCs(Ethereum, clientId, mode)).toEqual(expected);
|
||||
});
|
||||
|
||||
test.each([
|
||||
[undefined, "ws"],
|
||||
["SAMPLE_CLIENT_KEY", "ws"],
|
||||
])(
|
||||
"Should throw error if no processedRPCs (getValidChainRPCs(Ethereum, %s, %s))",
|
||||
(clientId, mode) => {
|
||||
expect(() => {
|
||||
getValidChainRPCs(Ethereum, clientId, mode);
|
||||
}).toThrowError('No RPC available for chainId "1" with mode ws');
|
||||
},
|
||||
);
|
||||
|
||||
test.each(CHAIN_RPC_TEST_CASES)(
|
||||
"getChainRPC(%p) = %p",
|
||||
(options, expected) => {
|
||||
expect(getChainRPC(Ethereum, options)).toEqual(expected[0]);
|
||||
},
|
||||
);
|
||||
|
||||
test("minimizeChain", () => {
|
||||
expect(minimizeChain(Ethereum)).toEqual({
|
||||
name: "Ethereum Mainnet",
|
||||
chain: "ETH",
|
||||
icon: {
|
||||
url: "ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png",
|
||||
height: 512,
|
||||
width: 512,
|
||||
format: "png",
|
||||
},
|
||||
rpc: ["https://ethereum.rpc.thirdweb.com/${THIRDWEB_API_KEY}"],
|
||||
nativeCurrency: {
|
||||
name: "Ether",
|
||||
symbol: "ETH",
|
||||
decimals: 18,
|
||||
},
|
||||
shortName: "eth",
|
||||
chainId: 1,
|
||||
testnet: false,
|
||||
slug: "ethereum",
|
||||
});
|
||||
});
|
||||
|
||||
test.each([
|
||||
[{}, Ethereum],
|
||||
[
|
||||
{ rpc: "https://example.com" },
|
||||
{ ...Ethereum, rpc: ["https://example.com", ...Ethereum.rpc] },
|
||||
],
|
||||
[
|
||||
{ rpc: ["https://example.com", "https://httpbin.org"] },
|
||||
{
|
||||
...Ethereum,
|
||||
rpc: ["https://example.com", "https://httpbin.org", ...Ethereum.rpc],
|
||||
},
|
||||
],
|
||||
])("configureChain(Ethereum, %p) = %p", (config, expected) => {
|
||||
expect(configureChain(Ethereum, config)).toEqual(expected);
|
||||
});
|
||||
|
||||
test.each([
|
||||
[
|
||||
Ethereum,
|
||||
undefined,
|
||||
{
|
||||
...Ethereum,
|
||||
rpc: [
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
Ethereum,
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
{
|
||||
...Ethereum,
|
||||
rpc: [
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
},
|
||||
],
|
||||
[{ ...Ethereum, rpc: [] }, "SAMPLE_CLIENT_KEY", { ...Ethereum, rpc: [] }],
|
||||
])("updateChainRPCs(%p, %s) = %p", (chain, config, expected) => {
|
||||
expect(updateChainRPCs(chain, config)).toEqual(expected);
|
||||
});
|
||||
});
|
||||
|
||||
describe("chains/utils with APP_BUNDLE_ID", () => {
|
||||
beforeAll(() => {
|
||||
globalThis.APP_BUNDLE_ID = "com.thirdweb.rpc";
|
||||
});
|
||||
|
||||
test.each([
|
||||
[
|
||||
undefined,
|
||||
undefined,
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
undefined,
|
||||
"http",
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
undefined,
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY/?bundleId=com.thirdweb.rpc",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
[
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
"http",
|
||||
[
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY/?bundleId=com.thirdweb.rpc",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
],
|
||||
])("getValidChainRPCs(Ethereum, %s, %s) = %p", (clientId, mode, expected) => {
|
||||
expect(getValidChainRPCs(Ethereum, clientId, mode)).toEqual(expected);
|
||||
});
|
||||
|
||||
test.each([
|
||||
[
|
||||
Ethereum,
|
||||
undefined,
|
||||
{
|
||||
...Ethereum,
|
||||
rpc: [
|
||||
"https://ethereum.rpc.thirdweb.com/",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
Ethereum,
|
||||
"SAMPLE_CLIENT_KEY",
|
||||
{
|
||||
...Ethereum,
|
||||
rpc: [
|
||||
"https://ethereum.rpc.thirdweb.com/SAMPLE_CLIENT_KEY/?bundleId=com.thirdweb.rpc",
|
||||
"https://api.mycryptoapi.com/eth",
|
||||
"https://cloudflare-eth.com",
|
||||
"https://ethereum.publicnode.com",
|
||||
],
|
||||
},
|
||||
],
|
||||
[{ ...Ethereum, rpc: [] }, "SAMPLE_CLIENT_KEY", { ...Ethereum, rpc: [] }],
|
||||
])("updateChainRPCs(%p, %s) = %p", (chain, config, expected) => {
|
||||
expect(updateChainRPCs(chain, config)).toEqual(expected);
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,31 @@
|
||||
# thirdweb
|
||||
|
||||
## 0.11.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`256ee0d5`](https://github.com/thirdweb-dev/js/commit/256ee0d5ec9c8598aa79cd4cb1fd839c6cc7d390)]:
|
||||
- @thirdweb-dev/storage@1.2.2
|
||||
- @thirdweb-dev/chains@0.1.40
|
||||
- @thirdweb-dev/sdk@3.10.42
|
||||
|
||||
## 0.11.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- [#1409](https://github.com/thirdweb-dev/js/pull/1409) [`b1e8c8e2`](https://github.com/thirdweb-dev/js/commit/b1e8c8e231013182eb46c16d0c441ee0f3bdfdb2) Thanks [@jnsdls](https://github.com/jnsdls)! - update dependencies
|
||||
|
||||
- [#1412](https://github.com/thirdweb-dev/js/pull/1412) [`fa48ab69`](https://github.com/thirdweb-dev/js/commit/fa48ab6942aaca5b4cf00893240510b1138190a1) Thanks [@jarrodwatts](https://github.com/jarrodwatts)! - fix: postinstall check keeps adding to itself
|
||||
|
||||
- [#1389](https://github.com/thirdweb-dev/js/pull/1389) [`53400858`](https://github.com/thirdweb-dev/js/commit/53400858232ceb998d68da8a75a6d493668fcf0f) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Add default admin param to base contract constructors
|
||||
|
||||
- [#1384](https://github.com/thirdweb-dev/js/pull/1384) [`0402b8bb`](https://github.com/thirdweb-dev/js/commit/0402b8bb378857b78cb207a329ac66598eeb6921) Thanks [@Marfuen](https://github.com/Marfuen)! - Update CLI Login text to mask the secret
|
||||
|
||||
- Updated dependencies [[`09b3b339`](https://github.com/thirdweb-dev/js/commit/09b3b339e65a6a9a1cfa32bab9e61e57532e7dbe), [`0a5eb19d`](https://github.com/thirdweb-dev/js/commit/0a5eb19d672909027bb6c7e79ea76d431535559c), [`98009cb3`](https://github.com/thirdweb-dev/js/commit/98009cb3ca6f1c2221a6a74ffa7df8d7ddac2c60), [`b1e8c8e2`](https://github.com/thirdweb-dev/js/commit/b1e8c8e231013182eb46c16d0c441ee0f3bdfdb2), [`51b36040`](https://github.com/thirdweb-dev/js/commit/51b3604021ca7b52fd00fd07c5a648a73464a61b), [`cbf486c2`](https://github.com/thirdweb-dev/js/commit/cbf486c21088ec1656933961e653e1d161939f63), [`01cc5408`](https://github.com/thirdweb-dev/js/commit/01cc54087b9d276968cb6dd3ceafa07c30bc2242), [`53400858`](https://github.com/thirdweb-dev/js/commit/53400858232ceb998d68da8a75a6d493668fcf0f), [`48ca58b7`](https://github.com/thirdweb-dev/js/commit/48ca58b7aa45348b928932b9c7b76b3dc233e429), [`aface46d`](https://github.com/thirdweb-dev/js/commit/aface46d7469ca2c1e45895e311a74363ceb8611), [`3152d4e9`](https://github.com/thirdweb-dev/js/commit/3152d4e9b42e2777316b1b58513657f4430cb79a), [`5fe3cec8`](https://github.com/thirdweb-dev/js/commit/5fe3cec894b98a2361d21bb72a5da843ec2a4d9b), [`8e6e55b1`](https://github.com/thirdweb-dev/js/commit/8e6e55b154ecdc4b09ded31387707571ff963fb7), [`aa6bdd08`](https://github.com/thirdweb-dev/js/commit/aa6bdd0809d1d5536c837c59b2d407ee974c1f9c), [`75587c8b`](https://github.com/thirdweb-dev/js/commit/75587c8b38bbbcf68d2101526e9792349cce728f), [`cc5e2ec5`](https://github.com/thirdweb-dev/js/commit/cc5e2ec51fce09af05be33811eb46980825829ee), [`a9f9a403`](https://github.com/thirdweb-dev/js/commit/a9f9a403457b9e683bcfdb61034ee9c9ee08bbf8), [`5a02c5ec`](https://github.com/thirdweb-dev/js/commit/5a02c5ec0288fd6dfb2b765ef70bb18e714aca19)]:
|
||||
- @thirdweb-dev/sdk@3.10.41
|
||||
- @thirdweb-dev/chains@0.1.39
|
||||
- @thirdweb-dev/storage@1.2.1
|
||||
|
||||
## 0.11.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { CREATE_MESSAGES } from "../constants/constants";
|
||||
import { prepareEnvironment } from "@gmrchk/cli-testing-library";
|
||||
|
||||
// load env variables
|
||||
require("dotenv-mono").load();
|
||||
|
||||
// this creates an app, can take some time that's fine
|
||||
jest.setTimeout(150_000);
|
||||
|
||||
|
||||
@@ -3,20 +3,20 @@ import { copyFile } from "fs/promises";
|
||||
import { resolve } from "path";
|
||||
import { ERROR_MESSAGES } from "../constants/constants";
|
||||
|
||||
// load env variables
|
||||
require("dotenv-mono").load();
|
||||
|
||||
const apiSecretKey = process.env.TW_SECRET_KEY as string;
|
||||
|
||||
// function to skip tests based on condition
|
||||
const itif = (condition: boolean) => (condition ? it : it.skip);
|
||||
|
||||
// this creates an app, can take some time that's fine
|
||||
jest.setTimeout(120_000);
|
||||
|
||||
describe("npx thirdweb deploy", () => {
|
||||
it("should return deploy page url", async () => {
|
||||
itif(!!apiSecretKey)("should return deploy page url", async () => {
|
||||
const { spawn, cleanup, exists, path } = await prepareEnvironment();
|
||||
// eslint-disable-next-line turbo/no-undeclared-env-vars
|
||||
const apiSecretKey = process.env.CLI_E2E_API_KEY as string;
|
||||
|
||||
if (!apiSecretKey) {
|
||||
throw new Error(
|
||||
"CLI_E2E_API_KEY is not set in the environment variables",
|
||||
);
|
||||
}
|
||||
|
||||
await copyFile(
|
||||
resolve("./e2e/files/BasicContract.sol"),
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { CREATE_MESSAGES } from "../constants/constants";
|
||||
import { prepareEnvironment } from "@gmrchk/cli-testing-library";
|
||||
|
||||
// load env variables
|
||||
require("dotenv-mono").load();
|
||||
|
||||
// this creates an app, can take some time that's fine
|
||||
jest.setTimeout(240_000);
|
||||
|
||||
|
||||
@@ -3,21 +3,22 @@ import { copyFile } from "fs/promises";
|
||||
import { resolve } from "path";
|
||||
import { ERROR_MESSAGES } from "../constants/constants";
|
||||
|
||||
// load env variables
|
||||
require("dotenv-mono").load();
|
||||
|
||||
// eslint-disable-next-line turbo/no-undeclared-env-vars
|
||||
const apiSecretKey = process.env.TW_SECRET_KEY as string;
|
||||
|
||||
// function to skip tests based on condition
|
||||
const itif = (condition: boolean) => (condition ? it : it.skip);
|
||||
|
||||
// this creates an app, can take some time that's fine
|
||||
jest.setTimeout(120_000);
|
||||
|
||||
describe("npx thirdweb publish", () => {
|
||||
// TOOD: turn this test back on when we figure out why it's failing
|
||||
it.skip("should return publish page url", async () => {
|
||||
// conditionally skip test if there's no api key
|
||||
itif(!!apiSecretKey)("should return publish page url", async () => {
|
||||
const { spawn, cleanup, exists, path } = await prepareEnvironment();
|
||||
// eslint-disable-next-line turbo/no-undeclared-env-vars
|
||||
const apiSecretKey = process.env.CLI_E2E_API_KEY as string;
|
||||
|
||||
if (!apiSecretKey) {
|
||||
throw new Error(
|
||||
"CLI_E2E_API_KEY is not set in the environment variables",
|
||||
);
|
||||
}
|
||||
|
||||
await copyFile(
|
||||
resolve("./e2e/files/BasicContract.sol"),
|
||||
@@ -25,7 +26,7 @@ describe("npx thirdweb publish", () => {
|
||||
);
|
||||
|
||||
const { waitForText, waitForFinish, getExitCode, writeText, getStderr } =
|
||||
await spawn("node", `./dist/cli/index.js publish -k ${apiSecretKey}}`);
|
||||
await spawn("node", `./dist/cli/index.js publish -k ${apiSecretKey}`);
|
||||
|
||||
expect(await exists("BasicContract.sol")).toEqual(true);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
|
||||
module.exports = {
|
||||
preset: 'ts-jest',
|
||||
testEnvironment: 'node',
|
||||
};
|
||||
preset: "ts-jest",
|
||||
testEnvironment: "node",
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "thirdweb",
|
||||
"main": "dist/cli/index.js",
|
||||
"version": "0.11.4",
|
||||
"version": "0.11.6",
|
||||
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/cli",
|
||||
"author": "thirdweb eng <[email protected]>",
|
||||
"license": "Apache-2.0",
|
||||
@@ -14,9 +14,9 @@
|
||||
"@types/async-retry": "^1.3.0",
|
||||
"@types/cross-spawn": "^6.0.2",
|
||||
"@types/inquirer": "^8.2.1",
|
||||
"@types/jest": "^29.5.2",
|
||||
"@types/jest": "^29.5.3",
|
||||
"@types/js-yaml": "^4.0.5",
|
||||
"@types/node": "^18.16.18",
|
||||
"@types/node": "^18.17.1",
|
||||
"@types/prompts": "^2.4.4",
|
||||
"@types/rimraf": "^3.0.0",
|
||||
"@types/tar": "^6.1.5",
|
||||
@@ -24,12 +24,13 @@
|
||||
"@types/validate-npm-package-name": "^4.0.0",
|
||||
"chalk": "^5.3.0",
|
||||
"cross-spawn": "^7.0.3",
|
||||
"dotenv-mono": "^1.3.10",
|
||||
"eslint-config-thirdweb": "workspace:*",
|
||||
"hardhat": "^2.16.1",
|
||||
"jest": "^29.4.3",
|
||||
"hardhat": "^2.17.0",
|
||||
"jest": "^29.6.2",
|
||||
"ora": "^6.3.1",
|
||||
"prettier": "^3.0.0",
|
||||
"ts-jest": "^29.1.0",
|
||||
"ts-jest": "^29.1.1",
|
||||
"ts-node": "^10.7.0",
|
||||
"tsup": "^6.7.0",
|
||||
"typescript": "^5.1.6"
|
||||
@@ -47,7 +48,7 @@
|
||||
"got": "11.8.5",
|
||||
"inquirer": "^8.2.3",
|
||||
"js-yaml": "^4.1.0",
|
||||
"node-fetch": "^3.3.1",
|
||||
"node-fetch": "^3.3.2",
|
||||
"open": "^8.4.0",
|
||||
"prompts": "^2.4.2",
|
||||
"rimraf": "^3.0.2",
|
||||
|
||||
@@ -41,7 +41,7 @@ export function getSession(cache: Cache) {
|
||||
export async function createSession(cache: Cache) {
|
||||
try {
|
||||
const response = await prompts({
|
||||
type: "text",
|
||||
type: "invisible",
|
||||
name: "apiSecretKey",
|
||||
message: `Please enter your API secret key, you can find or create it on ${chalk.blue(
|
||||
"https://thirdweb.com/create-api-key",
|
||||
|
||||
@@ -178,7 +178,7 @@ const main = async () => {
|
||||
);
|
||||
|
||||
// If the package is installed globally with yarn or pnpm, then npx won't recognize it
|
||||
// So we need to make sure to run the command directly
|
||||
// So we need to make sure to run the command directly.
|
||||
const executionCommand =
|
||||
!installation.isGlobal || installation.packageManager === "npm"
|
||||
? `npx thirdweb`
|
||||
|
||||
@@ -62,7 +62,7 @@ export async function detectExtensions(options: any) {
|
||||
}
|
||||
}
|
||||
|
||||
let contractsWithFeatures: ContractFeatures[] = selectedContracts.map(
|
||||
const contractsWithFeatures: ContractFeatures[] = selectedContracts.map(
|
||||
(contract) => {
|
||||
const abi: Parameters<typeof detectFeatures>[0] = JSON.parse(
|
||||
contract.metadata,
|
||||
|
||||
@@ -127,7 +127,7 @@ export async function processProject(
|
||||
return { title: key, value: key };
|
||||
});
|
||||
|
||||
let routerType: string = "";
|
||||
let routerType = "";
|
||||
const res = await createRouterPrompt(choices, "Choose a router to deploy");
|
||||
if (typeof res.routerType === "string") {
|
||||
routerType = res.routerType.trim();
|
||||
@@ -361,7 +361,7 @@ export function getUrl(hashes: string[], command: string) {
|
||||
);
|
||||
} else {
|
||||
url = new URL(THIRDWEB_URL + "/contracts/" + command);
|
||||
for (let hash of hashes) {
|
||||
for (const hash of hashes) {
|
||||
url.searchParams.append("ipfs", hash.replace("ipfs://", ""));
|
||||
}
|
||||
}
|
||||
@@ -383,7 +383,7 @@ async function formatToExtensions(
|
||||
|
||||
for (const contract of contracts) {
|
||||
// Prepare extension metadata.
|
||||
let metadata: ExtensionMetadata = {
|
||||
const metadata: ExtensionMetadata = {
|
||||
name: contract.name,
|
||||
metadataURI: await getMetadataURIForExtension(contract, storage),
|
||||
implementation: ethers.constants.AddressZero,
|
||||
|
||||
@@ -104,7 +104,7 @@ export async function detectProject(options: any) {
|
||||
}
|
||||
}
|
||||
|
||||
let contractsWithFeatures: ContractFeatures[] = selectedContracts.map(
|
||||
const contractsWithFeatures: ContractFeatures[] = selectedContracts.map(
|
||||
(contract) => {
|
||||
const abi: Parameters<typeof detectFeatures>[0] = JSON.parse(
|
||||
contract.metadata,
|
||||
|
||||
@@ -7,12 +7,14 @@ import "@thirdweb-dev/contracts/base/ERC721Base.sol";
|
||||
contract Contract is ERC721Base {
|
||||
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
)
|
||||
ERC721Base(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -28,6 +30,7 @@ import "@thirdweb-dev/contracts/base/ERC721SignatureMint.sol";
|
||||
|
||||
contract Contract is ERC721SignatureMint {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
@@ -35,6 +38,7 @@ contract Contract is ERC721SignatureMint {
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC721SignatureMint(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -50,11 +54,12 @@ import "@thirdweb-dev/contracts/base/ERC721LazyMint.sol";
|
||||
|
||||
contract Contract is ERC721LazyMint {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
) ERC721LazyMint(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
) ERC721LazyMint(_defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
}`,
|
||||
ERC721DelayedReveal: `// SPDX-License-Identifier: Apache-2.0
|
||||
pragma solidity ^0.8.0;
|
||||
@@ -63,11 +68,12 @@ import "@thirdweb-dev/contracts/base/ERC721DelayedReveal.sol";
|
||||
|
||||
contract Contract is ERC721DelayedReveal {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
) ERC721DelayedReveal(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
) ERC721DelayedReveal(_defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
}`,
|
||||
ERC721Drop: `// SPDX-License-Identifier: Apache-2.0
|
||||
pragma solidity ^0.8.0;
|
||||
@@ -76,6 +82,7 @@ import "@thirdweb-dev/contracts/base/ERC721Drop.sol";
|
||||
|
||||
contract Contract is ERC721Drop {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
@@ -83,6 +90,7 @@ contract Contract is ERC721Drop {
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC721Drop(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -99,12 +107,14 @@ import "@thirdweb-dev/contracts/base/ERC1155Base.sol";
|
||||
contract Contract is ERC1155Base {
|
||||
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
)
|
||||
ERC1155Base(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -120,6 +130,7 @@ import "@thirdweb-dev/contracts/base/Staking721Base.sol";
|
||||
|
||||
contract Contract is Staking721Base {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
uint256 _timeUnit,
|
||||
uint256 _rewardsPerUnitTime,
|
||||
address _nftCollection,
|
||||
@@ -127,6 +138,7 @@ contract Contract is Staking721Base {
|
||||
address _nativeTokenWrapper
|
||||
)
|
||||
Staking721Base(
|
||||
_defaultAdmin,
|
||||
_timeUnit,
|
||||
_rewardsPerUnitTime,
|
||||
_nftCollection,
|
||||
@@ -142,6 +154,7 @@ import "@thirdweb-dev/contracts/base/ERC1155SignatureMint.sol";
|
||||
|
||||
contract Contract is ERC1155SignatureMint {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
@@ -149,6 +162,7 @@ contract Contract is ERC1155SignatureMint {
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC1155SignatureMint(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -164,11 +178,12 @@ import "@thirdweb-dev/contracts/base/ERC1155LazyMint.sol";
|
||||
|
||||
contract Contract is ERC1155LazyMint {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
) ERC1155LazyMint(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
) ERC1155LazyMint(_defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
}`,
|
||||
ERC1155DelayedReveal: `// SPDX-License-Identifier: Apache-2.0
|
||||
pragma solidity ^0.8.0;
|
||||
@@ -177,11 +192,12 @@ import "@thirdweb-dev/contracts/base/ERC1155DelayedReveal.sol";
|
||||
|
||||
contract Contract is ERC1155DelayedReveal {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
uint128 _royaltyBps
|
||||
) ERC1155DelayedReveal(_name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
) ERC1155DelayedReveal(_defaultAdmin, _name, _symbol, _royaltyRecipient, _royaltyBps) {}
|
||||
}`,
|
||||
ERC1155Drop: `// SPDX-License-Identifier: Apache-2.0
|
||||
pragma solidity ^0.8.0;
|
||||
@@ -190,6 +206,7 @@ import "@thirdweb-dev/contracts/base/ERC1155Drop.sol";
|
||||
|
||||
contract Contract is ERC1155Drop {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _royaltyRecipient,
|
||||
@@ -197,6 +214,7 @@ contract Contract is ERC1155Drop {
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC1155Drop(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_royaltyRecipient,
|
||||
@@ -212,6 +230,7 @@ import "@thirdweb-dev/contracts/base/Staking1155Base.sol";
|
||||
|
||||
contract Contract is Staking1155Base {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
uint256 _defaultTimeUnit,
|
||||
uint256 _defaultRewardsPerUnitTime,
|
||||
address _stakingToken,
|
||||
@@ -219,6 +238,7 @@ contract Contract is Staking1155Base {
|
||||
address _nativeTokenWrapper
|
||||
)
|
||||
Staking1155Base(
|
||||
_defaultAdmin,
|
||||
_defaultTimeUnit,
|
||||
_defaultRewardsPerUnitTime,
|
||||
_stakingToken,
|
||||
@@ -234,10 +254,12 @@ import "@thirdweb-dev/contracts/base/ERC20Base.sol";
|
||||
|
||||
contract Contract is ERC20Base {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol
|
||||
)
|
||||
ERC20Base(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol
|
||||
)
|
||||
@@ -250,10 +272,12 @@ import "@thirdweb-dev/contracts/base/ERC20Vote.sol";
|
||||
|
||||
contract Contract is ERC20Vote {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol
|
||||
)
|
||||
ERC20Vote(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol
|
||||
)
|
||||
@@ -266,11 +290,13 @@ import "@thirdweb-dev/contracts/base/ERC20SignatureMint.sol";
|
||||
|
||||
contract Contract is ERC20SignatureMint {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC20SignatureMint(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_primarySaleRecipient
|
||||
@@ -285,11 +311,13 @@ import "@thirdweb-dev/contracts/base/ERC20SignatureMintVote.sol";
|
||||
|
||||
contract Contract is ERC20SignatureMintVote {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC20SignatureMintVote(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_primarySaleRecipient
|
||||
@@ -304,11 +332,13 @@ import "@thirdweb-dev/contracts/base/ERC20Drop.sol";
|
||||
|
||||
contract Contract is ERC20Drop {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC20Drop(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_primarySaleRecipient
|
||||
@@ -322,11 +352,13 @@ import "@thirdweb-dev/contracts/base/ERC20DropVote.sol";
|
||||
|
||||
contract Contract is ERC20DropVote {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
string memory _name,
|
||||
string memory _symbol,
|
||||
address _primarySaleRecipient
|
||||
)
|
||||
ERC20DropVote(
|
||||
_defaultAdmin,
|
||||
_name,
|
||||
_symbol,
|
||||
_primarySaleRecipient
|
||||
@@ -340,6 +372,7 @@ import "@thirdweb-dev/contracts/base/Staking20Base.sol";
|
||||
|
||||
contract Contract is Staking20Base {
|
||||
constructor(
|
||||
address _defaultAdmin,
|
||||
uint256 _timeUnit,
|
||||
uint256 _rewardRatioNumerator,
|
||||
uint256 _rewardRatioDenominator,
|
||||
@@ -348,6 +381,7 @@ contract Contract is Staking20Base {
|
||||
address _nativeTokenWrapper
|
||||
)
|
||||
Staking20Base(
|
||||
_defaultAdmin,
|
||||
_timeUnit,
|
||||
_rewardRatioNumerator,
|
||||
_rewardRatioDenominator,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
export const THIRDWEB_URL = `https://thirdweb.com`;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
export const pkg = require("../../package.json");
|
||||
|
||||
export const cliVersion = pkg.version;
|
||||
|
||||
@@ -137,10 +137,10 @@ export class FoundryBuilder extends BaseBuilder {
|
||||
// Not to sort the array
|
||||
return object;
|
||||
}
|
||||
var keys = Object.keys(object);
|
||||
const keys = Object.keys(object);
|
||||
keys.sort();
|
||||
var newObject: any = {};
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
const newObject: any = {};
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
newObject[keys[i]] = this.sort(object[keys[i]]);
|
||||
}
|
||||
return newObject;
|
||||
|
||||
@@ -90,7 +90,7 @@ export class SolcBuilder extends BaseBuilder {
|
||||
}
|
||||
|
||||
const contractNamesInNamespace = Object.keys(contract);
|
||||
for (let c of contractNamesInNamespace) {
|
||||
for (const c of contractNamesInNamespace) {
|
||||
const contractFile = contract[c];
|
||||
const contractFilePath = join(contractPath, c + ".json");
|
||||
writeFileSync(
|
||||
|
||||
@@ -12,6 +12,7 @@ export class TruffleBuilder extends BaseBuilder {
|
||||
contracts: ContractPayload[];
|
||||
}> {
|
||||
// get the current config first
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const truffleConfig = require(join(
|
||||
options.projectPath,
|
||||
"truffle-config.js",
|
||||
|
||||
@@ -9,6 +9,7 @@ import { existsSync, readdirSync } from "fs";
|
||||
import inquirer from "inquirer";
|
||||
import { parse } from "path";
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const { Confirm } = require("enquirer");
|
||||
|
||||
export default async function detect(
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user