@coinbase/cdp-hooks 0.0.49 → 0.0.51

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