@coinbase/cdp-hooks 0.0.76 → 0.0.77

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 (306) hide show
  1. package/dist/esm/index.js +38 -32
  2. package/dist/esm/index10.js +1 -1
  3. package/dist/esm/index100.js +276 -9
  4. package/dist/esm/index101.js +3 -2
  5. package/dist/esm/index102.js +4 -2
  6. package/dist/esm/index103.js +9 -3
  7. package/dist/esm/index104.js +2 -327
  8. package/dist/esm/index105.js +2 -14
  9. package/dist/esm/index106.js +3 -5
  10. package/dist/esm/index107.js +299 -28
  11. package/dist/esm/index108.js +14 -2
  12. package/dist/esm/index109.js +4 -7
  13. package/dist/esm/index11.js +1 -1
  14. package/dist/esm/index110.js +29 -188
  15. package/dist/esm/index111.js +2 -32
  16. package/dist/esm/index112.js +7 -21
  17. package/dist/esm/index113.js +214 -5
  18. package/dist/esm/index114.js +30 -72
  19. package/dist/esm/index115.js +21 -5
  20. package/dist/esm/index116.js +5 -5
  21. package/dist/esm/index117.js +69 -31
  22. package/dist/esm/index118.js +5 -75
  23. package/dist/esm/index119.js +6 -3
  24. package/dist/esm/index12.js +1 -1
  25. package/dist/esm/index120.js +28 -16
  26. package/dist/esm/index121.js +57 -433
  27. package/dist/esm/index122.js +3 -31
  28. package/dist/esm/index123.js +17 -20
  29. package/dist/esm/index124.js +439 -21
  30. package/dist/esm/index125.js +28 -32
  31. package/dist/esm/index126.js +18 -185
  32. package/dist/esm/index127.js +31 -6
  33. package/dist/esm/index128.js +35 -2
  34. package/dist/esm/index129.js +189 -8
  35. package/dist/esm/index13.js +1 -1
  36. package/dist/esm/index130.js +7 -17
  37. package/dist/esm/index131.js +2 -28
  38. package/dist/esm/index132.js +12 -8
  39. package/dist/esm/index133.js +15 -52
  40. package/dist/esm/index134.js +23 -41
  41. package/dist/esm/index135.js +8 -8
  42. package/dist/esm/index136.js +55 -7
  43. package/dist/esm/index137.js +44 -15
  44. package/dist/esm/index138.js +8 -18
  45. package/dist/esm/index139.js +7 -24
  46. package/dist/esm/index14.js +1 -1
  47. package/dist/esm/index140.js +16 -16
  48. package/dist/esm/index141.js +17 -53
  49. package/dist/esm/index142.js +22 -9
  50. package/dist/esm/index143.js +15 -159
  51. package/dist/esm/index144.js +53 -20
  52. package/dist/esm/index145.js +11 -127
  53. package/dist/esm/index146.js +153 -31
  54. package/dist/esm/index147.js +21 -6
  55. package/dist/esm/index148.js +127 -27
  56. package/dist/esm/index149.js +31 -184
  57. package/dist/esm/index15.js +1 -1
  58. package/dist/esm/index150.js +7 -4
  59. package/dist/esm/index151.js +26 -63
  60. package/dist/esm/index152.js +192 -3
  61. package/dist/esm/index153.js +4 -21
  62. package/dist/esm/index154.js +61 -13
  63. package/dist/esm/index155.js +3 -24
  64. package/dist/esm/index156.js +20 -11
  65. package/dist/esm/index157.js +15 -33
  66. package/dist/esm/index158.js +24 -3
  67. package/dist/esm/index159.js +11 -18
  68. package/dist/esm/index16.js +1 -1
  69. package/dist/esm/index160.js +33 -26
  70. package/dist/esm/index161.js +3 -36
  71. package/dist/esm/index162.js +18 -7
  72. package/dist/esm/index163.js +26 -24
  73. package/dist/esm/index164.js +34 -27
  74. package/dist/esm/index165.js +7 -64
  75. package/dist/esm/index166.js +25 -9
  76. package/dist/esm/index167.js +28 -33
  77. package/dist/esm/index168.js +64 -27
  78. package/dist/esm/index169.js +9 -24
  79. package/dist/esm/index17.js +36 -5
  80. package/dist/esm/index170.js +33 -3
  81. package/dist/esm/index171.js +27 -14
  82. package/dist/esm/index172.js +24 -103
  83. package/dist/esm/index173.js +3 -64
  84. package/dist/esm/index174.js +14 -5
  85. package/dist/esm/index175.js +103 -6
  86. package/dist/esm/index176.js +62 -25
  87. package/dist/esm/index177.js +5 -38
  88. package/dist/esm/index178.js +6 -13
  89. package/dist/esm/index179.js +24 -39
  90. package/dist/esm/index18.js +28 -7
  91. package/dist/esm/index180.js +38 -5
  92. package/dist/esm/index181.js +13 -11
  93. package/dist/esm/index182.js +42 -19
  94. package/dist/esm/index183.js +5 -78
  95. package/dist/esm/index184.js +12 -2
  96. package/dist/esm/index185.js +19 -37
  97. package/dist/esm/index186.js +73 -105
  98. package/dist/esm/index187.js +2 -49
  99. package/dist/esm/index188.js +36 -31
  100. package/dist/esm/index189.js +110 -8
  101. package/dist/esm/index19.js +7 -6
  102. package/dist/esm/index190.js +48 -6
  103. package/dist/esm/index191.js +32 -6
  104. package/dist/esm/index192.js +8 -11
  105. package/dist/esm/index193.js +6 -10
  106. package/dist/esm/index194.js +6 -13
  107. package/dist/esm/index195.js +11 -32
  108. package/dist/esm/index196.js +11 -5
  109. package/dist/esm/index197.js +13 -8
  110. package/dist/esm/index198.js +30 -17
  111. package/dist/esm/index199.js +5 -32
  112. package/dist/esm/index2.js +2 -2
  113. package/dist/esm/index20.js +4 -7
  114. package/dist/esm/index200.js +8 -20
  115. package/dist/esm/index201.js +19 -3
  116. package/dist/esm/index202.js +31 -17
  117. package/dist/esm/index203.js +20 -10
  118. package/dist/esm/index204.js +3 -21
  119. package/dist/esm/index205.js +16 -21
  120. package/dist/esm/index206.js +10 -5
  121. package/dist/esm/index207.js +21 -5
  122. package/dist/esm/index208.js +22 -8
  123. package/dist/esm/index209.js +5 -104
  124. package/dist/esm/index21.js +5 -5
  125. package/dist/esm/index210.js +6 -3
  126. package/dist/esm/index211.js +8 -18
  127. package/dist/esm/index212.js +99 -166
  128. package/dist/esm/index213.js +3 -18
  129. package/dist/esm/index214.js +19 -10
  130. package/dist/esm/index215.js +170 -39
  131. package/dist/esm/index216.js +18 -2
  132. package/dist/esm/index217.js +10 -5
  133. package/dist/esm/index218.js +38 -10
  134. package/dist/esm/index219.js +2 -20
  135. package/dist/esm/index22.js +5 -5
  136. package/dist/esm/index220.js +69 -7
  137. package/dist/esm/index221.js +34 -11
  138. package/dist/esm/index222.js +14 -66
  139. package/dist/esm/index223.js +39 -64
  140. package/dist/esm/index224.js +2 -186
  141. package/dist/esm/index225.js +4 -22
  142. package/dist/esm/index226.js +9 -41
  143. package/dist/esm/index227.js +17 -74
  144. package/dist/esm/index228.js +7 -40
  145. package/dist/esm/index229.js +10 -15
  146. package/dist/esm/index23.js +5 -5
  147. package/dist/esm/index230.js +66 -13
  148. package/dist/esm/index231.js +65 -7
  149. package/dist/esm/index232.js +185 -6
  150. package/dist/esm/index233.js +21 -35
  151. package/dist/esm/index234.js +42 -15
  152. package/dist/esm/index235.js +76 -8
  153. package/dist/esm/index236.js +40 -12
  154. package/dist/esm/index237.js +16 -9
  155. package/dist/esm/index238.js +12 -15
  156. package/dist/esm/index239.js +7 -22
  157. package/dist/esm/index24.js +6 -55
  158. package/dist/esm/index240.js +6 -30
  159. package/dist/esm/index241.js +37 -2
  160. package/dist/esm/index242.js +15 -13
  161. package/dist/esm/index243.js +8 -12
  162. package/dist/esm/index244.js +12 -47
  163. package/dist/esm/index245.js +9 -9
  164. package/dist/esm/index246.js +16 -13
  165. package/dist/esm/index247.js +21 -13
  166. package/dist/esm/index248.js +28 -6
  167. package/dist/esm/index249.js +2 -16
  168. package/dist/esm/index25.js +7 -8
  169. package/dist/esm/index250.js +12 -23
  170. package/dist/esm/index251.js +12 -11
  171. package/dist/esm/index252.js +45 -22
  172. package/dist/esm/index253.js +9 -51
  173. package/dist/esm/index254.js +13 -17
  174. package/dist/esm/index255.js +13 -13
  175. package/dist/esm/index256.js +8 -11
  176. package/dist/esm/index257.js +15 -103
  177. package/dist/esm/index258.js +24 -5
  178. package/dist/esm/index259.js +10 -222
  179. package/dist/esm/index26.js +8 -34
  180. package/dist/esm/index260.js +24 -6
  181. package/dist/esm/index261.js +52 -7
  182. package/dist/esm/index262.js +17 -26
  183. package/dist/esm/index263.js +13 -18
  184. package/dist/esm/index264.js +11 -145
  185. package/dist/esm/index265.js +103 -12
  186. package/dist/esm/index266.js +6 -36
  187. package/dist/esm/index267.js +223 -41
  188. package/dist/esm/index268.js +6 -38
  189. package/dist/esm/index269.js +7 -2
  190. package/dist/esm/index27.js +57 -18
  191. package/dist/esm/index270.js +25 -68
  192. package/dist/esm/index271.js +19 -34
  193. package/dist/esm/index272.js +143 -12
  194. package/dist/esm/index273.js +13 -2
  195. package/dist/esm/index274.js +35 -68
  196. package/dist/esm/index275.js +41 -3
  197. package/dist/esm/index276.js +2 -137
  198. package/dist/esm/index277.js +69 -156
  199. package/dist/esm/index278.js +134 -7
  200. package/dist/esm/index279.js +3 -16
  201. package/dist/esm/index28.js +8 -11
  202. package/dist/esm/index280.js +140 -98
  203. package/dist/esm/index281.js +9 -134
  204. package/dist/esm/index282.js +16 -78
  205. package/dist/esm/index283.js +114 -2
  206. package/dist/esm/index284.js +124 -687
  207. package/dist/esm/index285.js +73 -133
  208. package/dist/esm/index286.js +2 -43
  209. package/dist/esm/index287.js +675 -178
  210. package/dist/esm/index288.js +136 -63
  211. package/dist/esm/index289.js +42 -4
  212. package/dist/esm/index29.js +34 -12
  213. package/dist/esm/index290.js +200 -40
  214. package/dist/esm/index291.js +3 -7
  215. package/dist/esm/index292.js +61 -58
  216. package/dist/esm/index293.js +4 -77
  217. package/dist/esm/index294.js +41 -4
  218. package/dist/esm/index295.js +7 -194
  219. package/dist/esm/index296.js +62 -3
  220. package/dist/esm/index297.js +61 -47
  221. package/dist/esm/index298.js +4 -45
  222. package/dist/esm/index299.js +194 -4
  223. package/dist/esm/index3.js +1 -1
  224. package/dist/esm/index30.js +18 -54
  225. package/dist/esm/index300.js +64 -5
  226. package/dist/esm/index301.js +45 -2
  227. package/dist/esm/index302.js +4 -21
  228. package/dist/esm/index303.js +7 -0
  229. package/dist/esm/index304.js +4 -0
  230. package/dist/esm/index305.js +24 -0
  231. package/dist/esm/index31.js +11 -57
  232. package/dist/esm/index32.js +12 -56
  233. package/dist/esm/index33.js +54 -5
  234. package/dist/esm/index34.js +57 -47
  235. package/dist/esm/index35.js +56 -33
  236. package/dist/esm/index36.js +5 -4
  237. package/dist/esm/index37.js +46 -8
  238. package/dist/esm/index38.js +31 -67
  239. package/dist/esm/index39.js +3 -9
  240. package/dist/esm/index40.js +9 -28
  241. package/dist/esm/index41.js +68 -70
  242. package/dist/esm/index42.js +9 -19
  243. package/dist/esm/index43.js +26 -108
  244. package/dist/esm/index44.js +70 -60
  245. package/dist/esm/index45.js +19 -24
  246. package/dist/esm/index46.js +110 -40
  247. package/dist/esm/index47.js +57 -34
  248. package/dist/esm/index48.js +20 -54
  249. package/dist/esm/index49.js +37 -160
  250. package/dist/esm/index5.js +3 -3
  251. package/dist/esm/index50.js +36 -38
  252. package/dist/esm/index51.js +58 -9
  253. package/dist/esm/index52.js +161 -29
  254. package/dist/esm/index53.js +39 -36
  255. package/dist/esm/index54.js +7 -7
  256. package/dist/esm/index55.js +30 -28
  257. package/dist/esm/index56.js +34 -44
  258. package/dist/esm/index57.js +9 -88
  259. package/dist/esm/index58.js +26 -37
  260. package/dist/esm/index59.js +46 -8
  261. package/dist/esm/index6.js +2 -2
  262. package/dist/esm/index60.js +88 -6
  263. package/dist/esm/index61.js +40 -16
  264. package/dist/esm/index62.js +8 -8
  265. package/dist/esm/index63.js +6 -13
  266. package/dist/esm/index64.js +16 -7
  267. package/dist/esm/index65.js +8 -9
  268. package/dist/esm/index66.js +13 -16
  269. package/dist/esm/index67.js +7 -46
  270. package/dist/esm/index68.js +9 -13
  271. package/dist/esm/index69.js +15 -15
  272. package/dist/esm/index7.js +1 -1
  273. package/dist/esm/index70.js +46 -13
  274. package/dist/esm/index71.js +13 -6
  275. package/dist/esm/index72.js +15 -34
  276. package/dist/esm/index73.js +13 -9
  277. package/dist/esm/index74.js +5 -7
  278. package/dist/esm/index75.js +35 -25
  279. package/dist/esm/index76.js +9 -10
  280. package/dist/esm/index77.js +7 -13
  281. package/dist/esm/index78.js +25 -11
  282. package/dist/esm/index79.js +10 -116
  283. package/dist/esm/index8.js +2 -2
  284. package/dist/esm/index80.js +13 -32
  285. package/dist/esm/index81.js +11 -79
  286. package/dist/esm/index82.js +108 -169
  287. package/dist/esm/index83.js +26 -37
  288. package/dist/esm/index84.js +79 -6
  289. package/dist/esm/index85.js +177 -13
  290. package/dist/esm/index86.js +44 -13
  291. package/dist/esm/index87.js +6 -99
  292. package/dist/esm/index88.js +13 -72
  293. package/dist/esm/index89.js +13 -87
  294. package/dist/esm/index9.js +1 -1
  295. package/dist/esm/index90.js +93 -142
  296. package/dist/esm/index91.js +65 -129
  297. package/dist/esm/index92.js +73 -54
  298. package/dist/esm/index93.js +148 -23
  299. package/dist/esm/index94.js +133 -102
  300. package/dist/esm/index95.js +68 -6
  301. package/dist/esm/index96.js +23 -131
  302. package/dist/esm/index97.js +101 -271
  303. package/dist/esm/index98.js +7 -3
  304. package/dist/esm/index99.js +132 -4
  305. package/dist/types/index.d.ts +21 -0
  306. package/package.json +3 -3
