@coinbase/cdp-hooks 0.0.37 → 0.0.39

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/dist/esm/index10.js +33 -10
  2. package/dist/esm/index100.js +32 -24
  3. package/dist/esm/index101.js +182 -22
  4. package/dist/esm/index102.js +6 -32
  5. package/dist/esm/index103.js +2 -194
  6. package/dist/esm/index104.js +10 -6
  7. package/dist/esm/index105.js +19 -2
  8. package/dist/esm/index106.js +25 -10
  9. package/dist/esm/index107.js +8 -18
  10. package/dist/esm/index108.js +52 -24
  11. package/dist/esm/index109.js +45 -8
  12. package/dist/esm/index11.js +3 -8
  13. package/dist/esm/index110.js +8 -55
  14. package/dist/esm/index111.js +7 -45
  15. package/dist/esm/index112.js +16 -8
  16. package/dist/esm/index113.js +18 -7
  17. package/dist/esm/index114.js +24 -16
  18. package/dist/esm/index115.js +16 -18
  19. package/dist/esm/index116.js +52 -22
  20. package/dist/esm/index117.js +11 -16
  21. package/dist/esm/index118.js +159 -53
  22. package/dist/esm/index119.js +21 -11
  23. package/dist/esm/index12.js +8 -31
  24. package/dist/esm/index120.js +124 -157
  25. package/dist/esm/index121.js +37 -20
  26. package/dist/esm/index122.js +6 -127
  27. package/dist/esm/index123.js +24 -35
  28. package/dist/esm/index124.js +191 -6
  29. package/dist/esm/index125.js +4 -28
  30. package/dist/esm/index126.js +57 -184
  31. package/dist/esm/index127.js +3 -4
  32. package/dist/esm/index128.js +16 -60
  33. package/dist/esm/index129.js +17 -3
  34. package/dist/esm/index13.js +68 -3
  35. package/dist/esm/index130.js +22 -19
  36. package/dist/esm/index131.js +11 -16
  37. package/dist/esm/index132.js +33 -22
  38. package/dist/esm/index133.js +3 -12
  39. package/dist/esm/index134.js +17 -33
  40. package/dist/esm/index135.js +28 -3
  41. package/dist/esm/index136.js +35 -18
  42. package/dist/esm/index137.js +7 -27
  43. package/dist/esm/index138.js +24 -34
  44. package/dist/esm/index139.js +28 -7
  45. package/dist/esm/index14.js +8 -8
  46. package/dist/esm/index140.js +63 -24
  47. package/dist/esm/index141.js +9 -28
  48. package/dist/esm/index142.js +31 -62
  49. package/dist/esm/index143.js +27 -9
  50. package/dist/esm/index144.js +23 -32
  51. package/dist/esm/index145.js +3 -27
  52. package/dist/esm/index146.js +14 -24
  53. package/dist/esm/index147.js +103 -3
  54. package/dist/esm/index148.js +64 -14
  55. package/dist/esm/index149.js +5 -103
  56. package/dist/esm/index15.js +27 -67
  57. package/dist/esm/index150.js +6 -64
  58. package/dist/esm/index151.js +27 -5
  59. package/dist/esm/index152.js +39 -6
  60. package/dist/esm/index153.js +13 -27
  61. package/dist/esm/index154.js +41 -38
  62. package/dist/esm/index155.js +5 -13
  63. package/dist/esm/index156.js +11 -42
  64. package/dist/esm/index157.js +19 -5
  65. package/dist/esm/index158.js +78 -11
  66. package/dist/esm/index159.js +2 -20
  67. package/dist/esm/index16.js +70 -9
  68. package/dist/esm/index160.js +33 -74
  69. package/dist/esm/index161.js +111 -2
  70. package/dist/esm/index162.js +38 -27
  71. package/dist/esm/index163.js +30 -108
  72. package/dist/esm/index164.js +8 -48
  73. package/dist/esm/index165.js +6 -32
  74. package/dist/esm/index166.js +6 -8
  75. package/dist/esm/index167.js +11 -6
  76. package/dist/esm/index168.js +10 -6
  77. package/dist/esm/index169.js +13 -11
  78. package/dist/esm/index17.js +17 -26
  79. package/dist/esm/index170.js +31 -9
  80. package/dist/esm/index171.js +5 -14
  81. package/dist/esm/index172.js +8 -32
  82. package/dist/esm/index173.js +20 -5
  83. package/dist/esm/index174.js +31 -19
  84. package/dist/esm/index175.js +20 -31
  85. package/dist/esm/index176.js +3 -20
  86. package/dist/esm/index177.js +17 -3
  87. package/dist/esm/index178.js +10 -17
  88. package/dist/esm/index179.js +21 -10
  89. package/dist/esm/index18.js +108 -68
  90. package/dist/esm/index180.js +22 -21
  91. package/dist/esm/index181.js +5 -22
  92. package/dist/esm/index182.js +5 -5
  93. package/dist/esm/index183.js +8 -5
  94. package/dist/esm/index184.js +104 -8
  95. package/dist/esm/index185.js +3 -105
  96. package/dist/esm/index186.js +19 -3
  97. package/dist/esm/index187.js +170 -17
  98. package/dist/esm/index188.js +16 -170
  99. package/dist/esm/index189.js +10 -18
  100. package/dist/esm/index19.js +60 -19
  101. package/dist/esm/index190.js +40 -12
  102. package/dist/esm/index191.js +2 -36
  103. package/dist/esm/index192.js +4 -41
  104. package/dist/esm/index193.js +9 -39
  105. package/dist/esm/index194.js +20 -2
  106. package/dist/esm/index195.js +7 -4
  107. package/dist/esm/index196.js +10 -9
  108. package/dist/esm/index197.js +66 -19
  109. package/dist/esm/index198.js +65 -7
  110. package/dist/esm/index199.js +184 -10
  111. package/dist/esm/index20.js +24 -110
  112. package/dist/esm/index200.js +22 -66
  113. package/dist/esm/index201.js +38 -61
  114. package/dist/esm/index202.js +69 -178
  115. package/dist/esm/index203.js +39 -21
  116. package/dist/esm/index204.js +9 -35
  117. package/dist/esm/index205.js +7 -70
  118. package/dist/esm/index206.js +7 -40
  119. package/dist/esm/index207.js +6 -16
  120. package/dist/esm/index208.js +36 -13
  121. package/dist/esm/index209.js +15 -7
  122. package/dist/esm/index21.js +31 -51
  123. package/dist/esm/index210.js +8 -6
  124. package/dist/esm/index211.js +11 -35
  125. package/dist/esm/index212.js +9 -15
  126. package/dist/esm/index213.js +16 -8
  127. package/dist/esm/index214.js +22 -12
  128. package/dist/esm/index215.js +30 -9
  129. package/dist/esm/index216.js +2 -17
  130. package/dist/esm/index217.js +12 -21
  131. package/dist/esm/index218.js +12 -30
  132. package/dist/esm/index219.js +48 -2
  133. package/dist/esm/index22.js +36 -23
  134. package/dist/esm/index220.js +8 -12
  135. package/dist/esm/index221.js +13 -12
  136. package/dist/esm/index222.js +13 -46
  137. package/dist/esm/index223.js +8 -9
  138. package/dist/esm/index224.js +15 -13
  139. package/dist/esm/index225.js +24 -14
  140. package/dist/esm/index226.js +11 -8
  141. package/dist/esm/index227.js +23 -14
  142. package/dist/esm/index228.js +51 -24
  143. package/dist/esm/index229.js +17 -11
  144. package/dist/esm/index23.js +46 -28
  145. package/dist/esm/index230.js +14 -24
  146. package/dist/esm/index231.js +11 -51
  147. package/dist/esm/index232.js +103 -17
  148. package/dist/esm/index233.js +6 -14
  149. package/dist/esm/index234.js +224 -11
  150. package/dist/esm/index235.js +6 -103
  151. package/dist/esm/index236.js +7 -7
  152. package/dist/esm/index237.js +25 -223
  153. package/dist/esm/index238.js +19 -6
  154. package/dist/esm/index239.js +147 -7
  155. package/dist/esm/index24.js +160 -34
  156. package/dist/esm/index240.js +12 -26
  157. package/dist/esm/index241.js +36 -20
  158. package/dist/esm/index242.js +41 -146
  159. package/dist/esm/index245.js +2 -2
  160. package/dist/esm/index248.js +5 -5
  161. package/dist/esm/index249.js +2 -2
  162. package/dist/esm/index25.js +36 -55
  163. package/dist/esm/index251.js +1 -1
  164. package/dist/esm/index253.js +2 -2
  165. package/dist/esm/index254.js +2 -2
  166. package/dist/esm/index255.js +1 -1
  167. package/dist/esm/index256.js +1 -1
  168. package/dist/esm/index26.js +8 -162
  169. package/dist/esm/index260.js +1 -1
  170. package/dist/esm/index27.js +31 -39
  171. package/dist/esm/index28.js +35 -8
  172. package/dist/esm/index29.js +8 -30
  173. package/dist/esm/index30.js +28 -35
  174. package/dist/esm/index31.js +46 -9
  175. package/dist/esm/index32.js +83 -24
  176. package/dist/esm/index33.js +37 -43
  177. package/dist/esm/index34.js +8 -88
  178. package/dist/esm/index35.js +6 -40
  179. package/dist/esm/index36.js +16 -8
  180. package/dist/esm/index37.js +8 -6
  181. package/dist/esm/index38.js +13 -16
  182. package/dist/esm/index39.js +7 -8
  183. package/dist/esm/index40.js +9 -13
  184. package/dist/esm/index41.js +16 -7
  185. package/dist/esm/index42.js +46 -9
  186. package/dist/esm/index43.js +13 -16
  187. package/dist/esm/index44.js +16 -46
  188. package/dist/esm/index45.js +13 -13
  189. package/dist/esm/index46.js +5 -15
  190. package/dist/esm/index47.js +35 -13
  191. package/dist/esm/index48.js +8 -5
  192. package/dist/esm/index49.js +7 -34
  193. package/dist/esm/index50.js +25 -9
  194. package/dist/esm/index51.js +10 -8
  195. package/dist/esm/index52.js +14 -25
  196. package/dist/esm/index53.js +11 -10
  197. package/dist/esm/index54.js +116 -14
  198. package/dist/esm/index55.js +33 -11
  199. package/dist/esm/index56.js +76 -113
  200. package/dist/esm/index57.js +174 -30
  201. package/dist/esm/index58.js +42 -77
  202. package/dist/esm/index59.js +6 -177
  203. package/dist/esm/index6.js +2 -2
  204. package/dist/esm/index60.js +13 -44
  205. package/dist/esm/index61.js +12 -5
  206. package/dist/esm/index62.js +99 -13
  207. package/dist/esm/index63.js +72 -13
  208. package/dist/esm/index64.js +83 -95
  209. package/dist/esm/index65.js +138 -62
  210. package/dist/esm/index66.js +120 -71
  211. package/dist/esm/index67.js +46 -126
  212. package/dist/esm/index68.js +23 -136
  213. package/dist/esm/index69.js +102 -65
  214. package/dist/esm/index7.js +2 -2
  215. package/dist/esm/index70.js +6 -23
  216. package/dist/esm/index71.js +128 -102
  217. package/dist/esm/index72.js +276 -7
  218. package/dist/esm/index73.js +3 -132
  219. package/dist/esm/index74.js +4 -276
  220. package/dist/esm/index75.js +9 -3
  221. package/dist/esm/index76.js +2 -4
  222. package/dist/esm/index77.js +2 -9
  223. package/dist/esm/index78.js +3 -2
  224. package/dist/esm/index79.js +327 -2
  225. package/dist/esm/index8.js +5 -5
  226. package/dist/esm/index80.js +14 -3
  227. package/dist/esm/index81.js +4 -326
  228. package/dist/esm/index82.js +54 -12
  229. package/dist/esm/index83.js +2 -5
  230. package/dist/esm/index84.js +6 -54
  231. package/dist/esm/index85.js +215 -2
  232. package/dist/esm/index86.js +32 -8
  233. package/dist/esm/index87.js +20 -213
  234. package/dist/esm/index88.js +6 -32
  235. package/dist/esm/index89.js +73 -21
  236. package/dist/esm/index9.js +2 -2
  237. package/dist/esm/index90.js +5 -5
  238. package/dist/esm/index91.js +5 -73
  239. package/dist/esm/index92.js +35 -5
  240. package/dist/esm/index93.js +75 -5
  241. package/dist/esm/index94.js +3 -36
  242. package/dist/esm/index95.js +15 -67
  243. package/dist/esm/index96.js +452 -3
  244. package/dist/esm/index97.js +22 -15
  245. package/dist/esm/index98.js +15 -440
  246. package/dist/esm/index99.js +24 -21
  247. package/dist/types/index.d.ts +4 -0
  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
  };