Compare commits

..
Author SHA1 Message Date
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>Joaquim VergesGitHub Action
aad5f9f221 Version Packages (#2954)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joaquim Verges <[email protected]>
Co-authored-by: GitHub Action <[email protected]>
2024-05-10 13:13:26 +12:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7a7a904d73 build(deps-dev): bump next from 13.5.6 to 14.1.1 in the npm_and_yarn group (#2977)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-10 00:42:38 +00:00
d660b6ce32 React tests & deterministic deploy cleanup (#2969)
Co-authored-by: Jonas Daniels <[email protected]>
2024-05-10 11:58:20 +12:00
Joaquim VergesandGitHub c744935ced fix: jsdoc in generated extension functions (#2975) 2024-05-10 11:44:51 +12:00
24c1670e70 feat: smartAccount option for in-app wallets (#2931)
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2024-05-09 23:15:57 +00:00
gregandGitHub b1ca05ec12 Allow nonce to be zero on toSerializableTransaction (#2972) 2024-05-09 22:56:01 +00:00
Joaquim VergesandGitHub 3847cca5bc fix: linter for tests (#2974) 2024-05-10 10:55:35 +12:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
99a91709a6 chore(chains): update chains (#2963)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-09 11:12:31 -07:00
ae1077656f [React] Add Arweave URI support to <MediaRenderer /> (#2965)
Co-authored-by: Kien Ngo <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2024-05-09 11:12:04 -07:00
3887b76689 chore: pin all deps for RN v4 (#2968)
Co-authored-by: Jonas Daniels <[email protected]>
2024-05-09 11:09:12 -07:00
Jonas DanielsandGitHub ce1f2dff0d build: Install node-gyp globally (#2971) 2024-05-09 10:30:07 -07:00
Jonas DanielsandGitHub 22dae7fe2e chore(lock): fix lockfile (#2970) 2024-05-09 10:16:28 -07:00
Joaquim VergesandGitHub 33ed260ce1 chore: pnpm lockfile (#2967) 2024-05-09 21:25:37 +12:00
gregandGitHub 4de8802435 Fix(CLI): hardhat hanging process (#2966) 2024-05-09 06:18:16 +00:00
fd1bd7e7ef Add resolve method for Arweave URIs (#2955)
Co-authored-by: Kien Ngo <[email protected]>
2024-05-09 01:02:38 +00:00
gregandGitHub 5b6b241334 Fix(deployPublishedContract): Miscellaneous bug fixes (#2962) 2024-05-08 22:22:47 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
8d1aaffb68 chore(chains): update chains (#2961)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-08 12:18:39 -07:00
gregandGitHub 02a0ca9727 Fix(getContractEvents): properly offset when using blockRange (#2958) 2024-05-08 11:32:02 -07:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2bfaafcc10 chore(chains): update chains (#2925)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-08 11:29:29 -07:00
Manan TankandGitHub 3377fc9882 Fix custom details button not opening the details modal (#2959) 2024-05-08 18:12:20 +00:00
YashandGitHub 0e45f24fd6 Update zksync addresses (#2960) 2024-05-08 18:06:44 +00:00
Joaquim VergesandGitHub 5a39c049c7 fix: React native v4 dependencies (#2956) 2024-05-08 03:02:10 +00:00
gregandGitHub d4808fd7e8 Feature(InApp Wallets): Export getUserPhoneNumber and getAuthenticatedUser (#2950) 2024-05-08 00:23:18 +00:00
gregandGitHub 1d79fb00f3 Setup React Testing Library (#2947) 2024-05-07 21:02:12 +00:00
355 changed files with 3104 additions and 789 deletions
@@ -20,6 +20,9 @@ runs:
check-latest: true
registry-url: "https://registry.npmjs.org"
cache: "pnpm"
- name: Install node-gyp globally
shell: bash
run: pnpm install -g node-gyp node-gyp-build
- name: Install dependencies
shell: bash
+1
View File
@@ -11,6 +11,7 @@ on:
paths:
- "packages/**"
- "package.json"
- ".github/**"
# trigger on merge group as well (merge queue)
merge_group:
types: [checks_requested]
+7
View File
@@ -1,5 +1,12 @@
# @thirdweb-dev/auth
## 4.1.75
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.17
## 4.1.74
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.1.74",
"version": "4.1.75",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
@@ -101,7 +101,7 @@
"ethers": "^5.7.2",
"express": "^4.19.2",
"fastify": "^4.26.2",
"next": "^13.5.6",
"next": "^14.1.1",
"next-auth": "^4.24.7",
"typescript": "5.4.4"
},
+6
View File
@@ -1,5 +1,11 @@
# @thirdweb-dev/chains
## 0.1.106
### Patch Changes
- [#2925](https://github.com/thirdweb-dev/js/pull/2925) [`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.105
### Patch Changes
+35
View File
@@ -0,0 +1,35 @@
import type { Chain } from "../src/types";
export default {
"chain": "KaspaClassic",
"chainId": 104566,
"explorers": [
{
"name": "KaspaClassic Explorer",
"url": "https://explorer.kaspaclassic.world",
"standard": "none"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmNMuNBwg9opKvsnrDaoYBP743LeddeooQupVYjpBXf7d7",
"width": 400,
"height": 400,
"format": "png"
},
"infoURL": "https://kaspaclassic.com/",
"name": "KaspaClassic Mainnet",
"nativeCurrency": {
"name": "KaspaClassic",
"symbol": "CAS",
"decimals": 18
},
"networkId": 104566,
"rpc": [
"https://104566.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.kaspaclassic.world/",
"http://80.178.101.118:8000/"
],
"shortName": "cas",
"slug": "kaspaclassic",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 12065,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM2405061 WITH INTEROPERABILITY",
"nativeCurrency": {
"name": "QIM2405061 WITH INTEROPERABILITY Token",
"symbol": "BLY",
"decimals": 18
},
"networkId": 12065,
"redFlags": [],
"rpc": [
"https://12065.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QIM2405061 WITH INTEROPERABILITY",
"slug": "qim2405061-with-interoperability",
"testnet": true
} as const satisfies Chain;
+12 -2
View File
@@ -2,9 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 12781,
"explorers": [],
"explorers": [
{
"name": "Playdapp Testnet Explorer",
"url": "https://subnets-test.avax.network/playdappte",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
+8
View File
@@ -22,6 +22,14 @@ export default {
"https://1284.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.api.moonbeam.network",
"wss://wss.api.moonbeam.network",
"https://moonbeam.public.blastapi.io",
"wss://moonbeam.public.blastapi.io",
"https://moonbeam-rpc.dwellir.com",
"wss://moonbeam-rpc.dwellir.com",
"https://moonbeam.api.onfinality.io/public",
"wss://moonbeam.api.onfinality.io/public-ws",
"https://moonbeam.unitedbloc.com",
"wss://moonbeam.unitedbloc.com",
"https://moonbeam-rpc.publicnode.com",
"wss://moonbeam-rpc.publicnode.com",
"https://moonbeam.drpc.org",
+8
View File
@@ -22,6 +22,14 @@ export default {
"https://1285.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.api.moonriver.moonbeam.network",
"wss://wss.api.moonriver.moonbeam.network",
"https://moonriver.public.blastapi.io",
"wss://moonriver.public.blastapi.io",
"https://moonriver-rpc.dwellir.com",
"wss://moonriver-rpc.dwellir.com",
"https://moonriver.api.onfinality.io/public",
"wss://moonriver.api.onfinality.io/public-ws",
"https://moonriver.unitedbloc.com",
"wss://moonriver.unitedbloc.com",
"https://moonriver-rpc.publicnode.com",
"wss://moonriver-rpc.publicnode.com",
"https://moonriver.drpc.org",
+11 -1
View File
@@ -10,7 +10,8 @@ export default {
}
],
"faucets": [],
"infoURL": "https://docs.moonbeam.network/networks/testnet/",
"features": [],
"infoURL": "https://docs.moonbeam.network/learn/platform/networks/moonbase/",
"name": "Moonbase Alpha",
"nativeCurrency": {
"name": "Dev",
@@ -18,10 +19,19 @@ export default {
"decimals": 18
},
"networkId": 1287,
"redFlags": [],
"rpc": [
"https://1287.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.api.moonbase.moonbeam.network",
"wss://wss.api.moonbase.moonbeam.network",
"https://moonbase-alpha.public.blastapi.io",
"wss://moonbase-alpha.public.blastapi.io",
"https://moonbase-rpc.dwellir.com",
"wss://moonbase-rpc.dwellir.com",
"https://moonbeam-alpha.api.onfinality.io/public",
"wss://moonbeam-alpha.api.onfinality.io/public-ws",
"https://moonbase.unitedbloc.com",
"wss://moonbase.unitedbloc.com",
"https://moonbase-alpha.drpc.org",
"wss://moonbase-alpha.drpc.org"
],
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "COTI",
"chainId": 13068200,
"explorers": [],
"faucets": [
"https://faucet.coti.io"
],
"icon": {
"url": "ipfs://QmR58SroHx7ovpqEB5iRkw4PufEXmcCBAJ8AZ7mChDgTfV",
"width": 528,
"height": 528,
"format": "png"
},
"infoURL": "https://coti.io/",
"name": "COTI Devnet",
"nativeCurrency": {
"name": "COTI2",
"symbol": "COTI2",
"decimals": 18
},
"networkId": 13068200,
"rpc": [
"https://13068200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://devnet.coti.io"
],
"shortName": "coti-devnet",
"slug": "coti-devnet",
"testnet": false,
"title": "COTI Devnet"
} as const satisfies Chain;
+24
View File
@@ -0,0 +1,24 @@
import type { Chain } from "../src/types";
export default {
"chain": "HashKey Chain Testnet",
"chainId": 133,
"explorers": [],
"faucets": [],
"infoURL": "https://hashkey.cloud",
"name": "HashKey Chain Testnet",
"nativeCurrency": {
"name": "HashKey EcoPoints",
"symbol": "HSK",
"decimals": 18
},
"networkId": 133,
"parent": {
"type": "L2",
"chain": "eip155-11155111"
},
"rpc": [],
"shortName": "HSKT",
"slug": "hashkey-chain-testnet",
"testnet": true,
"title": "HashKey Chain Testnet"
} as const satisfies Chain;
+2 -1
View File
@@ -63,7 +63,8 @@ export default {
"https://ethereum-holesky-rpc.publicnode.com",
"wss://ethereum-holesky-rpc.publicnode.com",
"https://holesky.drpc.org",
"wss://holesky.drpc.org"
"wss://holesky.drpc.org",
"https://rpc-holesky.rockx.com"
],
"shortName": "holesky",
"slip44": 1,
+2 -1
View File
@@ -34,8 +34,9 @@ export default {
"https://17001.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.holesky.redstone.xyz"
],
"shortName": "redstone",
"shortName": "redstone-holesky",
"slip44": 1,
"slug": "redstone-holesky-testnet",
"status": "deprecated",
"testnet": true
} as const satisfies Chain;
+52
View File
@@ -0,0 +1,52 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 17069,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.garnetchain.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
}
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmWhHvjbjTiNNsHKpbEz9rxSt4CCL2Q5xVZjk8eQkp82B9",
"width": 600,
"height": 600,
"format": "png"
},
"infoURL": "https://redstone.xyz",
"name": "Garnet Holesky",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 17069,
"parent": {
"type": "L2",
"chain": "eip155-17000",
"bridges": [
{
"url": "https://garnetchain.com/deposit"
}
]
},
"redFlags": [],
"rpc": [
"https://17069.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.garnetchain.com",
"wss://rpc.garnetchain.com"
],
"shortName": "garnet",
"slug": "garnet-holesky",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "FHET",
"chainId": 192940,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://mindnetwork.xyz",
"name": "Mind Network Testnet",
"nativeCurrency": {
"name": "FHE",
"symbol": "FHE",
"decimals": 18
},
"networkId": 192940,
"rpc": [
"https://192940.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.mindnetwork.xyz",
"wss://rpc-testnet.mindnetwork.xyz"
],
"shortName": "fhet",
"slug": "mind-network-testnet",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "AIW3",
"chainId": 1956,
"explorers": [
{
"name": "aiw3 testnet scan",
"url": "https://scan-testnet.aiw3.io",
"standard": "none"
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafkreigfxcyvnx2r46a3unljb2auxeez5olbg56lbu4gkpa4me7wqoajjy",
"width": 500,
"height": 500,
"format": "png"
},
"infoURL": "https://aiw3.io/",
"name": "AIW3 Testnet",
"nativeCurrency": {
"name": "BTC",
"symbol": "BTC",
"decimals": 18
},
"networkId": 1956,
"rpc": [
"https://1956.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.aiw3.io/"
],
"shortName": "AIW3-Testnet",
"slug": "aiw3-testnet",
"testnet": true
} as const satisfies Chain;
+46
View File
@@ -0,0 +1,46 @@
import type { Chain } from "../src/types";
export default {
"chain": "LBRY",
"chainId": 19600,
"explorers": [
{
"name": "LBRY Block Explorer",
"url": "https://explorer.lbry.com",
"standard": "none",
"icon": {
"url": "ipfs://QmUoSiFWaPTbVY6ZfJswzrM9jKuhfhXWwstRo49cVCWr8x",
"width": 400,
"height": 400,
"format": "jpg"
}
}
],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"icon": {
"url": "ipfs://QmUoSiFWaPTbVY6ZfJswzrM9jKuhfhXWwstRo49cVCWr8x",
"width": 400,
"height": 400,
"format": "jpg"
},
"infoURL": "https://lbry.com",
"name": "LBRY Mainnet",
"nativeCurrency": {
"name": "LBRY Credits",
"symbol": "LBC",
"decimals": 8
},
"networkId": 19600,
"rpc": [
"https://19600.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://lbry.nl/rpc"
],
"shortName": "LBRY",
"slip44": 140,
"slug": "lbry",
"testnet": false
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "FAIT",
"chainId": 200000,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://xfair.ai",
"name": "xFair.AI Testnet",
"nativeCurrency": {
"name": "FAI",
"symbol": "FAI",
"decimals": 18
},
"networkId": 200000,
"rpc": [
"https://200000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc_testnet.xfair.ai",
"wss://rpc_testnet.xfair.ai"
],
"shortName": "fait",
"slug": "xfair-ai-testnet",
"testnet": true
} as const satisfies Chain;
+1
View File
@@ -29,6 +29,7 @@ export default {
"https://rpc.bitlayer.org",
"https://rpc.bitlayer-rpc.com",
"https://rpc.ankr.com/bitlayer",
"https://rpc-bitlayer.rockx.com",
"wss://ws.bitlayer.org",
"wss://ws.bitlayer-rpc.com"
],
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "NOW",
"chainId": 2014,
"explorers": [
{
"name": "nowscan",
"url": "https://nowscan.io",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmSUzhRGzMyMyGwBcE3ooZ5jvHKyJ1FjVjh5SfoGHG36MX",
"width": 512,
"height": 512,
"format": "png"
},
"infoURL": "https://nowchain.co",
"name": "NOW Chain",
"nativeCurrency": {
"name": "NOW Coin",
"symbol": "NOW",
"decimals": 18
},
"networkId": 2014,
"rpc": [
"https://2014.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.nowscan.io"
],
"shortName": "now",
"slug": "now-chain",
"testnet": false
} as const satisfies Chain;
+26
View File
@@ -0,0 +1,26 @@
import type { Chain } from "../src/types";
export default {
"chain": "AIW3",
"chainId": 2045,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://bafkreigfxcyvnx2r46a3unljb2auxeez5olbg56lbu4gkpa4me7wqoajjy",
"width": 500,
"height": 500,
"format": "png"
},
"infoURL": "https://aiw3.io/",
"name": "AIW3 Mainnet",
"nativeCurrency": {
"name": "BTC",
"symbol": "BTC",
"decimals": 18
},
"networkId": 2045,
"rpc": [],
"shortName": "AIW3",
"slug": "aiw3",
"status": "incubating",
"testnet": false
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "DCpay",
"chainId": 21223,
"explorers": [
{
"name": "DCpay Mainnet Explorer",
"url": "https://mainnet.dcpay.io",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmezBwVepoegoCqb86idzPgvPxtaSuXzMLBGiiYfyTGTkc",
"width": 458,
"height": 468,
"format": "png"
},
"infoURL": "https://dcpay.io",
"name": "DCpay Mainnet",
"nativeCurrency": {
"name": "DCP",
"symbol": "DCP",
"decimals": 18
},
"networkId": 21223,
"rpc": [
"https://21223.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.dcpay.io"
],
"shortName": "DCPm",
"slug": "dcpay",
"testnet": false
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "FHE",
"chainId": 228,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://mindnetwork.xyz",
"name": "Mind Network Mainnet",
"nativeCurrency": {
"name": "FHE",
"symbol": "FHE",
"decimals": 18
},
"networkId": 228,
"rpc": [
"https://228.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc_mainnet.mindnetwork.xyz",
"wss://rpc_mainnet.mindnetwork.xyz"
],
"shortName": "fhe",
"slug": "mind-network",
"testnet": false
} as const satisfies Chain;
+2 -2
View File
@@ -19,7 +19,7 @@ export default {
"format": "png"
},
"infoURL": "https://www.hashkey.com",
"name": "HashKey Chain Testnet",
"name": "HashKey Chain Testnet(discard)",
"nativeCurrency": {
"name": "HashKey Token",
"symbol": "tHSK",
@@ -32,6 +32,6 @@ export default {
],
"shortName": "hsktest",
"slip44": 1,
"slug": "hashkey-chain-testnet",
"slug": "hashkey-chain-testnet-discard",
"testnet": true
} as const satisfies Chain;
+2 -1
View File
@@ -44,7 +44,8 @@ export default {
"rpc": [
"https://255.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://api.kroma.network",
"https://1rpc.io/kroma"
"https://1rpc.io/kroma",
"https://rpc-kroma.rockx.com"
],
"shortName": "kroma",
"slug": "kroma",
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 27550,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM2405065 NO INTEROP NO SIM",
"nativeCurrency": {
"name": "QIM2405065 NO INTEROP NO SIM Token",
"symbol": "BLY",
"decimals": 18
},
"networkId": 27550,
"redFlags": [],
"rpc": [
"https://27550.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qim2405065/testnet/rpc"
],
"shortName": "QIM2405065 NO INTEROP NO SIM",
"slug": "qim2405065-no-interop-no-sim",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "FAI",
"chainId": 278,
"explorers": [],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"infoURL": "https://xfair.ai",
"name": "xFair.AI Mainnet",
"nativeCurrency": {
"name": "FAI",
"symbol": "FAI",
"decimals": 18
},
"networkId": 278,
"rpc": [
"https://278.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc_mainnet.xfair.ai",
"wss://rpc_mainnet.xfair.ai"
],
"shortName": "fai",
"slug": "xfair-ai",
"testnet": false
} as const satisfies Chain;
+2 -1
View File
@@ -29,7 +29,8 @@ export default {
},
"rpc": [
"https://2810.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-holesky.morphl2.io"
"https://rpc-holesky.morphl2.io",
"https://rpc-quicknode-holesky.morphl2.io"
],
"shortName": "hmorph",
"slip44": 1,
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 28408,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM2405062 NO INTEROP",
"nativeCurrency": {
"name": "QIM2405062 NO INTEROP Token",
"symbol": "BLY",
"decimals": 18
},
"networkId": 28408,
"redFlags": [],
"rpc": [
"https://28408.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QIM2405062 NO INTEROP",
"slug": "qim2405062-no-interop",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 3026,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM2405064 NO INTEROP PRECOMPILE",
"nativeCurrency": {
"name": "QIM2405064 NO INTEROP PRECOMPILE Token",
"symbol": "BLY",
"decimals": 18
},
"networkId": 3026,
"redFlags": [],
"rpc": [
"https://3026.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QIM2405064 NO INTEROP PRECOMPILE",
"slug": "qim2405064-no-interop-precompile",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "One World Chain",
"chainId": 309075,
"explorers": [
{
"name": "One World Chain Mainnet Explorer",
"url": "https://mainnet.oneworldchain.org",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmPmZ6vgtdMG7jttVZQUobF96Sva1noi5Fsi28V1Eck6eC",
"width": 200,
"height": 200,
"format": "png"
},
"infoURL": "https://oneworldchain.org",
"name": "One World Chain Mainnet",
"nativeCurrency": {
"name": "OWCT",
"symbol": "OWCT",
"decimals": 18
},
"networkId": 309075,
"rpc": [
"https://309075.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.oneworldchain.org"
],
"shortName": "OWCTm",
"slug": "one-world-chain",
"testnet": false
} as const satisfies Chain;
+41
View File
@@ -0,0 +1,41 @@
import type { Chain } from "../src/types";
export default {
"chain": "Parex",
"chainId": 322202,
"explorers": [
{
"name": "Parex Mainnet Explorer",
"url": "https://scan.parex.network",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmSPD3QcjFJL2KpYRnNDxa8Xg5rcSgPugG9kcBBNeavVKi",
"width": 128,
"height": 128,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmSPD3QcjFJL2KpYRnNDxa8Xg5rcSgPugG9kcBBNeavVKi",
"width": 128,
"height": 128,
"format": "png"
},
"infoURL": "https://parex.network",
"name": "Parex Mainnet",
"nativeCurrency": {
"name": "PAREX",
"symbol": "PRX",
"decimals": 18
},
"networkId": 322202,
"rpc": [
"https://322202.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.parex.network"
],
"shortName": "parex",
"slug": "parex",
"testnet": false,
"title": "Parex Mainnet"
} as const satisfies Chain;
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 33979,
"explorers": [
{
"name": "Funki Mainnet Explorer",
"url": "https://mainnet.funkichain.com",
"standard": "none"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmWLjmfbjx2qZC39GCFXDzt72NXVTtDBVzVSq6rwaquyp3",
"width": 1200,
"height": 410,
"format": "png"
},
"infoURL": "https://funkichain.com",
"name": "Funki",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 33979,
"rpc": [],
"shortName": "funki",
"slug": "funki",
"testnet": false
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 3397901,
"explorers": [
{
"name": "Funki Sepolia Sandbox Explorer",
"url": "https://sepolia-sandbox.funkichain.com",
"standard": "none"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmWLjmfbjx2qZC39GCFXDzt72NXVTtDBVzVSq6rwaquyp3",
"width": 1200,
"height": 410,
"format": "png"
},
"infoURL": "https://funkichain.com",
"name": "Funki Sepolia Sandbox",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 3397901,
"rpc": [
"https://3397901.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://funki-testnet.alt.technology"
],
"shortName": "funkisepolia",
"slug": "funki-sepolia-sandbox",
"testnet": true
} as const satisfies Chain;
@@ -3,6 +3,11 @@ export default {
"chain": "Xai Sepolia",
"chainId": 37714555429,
"explorers": [
{
"name": "Blockscout",
"url": "https://testnet-explorer-v2.xai-chain.net",
"standard": "EIP3091"
},
{
"name": "blockscout",
"url": "https://testnet-explorer-v2.xai-chain.net/",
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 39585,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser5884",
"nativeCurrency": {
"name": "QaUser5884 Token",
"symbol": "YRO",
"decimals": 18
},
"networkId": 39585,
"redFlags": [],
"rpc": [
"https://39585.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser5884",
"slug": "qauser5884",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "prm",
"chainId": 39656,
"explorers": [
{
"name": "Primal Network",
"url": "https://prmscan.org",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmckkDRkuCQWbvhpKGsqa8ajuQvf3W5dekzw5qpiPC6shk",
"width": 1220,
"height": 1220,
"format": "png"
},
"infoURL": "https://primalnetwork.org",
"name": "PRM Mainnet",
"nativeCurrency": {
"name": "Primal Network",
"symbol": "PRM",
"decimals": 18
},
"networkId": 39656,
"rpc": [
"https://39656.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet-rpc.prmscan.org"
],
"shortName": "prm",
"slug": "prm",
"testnet": false
} as const satisfies Chain;
+2 -1
View File
@@ -33,7 +33,8 @@ export default {
"rpc": [
"https://4200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.merlinchain.io",
"https://merlin-mainnet-enterprise.unifra.io"
"https://merlin-mainnet-enterprise.unifra.io",
"https://rpc-merlin.rockx.com"
],
"shortName": "Merlin-Mainnet",
"slug": "merlin",
+39
View File
@@ -0,0 +1,39 @@
import type { Chain } from "../src/types";
export default {
"chain": "Etherlink",
"chainId": 42793,
"explorers": [
{
"name": "Etherlink Explorer",
"url": "https://explorer.etherlink.com",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "ipfs://QmVqE4wq3fd3RKZwo7GxmW333ywHgYBZGvqwh3TUBM5DUi",
"width": 584,
"height": 545,
"format": "png"
},
"infoURL": "https://etherlink.com",
"name": "Etherlink Mainnet",
"nativeCurrency": {
"name": "tez",
"symbol": "XTZ",
"decimals": 18
},
"networkId": 42793,
"rpc": [
"https://42793.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://node.mainnet.etherlink.com"
],
"shortName": "etlk",
"slug": "etherlink",
"testnet": false
} as const satisfies Chain;
+12 -2
View File
@@ -2,9 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 504441,
"explorers": [],
"explorers": [
{
"name": "Playdapp Explorer",
"url": "https://subnets.avax.network/playdappne",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"features": [
{
"name": "EIP1559"
}
],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
+2 -2
View File
@@ -25,8 +25,8 @@ export default {
"infoURL": "https://www.dodochain.com",
"name": "DODOchain testnet",
"nativeCurrency": {
"name": "Berd",
"symbol": "BERD",
"name": "DODO",
"symbol": "DODO",
"decimals": 18
},
"networkId": 53457,
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 54454,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM2405063 INTEROP NO PRECOMPILE",
"nativeCurrency": {
"name": "QIM2405063 INTEROP NO PRECOMPILE Token",
"symbol": "BLY",
"decimals": 18
},
"networkId": 54454,
"redFlags": [],
"rpc": [
"https://54454.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QIM2405063 INTEROP NO PRECOMPILE",
"slug": "qim2405063-interop-no-precompile",
"testnet": true
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "One World Chain",
"chainId": 552981,
"explorers": [
{
"name": "One World Chain Testnet Explorer",
"url": "https://testnet.oneworldchain.org",
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.oneworldchain.org"
],
"icon": {
"url": "ipfs://QmPmZ6vgtdMG7jttVZQUobF96Sva1noi5Fsi28V1Eck6eC",
"width": 200,
"height": 200,
"format": "png"
},
"infoURL": "https://oneworldchain.org",
"name": "One World Chain Testnet",
"nativeCurrency": {
"name": "OWCT",
"symbol": "OWCT",
"decimals": 18
},
"networkId": 552981,
"rpc": [
"https://552981.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.oneworldchain.org"
],
"shortName": "OWCTt",
"slug": "one-world-chain-testnet",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 56973,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser0587",
"nativeCurrency": {
"name": "QaUser0587 Token",
"symbol": "IDZ",
"decimals": 18
},
"networkId": 56973,
"redFlags": [],
"rpc": [
"https://56973.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser0587",
"slug": "qauser0587",
"testnet": true
} as const satisfies Chain;
+3 -1
View File
@@ -15,7 +15,9 @@ export default {
}
}
],
"faucets": [],
"faucets": [
"https://aura.faucetme.pro"
],
"icon": {
"url": "ipfs://QmbpQPpjKy1bkDmuzCSSE9iFTUK37AiWYgJbgN3Fr7MWYq",
"width": 512,
+9 -2
View File
@@ -2,7 +2,13 @@ import type { Chain } from "../src/types";
export default {
"chain": "Xai Mainnet",
"chainId": 660279,
"explorers": [],
"explorers": [
{
"name": "Blockscout",
"url": "https://explorer.xai-chain.net",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [],
"icon": {
@@ -22,7 +28,8 @@ export default {
"redFlags": [],
"rpc": [
"https://660279.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://xai-chain.net/rpc/xai79df8614da076af58f199126a07db"
"https://xai-chain.net/rpc/xai79df8614da076af58f199126a07db",
"https://xai-chain.net/rpc"
],
"shortName": "xai",
"slug": "xai",
+50
View File
@@ -0,0 +1,50 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 690,
"explorers": [
{
"name": "blockscout",
"url": "https://explorer.redstone.xyz",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://bafkreieyaqgkgntvxuo5tnhgseladga5q6gutc37dab7kqqfdguhq7vkxq",
"width": 5836,
"height": 5836,
"format": "png"
},
"infoURL": "https://redstone.xyz",
"name": "Redstone",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 690,
"parent": {
"type": "L2",
"chain": "eip155-1",
"bridges": [
{
"url": "https://redstone.xyz/deposit"
}
]
},
"rpc": [
"https://690.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.redstonechain.com",
"wss://rpc.redstonechain.com"
],
"shortName": "redstone",
"slug": "redstone",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 72647,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser3938",
"nativeCurrency": {
"name": "QaUser3938 Token",
"symbol": "HTO",
"decimals": 18
},
"networkId": 72647,
"redFlags": [],
"rpc": [
"https://72647.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser3938",
"slug": "qauser3938",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 73592,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser5450",
"nativeCurrency": {
"name": "QaUser5450 Token",
"symbol": "PXB",
"decimals": 18
},
"networkId": 73592,
"redFlags": [],
"rpc": [
"https://73592.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser5450",
"slug": "qauser5450",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 74006,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QaUser0219",
"nativeCurrency": {
"name": "QaUser0219 Token",
"symbol": "QVH",
"decimals": 18
},
"networkId": 74006,
"redFlags": [],
"rpc": [
"https://74006.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser0219",
"slug": "qauser0219",
"testnet": true
} as const satisfies Chain;
+36
View File
@@ -0,0 +1,36 @@
import type { Chain } from "../src/types";
export default {
"chain": "prm",
"chainId": 839320,
"explorers": [
{
"name": "Primal Network Testnet",
"url": "https://testnet-explorer.prmscan.org",
"standard": "EIP3091"
}
],
"faucets": [
"https://faucet.prmscan.org"
],
"icon": {
"url": "ipfs://QmckkDRkuCQWbvhpKGsqa8ajuQvf3W5dekzw5qpiPC6shk",
"width": 1220,
"height": 1220,
"format": "png"
},
"infoURL": "https://primalnetwork.org",
"name": "PRM Testnet",
"nativeCurrency": {
"name": "Primal Network",
"symbol": "PRM",
"decimals": 18
},
"networkId": 839320,
"rpc": [
"https://839320.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-rpc.prmscan.org"
],
"shortName": "prmtest",
"slug": "prm-testnet",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 91399,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0506s1",
"nativeCurrency": {
"name": "QI0506s1 Token",
"symbol": "NGH",
"decimals": 18
},
"networkId": 91399,
"redFlags": [],
"rpc": [
"https://91399.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0506s1",
"slug": "qi0506s1",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 91924,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0506I1",
"nativeCurrency": {
"name": "QI0506I1 Token",
"symbol": "KQA",
"decimals": 18
},
"networkId": 91924,
"redFlags": [],
"rpc": [
"https://91924.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0506I1",
"slug": "qi0506i1",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 919517,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QR0508T1TP",
"nativeCurrency": {
"name": "QR0508T1TP Token",
"symbol": "AHO",
"decimals": 18
},
"networkId": 919517,
"redFlags": [],
"rpc": [
"https://919517.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0508t1tp/testnet/rpc"
],
"shortName": "QR0508T1TP",
"slug": "qr0508t1tp",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 92185,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QI0506I2",
"nativeCurrency": {
"name": "QI0506I2 Token",
"symbol": "EXW",
"decimals": 18
},
"networkId": 92185,
"redFlags": [],
"rpc": [
"https://92185.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0506I2",
"slug": "qi0506i2",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 92314,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QIM 2405081",
"nativeCurrency": {
"name": "QIM 2405081 Token",
"symbol": "WCC",
"decimals": 18
},
"networkId": 92314,
"redFlags": [],
"rpc": [
"https://92314.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avacloud-dev.io/f069738d-9c43-497b-96c1-9dda60d647e2"
],
"shortName": "QIM 2405081",
"slug": "qim-2405081",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 934567,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QR0506T1TS",
"nativeCurrency": {
"name": "QR0506T1TS Token",
"symbol": "VPE",
"decimals": 18
},
"networkId": 934567,
"redFlags": [],
"rpc": [
"https://934567.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0506t1ts/testnet/rpc"
],
"shortName": "QR0506T1TS",
"slug": "qr0506t1ts",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 959009,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QR0508T1MP",
"nativeCurrency": {
"name": "QR0508T1MP Token",
"symbol": "AHO",
"decimals": 18
},
"networkId": 959009,
"redFlags": [],
"rpc": [
"https://959009.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0508t1mp/mainnet/rpc"
],
"shortName": "QR0508T1MP",
"slug": "qr0508t1mp",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 976517,
"explorers": [],
"faucets": [],
"features": [],
"icon": {
"url": "https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg",
"width": 256,
"height": 256,
"format": "svg"
},
"infoURL": "https://avacloud.io",
"name": "QR0507Y1TS",
"nativeCurrency": {
"name": "QR0507Y1TS Token",
"symbol": "SQR",
"decimals": 18
},
"networkId": 976517,
"redFlags": [],
"rpc": [
"https://976517.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0507y1ts/testnet/rpc"
],
"shortName": "QR0507Y1TS",
"slug": "qr0507y1ts",
"testnet": true
} as const satisfies Chain;
+13 -2
View File
@@ -3,13 +3,20 @@ export default {
"chain": "ETH",
"chainId": 9789,
"explorers": [
{
"name": "Tabi Testnet Explorer",
"url": "https://testnet.tabiscan.com",
"standard": "none"
},
{
"name": "Tabi Testnet Explorer",
"url": "https://testnet.tabiscan.com/",
"standard": "EIP3091"
}
],
"faucets": [],
"faucets": [
"https://faucet.testnet.tabichain.com"
],
"features": [],
"icon": {
"url": "ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png",
@@ -17,6 +24,7 @@ export default {
"height": 512,
"format": "png"
},
"infoURL": "https://www.tabichain.com",
"name": "Tabichain",
"nativeCurrency": {
"name": "TABI",
@@ -25,7 +33,10 @@ export default {
},
"networkId": 9789,
"redFlags": [],
"rpc": [],
"rpc": [
"https://9789.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.testnet.tabichain.com"
],
"shortName": "tabichain",
"slug": "tabichain",
"testnet": true
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/chains",
"version": "0.1.105",
"version": "0.1.106",
"main": "dist/thirdweb-dev-chains.cjs.js",
"module": "dist/thirdweb-dev-chains.esm.js",
"exports": {
File diff suppressed because one or more lines are too long
+12
View File
@@ -1,5 +1,17 @@
# thirdweb
## 0.13.83
### Patch Changes
- [#2966](https://github.com/thirdweb-dev/js/pull/2966) [`4de8802`](https://github.com/thirdweb-dev/js/commit/4de88024357cf8197ec78fb4fabaf5bddd47c605) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Fixes issue with contract compilation in hardhat
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
- @thirdweb-dev/wallets@2.5.17
- @thirdweb-dev/auth@4.1.75
## 0.13.82
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@thirdweb-dev/cli",
"main": "dist/cli/index.js",
"version": "0.13.82",
"version": "0.13.83",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/cli",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
+8 -2
View File
@@ -4,15 +4,21 @@ export async function execute(
command: string,
projectPath: string,
options = { log: false, cwd: projectPath },
timeout = 300_000, // 5 minute timeout by default
): Promise<{ stdout: string; stderr: string }> {
return new Promise((resolve, reject) => {
exec(command, { ...options }, (err, stdout, stderr) => {
const process = exec(command, { ...options }, (err, stdout, stderr) => {
if (err) {
reject(err);
return;
}
clearTimeout(timeoutId);
resolve({ stdout, stderr });
});
const timeoutId = setTimeout(() => {
process.kill();
reject(new Error('Command timeout'));
}, timeout);
});
}
@@ -4,4 +4,6 @@
console.log(`__tw__${JSON.stringify((globalThis as any).config)}__tw__`);
process.exit(0);
export {};
+10
View File
@@ -1,5 +1,15 @@
# @thirdweb-dev/react-core
## 4.6.16
### Patch Changes
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
- @thirdweb-dev/wallets@2.5.17
- @thirdweb-dev/auth@4.1.75
## 4.6.15
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-core",
"version": "4.6.15",
"version": "4.6.16",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react-core",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -1,5 +1,7 @@
# @thirdweb-dev/react-native-compat
## 0.8.0
## 0.7.47
## 0.7.46
@@ -1,7 +1,7 @@
{
"name": "@thirdweb-dev/react-native-compat",
"description": "Shims for Thirdweb in React Native Projects",
"version": "0.7.47",
"version": "0.8.0",
"author": "thirdweb eng <[email protected]>",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react-native-compat",
"license": "Apache-2.0",
+16
View File
@@ -1,5 +1,21 @@
# @thirdweb-dev/react-native
## 0.8.0
### Minor Changes
- [#2956](https://github.com/thirdweb-dev/js/pull/2956) [`5a39c04`](https://github.com/thirdweb-dev/js/commit/5a39c049c77e7ce3f1159e8201f5fc0612f17389) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Pin v4 dependencies, move react-native-svg to peer dependency
### Patch Changes
- [#2968](https://github.com/thirdweb-dev/js/pull/2968) [`3887b76`](https://github.com/thirdweb-dev/js/commit/3887b76689aa960be9be356bc1300b6d2798e24d) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Pin all dependencies for RN v4
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
- @thirdweb-dev/react-core@4.6.16
- @thirdweb-dev/wallets@2.5.17
## 0.7.47
### Patch Changes
+16 -14
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-native",
"version": "0.7.47",
"version": "0.8.0",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react-native",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
@@ -31,11 +31,11 @@
"@paperxyz/embedded-wallet-service-sdk": "^1.2.5",
"@shopify/restyle": "^2.4.2",
"@tanstack/react-query": "^4.36.1",
"@thirdweb-dev/chains": "workspace:*",
"@thirdweb-dev/react-core": "workspace:*",
"@thirdweb-dev/sdk": "workspace:*",
"@thirdweb-dev/storage": "workspace:*",
"@thirdweb-dev/wallets": "workspace:*",
"@thirdweb-dev/chains": "0.1.106",
"@thirdweb-dev/react-core": "4.6.16",
"@thirdweb-dev/sdk": "4.0.77",
"@thirdweb-dev/storage": "2.0.14",
"@thirdweb-dev/wallets": "2.5.17",
"abitype": "1.0.0",
"aws-amplify": "^5.3.18",
"expo-application": "5.8.3",
@@ -44,19 +44,17 @@
"expo-file-system": "^16.0.8",
"expo-secure-store": "^12.8.1",
"react-native-modal": "^13.0.1",
"react-native-qrcode-svg": "6.3.0",
"react-native-svg": "15.1.0",
"secrets.js-34r7h": "^2.0.2",
"tiny-invariant": "^1.3.3"
},
"devDependencies": {
"@react-native-async-storage/async-storage": "^1.23.1",
"@react-native-community/eslint-config": "^3.2.0",
"@thirdweb-dev/tsconfig": "workspace:*",
"@thirdweb-dev/tsconfig": "^0.1.7",
"@types/react": "18.2.17",
"@types/react-native": "^0.71.13",
"eslint": "8.57.0",
"eslint-config-thirdweb": "workspace:*",
"eslint-config-thirdweb": "^0.1.9",
"eslint-plugin-i18next": "^6.0.3",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-inclusive-language": "^2.2.1",
@@ -67,8 +65,10 @@
"react-native": "^0.71.17",
"react-native-camera": "^4.2.1",
"rimraf": "5.0.5",
"typedoc-gen": "workspace:*",
"typescript": "5.4.4"
"typedoc-gen": "^1.0.2",
"typescript": "5.4.4",
"react-native-svg": "^15.1.0",
"react-native-qrcode-svg": "^6.3.0"
},
"optionalDependencies": {
"amazon-cognito-identity-js": "^6.3.12",
@@ -83,9 +83,11 @@
"expo": ">=47",
"react": ">=18.0.0",
"react-native": ">=0.71.0",
"react-native-mmkv": ">=2.11.0"
"react-native-mmkv": ">=2.11.0",
"react-native-svg": ">=15.1.0",
"react-native-qrcode-svg": ">=6.3.0"
},
"engines": {
"node": ">=18"
}
}
}
+10
View File
@@ -1,5 +1,15 @@
# @thirdweb-dev/react
## 4.6.16
### Patch Changes
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
- @thirdweb-dev/react-core@4.6.16
- @thirdweb-dev/wallets@2.5.17
## 4.6.15
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react",
"version": "4.6.15",
"version": "4.6.16",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
Binary file not shown.
+10
View File
@@ -1,5 +1,15 @@
# @thirdweb-dev/sdk
## 4.0.77
### Patch Changes
- [#2960](https://github.com/thirdweb-dev/js/pull/2960) [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8) Thanks [@kumaryash90](https://github.com/kumaryash90)! - Update zksync addresses
- Updated dependencies [[`24c1670`](https://github.com/thirdweb-dev/js/commit/24c1670e7044ba55e8d0f0f6e9be6a19cca92b28), [`3377fc9`](https://github.com/thirdweb-dev/js/commit/3377fc98825a29abe58b87907165afe6a7dca946), [`fd1bd7e`](https://github.com/thirdweb-dev/js/commit/fd1bd7e7ef11285e103898df1d71f079da8ee06f), [`d4808fd`](https://github.com/thirdweb-dev/js/commit/d4808fd7e83e0ca9f0b0f78e4248a854ecfec710), [`b1ca05e`](https://github.com/thirdweb-dev/js/commit/b1ca05ec12dfa40784667b95944d64982d17b753), [`4de8802`](https://github.com/thirdweb-dev/js/commit/4de88024357cf8197ec78fb4fabaf5bddd47c605), [`5b6b241`](https://github.com/thirdweb-dev/js/commit/5b6b24133430db7953d14bbda21393c0f3fbfa74), [`ae10776`](https://github.com/thirdweb-dev/js/commit/ae1077656fe2cf7eb9848b7391c8edcdba0fe77a), [`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`d660b6c`](https://github.com/thirdweb-dev/js/commit/d660b6ce3249bdcd1ff57719ecee7db5c7d47718), [`02a0ca9`](https://github.com/thirdweb-dev/js/commit/02a0ca9727e1fabfaf1593dd8a3728ca9a32842d)]:
- thirdweb@5.17.0
- @thirdweb-dev/chains@0.1.106
## 4.0.76
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/sdk",
"version": "4.0.76",
"version": "4.0.77",
"description": "The main thirdweb SDK.",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/sdk",
"license": "Apache-2.0",
@@ -92,7 +92,7 @@ export const IMPLEMENTATIONS: Record<number, Record<string, string>> = {
DropERC20: "0xA77041a7A34A67D7285c8d3550110e441009436e",
SignatureDrop: "",
Marketplace: "",
MarketplaceV3: "0x12A305cc7168fa3b7B172fE53c57b9a22716F667",
MarketplaceV3: "0x58e0F289C7dD2025eBd0696d913ECC0fdc1CC8bc",
TokenERC721: "0x9742f5ac11958cFAd151eBF0Fc31302fA409036E",
TokenERC1155: "0x4027561E163a420c4e5Db46E07EBd581CAa8Bb62",
TokenERC20: "0xf3C7d3F0AA374a2D32489929e24D3e9313Aec8bb",
@@ -108,7 +108,7 @@ export const IMPLEMENTATIONS: Record<number, Record<string, string>> = {
DropERC20: "0xf3C7d3F0AA374a2D32489929e24D3e9313Aec8bb",
SignatureDrop: "",
Marketplace: "",
MarketplaceV3: "0x13f25360dd3f9096c3e2cBe60b95c45b11ADB7E4",
MarketplaceV3: "0xBc02441a36Bb4029Cd191b20243c2e41B862F118",
MarketplaceV3_aux: "0x5a2524Ca4E4f86a34382C5be871F34f50F014d84",
TokenERC721: "0x26279882D5E93045D4FA986847CAAC048b2Bac3b",
TokenERC1155: "0xA8E28D98203848401A4f924358e6c337153D0f04",
Binary file not shown.
@@ -1,5 +1,15 @@
# @thirdweb-dev/unity-js-bridge
## 0.6.26
### Patch Changes
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
- @thirdweb-dev/wallets@2.5.17
- @thirdweb-dev/auth@4.1.75
## 0.6.25
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/unity-js-bridge",
"version": "0.6.25",
"version": "0.6.26",
"main": "dist/thirdweb-unity-bridge.js",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
"license": "Apache-2.0",
+8
View File
@@ -1,5 +1,13 @@
# @thirdweb-dev/wallets
## 2.5.17
### Patch Changes
- Updated dependencies [[`2bfaafc`](https://github.com/thirdweb-dev/js/commit/2bfaafcc10fcdff000025011a81e885b1a9fdef8), [`0e45f24`](https://github.com/thirdweb-dev/js/commit/0e45f24fd69e556e4364e38fd18e3eabb0498be8)]:
- @thirdweb-dev/chains@0.1.106
- @thirdweb-dev/sdk@4.0.77
## 2.5.16
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/wallets",
"version": "2.5.16",
"version": "2.5.17",
"main": "dist/thirdweb-dev-wallets.cjs.js",
"module": "dist/thirdweb-dev-wallets.esm.js",
"browser": {
+50
View File
@@ -1,5 +1,55 @@
# thirdweb
## 5.17.0
### Minor Changes
- [#2931](https://github.com/thirdweb-dev/js/pull/2931) [`24c1670`](https://github.com/thirdweb-dev/js/commit/24c1670e7044ba55e8d0f0f6e9be6a19cca92b28) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - New `smartAccount` prop for `inAppWallet()`
You can now convert an inAppWallet to a smart account simply by passing the `smartAccount` prop.
```ts
const wallet = inAppWallet({
smartAccount: {
chain: sepolia,
sponsorGas: true,
},
});
await wallet.connect({
client,
strategy: "google",
});
```
Note: beware that when toggling this flag on and off, you will get a different address (admin EOA vs smart account).
### Patch Changes
- [#2959](https://github.com/thirdweb-dev/js/pull/2959) [`3377fc9`](https://github.com/thirdweb-dev/js/commit/3377fc98825a29abe58b87907165afe6a7dca946) Thanks [@MananTank](https://github.com/MananTank)! - Fix custom details button not opening the details modal in `ConnectButton`
- [#2955](https://github.com/thirdweb-dev/js/pull/2955) [`fd1bd7e`](https://github.com/thirdweb-dev/js/commit/fd1bd7e7ef11285e103898df1d71f079da8ee06f) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add resolve method for Arweave URIs
- [#2950](https://github.com/thirdweb-dev/js/pull/2950) [`d4808fd`](https://github.com/thirdweb-dev/js/commit/d4808fd7e83e0ca9f0b0f78e4248a854ecfec710) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Export getUserPhoneNumber and getAuthenticatedUser in-app wallet functions
- [#2972](https://github.com/thirdweb-dev/js/pull/2972) [`b1ca05e`](https://github.com/thirdweb-dev/js/commit/b1ca05ec12dfa40784667b95944d64982d17b753) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Fix issue with nonce set to 0 on toSerializableTransaction
- [#2966](https://github.com/thirdweb-dev/js/pull/2966) [`4de8802`](https://github.com/thirdweb-dev/js/commit/4de88024357cf8197ec78fb4fabaf5bddd47c605) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Fixes issue with contract compilation in hardhat
- [#2962](https://github.com/thirdweb-dev/js/pull/2962) [`5b6b241`](https://github.com/thirdweb-dev/js/commit/5b6b24133430db7953d14bbda21393c0f3fbfa74) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Makes multiple bugfixes on the deployPublishedContract code path
- Contracts with no constructor can now deploy as abi inputs defaults to `[]` when encoding the parameters
- Properly finds contract versions when specified
- Defaults to standard deployment if no deployType is specified
- [#2965](https://github.com/thirdweb-dev/js/pull/2965) [`ae10776`](https://github.com/thirdweb-dev/js/commit/ae1077656fe2cf7eb9848b7391c8edcdba0fe77a) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add Arweave URI support to <MediaRenderer />
- [#2969](https://github.com/thirdweb-dev/js/pull/2969) [`d660b6c`](https://github.com/thirdweb-dev/js/commit/d660b6ce3249bdcd1ff57719ecee7db5c7d47718) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Fixes deterministic deploys of contracts with no constructor
- [#2958](https://github.com/thirdweb-dev/js/pull/2958) [`02a0ca9`](https://github.com/thirdweb-dev/js/commit/02a0ca9727e1fabfaf1593dd8a3728ca9a32842d) Thanks [@gregfromstl](https://github.com/gregfromstl)! - Fixes inconsistent block numbers when fetching events.
`getContractEvents` will now properly handle `blockRange` interaction with `fromBlock` and `toBlock` given they are both inclusive (i.e. it will only return logs for the number of blocks specified in `blockRange`).
## 5.16.1
### Patch Changes
+10 -2
View File
@@ -1,6 +1,6 @@
{
"name": "thirdweb",
"version": "5.16.1",
"version": "5.17.0",
"repository": {
"type": "git",
"url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -168,6 +168,7 @@
"src/*",
"!**/*.tsbuildinfo",
"!**/*.test.ts",
"!**/*.test.tsx",
"!**/*.test.ts.snap",
"!**/*.test-d.ts",
"!**/*.bench.ts",
@@ -229,6 +230,7 @@
"test": "vitest run -c ./test/vitest.config.ts --coverage",
"test:cov": "vitest dev -c ./test/vitest.config.ts --coverage",
"test:dev": "vitest run -c ./test/vitest.config.ts",
"test:react": "vitest run -c ./test/vitest.config.ts dev --ui src/react",
"typedoc": "node scripts/typedoc.mjs",
"update-version": "node scripts/version.mjs"
},
@@ -236,7 +238,13 @@
"node": ">=18"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.4.5",
"@testing-library/react": "^15.0.6",
"@types/cross-spawn": "^6.0.6",
"cross-spawn": "7.0.3"
"@vitejs/plugin-react": "^4.2.1",
"@vitest/ui": "1.5.0",
"cross-spawn": "7.0.3",
"happy-dom": "^14.10.1",
"vitest": "1.5.0"
}
}
@@ -437,13 +437,14 @@ export function decode${uppercaseFirstLetter(f.name)}Result(result: Hex) {
* \`\`\`ts
* import { ${f.name} } from "thirdweb/extensions/${extensionName}";
*
* const result = await ${f.name}(${
* const result = await ${f.name}({
* contract, ${
f.inputs.length > 0
? `{\n * ${f.inputs
? `\n * ${f.inputs
.map((x) => ` ${removeLeadingUnderscore(x.name)}: ...,`)
.join("\n * ")}\n * }`
: ""
});
.join("\n * ")}\n`
: "\n"
} * });
*
* \`\`\`
*/
+6 -1
View File
@@ -3,5 +3,10 @@ import { typedoc } from "typedoc-gen";
typedoc({
entryPoints: ["src/exports/**/*.ts"],
exclude: ["test/**/*", "src/**/*.test.ts", "src/**/*.bench.ts"],
exclude: [
"test/**/*",
"src/**/*.test.ts",
"src/**/*.test.tsx",
"src/**/*.bench.ts",
],
});
@@ -1,5 +1,6 @@
import { describe, expect, it } from "vitest";
import {
ANVIL_CHAIN,
FORKED_ETHEREUM_CHAIN,
FORKED_OPTIMISM_CHAIN,
} from "../../../test/src/chains.js";
@@ -14,13 +15,13 @@ import { prepareDeterministicDeployTransaction } from "./deploy-deterministic.js
describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
it("should deploy contracts at the same address", async () => {
const tx1 = prepareDeterministicDeployTransaction({
chain: FORKED_ETHEREUM_CHAIN,
chain: ANVIL_CHAIN,
client: TEST_CLIENT,
contractId: "AccountFactory",
constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
});
const tx2 = prepareDeterministicDeployTransaction({
chain: FORKED_OPTIMISM_CHAIN,
chain: ANVIL_CHAIN,
client: TEST_CLIENT,
contractId: "AccountFactory",
constructorParams: [TEST_ACCOUNT_A.address, ENTRYPOINT_ADDRESS_v0_6],
@@ -52,4 +53,17 @@ describe.runIf(process.env.TW_SECRET_KEY)("deployFromMetadata", () => {
]);
expect(tx1Result !== tx2Result).toBe(true);
});
// TODO: Replace these tests' live contracts with mocks
it("should deploy a published contract with no constructor", async () => {
const tx = prepareDeterministicDeployTransaction({
client: TEST_CLIENT,
chain: ANVIL_CHAIN,
contractId: "Counter",
publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
constructorParams: [],
});
const txResult = await simulateTransaction({ transaction: tx });
expect(txResult).toBeDefined();
});
});
@@ -63,7 +63,7 @@ export function prepareDirectDeployTransaction<
data: concatHex([
bytecode,
encodeAbiParameters(
options.constructorAbi.inputs,
options.constructorAbi.inputs ?? [], // Leave an empty array if there's no constructor
options.constructorParams,
),
]),
@@ -0,0 +1,42 @@
import { describe, expect, it, vi } from "vitest";
import { TEST_CLIENT } from "../../../test/src/test-clients.js";
import { fetchPublishedContractMetadata } from "./publisher.js";
vi.mock("../../contract");
vi.mock("../../../transaction/read-contract");
vi.mock("../../../storage/download");
// TODO: Add mocks to these tests instead of using live data
describe("fetchPublishedContract", () => {
it("fetches the latest published contract when no version is specified", async () => {
const result = await fetchPublishedContractMetadata({
publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
contractId: "Counter",
client: TEST_CLIENT,
});
expect(result.extendedMetadata?.version).toEqual("1.0.2");
});
it("fetches a specific version when specified", async () => {
const result = await fetchPublishedContractMetadata({
publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
contractId: "Counter",
client: TEST_CLIENT,
version: "1.0.1",
});
expect(result.extendedMetadata?.version).toEqual("1.0.1");
});
it("throws an error when an invalid version is specified", async () => {
const result = fetchPublishedContractMetadata({
publisher: "0x4a706de5CE9bfe2f9C37BA945805e396d1810824",
contractId: "Counter",
client: TEST_CLIENT,
version: "1.2.3",
});
await expect(result).rejects.toThrow("Contract version not found");
});
});
@@ -253,7 +253,10 @@ export async function fetchPublishedContract(
// find the version that matches the version string
const versionMatch = versionsMetadata.find(
(metadata) =>
metadata.publishedMetadata.extendedMetadata?.version === options.version,
// Will probably only need metadata.publishedMetadata.version unless its an outdated contract
metadata.publishedMetadata.extendedMetadata?.version ===
options.version ||
metadata.publishedMetadata.version === options.version,
);
if (!versionMatch) {
throw Error("Contract version not found");
@@ -1,4 +1,5 @@
import { describe, expect, it } from "vitest";
import { FORK_BLOCK_NUMBER } from "../../../test/src/chains.js";
import {
DOODLES_CONTRACT,
USDT_CONTRACT,
@@ -7,15 +8,13 @@ import { transferEvent } from "../../extensions/erc721/__generated__/IERC721A/ev
import { prepareEvent } from "../prepare-event.js";
import { getContractEvents } from "./get-events.js";
const LATEST_SIMULATED_BLOCK = 19139495n;
// skip this test suite if there is no secret key available to test with
// TODO: remove reliance on secret key during unit tests entirely
describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
it("should get all events", async () => {
const events = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 10n,
fromBlock: FORK_BLOCK_NUMBER - 10n,
});
expect(events.length).toBe(261);
});
@@ -36,12 +35,12 @@ describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
contract: USDT_CONTRACT,
blockRange: 10n,
});
expect(events.length).toBe(261);
expect(events.length).toBe(241);
const explicitEvents = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 10n,
toBlock: LATEST_SIMULATED_BLOCK,
fromBlock: FORK_BLOCK_NUMBER - 9n, // 1 less than range as fromBlock and toBlock are inclusive
toBlock: FORK_BLOCK_NUMBER,
});
expect(explicitEvents.length).toEqual(events.length);
});
@@ -49,22 +48,22 @@ describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
it("should get events for blockRange using fromBlock and toBlock", async () => {
const eventsFromBlock = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 50n,
fromBlock: FORK_BLOCK_NUMBER - 49n,
blockRange: 20n,
});
expect(eventsFromBlock.length).toBe(426);
expect(eventsFromBlock.length).toBe(412);
const eventsToBlock = await getContractEvents({
contract: USDT_CONTRACT,
toBlock: LATEST_SIMULATED_BLOCK - 30n,
toBlock: FORK_BLOCK_NUMBER - 30n,
blockRange: 20n,
});
expect(eventsToBlock.length).toBe(426);
expect(eventsToBlock.length).toBe(eventsFromBlock.length);
const explicitEvents = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 50n,
toBlock: LATEST_SIMULATED_BLOCK - 30n,
fromBlock: FORK_BLOCK_NUMBER - 49n,
toBlock: FORK_BLOCK_NUMBER - 30n,
});
expect(explicitEvents.length).toEqual(eventsFromBlock.length);
});
@@ -72,7 +71,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
it("should get individual events with signature", async () => {
const events = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 100n,
fromBlock: FORK_BLOCK_NUMBER - 100n,
events: [
prepareEvent({
signature: "event Burn(address indexed burner, uint256 amount)",
@@ -85,7 +84,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
it("should get specified events", async () => {
const events = await getContractEvents({
contract: USDT_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 10n,
fromBlock: FORK_BLOCK_NUMBER - 10n,
events: [
prepareEvent({
signature: "event Burn(address indexed burner, uint256 amount)",
@@ -125,7 +124,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("getEvents", () => {
it("should get individual events with extension", async () => {
const events = await getContractEvents({
contract: DOODLES_CONTRACT,
fromBlock: LATEST_SIMULATED_BLOCK - 1000n,
fromBlock: FORK_BLOCK_NUMBER - 1000n,
events: [transferEvent()],
});
expect(events.length).toBe(38);
@@ -52,6 +52,7 @@ export type GetContractEventsResult<
* Retrieves events from a contract based on the provided options.
* @param options - The options for retrieving events.
* @returns A promise that resolves to an array of parsed event logs.
* Note: toBlock and fromBlock are both inclusive.
* @example
* ```ts
* import { getContractEvents } from "thirdweb";
@@ -115,6 +116,8 @@ export async function getContractEvents<
throw new Error("Cannot specify blockHash and range simultaneously,");
}
const latestBlockNumber = await eth_blockNumber(rpcRequest);
// Compute toBlock and fromBlock if blockRange was passed
if (blockRange) {
const { fromBlock, toBlock } = restParams;
@@ -131,13 +134,13 @@ export async function getContractEvents<
}
if (fromBlock) {
restParams.toBlock = BigInt(fromBlock) + BigInt(blockRange);
restParams.toBlock = BigInt(fromBlock) + BigInt(blockRange) - 1n; // Subtract one because toBlock is inclusive
} else if (toBlock) {
restParams.fromBlock = BigInt(toBlock) - BigInt(blockRange);
restParams.fromBlock = BigInt(toBlock) - BigInt(blockRange) + 1n; // Add one because fromBlock is inclusive
} else {
// If no from or to block specified, use the latest block as the to block
restParams.toBlock = await eth_blockNumber(rpcRequest);
restParams.fromBlock = BigInt(restParams.toBlock) - BigInt(blockRange);
restParams.toBlock = latestBlockNumber;
restParams.fromBlock = latestBlockNumber - BigInt(blockRange) + 1n; // Add one because fromBlock is inclusive
}
}
@@ -72,7 +72,7 @@ export function watchContractEvents<
...options,
// fromBlock is inclusive
fromBlock: blockNumber,
// toBlock is exclusive
// toBlock is inclusive
toBlock: blockNumber,
});
// if there were any logs associated with our event(s)

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