@coinbase/cdp-hooks 0.0.63 → 0.0.65

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