viem 2.55.13 → 2.55.16

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/_cjs/actions/index.js +4 -2
  3. package/_cjs/actions/index.js.map +1 -1
  4. package/_cjs/actions/public/simulateCalls.js +213 -142
  5. package/_cjs/actions/public/simulateCalls.js.map +1 -1
  6. package/_cjs/actions/public/watchBlockHeaders.js +61 -0
  7. package/_cjs/actions/public/watchBlockHeaders.js.map +1 -0
  8. package/_cjs/clients/decorators/public.js +2 -0
  9. package/_cjs/clients/decorators/public.js.map +1 -1
  10. package/_cjs/errors/version.js +1 -1
  11. package/_cjs/index.js.map +1 -1
  12. package/_cjs/tempo/actions/earn.js +2 -0
  13. package/_cjs/tempo/actions/earn.js.map +1 -1
  14. package/_cjs/tempo/actions/zone.js +18 -8
  15. package/_cjs/tempo/actions/zone.js.map +1 -1
  16. package/_cjs/utils/siwe/parseSiweMessage.js +16 -3
  17. package/_cjs/utils/siwe/parseSiweMessage.js.map +1 -1
  18. package/_cjs/utils/siwe/validateSiweMessage.js +13 -3
  19. package/_cjs/utils/siwe/validateSiweMessage.js.map +1 -1
  20. package/_esm/actions/index.js +1 -0
  21. package/_esm/actions/index.js.map +1 -1
  22. package/_esm/actions/public/simulateCalls.js +238 -150
  23. package/_esm/actions/public/simulateCalls.js.map +1 -1
  24. package/_esm/actions/public/watchBlockHeaders.js +81 -0
  25. package/_esm/actions/public/watchBlockHeaders.js.map +1 -0
  26. package/_esm/clients/decorators/public.js +2 -0
  27. package/_esm/clients/decorators/public.js.map +1 -1
  28. package/_esm/errors/version.js +1 -1
  29. package/_esm/index.js.map +1 -1
  30. package/_esm/tempo/actions/earn.js +2 -0
  31. package/_esm/tempo/actions/earn.js.map +1 -1
  32. package/_esm/tempo/actions/zone.js +20 -8
  33. package/_esm/tempo/actions/zone.js.map +1 -1
  34. package/_esm/utils/siwe/parseSiweMessage.js +18 -3
  35. package/_esm/utils/siwe/parseSiweMessage.js.map +1 -1
  36. package/_esm/utils/siwe/validateSiweMessage.js +16 -3
  37. package/_esm/utils/siwe/validateSiweMessage.js.map +1 -1
  38. package/_types/actions/index.d.ts +1 -0
  39. package/_types/actions/index.d.ts.map +1 -1
  40. package/_types/actions/public/simulateCalls.d.ts +5 -3
  41. package/_types/actions/public/simulateCalls.d.ts.map +1 -1
  42. package/_types/actions/public/watchBlockHeaders.d.ts +45 -0
  43. package/_types/actions/public/watchBlockHeaders.d.ts.map +1 -0
  44. package/_types/clients/decorators/public.d.ts +24 -0
  45. package/_types/clients/decorators/public.d.ts.map +1 -1
  46. package/_types/errors/version.d.ts +1 -1
  47. package/_types/index.d.ts +1 -0
  48. package/_types/index.d.ts.map +1 -1
  49. package/_types/tempo/actions/earn.d.ts.map +1 -1
  50. package/_types/tempo/actions/zone.d.ts +21 -5
  51. package/_types/tempo/actions/zone.d.ts.map +1 -1
  52. package/_types/utils/siwe/parseSiweMessage.d.ts.map +1 -1
  53. package/_types/utils/siwe/validateSiweMessage.d.ts.map +1 -1
  54. package/actions/index.ts +9 -0
  55. package/actions/public/simulateCalls.ts +324 -181
  56. package/actions/public/watchBlockHeaders.ts +131 -0
  57. package/clients/decorators/public.ts +33 -0
  58. package/errors/version.ts +1 -1
  59. package/index.ts +8 -0
  60. package/package.json +1 -1
  61. package/tempo/actions/earn.ts +2 -0
  62. package/tempo/actions/zone.ts +56 -5
  63. package/utils/siwe/parseSiweMessage.ts +20 -3
  64. package/utils/siwe/validateSiweMessage.ts +13 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # viem
2
2
 
