viem 0.0.1-alpha.21 → 0.0.1-alpha.23

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 (181) hide show
  1. package/dist/{chain-32f56cfa.d.ts → chain-4b39613a.d.ts} +2 -2
  2. package/dist/{chain-f12cdc7f.d.ts → chain-aa4898d0.d.ts} +1 -1
  3. package/dist/chains.d.ts +3 -3
  4. package/dist/chains.js +46 -46
  5. package/dist/chains.mjs +1 -1
  6. package/dist/{chunk-EC3NUIJE.js → chunk-7Y5QVLX7.js} +13 -13
  7. package/dist/{chunk-EC3NUIJE.js.map → chunk-7Y5QVLX7.js.map} +1 -1
  8. package/dist/{chunk-KEHGSYDO.js → chunk-BV5NTHUX.js} +14 -13
  9. package/dist/chunk-BV5NTHUX.js.map +1 -0
  10. package/dist/{chunk-46BO7YAQ.mjs → chunk-EGVXCZNJ.mjs} +4 -3
  11. package/dist/chunk-EGVXCZNJ.mjs.map +1 -0
  12. package/dist/{chunk-57ZOFERP.mjs → chunk-GX2KDAM3.mjs} +2 -2
  13. package/dist/{chunk-57ZOFERP.mjs.map → chunk-GX2KDAM3.mjs.map} +0 -0
  14. package/dist/{chunk-W7BWWAC4.js → chunk-NW6724MI.js} +14 -14
  15. package/dist/{chunk-W7BWWAC4.js.map → chunk-NW6724MI.js.map} +0 -0
  16. package/dist/{chunk-DGO77E2H.mjs → chunk-RJLUZTJS.mjs} +86 -3
  17. package/dist/chunk-RJLUZTJS.mjs.map +1 -0
  18. package/dist/{chunk-O2GYLJVD.js → chunk-SSPRUPGN.js} +405 -165
  19. package/dist/chunk-SSPRUPGN.js.map +1 -0
  20. package/dist/{chunk-DSPMAIDO.mjs → chunk-TXHOG6KU.mjs} +2 -2
  21. package/dist/{chunk-DSPMAIDO.mjs.map → chunk-TXHOG6KU.mjs.map} +1 -1
  22. package/dist/{chunk-62VTYU2V.mjs → chunk-XBUH66KN.mjs} +406 -166
  23. package/dist/chunk-XBUH66KN.mjs.map +1 -0
  24. package/dist/{chunk-KZMJR27B.js → chunk-ZKYGWITF.js} +147 -64
  25. package/dist/chunk-ZKYGWITF.js.map +1 -0
  26. package/dist/clients/index.d.ts +7 -7
  27. package/dist/clients/index.js +3 -3
  28. package/dist/clients/index.mjs +2 -2
  29. package/dist/{contract-9af4608b.d.ts → contract-4c3a37b3.d.ts} +14 -3
  30. package/dist/{createClient-5d316c7e.d.ts → createClient-55a04188.d.ts} +2 -2
  31. package/dist/{createPublicClient-9d2b42e1.d.ts → createPublicClient-3b27b282.d.ts} +3 -3
  32. package/dist/{createTestClient-79498dab.d.ts → createTestClient-93f9eac6.d.ts} +3 -3
  33. package/dist/{createWalletClient-f69a5230.d.ts → createWalletClient-c10df94d.d.ts} +3 -3
  34. package/dist/{eip1193-6c485d63.d.ts → eip1193-4c24765a.d.ts} +1 -1
  35. package/dist/ens.d.ts +1 -0
  36. package/dist/ens.js +11 -0
  37. package/dist/ens.js.map +1 -0
  38. package/dist/ens.mjs +11 -0
  39. package/dist/ens.mjs.map +1 -0
  40. package/dist/index.d.ts +174 -113
  41. package/dist/index.js +16 -6
  42. package/dist/index.mjs +15 -5
  43. package/dist/normalize-ef9240c0.d.ts +33 -0
  44. package/dist/{parseGwei-4308ad80.d.ts → parseGwei-3411cf2d.d.ts} +101 -37
  45. package/dist/public.d.ts +9 -9
  46. package/dist/public.js +4 -4
  47. package/dist/public.mjs +3 -3
  48. package/dist/{sendTransaction-1c8290a9.d.ts → sendTransaction-f17a2389.d.ts} +3 -3
  49. package/dist/{stopImpersonatingAccount-7781842a.d.ts → stopImpersonatingAccount-afb26486.d.ts} +2 -2
  50. package/dist/test.d.ts +5 -5
  51. package/dist/test.js +3 -3
  52. package/dist/test.mjs +2 -2
  53. package/dist/{transactionRequest-341b6ed2.d.ts → transactionRequest-93e9f001.d.ts} +2 -2
  54. package/dist/utils/index.d.ts +14 -16
  55. package/dist/utils/index.js +8 -2
  56. package/dist/utils/index.mjs +7 -1
  57. package/dist/wallet.d.ts +7 -7
  58. package/dist/wallet.js +3 -3
  59. package/dist/wallet.mjs +2 -2
  60. package/dist/{watchAsset-afaad3c7.d.ts → watchAsset-efd3dd05.d.ts} +3 -3
  61. package/dist/{watchPendingTransactions-3b722547.d.ts → watchPendingTransactions-57df1a13.d.ts} +17 -27
  62. package/dist/{webSocket-b180e679.d.ts → webSocket-d2e7bd0e.d.ts} +2 -2
  63. package/dist/window.d.ts +2 -2
  64. package/package.json +8 -2
  65. package/src/_test/abis.ts +7 -0
  66. package/src/_test/bench.ts +4 -4
  67. package/src/_test/constants.ts +4 -3
  68. package/src/_test/index.ts +4 -2
  69. package/src/_test/utils.ts +39 -1
  70. package/src/actions/index.test.ts +1 -0
  71. package/src/actions/index.ts +2 -0
  72. package/src/actions/public/call.bench.ts +5 -5
  73. package/src/actions/public/deployContract.ts +4 -4
  74. package/src/actions/public/estimateGas.bench.ts +6 -6
  75. package/src/actions/public/getBlock.bench.ts +5 -5
  76. package/src/actions/public/getBlockNumber.bench.ts +5 -5
  77. package/src/actions/public/getFilterChanges.test.ts +9 -9
  78. package/src/actions/public/getFilterLogs.test.ts +7 -7
  79. package/src/actions/public/getGasPrice.bench.ts +1 -10
  80. package/src/actions/public/getLogs.test.ts +7 -7
  81. package/src/actions/public/getTransaction.bench.ts +5 -5
  82. package/src/actions/public/getTransactionReceipt.bench.ts +5 -5
  83. package/src/actions/public/index.test.ts +1 -0
  84. package/src/actions/public/index.ts +3 -0
  85. package/src/actions/public/multicall.test.ts +452 -0
  86. package/src/actions/public/multicall.ts +103 -0
  87. package/src/actions/public/readContract.test.ts +226 -26
  88. package/src/actions/public/readContract.ts +13 -27
  89. package/src/actions/public/simulateContract.bench.ts +10 -0
  90. package/src/actions/public/simulateContract.test.ts +209 -37
  91. package/src/actions/public/simulateContract.ts +17 -21
  92. package/src/actions/public/watchContractEvent.test.ts +61 -57
  93. package/src/actions/public/watchEvent.test.ts +42 -37
  94. package/src/actions/test/impersonateAccount.test.ts +4 -6
  95. package/src/actions/test/sendUnsignedTransaction.test.ts +2 -2
  96. package/src/actions/test/stopImpersonatingAccount.test.ts +5 -7
  97. package/src/actions/wallet/signMessage.test.ts +0 -1
  98. package/src/actions/wallet/switchChain.test.ts +1 -2
  99. package/src/actions/wallet/watchAsset.test.ts +1 -2
  100. package/src/actions/wallet/writeContract.test.ts +37 -7
  101. package/src/actions/wallet/writeContract.ts +5 -14
  102. package/src/clients/transports/fallback.test.ts +34 -0
  103. package/src/clients/transports/fallback.ts +3 -1
  104. package/src/clients/transports/http.test.ts +0 -1
  105. package/src/clients/transports/webSocket.test.ts +0 -1
  106. package/src/constants/abis.test.ts +53 -0
  107. package/src/constants/abis.ts +44 -0
  108. package/src/constants/index.test.ts +14 -0
  109. package/src/constants/index.ts +3 -0
  110. package/src/constants/solidity.test.ts +41 -0
  111. package/src/constants/solidity.ts +35 -0
  112. package/src/ens.ts +5 -0
  113. package/src/errors/abi.test.ts +0 -2
  114. package/src/errors/base.test.ts +44 -2
  115. package/src/errors/base.ts +12 -12
  116. package/src/errors/block.test.ts +6 -6
  117. package/src/errors/contract.test.ts +233 -0
  118. package/src/errors/contract.ts +133 -80
  119. package/src/errors/index.ts +4 -2
  120. package/src/errors/request.test.ts +3 -4
  121. package/src/errors/request.ts +17 -17
  122. package/src/errors/rpc.test.ts +1 -2
  123. package/src/errors/transaction.test.ts +12 -12
  124. package/src/errors/transport.test.ts +0 -1
  125. package/src/index.test.ts +47 -0
  126. package/src/index.ts +10 -0
  127. package/src/types/contract.ts +55 -4
  128. package/src/types/index.ts +5 -0
  129. package/src/types/multicall.ts +82 -0
  130. package/src/utils/abi/decodeAbi.test.ts +1 -2
  131. package/src/utils/abi/decodeAbi.ts +11 -7
  132. package/src/utils/abi/decodeDeployData.test.ts +7 -15
  133. package/src/utils/abi/decodeDeployData.ts +10 -7
  134. package/src/utils/abi/decodeErrorResult.test.ts +103 -3
  135. package/src/utils/abi/decodeErrorResult.ts +30 -13
  136. package/src/utils/abi/decodeFunctionData.test.ts +0 -1
  137. package/src/utils/abi/decodeFunctionResult.test.ts +80 -9
  138. package/src/utils/abi/decodeFunctionResult.ts +15 -11
  139. package/src/utils/abi/encodeAbi.test.ts +3 -4
  140. package/src/utils/abi/encodeAbi.ts +19 -10
  141. package/src/utils/abi/encodeDeployData.test.ts +6 -13
  142. package/src/utils/abi/encodeDeployData.ts +10 -7
  143. package/src/utils/abi/encodeErrorResult.test.ts +2 -7
  144. package/src/utils/abi/encodeErrorResult.ts +18 -11
  145. package/src/utils/abi/encodeEventTopics.test.ts +11 -14
  146. package/src/utils/abi/encodeEventTopics.ts +15 -9
  147. package/src/utils/abi/encodeFunctionData.test.ts +5 -7
  148. package/src/utils/abi/encodeFunctionData.ts +16 -9
  149. package/src/utils/abi/encodeFunctionResult.test.ts +10 -15
  150. package/src/utils/abi/encodeFunctionResult.ts +9 -7
  151. package/src/utils/abi/getAbiItem.test.ts +547 -0
  152. package/src/utils/abi/getAbiItem.ts +93 -3
  153. package/src/utils/abi/index.ts +5 -1
  154. package/src/utils/address/getAddress.test.ts +6 -6
  155. package/src/utils/contract/getContractError.test.ts +247 -62
  156. package/src/utils/contract/getContractError.ts +30 -38
  157. package/src/utils/data/pad.bench.ts +0 -9
  158. package/src/utils/data/trim.bench.ts +0 -16
  159. package/src/utils/encoding/encodeBytes.bench.ts +0 -12
  160. package/src/utils/encoding/encodeHex.bench.ts +0 -11
  161. package/src/utils/ens/index.test.ts +13 -0
  162. package/src/utils/ens/index.ts +5 -0
  163. package/src/utils/ens/labelhash.test.ts +55 -0
  164. package/src/utils/ens/labelhash.ts +16 -0
  165. package/src/utils/ens/namehash.test.ts +65 -0
  166. package/src/utils/ens/namehash.ts +28 -0
  167. package/src/utils/ens/normalize.bench.ts +14 -0
  168. package/src/utils/ens/normalize.test.ts +35 -0
  169. package/src/utils/ens/normalize.ts +14 -0
  170. package/src/utils/hash/keccak256.ts +3 -5
  171. package/src/utils/index.test.ts +3 -0
  172. package/src/utils/index.ts +4 -0
  173. package/src/utils/rpc.test.ts +3 -6
  174. package/src/utils/unit/formatUnit.bench.ts +0 -5
  175. package/src/utils/unit/parseUnit.bench.ts +0 -5
  176. package/dist/chunk-46BO7YAQ.mjs.map +0 -1
  177. package/dist/chunk-62VTYU2V.mjs.map +0 -1
  178. package/dist/chunk-DGO77E2H.mjs.map +0 -1
  179. package/dist/chunk-KEHGSYDO.js.map +0 -1
  180. package/dist/chunk-KZMJR27B.js.map +0 -1
  181. package/dist/chunk-O2GYLJVD.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkEC3NUIJEjs = require('./chunk-EC3NUIJE.js');
