@coinbase/cdp-hooks 0.0.35 → 0.0.36

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 (248) hide show
  1. package/README.md +9 -5
  2. package/dist/esm/index10.js +33 -10
  3. package/dist/esm/index100.js +32 -24
  4. package/dist/esm/index101.js +182 -22
  5. package/dist/esm/index102.js +6 -32
  6. package/dist/esm/index103.js +2 -194
  7. package/dist/esm/index104.js +10 -6
  8. package/dist/esm/index105.js +19 -2
  9. package/dist/esm/index106.js +25 -10
  10. package/dist/esm/index107.js +8 -18
  11. package/dist/esm/index108.js +52 -24
  12. package/dist/esm/index109.js +45 -8
  13. package/dist/esm/index11.js +3 -8
  14. package/dist/esm/index110.js +8 -55
  15. package/dist/esm/index111.js +7 -45
  16. package/dist/esm/index112.js +16 -8
  17. package/dist/esm/index113.js +18 -7
  18. package/dist/esm/index114.js +24 -16
  19. package/dist/esm/index115.js +16 -18
  20. package/dist/esm/index116.js +52 -22
  21. package/dist/esm/index117.js +11 -16
  22. package/dist/esm/index118.js +159 -53
  23. package/dist/esm/index119.js +21 -11
  24. package/dist/esm/index12.js +8 -31
  25. package/dist/esm/index120.js +124 -157
  26. package/dist/esm/index121.js +37 -20
  27. package/dist/esm/index122.js +6 -127
  28. package/dist/esm/index123.js +24 -35
  29. package/dist/esm/index124.js +191 -6
  30. package/dist/esm/index125.js +4 -28
  31. package/dist/esm/index126.js +57 -184
  32. package/dist/esm/index127.js +3 -4
  33. package/dist/esm/index128.js +16 -60
  34. package/dist/esm/index129.js +17 -3
  35. package/dist/esm/index13.js +68 -3
  36. package/dist/esm/index130.js +22 -19
  37. package/dist/esm/index131.js +11 -16
  38. package/dist/esm/index132.js +33 -22
  39. package/dist/esm/index133.js +3 -12
  40. package/dist/esm/index134.js +17 -33
  41. package/dist/esm/index135.js +28 -3
  42. package/dist/esm/index136.js +35 -18
  43. package/dist/esm/index137.js +7 -27
  44. package/dist/esm/index138.js +24 -34
  45. package/dist/esm/index139.js +28 -7
  46. package/dist/esm/index14.js +8 -8
  47. package/dist/esm/index140.js +63 -24
  48. package/dist/esm/index141.js +9 -28
  49. package/dist/esm/index142.js +31 -62
  50. package/dist/esm/index143.js +27 -9
  51. package/dist/esm/index144.js +23 -32
  52. package/dist/esm/index145.js +3 -27
  53. package/dist/esm/index146.js +14 -24
  54. package/dist/esm/index147.js +103 -3
  55. package/dist/esm/index148.js +64 -14
  56. package/dist/esm/index149.js +5 -103
  57. package/dist/esm/index15.js +27 -67
  58. package/dist/esm/index150.js +6 -64
  59. package/dist/esm/index151.js +27 -5
  60. package/dist/esm/index152.js +39 -6
  61. package/dist/esm/index153.js +13 -27
  62. package/dist/esm/index154.js +41 -38
  63. package/dist/esm/index155.js +5 -13
  64. package/dist/esm/index156.js +11 -42
  65. package/dist/esm/index157.js +19 -5
  66. package/dist/esm/index158.js +78 -11
  67. package/dist/esm/index159.js +2 -20
  68. package/dist/esm/index16.js +70 -9
  69. package/dist/esm/index160.js +33 -74
  70. package/dist/esm/index161.js +111 -2
  71. package/dist/esm/index162.js +38 -27
  72. package/dist/esm/index163.js +30 -108
  73. package/dist/esm/index164.js +8 -48
  74. package/dist/esm/index165.js +6 -32
  75. package/dist/esm/index166.js +6 -8
  76. package/dist/esm/index167.js +11 -6
  77. package/dist/esm/index168.js +10 -6
  78. package/dist/esm/index169.js +13 -11
  79. package/dist/esm/index17.js +17 -26
  80. package/dist/esm/index170.js +31 -9
  81. package/dist/esm/index171.js +5 -14
  82. package/dist/esm/index172.js +8 -32
  83. package/dist/esm/index173.js +20 -5
  84. package/dist/esm/index174.js +31 -19
  85. package/dist/esm/index175.js +20 -31
  86. package/dist/esm/index176.js +3 -20
  87. package/dist/esm/index177.js +17 -3
  88. package/dist/esm/index178.js +10 -17
  89. package/dist/esm/index179.js +21 -10
  90. package/dist/esm/index18.js +108 -68
  91. package/dist/esm/index180.js +22 -21
  92. package/dist/esm/index181.js +5 -22
  93. package/dist/esm/index182.js +5 -5
  94. package/dist/esm/index183.js +8 -5
  95. package/dist/esm/index184.js +104 -8
  96. package/dist/esm/index185.js +3 -105
  97. package/dist/esm/index186.js +19 -3
  98. package/dist/esm/index187.js +170 -17
  99. package/dist/esm/index188.js +16 -170
  100. package/dist/esm/index189.js +10 -18
  101. package/dist/esm/index19.js +60 -19
  102. package/dist/esm/index190.js +40 -12
  103. package/dist/esm/index191.js +2 -36
  104. package/dist/esm/index192.js +4 -41
  105. package/dist/esm/index193.js +9 -39
  106. package/dist/esm/index194.js +20 -2
  107. package/dist/esm/index195.js +7 -4
  108. package/dist/esm/index196.js +10 -9
  109. package/dist/esm/index197.js +66 -19
  110. package/dist/esm/index198.js +65 -7
  111. package/dist/esm/index199.js +184 -10
  112. package/dist/esm/index20.js +24 -110
  113. package/dist/esm/index200.js +22 -66
  114. package/dist/esm/index201.js +38 -61
  115. package/dist/esm/index202.js +69 -178
  116. package/dist/esm/index203.js +39 -21
  117. package/dist/esm/index204.js +9 -35
  118. package/dist/esm/index205.js +7 -70
  119. package/dist/esm/index206.js +7 -40
  120. package/dist/esm/index207.js +6 -16
  121. package/dist/esm/index208.js +36 -13
  122. package/dist/esm/index209.js +15 -7
  123. package/dist/esm/index21.js +31 -51
  124. package/dist/esm/index210.js +8 -6
  125. package/dist/esm/index211.js +11 -35
  126. package/dist/esm/index212.js +9 -15
  127. package/dist/esm/index213.js +16 -8
  128. package/dist/esm/index214.js +22 -12
  129. package/dist/esm/index215.js +30 -9
  130. package/dist/esm/index216.js +2 -17
  131. package/dist/esm/index217.js +12 -21
  132. package/dist/esm/index218.js +12 -30
  133. package/dist/esm/index219.js +48 -2
  134. package/dist/esm/index22.js +36 -23
  135. package/dist/esm/index220.js +8 -12
  136. package/dist/esm/index221.js +13 -12
  137. package/dist/esm/index222.js +13 -46
  138. package/dist/esm/index223.js +8 -9
  139. package/dist/esm/index224.js +15 -13
  140. package/dist/esm/index225.js +24 -14
  141. package/dist/esm/index226.js +11 -8
  142. package/dist/esm/index227.js +23 -14
  143. package/dist/esm/index228.js +51 -24
  144. package/dist/esm/index229.js +17 -11
  145. package/dist/esm/index23.js +46 -28
  146. package/dist/esm/index230.js +14 -24
  147. package/dist/esm/index231.js +11 -51
  148. package/dist/esm/index232.js +103 -17
  149. package/dist/esm/index233.js +6 -14
  150. package/dist/esm/index234.js +224 -11
  151. package/dist/esm/index235.js +6 -103
  152. package/dist/esm/index236.js +7 -7
  153. package/dist/esm/index237.js +25 -223
  154. package/dist/esm/index238.js +19 -6
  155. package/dist/esm/index239.js +147 -7
  156. package/dist/esm/index24.js +160 -34
  157. package/dist/esm/index240.js +12 -26
  158. package/dist/esm/index241.js +36 -20
  159. package/dist/esm/index242.js +41 -146
  160. package/dist/esm/index245.js +2 -2
  161. package/dist/esm/index248.js +5 -5
  162. package/dist/esm/index249.js +2 -2
  163. package/dist/esm/index25.js +36 -55
  164. package/dist/esm/index251.js +1 -1
  165. package/dist/esm/index253.js +2 -2
  166. package/dist/esm/index254.js +2 -2
  167. package/dist/esm/index255.js +1 -1
  168. package/dist/esm/index256.js +1 -1
  169. package/dist/esm/index26.js +8 -162
  170. package/dist/esm/index260.js +1 -1
  171. package/dist/esm/index27.js +31 -39
  172. package/dist/esm/index28.js +35 -8
  173. package/dist/esm/index29.js +8 -30
  174. package/dist/esm/index30.js +28 -35
  175. package/dist/esm/index31.js +46 -9
  176. package/dist/esm/index32.js +83 -24
  177. package/dist/esm/index33.js +37 -43
  178. package/dist/esm/index34.js +8 -88
  179. package/dist/esm/index35.js +6 -40
  180. package/dist/esm/index36.js +16 -8
  181. package/dist/esm/index37.js +8 -6
  182. package/dist/esm/index38.js +13 -16
  183. package/dist/esm/index39.js +7 -8
  184. package/dist/esm/index40.js +9 -13
  185. package/dist/esm/index41.js +16 -7
  186. package/dist/esm/index42.js +46 -9
  187. package/dist/esm/index43.js +13 -16
  188. package/dist/esm/index44.js +16 -46
  189. package/dist/esm/index45.js +13 -13
  190. package/dist/esm/index46.js +5 -15
  191. package/dist/esm/index47.js +35 -13
  192. package/dist/esm/index48.js +8 -5
  193. package/dist/esm/index49.js +7 -34
  194. package/dist/esm/index50.js +25 -9
  195. package/dist/esm/index51.js +10 -8
  196. package/dist/esm/index52.js +14 -25
  197. package/dist/esm/index53.js +11 -10
  198. package/dist/esm/index54.js +116 -14
  199. package/dist/esm/index55.js +33 -11
  200. package/dist/esm/index56.js +76 -113
  201. package/dist/esm/index57.js +174 -30
  202. package/dist/esm/index58.js +42 -77
  203. package/dist/esm/index59.js +6 -177
  204. package/dist/esm/index6.js +2 -2
  205. package/dist/esm/index60.js +13 -44
  206. package/dist/esm/index61.js +12 -5
  207. package/dist/esm/index62.js +99 -13
  208. package/dist/esm/index63.js +72 -13
  209. package/dist/esm/index64.js +83 -95
  210. package/dist/esm/index65.js +138 -62
  211. package/dist/esm/index66.js +120 -71
  212. package/dist/esm/index67.js +46 -126
  213. package/dist/esm/index68.js +23 -136
  214. package/dist/esm/index69.js +102 -65
  215. package/dist/esm/index7.js +2 -2
  216. package/dist/esm/index70.js +6 -23
  217. package/dist/esm/index71.js +128 -102
  218. package/dist/esm/index72.js +276 -7
  219. package/dist/esm/index73.js +3 -132
  220. package/dist/esm/index74.js +4 -276
  221. package/dist/esm/index75.js +9 -3
  222. package/dist/esm/index76.js +2 -4
  223. package/dist/esm/index77.js +2 -9
  224. package/dist/esm/index78.js +3 -2
  225. package/dist/esm/index79.js +327 -2
  226. package/dist/esm/index8.js +5 -5
  227. package/dist/esm/index80.js +14 -3
  228. package/dist/esm/index81.js +4 -326
  229. package/dist/esm/index82.js +54 -12
  230. package/dist/esm/index83.js +2 -5
  231. package/dist/esm/index84.js +6 -54
  232. package/dist/esm/index85.js +215 -2
  233. package/dist/esm/index86.js +32 -8
  234. package/dist/esm/index87.js +20 -213
  235. package/dist/esm/index88.js +6 -32
  236. package/dist/esm/index89.js +73 -21
  237. package/dist/esm/index9.js +2 -2
  238. package/dist/esm/index90.js +5 -5
  239. package/dist/esm/index91.js +5 -73
  240. package/dist/esm/index92.js +35 -5
  241. package/dist/esm/index93.js +75 -5
  242. package/dist/esm/index94.js +3 -36
  243. package/dist/esm/index95.js +15 -67
  244. package/dist/esm/index96.js +452 -3
  245. package/dist/esm/index97.js +22 -15
  246. package/dist/esm/index98.js +15 -440
  247. package/dist/esm/index99.js +24 -21
  248. package/package.json +3 -3