@@ -1,119 +1,13 @@
1
- import { multicall3Abi as x } from "./index97.js";
2
- import { AbiDecodingZeroDataError as P } from "./index104.js";
3
- import { BaseError as _ } from "./index107.js";
4
- import { RawContractError as v } from "./index110.js";
5
- import { decodeFunctionResult as q } from "./index155.js";
6
- import { encodeFunctionData as B } from "./index162.js";
7
- import { getChainContractAddress as O } from "./index198.js";
8
- import { getContractError as E } from "./index205.js";
9
- import { getAction as T } from "./index231.js";
10
- import { readContract as Z } from "./index80.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 "./index239.js";
2
+ import { getBlockNumber as a } from "./index65.js";
3
+ import { getTransaction as m } from "./index78.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,9 +1,9 @@
1
1
  import { revokeSpendPermission as i } from "@coinbase/cdp-core";
2
2
  import "./index2.js";
3
- import { useSendHookCallOnce as p } from "./index25.js";
3
+ import { useSendHookCallOnce as p } from "./index28.js";
4
4
  import { useState as d } from "react";
5
5
  import { useCurrentUser as v, useWaitForUserOperation as S, useEnforceAuthenticated as k } from "./index5.js";
6
- import { validateUserOwnsSmartAccount as O } from "./index28.js";
6
+ import { validateUserOwnsSmartAccount as O } from "./index31.js";
7
7
  const C = () => {
8
8
  p("use_revoke_spend_permission");
9
9
  const { currentUser: r } = v(), [o, n] = d(
@@ -1,36 +1,17 @@
1
- import { decodeFunctionResult as m } from "./index155.js";
2
- import { encodeFunctionData as s } from "./index162.js";
3
- import { getContractError as f } from "./index205.js";
4
- import { getAction as l } from "./index231.js";
5
- import { call as p } from "./index49.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 "./index170.js";
2
+ import { numberToHex as i } from "./index137.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 "./index240.js";
2
- import { parseAccount as q } from "./index36.js";
3
- import { AbiDecodingZeroDataError as D } from "./index104.js";
4
- import { RawContractError as S } from "./index110.js";
5
- import { UnknownNodeError as y } from "./index126.js";
6
- import { decodeFunctionResult as B } from "./index155.js";
7
- import { encodeFunctionData as C } from "./index162.js";
8
- import { concat as F } from "./index138.js";
9
- import { numberToHex as H } from "./index134.js";
10
- import { getContractError as U } from "./index205.js";
11
- import { getNodeError as A } from "./index250.js";
12
- import { formatBlock as _ } from "./index139.js";
13
- import { formatLog as z } from "./index142.js";
14
- import { formatTransactionRequest as I } from "./index169.js";
15
- import { serializeStateOverride as L } from "./index244.js";
16
- import { assertRequest as V } from "./index182.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 "./index121.js";
2
+ import { formatTransactionReceipt as a } from "./index171.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 "./index251.js";
2
- import { encodeData as M, from as o } from "./index252.js";
3
- import { parseAccount as Q } from "./index36.js";
4
- import { zeroAddress as t, ethAddress as S } from "./index98.js";
5
- import { deploylessCallViaBytecodeBytecode as W } from "./index99.js";
6
- import { BaseError as X } from "./index107.js";
7
- import { encodeFunctionData as Y } from "./index162.js";
8
- import { createAccessList as Z } from "./index50.js";
9
- import { simulateBlocks as ss } from "./index81.js";
10
- import { hexToBigInt as k } from "./index167.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 "./index100.js";
2
+ import { AbiDecodingZeroDataError as P } from "./index107.js";
3
+ import { BaseError as _ } from "./index110.js";
4
+ import { RawContractError as v } from "./index113.js";
5
+ import { decodeFunctionResult as q } from "./index158.js";
6
+ import { encodeFunctionData as B } from "./index165.js";
7
+ import { getChainContractAddress as O } from "./index201.js";
8
+ import { getContractError as E } from "./index208.js";
9
+ import { getAction as T } from "./index239.js";
10
+ import { readContract as Z } from "./index83.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
  };
@@ -1,47 +1,36 @@
1
- import { parseAccount as p } from "./index36.js";
2
- import { decodeFunctionResult as h } from "./index155.js";
3
- import { encodeFunctionData as x } from "./index162.js";
4
- import { getContractError as b } from "./index205.js";
5
- import { getAction as g } from "./index231.js";
6
- import { call as A } from "./index49.js";
7
- async function R(s, m) {
8
- const { abi: t, address: r, args: o, dataSuffix: n, functionName: a, ...c } = m, e = c.account ? p(c.account) : s.account, d = x({ abi: t, args: o, functionName: a });
1
+ import { decodeFunctionResult as m } from "./index158.js";
2
+ import { encodeFunctionData as s } from "./index165.js";
3
+ import { getContractError as f } from "./index208.js";
4
+ import { getAction as l } from "./index239.js";
5
+ import { call as p } from "./index52.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
+ });
9
12
  try {
10
- const { data: i } = await g(s, A, "call")({
11
- batch: !1,
12
- data: `${d}${n ? n.replace("0x", "") : ""}`,
13
- to: r,
14
- ...c,
15
- account: e
16
- }), l = h({
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
17
+ });
18
+ return m({
17
19
  abi: t,
18
20
  args: o,
19
- functionName: a,
20
- data: i || "0x"
21
- }), f = t.filter((u) => "name" in u && u.name === m.functionName);
22
- return {
23
- result: l,
24
- request: {
25
- abi: f,
26
- address: r,
27
- args: o,
28
- dataSuffix: n,
29
- functionName: a,
30
- ...c,
31
- account: e
32
- }
33
- };
34
- } catch (i) {
35
- throw b(i, {
21
+ functionName: r,
22
+ data: a || "0x"
23
+ });
24
+ } catch (a) {
25
+ throw f(a, {
36
26
  abi: t,
37
- address: r,
27
+ address: c,
38
28
  args: o,
39
- docsPath: "/docs/contract/simulateContract",
40
- functionName: a,
41
- sender: e?.address
29
+ docsPath: "/docs/contract/readContract",
30
+ functionName: r
42
31
  });
43
32
  }
44
33
  }
45
34
  export {
46
- R as simulateContract
35
+ x as readContract
47
36
  };