viem 2.49.2 → 2.50.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/_cjs/actions/ens/getEnsAddress.js +21 -6
- package/_cjs/actions/ens/getEnsAddress.js.map +1 -1
- package/_cjs/actions/public/call.js +76 -41
- package/_cjs/actions/public/call.js.map +1 -1
- package/_cjs/actions/public/getBalance.js +11 -4
- package/_cjs/actions/public/getBalance.js.map +1 -1
- package/_cjs/actions/public/getCode.js +12 -5
- package/_cjs/actions/public/getCode.js.map +1 -1
- package/_cjs/actions/public/getProof.js +9 -5
- package/_cjs/actions/public/getProof.js.map +1 -1
- package/_cjs/actions/public/getStorageAt.js +9 -4
- package/_cjs/actions/public/getStorageAt.js.map +1 -1
- package/_cjs/actions/public/getTransactionCount.js +10 -7
- package/_cjs/actions/public/getTransactionCount.js.map +1 -1
- package/_cjs/actions/public/multicall.js +3 -1
- package/_cjs/actions/public/multicall.js.map +1 -1
- package/_cjs/actions/public/readContract.js.map +1 -1
- package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_cjs/actions/wallet/sendTransaction.js +14 -0
- package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/_cjs/actions/wallet/sendTransactionSync.js +15 -0
- package/_cjs/actions/wallet/sendTransactionSync.js.map +1 -1
- package/_cjs/chains/definitions/arc.js +19 -0
- package/_cjs/chains/definitions/arc.js.map +1 -0
- package/_cjs/chains/definitions/mizuhikiTestnetAwaji.js +29 -0
- package/_cjs/chains/definitions/mizuhikiTestnetAwaji.js.map +1 -0
- package/_cjs/chains/definitions/morphHolesky.js +1 -1
- package/_cjs/chains/definitions/morphHolesky.js.map +1 -1
- package/_cjs/chains/definitions/sentrix.js +29 -0
- package/_cjs/chains/definitions/sentrix.js.map +1 -0
- package/_cjs/chains/definitions/sentrixTestnet.js +30 -0
- package/_cjs/chains/definitions/sentrixTestnet.js.map +1 -0
- package/_cjs/chains/definitions/sova.js +1 -1
- package/_cjs/chains/definitions/sova.js.map +1 -1
- package/_cjs/chains/index.js +23 -15
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/constants/solidity.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/index.js +5 -3
- package/_cjs/index.js.map +1 -1
- package/_cjs/tempo/Chain.js +19 -0
- package/_cjs/tempo/Chain.js.map +1 -0
- package/_cjs/tempo/Decorator.js +1 -0
- package/_cjs/tempo/Decorator.js.map +1 -1
- package/_cjs/tempo/Formatters.js +1 -1
- package/_cjs/tempo/Formatters.js.map +1 -1
- package/_cjs/tempo/Transaction.js +5 -2
- package/_cjs/tempo/Transaction.js.map +1 -1
- package/_cjs/tempo/actions/fee.js +61 -0
- package/_cjs/tempo/actions/fee.js.map +1 -1
- package/_cjs/tempo/chainConfig.js +16 -6
- package/_cjs/tempo/chainConfig.js.map +1 -1
- package/_cjs/tempo/chains/index.js +11 -0
- package/_cjs/tempo/chains/index.js.map +1 -0
- package/_cjs/tempo/errors.js +58 -0
- package/_cjs/tempo/errors.js.map +1 -0
- package/_cjs/tempo/index.js +17 -1
- package/_cjs/tempo/index.js.map +1 -1
- package/_cjs/utils/abi/encodeEventTopics.js +4 -2
- package/_cjs/utils/abi/encodeEventTopics.js.map +1 -1
- package/_cjs/utils/block/formatBlockParameter.js +16 -0
- package/_cjs/utils/block/formatBlockParameter.js.map +1 -0
- package/_cjs/utils/ccipTunnel.js +65 -0
- package/_cjs/utils/ccipTunnel.js.map +1 -0
- package/_cjs/utils/index.js +6 -4
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/nonceManager.js +7 -3
- package/_cjs/utils/nonceManager.js.map +1 -1
- package/_cjs/utils/observe.js +7 -1
- package/_cjs/utils/observe.js.map +1 -1
- package/_cjs/utils/rpc/socket.js +19 -2
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_esm/actions/ens/getEnsAddress.js +21 -6
- package/_esm/actions/ens/getEnsAddress.js.map +1 -1
- package/_esm/actions/public/call.js +76 -41
- package/_esm/actions/public/call.js.map +1 -1
- package/_esm/actions/public/getBalance.js +11 -4
- package/_esm/actions/public/getBalance.js.map +1 -1
- package/_esm/actions/public/getCode.js +12 -5
- package/_esm/actions/public/getCode.js.map +1 -1
- package/_esm/actions/public/getProof.js +9 -5
- package/_esm/actions/public/getProof.js.map +1 -1
- package/_esm/actions/public/getStorageAt.js +9 -4
- package/_esm/actions/public/getStorageAt.js.map +1 -1
- package/_esm/actions/public/getTransactionCount.js +10 -7
- package/_esm/actions/public/getTransactionCount.js.map +1 -1
- package/_esm/actions/public/multicall.js +3 -1
- package/_esm/actions/public/multicall.js.map +1 -1
- package/_esm/actions/public/readContract.js.map +1 -1
- package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
- package/_esm/actions/wallet/sendTransaction.js +14 -0
- package/_esm/actions/wallet/sendTransaction.js.map +1 -1
- package/_esm/actions/wallet/sendTransactionSync.js +15 -0
- package/_esm/actions/wallet/sendTransactionSync.js.map +1 -1
- package/_esm/chains/definitions/arc.js +16 -0
- package/_esm/chains/definitions/arc.js.map +1 -0
- package/_esm/chains/definitions/mizuhikiTestnetAwaji.js +26 -0
- package/_esm/chains/definitions/mizuhikiTestnetAwaji.js.map +1 -0
- package/_esm/chains/definitions/morphHolesky.js +1 -1
- package/_esm/chains/definitions/morphHolesky.js.map +1 -1
- package/_esm/chains/definitions/sentrix.js +26 -0
- package/_esm/chains/definitions/sentrix.js.map +1 -0
- package/_esm/chains/definitions/sentrixTestnet.js +27 -0
- package/_esm/chains/definitions/sentrixTestnet.js.map +1 -0
- package/_esm/chains/definitions/sova.js +1 -1
- package/_esm/chains/definitions/sova.js.map +1 -1
- package/_esm/chains/index.js +4 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/constants/solidity.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/tempo/Chain.js +6 -0
- package/_esm/tempo/Chain.js.map +1 -0
- package/_esm/tempo/Decorator.js +1 -0
- package/_esm/tempo/Decorator.js.map +1 -1
- package/_esm/tempo/Formatters.js +10 -4
- package/_esm/tempo/Formatters.js.map +1 -1
- package/_esm/tempo/Transaction.js +16 -6
- package/_esm/tempo/Transaction.js.map +1 -1
- package/_esm/tempo/actions/fee.js +83 -0
- package/_esm/tempo/actions/fee.js.map +1 -1
- package/_esm/tempo/actions/wallet.js +2 -2
- package/_esm/tempo/chainConfig.js +18 -8
- package/_esm/tempo/chainConfig.js.map +1 -1
- package/_esm/tempo/chains/index.js +3 -0
- package/_esm/tempo/chains/index.js.map +1 -0
- package/_esm/tempo/errors.js +51 -0
- package/_esm/tempo/errors.js.map +1 -0
- package/_esm/tempo/index.js +2 -0
- package/_esm/tempo/index.js.map +1 -1
- package/_esm/utils/abi/encodeEventTopics.js +6 -2
- package/_esm/utils/abi/encodeEventTopics.js.map +1 -1
- package/_esm/utils/block/formatBlockParameter.js +39 -0
- package/_esm/utils/block/formatBlockParameter.js.map +1 -0
- package/_esm/utils/ccipTunnel.js +62 -0
- package/_esm/utils/ccipTunnel.js.map +1 -0
- package/_esm/utils/index.js +1 -0
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/nonceManager.js +7 -3
- package/_esm/utils/nonceManager.js.map +1 -1
- package/_esm/utils/observe.js +7 -1
- package/_esm/utils/observe.js.map +1 -1
- package/_esm/utils/rpc/socket.js +20 -2
- package/_esm/utils/rpc/socket.js.map +1 -1
- package/_types/actions/ens/getEnsAddress.d.ts +3 -1
- package/_types/actions/ens/getEnsAddress.d.ts.map +1 -1
- package/_types/actions/public/call.d.ts +17 -6
- package/_types/actions/public/call.d.ts.map +1 -1
- package/_types/actions/public/getBalance.d.ts +15 -3
- package/_types/actions/public/getBalance.d.ts.map +1 -1
- package/_types/actions/public/getCode.d.ts +15 -4
- package/_types/actions/public/getCode.d.ts.map +1 -1
- package/_types/actions/public/getProof.d.ts +14 -3
- package/_types/actions/public/getProof.d.ts.map +1 -1
- package/_types/actions/public/getStorageAt.d.ts +15 -4
- package/_types/actions/public/getStorageAt.d.ts.map +1 -1
- package/_types/actions/public/getTransactionCount.d.ts +15 -3
- package/_types/actions/public/getTransactionCount.d.ts.map +1 -1
- package/_types/actions/public/multicall.d.ts +1 -1
- package/_types/actions/public/multicall.d.ts.map +1 -1
- package/_types/actions/public/readContract.d.ts +1 -1
- package/_types/actions/public/readContract.d.ts.map +1 -1
- package/_types/actions/wallet/prepareTransactionRequest.d.ts +4 -2
- package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransactionSync.d.ts.map +1 -1
- package/_types/chains/definitions/arc.d.ts +54 -0
- package/_types/chains/definitions/arc.d.ts.map +1 -0
- package/_types/chains/definitions/mizuhikiTestnetAwaji.d.ts +46 -0
- package/_types/chains/definitions/mizuhikiTestnetAwaji.d.ts.map +1 -0
- package/_types/chains/definitions/morphHolesky.d.ts +1 -1
- package/_types/chains/definitions/sentrix.d.ts +46 -0
- package/_types/chains/definitions/sentrix.d.ts.map +1 -0
- package/_types/chains/definitions/sentrixTestnet.d.ts +46 -0
- package/_types/chains/definitions/sentrixTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/sova.d.ts +1 -1
- package/_types/chains/index.d.ts +4 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/constants/solidity.d.ts +16 -3
- package/_types/constants/solidity.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/index.d.ts +1 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/tempo/Chain.d.ts +5 -0
- package/_types/tempo/Chain.d.ts.map +1 -0
- package/_types/tempo/Decorator.d.ts +23 -0
- package/_types/tempo/Decorator.d.ts.map +1 -1
- package/_types/tempo/Formatters.d.ts.map +1 -1
- package/_types/tempo/Transaction.d.ts.map +1 -1
- package/_types/tempo/actions/fee.d.ts +38 -0
- package/_types/tempo/actions/fee.d.ts.map +1 -1
- package/_types/tempo/actions/wallet.d.ts +9 -6
- package/_types/tempo/actions/wallet.d.ts.map +1 -1
- package/_types/tempo/chainConfig.d.ts.map +1 -1
- package/_types/tempo/chains/index.d.ts +2 -0
- package/_types/tempo/chains/index.d.ts.map +1 -0
- package/_types/tempo/errors.d.ts +36 -0
- package/_types/tempo/errors.d.ts.map +1 -0
- package/_types/tempo/index.d.ts +2 -0
- package/_types/tempo/index.d.ts.map +1 -1
- package/_types/types/block.d.ts +3 -4
- package/_types/types/block.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +1 -1
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/utils/abi/encodeEventTopics.d.ts +6 -2
- package/_types/utils/abi/encodeEventTopics.d.ts.map +1 -1
- package/_types/utils/block/formatBlockParameter.d.ts +45 -0
- package/_types/utils/block/formatBlockParameter.d.ts.map +1 -0
- package/_types/utils/ccipTunnel.d.ts +9 -0
- package/_types/utils/ccipTunnel.d.ts.map +1 -0
- package/_types/utils/index.d.ts +1 -0
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/nonceManager.d.ts.map +1 -1
- package/_types/utils/observe.d.ts.map +1 -1
- package/_types/utils/rpc/socket.d.ts.map +1 -1
- package/actions/ens/getEnsAddress.ts +34 -6
- package/actions/public/call.ts +125 -51
- package/actions/public/getBalance.ts +30 -9
- package/actions/public/getCode.ts +35 -11
- package/actions/public/getProof.ts +27 -11
- package/actions/public/getStorageAt.ts +33 -10
- package/actions/public/getTransactionCount.ts +33 -11
- package/actions/public/multicall.ts +6 -0
- package/actions/public/readContract.ts +2 -0
- package/actions/wallet/prepareTransactionRequest.ts +11 -15
- package/actions/wallet/sendTransaction.ts +13 -0
- package/actions/wallet/sendTransactionSync.ts +16 -0
- package/chains/definitions/arc.ts +16 -0
- package/chains/definitions/mizuhikiTestnetAwaji.ts +26 -0
- package/chains/definitions/morphHolesky.ts +1 -1
- package/chains/definitions/sentrix.ts +26 -0
- package/chains/definitions/sentrixTestnet.ts +27 -0
- package/chains/definitions/sova.ts +1 -1
- package/chains/index.ts +4 -0
- package/constants/solidity.ts +4 -4
- package/errors/version.ts +1 -1
- package/index.ts +4 -0
- package/package.json +11 -3
- package/tempo/Chain.ts +20 -0
- package/tempo/Decorator.ts +27 -0
- package/tempo/Formatters.ts +15 -4
- package/tempo/Transaction.ts +16 -6
- package/tempo/actions/fee.ts +117 -1
- package/tempo/actions/wallet.ts +9 -6
- package/tempo/chainConfig.ts +18 -12
- package/tempo/chains/index.ts +9 -0
- package/tempo/chains/package.json +6 -0
- package/tempo/errors.ts +78 -0
- package/tempo/index.ts +2 -0
- package/types/block.ts +3 -5
- package/types/eip1193.ts +1 -1
- package/utils/abi/encodeEventTopics.ts +25 -6
- package/utils/block/formatBlockParameter.ts +63 -0
- package/utils/ccipTunnel.ts +67 -0
- package/utils/index.ts +4 -0
- package/utils/nonceManager.ts +7 -3
- package/utils/observe.ts +7 -4
- package/utils/rpc/socket.ts +21 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# viem
|
|
2
2
|
|
|
3
|
+
## 2.50.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#4642](https://github.com/wevm/viem/pull/4642) [`5bafcd444f7ebae9bb06a8efbc801a7ea845154d`](https://github.com/wevm/viem/commit/5bafcd444f7ebae9bb06a8efbc801a7ea845154d) Thanks [@jxom](https://github.com/jxom)! - `viem/tempo`: Updated `wallet.deposit` to use `amount` and supported token symbols for `wallet_deposit` requests.
|
|
8
|
+
|
|
9
|
+
## 2.50.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#4640](https://github.com/wevm/viem/pull/4640) [`dfe1964905fd7ab7767771d4b3451918a22be648`](https://github.com/wevm/viem/commit/dfe1964905fd7ab7767771d4b3451918a22be648) Thanks [@tmm](https://github.com/tmm)! - Added Tempo chain exports to `viem/tempo` and `viem/tempo/chains`.
|
|
14
|
+
|
|
15
|
+
## 2.50.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`118bc22b80f07c30bfca4a4f61ae98a49882fe61`](https://github.com/wevm/viem/commit/118bc22b80f07c30bfca4a4f61ae98a49882fe61) Thanks [@tmm](https://github.com/tmm)! - Added `viem/tempo/chains` entrypoint
|
|
20
|
+
|
|
21
|
+
## 2.50.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- [#4337](https://github.com/wevm/viem/pull/4337) [`fd2fbd5c24b7002849e55cbeb066d165041abca2`](https://github.com/wevm/viem/commit/fd2fbd5c24b7002849e55cbeb066d165041abca2) Thanks [@haydenshively](https://github.com/haydenshively)! - Added support for batching calls that share matching `stateOverride` values.
|
|
26
|
+
|
|
27
|
+
- [#4186](https://github.com/wevm/viem/pull/4186) [`aa1ac95104ae3a51dd446bfdcac9c4ebdd47ba43`](https://github.com/wevm/viem/commit/aa1ac95104ae3a51dd446bfdcac9c4ebdd47ba43) Thanks [@dputko](https://github.com/dputko)! - Added EIP-1898 block identifier support (`blockHash` and `requireCanonical` parameters) for `call`, `getBalance`, `getCode`, `getProof`, `getStorageAt`, and `getTransactionCount` actions.
|
|
28
|
+
|
|
29
|
+
- [#4590](https://github.com/wevm/viem/pull/4590) [`a9bfd944aea8f7822b8fc3fcf92c583f4144f672`](https://github.com/wevm/viem/commit/a9bfd944aea8f7822b8fc3fcf92c583f4144f672) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Added Tempo fee token validation with typed errors.
|
|
30
|
+
|
|
31
|
+
- [#4551](https://github.com/wevm/viem/pull/4551) [`efc76f9f8e521829a90f811353cda4b5bb5ec6c5`](https://github.com/wevm/viem/commit/efc76f9f8e521829a90f811353cda4b5bb5ec6c5) Thanks [@adraffy](https://github.com/adraffy)! - Added CCIP-Read Tunneling.
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- [#4630](https://github.com/wevm/viem/pull/4630) [`e8bc0fb9de7ac4155431ae5de6566616e3a0993f`](https://github.com/wevm/viem/commit/e8bc0fb9de7ac4155431ae5de6566616e3a0993f) Thanks [@jxom](https://github.com/jxom)! - Fixed `observe` retaining listener and cleanup cache entries after the last listener unwatched.
|
|
36
|
+
|
|
37
|
+
- [#4613](https://github.com/wevm/viem/pull/4613) [`bd1d24420a324cf51ce2ea4efec2d7d048c5d3be`](https://github.com/wevm/viem/commit/bd1d24420a324cf51ce2ea4efec2d7d048c5d3be) Thanks [@Kropiunig](https://github.com/Kropiunig)! - Fixed `encodeEventTopics` incorrectly prepending the event signature as a topic for anonymous events.
|
|
38
|
+
|
|
39
|
+
- [#4601](https://github.com/wevm/viem/pull/4601) [`449c5f6a239d04f5ef7c5031430fb3c8013d4119`](https://github.com/wevm/viem/commit/449c5f6a239d04f5ef7c5031430fb3c8013d4119) Thanks [@o19k](https://github.com/o19k)! - Fixed `socketClient.close()` triggering an unwanted reconnect loop that prevented the Node.js process from exiting.
|
|
40
|
+
|
|
41
|
+
- [#4625](https://github.com/wevm/viem/pull/4625) [`ddee0b2f61723ba0a3e5b447da0f4b9db493c1f5`](https://github.com/wevm/viem/commit/ddee0b2f61723ba0a3e5b447da0f4b9db493c1f5) Thanks [@jxom](https://github.com/jxom)! - Fixed `morphHolesky` block explorer `apiUrl` (removed trailing `?`).
|
|
42
|
+
|
|
43
|
+
- [#4612](https://github.com/wevm/viem/pull/4612) [`552b7f7e755342e37e01fb57d79904b3e0689000`](https://github.com/wevm/viem/commit/552b7f7e755342e37e01fb57d79904b3e0689000) Thanks [@deodad](https://github.com/deodad)! - Fixed `prepareTransactionRequest` return types to preserve chain-specific transaction types.
|
|
44
|
+
|
|
45
|
+
- [#4599](https://github.com/wevm/viem/pull/4599) [`2e9745406453746cc4890c57c2bab55c46b34eb4`](https://github.com/wevm/viem/commit/2e9745406453746cc4890c57c2bab55c46b34eb4) Thanks [@esorense](https://github.com/esorense)! - Fixed `sova` block explorer default URL.
|
|
46
|
+
|
|
47
|
+
- [#4603](https://github.com/wevm/viem/pull/4603) [`0354bb3c6702b32a3761776e5e15eecaa299d0e5`](https://github.com/wevm/viem/commit/0354bb3c6702b32a3761776e5e15eecaa299d0e5) Thanks [@satyakwok](https://github.com/satyakwok)! - Added Sentrix Chain (`sentrix`, id `7119`) and Sentrix Testnet (`sentrixTestnet`, id `7120`) chain definitions.
|
|
48
|
+
|
|
49
|
+
- [#4633](https://github.com/wevm/viem/pull/4633) [`84fb78fdb015ae1c83fe7372e1317254cbf9f989`](https://github.com/wevm/viem/commit/84fb78fdb015ae1c83fe7372e1317254cbf9f989) Thanks [@jxom](https://github.com/jxom)! - Fixed `getEnsAddress` decoding offchain DNS address records when `coinType` was specified.
|
|
50
|
+
|
|
51
|
+
- [#4620](https://github.com/wevm/viem/pull/4620) [`277c636492387be5f2b0b50bee252d22900baf29`](https://github.com/wevm/viem/commit/277c636492387be5f2b0b50bee252d22900baf29) Thanks [@nikitakent](https://github.com/nikitakent)! - Added the MIZUHIKI Testnet Awaji
|
|
52
|
+
|
|
53
|
+
- [#4634](https://github.com/wevm/viem/pull/4634) [`e7b71e59dd9e28f60750e3184b8f71a9e9cb4ddf`](https://github.com/wevm/viem/commit/e7b71e59dd9e28f60750e3184b8f71a9e9cb4ddf) Thanks [@jxom](https://github.com/jxom)! - Fixed `nonceManager` resetting stale nonces after failed transaction submissions.
|
|
54
|
+
|
|
55
|
+
- [#4596](https://github.com/wevm/viem/pull/4596) [`0c71a69e54b871ab3835d4551d647a2ade80b135`](https://github.com/wevm/viem/commit/0c71a69e54b871ab3835d4551d647a2ade80b135) Thanks [@cmende](https://github.com/cmende)! - Fixed `verifyHash` for Tempo `allowAccessKey` mode with `secp256k1` keychain access keys, whose inner envelope did not carry a `publicKey`.
|
|
56
|
+
|
|
57
|
+
## 2.49.3
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- [#4621](https://github.com/wevm/viem/pull/4621) [`6d80eaeea315c552a57e9683607ed36f7d219a9e`](https://github.com/wevm/viem/commit/6d80eaeea315c552a57e9683607ed36f7d219a9e) Thanks [@Blessing-Circle](https://github.com/Blessing-Circle)! - Added Arc chain.
|
|
62
|
+
|
|
63
|
+
- [#4622](https://github.com/wevm/viem/pull/4622) [`c5dc4d63506f787e92417eff77dd0ef84e3a2c8c`](https://github.com/wevm/viem/commit/c5dc4d63506f787e92417eff77dd0ef84e3a2c8c) Thanks [@struong](https://github.com/struong)! - `viem/tempo`: Preserved `feeToken` on broadcast envelope when `feePayerSignature` is present. Previously stripped unconditionally when `feePayer === true`, breaking fee payer signature verification on-chain.
|
|
64
|
+
|
|
3
65
|
## 2.49.2
|
|
4
66
|
|
|
5
67
|
### Patch Changes
|
|
@@ -4,7 +4,9 @@ exports.getEnsAddress = getEnsAddress;
|
|
|
4
4
|
const abis_js_1 = require("../../constants/abis.js");
|
|
5
5
|
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
|
|
6
6
|
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
|
|
7
|
+
const getAddress_js_1 = require("../../utils/address/getAddress.js");
|
|
7
8
|
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
|
|
9
|
+
const size_js_1 = require("../../utils/data/size.js");
|
|
8
10
|
const trim_js_1 = require("../../utils/data/trim.js");
|
|
9
11
|
const toHex_js_1 = require("../../utils/encoding/toHex.js");
|
|
10
12
|
const errors_js_1 = require("../../utils/ens/errors.js");
|
|
@@ -57,12 +59,7 @@ async function getEnsAddress(client, parameters) {
|
|
|
57
59
|
const res = await readContractAction(readContractParameters);
|
|
58
60
|
if (res[0] === '0x')
|
|
59
61
|
return null;
|
|
60
|
-
const address = (0,
|
|
61
|
-
abi: abis_js_1.addressResolverAbi,
|
|
62
|
-
args,
|
|
63
|
-
functionName: 'addr',
|
|
64
|
-
data: res[0],
|
|
65
|
-
});
|
|
62
|
+
const address = decodeAddress({ coinType, data: res[0], args });
|
|
66
63
|
if (address === '0x')
|
|
67
64
|
return null;
|
|
68
65
|
if ((0, trim_js_1.trim)(address) === '0x00')
|
|
@@ -77,4 +74,22 @@ async function getEnsAddress(client, parameters) {
|
|
|
77
74
|
throw err;
|
|
78
75
|
}
|
|
79
76
|
}
|
|
77
|
+
function decodeAddress({ coinType, data, args, }) {
|
|
78
|
+
try {
|
|
79
|
+
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
|
|
80
|
+
abi: abis_js_1.addressResolverAbi,
|
|
81
|
+
args,
|
|
82
|
+
functionName: 'addr',
|
|
83
|
+
data,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (coinType == null)
|
|
88
|
+
throw err;
|
|
89
|
+
const address = (0, trim_js_1.trim)(data);
|
|
90
|
+
if ((0, size_js_1.size)(address) === 20)
|
|
91
|
+
return (0, getAddress_js_1.getAddress)(address);
|
|
92
|
+
throw err;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
80
95
|
//# sourceMappingURL=getEnsAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEnsAddress.js","sourceRoot":"","sources":["../../../actions/ens/getEnsAddress.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getEnsAddress.js","sourceRoot":"","sources":["../../../actions/ens/getEnsAddress.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,9 @@ const utils_js_1 = require("../../errors/utils.js");
|
|
|
15
15
|
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
|
|
16
16
|
const encodeDeployData_js_1 = require("../../utils/abi/encodeDeployData.js");
|
|
17
17
|
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
|
|
18
|
+
const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js");
|
|
19
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
18
20
|
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
|
|
19
|
-
const toHex_js_1 = require("../../utils/encoding/toHex.js");
|
|
20
21
|
const getCallError_js_1 = require("../../utils/errors/getCallError.js");
|
|
21
22
|
const extract_js_1 = require("../../utils/formatters/extract.js");
|
|
22
23
|
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
|
|
@@ -24,7 +25,7 @@ const createBatchScheduler_js_1 = require("../../utils/promise/createBatchSchedu
|
|
|
24
25
|
const stateOverride_js_1 = require("../../utils/stateOverride.js");
|
|
25
26
|
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
|
|
26
27
|
async function call(client, args) {
|
|
27
|
-
const { account: account_ = client.account, authorizationList, batch = Boolean(client.batch?.multicall), blockNumber, blockTag = client.experimental_blockTag ?? 'latest', accessList, blobs, blockOverrides, code, data: data_, factory, factoryData, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, requestOptions, to, value, stateOverride, ...rest } = args;
|
|
28
|
+
const { account: account_ = client.account, authorizationList, batch = Boolean(client.batch?.multicall), blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', requireCanonical, accessList, blobs, blockOverrides, code, data: data_, factory, factoryData, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, requestOptions, to, value, stateOverride, ...rest } = args;
|
|
28
29
|
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
|
|
29
30
|
if (code && (factory || factoryData))
|
|
30
31
|
throw new base_js_1.BaseError('Cannot provide both `code` & `factory`/`factoryData` as parameters.');
|
|
@@ -50,8 +51,12 @@ async function call(client, args) {
|
|
|
50
51
|
})();
|
|
51
52
|
try {
|
|
52
53
|
(0, assertRequest_js_1.assertRequest)(args);
|
|
53
|
-
const
|
|
54
|
-
|
|
54
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
55
|
+
blockHash,
|
|
56
|
+
blockNumber,
|
|
57
|
+
blockTag,
|
|
58
|
+
requireCanonical,
|
|
59
|
+
});
|
|
55
60
|
const rpcBlockOverrides = blockOverrides
|
|
56
61
|
? BlockOverrides.toRpc(blockOverrides)
|
|
57
62
|
: undefined;
|
|
@@ -76,15 +81,28 @@ async function call(client, args) {
|
|
|
76
81
|
}, 'call');
|
|
77
82
|
if (batch &&
|
|
78
83
|
shouldPerformMulticall({ request }) &&
|
|
79
|
-
!
|
|
80
|
-
|
|
84
|
+
!rpcBlockOverrides &&
|
|
85
|
+
blockHash === undefined) {
|
|
81
86
|
try {
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
const { deployless = false } = typeof client.batch?.multicall === 'object'
|
|
88
|
+
? client.batch.multicall
|
|
89
|
+
: {};
|
|
90
|
+
const multicallAddress = getMulticallAddress(client, {
|
|
84
91
|
blockNumber,
|
|
85
|
-
|
|
86
|
-
requestOptions,
|
|
92
|
+
deployless,
|
|
87
93
|
});
|
|
94
|
+
if (!multicallAddress ||
|
|
95
|
+
!hasStateOverrideForAddress(rpcStateOverride, multicallAddress))
|
|
96
|
+
return await scheduleMulticall(client, {
|
|
97
|
+
...request,
|
|
98
|
+
blockHash,
|
|
99
|
+
blockNumber,
|
|
100
|
+
blockTag,
|
|
101
|
+
multicallAddress,
|
|
102
|
+
requestOptions,
|
|
103
|
+
requireCanonical,
|
|
104
|
+
rpcStateOverride,
|
|
105
|
+
});
|
|
88
106
|
}
|
|
89
107
|
catch (err) {
|
|
90
108
|
if (!(err instanceof chain_js_1.ClientChainNotConfiguredError) &&
|
|
@@ -161,25 +179,25 @@ function getRequestOptionsId(requestOptions) {
|
|
|
161
179
|
}
|
|
162
180
|
async function scheduleMulticall(client, args) {
|
|
163
181
|
const { batchSize = 1024, deployless = false, wait = 0, } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};
|
|
164
|
-
const { blockNumber, blockTag = client.experimental_blockTag ?? 'latest', data, requestOptions, to, } = args;
|
|
165
|
-
const multicallAddress =
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
182
|
+
const { blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', requireCanonical, data, multicallAddress: multicallAddress_, requestOptions, rpcStateOverride, to, } = args;
|
|
183
|
+
const multicallAddress = multicallAddress_ !== undefined
|
|
184
|
+
? multicallAddress_
|
|
185
|
+
: getMulticallAddress(client, {
|
|
186
|
+
blockNumber,
|
|
187
|
+
deployless,
|
|
188
|
+
});
|
|
189
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
190
|
+
blockHash,
|
|
191
|
+
blockNumber,
|
|
192
|
+
blockTag,
|
|
193
|
+
requireCanonical,
|
|
194
|
+
});
|
|
195
|
+
const blockId = typeof block === 'string' ? block : JSON.stringify(block);
|
|
196
|
+
const stateOverrideKey = rpcStateOverride
|
|
197
|
+
? `.${JSON.stringify(rpcStateOverride)}`
|
|
198
|
+
: '';
|
|
181
199
|
const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({
|
|
182
|
-
id: `${client.uid}.${
|
|
200
|
+
id: `${client.uid}.${blockId}.${getRequestOptionsId(requestOptions)}${stateOverrideKey}`,
|
|
183
201
|
wait,
|
|
184
202
|
shouldSplitBatch(args) {
|
|
185
203
|
const size = args.reduce((size, { data }) => size + (data.length - 2), 0);
|
|
@@ -196,21 +214,21 @@ async function scheduleMulticall(client, args) {
|
|
|
196
214
|
args: [calls],
|
|
197
215
|
functionName: 'aggregate3',
|
|
198
216
|
});
|
|
217
|
+
const multicallRequest = {
|
|
218
|
+
...(multicallAddress === null
|
|
219
|
+
? {
|
|
220
|
+
data: toDeploylessCallViaBytecodeData({
|
|
221
|
+
code: contracts_js_1.multicall3Bytecode,
|
|
222
|
+
data: calldata,
|
|
223
|
+
}),
|
|
224
|
+
}
|
|
225
|
+
: { to: multicallAddress, data: calldata }),
|
|
226
|
+
};
|
|
199
227
|
const data = await client.request({
|
|
200
228
|
method: 'eth_call',
|
|
201
|
-
params:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
? {
|
|
205
|
-
data: toDeploylessCallViaBytecodeData({
|
|
206
|
-
code: contracts_js_1.multicall3Bytecode,
|
|
207
|
-
data: calldata,
|
|
208
|
-
}),
|
|
209
|
-
}
|
|
210
|
-
: { to: multicallAddress, data: calldata }),
|
|
211
|
-
},
|
|
212
|
-
block,
|
|
213
|
-
],
|
|
229
|
+
params: rpcStateOverride
|
|
230
|
+
? [multicallRequest, block, rpcStateOverride]
|
|
231
|
+
: [multicallRequest, block],
|
|
214
232
|
}, requestOptions);
|
|
215
233
|
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
|
|
216
234
|
abi: abis_js_1.multicall3Abi,
|
|
@@ -227,6 +245,23 @@ async function scheduleMulticall(client, args) {
|
|
|
227
245
|
return { data: undefined };
|
|
228
246
|
return { data: returnData };
|
|
229
247
|
}
|
|
248
|
+
function getMulticallAddress(client, parameters) {
|
|
249
|
+
const { blockNumber, deployless } = parameters;
|
|
250
|
+
if (deployless)
|
|
251
|
+
return null;
|
|
252
|
+
if (client.chain)
|
|
253
|
+
return (0, getChainContractAddress_js_1.getChainContractAddress)({
|
|
254
|
+
blockNumber,
|
|
255
|
+
chain: client.chain,
|
|
256
|
+
contract: 'multicall3',
|
|
257
|
+
});
|
|
258
|
+
throw new chain_js_1.ClientChainNotConfiguredError();
|
|
259
|
+
}
|
|
260
|
+
function hasStateOverrideForAddress(rpcStateOverride, address) {
|
|
261
|
+
if (!rpcStateOverride)
|
|
262
|
+
return false;
|
|
263
|
+
return Object.keys(rpcStateOverride).some((stateOverrideAddress) => (0, isAddressEqual_js_1.isAddressEqual)(stateOverrideAddress, address));
|
|
264
|
+
}
|
|
230
265
|
function toDeploylessCallViaBytecodeData(parameters) {
|
|
231
266
|
const { code, data } = parameters;
|
|
232
267
|
return (0, encodeDeployData_js_1.encodeDeployData)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../actions/public/call.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../actions/public/call.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,16 @@ exports.getBalance = getBalance;
|
|
|
4
4
|
const abis_js_1 = require("../../constants/abis.js");
|
|
5
5
|
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
|
|
6
6
|
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
|
|
7
|
-
const
|
|
7
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
8
8
|
const getAction_js_1 = require("../../utils/getAction.js");
|
|
9
9
|
const call_js_1 = require("./call.js");
|
|
10
|
-
async function getBalance(client, { address, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', }) {
|
|
10
|
+
async function getBalance(client, { address, blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', requireCanonical, }) {
|
|
11
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
12
|
+
blockHash,
|
|
13
|
+
blockNumber,
|
|
14
|
+
blockTag,
|
|
15
|
+
requireCanonical,
|
|
16
|
+
});
|
|
11
17
|
if (client.batch?.multicall && client.chain?.contracts?.multicall3) {
|
|
12
18
|
const multicall3Address = client.chain.contracts.multicall3.address;
|
|
13
19
|
const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({
|
|
@@ -18,8 +24,10 @@ async function getBalance(client, { address, blockNumber, blockTag = client.expe
|
|
|
18
24
|
const { data } = await (0, getAction_js_1.getAction)(client, call_js_1.call, 'call')({
|
|
19
25
|
to: multicall3Address,
|
|
20
26
|
data: calldata,
|
|
27
|
+
blockHash,
|
|
21
28
|
blockNumber,
|
|
22
29
|
blockTag,
|
|
30
|
+
requireCanonical,
|
|
23
31
|
});
|
|
24
32
|
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
|
|
25
33
|
abi: abis_js_1.multicall3Abi,
|
|
@@ -28,10 +36,9 @@ async function getBalance(client, { address, blockNumber, blockTag = client.expe
|
|
|
28
36
|
data: data || '0x',
|
|
29
37
|
});
|
|
30
38
|
}
|
|
31
|
-
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
|
|
32
39
|
const balance = await client.request({
|
|
33
40
|
method: 'eth_getBalance',
|
|
34
|
-
params: [address,
|
|
41
|
+
params: [address, block],
|
|
35
42
|
});
|
|
36
43
|
return BigInt(balance);
|
|
37
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../actions/public/getBalance.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../actions/public/getBalance.ts"],"names":[],"mappings":";;AAyFA,gCAoDC;AAzID,qDAAuD;AAKvD,qFAA8E;AAC9E,iFAA0E;AAC1E,uFAGkD;AAElD,2DAAoD;AACpD,uCAAqD;AAwE9C,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,EACE,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,MAAM,CAAC,qBAAqB,IAAI,QAAQ,EACnD,gBAAgB,GACK;IAEvB,MAAM,KAAK,GAAG,IAAA,8CAAoB,EAAC;QACjC,SAAS;QACT,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAA;QAEnE,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC;YAClC,GAAG,EAAE,uBAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wBAAS,EAC9B,MAAM,EACN,cAAI,EACJ,MAAM,CACP,CAAC;YACA,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,WAAW;YACX,QAAQ;YACR,gBAAgB;SACmB,CAAC,CAAA;QAEtC,OAAO,IAAA,8CAAoB,EAAC;YAC1B,GAAG,EAAE,uBAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,IAAI,IAAI,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KACzB,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCode = getCode;
|
|
4
|
-
const
|
|
5
|
-
async function getCode(client, { address, blockNumber, blockTag = 'latest' }) {
|
|
6
|
-
const
|
|
4
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
5
|
+
async function getCode(client, { address, blockHash, blockNumber, blockTag = 'latest', requireCanonical, }) {
|
|
6
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
7
|
+
blockHash,
|
|
8
|
+
blockNumber,
|
|
9
|
+
blockTag,
|
|
10
|
+
requireCanonical,
|
|
11
|
+
});
|
|
7
12
|
const hex = await client.request({
|
|
8
13
|
method: 'eth_getCode',
|
|
9
|
-
params: [address,
|
|
10
|
-
}, {
|
|
14
|
+
params: [address, block],
|
|
15
|
+
}, {
|
|
16
|
+
dedupe: typeof blockNumber === 'bigint' || blockHash !== undefined,
|
|
17
|
+
});
|
|
11
18
|
if (hex === '0x')
|
|
12
19
|
return undefined;
|
|
13
20
|
return hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCode.js","sourceRoot":"","sources":["../../../actions/public/getCode.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getCode.js","sourceRoot":"","sources":["../../../actions/public/getCode.ts"],"names":[],"mappings":";;AAqEA,0BA2BC;AAxFD,uFAGkD;AA0D3C,KAAK,UAAU,OAAO,CAC3B,MAAgC,EAChC,EACE,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,gBAAgB,GACE;IAEpB,MAAM,KAAK,GAAG,IAAA,8CAAoB,EAAC;QACjC,SAAS;QACT,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAC9B;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KACzB,EACD;QACE,MAAM,EAAE,OAAO,WAAW,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;KACnE,CACF,CAAA;IACD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAClC,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getProof = getProof;
|
|
4
|
-
const
|
|
4
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
5
5
|
const proof_js_1 = require("../../utils/formatters/proof.js");
|
|
6
|
-
async function getProof(client, { address, blockNumber, blockTag
|
|
7
|
-
const
|
|
8
|
-
|
|
6
|
+
async function getProof(client, { address, blockHash, blockNumber, blockTag = 'latest', requireCanonical, storageKeys, }) {
|
|
7
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
8
|
+
blockHash,
|
|
9
|
+
blockNumber,
|
|
10
|
+
blockTag,
|
|
11
|
+
requireCanonical,
|
|
12
|
+
});
|
|
9
13
|
const proof = await client.request({
|
|
10
14
|
method: 'eth_getProof',
|
|
11
|
-
params: [address, storageKeys,
|
|
15
|
+
params: [address, storageKeys, block],
|
|
12
16
|
});
|
|
13
17
|
return (0, proof_js_1.formatProof)(proof);
|
|
14
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProof.js","sourceRoot":"","sources":["../../../actions/public/getProof.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getProof.js","sourceRoot":"","sources":["../../../actions/public/getProof.ts"],"names":[],"mappings":";;AAoFA,4BAwBC;AApGD,uFAGkD;AAElD,8DAGwC;AAoEjC,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,EACE,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,gBAAgB,EAChB,WAAW,GACQ;IAErB,MAAM,KAAK,GAAG,IAAA,8CAAoB,EAAC;QACjC,SAAS;QACT,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;KACtC,CAAC,CAAA;IAEF,OAAO,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getStorageAt = getStorageAt;
|
|
4
|
-
const
|
|
5
|
-
async function getStorageAt(client, { address, blockNumber, blockTag = 'latest', slot }) {
|
|
6
|
-
const
|
|
4
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
5
|
+
async function getStorageAt(client, { address, blockHash, blockNumber, blockTag = 'latest', requireCanonical, slot, }) {
|
|
6
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
7
|
+
blockHash,
|
|
8
|
+
blockNumber,
|
|
9
|
+
blockTag,
|
|
10
|
+
requireCanonical,
|
|
11
|
+
});
|
|
7
12
|
const data = await client.request({
|
|
8
13
|
method: 'eth_getStorageAt',
|
|
9
|
-
params: [address, slot,
|
|
14
|
+
params: [address, slot, block],
|
|
10
15
|
});
|
|
11
16
|
return data;
|
|
12
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStorageAt.js","sourceRoot":"","sources":["../../../actions/public/getStorageAt.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getStorageAt.js","sourceRoot":"","sources":["../../../actions/public/getStorageAt.ts"],"names":[],"mappings":";;AAuEA,oCAsBC;AArFD,uFAGkD;AA4D3C,KAAK,UAAU,YAAY,CAChC,MAAgC,EAChC,EACE,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,gBAAgB,EAChB,IAAI,GACmB;IAEzB,MAAM,KAAK,GAAG,IAAA,8CAAoB,EAAC;QACjC,SAAS;QACT,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;KAC/B,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTransactionCount = getTransactionCount;
|
|
4
|
+
const formatBlockParameter_js_1 = require("../../utils/block/formatBlockParameter.js");
|
|
4
5
|
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
async function getTransactionCount(client, { address, blockHash, blockNumber, blockTag = 'latest', requireCanonical, }) {
|
|
7
|
+
const block = (0, formatBlockParameter_js_1.formatBlockParameter)({
|
|
8
|
+
blockHash,
|
|
9
|
+
blockNumber,
|
|
10
|
+
blockTag,
|
|
11
|
+
requireCanonical,
|
|
12
|
+
});
|
|
7
13
|
const count = await client.request({
|
|
8
14
|
method: 'eth_getTransactionCount',
|
|
9
|
-
params: [
|
|
10
|
-
address,
|
|
11
|
-
typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : blockTag,
|
|
12
|
-
],
|
|
15
|
+
params: [address, block],
|
|
13
16
|
}, {
|
|
14
|
-
dedupe:
|
|
17
|
+
dedupe: typeof blockNumber === 'bigint' || blockHash !== undefined,
|
|
15
18
|
});
|
|
16
19
|
return (0, fromHex_js_1.hexToNumber)(count);
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionCount.js","sourceRoot":"","sources":["../../../actions/public/getTransactionCount.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getTransactionCount.js","sourceRoot":"","sources":["../../../actions/public/getTransactionCount.ts"],"names":[],"mappings":";;AA6EA,kDA6BC;AAjGD,uFAGkD;AAElD,gEAGwC;AA4DjC,KAAK,UAAU,mBAAmB,CAIvC,MAAyC,EACzC,EACE,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,gBAAgB,GACc;IAEhC,MAAM,KAAK,GAAG,IAAA,8CAAoB,EAAC;QACjC,SAAS;QACT,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;QACE,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KACzB,EACD;QACE,MAAM,EAAE,OAAO,WAAW,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;KACnE,CACF,CAAA;IACD,OAAO,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -13,7 +13,7 @@ const getContractError_js_1 = require("../../utils/errors/getContractError.js");
|
|
|
13
13
|
const getAction_js_1 = require("../../utils/getAction.js");
|
|
14
14
|
const readContract_js_1 = require("./readContract.js");
|
|
15
15
|
async function multicall(client, parameters) {
|
|
16
|
-
const { account, authorizationList, allowFailure = true, blockNumber, blockOverrides, blockTag, stateOverride, } = parameters;
|
|
16
|
+
const { account, authorizationList, allowFailure = true, blockHash, blockNumber, blockOverrides, blockTag, requireCanonical, stateOverride, } = parameters;
|
|
17
17
|
const contracts = parameters.contracts;
|
|
18
18
|
const { batchSize = parameters.batchSize ?? 1024, deployless = parameters.deployless ?? false, } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};
|
|
19
19
|
const multicallAddress = (() => {
|
|
@@ -83,10 +83,12 @@ async function multicall(client, parameters) {
|
|
|
83
83
|
account,
|
|
84
84
|
args: [calls],
|
|
85
85
|
authorizationList,
|
|
86
|
+
blockHash,
|
|
86
87
|
blockNumber,
|
|
87
88
|
blockOverrides,
|
|
88
89
|
blockTag,
|
|
89
90
|
functionName: 'aggregate3',
|
|
91
|
+
requireCanonical,
|
|
90
92
|
stateOverride,
|
|
91
93
|
})));
|
|
92
94
|
const results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../../actions/public/multicall.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../../actions/public/multicall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readContract.js","sourceRoot":"","sources":["../../../actions/public/readContract.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"readContract.js","sourceRoot":"","sources":["../../../actions/public/readContract.ts"],"names":[],"mappings":";;AA0GA,oCAyCC;AAtID,qFAGgD;AAChD,iFAI8C;AAC9C,gFAG+C;AAC/C,2DAAoD;AAEpD,uCAAyE;AA8ElE,KAAK,UAAU,YAAY,CAMhC,MAAgC,EAChC,UAA2D;IAE3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GACjD,UAAoC,CAAA;IACtC,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC;QAClC,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wBAAS,EAC9B,MAAM,EACN,cAAI,EACJ,MAAM,CACP,CAAC;YACA,GAAI,IAAuB;YAC3B,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,OAAQ;SACb,CAAC,CAAA;QACF,OAAO,IAAA,8CAAoB,EAAC;YAC1B,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,IAAI,EAAE,IAAI,IAAI,IAAI;SACnB,CAA8C,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,sCAAgB,EAAC,KAAkB,EAAE;YACzC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,6BAA6B;YACvC,YAAY;SACb,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|