@coinbase/cdp-hooks 0.0.76 → 0.0.78

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