@coinbase/cdp-hooks 0.0.44 → 0.0.45

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 (274) hide show
  1. package/README.md +92 -0
  2. package/dist/esm/index.js +26 -22
  3. package/dist/esm/index10.js +12 -56
  4. package/dist/esm/index100.js +439 -21
  5. package/dist/esm/index101.js +28 -32
  6. package/dist/esm/index102.js +18 -185
  7. package/dist/esm/index103.js +31 -6
  8. package/dist/esm/index104.js +35 -2
  9. package/dist/esm/index105.js +189 -8
  10. package/dist/esm/index106.js +7 -17
  11. package/dist/esm/index107.js +2 -28
  12. package/dist/esm/index108.js +12 -8
  13. package/dist/esm/index109.js +15 -52
  14. package/dist/esm/index11.js +54 -33
  15. package/dist/esm/index110.js +23 -41
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +55 -7
  18. package/dist/esm/index113.js +44 -15
  19. package/dist/esm/index114.js +8 -18
  20. package/dist/esm/index115.js +7 -24
  21. package/dist/esm/index116.js +16 -16
  22. package/dist/esm/index117.js +17 -53
  23. package/dist/esm/index118.js +22 -9
  24. package/dist/esm/index119.js +15 -159
  25. package/dist/esm/index12.js +57 -3
  26. package/dist/esm/index120.js +53 -20
  27. package/dist/esm/index121.js +11 -127
  28. package/dist/esm/index122.js +153 -31
  29. package/dist/esm/index123.js +21 -6
  30. package/dist/esm/index124.js +127 -27
  31. package/dist/esm/index125.js +31 -184
  32. package/dist/esm/index126.js +7 -4
  33. package/dist/esm/index127.js +26 -63
  34. package/dist/esm/index128.js +192 -3
  35. package/dist/esm/index129.js +4 -21
  36. package/dist/esm/index13.js +56 -10
  37. package/dist/esm/index130.js +61 -13
  38. package/dist/esm/index131.js +3 -24
  39. package/dist/esm/index132.js +20 -11
  40. package/dist/esm/index133.js +15 -33
  41. package/dist/esm/index134.js +24 -3
  42. package/dist/esm/index135.js +11 -18
  43. package/dist/esm/index136.js +33 -26
  44. package/dist/esm/index137.js +3 -36
  45. package/dist/esm/index138.js +18 -7
  46. package/dist/esm/index139.js +26 -24
  47. package/dist/esm/index14.js +31 -67
  48. package/dist/esm/index140.js +34 -27
  49. package/dist/esm/index141.js +7 -64
  50. package/dist/esm/index142.js +25 -9
  51. package/dist/esm/index143.js +28 -33
  52. package/dist/esm/index144.js +64 -27
  53. package/dist/esm/index145.js +9 -24
  54. package/dist/esm/index146.js +33 -3
  55. package/dist/esm/index147.js +27 -14
  56. package/dist/esm/index148.js +24 -103
  57. package/dist/esm/index149.js +3 -64
  58. package/dist/esm/index15.js +3 -9
  59. package/dist/esm/index150.js +14 -5
  60. package/dist/esm/index151.js +103 -6
  61. package/dist/esm/index152.js +62 -25
  62. package/dist/esm/index153.js +5 -39
  63. package/dist/esm/index154.js +6 -13
  64. package/dist/esm/index155.js +24 -39
  65. package/dist/esm/index156.js +39 -5
  66. package/dist/esm/index157.js +13 -11
  67. package/dist/esm/index158.js +42 -19
  68. package/dist/esm/index159.js +5 -78
  69. package/dist/esm/index16.js +9 -28
  70. package/dist/esm/index160.js +12 -2
  71. package/dist/esm/index161.js +19 -37
  72. package/dist/esm/index162.js +73 -105
  73. package/dist/esm/index163.js +2 -49
  74. package/dist/esm/index164.js +36 -31
  75. package/dist/esm/index165.js +110 -8
  76. package/dist/esm/index166.js +48 -6
  77. package/dist/esm/index167.js +32 -6
  78. package/dist/esm/index168.js +8 -11
  79. package/dist/esm/index169.js +6 -10
  80. package/dist/esm/index17.js +68 -70
  81. package/dist/esm/index170.js +6 -13
  82. package/dist/esm/index171.js +11 -32
  83. package/dist/esm/index172.js +11 -5
  84. package/dist/esm/index173.js +13 -8
  85. package/dist/esm/index174.js +30 -17
  86. package/dist/esm/index175.js +5 -32
  87. package/dist/esm/index176.js +8 -20
  88. package/dist/esm/index177.js +19 -3
  89. package/dist/esm/index178.js +31 -17
  90. package/dist/esm/index179.js +20 -10
  91. package/dist/esm/index18.js +9 -19
  92. package/dist/esm/index180.js +3 -21
  93. package/dist/esm/index181.js +16 -21
  94. package/dist/esm/index182.js +10 -5
  95. package/dist/esm/index183.js +21 -5
  96. package/dist/esm/index184.js +22 -8
  97. package/dist/esm/index185.js +5 -104
  98. package/dist/esm/index186.js +6 -3
  99. package/dist/esm/index187.js +8 -18
  100. package/dist/esm/index188.js +99 -166
  101. package/dist/esm/index189.js +3 -18
  102. package/dist/esm/index19.js +26 -108
  103. package/dist/esm/index190.js +19 -10
  104. package/dist/esm/index191.js +170 -39
  105. package/dist/esm/index192.js +18 -2
  106. package/dist/esm/index193.js +10 -5
  107. package/dist/esm/index194.js +39 -9
  108. package/dist/esm/index195.js +2 -20
  109. package/dist/esm/index196.js +4 -7
  110. package/dist/esm/index197.js +9 -10
  111. package/dist/esm/index198.js +19 -66
  112. package/dist/esm/index199.js +7 -65
  113. package/dist/esm/index20.js +70 -60
  114. package/dist/esm/index200.js +10 -184
  115. package/dist/esm/index201.js +66 -22
  116. package/dist/esm/index202.js +61 -38
  117. package/dist/esm/index203.js +178 -69
  118. package/dist/esm/index204.js +21 -39
  119. package/dist/esm/index205.js +35 -9
  120. package/dist/esm/index206.js +70 -7
  121. package/dist/esm/index207.js +40 -36
  122. package/dist/esm/index208.js +16 -15
  123. package/dist/esm/index209.js +13 -8
  124. package/dist/esm/index21.js +19 -24
  125. package/dist/esm/index212.js +35 -11
  126. package/dist/esm/index213.js +15 -9
  127. package/dist/esm/index214.js +8 -16
  128. package/dist/esm/index215.js +12 -22
  129. package/dist/esm/index216.js +9 -30
  130. package/dist/esm/index217.js +17 -2
  131. package/dist/esm/index218.js +21 -12
  132. package/dist/esm/index219.js +30 -12
  133. package/dist/esm/index22.js +110 -40
  134. package/dist/esm/index220.js +2 -48
  135. package/dist/esm/index221.js +12 -8
  136. package/dist/esm/index222.js +12 -13
  137. package/dist/esm/index223.js +46 -13
  138. package/dist/esm/index224.js +9 -8
  139. package/dist/esm/index225.js +13 -15
  140. package/dist/esm/index226.js +14 -24
  141. package/dist/esm/index227.js +8 -11
  142. package/dist/esm/index228.js +14 -23
  143. package/dist/esm/index229.js +24 -51
  144. package/dist/esm/index23.js +57 -34
  145. package/dist/esm/index230.js +11 -17
  146. package/dist/esm/index231.js +24 -14
  147. package/dist/esm/index232.js +51 -11
  148. package/dist/esm/index233.js +17 -103
  149. package/dist/esm/index234.js +14 -6
  150. package/dist/esm/index235.js +11 -224
  151. package/dist/esm/index236.js +103 -6
  152. package/dist/esm/index237.js +7 -7
  153. package/dist/esm/index238.js +223 -25
  154. package/dist/esm/index239.js +6 -19
  155. package/dist/esm/index24.js +20 -54
  156. package/dist/esm/index240.js +7 -147
  157. package/dist/esm/index241.js +26 -12
  158. package/dist/esm/index242.js +20 -36
  159. package/dist/esm/index243.js +146 -41
  160. package/dist/esm/index244.js +13 -69
  161. package/dist/esm/index245.js +36 -4
  162. package/dist/esm/index246.js +41 -136
  163. package/dist/esm/index247.js +69 -156
  164. package/dist/esm/index248.js +3 -9
  165. package/dist/esm/index249.js +136 -16
  166. package/dist/esm/index25.js +37 -160
  167. package/dist/esm/index250.js +140 -98
  168. package/dist/esm/index251.js +9 -134
  169. package/dist/esm/index252.js +16 -78
  170. package/dist/esm/index253.js +114 -2
  171. package/dist/esm/index254.js +124 -688
  172. package/dist/esm/index255.js +73 -134
  173. package/dist/esm/index256.js +2 -43
  174. package/dist/esm/index257.js +675 -178
  175. package/dist/esm/index258.js +137 -63
  176. package/dist/esm/index259.js +42 -4
  177. package/dist/esm/index26.js +36 -38
  178. package/dist/esm/index260.js +201 -40
  179. package/dist/esm/index261.js +65 -7
  180. package/dist/esm/index262.js +4 -62
  181. package/dist/esm/index263.js +33 -70
  182. package/dist/esm/index264.js +8 -4
  183. package/dist/esm/index265.js +55 -187
  184. package/dist/esm/index266.js +61 -47
  185. package/dist/esm/index267.js +4 -45
  186. package/dist/esm/index268.js +194 -4
  187. package/dist/esm/index269.js +64 -5
  188. package/dist/esm/index27.js +58 -9
  189. package/dist/esm/index270.js +45 -2
  190. package/dist/esm/index271.js +4 -21
  191. package/dist/esm/index272.js +7 -0
  192. package/dist/esm/index273.js +4 -0
  193. package/dist/esm/index274.js +24 -0
  194. package/dist/esm/index28.js +161 -29
  195. package/dist/esm/index29.js +39 -36
  196. package/dist/esm/index3.js +2 -2
  197. package/dist/esm/index30.js +6 -6
  198. package/dist/esm/index31.js +30 -28
  199. package/dist/esm/index32.js +34 -44
  200. package/dist/esm/index33.js +9 -88
  201. package/dist/esm/index34.js +26 -37
  202. package/dist/esm/index35.js +46 -8
  203. package/dist/esm/index36.js +88 -6
  204. package/dist/esm/index37.js +40 -16
  205. package/dist/esm/index38.js +8 -8
  206. package/dist/esm/index39.js +6 -13
  207. package/dist/esm/index4.js +14 -16
  208. package/dist/esm/index40.js +16 -7
  209. package/dist/esm/index41.js +8 -9
  210. package/dist/esm/index42.js +13 -16
  211. package/dist/esm/index43.js +7 -46
  212. package/dist/esm/index44.js +9 -13
  213. package/dist/esm/index45.js +15 -15
  214. package/dist/esm/index46.js +46 -13
  215. package/dist/esm/index47.js +13 -6
  216. package/dist/esm/index48.js +15 -34
  217. package/dist/esm/index49.js +13 -9
  218. package/dist/esm/index5.js +46 -29
  219. package/dist/esm/index50.js +5 -7
  220. package/dist/esm/index51.js +35 -25
  221. package/dist/esm/index52.js +9 -10
  222. package/dist/esm/index53.js +7 -13
  223. package/dist/esm/index54.js +25 -11
  224. package/dist/esm/index55.js +10 -116
  225. package/dist/esm/index56.js +13 -32
  226. package/dist/esm/index57.js +11 -79
  227. package/dist/esm/index58.js +108 -169
  228. package/dist/esm/index59.js +26 -37
  229. package/dist/esm/index6.js +20 -17
  230. package/dist/esm/index60.js +79 -6
  231. package/dist/esm/index61.js +177 -13
  232. package/dist/esm/index62.js +44 -13
  233. package/dist/esm/index63.js +6 -99
  234. package/dist/esm/index64.js +13 -72
  235. package/dist/esm/index65.js +13 -87
  236. package/dist/esm/index66.js +93 -142
  237. package/dist/esm/index67.js +65 -129
  238. package/dist/esm/index68.js +73 -54
  239. package/dist/esm/index69.js +148 -23
  240. package/dist/esm/index7.js +34 -12
  241. package/dist/esm/index70.js +133 -102
  242. package/dist/esm/index71.js +68 -6
  243. package/dist/esm/index72.js +23 -131
  244. package/dist/esm/index73.js +101 -271
  245. package/dist/esm/index74.js +7 -3
  246. package/dist/esm/index75.js +132 -4
  247. package/dist/esm/index76.js +276 -9
  248. package/dist/esm/index77.js +3 -2
  249. package/dist/esm/index78.js +4 -2
  250. package/dist/esm/index79.js +9 -3
  251. package/dist/esm/index8.js +18 -54
  252. package/dist/esm/index80.js +2 -327
  253. package/dist/esm/index81.js +2 -14
  254. package/dist/esm/index82.js +3 -5
  255. package/dist/esm/index83.js +299 -28
  256. package/dist/esm/index84.js +14 -2
  257. package/dist/esm/index85.js +4 -7
  258. package/dist/esm/index86.js +29 -188
  259. package/dist/esm/index87.js +2 -32
  260. package/dist/esm/index88.js +7 -21
  261. package/dist/esm/index89.js +214 -5
  262. package/dist/esm/index9.js +11 -57
  263. package/dist/esm/index90.js +30 -72
  264. package/dist/esm/index91.js +21 -5
  265. package/dist/esm/index92.js +5 -5
  266. package/dist/esm/index93.js +69 -31
  267. package/dist/esm/index94.js +5 -75
  268. package/dist/esm/index95.js +6 -3
  269. package/dist/esm/index96.js +28 -16
  270. package/dist/esm/index97.js +57 -433
  271. package/dist/esm/index98.js +3 -31
  272. package/dist/esm/index99.js +17 -20
  273. package/dist/types/index.d.ts +36 -0
  274. package/package.json +3 -3