3
+ ## 2.55.16
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4997](https://github.com/wevm/viem/pull/4997) [`0c4f19a354255ec5e7e159228df36f9c8714ce0a`](https://github.com/wevm/viem/commit/0c4f19a354255ec5e7e159228df36f9c8714ce0a) Thanks [@Ghadi8](https://github.com/Ghadi8)! - Fixed `simulateCalls` asset discovery across reverting, state-dependent, malformed, and newly deployed tokens while pinning stable block tags and isolating balance probes.
8
+
9
+ - [#4990](https://github.com/wevm/viem/pull/4990) [`cd1d2d51849f78e20f09e4a26f4c0a20afa84bb4`](https://github.com/wevm/viem/commit/cd1d2d51849f78e20f09e4a26f4c0a20afa84bb4) Thanks [@SashaMIT](https://github.com/SashaMIT)! - Required EIP-4361 / RFC 3339 date-time strings and rejected invalid `time`.
10
+
11
+ ## 2.55.15
12
+
13
+ ### Patch Changes
14
+
15
+ - [#5002](https://github.com/wevm/viem/pull/5002) [`8f7ef0435914133582633004d123eb2e5fe5a35b`](https://github.com/wevm/viem/commit/8f7ef0435914133582633004d123eb2e5fe5a35b) Thanks [@struong](https://github.com/struong)! - Bound encrypted Zone deposits to the parent-chain portal caller.
16
+
17
+ ## 2.55.14
18
+
19
+ ### Patch Changes
20
+
21
+ - [#4999](https://github.com/wevm/viem/pull/4999) [`2d7e83757373a8333dd55a43080c5cd697065a80`](https://github.com/wevm/viem/commit/2d7e83757373a8333dd55a43080c5cd697065a80) Thanks [@jxom](https://github.com/jxom)! - Added `watchBlockHeaders` for emitting formatted subscription headers without refetching full blocks.
22
+
23
+ ```ts
24
+ watchBlockHeaders(client, { onBlockHeader });
25
+ ```
26
+
3
27
  ## 2.55.13
4
28
 
5
29
  ### Patch Changes
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyTypedData = exports.verifyMessage = exports.verifyHash = exports.uninstallFilter = exports.simulateContract = exports.simulateCalls = exports.simulate = exports.simulateBlocks = exports.readContract = exports.multicall = exports.getTransactionReceipt = exports.getTransactionCount = exports.getTransactionConfirmations = exports.getTransaction = exports.getStorageAt = exports.getRawTransaction = exports.getProof = exports.getLogs = exports.getGasPrice = exports.getFilterLogs = exports.getFilterChanges = exports.getFeeHistory = exports.getEip712Domain = exports.getDelegation = exports.getContractEvents = exports.getCode = exports.getBytecode = exports.getChainId = exports.getBlockTransactionCount = exports.getBlockReceipts = exports.getBlockNumber = exports.getBlock = exports.getBlobBaseFee = exports.getBalance = exports.fillTransaction = exports.estimateMaxPriorityFeePerGas = exports.estimateGas = exports.estimateFeesPerGas = exports.estimateContractGas = exports.createPendingTransactionFilter = exports.createEventFilter = exports.createContractEventFilter = exports.createBlockFilter = exports.createAccessList = exports.call = exports.getEnsText = exports.getEnsResolver = exports.getEnsName = exports.getEnsAvatar = exports.getEnsAddress = void 0;
4
- exports.sendCallsSync = exports.sendCalls = exports.requestPermissions = exports.requestAddresses = exports.prepareTransactionRequest = exports.defaultPrepareTransactionRequestParameters = exports.prepareAuthorization = exports.getPermissions = exports.getCapabilities = exports.getCallsStatus = exports.getAddresses = exports.deployContract = exports.addChain = exports.token = exports.stopImpersonatingAccount = exports.snapshot = exports.setStorageAt = exports.setRpcUrl = exports.setNonce = exports.setNextBlockTimestamp = exports.setNextBlockBaseFeePerGas = exports.setMinGasPrice = exports.setLoggingEnabled = exports.setIntervalMining = exports.setCoinbase = exports.setCode = exports.setBlockTimestampInterval = exports.setBlockGasLimit = exports.setBalance = exports.setAutomine = exports.sendUnsignedTransaction = exports.revert = exports.reset = exports.removeBlockTimestampInterval = exports.mine = exports.loadState = exports.inspectTxpool = exports.increaseTime = exports.impersonateAccount = exports.getTxpoolStatus = exports.getTxpoolContent = exports.getAutomine = exports.dumpState = exports.dropTransaction = exports.watchPendingTransactions = exports.watchEvent = exports.watchContractEvent = exports.watchBlocks = exports.watchBlockNumber = exports.waitForTransactionReceipt = void 0;
5
- exports.writeContractSync = exports.writeContract = exports.watchAsset = exports.waitForCallsStatus = exports.switchChain = exports.signTypedData = exports.signTransaction = exports.signMessage = exports.signAuthorization = exports.showCallsStatus = exports.sendTransactionSync = exports.sendTransaction = exports.sendRawTransactionSync = exports.sendRawTransaction = void 0;
4
+ exports.sendCalls = exports.requestPermissions = exports.requestAddresses = exports.prepareTransactionRequest = exports.defaultPrepareTransactionRequestParameters = exports.prepareAuthorization = exports.getPermissions = exports.getCapabilities = exports.getCallsStatus = exports.getAddresses = exports.deployContract = exports.addChain = exports.token = exports.stopImpersonatingAccount = exports.snapshot = exports.setStorageAt = exports.setRpcUrl = exports.setNonce = exports.setNextBlockTimestamp = exports.setNextBlockBaseFeePerGas = exports.setMinGasPrice = exports.setLoggingEnabled = exports.setIntervalMining = exports.setCoinbase = exports.setCode = exports.setBlockTimestampInterval = exports.setBlockGasLimit = exports.setBalance = exports.setAutomine = exports.sendUnsignedTransaction = exports.revert = exports.reset = exports.removeBlockTimestampInterval = exports.mine = exports.loadState = exports.inspectTxpool = exports.increaseTime = exports.impersonateAccount = exports.getTxpoolStatus = exports.getTxpoolContent = exports.getAutomine = exports.dumpState = exports.dropTransaction = exports.watchPendingTransactions = exports.watchEvent = exports.watchContractEvent = exports.watchBlocks = exports.watchBlockNumber = exports.watchBlockHeaders = exports.waitForTransactionReceipt = void 0;
5
+ exports.writeContractSync = exports.writeContract = exports.watchAsset = exports.waitForCallsStatus = exports.switchChain = exports.signTypedData = exports.signTransaction = exports.signMessage = exports.signAuthorization = exports.showCallsStatus = exports.sendTransactionSync = exports.sendTransaction = exports.sendRawTransactionSync = exports.sendRawTransaction = exports.sendCallsSync = void 0;
6
6
  var getEnsAddress_js_1 = require("./ens/getEnsAddress.js");
7
7
  Object.defineProperty(exports, "getEnsAddress", { enumerable: true, get: function () { return getEnsAddress_js_1.getEnsAddress; } });
8
8
  var getEnsAvatar_js_1 = require("./ens/getEnsAvatar.js");
@@ -103,6 +103,8 @@ var verifyTypedData_js_1 = require("./public/verifyTypedData.js");
103
103
  Object.defineProperty(exports, "verifyTypedData", { enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } });
104
104
  var waitForTransactionReceipt_js_1 = require("./public/waitForTransactionReceipt.js");
105
105
  Object.defineProperty(exports, "waitForTransactionReceipt", { enumerable: true, get: function () { return waitForTransactionReceipt_js_1.waitForTransactionReceipt; } });
106
+ var watchBlockHeaders_js_1 = require("./public/watchBlockHeaders.js");
107
+ Object.defineProperty(exports, "watchBlockHeaders", { enumerable: true, get: function () { return watchBlockHeaders_js_1.watchBlockHeaders; } });
106
108
  var watchBlockNumber_js_1 = require("./public/watchBlockNumber.js");
107
109
  Object.defineProperty(exports, "watchBlockNumber", { enumerable: true, get: function () { return watchBlockNumber_js_1.watchBlockNumber; } });
108
110
  var watchBlocks_js_1 = require("./public/watchBlocks.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.simulateCalls = simulateCalls;
4
4
  const AbiConstructor = require("ox/AbiConstructor");
5
+ const AbiEvent = require("ox/AbiEvent");
5
6
  const AbiFunction = require("ox/AbiFunction");
6
7
  const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
7
8
  const address_js_1 = require("../../constants/address.js");
8
9
  const contracts_js_1 = require("../../constants/contracts.js");
9
10
  const base_js_1 = require("../../errors/base.js");
10
- const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
11
- const index_js_1 = require("../../utils/index.js");
12
- const createAccessList_js_1 = require("./createAccessList.js");
11
+ const contract_js_1 = require("../../errors/contract.js");
12
+ const node_js_1 = require("../../errors/node.js");
13
+ const pad_js_1 = require("../../utils/data/pad.js");
14
+ const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
15
+ const call_js_1 = require("./call.js");
16
+ const getBlock_js_1 = require("./getBlock.js");
17
+ const getBlockNumber_js_1 = require("./getBlockNumber.js");
13
18
  const simulateBlocks_js_1 = require("./simulateBlocks.js");
14
19
  const getBalanceCode = '0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033';
20
+ const staticCallCode = '0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063fd00430c1461002d575b5f5ffd5b6100476004803603810190610042919061012b565b610049565b005b80825f375f5f825f865afa610060573d5f5f3e3d5ffd5b3d5f5f3e3d5ff35b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61009982610070565b9050919050565b6100a98161008f565b81146100b3575f5ffd5b50565b5f813590506100c4816100a0565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126100eb576100ea6100ca565b5b8235905067ffffffffffffffff811115610108576101076100ce565b5b602083019150836001820283011115610124576101236100d2565b5b9250929050565b5f5f5f6040848603121561014257610141610068565b5b5f61014f868287016100b6565b935050602084013567ffffffffffffffff8111156101705761016f61006c565b5b61017c868287016100d6565b9250925050925092509256fea2646970667358221220635ed99185cacf3f2acba6921f23687c969cec2bbaf5f9ad599f507e6e105e6964736f6c63430008230033';
21
+ const staticCallAddressBase = 0x00000000000000000000000000000000deadbeefn;
22
+ const transferEventSelector = AbiEvent.getSelector(AbiEvent.from('event Transfer(address indexed from, address indexed to, uint256 value)'));
23
+ const balanceOfFunction = AbiFunction.from('function balanceOf(address) returns (uint256)');
24
+ const decimalsFunction = AbiFunction.from('function decimals() returns (uint256)');
25
+ const tokenUriFunction = AbiFunction.from('function tokenURI(uint256) returns (string)');
26
+ const symbolFunction = AbiFunction.from('function symbol() returns (string)');
27
+ const staticCallFunction = AbiFunction.from('function query(address target, bytes data)');
15
28
  async function simulateCalls(client, parameters) {
16
29
  const { blockNumber, blockTag, calls, stateOverrides, traceAssetChanges, traceTransfers, validation, } = parameters;
17
30
  const account = parameters.account
@@ -28,150 +41,150 @@ async function simulateCalls(client, parameters) {
28
41
  ],
29
42
  })
30
43
  : undefined;
31
- const assetAddresses = traceAssetChanges
32
- ? await Promise.all(parameters.calls.map(async (call) => {
33
- if (!call.data && !call.abi)
34
- return;
35
- const { accessList } = await (0, createAccessList_js_1.createAccessList)(client, {
36
- account: account.address,
37
- ...call,
38
- data: call.abi ? (0, encodeFunctionData_js_1.encodeFunctionData)(call) : call.data,
39
- });
40
- return accessList.map(({ address, storageKeys }) => storageKeys.length > 0 ? address : null);
41
- })).then((x) => x.flat().filter(Boolean))
44
+ const blockTag_ = blockTag ?? client.experimental_blockTag ?? 'latest';
45
+ let baseBlockNumber = blockNumber;
46
+ if (traceAssetChanges &&
47
+ typeof baseBlockNumber !== 'bigint' &&
48
+ blockTag_ !== 'earliest' &&
49
+ blockTag_ !== 'pending') {
50
+ if (blockTag_ === 'latest')
51
+ baseBlockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client, { cacheTime: 0 });
52
+ else {
53
+ const block = await (0, getBlock_js_1.getBlock)(client, { blockTag: blockTag_ });
54
+ if (typeof block.number !== 'bigint')
55
+ throw new base_js_1.BaseError(`Block tag \`${blockTag_}\` did not resolve to a number.`);
56
+ baseBlockNumber = block.number;
57
+ }
58
+ }
59
+ const block_ = typeof baseBlockNumber === 'bigint'
60
+ ? { blockNumber: baseBlockNumber }
61
+ : { blockTag: blockTag_ };
62
+ const discovery = traceAssetChanges
63
+ ? await (0, simulateBlocks_js_1.simulateBlocks)(client, {
64
+ ...block_,
65
+ blocks: [
66
+ {
67
+ calls: calls.map((call) => ({
68
+ ...call,
69
+ from: account.address,
70
+ })),
71
+ stateOverrides,
72
+ },
73
+ ],
74
+ traceTransfers,
75
+ validation,
76
+ })
77
+ : undefined;
78
+ const assetAddresses = discovery
79
+ ? [
80
+ ...new Set([
81
+ ...tokensFromLogs(discovery[0].calls.flatMap((call) => call.logs ?? []), account.address),
82
+ ...parameters.calls.map((call) => call.to?.toLowerCase()),
83
+ ]),
84
+ ].filter((address) => Boolean(address) && address !== address_js_1.ethAddress && address !== address_js_1.zeroAddress)
42
85
  : [];
43
- const blocks = await (0, simulateBlocks_js_1.simulateBlocks)(client, {
44
- blockNumber,
45
- blockTag: blockTag,
46
- blocks: [
47
- ...(traceAssetChanges
48
- ? [
49
- {
50
- calls: [{ data: getBalanceData }],
51
- stateOverrides,
52
- },
53
- {
54
- calls: assetAddresses.map((address, i) => ({
55
- abi: [
56
- AbiFunction.from('function balanceOf(address) returns (uint256)'),
57
- ],
58
- functionName: 'balanceOf',
59
- args: [account.address],
60
- to: address,
61
- from: address_js_1.zeroAddress,
62
- nonce: i,
63
- })),
64
- stateOverrides: [
65
- {
66
- address: address_js_1.zeroAddress,
67
- nonce: 0,
68
- },
69
- ],
70
- },
71
- ]
72
- : []),
73
- {
74
- calls: [...calls, { to: address_js_1.zeroAddress }].map((call) => ({
75
- ...call,
76
- from: account?.address,
86
+ const staticCallAddress = getStaticCallAddress([
87
+ ...(account ? [account.address] : []),
88
+ ...assetAddresses,
89
+ ...(stateOverrides?.map(({ address }) => address) ?? []),
90
+ ]);
91
+ const staticCallStateOverrides = [
92
+ { address: staticCallAddress, code: staticCallCode },
93
+ ];
94
+ const [balanceCallsPre, blocks] = await Promise.all([
95
+ traceAssetChanges
96
+ ? Promise.all([
97
+ readBalance(client, {
98
+ account: account.address,
99
+ ...block_,
100
+ data: getBalanceData,
101
+ stateOverride: stateOverrides,
102
+ }),
103
+ ...assetAddresses.map((address) => readBalance(client, {
104
+ account: account.address,
105
+ address,
106
+ ...block_,
107
+ data: AbiFunction.encodeData(balanceOfFunction, [
108
+ account.address,
109
+ ]),
110
+ staticCallAddress,
111
+ stateOverride: stateOverrides,
77
112
  })),
78
- stateOverrides,
79
- },
80
- ...(traceAssetChanges
81
- ? [
82
- {
83
- calls: [{ data: getBalanceData }],
84
- },
85
- {
86
- calls: assetAddresses.map((address, i) => ({
87
- abi: [
88
- AbiFunction.from('function balanceOf(address) returns (uint256)'),
89
- ],
90
- functionName: 'balanceOf',
91
- args: [account.address],
92
- to: address,
93
- from: address_js_1.zeroAddress,
94
- nonce: i,
95
- })),
96
- stateOverrides: [
97
- {
98
- address: address_js_1.zeroAddress,
99
- nonce: 0,
100
- },
101
- ],
102
- },
103
- {
104
- calls: assetAddresses.map((address, i) => ({
105
- to: address,
106
- abi: [
107
- AbiFunction.from('function decimals() returns (uint256)'),
108
- ],
109
- functionName: 'decimals',
110
- from: address_js_1.zeroAddress,
111
- nonce: i,
112
- })),
113
- stateOverrides: [
114
- {
115
- address: address_js_1.zeroAddress,
116
- nonce: 0,
117
- },
118
- ],
119
- },
120
- {
121
- calls: assetAddresses.map((address, i) => ({
122
- to: address,
123
- abi: [
124
- AbiFunction.from('function tokenURI(uint256) returns (string)'),
125
- ],
126
- functionName: 'tokenURI',
127
- args: [0n],
128
- from: address_js_1.zeroAddress,
129
- nonce: i,
130
- })),
131
- stateOverrides: [
132
- {
133
- address: address_js_1.zeroAddress,
134
- nonce: 0,
135
- },
136
- ],
137
- },
138
- {
139
- calls: assetAddresses.map((address, i) => ({
140
- to: address,
141
- abi: [AbiFunction.from('function symbol() returns (string)')],
142
- functionName: 'symbol',
143
- from: address_js_1.zeroAddress,
144
- nonce: i,
145
- })),
146
- stateOverrides: [
147
- {
148
- address: address_js_1.zeroAddress,
149
- nonce: 0,
150
- },
151
- ],
152
- },
153
- ]
154
- : []),
155
- ],
156
- traceTransfers,
157
- validation,
158
- });
159
- const block_results = traceAssetChanges ? blocks[2] : blocks[0];
160
- const [block_ethPre, block_assetsPre, , block_ethPost, block_assetsPost, block_decimals, block_tokenURI, block_symbols,] = traceAssetChanges ? blocks : [];
113
+ ])
114
+ : [],
115
+ (0, simulateBlocks_js_1.simulateBlocks)(client, {
116
+ ...block_,
117
+ blocks: [
118
+ {
119
+ calls: [...calls, { to: address_js_1.zeroAddress }].map((call) => ({
120
+ ...call,
121
+ from: account?.address,
122
+ })),
123
+ stateOverrides,
124
+ },
125
+ ...(traceAssetChanges
126
+ ? [
127
+ {
128
+ calls: [{ data: getBalanceData }],
129
+ },
130
+ {
131
+ calls: assetAddresses.map((address) => ({
132
+ to: staticCallAddress,
133
+ data: encodeStaticCall(address, AbiFunction.encodeData(balanceOfFunction, [
134
+ account.address,
135
+ ])),
136
+ })),
137
+ stateOverrides: staticCallStateOverrides,
138
+ },
139
+ {
140
+ calls: assetAddresses.map((address) => ({
141
+ to: staticCallAddress,
142
+ data: encodeStaticCall(address, AbiFunction.encodeData(decimalsFunction)),
143
+ })),
144
+ stateOverrides: staticCallStateOverrides,
145
+ },
146
+ {
147
+ calls: assetAddresses.map((address) => ({
148
+ to: staticCallAddress,
149
+ data: encodeStaticCall(address, AbiFunction.encodeData(tokenUriFunction, [0n])),
150
+ })),
151
+ stateOverrides: staticCallStateOverrides,
152
+ },
153
+ {
154
+ calls: assetAddresses.map((address) => ({
155
+ to: staticCallAddress,
156
+ data: encodeStaticCall(address, AbiFunction.encodeData(symbolFunction)),
157
+ })),
158
+ stateOverrides: staticCallStateOverrides,
159
+ },
160
+ ]
161
+ : []),
162
+ ],
163
+ traceTransfers,
164
+ validation,
165
+ }),
166
+ ]);
167
+ const block_results = blocks[0];
168
+ const [block_ethPost, block_assetsPost, block_decimals, block_tokenURI, block_symbols,] = traceAssetChanges ? blocks.slice(1) : [];
161
169
  const { calls: block_calls, ...block } = block_results;
162
- const results = block_calls.slice(0, -1) ?? [];
163
- const ethPre = block_ethPre?.calls ?? [];
164
- const assetsPre = block_assetsPre?.calls ?? [];
165
- const balancesPre = [...ethPre, ...assetsPre].map((call) => call.status === 'success' ? (0, index_js_1.hexToBigInt)(call.data) : null);
170
+ const results = block_calls.slice(0, -1);
171
+ const balancesPre = balanceCallsPre.map((call) => isBalance(call) ? (0, fromHex_js_1.hexToBigInt)(call.data) : null);
166
172
  const ethPost = block_ethPost?.calls ?? [];
167
173
  const assetsPost = block_assetsPost?.calls ?? [];
168
- const balancesPost = [...ethPost, ...assetsPost].map((call) => call.status === 'success' ? (0, index_js_1.hexToBigInt)(call.data) : null);
169
- const decimals = (block_decimals?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
170
- const symbols = (block_symbols?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
171
- const tokenURI = (block_tokenURI?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
174
+ const balanceCallsPost = [...ethPost, ...assetsPost];
175
+ const balancesPost = balanceCallsPost.map((call) => isBalance(call) ? (0, fromHex_js_1.hexToBigInt)(call.data) : null);
176
+ const decimals = (block_decimals?.calls ?? []).map((call) => decodeAssetResult(call, decimalsFunction));
177
+ const symbols = (block_symbols?.calls ?? []).map((call) => decodeAssetResult(call, symbolFunction));
178
+ const tokenURI = (block_tokenURI?.calls ?? []).map((call) => decodeAssetResult(call, tokenUriFunction));
172
179
  const changes = [];
173
180
  for (const [i, balancePost] of balancesPost.entries()) {
174
- const balancePre = balancesPre[i];
181
+ const balancePre_ = balancesPre[i];
182
+ const preCall = balanceCallsPre[i];
183
+ const balancePre = typeof balancePre_ === 'bigint'
184
+ ? balancePre_
185
+ : i > 0 && preCall?.status === 'success' && preCall.data === '0x'
186
+ ? 0n
187
+ : null;
175
188
  if (typeof balancePost !== 'bigint')
176
189
  continue;
177
190
  if (typeof balancePre !== 'bigint')
@@ -192,8 +205,6 @@ async function simulateCalls(client, parameters) {
192
205
  symbol: symbol_ ?? undefined,
193
206
  };
194
207
  })();
195
- if (changes.some((change) => change.token.address === token.address))
196
- continue;
197
208
  changes.push({
198
209
  token,
199
210
  value: {
@@ -209,4 +220,64 @@ async function simulateCalls(client, parameters) {
209
220
  results,
210
221
  };
211
222
  }
223
+ function encodeStaticCall(address, data) {
224
+ return AbiFunction.encodeData(staticCallFunction, [address, data]);
225
+ }
226
+ function tokensFromLogs(logs, account) {
227
+ const account_ = (0, pad_js_1.pad)(account.toLowerCase(), { size: 32 });
228
+ return logs
229
+ .filter((log) => {
230
+ if (log.topics[0]?.toLowerCase() !== transferEventSelector)
231
+ return false;
232
+ if (log.address.toLowerCase() === address_js_1.ethAddress)
233
+ return false;
234
+ return (log.topics[1]?.toLowerCase() === account_ ||
235
+ log.topics[2]?.toLowerCase() === account_);
236
+ })
237
+ .map((log) => log.address.toLowerCase());
238
+ }
239
+ function isBalance(call) {
240
+ return call.status === 'success' && /^0x[\da-f]{64}$/i.test(call.data);
241
+ }
242
+ function decodeAssetResult(call, abiFunction) {
243
+ if (call.status === 'failure' || call.data === '0x')
244
+ return null;
245
+ try {
246
+ return AbiFunction.decodeResult(abiFunction, call.data);
247
+ }
248
+ catch {
249
+ return null;
250
+ }
251
+ }
252
+ async function readBalance(client, parameters) {
253
+ const { account, address, blockNumber, blockTag, data, staticCallAddress, stateOverride, } = parameters;
254
+ try {
255
+ const result = await (0, call_js_1.call)({ ...client, ccipRead: false }, {
256
+ account: address ? address_js_1.zeroAddress : account,
257
+ data: address ? encodeStaticCall(address, data) : data,
258
+ stateOverride: address && staticCallAddress
259
+ ? [
260
+ ...(stateOverride ?? []),
261
+ { address: staticCallAddress, code: staticCallCode },
262
+ ]
263
+ : stateOverride,
264
+ ...(address ? { to: staticCallAddress } : {}),
265
+ ...(typeof blockNumber === 'bigint' ? { blockNumber } : { blockTag }),
266
+ });
267
+ return { data: result.data ?? '0x', status: 'success' };
268
+ }
269
+ catch (error) {
270
+ if (!(error instanceof contract_js_1.CallExecutionError) ||
271
+ !(error.cause instanceof node_js_1.ExecutionRevertedError))
272
+ throw error;
273
+ return { data: '0x', status: 'failure' };
274
+ }
275
+ }
276
+ function getStaticCallAddress(addresses) {
277
+ const occupied = new Set(addresses.map((address) => address.toLowerCase()));
278
+ let value = staticCallAddressBase;
279
+ while (occupied.has(`0x${value.toString(16).padStart(40, '0')}`))
280
+ value++;
281
+ return `0x${value.toString(16).padStart(40, '0')}`;
282
+ }
212
283
  //# sourceMappingURL=simulateCalls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulateCalls.js","sourceRoot":"","sources":["../../../actions/public/simulateCalls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulateCalls.js","sourceRoot":"","sources":["../../../actions/public/simulateCalls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watchBlockHeaders = watchBlockHeaders;
4
+ const block_js_1 = require("../../utils/formatters/block.js");
5
+ const observe_js_1 = require("../../utils/observe.js");
6
+ const stringify_js_1 = require("../../utils/stringify.js");
7
+ const blockFields = [
8
+ 'size',
9
+ 'totalDifficulty',
10
+ 'transactions',
11
+ 'uncles',
12
+ 'withdrawals',
13
+ ];
14
+ function watchBlockHeaders(client, { onBlockHeader, onError, }) {
15
+ let prevBlockHeader;
16
+ const observerId = (0, stringify_js_1.stringify)(['watchBlockHeaders', client.uid]);
17
+ return (0, observe_js_1.observe)(observerId, { onBlockHeader, onError }, (emit) => {
18
+ let active = true;
19
+ let subscribed = false;
20
+ let unsubscribe = () => (active = false);
21
+ (async () => {
22
+ try {
23
+ const transport = (() => {
24
+ if (client.transport.type === 'fallback') {
25
+ const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||
26
+ transport.config.type === 'ipc');
27
+ if (!transport)
28
+ return client.transport;
29
+ return transport.value;
30
+ }
31
+ return client.transport;
32
+ })();
33
+ const { unsubscribe: unsubscribe_ } = await transport.subscribe({
34
+ params: ['newHeads'],
35
+ onData(data) {
36
+ if (!active)
37
+ return;
38
+ const blockHeader = (client.chain?.formatters?.block?.format || block_js_1.formatBlock)(data.result, 'watchBlockHeaders');
39
+ for (const field of blockFields)
40
+ delete blockHeader[field];
41
+ emit.onBlockHeader(blockHeader, prevBlockHeader);
42
+ prevBlockHeader = blockHeader;
43
+ },
44
+ onError(error) {
45
+ if (subscribed)
46
+ emit.onError?.(error);
47
+ },
48
+ });
49
+ subscribed = true;
50
+ unsubscribe = unsubscribe_;
51
+ if (!active)
52
+ unsubscribe();
53
+ }
54
+ catch (err) {
55
+ emit.onError?.(err);
56
+ }
57
+ })();
58
+ return () => unsubscribe();
59
+ });
60
+ }
61
+ //# sourceMappingURL=watchBlockHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchBlockHeaders.js","sourceRoot":"","sources":["../../../actions/public/watchBlockHeaders.ts"],"names":[],"mappings":";;AAoEA,8CA8DC;AA7HD,8DAA6D;AAC7D,uDAAgD;AAChD,2DAA6E;AAI7E,MAAM,WAAW,GAAG;IAClB,MAAM;IACN,iBAAiB;IACjB,cAAc;IACd,QAAQ;IACR,aAAa;CACL,CAAA;AAmDV,SAAgB,iBAAiB,CAI/B,MAAgC,EAChC,EACE,aAAa,EACb,OAAO,GAGA;IAET,IAAI,eAA0D,CAAA;IAE9D,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAE/D,OAAO,IAAA,oBAAO,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CACvC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;oBACtB,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAChD,CAAC,SAAgC,EAAE,EAAE,CACnC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;4BACrC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAClC,CAAA;wBACD,IAAI,CAAC,SAAS;4BAAE,OAAO,MAAM,CAAC,SAAS,CAAA;wBACvC,OAAO,SAAS,CAAC,KAAK,CAAA;oBACxB,CAAC;oBACD,OAAO,MAAM,CAAC,SAAS,CAAA;gBACzB,CAAC,CAAC,EAAE,CAAA;gBAEJ,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC;oBAC9D,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,MAAM,CAAC,IAAS;wBACd,IAAI,CAAC,MAAM;4BAAE,OAAM;wBACnB,MAAM,WAAW,GAAG,CAClB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,sBAAW,CACvD,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;wBACnC,KAAK,MAAM,KAAK,IAAI,WAAW;4BAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;wBAC1D,IAAI,CAAC,aAAa,CAChB,WAA4C,EAC5C,eAAe,CAChB,CAAA;wBACD,eAAe,GAAG,WAA4C,CAAA;oBAChE,CAAC;oBACD,OAAO,CAAC,KAAY;wBAClB,IAAI,UAAU;4BAAE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;oBACvC,CAAC;iBACF,CAAC,CAAA;gBACF,UAAU,GAAG,IAAI,CAAA;gBACjB,WAAW,GAAG,YAAY,CAAA;gBAC1B,IAAI,CAAC,MAAM;oBAAE,WAAW,EAAE,CAAA;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -50,6 +50,7 @@ const verifyHash_js_1 = require("../../actions/public/verifyHash.js");
50
50
  const verifyMessage_js_1 = require("../../actions/public/verifyMessage.js");
51
51
  const verifyTypedData_js_1 = require("../../actions/public/verifyTypedData.js");
52
52
  const waitForTransactionReceipt_js_1 = require("../../actions/public/waitForTransactionReceipt.js");
53
+ const watchBlockHeaders_js_1 = require("../../actions/public/watchBlockHeaders.js");
53
54
  const watchBlockNumber_js_1 = require("../../actions/public/watchBlockNumber.js");
54
55
  const watchBlocks_js_1 = require("../../actions/public/watchBlocks.js");
55
56
  const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js");
@@ -118,6 +119,7 @@ function publicActions(client) {
118
119
  verifyTypedData: (args) => (0, verifyTypedData_js_1.verifyTypedData)(client, args),
119
120
  uninstallFilter: (args) => (0, uninstallFilter_js_1.uninstallFilter)(client, args),
120
121
  waitForTransactionReceipt: (args) => (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, args),
122
+ watchBlockHeaders: (args) => (0, watchBlockHeaders_js_1.watchBlockHeaders)(client, args),
121
123
  watchBlocks: (args) => (0, watchBlocks_js_1.watchBlocks)(client, args),
122
124
  watchBlockNumber: (args) => (0, watchBlockNumber_js_1.watchBlockNumber)(client, args),
123
125
  watchContractEvent: (args) => (0, watchContractEvent_js_1.watchContractEvent)(client, args),