@coinbase/cdp-hooks 0.0.36 → 0.0.37

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