@@ -1,13 +1,12 @@
1
- import { getAction as n } from "./index210.js";
2
- import { getBlockNumber as a } from "./index38.js";
3
- import { getTransaction as m } from "./index51.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 c } from "./index113.js";
2
+ import { formatProof as s } from "./index228.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);
10
9
  }
11
10
  export {
12
- f as getTransactionConfirmations
11
+ d as getProof
13
12
  };
@@ -1,17 +1,11 @@
1
- import { hexToNumber as r } from "./index143.js";
2
- import { numberToHex as i } from "./index110.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
1
+ import { numberToHex as d } from "./index113.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]
12
7
  });
13
- return r(a);
14
8
  }
15
9
  export {
16
- m as getTransactionCount
10
+ i as getStorageAt
17
11
  };
@@ -1,14 +1,28 @@
1
- import { TransactionReceiptNotFoundError as o } from "./index94.js";
2
- import { formatTransactionReceipt as a } from "./index144.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 { TransactionNotFoundError as u } from "./index97.js";
2
+ import { numberToHex as s } from "./index113.js";
3
+ import { formatTransaction as f } from "./index120.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);
11
25
  }
12
26
  export {
13
- m as getTransactionReceipt
27
+ B as getTransaction
14
28
  };
@@ -1,119 +1,13 @@
1
- import { multicall3Abi as x } from "./index73.js";
2
- import { AbiDecodingZeroDataError as P } from "./index80.js";
3
- import { BaseError as _ } from "./index83.js";
4
- import { RawContractError as v } from "./index86.js";
5
- import { decodeFunctionResult as q } from "./index131.js";
6
- import { encodeFunctionData as B } from "./index138.js";
7
- import { getChainContractAddress as O } from "./index174.js";
8
- import { getContractError as E } from "./index181.js";
9
- import { getAction as T } from "./index210.js";
10
- import { readContract as Z } from "./index56.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 { getAction as n } from "./index210.js";
2
+ import { getBlockNumber as a } from "./index41.js";
3
+ import { getTransaction as m } from "./index54.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;
116
10
  }