3
+ var _chunk7Y5QVLX7js = require('./chunk-7Y5QVLX7.js');
4
4
 
5
5
 
6
6
 
@@ -26,7 +26,10 @@ var _chunkEC3NUIJEjs = require('./chunk-EC3NUIJE.js');
26
26
 
27
27
 
28
28
 
29
- var _chunkO2GYLJVDjs = require('./chunk-O2GYLJVD.js');
29
+
30
+
31
+
32
+ var _chunkSSPRUPGNjs = require('./chunk-SSPRUPGN.js');
30
33
 
31
34
  // src/actions/public/call.ts
32
35
  async function call(client, {
@@ -46,10 +49,10 @@ async function call(client, {
46
49
  ...rest
47
50
  }) {
48
51
  if (maxFeePerGas !== void 0 && maxPriorityFeePerGas !== void 0 && maxFeePerGas < maxPriorityFeePerGas)
49
- throw new (0, _chunkO2GYLJVDjs.InvalidGasArgumentsError)();
50
- const blockNumberHex = blockNumber ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
52
+ throw new (0, _chunkSSPRUPGNjs.InvalidGasArgumentsError)();
53
+ const blockNumberHex = blockNumber ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
51
54
  const formatter = _optionalChain([chain, 'optionalAccess', _ => _.formatters, 'optionalAccess', _2 => _2.transactionRequest]);
52
- const request_ = _chunkO2GYLJVDjs.format.call(void 0,
55
+ const request_ = _chunkSSPRUPGNjs.format.call(void 0,
53
56
  {
54
57
  from,
55
58
  accessList,
@@ -61,10 +64,10 @@ async function call(client, {
61
64
  nonce,
62
65
  to,
63
66
  value,
64
- ..._chunkO2GYLJVDjs.extract.call(void 0, rest, { formatter })
67
+ ..._chunkSSPRUPGNjs.extract.call(void 0, rest, { formatter })
65
68
  },
66
69
  {
67
- formatter: formatter || _chunkO2GYLJVDjs.formatTransactionRequest
70
+ formatter: formatter || _chunkSSPRUPGNjs.formatTransactionRequest
68
71
  }
69
72
  );
70
73
  const response = await client.request({
@@ -84,7 +87,7 @@ async function simulateContract(client, {
84
87
  functionName,
85
88
  ...callRequest
86
89
  }) {
87
- const calldata = _chunkO2GYLJVDjs.encodeFunctionData.call(void 0, {
90
+ const calldata = _chunkSSPRUPGNjs.encodeFunctionData.call(void 0, {
88
91
  abi,
89
92
  args,
90
93
  functionName
@@ -95,8 +98,9 @@ async function simulateContract(client, {
95
98
  to: address,
96
99
  ...callRequest
97
100
  });
98
- const result = _chunkO2GYLJVDjs.decodeFunctionResult.call(void 0, {
101
+ const result = _chunkSSPRUPGNjs.decodeFunctionResult.call(void 0, {
99
102
  abi,
103
+ args,
100
104
  functionName,
101
105
  data: data || "0x"
102
106
  });
@@ -111,10 +115,11 @@ async function simulateContract(client, {
111
115
  }
112
116
  };
113
117
  } catch (err) {
114
- throw _chunkO2GYLJVDjs.getContractError.call(void 0, err, {
118
+ throw _chunkSSPRUPGNjs.getContractError.call(void 0, err, {
115
119
  abi,
116
120
  address,
117
121
  args,
122
+ docsPath: "/docs/contract/simulateContract",
118
123
  functionName,
119
124
  sender: callRequest.from
120
125
  });
@@ -154,8 +159,8 @@ async function createEventFilter(client, {
154
159
  params: [
155
160
  {
156
161
  address,
157
- fromBlock: typeof fromBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, fromBlock) : fromBlock,
158
- toBlock: typeof toBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, toBlock) : toBlock,
162
+ fromBlock: typeof fromBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, fromBlock) : fromBlock,
163
+ toBlock: typeof toBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, toBlock) : toBlock,
159
164
  ...topics.length ? { topics } : {}
160
165
  }
161
166
  ]
@@ -166,7 +171,7 @@ function buildFilterTopics({
166
171
  event,
167
172
  args: _args
168
173
  }) {
169
- const signature = _chunkO2GYLJVDjs.getEventSignature.call(void 0, event);
174
+ const signature = _chunkSSPRUPGNjs.getEventSignature.call(void 0, event);
170
175
  return [signature];
171
176
  }
172
177
 
@@ -179,7 +184,7 @@ async function createContractEventFilter(client, {
179
184
  fromBlock,
180
185
  toBlock
181
186
  }) {
182
- const topics = eventName ? _chunkO2GYLJVDjs.encodeEventTopics.call(void 0, {
187
+ const topics = eventName ? _chunkSSPRUPGNjs.encodeEventTopics.call(void 0, {
183
188
  abi,
184
189
  args,
185
190
  eventName
@@ -189,8 +194,8 @@ async function createContractEventFilter(client, {
189
194
  params: [
190
195
  {
191
196
  address,
192
- fromBlock: typeof fromBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, fromBlock) : fromBlock,
193
- toBlock: typeof toBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, toBlock) : toBlock,
197
+ fromBlock: typeof fromBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, fromBlock) : fromBlock,
198
+ toBlock: typeof toBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, toBlock) : toBlock,
194
199
  topics
195
200
  }
196
201
  ]
@@ -200,12 +205,12 @@ async function createContractEventFilter(client, {
200
205
 
201
206
  // src/actions/public/deployContract.ts
202
207
  function deployContract(walletClient, { abi, args, bytecode, ...request }) {
203
- const calldata = _chunkO2GYLJVDjs.encodeDeployData.call(void 0, {
208
+ const calldata = _chunkSSPRUPGNjs.encodeDeployData.call(void 0, {
204
209
  abi,
205
210
  args,
206
211
  bytecode
207
212
  });
208
- return _chunkEC3NUIJEjs.sendTransaction.call(void 0, walletClient, {
213
+ return _chunk7Y5QVLX7js.sendTransaction.call(void 0, walletClient, {
209
214
  ...request,
210
215
  data: calldata
211
216
  });
@@ -224,16 +229,16 @@ async function estimateGas(client, {
224
229
  to,
225
230
  value
226
231
  }) {
227
- const blockNumberHex = blockNumber ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
232
+ const blockNumberHex = blockNumber ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
228
233
  const parameters = {
229
234
  data,
230
235
  from,
231
- gas: gas ? _chunkO2GYLJVDjs.numberToHex.call(void 0, gas) : void 0,
232
- gasPrice: gasPrice ? _chunkO2GYLJVDjs.numberToHex.call(void 0, gasPrice) : void 0,
233
- maxFeePerGas: maxFeePerGas ? _chunkO2GYLJVDjs.numberToHex.call(void 0, maxFeePerGas) : void 0,
234
- maxPriorityFeePerGas: maxPriorityFeePerGas ? _chunkO2GYLJVDjs.numberToHex.call(void 0, maxPriorityFeePerGas) : void 0,
236
+ gas: gas ? _chunkSSPRUPGNjs.numberToHex.call(void 0, gas) : void 0,
237
+ gasPrice: gasPrice ? _chunkSSPRUPGNjs.numberToHex.call(void 0, gasPrice) : void 0,
238
+ maxFeePerGas: maxFeePerGas ? _chunkSSPRUPGNjs.numberToHex.call(void 0, maxFeePerGas) : void 0,
239
+ maxPriorityFeePerGas: maxPriorityFeePerGas ? _chunkSSPRUPGNjs.numberToHex.call(void 0, maxPriorityFeePerGas) : void 0,
235
240
  to,
236
- value: value ? _chunkO2GYLJVDjs.numberToHex.call(void 0, value) : void 0
241
+ value: value ? _chunkSSPRUPGNjs.numberToHex.call(void 0, value) : void 0
237
242
  };
238
243
  const balance = await client.request({
239
244
  method: "eth_estimateGas",
@@ -244,7 +249,7 @@ async function estimateGas(client, {
244
249
 
245
250
  // src/actions/public/getBalance.ts
246
251
  async function getBalance(client, { address, blockNumber, blockTag = "latest" }) {
247
- const blockNumberHex = blockNumber ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
252
+ const blockNumberHex = blockNumber ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
248
253
  const balance = await client.request({
249
254
  method: "eth_getBalance",
250
255
  params: [address, blockNumberHex || blockTag]
@@ -259,7 +264,7 @@ async function getBlock(client, {
259
264
  blockTag = "latest",
260
265
  includeTransactions = false
261
266
  } = {}) {
262
- const blockNumberHex = blockNumber !== void 0 ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
267
+ const blockNumberHex = blockNumber !== void 0 ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
263
268
  let block = null;
264
269
  if (blockHash) {
265
270
  block = await client.request({
@@ -273,19 +278,19 @@ async function getBlock(client, {
273
278
  });
274
279
  }
275
280
  if (!block)
276
- throw new (0, _chunkO2GYLJVDjs.BlockNotFoundError)({ blockHash, blockNumber });
277
- return _chunkO2GYLJVDjs.format.call(void 0, block, {
278
- formatter: _optionalChain([client, 'access', _3 => _3.chain, 'optionalAccess', _4 => _4.formatters, 'optionalAccess', _5 => _5.block]) || _chunkO2GYLJVDjs.formatBlock
281
+ throw new (0, _chunkSSPRUPGNjs.BlockNotFoundError)({ blockHash, blockNumber });
282
+ return _chunkSSPRUPGNjs.format.call(void 0, block, {
283
+ formatter: _optionalChain([client, 'access', _3 => _3.chain, 'optionalAccess', _4 => _4.formatters, 'optionalAccess', _5 => _5.block]) || _chunkSSPRUPGNjs.formatBlock
279
284
  });
280
285
  }
281
286
 
282
287
  // src/actions/public/getBlockNumber.ts
283
288
  var cacheKey = (id) => `blockNumber.${id}`;
284
289
  function getBlockNumberCache(id) {
285
- return _chunkO2GYLJVDjs.getCache.call(void 0, cacheKey(id));
290
+ return _chunkSSPRUPGNjs.getCache.call(void 0, cacheKey(id));
286
291
  }
287
292
  async function getBlockNumber(client, { maxAge = client.pollingInterval } = {}) {
288
- const blockNumberHex = await _chunkO2GYLJVDjs.withCache.call(void 0,
293
+ const blockNumberHex = await _chunkSSPRUPGNjs.withCache.call(void 0,
289
294
  () => client.request({
290
295
  method: "eth_blockNumber"
291
296
  }),
@@ -300,7 +305,7 @@ async function getBlockTransactionCount(client, {
300
305
  blockNumber,
301
306
  blockTag = "latest"
302
307
  } = {}) {
303
- const blockNumberHex = blockNumber !== void 0 ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
308
+ const blockNumberHex = blockNumber !== void 0 ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
304
309
  let count = null;
305
310
  if (blockHash) {
306
311
  count = await client.request({
@@ -313,12 +318,12 @@ async function getBlockTransactionCount(client, {
313
318
  params: [blockNumberHex || blockTag]
314
319
  });
315
320
  }
316
- return _chunkO2GYLJVDjs.hexToNumber.call(void 0, count);
321
+ return _chunkSSPRUPGNjs.hexToNumber.call(void 0, count);
317
322
  }
318
323
 
319
324
  // src/actions/public/getBytecode.ts
320
325
  async function getBytecode(client, { address, blockNumber, blockTag = "latest" }) {
321
- const blockNumberHex = blockNumber !== void 0 ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
326
+ const blockNumberHex = blockNumber !== void 0 ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
322
327
  const hex = await client.request({
323
328
  method: "eth_getCode",
324
329
  params: [address, blockNumberHex || blockTag]
@@ -331,7 +336,7 @@ async function getBytecode(client, { address, blockNumber, blockTag = "latest" }
331
336
  // src/actions/public/getChainId.ts
332
337
  async function getChainId(client) {
333
338
  const chainIdHex = await client.request({ method: "eth_chainId" });
334
- return _chunkO2GYLJVDjs.hexToNumber.call(void 0, chainIdHex);
339
+ return _chunkSSPRUPGNjs.hexToNumber.call(void 0, chainIdHex);
335
340
  }
336
341
 
337
342
  // src/actions/public/getFeeHistory.ts
@@ -341,16 +346,16 @@ async function getFeeHistory(client, {
341
346
  blockTag = "latest",
342
347
  rewardPercentiles
343
348
  }) {
344
- const blockNumberHex = blockNumber ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
349
+ const blockNumberHex = blockNumber ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
345
350
  const feeHistory = await client.request({
346
351
  method: "eth_feeHistory",
347
352
  params: [
348
- _chunkO2GYLJVDjs.numberToHex.call(void 0, blockCount),
353
+ _chunkSSPRUPGNjs.numberToHex.call(void 0, blockCount),
349
354
  blockNumberHex || blockTag,
350
355
  rewardPercentiles
351
356
  ]
352
357
  });
353
- return _chunkO2GYLJVDjs.formatFeeHistory.call(void 0, feeHistory);
358
+ return _chunkSSPRUPGNjs.formatFeeHistory.call(void 0, feeHistory);
354
359
  }
355
360
 
356
361
  // src/actions/public/getFilterChanges.ts
@@ -360,7 +365,7 @@ async function getFilterChanges(client, { filter }) {
360
365
  params: [filter.id]
361
366
  });
362
367
  return logs.map(
363
- (log) => typeof log === "string" ? log : _chunkO2GYLJVDjs.formatLog.call(void 0, log)
368
+ (log) => typeof log === "string" ? log : _chunkSSPRUPGNjs.formatLog.call(void 0, log)
364
369
  );
365
370
  }
366
371
 
@@ -370,7 +375,7 @@ async function getFilterLogs(client, { filter }) {
370
375
  method: "eth_getFilterLogs",
371
376
  params: [filter.id]
372
377
  });
373
- return logs.map(_chunkO2GYLJVDjs.formatLog);
378
+ return logs.map(_chunkSSPRUPGNjs.formatLog);
374
379
  }
375
380
 
376
381
  // src/actions/public/getGasPrice.ts
@@ -407,18 +412,18 @@ async function getLogs(client, {
407
412
  {
408
413
  address,
409
414
  topics,
410
- fromBlock: typeof fromBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, fromBlock) : fromBlock,
411
- toBlock: typeof toBlock === "bigint" ? _chunkO2GYLJVDjs.numberToHex.call(void 0, toBlock) : toBlock
415
+ fromBlock: typeof fromBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, fromBlock) : fromBlock,
416
+ toBlock: typeof toBlock === "bigint" ? _chunkSSPRUPGNjs.numberToHex.call(void 0, toBlock) : toBlock
412
417
  }
413
418
  ]
414
419
  });
415
420
  }
416
- return logs.map(_chunkO2GYLJVDjs.formatLog);
421
+ return logs.map(_chunkSSPRUPGNjs.formatLog);
417
422
  }
418
423
 
419
424
  // src/actions/public/getStorageAt.ts
420
425
  async function getStorageAt(client, { address, blockNumber, blockTag = "latest", slot }) {
421
- const blockNumberHex = blockNumber !== void 0 ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
426
+ const blockNumberHex = blockNumber !== void 0 ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
422
427
  const data = await client.request({
423
428
  method: "eth_getStorageAt",
424
429
  params: [address, slot, blockNumberHex || blockTag]
@@ -434,7 +439,7 @@ async function getTransaction(client, {
434
439
  hash,
435
440
  index
436
441
  }) {
437
- const blockNumberHex = blockNumber !== void 0 ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : void 0;
442
+ const blockNumberHex = blockNumber !== void 0 ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : void 0;
438
443
  let transaction = null;
439
444
  if (hash) {
440
445
  transaction = await client.request({
@@ -444,24 +449,24 @@ async function getTransaction(client, {
444
449
  } else if (blockHash) {
445
450
  transaction = await client.request({
446
451
  method: "eth_getTransactionByBlockHashAndIndex",
447
- params: [blockHash, _chunkO2GYLJVDjs.numberToHex.call(void 0, index)]
452
+ params: [blockHash, _chunkSSPRUPGNjs.numberToHex.call(void 0, index)]
448
453
  });
449
454
  } else if (blockNumberHex || blockTag) {
450
455
  transaction = await client.request({
451
456
  method: "eth_getTransactionByBlockNumberAndIndex",
452
- params: [blockNumberHex || blockTag, _chunkO2GYLJVDjs.numberToHex.call(void 0, index)]
457
+ params: [blockNumberHex || blockTag, _chunkSSPRUPGNjs.numberToHex.call(void 0, index)]
453
458
  });
454
459
  }
455
460
  if (!transaction)
456
- throw new (0, _chunkO2GYLJVDjs.TransactionNotFoundError)({
461
+ throw new (0, _chunkSSPRUPGNjs.TransactionNotFoundError)({
457
462
  blockHash,
458
463
  blockNumber,
459
464
  blockTag,
460
465
  hash,
461
466
  index
462
467
  });
463
- return _chunkO2GYLJVDjs.format.call(void 0, transaction, {
464
- formatter: _optionalChain([client, 'access', _6 => _6.chain, 'optionalAccess', _7 => _7.formatters, 'optionalAccess', _8 => _8.transaction]) || _chunkO2GYLJVDjs.formatTransaction
468
+ return _chunkSSPRUPGNjs.format.call(void 0, transaction, {
469
+ formatter: _optionalChain([client, 'access', _6 => _6.chain, 'optionalAccess', _7 => _7.formatters, 'optionalAccess', _8 => _8.transaction]) || _chunkSSPRUPGNjs.formatTransaction
465
470
  });
466
471
  }
467
472
 
@@ -481,9 +486,9 @@ async function getTransactionConfirmations(client, { hash, transactionReceipt })
481
486
  async function getTransactionCount(client, { address, blockTag = "latest", blockNumber }) {
482
487
  const count = await client.request({
483
488
  method: "eth_getTransactionCount",
484
- params: [address, blockNumber ? _chunkO2GYLJVDjs.numberToHex.call(void 0, blockNumber) : blockTag]
489
+ params: [address, blockNumber ? _chunkSSPRUPGNjs.numberToHex.call(void 0, blockNumber) : blockTag]
485
490
  });
486
- return _chunkO2GYLJVDjs.hexToNumber.call(void 0, count);
491
+ return _chunkSSPRUPGNjs.hexToNumber.call(void 0, count);
487
492
  }
488
493
 
489
494
  // src/actions/public/getTransactionReceipt.ts
@@ -493,9 +498,9 @@ async function getTransactionReceipt(client, { hash }) {
493
498
  params: [hash]
494
499
  });
495
500
  if (!receipt)
496
- throw new (0, _chunkO2GYLJVDjs.TransactionReceiptNotFoundError)({ hash });
497
- return _chunkO2GYLJVDjs.format.call(void 0, receipt, {
498
- formatter: _optionalChain([client, 'access', _11 => _11.chain, 'optionalAccess', _12 => _12.formatters, 'optionalAccess', _13 => _13.transactionReceipt]) || _chunkO2GYLJVDjs.formatTransactionReceipt
501
+ throw new (0, _chunkSSPRUPGNjs.TransactionReceiptNotFoundError)({ hash });
502
+ return _chunkSSPRUPGNjs.format.call(void 0, receipt, {
503
+ formatter: _optionalChain([client, 'access', _11 => _11.chain, 'optionalAccess', _12 => _12.formatters, 'optionalAccess', _13 => _13.transactionReceipt]) || _chunkSSPRUPGNjs.formatTransactionReceipt
499
504
  });
500
505
  }
501
506
 
@@ -507,7 +512,7 @@ async function readContract(client, {
507
512
  functionName,
508
513
  ...callRequest
509
514
  }) {
510
- const calldata = _chunkO2GYLJVDjs.encodeFunctionData.call(void 0, {
515
+ const calldata = _chunkSSPRUPGNjs.encodeFunctionData.call(void 0, {
511
516
  abi,
512
517
  args,
513
518
  functionName
@@ -518,21 +523,98 @@ async function readContract(client, {
518
523
  to: address,
519
524
  ...callRequest
520
525
  });
521
- return _chunkO2GYLJVDjs.decodeFunctionResult.call(void 0, {
526
+ return _chunkSSPRUPGNjs.decodeFunctionResult.call(void 0, {
522
527
  abi,
528
+ args,
523
529
  functionName,
524
530
  data: data || "0x"
525
531
  });
526
532
  } catch (err) {
527
- throw _chunkO2GYLJVDjs.getContractError.call(void 0, err, {
533
+ throw _chunkSSPRUPGNjs.getContractError.call(void 0, err, {
528
534
  abi,
529
535
  address,
530
536
  args,
537
+ docsPath: "/docs/contract/readContract",
531
538
  functionName
532
539
  });
533
540
  }
534
541
  }
535
542
 
543
+ // src/actions/public/multicall.ts
544
+ async function multicall(client, args) {
545
+ const {
546
+ allowFailure = true,
547
+ blockNumber,
548
+ blockTag,
549
+ contracts,
550
+ multicallAddress
551
+ } = args;
552
+ const calls = contracts.map(({ abi, address, args: args2, functionName }) => {
553
+ try {
554
+ const callData = _chunkSSPRUPGNjs.encodeFunctionData.call(void 0, {
555
+ abi,
556
+ args: args2,
557
+ functionName
558
+ });
559
+ return {
560
+ allowFailure: true,
561
+ callData,
562
+ target: address
563
+ };
564
+ } catch (err) {
565
+ const error = _chunkSSPRUPGNjs.getContractError.call(void 0, err, {
566
+ abi,
567
+ address,
568
+ args: args2,
569
+ docsPath: "/docs/contract/multicall",
570
+ functionName
571
+ });
572
+ if (!allowFailure)
573
+ throw error;
574
+ return {
575
+ allowFailure: true,
576
+ callData: "0x",
577
+ target: address
578
+ };
579
+ }
580
+ });
581
+ const results = await readContract(client, {
582
+ abi: _chunkSSPRUPGNjs.multicall3Abi,
583
+ address: multicallAddress,
584
+ args: [calls],
585
+ blockNumber,
586
+ blockTag,
587
+ functionName: "aggregate3"
588
+ });
589
+ return results.map(({ returnData, success }, i) => {
590
+ const { callData } = calls[i];
591
+ const { abi, address, functionName, args: args2 } = contracts[i];
592
+ try {
593
+ if (callData === "0x")
594
+ throw new (0, _chunkSSPRUPGNjs.AbiDecodingZeroDataError)();
595
+ if (!success)
596
+ throw new (0, _chunkSSPRUPGNjs.RawContractError)({ data: returnData });
597
+ const result = _chunkSSPRUPGNjs.decodeFunctionResult.call(void 0, {
598
+ abi,
599
+ data: returnData,
600
+ functionName
601
+ });
602
+ return { result, status: "success" };
603
+ } catch (err) {
604
+ const error = _chunkSSPRUPGNjs.getContractError.call(void 0, err, {
605
+ abi,
606
+ address,
607
+ args: args2,
608
+ docsPath: "/docs/contract/multicall",
609
+ functionName
610
+ });
611
+ if (!allowFailure)
612
+ throw error;
613
+ return { error, result: void 0, status: "failure" };
614
+ }
615
+ });
616
+ }
617
+
536
618
  // src/actions/public/uninstallFilter.ts
537
619
  async function uninstallFilter(client, { filter }) {
538
620
  return client.request({
@@ -592,12 +674,12 @@ function poll(fn, { emitOnBegin, initialWaitTime, interval }) {
592
674
  if (emitOnBegin)
593
675
  data = await fn({ unpoll: unwatch });
594
676
  const initialWait = await _asyncNullishCoalesce(await _optionalChain([initialWaitTime, 'optionalCall', _17 => _17(data)]), async () => ( interval));
595
- await _chunkO2GYLJVDjs.wait.call(void 0, initialWait);
677
+ await _chunkSSPRUPGNjs.wait.call(void 0, initialWait);
596
678
  const poll2 = async () => {
597
679
  if (!active)
598
680
  return;
599
681
  await fn({ unpoll: unwatch });
600
- await _chunkO2GYLJVDjs.wait.call(void 0, interval);
682
+ await _chunkSSPRUPGNjs.wait.call(void 0, interval);
601
683
  poll2();
602
684
  };
603
685
  poll2();
@@ -780,7 +862,7 @@ async function waitForTransactionReceipt(client, {
780
862
  return new Promise((resolve, reject) => {
781
863
  if (timeout)
782
864
  setTimeout(
783
- () => reject(new (0, _chunkO2GYLJVDjs.WaitForTransactionReceiptTimeoutError)({ hash })),
865
+ () => reject(new (0, _chunkSSPRUPGNjs.WaitForTransactionReceiptTimeoutError)({ hash })),
784
866
  timeout
785
867
  );
786
868
  const unobserve = observe(
@@ -810,7 +892,7 @@ async function waitForTransactionReceipt(client, {
810
892
  return;
811
893
  done(() => emit.resolve(receipt));
812
894
  } catch (err) {
813
- if (transaction && (err instanceof _chunkO2GYLJVDjs.TransactionNotFoundError || err instanceof _chunkO2GYLJVDjs.TransactionReceiptNotFoundError)) {
895
+ if (transaction && (err instanceof _chunkSSPRUPGNjs.TransactionNotFoundError || err instanceof _chunkSSPRUPGNjs.TransactionReceiptNotFoundError)) {
814
896
  replacedTransaction = transaction;
815
897
  const block = await getBlock(client, {
816
898
  blockNumber,
@@ -885,5 +967,6 @@ async function waitForTransactionReceipt(client, {
885
967
 
886
968
 
887
969
 
888
- exports.call = call; exports.simulateContract = simulateContract; exports.createPendingTransactionFilter = createPendingTransactionFilter; exports.createBlockFilter = createBlockFilter; exports.createEventFilter = createEventFilter; exports.createContractEventFilter = createContractEventFilter; exports.deployContract = deployContract; exports.estimateGas = estimateGas; exports.getBalance = getBalance; exports.getBlock = getBlock; exports.getBlockNumberCache = getBlockNumberCache; exports.getBlockNumber = getBlockNumber; exports.getBlockTransactionCount = getBlockTransactionCount; exports.getBytecode = getBytecode; exports.getChainId = getChainId; exports.getFeeHistory = getFeeHistory; exports.getFilterChanges = getFilterChanges; exports.getFilterLogs = getFilterLogs; exports.getGasPrice = getGasPrice; exports.getLogs = getLogs; exports.getStorageAt = getStorageAt; exports.getTransaction = getTransaction; exports.getTransactionConfirmations = getTransactionConfirmations; exports.getTransactionCount = getTransactionCount; exports.getTransactionReceipt = getTransactionReceipt; exports.readContract = readContract; exports.uninstallFilter = uninstallFilter; exports.waitForTransactionReceipt = waitForTransactionReceipt; exports.watchBlockNumber = watchBlockNumber; exports.watchBlocks = watchBlocks; exports.watchPendingTransactions = watchPendingTransactions;
889
- //# sourceMappingURL=chunk-KZMJR27B.js.map
970
+
971
+ exports.call = call; exports.simulateContract = simulateContract; exports.createPendingTransactionFilter = createPendingTransactionFilter; exports.createBlockFilter = createBlockFilter; exports.createEventFilter = createEventFilter; exports.createContractEventFilter = createContractEventFilter; exports.deployContract = deployContract; exports.estimateGas = estimateGas; exports.getBalance = getBalance; exports.getBlock = getBlock; exports.getBlockNumberCache = getBlockNumberCache; exports.getBlockNumber = getBlockNumber; exports.getBlockTransactionCount = getBlockTransactionCount; exports.getBytecode = getBytecode; exports.getChainId = getChainId; exports.getFeeHistory = getFeeHistory; exports.getFilterChanges = getFilterChanges; exports.getFilterLogs = getFilterLogs; exports.getGasPrice = getGasPrice; exports.getLogs = getLogs; exports.getStorageAt = getStorageAt; exports.getTransaction = getTransaction; exports.getTransactionConfirmations = getTransactionConfirmations; exports.getTransactionCount = getTransactionCount; exports.getTransactionReceipt = getTransactionReceipt; exports.readContract = readContract; exports.multicall = multicall; exports.uninstallFilter = uninstallFilter; exports.waitForTransactionReceipt = waitForTransactionReceipt; exports.watchBlockNumber = watchBlockNumber; exports.watchBlocks = watchBlocks; exports.watchPendingTransactions = watchPendingTransactions;
972
+ //# sourceMappingURL=chunk-ZKYGWITF.js.map