@coinbase/cdp-hooks 0.0.57 → 0.0.60

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