@@ -1,16 +1,38 @@
1
- import { parseEventLogs as a } from "./index142.js";
2
- import { formatLog as e } from "./index119.js";
3
- async function c(g, { filter: t }) {
4
- const s = t.strict ?? !1, o = (await t.request({
5
- method: "eth_getFilterLogs",
6
- params: [t.id]
7
- })).map((r) => e(r));
8
- return t.abi ? a({
9
- abi: t.abi,
10
- logs: o,
11
- strict: s
12
- }) : o;
1
+ import { encodeEventTopics as h } from "./index136.js";
2
+ import { parseEventLogs as l } from "./index140.js";
3
+ import { numberToHex as u } from "./index109.js";
4
+ import { formatLog as y } from "./index117.js";
5
+ async function T(n, { address: a, blockHash: m, fromBlock: o, toBlock: i, event: r, events: f, args: g, strict: L } = {}) {
6
+ const b = L ?? !1, e = f ?? (r ? [r] : void 0);
7
+ let t = [];
8
+ e && (t = [e.flatMap((c) => h({
9
+ abi: [c],
10
+ eventName: c.name,
11
+ args: f ? void 0 : g
12
+ }))], r && (t = t[0]));
13
+ let s;
14
+ m ? s = await n.request({
15
+ method: "eth_getLogs",
16
+ params: [{ address: a, topics: t, blockHash: m }]
17
+ }) : s = await n.request({
18
+ method: "eth_getLogs",
19
+ params: [
20
+ {
21
+ address: a,
22
+ topics: t,
23
+ fromBlock: typeof o == "bigint" ? u(o) : o,
24
+ toBlock: typeof i == "bigint" ? u(i) : i
25
+ }
26
+ ]
27
+ });
28
+ const p = s.map((d) => y(d));
29
+ return e ? l({
30
+ abi: e,
31
+ args: g,
32
+ logs: p,
33
+ strict: b
34
+ }) : p;
13
35
  }
14
36
  export {
15
- c as getFilterLogs
37
+ T as getLogs
16
38
  };
@@ -1,9 +1,12 @@
1
- async function r(e) {
2
- const t = await e.request({
3
- method: "eth_gasPrice"
1
+ import { numberToHex as c } from "./index109.js";
2
+ import { formatProof as s } from "./index224.js";
3
+ async function d(t, { address: e, blockNumber: o, blockTag: r, storageKeys: n }) {
4
+ const f = r ?? "latest", a = o !== void 0 ? c(o) : void 0, m = await t.request({
5
+ method: "eth_getProof",
6
+ params: [e, n, a || f]
4
7
  });
5
- return BigInt(t);
8
+ return s(m);
6
9
  }
7
10
  export {
8
- r as getGasPrice
11
+ d as getProof
9
12
  };
@@ -1,38 +1,11 @@
1
- import { encodeEventTopics as h } from "./index138.js";
2
- import { parseEventLogs as l } from "./index142.js";
3
- import { numberToHex as u } from "./index111.js";
4
- import { formatLog as y } from "./index119.js";
5
- async function T(n, { address: a, blockHash: m, fromBlock: o, toBlock: i, event: r, events: f, args: g, strict: L } = {}) {
6
- const b = L ?? !1, e = f ?? (r ? [r] : void 0);
7
- let t = [];
8
- e && (t = [e.flatMap((c) => h({
9
- abi: [c],
10
- eventName: c.name,
11
- args: f ? void 0 : g
12
- }))], r && (t = t[0]));
13
- let s;
14
- m ? s = await n.request({
15
- method: "eth_getLogs",
16
- params: [{ address: a, topics: t, blockHash: m }]
17
- }) : s = await n.request({
18
- method: "eth_getLogs",
19
- params: [
20
- {
21
- address: a,
22
- topics: t,
23
- fromBlock: typeof o == "bigint" ? u(o) : o,
24
- toBlock: typeof i == "bigint" ? u(i) : i
25
- }
26
- ]
1
+ import { numberToHex as d } from "./index109.js";
2
+ async function i(e, { address: a, blockNumber: t, blockTag: n = "latest", slot: o }) {
3
+ const r = t !== void 0 ? d(t) : void 0;
4
+ return await e.request({
5
+ method: "eth_getStorageAt",
6
+ params: [a, o, r || n]
27
7
  });
28
- const p = s.map((d) => y(d));
29
- return e ? l({
30
- abi: e,
31
- args: g,
32
- logs: p,
33
- strict: b
34
- }) : p;
35
8
  }
36
9
  export {
37
- T as getLogs
10
+ i as getStorageAt
38
11
  };
@@ -1,12 +1,28 @@
1
- import { numberToHex as c } from "./index111.js";
2
- import { formatProof as s } from "./index227.js";
3
- async function d(t, { address: e, blockNumber: o, blockTag: r, storageKeys: n }) {
4
- const f = r ?? "latest", a = o !== void 0 ? c(o) : void 0, m = await t.request({
5
- method: "eth_getProof",
6
- params: [e, n, a || f]
7
- });
8
- return s(m);
1
+ import { TransactionNotFoundError as u } from "./index93.js";
2
+ import { numberToHex as s } from "./index109.js";
3
+ import { formatTransaction as f } from "./index116.js";
4
+ async function B(e, { blockHash: a, blockNumber: r, blockTag: i, hash: o, index: n }) {
5
+ const m = i || "latest", d = r !== void 0 ? s(r) : void 0;
6
+ let t = null;
7
+ if (o ? t = await e.request({
8
+ method: "eth_getTransactionByHash",
9
+ params: [o]
10
+ }, { dedupe: !0 }) : a ? t = await e.request({
11
+ method: "eth_getTransactionByBlockHashAndIndex",
12
+ params: [a, s(n)]
13
+ }, { dedupe: !0 }) : t = await e.request({
14
+ method: "eth_getTransactionByBlockNumberAndIndex",
15
+ params: [d || m, s(n)]
16
+ }, { dedupe: !!d }), !t)
17
+ throw new u({
18
+ blockHash: a,
19
+ blockNumber: r,
20
+ blockTag: m,
21
+ hash: o,
22
+ index: n
23
+ });
24
+ return (e.chain?.formatters?.transaction?.format || f)(t);
9
25
  }
10
26
  export {
11
- d as getProof
27
+ B as getTransaction
12
28
  };
@@ -1,11 +1,13 @@
1
- import { numberToHex as d } from "./index111.js";
2
- async function i(e, { address: a, blockNumber: t, blockTag: n = "latest", slot: o }) {
3
- const r = t !== void 0 ? d(t) : void 0;
4
- return await e.request({
5
- method: "eth_getStorageAt",
6
- params: [a, o, r || n]
7
- });
1
+ import { getAction as n } from "./index206.js";
2
+ import { getBlockNumber as a } from "./index37.js";
3
+ import { getTransaction as m } from "./index50.js";
4
+ async function f(o, { hash: r, transactionReceipt: e }) {
5
+ const [c, i] = await Promise.all([
6
+ n(o, a, "getBlockNumber")({}),
7
+ r ? n(o, m, "getTransaction")({ hash: r }) : void 0
8
+ ]), t = e?.blockNumber || i?.blockNumber;
9
+ return t ? c - t + 1n : 0n;
8
10
  }
9
11
  export {
10
- i as getStorageAt
12
+ f as getTransactionConfirmations
11
13
  };
@@ -1,28 +1,17 @@
1
- import { TransactionNotFoundError as u } from "./index95.js";
2
- import { numberToHex as s } from "./index111.js";
3
- import { formatTransaction as f } from "./index118.js";
4
- async function B(e, { blockHash: a, blockNumber: r, blockTag: i, hash: o, index: n }) {
5
- const m = i || "latest", d = r !== void 0 ? s(r) : void 0;
6
- let t = null;
7
- if (o ? t = await e.request({
8
- method: "eth_getTransactionByHash",
9
- params: [o]
10
- }, { dedupe: !0 }) : a ? t = await e.request({
11
- method: "eth_getTransactionByBlockHashAndIndex",
12
- params: [a, s(n)]
13
- }, { dedupe: !0 }) : t = await e.request({
14
- method: "eth_getTransactionByBlockNumberAndIndex",
15
- params: [d || m, s(n)]
16
- }, { dedupe: !!d }), !t)
17
- throw new u({
18
- blockHash: a,
19
- blockNumber: r,
20
- blockTag: m,
21
- hash: o,
22
- index: n
23
- });
24
- return (e.chain?.formatters?.transaction?.format || f)(t);
1
+ import { hexToNumber as r } from "./index142.js";
2
+ import { numberToHex as i } from "./index109.js";
3
+ async function m(o, { address: e, blockTag: n = "latest", blockNumber: t }) {
4
+ const a = await o.request({
5
+ method: "eth_getTransactionCount",
6
+ params: [
7
+ e,
8
+ typeof t == "bigint" ? i(t) : n
9
+ ]
10
+ }, {
11
+ dedupe: !!t
12
+ });
13
+ return r(a);
25
14
  }
26
15
  export {
27
- B as getTransaction
16
+ m as getTransactionCount
28
17
  };
@@ -1,13 +1,14 @@
1
- import { getAction as n } from "./index209.js";
2
- import { getBlockNumber as a } from "./index39.js";
3
- import { getTransaction as m } from "./index52.js";
4
- async function f(o, { hash: r, transactionReceipt: e }) {
5
- const [c, i] = await Promise.all([
6
- n(o, a, "getBlockNumber")({}),
7
- r ? n(o, m, "getTransaction")({ hash: r }) : void 0
8
- ]), t = e?.blockNumber || i?.blockNumber;
9
- return t ? c - t + 1n : 0n;
1
+ import { TransactionReceiptNotFoundError as o } from "./index93.js";
2
+ import { formatTransactionReceipt as a } from "./index143.js";
3
+ async function m(t, { hash: r }) {
4
+ const e = await t.request({
5
+ method: "eth_getTransactionReceipt",
6
+ params: [r]
7
+ }, { dedupe: !0 });
8
+ if (!e)
9
+ throw new o({ hash: r });
10
+ return (t.chain?.formatters?.transactionReceipt?.format || a)(e);
10
11
  }
11
12
  export {
12
- f as getTransactionConfirmations
13
+ m as getTransactionReceipt
13
14
  };
@@ -1,17 +1,119 @@
1
- import { hexToNumber as r } from "./index144.js";
2
- import { numberToHex as i } from "./index111.js";
3
- async function m(o, { address: e, blockTag: n = "latest", blockNumber: t }) {
4
- const a = await o.request({
5
- method: "eth_getTransactionCount",
6
- params: [
7
- e,
8
- typeof t == "bigint" ? i(t) : n
9
- ]
10
- }, {
11
- dedupe: !!t
12
- });
13
- return r(a);
1
+ import { multicall3Abi as x } from "./index72.js";
2
+ import { AbiDecodingZeroDataError as P } from "./index79.js";
3
+ import { BaseError as _ } from "./index82.js";
4
+ import { RawContractError as v } from "./index85.js";
5
+ import { decodeFunctionResult as q } from "./index130.js";
6
+ import { encodeFunctionData as B } from "./index137.js";
7
+ import { getChainContractAddress as O } from "./index173.js";
8
+ import { getContractError as E } from "./index180.js";
9
+ import { getAction as T } from "./index206.js";
10
+ import { readContract as Z } from "./index55.js";
11
+ async function W(n, w) {
12
+ const { account: b, allowFailure: u = !0, batchSize: F, blockNumber: p, blockTag: j, multicallAddress: y, stateOverride: N } = w, d = w.contracts, C = F ?? (typeof n.batch?.multicall == "object" && n.batch.multicall.batchSize || 1024);
13
+ let m = y;
14
+ if (!m) {
15
+ if (!n.chain)
16
+ throw new Error("client chain not configured. multicallAddress is required.");
17
+ m = O({
18
+ blockNumber: p,
19
+ chain: n.chain,
20
+ contract: "multicall3"
21
+ });
22
+ }
23
+ const e = [[]];
24
+ let a = 0, f = 0;
25
+ for (let t = 0; t < d.length; t++) {
26
+ const { abi: o, address: s, args: r, functionName: i } = d[t];
27
+ try {
28
+ const c = B({ abi: o, args: r, functionName: i });
29
+ f += (c.length - 2) / 2, // Check if batching is enabled.
30
+ C > 0 && // Check if the current size of the batch exceeds the size limit.
31
+ f > C && // Check if the current chunk is not already empty.
32
+ e[a].length > 0 && (a++, f = (c.length - 2) / 2, e[a] = []), e[a] = [
33
+ ...e[a],
34
+ {
35
+ allowFailure: !0,
36
+ callData: c,
37
+ target: s
38
+ }
39
+ ];
40
+ } catch (c) {
41
+ const g = E(c, {
42
+ abi: o,
43
+ address: s,
44
+ args: r,
45
+ docsPath: "/docs/contract/multicall",
46
+ functionName: i,
47
+ sender: b
48
+ });
49
+ if (!u)
50
+ throw g;
51
+ e[a] = [
52
+ ...e[a],
53
+ {
54
+ allowFailure: !0,
55
+ callData: "0x",
56
+ target: s
57
+ }
58
+ ];
59
+ }
60
+ }
61
+ const A = await Promise.allSettled(e.map((t) => T(n, Z, "readContract")({
62
+ abi: x,
63
+ account: b,
64
+ address: m,
65
+ args: [t],
66
+ blockNumber: p,
67
+ blockTag: j,
68
+ functionName: "aggregate3",
69
+ stateOverride: N
70
+ }))), l = [];
71
+ for (let t = 0; t < A.length; t++) {
72
+ const o = A[t];
73
+ if (o.status === "rejected") {
74
+ if (!u)
75
+ throw o.reason;
76
+ for (let r = 0; r < e[t].length; r++)
77
+ l.push({
78
+ status: "failure",
79
+ error: o.reason,
80
+ result: void 0
81
+ });
82
+ continue;
83
+ }
84
+ const s = o.value;
85
+ for (let r = 0; r < s.length; r++) {
86
+ const { returnData: i, success: c } = s[r], { callData: g } = e[t][r], { abi: D, address: R, functionName: S, args: k } = d[l.length];
87
+ try {
88
+ if (g === "0x")
89
+ throw new P();
90
+ if (!c)
91
+ throw new v({ data: i });
92
+ const h = q({
93
+ abi: D,
94
+ args: k,
95
+ data: i,
96
+ functionName: S
97
+ });
98
+ l.push(u ? { result: h, status: "success" } : h);
99
+ } catch (h) {
100
+ const z = E(h, {
101
+ abi: D,
102
+ address: R,
103
+ args: k,
104
+ docsPath: "/docs/contract/multicall",
105
+ functionName: S
106
+ });
107
+ if (!u)
108
+ throw z;
109
+ l.push({ error: z, result: void 0, status: "failure" });
110
+ }
111
+ }
112
+ }
113
+ if (l.length !== d.length)
114
+ throw new _("multicall results mismatch");
115
+ return l;
14
116
  }
15
117
  export {
16
- m as getTransactionCount
118
+ W as multicall
17
119
  };
@@ -1,14 +1,36 @@
1
- import { TransactionReceiptNotFoundError as o } from "./index95.js";
2
- import { formatTransactionReceipt as a } from "./index145.js";
3
- async function m(t, { hash: r }) {
4
- const e = await t.request({
5
- method: "eth_getTransactionReceipt",
6
- params: [r]
7
- }, { dedupe: !0 });
8
- if (!e)
9
- throw new o({ hash: r });
10
- return (t.chain?.formatters?.transactionReceipt?.format || a)(e);
1
+ import { decodeFunctionResult as m } from "./index130.js";
2
+ import { encodeFunctionData as s } from "./index137.js";
3
+ import { getContractError as f } from "./index180.js";
4
+ import { getAction as l } from "./index206.js";
5
+ import { call as p } from "./index24.js";
6
+ async function x(n, e) {
7
+ const { abi: t, address: c, args: o, functionName: r, ...d } = e, i = s({
8
+ abi: t,
9
+ args: o,
10
+ functionName: r
11
+ });
12
+ try {
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
17
+ });
18
+ return m({
19
+ abi: t,
20
+ args: o,
21
+ functionName: r,
22
+ data: a || "0x"
23
+ });
24
+ } catch (a) {
25
+ throw f(a, {
26
+ abi: t,
27
+ address: c,
28
+ args: o,
29
+ docsPath: "/docs/contract/readContract",
30
+ functionName: r
31
+ });
32
+ }
11
33
  }
12
34
  export {
13
- m as getTransactionReceipt
35
+ x as readContract
14
36
  };
@@ -1,119 +1,82 @@
1
- import { multicall3Abi as x } from "./index74.js";
2
- import { AbiDecodingZeroDataError as P } from "./index81.js";
3
- import { BaseError as _ } from "./index84.js";
4
- import { RawContractError as v } from "./index87.js";
5
- import { decodeFunctionResult as q } from "./index132.js";
6
- import { encodeFunctionData as B } from "./index139.js";
7
- import { getChainContractAddress as O } from "./index174.js";
8
- import { getContractError as E } from "./index181.js";
9
- import { getAction as T } from "./index209.js";
10
- import { readContract as Z } from "./index57.js";
11
- async function W(n, w) {
12
- const { account: b, allowFailure: u = !0, batchSize: F, blockNumber: p, blockTag: j, multicallAddress: y, stateOverride: N } = w, d = w.contracts, C = F ?? (typeof n.batch?.multicall == "object" && n.batch.multicall.batchSize || 1024);
13
- let m = y;
14
- if (!m) {
15
- if (!n.chain)
16
- throw new Error("client chain not configured. multicallAddress is required.");
17
- m = O({
18
- blockNumber: p,
19
- chain: n.chain,
20
- contract: "multicall3"
21
- });
22
- }
23
- const e = [[]];
24
- let a = 0, f = 0;
25
- for (let t = 0; t < d.length; t++) {
26
- const { abi: o, address: s, args: r, functionName: i } = d[t];
27
- try {
28
- const c = B({ abi: o, args: r, functionName: i });
29
- f += (c.length - 2) / 2, // Check if batching is enabled.
30
- C > 0 && // Check if the current size of the batch exceeds the size limit.
31
- f > C && // Check if the current chunk is not already empty.
32
- e[a].length > 0 && (a++, f = (c.length - 2) / 2, e[a] = []), e[a] = [
33
- ...e[a],
34
- {
35
- allowFailure: !0,
36
- callData: c,
37
- target: s
38
- }
39
- ];
40
- } catch (c) {
41
- const g = E(c, {
42
- abi: o,
43
- address: s,
44
- args: r,
45
- docsPath: "/docs/contract/multicall",
46
- functionName: i,
47
- sender: b
1
+ import { toRpc as R } from "./index215.js";
2
+ import { parseAccount as q } from "./index11.js";
3
+ import { AbiDecodingZeroDataError as D } from "./index79.js";
4
+ import { RawContractError as S } from "./index85.js";
5
+ import { UnknownNodeError as y } from "./index101.js";
6
+ import { decodeFunctionResult as B } from "./index130.js";
7
+ import { encodeFunctionData as C } from "./index137.js";
8
+ import { concat as F } from "./index113.js";
9
+ import { numberToHex as H } from "./index109.js";
10
+ import { getContractError as U } from "./index180.js";
11
+ import { getNodeError as A } from "./index225.js";
12
+ import { formatBlock as _ } from "./index114.js";
13
+ import { formatLog as z } from "./index117.js";
14
+ import { formatTransactionRequest as I } from "./index144.js";
15
+ import { serializeStateOverride as L } from "./index219.js";
16
+ import { assertRequest as V } from "./index157.js";
17
+ async function nr(p, g) {
18
+ const { blockNumber: b, blockTag: x = p.experimental_blockTag ?? "latest", blocks: k, returnFullTransactions: v, traceTransfers: w, validation: N } = g;
19
+ try {
20
+ const a = [];
21
+ for (const o of k) {
22
+ const d = o.blockOverrides ? R(o.blockOverrides) : void 0, t = o.calls.map((n) => {
23
+ const r = n, i = r.account ? q(r.account) : void 0, m = r.abi ? C(r) : r.data, e = {
24
+ ...r,
25
+ data: r.dataSuffix ? F([m || "0x", r.dataSuffix]) : m,
26
+ from: r.from ?? i?.address
27
+ };
28
+ return V(e), I(e);
29
+ }), l = o.stateOverrides ? L(o.stateOverrides) : void 0;
30
+ a.push({
31
+ blockOverrides: d,
32
+ calls: t,
33
+ stateOverrides: l
48
34
  });
49
- if (!u)
50
- throw g;
51
- e[a] = [
52
- ...e[a],
53
- {
54
- allowFailure: !0,
55
- callData: "0x",
56
- target: s
57
- }
58
- ];
59
- }
60
- }
61
- const A = await Promise.allSettled(e.map((t) => T(n, Z, "readContract")({
62
- abi: x,
63
- account: b,
64
- address: m,
65
- args: [t],
66
- blockNumber: p,
67
- blockTag: j,
68
- functionName: "aggregate3",
69
- stateOverride: N
70
- }))), l = [];
71
- for (let t = 0; t < A.length; t++) {
72
- const o = A[t];
73
- if (o.status === "rejected") {
74
- if (!u)
75
- throw o.reason;
76
- for (let r = 0; r < e[t].length; r++)
77
- l.push({
78
- status: "failure",
79
- error: o.reason,
80
- result: void 0
81
- });
82
- continue;
83
- }
84
- const s = o.value;
85
- for (let r = 0; r < s.length; r++) {
86
- const { returnData: i, success: c } = s[r], { callData: g } = e[t][r], { abi: D, address: R, functionName: S, args: k } = d[l.length];
87
- try {
88
- if (g === "0x")
89
- throw new P();
90
- if (!c)
91
- throw new v({ data: i });
92
- const h = q({
93
- abi: D,
94
- args: k,
95
- data: i,
96
- functionName: S
97
- });
98
- l.push(u ? { result: h, status: "success" } : h);
99
- } catch (h) {
100
- const z = E(h, {
101
- abi: D,
102
- address: R,
103
- args: k,
104
- docsPath: "/docs/contract/multicall",
105
- functionName: S
106
- });
107
- if (!u)
108
- throw z;
109
- l.push({ error: z, result: void 0, status: "failure" });
110
- }
111
35
  }
36
+ const c = (typeof b == "bigint" ? H(b) : void 0) || x;
37
+ return (await p.request({
38
+ method: "eth_simulateV1",
39
+ params: [
40
+ { blockStateCalls: a, returnFullTransactions: v, traceTransfers: w, validation: N },
41
+ c
42
+ ]
43
+ })).map((o, d) => ({
44
+ ..._(o),
45
+ calls: o.calls.map((t, l) => {
46
+ const { abi: n, args: r, functionName: i, to: m } = k[d].calls[l], e = t.error?.data ?? t.returnData, O = BigInt(t.gasUsed), h = t.logs?.map((s) => z(s)), u = t.status === "0x1" ? "success" : "failure", T = n && u === "success" && e !== "0x" ? B({
47
+ abi: n,
48
+ data: e,
49
+ functionName: i
50
+ }) : null, E = (() => {
51
+ if (u === "success")
52
+ return;
53
+ let s;
54
+ if (t.error?.data === "0x" ? s = new D() : t.error && (s = new S(t.error)), !!s)
55
+ return U(s, {
56
+ abi: n ?? [],
57
+ address: m ?? "0x",
58
+ args: r,
59
+ functionName: i ?? "<unknown>"
60
+ });
61
+ })();
62
+ return {
63
+ data: e,
64
+ gasUsed: O,
65
+ logs: h,
66
+ status: u,
67
+ ...u === "success" ? {
68
+ result: T
69
+ } : {
70
+ error: E
71
+ }
72
+ };
73
+ })
74
+ }));
75
+ } catch (a) {
76
+ const f = a, c = A(f, {});
77
+ throw c instanceof y ? f : c;
112
78
  }
113
- if (l.length !== d.length)
114
- throw new _("multicall results mismatch");
115
- return l;
116
79
  }
117
80
  export {
118
- W as multicall
81
+ nr as simulateBlocks
119
82
  };