@coinbase/cdp-hooks 0.0.51 → 0.0.53

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