117
11
  export {
118
- W as multicall
12
+ f as getTransactionConfirmations
119
13
  };
@@ -1,36 +1,17 @@
1
- import { decodeFunctionResult as m } from "./index131.js";
2
- import { encodeFunctionData as s } from "./index138.js";
3
- import { getContractError as f } from "./index181.js";
4
- import { getAction as l } from "./index210.js";
5
- import { call as p } from "./index25.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
1
+ import { hexToNumber as r } from "./index146.js";
2
+ import { numberToHex as i } from "./index113.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
11
12
  });
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
- }
13
+ return r(a);
33
14
  }
34
15
  export {
35
- x as readContract
16
+ m as getTransactionCount
36
17
  };
@@ -1,82 +1,14 @@
1
- import { toRpc as R } from "./index216.js";
2
- import { parseAccount as q } from "./index12.js";
3
- import { AbiDecodingZeroDataError as D } from "./index80.js";
4
- import { RawContractError as S } from "./index86.js";
5
- import { UnknownNodeError as y } from "./index102.js";
6
- import { decodeFunctionResult as B } from "./index131.js";
7
- import { encodeFunctionData as C } from "./index138.js";
8
- import { concat as F } from "./index114.js";
9
- import { numberToHex as H } from "./index110.js";
10
- import { getContractError as U } from "./index181.js";
11
- import { getNodeError as A } from "./index226.js";
12
- import { formatBlock as _ } from "./index115.js";
13
- import { formatLog as z } from "./index118.js";
14
- import { formatTransactionRequest as I } from "./index145.js";
15
- import { serializeStateOverride as L } from "./index220.js";
16
- import { assertRequest as V } from "./index158.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
34
- });
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;
78
- }
1
+ import { TransactionReceiptNotFoundError as o } from "./index97.js";
2
+ import { formatTransactionReceipt as a } from "./index147.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);
79
11
  }
