Compare commits

...
Author SHA1 Message Date
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
2c8bdfd493 Version Packages (#2835)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-04-23 11:50:27 -07:00
Jonas DanielsandGitHub 3810df57aa feat: add missing events for erc721, erc1155 and erc20 (#2836) 2024-04-23 18:00:22 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
45677ad620 chore(chains): update chains (#2821)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-23 11:03:22 -07:00
Jonas DanielsandGitHub 0b5bb015f9 chore: Add @gregfromstl as code owner (#2837) 2024-04-23 11:00:10 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
20d73bf0eb build(deps): bump @walletconnect/ethereum-provider from 2.12.1 to 2.12.2 (#2825)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 16:51:45 +00:00
Farhan KhwajaandGitHub 773b70aa1c Update: Added httpMethod to usage-tracker (#2832) 2024-04-23 16:27:41 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e77488217b build(deps): bump @thirdweb-dev/contracts from 3.13.0 to 3.14.0 (#2826)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 16:26:35 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>GitHub Action
b62dc4abb3 Version Packages (#2820)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
2024-04-23 21:58:09 +12:00
Joaquim VergesandGitHub be8541054e fix: erc1155 sigmint with additional supply (#2834) 2024-04-23 21:11:12 +12:00
Manan TankandGitHub 38f3b2eb21 Fix Smart Wallet + In-app wallet connection (#2831) 2024-04-22 21:33:12 +00:00
Joaquim VergesandGitHub 493bf8d2db fix: jsdoc for useConnect (#2830) 2024-04-23 08:21:23 +12:00
a919b27c7a Add extension: multicall3 (#2822)
Signed-off-by: Jonas Daniels <[email protected]>
Co-authored-by: Jonas Daniels <[email protected]>
2024-04-22 17:46:01 +00:00
FirekeeperandGitHub 0ca69a9234 Unity 4.12.2 (#2824) 2024-04-22 17:17:57 +00:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
6d6e0ac694 chore(chains): update chains (#2819)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-20 12:38:18 -07:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
8516fc11f9 Version Packages (#2817)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 14:36:14 -07:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
b4e7c74ce5 chore(chains): update chains (#2812)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-19 11:11:44 -07:00
Jonas DanielsandGitHub d6646475e2 refactor(viem): explicitly type walletClient return type (#2816) 2024-04-19 17:30:13 +00:00
Jonas DanielsandGitHub 4dbcbd13db feat(react): initial auth for <ConnectButton /> (#2793)
Co-authored-by: Manan Tank <[email protected]>
2024-04-19 10:36:11 -07:00
118 changed files with 4795 additions and 243 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
# Platform team owns everything by default
- @jnsdls @joaquim-verges @MananTank
- @jnsdls @joaquim-verges @MananTank @gregfromstl
# legacy packages
+21
View File
@@ -1,5 +1,26 @@
# @thirdweb-dev/auth
## 4.1.66
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.8
## 4.1.65
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.7
## 4.1.64
### Patch Changes
- Updated dependencies []:
- @thirdweb-dev/wallets@2.5.6
## 4.1.63
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/auth",
"version": "4.1.63",
"version": "4.1.66",
"main": "dist/thirdweb-dev-auth.cjs.js",
"module": "dist/thirdweb-dev-auth.esm.js",
"browser": {
+18
View File
@@ -1,5 +1,23 @@
# @thirdweb-dev/chains
## 0.1.99
### Patch Changes
- [#2821](https://github.com/thirdweb-dev/js/pull/2821) [`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.98
### Patch Changes
- [#2819](https://github.com/thirdweb-dev/js/pull/2819) [`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.97
### Patch Changes
- [#2812](https://github.com/thirdweb-dev/js/pull/2812) [`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648) Thanks [@github-actions](https://github.com/apps/github-actions)! - Synced Chains Package
## 0.1.96
### Patch Changes
+3 -2
View File
@@ -17,7 +17,7 @@ export default {
"format": "png"
},
"infoURL": "https://worldland.foundation",
"name": "Worldland Mainnet",
"name": "WorldLand Mainnet",
"nativeCurrency": {
"name": "Worldland",
"symbol": "WLC",
@@ -26,7 +26,8 @@ export default {
"networkId": 103,
"rpc": [
"https://103.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://seoul.worldland.foundation"
"https://seoul.worldland.foundation",
"https://seoul2.worldland.foundation"
],
"shortName": "WLC",
"slug": "worldland",
+1 -1
View File
@@ -17,7 +17,7 @@ export default {
"format": "png"
},
"infoURL": "https://worldland.foundation",
"name": "Worldland Testnet",
"name": "WorldLand Testnet",
"nativeCurrency": {
"name": "Worldland",
"symbol": "WLC",
+31
View File
@@ -0,0 +1,31 @@
import type { Chain } from "../src/types";
export default {
"chain": "IOTA EVM",
"chainId": 1075,
"explorers": [],
"faucets": [
"https://evm-toolkit.evm.testnet.iotaledger.net"
],
"icon": {
"url": "ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di",
"width": 720,
"height": 720,
"format": "png"
},
"infoURL": "https://www.iota.org",
"name": "IOTA EVM Testnet",
"nativeCurrency": {
"name": "IOTA",
"symbol": "IOTA",
"decimals": 18
},
"networkId": 1075,
"rpc": [
"https://1075.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://json-rpc.evm.testnet.iotaledger.net"
],
"shortName": "iotaevm-testnet",
"slug": "iota-evm-testnet",
"testnet": true,
"title": "IOTA EVM Testnet"
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"chain": "MOS",
"chainId": 1188,
"explorers": [
{
"name": "mosscan",
"url": "https://www.mosscan.com",
"standard": "none",
"icon": {
"url": "ipfs://QmczQf61mZmg3NmmGnwseDxzH1AqapA252KCTT85GuNG96",
"width": 51,
"height": 50,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmczQf61mZmg3NmmGnwseDxzH1AqapA252KCTT85GuNG96",
"width": 51,
"height": 50,
"format": "png"
},
"infoURL": "https://www.mosscan.com",
"name": "ClubMos Mainnet",
"nativeCurrency": {
"name": "ClubMos",
"symbol": "MOS",
"decimals": 18
},
"networkId": 1188,
"rpc": [
"https://1188.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://mainnet.mosscan.com"
],
"shortName": "MOS",
"slug": "clubmos",
"testnet": false
} as const satisfies Chain;
+40
View File
@@ -0,0 +1,40 @@
import type { Chain } from "../src/types";
export default {
"chain": "SaitaBlockChain(SBC)",
"chainId": 1209,
"explorers": [
{
"name": "Saitascan explorer",
"url": "https://saitascan.io",
"standard": "none",
"icon": {
"url": "ipfs://QmVFWTqfqnMXbiPKpDFucE9QSQ1SVsUWs4HxBqRGjgQCbu",
"width": 974,
"height": 263,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmVFWTqfqnMXbiPKpDFucE9QSQ1SVsUWs4HxBqRGjgQCbu",
"width": 974,
"height": 263,
"format": "png"
},
"infoURL": "https://saitachain.com",
"name": "SaitaBlockChain(SBC)",
"nativeCurrency": {
"name": "SaitaBlockChain(SBC)",
"symbol": "STC",
"decimals": 18
},
"networkId": 1209,
"rpc": [
"https://1209.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-nodes.saitascan.io"
],
"shortName": "SBC",
"slug": "saitablockchain-sbc",
"testnet": false
} as const satisfies Chain;
+22
View File
@@ -0,0 +1,22 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 1221,
"explorers": [],
"faucets": [],
"infoURL": "https://www.cyclenetwork.io/",
"name": "Cycle Network Testnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 1221,
"rpc": [
"https://1221.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.cyclenetwork.io"
],
"shortName": "Cycle",
"slug": "cycle-network-testnet",
"testnet": true
} as const satisfies Chain;
+46
View File
@@ -0,0 +1,46 @@
import type { Chain } from "../src/types";
export default {
"chain": "MagApe",
"chainId": 141319,
"explorers": [
{
"name": "etherscan",
"url": "http://testnet-api.magape.io:81",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmPsxWMvnxnZ9dZcRJJMaE24o34dQsnsAMCJh3kVDrE1aB",
"width": 1000,
"height": 1000,
"format": "png"
}
}
],
"faucets": [],
"features": [
{
"name": "EIP155"
}
],
"icon": {
"url": "ipfs://QmPsxWMvnxnZ9dZcRJJMaE24o34dQsnsAMCJh3kVDrE1aB",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://magape.io",
"name": "MagApe Testnet",
"nativeCurrency": {
"name": "MagApe",
"symbol": "MAG",
"decimals": 18
},
"networkId": 141319,
"rpc": [
"https://141319.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet-api.magape.io/chain/"
],
"shortName": "mag",
"slug": "magape-testnet",
"testnet": true,
"title": "MagApeChain"
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "IGC",
"chainId": 1499,
"explorers": [
{
"name": "IGC-Scan",
"url": "https://igcscan.com",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmeXuzaYXCDwHgQdpuE9L55JfEChzj11P73Ngrn8vDTE9T",
"width": 1024,
"height": 1024,
"format": "png"
},
"infoURL": "https://idosgames.com/",
"name": "iDos Games Chain Testnet",
"nativeCurrency": {
"name": "iDos Games Coin",
"symbol": "IGC",
"decimals": 18
},
"networkId": 1499,
"rpc": [
"https://1499.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-testnet.idos.games"
],
"shortName": "IGC",
"slug": "idos-games-chain-testnet",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 167000,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui",
"width": 288,
"height": 258,
"format": "png"
},
"infoURL": "https://taiko.xyz",
"name": "Taiko Mainnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"networkId": 167000,
"rpc": [
"https://167000.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.taiko.xyz",
"wss://ws.taiko.xyz"
],
"shortName": "tko-mainnet",
"slug": "taiko",
"status": "incubating",
"testnet": false
} as const satisfies Chain;
+1 -1
View File
@@ -29,7 +29,7 @@ export default {
"rpc": [
"https://167008.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.katla.taiko.xyz",
"wss://rpc.katla.taiko.xyz",
"wss://ws.katla.taiko.xyz",
"https://taiko-katla.drpc.org",
"wss://taiko-katla.drpc.org"
],
+22
View File
@@ -0,0 +1,22 @@
import type { Chain } from "../src/types";
export default {
"chain": "UPBEth",
"chainId": 1918,
"explorers": [],
"faucets": [],
"infoURL": "https://mobylab.docs.crescdi.pub.ro/blog/UPB-CRESCDI-Testnet",
"name": "UPB CRESCDI Testnet",
"nativeCurrency": {
"name": "UPBEth",
"symbol": "UPBEth",
"decimals": 18
},
"networkId": 1918,
"rpc": [
"https://1918.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://testnet.crescdi.pub.ro"
],
"shortName": "UPBEth",
"slug": "upb-crescdi-testnet",
"testnet": true
} as const satisfies Chain;
+6
View File
@@ -13,6 +13,12 @@ export default {
"https://www.okx.com/xlayer/faucet"
],
"features": [],
"icon": {
"url": "ipfs://QmSLkiAAr6VtJ6jEqEzz3QdZtVEHzR6Az7E4XD8qXwjuio",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://www.okx.com/xlayer",
"name": "X Layer Testnet",
"nativeCurrency": {
+6
View File
@@ -11,6 +11,12 @@ export default {
],
"faucets": [],
"features": [],
"icon": {
"url": "ipfs://QmSLkiAAr6VtJ6jEqEzz3QdZtVEHzR6Az7E4XD8qXwjuio",
"width": 1000,
"height": 1000,
"format": "png"
},
"infoURL": "https://www.okx.com/xlayer",
"name": "X Layer Mainnet",
"nativeCurrency": {
+19 -19
View File
@@ -4,19 +4,19 @@ export default {
"chainId": 2021,
"explorers": [
{
"name": "Edgscan by Bharathcoorg",
"name": "Edgscan EdgeEVM explorer by Bharathcoorg",
"url": "https://edgscan.live",
"standard": "EIP3091"
},
{
"name": "Subscan",
"url": "https://edgeware.subscan.io",
"name": "Edgscan EdgeWASM explorer by Bharathcoorg",
"url": "https://edgscan.ink",
"standard": "none",
"icon": {
"url": "ipfs://Qma2GfW5nQHuA7nGqdEfwaXPL63G9oTwRTQKaGTfjNtM2W",
"width": 400,
"height": 400,
"format": "png"
"url": "ipfs://QmVV7ibcq8pS44Nt77jWSLNY2RkfQooHBCZMBPSMdAfZ3d",
"width": 88,
"height": 88,
"format": "svg"
}
}
],
@@ -30,10 +30,10 @@ export default {
}
],
"icon": {
"url": "ipfs://QmS3ERgAKYTmV7bSWcUPSvrrCC9wHQYxtZqEQYx9Rw4RGA",
"width": 352,
"height": 304,
"format": "png"
"url": "ipfs://QmWCSXYLigYE6qEiese4cso2icgKQyosV3x1adtxJnRyJ9",
"width": 88,
"height": 76,
"format": "svg"
},
"infoURL": "https://edgeware.io",
"name": "Edgeware EdgeEVM Mainnet",
@@ -46,15 +46,15 @@ export default {
"rpc": [
"https://2021.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://edgeware-evm.jelliedowl.net",
"https://mainnet2.edgewa.re/evm",
"https://mainnet3.edgewa.re/evm",
"https://mainnet4.edgewa.re/evm",
"https://mainnet5.edgewa.re/evm",
"https://edgeware-evm0.jelliedowl.net",
"https://edgeware-evm1.jelliedowl.net",
"https://edgeware-evm2.jelliedowl.net",
"https://edgeware-evm3.jelliedowl.net",
"wss://edgeware.jelliedowl.net",
"wss://mainnet2.edgewa.re",
"wss://mainnet3.edgewa.re",
"wss://mainnet4.edgewa.re",
"wss://mainnet5.edgewa.re"
"wss://edgeware-rpc0.jelliedowl.net",
"wss://edgeware-rpc1.jelliedowl.net",
"wss://edgeware-rpc2.jelliedowl.net",
"wss://edgeware-rpc3.jelliedowl.net"
],
"shortName": "edg",
"slip44": 523,
+13 -1
View File
@@ -2,7 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "VANAR",
"chainId": 2040,
"explorers": [],
"explorers": [
{
"name": "Vanar Explorer",
"url": "https://explorer.vanarchain.com",
"standard": "EIP3091",
"icon": {
"url": "ipfs://Qmbx25iq4Vn4zLooPit9bbguXJzdiogwtVQWtSseyQPuSC",
"width": 1000,
"height": 1628,
"format": "png"
}
}
],
"faucets": [],
"features": [
{
+22
View File
@@ -0,0 +1,22 @@
import type { Chain } from "../src/types";
export default {
"chain": "GitAGI",
"chainId": 210049,
"explorers": [],
"faucets": [],
"infoURL": "https://gitagi.org/",
"name": "GitAGI Atlas Testnet",
"nativeCurrency": {
"name": "GitAGI",
"symbol": "tGAGI",
"decimals": 18
},
"networkId": 210049,
"rpc": [
"https://210049.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.gitagi.org"
],
"shortName": "atlas",
"slug": "gitagi-atlas-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": 25968,
"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": "QaUser5275",
"nativeCurrency": {
"name": "QaUser5275 Token",
"symbol": "EZL",
"decimals": 18
},
"networkId": 25968,
"redFlags": [],
"rpc": [
"https://25968.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser5275",
"slug": "qauser5275",
"testnet": true
} as const satisfies Chain;
+2 -2
View File
@@ -16,8 +16,8 @@ export default {
},
{
"name": "ankrscan-neura",
"url": "https://testnet.neuraprotocol.io/explorer",
"standard": "none",
"url": "https://testnet.explorer.neuraprotocol.io",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmWdpK5WFKrosaCSpJRCvU7uXeKk2qVeCckTxh6Zw2JrK8",
"width": 600,
+47
View File
@@ -0,0 +1,47 @@
import type { Chain } from "../src/types";
export default {
"chain": "MiYou Chain",
"chainId": 30088,
"ens": {
"registry": "0xFEfa9B3061435977424DD947E756566cFB60473E"
},
"explorers": [
{
"name": "MiYou block explorer",
"url": "https://myscan.miyou.io",
"standard": "EIP3091"
}
],
"faucets": [],
"features": [
{
"name": "EIP155"
},
{
"name": "EIP1559"
}
],
"icon": {
"url": "ipfs://QmfP1QDK42B7EzYWsYN2PGfjkZUQtSjm1k5gNNT52ixsKL",
"width": 216,
"height": 216,
"format": "png"
},
"infoURL": "https://www.miyou.io",
"name": "MiYou Mainnet",
"nativeCurrency": {
"name": "Miyou",
"symbol": "MY",
"decimals": 18
},
"networkId": 30088,
"rpc": [
"https://30088.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://blockchain.miyou.io",
"https://blockchain.miyoulab.com"
],
"shortName": "MiYou",
"slip44": 60,
"slug": "miyou",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 313311,
"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": "LT11",
"nativeCurrency": {
"name": "LT11 Token",
"symbol": "LT",
"decimals": 18
},
"networkId": 313311,
"redFlags": [],
"rpc": [
"https://313311.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/lt11/testnet/rpc"
],
"shortName": "LT11",
"slug": "lt11",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 32366,
"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": "QaUser4578 Testnet",
"nativeCurrency": {
"name": "QaUser4578 Testnet Token",
"symbol": "EXP",
"decimals": 18
},
"networkId": 32366,
"redFlags": [],
"rpc": [
"https://32366.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser4578 Testnet",
"slug": "qauser4578-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": 33795,
"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": "QaUser9260",
"nativeCurrency": {
"name": "QaUser9260 Token",
"symbol": "SBM",
"decimals": 18
},
"networkId": 33795,
"redFlags": [],
"rpc": [
"https://33795.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser9260",
"slug": "qauser9260",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 33841,
"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": "QI0422s2 Testnet",
"nativeCurrency": {
"name": "QI0422s2 Testnet Token",
"symbol": "HOS",
"decimals": 18
},
"networkId": 33841,
"redFlags": [],
"rpc": [
"https://33841.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0422s2 Testnet",
"slug": "qi0422s2-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": 40100,
"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": "QaUser4426",
"nativeCurrency": {
"name": "QaUser4426 Token",
"symbol": "PMC",
"decimals": 18
},
"networkId": 40100,
"redFlags": [],
"rpc": [
"https://40100.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser4426",
"slug": "qauser4426",
"testnet": true
} as const satisfies Chain;
+3 -2
View File
@@ -4,7 +4,7 @@ export default {
"chainId": 4200,
"explorers": [
{
"name": "blockscout",
"name": "L2scan",
"url": "https://scan.merlinchain.io",
"standard": "EIP3091",
"icon": {
@@ -32,7 +32,8 @@ export default {
"networkId": 4200,
"rpc": [
"https://4200.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.merlinchain.io"
"https://rpc.merlinchain.io",
"https://merlin-mainnet-enterprise.unifra.io"
],
"shortName": "Merlin-Mainnet",
"slug": "merlin",
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 47992,
"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": "QaUser2555",
"nativeCurrency": {
"name": "QaUser2555 Token",
"symbol": "PRY",
"decimals": 18
},
"networkId": 47992,
"redFlags": [],
"rpc": [
"https://47992.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser2555",
"slug": "qauser2555",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 5041,
"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": "OMOCHI",
"nativeCurrency": {
"name": "OMOCHI Token",
"symbol": "OMCH",
"decimals": 18
},
"networkId": 5041,
"redFlags": [],
"rpc": [
"https://5041.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/omochi/mainnet/rpc"
],
"shortName": "OMOCHI",
"slug": "omochi",
"testnet": false
} as const satisfies Chain;
+1 -1
View File
@@ -25,6 +25,6 @@ export default {
"https://subnets.avax.network/omochi/testnet/rpc"
],
"shortName": "OMOCHI",
"slug": "omochi",
"slug": "omochi-omochi",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 55246,
"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": "QaUser6469",
"nativeCurrency": {
"name": "QaUser6469 Token",
"symbol": "ZZX",
"decimals": 18
},
"networkId": 55246,
"redFlags": [],
"rpc": [
"https://55246.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser6469",
"slug": "qauser6469",
"testnet": true
} as const satisfies Chain;
+12 -6
View File
@@ -1,11 +1,17 @@
import type { Chain } from "../src/types";
export default {
"chain": "EVMCC",
"chain": "TANGO",
"chainId": 5678,
"explorers": [],
"explorers": [
{
"name": "BlockScout",
"url": "https://3001-blockscout.a.dancebox.tanssi.network",
"standard": "EIP3091"
}
],
"faucets": [],
"infoURL": "https://tanssi.network",
"name": "Tanssi EVM ContainerChain",
"infoURL": "https://docs.tanssi.network/builders/tanssi-network/networks/dancebox/demo-evm-containerchain",
"name": "Tanssi Demo",
"nativeCurrency": {
"name": "TANGO",
"symbol": "TANGO",
@@ -17,7 +23,7 @@ export default {
"https://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network",
"wss://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network"
],
"shortName": "TanssiCC",
"slug": "tanssi-evm-containerchain",
"shortName": "tango",
"slug": "tanssi-demo",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 58316,
"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": "QaUser1943 Testnet",
"nativeCurrency": {
"name": "QaUser1943 Testnet Token",
"symbol": "JAI",
"decimals": 18
},
"networkId": 58316,
"redFlags": [],
"rpc": [
"https://58316.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser1943 Testnet",
"slug": "qauser1943-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": 64643,
"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": "qasim Testnet",
"nativeCurrency": {
"name": "qasim Testnet Token",
"symbol": "SQJ",
"decimals": 18
},
"networkId": 64643,
"redFlags": [],
"rpc": [
"https://64643.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "qasim Testnet",
"slug": "qasim-testnet",
"testnet": true
} as const satisfies Chain;
+34
View File
@@ -0,0 +1,34 @@
import type { Chain } from "../src/types";
export default {
"chain": "UltronSmartchain",
"chainId": 662,
"explorers": [
{
"name": "ultronsmartchain explorer",
"url": "https://scan.ultronsmartchain.io",
"standard": "EIP3091"
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmTns2FXAqDCq1QJsocUBGjhxsgWYK7pFfD4UrRZ9JBsF1",
"width": 50,
"height": 50,
"format": "png"
},
"infoURL": "https://ultronsmartchain.io",
"name": "UltronSmartchain",
"nativeCurrency": {
"name": "ulc",
"symbol": "ULC",
"decimals": 18
},
"networkId": 662,
"rpc": [
"https://662.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc.ultronsmartchain.io"
],
"shortName": "ultronsmartchain",
"slug": "ultronsmartchain",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 68064,
"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": "QaUser3451 Testnet",
"nativeCurrency": {
"name": "QaUser3451 Testnet Token",
"symbol": "NKL",
"decimals": 18
},
"networkId": 68064,
"redFlags": [],
"rpc": [
"https://68064.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser3451 Testnet",
"slug": "qauser3451-testnet",
"testnet": true
} as const satisfies Chain;
+28
View File
@@ -0,0 +1,28 @@
import type { Chain } from "../src/types";
export default {
"chain": "Planq",
"chainId": 7077,
"explorers": [],
"faucets": [],
"icon": {
"url": "ipfs://QmWEy9xK5BoqxPuVs7T48WM4exJrxzkEFt45iHcxWqUy8D",
"width": 256,
"height": 256,
"format": "png"
},
"infoURL": "https://planq.network",
"name": "Planq Atlas Testnet",
"nativeCurrency": {
"name": "Planq",
"symbol": "tPLQ",
"decimals": 18
},
"networkId": 7077,
"rpc": [
"https://7077.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://evm-rpc-atlas.planq.network"
],
"shortName": "planq-atlas-testnet",
"slug": "planq-atlas-testnet",
"testnet": true
} as const satisfies Chain;
+24 -4
View File
@@ -2,7 +2,19 @@ import type { Chain } from "../src/types";
export default {
"chain": "Cyber",
"chainId": 7560,
"explorers": [],
"explorers": [
{
"name": "Cyber Mainnet Explorer",
"url": "https://cyberscan.co",
"standard": "EIP3091",
"icon": {
"url": "ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM",
"width": 551,
"height": 540,
"format": "png"
}
}
],
"faucets": [],
"icon": {
"url": "ipfs://QmP61yDNPv7fxY9ZzPs4CjQDbZLoKtF8eWWjszVYbwkabd",
@@ -20,11 +32,19 @@ export default {
"networkId": 7560,
"parent": {
"type": "L2",
"chain": "eip155-1"
"chain": "eip155-1",
"bridges": [
{
"url": "https://cyber-bridge.alt.technology/deposit"
}
]
},
"rpc": [],
"rpc": [
"https://7560.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://cyber.alt.technology/",
"wss://cyber-ws.alt.technology/"
],
"shortName": "cyeth",
"slug": "cyber",
"status": "incubating",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 82261,
"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": "QI0423s1 Testnet",
"nativeCurrency": {
"name": "QI0423s1 Testnet Token",
"symbol": "PUU",
"decimals": 18
},
"networkId": 82261,
"redFlags": [],
"rpc": [
"https://82261.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0423s1 Testnet",
"slug": "qi0423s1-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": 84860,
"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": "QI0422I1 Testnet",
"nativeCurrency": {
"name": "QI0422I1 Testnet Token",
"symbol": "LLV",
"decimals": 18
},
"networkId": 84860,
"redFlags": [],
"rpc": [
"https://84860.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QI0422I1 Testnet",
"slug": "qi0422i1-testnet",
"testnet": true
} as const satisfies Chain;
+4 -7
View File
@@ -2,9 +2,6 @@ import type { Chain } from "../src/types";
export default {
"chain": "ETH",
"chainId": 90354,
"ens": {
"registry": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"
},
"explorers": [
{
"name": "Block Explorer",
@@ -26,7 +23,7 @@ export default {
"height": 400,
"format": "jpg"
},
"name": "Camp Network Testnet",
"name": "Camp Network",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
@@ -38,7 +35,7 @@ export default {
"https://90354.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://rpc-camp-network-4xje7wy105.t.conduit.xyz/"
],
"shortName": "campaign-l2-test",
"slug": "camp-network-testnet",
"testnet": true
"shortName": "campaign-l2",
"slug": "camp-network",
"testnet": false
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 933039,
"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": "QR0422T1TS Testnet",
"nativeCurrency": {
"name": "QR0422T1TS Testnet Token",
"symbol": "DIF",
"decimals": 18
},
"networkId": 933039,
"redFlags": [],
"rpc": [
"https://933039.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/qr0422t1ts/testnet/rpc"
],
"shortName": "QR0422T1TS Testnet",
"slug": "qr0422t1ts-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": 93797,
"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": "QaUser8328",
"nativeCurrency": {
"name": "QaUser8328 Token",
"symbol": "CPY",
"decimals": 18
},
"networkId": 93797,
"redFlags": [],
"rpc": [
"https://93797.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser8328",
"slug": "qauser8328",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 9543,
"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": "QaUser4523",
"nativeCurrency": {
"name": "QaUser4523 Token",
"symbol": "NBW",
"decimals": 18
},
"networkId": 9543,
"redFlags": [],
"rpc": [
"https://9543.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser4523",
"slug": "qauser4523",
"testnet": true
} as const satisfies Chain;
+30
View File
@@ -0,0 +1,30 @@
import type { Chain } from "../src/types";
export default {
"chain": "Avalanche",
"chainId": 95549,
"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": "Borne Testnet Testnet",
"nativeCurrency": {
"name": "Borne Testnet Testnet Token",
"symbol": "BORNE",
"decimals": 18
},
"networkId": 95549,
"redFlags": [],
"rpc": [
"https://95549.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/borne/testnet/rpc"
],
"shortName": "Borne Testnet Testnet",
"slug": "borne-testnet-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": 96081,
"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": "QaUser2213 Testnet",
"nativeCurrency": {
"name": "QaUser2213 Testnet Token",
"symbol": "QLV",
"decimals": 18
},
"networkId": 96081,
"redFlags": [],
"rpc": [
"https://96081.rpc.thirdweb.com/${THIRDWEB_API_KEY}",
"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"
],
"shortName": "QaUser2213 Testnet",
"slug": "qauser2213-testnet",
"testnet": true
} as const satisfies Chain;
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/chains",
"version": "0.1.96",
"version": "0.1.99",
"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
+30
View File
@@ -1,5 +1,35 @@
# thirdweb
## 0.13.74
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
- @thirdweb-dev/wallets@2.5.8
- @thirdweb-dev/auth@4.1.66
## 0.13.73
### Patch Changes
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
- @thirdweb-dev/wallets@2.5.7
- @thirdweb-dev/auth@4.1.65
## 0.13.72
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
- @thirdweb-dev/wallets@2.5.6
- @thirdweb-dev/auth@4.1.64
## 0.13.71
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@thirdweb-dev/cli",
"main": "dist/cli/index.js",
"version": "0.13.71",
"version": "0.13.74",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/cli",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
+1 -1
View File
@@ -424,7 +424,7 @@
"license": "Apache-2.0",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/contracts-js",
"dependencies": {
"@thirdweb-dev/contracts": "3.13.0"
"@thirdweb-dev/contracts": "3.14.0"
},
"devDependencies": {
"@ethersproject/abi": "^5.7.0",
+30
View File
@@ -1,5 +1,35 @@
# @thirdweb-dev/react-core
## 4.6.7
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
- @thirdweb-dev/wallets@2.5.8
- @thirdweb-dev/auth@4.1.66
## 4.6.6
### Patch Changes
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
- @thirdweb-dev/wallets@2.5.7
- @thirdweb-dev/auth@4.1.65
## 4.6.5
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
- @thirdweb-dev/wallets@2.5.6
- @thirdweb-dev/auth@4.1.64
## 4.6.4
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-core",
"version": "4.6.4",
"version": "4.6.7",
"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,11 @@
# @thirdweb-dev/react-native-compat
## 0.7.39
## 0.7.38
## 0.7.37
## 0.7.36
## 0.7.35
@@ -1,7 +1,7 @@
{
"name": "@thirdweb-dev/react-native-compat",
"description": "Shims for Thirdweb in React Native Projects",
"version": "0.7.36",
"version": "0.7.39",
"author": "thirdweb eng <[email protected]>",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react-native-compat",
"license": "Apache-2.0",
+30
View File
@@ -1,5 +1,35 @@
# @thirdweb-dev/react-native
## 0.7.39
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
- @thirdweb-dev/react-core@4.6.7
- @thirdweb-dev/wallets@2.5.8
## 0.7.38
### Patch Changes
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
- @thirdweb-dev/react-core@4.6.6
- @thirdweb-dev/wallets@2.5.7
## 0.7.37
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
- @thirdweb-dev/react-core@4.6.5
- @thirdweb-dev/wallets@2.5.6
## 0.7.36
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react-native",
"version": "0.7.36",
"version": "0.7.39",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/react-native",
"author": "thirdweb eng <[email protected]>",
"license": "Apache-2.0",
+30
View File
@@ -1,5 +1,35 @@
# @thirdweb-dev/react
## 4.6.7
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
- @thirdweb-dev/react-core@4.6.7
- @thirdweb-dev/wallets@2.5.8
## 4.6.6
### Patch Changes
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
- @thirdweb-dev/react-core@4.6.6
- @thirdweb-dev/wallets@2.5.7
## 4.6.5
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
- @thirdweb-dev/react-core@4.6.5
- @thirdweb-dev/wallets@2.5.6
## 4.6.4
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/react",
"version": "4.6.4",
"version": "4.6.7",
"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.
+24
View File
@@ -1,5 +1,29 @@
# @thirdweb-dev/sdk
## 4.0.68
### Patch Changes
- Updated dependencies [[`3810df5`](https://github.com/thirdweb-dev/js/commit/3810df57aa9590b0a2fa14071a5c061bd94b1ec6), [`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- thirdweb@5.10.1
- @thirdweb-dev/chains@0.1.99
## 4.0.67
### Patch Changes
- Updated dependencies [[`be85410`](https://github.com/thirdweb-dev/js/commit/be8541054e392a12678ffee534284e7d1b203ad4), [`a919b27`](https://github.com/thirdweb-dev/js/commit/a919b27c7af41dc003ddb643eb0641eaa8aefc07), [`38f3b2e`](https://github.com/thirdweb-dev/js/commit/38f3b2eb21e74e5947f03cc594dee22c96099f8b), [`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- thirdweb@5.10.0
- @thirdweb-dev/chains@0.1.98
## 4.0.66
### Patch Changes
- Updated dependencies [[`4dbcbd1`](https://github.com/thirdweb-dev/js/commit/4dbcbd13dbd388454993aee7e67b43bb9d9249aa), [`d664647`](https://github.com/thirdweb-dev/js/commit/d6646475e2715c666316174e1c035a035a075ab1), [`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- thirdweb@5.9.0
- @thirdweb-dev/chains@0.1.97
## 4.0.65
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/sdk",
"version": "4.0.65",
"version": "4.0.68",
"description": "The main thirdweb SDK.",
"repository": "https://github.com/thirdweb-dev/js/tree/main/legacy_packages/sdk",
"license": "Apache-2.0",
Binary file not shown.
@@ -1,5 +1,37 @@
# @thirdweb-dev/unity-js-bridge
## 0.6.17
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
- @thirdweb-dev/wallets@2.5.8
- @thirdweb-dev/auth@4.1.66
## 0.6.16
### Patch Changes
- [#2824](https://github.com/thirdweb-dev/js/pull/2824) [`0ca69a9`](https://github.com/thirdweb-dev/js/commit/0ca69a92341d6711991ca7462d2dbbd7eca261a9) Thanks [@0xFirekeeper](https://github.com/0xFirekeeper)! - Unity 4.12.2
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
- @thirdweb-dev/wallets@2.5.7
- @thirdweb-dev/auth@4.1.65
## 0.6.15
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
- @thirdweb-dev/wallets@2.5.6
- @thirdweb-dev/auth@4.1.64
## 0.6.14
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/unity-js-bridge",
"version": "0.6.14",
"version": "0.6.17",
"main": "dist/thirdweb-unity-bridge.js",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
"license": "Apache-2.0",
@@ -171,7 +171,7 @@ class ThirdwebBridge implements TWBridge {
// biome-ignore lint/suspicious/noExplicitAny: TODO: fix use of any
(globalThis as any).X_SDK_PLATFORM = "unity";
// biome-ignore lint/suspicious/noExplicitAny: TODO: fix use of any
(globalThis as any).X_SDK_VERSION = "4.12.1";
(globalThis as any).X_SDK_VERSION = "4.12.2";
// biome-ignore lint/suspicious/noExplicitAny: TODO: fix use of any
(globalThis as any).X_SDK_OS = browser?.os ?? "unknown";
}
+24
View File
@@ -1,5 +1,29 @@
# @thirdweb-dev/wallets
## 2.5.8
### Patch Changes
- Updated dependencies [[`45677ad`](https://github.com/thirdweb-dev/js/commit/45677ad62012c63e3443f2e236311eb9a2bad094)]:
- @thirdweb-dev/chains@0.1.99
- @thirdweb-dev/sdk@4.0.68
## 2.5.7
### Patch Changes
- Updated dependencies [[`6d6e0ac`](https://github.com/thirdweb-dev/js/commit/6d6e0ac69453d5a448ab771084976928313662ab)]:
- @thirdweb-dev/chains@0.1.98
- @thirdweb-dev/sdk@4.0.67
## 2.5.6
### Patch Changes
- Updated dependencies [[`b4e7c74`](https://github.com/thirdweb-dev/js/commit/b4e7c74ce5ddc88a1aa3169ea89ff139d185a648)]:
- @thirdweb-dev/chains@0.1.97
- @thirdweb-dev/sdk@4.0.66
## 2.5.5
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/wallets",
"version": "2.5.5",
"version": "2.5.8",
"main": "dist/thirdweb-dev-wallets.cjs.js",
"module": "dist/thirdweb-dev-wallets.esm.js",
"browser": {
@@ -537,7 +537,7 @@
"@thirdweb-dev/crypto": "workspace:*",
"@thirdweb-dev/sdk": "workspace:*",
"@walletconnect/core": "^2.12.1",
"@walletconnect/ethereum-provider": "2.12.1",
"@walletconnect/ethereum-provider": "2.12.2",
"@walletconnect/jsonrpc-utils": "^1.0.8",
"@walletconnect/modal": "^2.6.2",
"@walletconnect/types": "^2.12.1",
+6
View File
@@ -1,5 +1,11 @@
# @thirdweb-dev/service-utils
## 0.4.28
### Patch Changes
- [#2832](https://github.com/thirdweb-dev/js/pull/2832) [`773b70a`](https://github.com/thirdweb-dev/js/commit/773b70aa1c113c775a1c44f3262b5de0547b5359) Thanks [@farhanW3](https://github.com/farhanW3)! - added httpMethod to usage-tracker
## 0.4.27
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/service-utils",
"version": "0.4.27",
"version": "0.4.28",
"main": "dist/thirdweb-dev-service-utils.cjs.js",
"module": "dist/thirdweb-dev-service-utils.esm.js",
"exports": {
@@ -70,6 +70,19 @@ const usageEventSchema = z.object({
tokenAddress: z.string().optional(),
amountWei: z.string().optional(),
amountUSDCents: z.number().nonnegative().optional(),
httpMethod: z
.enum([
"GET",
"POST",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE",
])
.optional(),
});
export type UsageEvent = z.infer<typeof usageEventSchema>;
+60
View File
@@ -1,5 +1,65 @@
# thirdweb
## 5.10.1
### Patch Changes
- [#2836](https://github.com/thirdweb-dev/js/pull/2836) [`3810df5`](https://github.com/thirdweb-dev/js/commit/3810df57aa9590b0a2fa14071a5c061bd94b1ec6) Thanks [@jnsdls](https://github.com/jnsdls)! - add missing events for `erc721`, `erc1155` and `erc20`
## 5.10.0
### Minor Changes
- [#2822](https://github.com/thirdweb-dev/js/pull/2822) [`a919b27`](https://github.com/thirdweb-dev/js/commit/a919b27c7af41dc003ddb643eb0641eaa8aefc07) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add multicall3 extension
### Patch Changes
- [#2834](https://github.com/thirdweb-dev/js/pull/2834) [`be85410`](https://github.com/thirdweb-dev/js/commit/be8541054e392a12678ffee534284e7d1b203ad4) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - fix: erc1155 sigmint with additional supply
- [#2831](https://github.com/thirdweb-dev/js/pull/2831) [`38f3b2e`](https://github.com/thirdweb-dev/js/commit/38f3b2eb21e74e5947f03cc594dee22c96099f8b) Thanks [@MananTank](https://github.com/MananTank)! - Fix In-App + Smart wallet Connection issue
## 5.9.0
### Minor Changes
- [#2793](https://github.com/thirdweb-dev/js/pull/2793) [`4dbcbd1`](https://github.com/thirdweb-dev/js/commit/4dbcbd13dbd388454993aee7e67b43bb9d9249aa) Thanks [@jnsdls](https://github.com/jnsdls)! - **thirdweb/react**
Add a new optional `auth` prop to `<ConnectButton />` to allow specifying a SIWE auth flow after users connect their wallets.
```jsx
<ConnectButton
client={client}
auth={{
isLoggedIn: async (address) => {
// check if the user is logged in by calling your server, etc.
// then return a boolean value
return true || false;
},
getLoginPayload: async ({ address, chainId }) => {
// send the address (and optional chainId) to your server to generate the login payload for the user to sign
// you can use the `generatePayload` function from `thirdweb/auth` to generate the payload
// once you have retrieved the payload return it from this function
return; // <the login payload here>
},
doLogin: async (loginParams) => {
// send the login params to your server where you can validate them using the `verifyPayload` function
// from `thirdweb/auth`
// you can then set a cookie or return a token to save in local storage, etc
// `isLoggedIn` will automatically get called again after this function resolves
},
doLogout: async () => {
// do anything you need to do such as clearing cookies, etc when the user should be logged out
// `isLoggedIn` will automatically get called again after this function resolves
},
}}
/>
```
### Patch Changes
- [#2816](https://github.com/thirdweb-dev/js/pull/2816) [`d664647`](https://github.com/thirdweb-dev/js/commit/d6646475e2715c666316174e1c035a035a075ab1) Thanks [@jnsdls](https://github.com/jnsdls)! - adapters(viem): explicitly type walletClient return type
## 5.8.0
### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "thirdweb",
"version": "5.8.0",
"version": "5.10.1",
"repository": {
"type": "git",
"url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -0,0 +1,440 @@
[
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "aggregate",
"outputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
},
{
"internalType": "bytes[]",
"name": "returnData",
"type": "bytes[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bool",
"name": "allowFailure",
"type": "bool"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call3[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "aggregate3",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
},
{
"internalType": "bytes",
"name": "returnData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Result[]",
"name": "returnData",
"type": "tuple[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bool",
"name": "allowFailure",
"type": "bool"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call3Value[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "aggregate3Value",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
},
{
"internalType": "bytes",
"name": "returnData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Result[]",
"name": "returnData",
"type": "tuple[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "blockAndAggregate",
"outputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "blockHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
},
{
"internalType": "bytes",
"name": "returnData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Result[]",
"name": "returnData",
"type": "tuple[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getBasefee",
"outputs": [
{
"internalType": "uint256",
"name": "basefee",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
}
],
"name": "getBlockHash",
"outputs": [
{
"internalType": "bytes32",
"name": "blockHash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getChainId",
"outputs": [
{
"internalType": "uint256",
"name": "chainid",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentBlockCoinbase",
"outputs": [
{
"internalType": "address",
"name": "coinbase",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentBlockDifficulty",
"outputs": [
{
"internalType": "uint256",
"name": "difficulty",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentBlockGasLimit",
"outputs": [
{
"internalType": "uint256",
"name": "gaslimit",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentBlockTimestamp",
"outputs": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getEthBalance",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastBlockHash",
"outputs": [
{
"internalType": "bytes32",
"name": "blockHash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "requireSuccess",
"type": "bool"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "tryAggregate",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
},
{
"internalType": "bytes",
"name": "returnData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Result[]",
"name": "returnData",
"type": "tuple[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "requireSuccess",
"type": "bool"
},
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Call[]",
"name": "calls",
"type": "tuple[]"
}
],
"name": "tryBlockAndAggregate",
"outputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "blockHash",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
},
{
"internalType": "bytes",
"name": "returnData",
"type": "bytes"
}
],
"internalType": "struct Multicall3.Result[]",
"name": "returnData",
"type": "tuple[]"
}
],
"stateMutability": "payable",
"type": "function"
}
]
@@ -55,6 +55,19 @@ describe("walletClient.toViem", () => {
throw new Error("Account not found");
}
const txHash = await walletClient.sendTransaction({
account: walletClient.account,
chain: {
id: ANVIL_CHAIN.id,
name: ANVIL_CHAIN.name || "",
rpcUrls: {
default: { http: [ANVIL_CHAIN.rpc] },
},
nativeCurrency: {
name: ANVIL_CHAIN.nativeCurrency?.name || "Ether",
symbol: ANVIL_CHAIN.nativeCurrency?.symbol || "ETH",
decimals: ANVIL_CHAIN.nativeCurrency?.decimals || 18,
},
},
to: zeroAddress,
value: 0n,
});
+1 -1
View File
@@ -170,7 +170,7 @@ type ToViemWalletClientOptions = {
chain: Chain;
};
function toViemWalletClient(options: ToViemWalletClientOptions) {
function toViemWalletClient(options: ToViemWalletClientOptions): WalletClient {
const { account, chain, client } = options;
if (!account) {
throw new Error("Wallet not connected.");
@@ -74,24 +74,6 @@ export {
} from "../../extensions/erc1155/__generated__/INFTMetadata/write/setTokenURI.js";
export { freezeMetadata } from "../../extensions/erc1155/__generated__/INFTMetadata/write/freezeMetadata.js";
// EVENTS
export {
transferSingleEvent,
type TransferSingleEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/TransferSingle.js";
export {
transferBatchEvent,
type TransferBatchEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/TransferBatch.js";
export {
approvalForAllEvent,
type ApprovalForAllEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/ApprovalForAll.js";
export { metadataUpdateEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/MetadataUpdate.js";
export { metadataFrozenEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/MetadataFrozen.js";
export { batchMetadataUpdateEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/BatchMetadataUpdate.js";
/**
* DROPS extension for ERC1155
*/
@@ -123,3 +105,22 @@ export {
// EVENTS
export { tokensLazyMintedEvent } from "../../extensions/erc1155/__generated__/ILazyMint/events/TokensLazyMinted.js";
export { tokensClaimedEvent } from "../../extensions/erc1155/__generated__/IDrop1155/events/TokensClaimed.js";
export {
transferSingleEvent,
type TransferSingleEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/TransferSingle.js";
export {
transferBatchEvent,
type TransferBatchEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/TransferBatch.js";
export {
approvalForAllEvent,
type ApprovalForAllEventFilters,
} from "../../extensions/erc1155/__generated__/IERC1155/events/ApprovalForAll.js";
export { metadataUpdateEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/MetadataUpdate.js";
export { metadataFrozenEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/MetadataFrozen.js";
export { batchMetadataUpdateEvent } from "../../extensions/erc1155/__generated__/INFTMetadata/events/BatchMetadataUpdate.js";
export {
tokensMintedWithSignatureEvent,
type TokensMintedWithSignatureEventFilters,
} from "../../extensions/erc1155/__generated__/ISignatureMintERC1155/events/TokensMintedWithSignature.js";
@@ -45,25 +45,6 @@ export {
type BurnFromParams,
} from "../../extensions/erc20/__generated__/IBurnableERC20/write/burnFrom.js";
// EVENTS
export {
transferEvent,
type TransferEventFilters,
} from "../../extensions/erc20/__generated__/IERC20/events/Transfer.js";
export {
approvalEvent,
type ApprovalEventFilters,
} from "../../extensions/erc20/__generated__/IERC20/events/Approval.js";
export {
tokensMintedEvent,
type TokensMintedEventFilters,
} from "../../extensions/erc20/__generated__/IMintableERC20/events/TokensMinted.js";
export {
tokensClaimedEvent,
type TokensClaimedEventFilters,
} from "../../extensions/erc20/__generated__/IDropERC20/events/TokensClaimed.js";
export { claimConditionsUpdatedEvent } from "../../extensions/erc20/__generated__/IDropERC20/events/ClaimConditionsUpdated.js";
/**
* DROPS extension for ERC20
*/
@@ -98,3 +79,26 @@ export {
withdraw,
type WithdrawParams,
} from "../../extensions/erc20/__generated__/IWETH/write/withdraw.js";
// EVENTS
export {
transferEvent,
type TransferEventFilters,
} from "../../extensions/erc20/__generated__/IERC20/events/Transfer.js";
export {
approvalEvent,
type ApprovalEventFilters,
} from "../../extensions/erc20/__generated__/IERC20/events/Approval.js";
export {
tokensMintedEvent,
type TokensMintedEventFilters,
} from "../../extensions/erc20/__generated__/IMintableERC20/events/TokensMinted.js";
export {
tokensClaimedEvent,
type TokensClaimedEventFilters,
} from "../../extensions/erc20/__generated__/IDropERC20/events/TokensClaimed.js";
export { claimConditionsUpdatedEvent } from "../../extensions/erc20/__generated__/IDropERC20/events/ClaimConditionsUpdated.js";
export {
tokensMintedWithSignatureEvent,
type TokensMintedWithSignatureEventFilters,
} from "../../extensions/erc20/__generated__/ISignatureMintERC20/events/TokensMintedWithSignature.js";
@@ -79,18 +79,6 @@ export {
type SetTokenURIParams,
} from "../../extensions/erc721/__generated__/INFTMetadata/write/setTokenURI.js";
/**
* EVENTS extension for ERC721
*/
export {
transferEvent,
type TransferEventFilters,
} from "../../extensions/erc721/__generated__/IERC721A/events/Transfer.js";
export {
tokensLazyMintedEvent,
type TokensLazyMintedEventFilters,
} from "../../extensions/erc721/__generated__/ILazyMint/events/TokensLazyMinted.js";
/**
* DROPS extension for ERC721
*/
@@ -126,3 +114,37 @@ export {
setSharedMetadata,
type SetSharedMetadataParams,
} from "../../extensions/erc721/write/setSharedMetadata.js";
/**
* EVENTS extension for ERC721
*/
export {
transferEvent,
type TransferEventFilters,
} from "../../extensions/erc721/__generated__/IERC721A/events/Transfer.js";
export {
tokensLazyMintedEvent,
type TokensLazyMintedEventFilters,
} from "../../extensions/erc721/__generated__/ILazyMint/events/TokensLazyMinted.js";
export {
approvalEvent,
type ApprovalEventFilters,
} from "../../extensions/erc721/__generated__/IERC721A/events/Approval.js";
export {
approvalForAllEvent,
type ApprovalForAllEventFilters,
} from "../../extensions/erc721/__generated__/IERC721A/events/ApprovalForAll.js";
export {
tokensMintedWithSignatureEvent,
type TokensMintedWithSignatureEventFilters,
} from "../../extensions/erc721/__generated__/ISignatureMintERC721/events/TokensMintedWithSignature.js";
export { claimConditionsUpdatedEvent } from "../../extensions/erc721/__generated__/IDrop/events/ClaimConditionsUpdated.js";
export {
tokensClaimedEvent,
type TokensClaimedEventFilters,
} from "../../extensions/erc721/__generated__/IDrop/events/TokensClaimed.js";
export { sharedMetadataUpdatedEvent } from "../../extensions/erc721/__generated__/ISharedMetadata/events/SharedMetadataUpdated.js";
export {
tokenURIRevealedEvent,
type TokenURIRevealedEventFilters,
} from "../../extensions/erc721/__generated__/IDelayedReveal/events/TokenURIRevealed.js";
@@ -0,0 +1,43 @@
// READ
export { getBasefee } from "../../extensions/multicall3/__generated__/IMulticall3/read/getBasefee.js";
export {
getBlockHash,
type GetBlockHashParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/read/getBlockHash.js";
export { getBlockNumber } from "../../extensions/multicall3/__generated__/IMulticall3/read/getBlockNumber.js";
export { getChainId } from "../../extensions/multicall3/__generated__/IMulticall3/read/getChainId.js";
export { getCurrentBlockCoinbase } from "../../extensions/multicall3/__generated__/IMulticall3/read/getCurrentBlockCoinbase.js";
export { getCurrentBlockDifficulty } from "../../extensions/multicall3/__generated__/IMulticall3/read/getCurrentBlockDifficulty.js";
export { getCurrentBlockGasLimit } from "../../extensions/multicall3/__generated__/IMulticall3/read/getCurrentBlockGasLimit.js";
export { getCurrentBlockTimestamp } from "../../extensions/multicall3/__generated__/IMulticall3/read/getCurrentBlockTimestamp.js";
export {
getEthBalance,
type GetEthBalanceParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/read/getEthBalance.js";
export { getLastBlockHash } from "../../extensions/multicall3/__generated__/IMulticall3/read/getLastBlockHash.js";
// WRITE
export {
aggregate,
type AggregateParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/aggregate.js";
export {
aggregate3,
type Aggregate3Params,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/aggregate3.js";
export {
aggregate3Value,
type Aggregate3ValueParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/aggregate3Value.js";
export {
blockAndAggregate,
type BlockAndAggregateParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/blockAndAggregate.js";
export {
tryAggregate,
type TryAggregateParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/tryAggregate.js";
export {
tryBlockAndAggregate,
type TryBlockAndAggregateParams,
} from "../../extensions/multicall3/__generated__/IMulticall3/write/tryBlockAndAggregate.js";
+3
View File
@@ -96,3 +96,6 @@ export {
AutoConnect,
type AutoConnectProps,
} from "../react/core/hooks/connection/useAutoConnect.js";
// auth
export { type SiweAuthOptions } from "../react/core/hooks/auth/useSiweAuth.js";
@@ -123,7 +123,9 @@ export async function generateMintSignature(
uid,
pricePerToken,
tokenId:
"tokenId" in mintRequest ? mintRequest.tokenId || maxUint256 : maxUint256,
"tokenId" in mintRequest && mintRequest.tokenId !== undefined
? mintRequest.tokenId
: maxUint256,
quantity: mintRequest.quantity,
to: mintRequest.to,
royaltyRecipient: mintRequest.royaltyRecipient || account.address,
@@ -1,3 +1,4 @@
import { maxUint256 } from "viem";
import { beforeAll, describe, expect, it } from "vitest";
import { ANVIL_CHAIN } from "../../../../test/src/chains.js";
import { TEST_CLIENT } from "../../../../test/src/test-clients.js";
@@ -14,6 +15,7 @@ import { sendTransaction } from "../../../transaction/actions/send-transaction.j
import { toHex } from "../../../utils/encoding/hex.js";
import { deployERC20Contract } from "../../prebuilts/deploy-erc20.js";
import { deployERC1155Contract } from "../../prebuilts/deploy-erc1155.js";
import { getNFT } from "../read/getNFT.js";
import { generateMintSignature, mintWithSignature } from "./sigMint.js";
// skip this test suite if there is no secret key available to test with
@@ -78,6 +80,46 @@ describe.runIf(process.env.TW_SECRET_KEY)("generateMintSignature1155", () => {
account: TEST_ACCOUNT_A,
});
expect(transactionHash.length).toBe(66);
const nft = await getNFT({
contract: erc1155Contract,
tokenId: 0n,
});
if (nft.type !== "ERC1155") throw new Error("Expected ERC1155 NFT");
expect(nft.id).toBe(0n);
expect(nft.supply).toBe(10n);
expect(nft.metadata.name).toBe("My NFT");
expect(nft.metadata.description).toBe("This is my NFT");
});
it("should mint additional supply", async () => {
const { payload, signature } = await generateMintSignature({
mintRequest: {
to: TEST_ACCOUNT_B.address,
quantity: 5n,
tokenId: 0n,
},
account: TEST_ACCOUNT_A,
contract: erc1155Contract,
});
const transaction = mintWithSignature({
contract: erc1155Contract,
payload,
signature,
});
const { transactionHash } = await sendTransaction({
transaction,
account: TEST_ACCOUNT_A,
});
expect(transactionHash.length).toBe(66);
const nft = await getNFT({
contract: erc1155Contract,
tokenId: 0n,
});
if (nft.type !== "ERC1155") throw new Error("Expected ERC1155 NFT");
expect(nft.id).toBe(0n);
expect(nft.supply).toBe(15n);
expect(nft.metadata.name).toBe("My NFT");
expect(nft.metadata.description).toBe("This is my NFT");
});
it("should generate a mint signature with default values", async () => {
@@ -92,6 +134,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("generateMintSignature1155", () => {
});
expect(payload.to).toBe(TEST_ACCOUNT_B.address);
expect(payload.tokenId).toBe(maxUint256);
expect(payload.royaltyRecipient).toBe(TEST_ACCOUNT_A.address);
expect(payload.royaltyBps).toBe(0n);
expect(payload.primarySaleRecipient).toBe(TEST_ACCOUNT_A.address);
@@ -125,7 +168,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("generateMintSignature1155", () => {
royaltyRecipient: TEST_ACCOUNT_B.address,
royaltyBps: 500,
primarySaleRecipient: TEST_ACCOUNT_A.address,
metadata: "https://example.com/token",
tokenId: 0n,
pricePerToken: "0.2",
currency: erc20TokenContract.address,
validityStartTimestamp: new Date(1635724800),
@@ -137,10 +180,11 @@ describe.runIf(process.env.TW_SECRET_KEY)("generateMintSignature1155", () => {
});
expect(payload.to).toBe(TEST_ACCOUNT_B.address);
expect(payload.tokenId).toBe(0n);
expect(payload.royaltyRecipient).toBe(TEST_ACCOUNT_B.address);
expect(payload.royaltyBps).toBe(500n);
expect(payload.primarySaleRecipient).toBe(TEST_ACCOUNT_A.address);
expect(payload.uri).toBe("https://example.com/token");
expect(payload.uri).toBe("");
expect(payload.pricePerToken).toBe(200000000000000000n);
expect(payload.quantity).toBe(10n);
expect(payload.currency).toBe(erc20TokenContract.address);
@@ -35,7 +35,6 @@ export function executeSale(
contract: options.contract,
auctionId: options.auctionId,
});
console.log("*** winning bid", winningBid);
if (!winningBid) {
throw new Error("Auction is still active");
}
@@ -0,0 +1,72 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x3e64a696" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "basefee",
type: "uint256",
},
] as const;
/**
* Checks if the `getBasefee` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getBasefee` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetBasefeeSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetBasefeeSupported(contract);
* ```
*/
export async function isGetBasefeeSupported(contract: ThirdwebContract<any>) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getBasefee function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetBasefeeResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetBasefeeResult("...");
* ```
*/
export function decodeGetBasefeeResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getBasefee" function on the contract.
* @param options - The options for the getBasefee function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getBasefee } from "thirdweb/extensions/multicall3";
*
* const result = await getBasefee();
*
* ```
*/
export async function getBasefee(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,133 @@
import type { AbiParameterToPrimitiveType } from "abitype";
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
/**
* Represents the parameters for the "getBlockHash" function.
*/
export type GetBlockHashParams = {
blockNumber: AbiParameterToPrimitiveType<{
internalType: "uint256";
name: "blockNumber";
type: "uint256";
}>;
};
export const FN_SELECTOR = "0xee82ac5e" as const;
const FN_INPUTS = [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
] as const;
const FN_OUTPUTS = [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
] as const;
/**
* Checks if the `getBlockHash` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getBlockHash` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetBlockHashSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetBlockHashSupported(contract);
* ```
*/
export async function isGetBlockHashSupported(contract: ThirdwebContract<any>) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Encodes the parameters for the "getBlockHash" function.
* @param options - The options for the getBlockHash function.
* @returns The encoded ABI parameters.
* @extension MULTICALL3
* @example
* ```ts
* import { encodeGetBlockHashParams } "thirdweb/extensions/multicall3";
* const result = encodeGetBlockHashParams({
* blockNumber: ...,
* });
* ```
*/
export function encodeGetBlockHashParams(options: GetBlockHashParams) {
return encodeAbiParameters(FN_INPUTS, [options.blockNumber]);
}
/**
* Encodes the "getBlockHash" function into a Hex string with its parameters.
* @param options - The options for the getBlockHash function.
* @returns The encoded hexadecimal string.
* @extension MULTICALL3
* @example
* ```ts
* import { encodeGetBlockHash } "thirdweb/extensions/multicall3";
* const result = encodeGetBlockHash({
* blockNumber: ...,
* });
* ```
*/
export function encodeGetBlockHash(options: GetBlockHashParams) {
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
// we can do this because we know the specific formats of the values
return (FN_SELECTOR +
encodeGetBlockHashParams(options).slice(
2,
)) as `${typeof FN_SELECTOR}${string}`;
}
/**
* Decodes the result of the getBlockHash function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetBlockHashResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetBlockHashResult("...");
* ```
*/
export function decodeGetBlockHashResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getBlockHash" function on the contract.
* @param options - The options for the getBlockHash function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getBlockHash } from "thirdweb/extensions/multicall3";
*
* const result = await getBlockHash({
* blockNumber: ...,
* });
*
* ```
*/
export async function getBlockHash(
options: BaseTransactionOptions<GetBlockHashParams>,
) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [options.blockNumber],
});
}
@@ -0,0 +1,74 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x42cbb15c" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "blockNumber",
type: "uint256",
},
] as const;
/**
* Checks if the `getBlockNumber` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getBlockNumber` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetBlockNumberSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetBlockNumberSupported(contract);
* ```
*/
export async function isGetBlockNumberSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getBlockNumber function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetBlockNumberResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetBlockNumberResult("...");
* ```
*/
export function decodeGetBlockNumberResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getBlockNumber" function on the contract.
* @param options - The options for the getBlockNumber function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getBlockNumber } from "thirdweb/extensions/multicall3";
*
* const result = await getBlockNumber();
*
* ```
*/
export async function getBlockNumber(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,72 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x3408e470" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "chainid",
type: "uint256",
},
] as const;
/**
* Checks if the `getChainId` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getChainId` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetChainIdSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetChainIdSupported(contract);
* ```
*/
export async function isGetChainIdSupported(contract: ThirdwebContract<any>) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getChainId function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetChainIdResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetChainIdResult("...");
* ```
*/
export function decodeGetChainIdResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getChainId" function on the contract.
* @param options - The options for the getChainId function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getChainId } from "thirdweb/extensions/multicall3";
*
* const result = await getChainId();
*
* ```
*/
export async function getChainId(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,74 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0xa8b0574e" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "address",
name: "coinbase",
type: "address",
},
] as const;
/**
* Checks if the `getCurrentBlockCoinbase` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getCurrentBlockCoinbase` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetCurrentBlockCoinbaseSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetCurrentBlockCoinbaseSupported(contract);
* ```
*/
export async function isGetCurrentBlockCoinbaseSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getCurrentBlockCoinbase function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetCurrentBlockCoinbaseResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetCurrentBlockCoinbaseResult("...");
* ```
*/
export function decodeGetCurrentBlockCoinbaseResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getCurrentBlockCoinbase" function on the contract.
* @param options - The options for the getCurrentBlockCoinbase function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getCurrentBlockCoinbase } from "thirdweb/extensions/multicall3";
*
* const result = await getCurrentBlockCoinbase();
*
* ```
*/
export async function getCurrentBlockCoinbase(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,76 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x72425d9d" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "difficulty",
type: "uint256",
},
] as const;
/**
* Checks if the `getCurrentBlockDifficulty` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getCurrentBlockDifficulty` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetCurrentBlockDifficultySupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetCurrentBlockDifficultySupported(contract);
* ```
*/
export async function isGetCurrentBlockDifficultySupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getCurrentBlockDifficulty function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetCurrentBlockDifficultyResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetCurrentBlockDifficultyResult("...");
* ```
*/
export function decodeGetCurrentBlockDifficultyResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getCurrentBlockDifficulty" function on the contract.
* @param options - The options for the getCurrentBlockDifficulty function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getCurrentBlockDifficulty } from "thirdweb/extensions/multicall3";
*
* const result = await getCurrentBlockDifficulty();
*
* ```
*/
export async function getCurrentBlockDifficulty(
options: BaseTransactionOptions,
) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,74 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x86d516e8" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "gaslimit",
type: "uint256",
},
] as const;
/**
* Checks if the `getCurrentBlockGasLimit` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getCurrentBlockGasLimit` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetCurrentBlockGasLimitSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetCurrentBlockGasLimitSupported(contract);
* ```
*/
export async function isGetCurrentBlockGasLimitSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getCurrentBlockGasLimit function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetCurrentBlockGasLimitResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetCurrentBlockGasLimitResult("...");
* ```
*/
export function decodeGetCurrentBlockGasLimitResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getCurrentBlockGasLimit" function on the contract.
* @param options - The options for the getCurrentBlockGasLimit function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getCurrentBlockGasLimit } from "thirdweb/extensions/multicall3";
*
* const result = await getCurrentBlockGasLimit();
*
* ```
*/
export async function getCurrentBlockGasLimit(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,76 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x0f28c97d" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "timestamp",
type: "uint256",
},
] as const;
/**
* Checks if the `getCurrentBlockTimestamp` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getCurrentBlockTimestamp` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetCurrentBlockTimestampSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetCurrentBlockTimestampSupported(contract);
* ```
*/
export async function isGetCurrentBlockTimestampSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getCurrentBlockTimestamp function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetCurrentBlockTimestampResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetCurrentBlockTimestampResult("...");
* ```
*/
export function decodeGetCurrentBlockTimestampResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getCurrentBlockTimestamp" function on the contract.
* @param options - The options for the getCurrentBlockTimestamp function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getCurrentBlockTimestamp } from "thirdweb/extensions/multicall3";
*
* const result = await getCurrentBlockTimestamp();
*
* ```
*/
export async function getCurrentBlockTimestamp(
options: BaseTransactionOptions,
) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}
@@ -0,0 +1,135 @@
import type { AbiParameterToPrimitiveType } from "abitype";
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { encodeAbiParameters } from "../../../../../utils/abi/encodeAbiParameters.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
/**
* Represents the parameters for the "getEthBalance" function.
*/
export type GetEthBalanceParams = {
addr: AbiParameterToPrimitiveType<{
internalType: "address";
name: "addr";
type: "address";
}>;
};
export const FN_SELECTOR = "0x4d2301cc" as const;
const FN_INPUTS = [
{
internalType: "address",
name: "addr",
type: "address",
},
] as const;
const FN_OUTPUTS = [
{
internalType: "uint256",
name: "balance",
type: "uint256",
},
] as const;
/**
* Checks if the `getEthBalance` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getEthBalance` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetEthBalanceSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetEthBalanceSupported(contract);
* ```
*/
export async function isGetEthBalanceSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Encodes the parameters for the "getEthBalance" function.
* @param options - The options for the getEthBalance function.
* @returns The encoded ABI parameters.
* @extension MULTICALL3
* @example
* ```ts
* import { encodeGetEthBalanceParams } "thirdweb/extensions/multicall3";
* const result = encodeGetEthBalanceParams({
* addr: ...,
* });
* ```
*/
export function encodeGetEthBalanceParams(options: GetEthBalanceParams) {
return encodeAbiParameters(FN_INPUTS, [options.addr]);
}
/**
* Encodes the "getEthBalance" function into a Hex string with its parameters.
* @param options - The options for the getEthBalance function.
* @returns The encoded hexadecimal string.
* @extension MULTICALL3
* @example
* ```ts
* import { encodeGetEthBalance } "thirdweb/extensions/multicall3";
* const result = encodeGetEthBalance({
* addr: ...,
* });
* ```
*/
export function encodeGetEthBalance(options: GetEthBalanceParams) {
// we do a "manual" concat here to avoid the overhead of the "concatHex" function
// we can do this because we know the specific formats of the values
return (FN_SELECTOR +
encodeGetEthBalanceParams(options).slice(
2,
)) as `${typeof FN_SELECTOR}${string}`;
}
/**
* Decodes the result of the getEthBalance function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetEthBalanceResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetEthBalanceResult("...");
* ```
*/
export function decodeGetEthBalanceResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getEthBalance" function on the contract.
* @param options - The options for the getEthBalance function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getEthBalance } from "thirdweb/extensions/multicall3";
*
* const result = await getEthBalance({
* addr: ...,
* });
*
* ```
*/
export async function getEthBalance(
options: BaseTransactionOptions<GetEthBalanceParams>,
) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [options.addr],
});
}
@@ -0,0 +1,74 @@
import { readContract } from "../../../../../transaction/read-contract.js";
import type { BaseTransactionOptions } from "../../../../../transaction/types.js";
import { decodeAbiParameters } from "viem";
import type { Hex } from "../../../../../utils/encoding/hex.js";
import type { ThirdwebContract } from "../../../../../contract/contract.js";
import { detectMethod } from "../../../../../utils/bytecode/detectExtension.js";
export const FN_SELECTOR = "0x27e86d6e" as const;
const FN_INPUTS = [] as const;
const FN_OUTPUTS = [
{
internalType: "bytes32",
name: "blockHash",
type: "bytes32",
},
] as const;
/**
* Checks if the `getLastBlockHash` method is supported by the given contract.
* @param contract The ThirdwebContract.
* @returns A promise that resolves to a boolean indicating if the `getLastBlockHash` method is supported.
* @extension MULTICALL3
* @example
* ```ts
* import { isGetLastBlockHashSupported } from "thirdweb/extensions/multicall3";
*
* const supported = await isGetLastBlockHashSupported(contract);
* ```
*/
export async function isGetLastBlockHashSupported(
contract: ThirdwebContract<any>,
) {
return detectMethod({
contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
});
}
/**
* Decodes the result of the getLastBlockHash function call.
* @param result - The hexadecimal result to decode.
* @returns The decoded result as per the FN_OUTPUTS definition.
* @extension MULTICALL3
* @example
* ```ts
* import { decodeGetLastBlockHashResult } from "thirdweb/extensions/multicall3";
* const result = decodeGetLastBlockHashResult("...");
* ```
*/
export function decodeGetLastBlockHashResult(result: Hex) {
return decodeAbiParameters(FN_OUTPUTS, result)[0];
}
/**
* Calls the "getLastBlockHash" function on the contract.
* @param options - The options for the getLastBlockHash function.
* @returns The parsed result of the function call.
* @extension MULTICALL3
* @example
* ```ts
* import { getLastBlockHash } from "thirdweb/extensions/multicall3";
*
* const result = await getLastBlockHash();
*
* ```
*/
export async function getLastBlockHash(options: BaseTransactionOptions) {
return readContract({
contract: options.contract,
method: [FN_SELECTOR, FN_INPUTS, FN_OUTPUTS] as const,
params: [],
});
}

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