80
12
  export {
81
- nr as simulateBlocks
13
+ m as getTransactionReceipt
82
14
  };
@@ -1,180 +1,119 @@
1
- import { encode as J, from as K } from "./index227.js";
2
- import { encodeData as M, from as o } from "./index228.js";
3
- import { parseAccount as Q } from "./index12.js";
4
- import { zeroAddress as t, ethAddress as S } from "./index74.js";
5
- import { deploylessCallViaBytecodeBytecode as W } from "./index75.js";
6
- import { BaseError as X } from "./index83.js";
7
- import { encodeFunctionData as Y } from "./index138.js";
8
- import { createAccessList as Z } from "./index26.js";
9
- import { simulateBlocks as ss } from "./index57.js";
10
- import { hexToBigInt as k } from "./index143.js";
11
- const es = "0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";
12
- async function bs(b, r) {
13
- const { blockNumber: g, blockTag: y, calls: h, stateOverrides: u, traceAssetChanges: a, traceTransfers: P, validation: _ } = r, f = r.account ? Q(r.account) : void 0;
14
- if (a && !f)
15
- throw new X("`account` is required when `traceAssetChanges` is true");
16
- const m = f ? J(K("constructor(bytes, bytes)"), {
17
- bytecode: W,
18
- args: [
19
- es,
20
- M(o("function getBalance(address)"), [f.address])
21
- ]
22
- }) : void 0, n = a ? await Promise.all(r.calls.map(async (s) => {
23
- if (!s.data && !s.abi)
24
- return;
25
- const { accessList: e } = await Z(b, {
26
- account: f.address,
27
- ...s,
28
- data: s.abi ? Y(s) : s.data
1
+ import { multicall3Abi as x } from "./index76.js";
2
+ import { AbiDecodingZeroDataError as P } from "./index83.js";
3
+ import { BaseError as _ } from "./index86.js";
4
+ import { RawContractError as v } from "./index89.js";
5
+ import { decodeFunctionResult as q } from "./index134.js";
6
+ import { encodeFunctionData as B } from "./index141.js";
7
+ import { getChainContractAddress as O } from "./index177.js";
8
+ import { getContractError as E } from "./index184.js";
9
+ import { getAction as T } from "./index210.js";
10
+ import { readContract as Z } from "./index59.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"
29
21
  });
30
- return e.map(({ address: c, storageKeys: d }) => d.length > 0 ? c : null);
31
- })).then((s) => s.flat().filter(Boolean)) : [], l = await ss(b, {
32
- blockNumber: g,
33
- blockTag: y,
34
- blocks: [
35
- ...a ? [
36
- // ETH pre balances
37
- {
38
- calls: [{ data: m }],
39
- stateOverrides: u
40
- },
41
- // Asset pre balances
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],
42
34
  {
43
- calls: n.map((s, e) => ({
44
- abi: [
45
- o("function balanceOf(address) returns (uint256)")
46
- ],
47
- functionName: "balanceOf",
48
- args: [f.address],
49
- to: s,
50
- from: t,
51
- nonce: e
52
- })),
53
- stateOverrides: [
54
- {
55
- address: t,
56
- nonce: 0
57
- }
58
- ]
35
+ allowFailure: !0,
36
+ callData: c,
37
+ target: s
59
38
  }
60
- ] : [],
61
- {
62
- calls: [...h, {}].map((s) => ({
63
- ...s,
64
- from: f?.address
65
- })),
66
- stateOverrides: u
67
- },
68
- ...a ? [
69
- // ETH post balances
70
- {
71
- calls: [{ data: m }]
72
- },
73
- // Asset post balances
74
- {
75
- calls: n.map((s, e) => ({
76
- abi: [
77
- o("function balanceOf(address) returns (uint256)")
78
- ],
79
- functionName: "balanceOf",
80
- args: [f.address],
81
- to: s,
82
- from: t,
83
- nonce: e
84
- })),
85
- stateOverrides: [
86
- {
87
- address: t,
88
- nonce: 0
89
- }
90
- ]
91
- },
92
- // Decimals
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],
93
53
  {
94
- calls: n.map((s, e) => ({
95
- to: s,
96
- abi: [
97
- o("function decimals() returns (uint256)")
98
- ],
99
- functionName: "decimals",
100
- from: t,
101
- nonce: e
102
- })),
103
- stateOverrides: [
104
- {
105
- address: t,
106
- nonce: 0
107
- }
108
- ]
109
- },
110
- // Token URI
111
- {
112
- calls: n.map((s, e) => ({
113
- to: s,
114
- abi: [
115
- o("function tokenURI(uint256) returns (string)")
116
- ],
117
- functionName: "tokenURI",
118
- args: [0n],
119
- from: t,
120
- nonce: e
121
- })),
122
- stateOverrides: [
123
- {
124
- address: t,
125
- nonce: 0
126
- }
127
- ]
128
- },
129
- // Symbols
130
- {
131
- calls: n.map((s, e) => ({
132
- to: s,
133
- abi: [o("function symbol() returns (string)")],
134
- functionName: "symbol",
135
- from: t,
136
- nonce: e
137
- })),
138
- stateOverrides: [
139
- {
140
- address: t,
141
- nonce: 0
142
- }
143
- ]
54
+ allowFailure: !0,
55
+ callData: "0x",
56
+ target: s
144
57
  }
145
- ] : []
146
- ],
147
- traceTransfers: P,
148
- validation: _
149
- }), O = a ? l[2] : l[0], [B, v, , A, N, w, C, I] = a ? l : [], { calls: R, ...T } = O, U = R.slice(0, -1) ?? [], D = B?.calls ?? [], E = v?.calls ?? [], L = [...D, ...E].map((s) => s.status === "success" ? k(s.data) : null), q = A?.calls ?? [], z = N?.calls ?? [], F = [...q, ...z].map((s) => s.status === "success" ? k(s.data) : null), H = (w?.calls ?? []).map((s) => s.status === "success" ? s.result : null), V = (I?.calls ?? []).map((s) => s.status === "success" ? s.result : null), $ = (C?.calls ?? []).map((s) => s.status === "success" ? s.result : null), i = [];
150
- for (const [s, e] of F.entries()) {
151
- const c = L[s];
152
- if (typeof e != "bigint" || typeof c != "bigint")
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
+ });
153
82
  continue;
154
- const d = H[s - 1], j = V[s - 1], x = $[s - 1], p = s === 0 ? {
155
- address: S,
156
- decimals: 18,
157
- symbol: "ETH"
158
- } : {
159
- address: n[s - 1],
160
- decimals: x || d ? Number(d ?? 1) : void 0,
161
- symbol: j ?? void 0
162
- };
163
- i.some((G) => G.token.address === p.address) || i.push({
164
- token: p,
165
- value: {
166
- pre: c,
167
- post: e,
168
- diff: e - c
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" });
169
110
  }
170
- });
111
+ }
171
112
  }
172
- return {
173
- assetChanges: i,
174
- block: T,
175
- results: U
176
- };
113
+ if (l.length !== d.length)
114
+ throw new _("multicall results mismatch");
115
+ return l;
177
116
  }
178
117
  export {
179
- bs as simulateCalls
118
+ W as multicall
180
119
  };