@coinbase/cdp-hooks 0.0.44 → 0.0.45

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 (274) hide show
  1. package/README.md +92 -0
  2. package/dist/esm/index.js +26 -22
  3. package/dist/esm/index10.js +12 -56
  4. package/dist/esm/index100.js +439 -21
  5. package/dist/esm/index101.js +28 -32
  6. package/dist/esm/index102.js +18 -185
  7. package/dist/esm/index103.js +31 -6
  8. package/dist/esm/index104.js +35 -2
  9. package/dist/esm/index105.js +189 -8
  10. package/dist/esm/index106.js +7 -17
  11. package/dist/esm/index107.js +2 -28
  12. package/dist/esm/index108.js +12 -8
  13. package/dist/esm/index109.js +15 -52
  14. package/dist/esm/index11.js +54 -33
  15. package/dist/esm/index110.js +23 -41
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +55 -7
  18. package/dist/esm/index113.js +44 -15
  19. package/dist/esm/index114.js +8 -18
  20. package/dist/esm/index115.js +7 -24
  21. package/dist/esm/index116.js +16 -16
  22. package/dist/esm/index117.js +17 -53
  23. package/dist/esm/index118.js +22 -9
  24. package/dist/esm/index119.js +15 -159
  25. package/dist/esm/index12.js +57 -3
  26. package/dist/esm/index120.js +53 -20
  27. package/dist/esm/index121.js +11 -127
  28. package/dist/esm/index122.js +153 -31
  29. package/dist/esm/index123.js +21 -6
  30. package/dist/esm/index124.js +127 -27
  31. package/dist/esm/index125.js +31 -184
  32. package/dist/esm/index126.js +7 -4
  33. package/dist/esm/index127.js +26 -63
  34. package/dist/esm/index128.js +192 -3
  35. package/dist/esm/index129.js +4 -21
  36. package/dist/esm/index13.js +56 -10
  37. package/dist/esm/index130.js +61 -13
  38. package/dist/esm/index131.js +3 -24
  39. package/dist/esm/index132.js +20 -11
  40. package/dist/esm/index133.js +15 -33
  41. package/dist/esm/index134.js +24 -3
  42. package/dist/esm/index135.js +11 -18
  43. package/dist/esm/index136.js +33 -26
  44. package/dist/esm/index137.js +3 -36
  45. package/dist/esm/index138.js +18 -7
  46. package/dist/esm/index139.js +26 -24
  47. package/dist/esm/index14.js +31 -67
  48. package/dist/esm/index140.js +34 -27
  49. package/dist/esm/index141.js +7 -64
  50. package/dist/esm/index142.js +25 -9
  51. package/dist/esm/index143.js +28 -33
  52. package/dist/esm/index144.js +64 -27
  53. package/dist/esm/index145.js +9 -24
  54. package/dist/esm/index146.js +33 -3
  55. package/dist/esm/index147.js +27 -14
  56. package/dist/esm/index148.js +24 -103
  57. package/dist/esm/index149.js +3 -64
  58. package/dist/esm/index15.js +3 -9
  59. package/dist/esm/index150.js +14 -5
  60. package/dist/esm/index151.js +103 -6
  61. package/dist/esm/index152.js +62 -25
  62. package/dist/esm/index153.js +5 -39
  63. package/dist/esm/index154.js +6 -13
  64. package/dist/esm/index155.js +24 -39
  65. package/dist/esm/index156.js +39 -5
  66. package/dist/esm/index157.js +13 -11
  67. package/dist/esm/index158.js +42 -19
  68. package/dist/esm/index159.js +5 -78
  69. package/dist/esm/index16.js +9 -28
  70. package/dist/esm/index160.js +12 -2
  71. package/dist/esm/index161.js +19 -37
  72. package/dist/esm/index162.js +73 -105
  73. package/dist/esm/index163.js +2 -49
  74. package/dist/esm/index164.js +36 -31
  75. package/dist/esm/index165.js +110 -8
  76. package/dist/esm/index166.js +48 -6
  77. package/dist/esm/index167.js +32 -6
  78. package/dist/esm/index168.js +8 -11
  79. package/dist/esm/index169.js +6 -10
  80. package/dist/esm/index17.js +68 -70
  81. package/dist/esm/index170.js +6 -13
  82. package/dist/esm/index171.js +11 -32
  83. package/dist/esm/index172.js +11 -5
  84. package/dist/esm/index173.js +13 -8
  85. package/dist/esm/index174.js +30 -17
  86. package/dist/esm/index175.js +5 -32
  87. package/dist/esm/index176.js +8 -20
  88. package/dist/esm/index177.js +19 -3
  89. package/dist/esm/index178.js +31 -17
  90. package/dist/esm/index179.js +20 -10
  91. package/dist/esm/index18.js +9 -19
  92. package/dist/esm/index180.js +3 -21
  93. package/dist/esm/index181.js +16 -21
  94. package/dist/esm/index182.js +10 -5
  95. package/dist/esm/index183.js +21 -5
  96. package/dist/esm/index184.js +22 -8
  97. package/dist/esm/index185.js +5 -104
  98. package/dist/esm/index186.js +6 -3
  99. package/dist/esm/index187.js +8 -18
  100. package/dist/esm/index188.js +99 -166
  101. package/dist/esm/index189.js +3 -18
  102. package/dist/esm/index19.js +26 -108
  103. package/dist/esm/index190.js +19 -10
  104. package/dist/esm/index191.js +170 -39
  105. package/dist/esm/index192.js +18 -2
  106. package/dist/esm/index193.js +10 -5
  107. package/dist/esm/index194.js +39 -9
  108. package/dist/esm/index195.js +2 -20
  109. package/dist/esm/index196.js +4 -7
  110. package/dist/esm/index197.js +9 -10
  111. package/dist/esm/index198.js +19 -66
  112. package/dist/esm/index199.js +7 -65
  113. package/dist/esm/index20.js +70 -60
  114. package/dist/esm/index200.js +10 -184
  115. package/dist/esm/index201.js +66 -22
  116. package/dist/esm/index202.js +61 -38
  117. package/dist/esm/index203.js +178 -69
  118. package/dist/esm/index204.js +21 -39
  119. package/dist/esm/index205.js +35 -9
  120. package/dist/esm/index206.js +70 -7
  121. package/dist/esm/index207.js +40 -36
  122. package/dist/esm/index208.js +16 -15
  123. package/dist/esm/index209.js +13 -8
  124. package/dist/esm/index21.js +19 -24
  125. package/dist/esm/index212.js +35 -11
  126. package/dist/esm/index213.js +15 -9
  127. package/dist/esm/index214.js +8 -16
  128. package/dist/esm/index215.js +12 -22
  129. package/dist/esm/index216.js +9 -30
  130. package/dist/esm/index217.js +17 -2
  131. package/dist/esm/index218.js +21 -12
  132. package/dist/esm/index219.js +30 -12
  133. package/dist/esm/index22.js +110 -40
  134. package/dist/esm/index220.js +2 -48
  135. package/dist/esm/index221.js +12 -8
  136. package/dist/esm/index222.js +12 -13
  137. package/dist/esm/index223.js +46 -13
  138. package/dist/esm/index224.js +9 -8
  139. package/dist/esm/index225.js +13 -15
  140. package/dist/esm/index226.js +14 -24
  141. package/dist/esm/index227.js +8 -11
  142. package/dist/esm/index228.js +14 -23
  143. package/dist/esm/index229.js +24 -51
  144. package/dist/esm/index23.js +57 -34
  145. package/dist/esm/index230.js +11 -17
  146. package/dist/esm/index231.js +24 -14
  147. package/dist/esm/index232.js +51 -11
  148. package/dist/esm/index233.js +17 -103
  149. package/dist/esm/index234.js +14 -6
  150. package/dist/esm/index235.js +11 -224
  151. package/dist/esm/index236.js +103 -6
  152. package/dist/esm/index237.js +7 -7
  153. package/dist/esm/index238.js +223 -25
  154. package/dist/esm/index239.js +6 -19
  155. package/dist/esm/index24.js +20 -54
  156. package/dist/esm/index240.js +7 -147
  157. package/dist/esm/index241.js +26 -12
  158. package/dist/esm/index242.js +20 -36
  159. package/dist/esm/index243.js +146 -41
  160. package/dist/esm/index244.js +13 -69
  161. package/dist/esm/index245.js +36 -4
  162. package/dist/esm/index246.js +41 -136
  163. package/dist/esm/index247.js +69 -156
  164. package/dist/esm/index248.js +3 -9
  165. package/dist/esm/index249.js +136 -16
  166. package/dist/esm/index25.js +37 -160
  167. package/dist/esm/index250.js +140 -98
  168. package/dist/esm/index251.js +9 -134
  169. package/dist/esm/index252.js +16 -78
  170. package/dist/esm/index253.js +114 -2
  171. package/dist/esm/index254.js +124 -688
  172. package/dist/esm/index255.js +73 -134
  173. package/dist/esm/index256.js +2 -43
  174. package/dist/esm/index257.js +675 -178
  175. package/dist/esm/index258.js +137 -63
  176. package/dist/esm/index259.js +42 -4
  177. package/dist/esm/index26.js +36 -38
  178. package/dist/esm/index260.js +201 -40
  179. package/dist/esm/index261.js +65 -7
  180. package/dist/esm/index262.js +4 -62
  181. package/dist/esm/index263.js +33 -70
  182. package/dist/esm/index264.js +8 -4
  183. package/dist/esm/index265.js +55 -187
  184. package/dist/esm/index266.js +61 -47
  185. package/dist/esm/index267.js +4 -45
  186. package/dist/esm/index268.js +194 -4
  187. package/dist/esm/index269.js +64 -5
  188. package/dist/esm/index27.js +58 -9
  189. package/dist/esm/index270.js +45 -2
  190. package/dist/esm/index271.js +4 -21
  191. package/dist/esm/index272.js +7 -0
  192. package/dist/esm/index273.js +4 -0
  193. package/dist/esm/index274.js +24 -0
  194. package/dist/esm/index28.js +161 -29
  195. package/dist/esm/index29.js +39 -36
  196. package/dist/esm/index3.js +2 -2
  197. package/dist/esm/index30.js +6 -6
  198. package/dist/esm/index31.js +30 -28
  199. package/dist/esm/index32.js +34 -44
  200. package/dist/esm/index33.js +9 -88
  201. package/dist/esm/index34.js +26 -37
  202. package/dist/esm/index35.js +46 -8
  203. package/dist/esm/index36.js +88 -6
  204. package/dist/esm/index37.js +40 -16
  205. package/dist/esm/index38.js +8 -8
  206. package/dist/esm/index39.js +6 -13
  207. package/dist/esm/index4.js +14 -16
  208. package/dist/esm/index40.js +16 -7
  209. package/dist/esm/index41.js +8 -9
  210. package/dist/esm/index42.js +13 -16
  211. package/dist/esm/index43.js +7 -46
  212. package/dist/esm/index44.js +9 -13
  213. package/dist/esm/index45.js +15 -15
  214. package/dist/esm/index46.js +46 -13
  215. package/dist/esm/index47.js +13 -6
  216. package/dist/esm/index48.js +15 -34
  217. package/dist/esm/index49.js +13 -9
  218. package/dist/esm/index5.js +46 -29
  219. package/dist/esm/index50.js +5 -7
  220. package/dist/esm/index51.js +35 -25
  221. package/dist/esm/index52.js +9 -10
  222. package/dist/esm/index53.js +7 -13
  223. package/dist/esm/index54.js +25 -11
  224. package/dist/esm/index55.js +10 -116
  225. package/dist/esm/index56.js +13 -32
  226. package/dist/esm/index57.js +11 -79
  227. package/dist/esm/index58.js +108 -169
  228. package/dist/esm/index59.js +26 -37
  229. package/dist/esm/index6.js +20 -17
  230. package/dist/esm/index60.js +79 -6
  231. package/dist/esm/index61.js +177 -13
  232. package/dist/esm/index62.js +44 -13
  233. package/dist/esm/index63.js +6 -99
  234. package/dist/esm/index64.js +13 -72
  235. package/dist/esm/index65.js +13 -87
  236. package/dist/esm/index66.js +93 -142
  237. package/dist/esm/index67.js +65 -129
  238. package/dist/esm/index68.js +73 -54
  239. package/dist/esm/index69.js +148 -23
  240. package/dist/esm/index7.js +34 -12
  241. package/dist/esm/index70.js +133 -102
  242. package/dist/esm/index71.js +68 -6
  243. package/dist/esm/index72.js +23 -131
  244. package/dist/esm/index73.js +101 -271
  245. package/dist/esm/index74.js +7 -3
  246. package/dist/esm/index75.js +132 -4
  247. package/dist/esm/index76.js +276 -9
  248. package/dist/esm/index77.js +3 -2
  249. package/dist/esm/index78.js +4 -2
  250. package/dist/esm/index79.js +9 -3
  251. package/dist/esm/index8.js +18 -54
  252. package/dist/esm/index80.js +2 -327
  253. package/dist/esm/index81.js +2 -14
  254. package/dist/esm/index82.js +3 -5
  255. package/dist/esm/index83.js +299 -28
  256. package/dist/esm/index84.js +14 -2
  257. package/dist/esm/index85.js +4 -7
  258. package/dist/esm/index86.js +29 -188
  259. package/dist/esm/index87.js +2 -32
  260. package/dist/esm/index88.js +7 -21
  261. package/dist/esm/index89.js +214 -5
  262. package/dist/esm/index9.js +11 -57
  263. package/dist/esm/index90.js +30 -72
  264. package/dist/esm/index91.js +21 -5
  265. package/dist/esm/index92.js +5 -5
  266. package/dist/esm/index93.js +69 -31
  267. package/dist/esm/index94.js +5 -75
  268. package/dist/esm/index95.js +6 -3
  269. package/dist/esm/index96.js +28 -16
  270. package/dist/esm/index97.js +57 -433
  271. package/dist/esm/index98.js +3 -31
  272. package/dist/esm/index99.js +17 -20
  273. package/dist/types/index.d.ts +36 -0
  274. package/package.json +3 -3
@@ -1,47 +1,36 @@
1
- import { parseAccount as p } from "./index12.js";
2
- import { decodeFunctionResult as h } from "./index131.js";
3
- import { encodeFunctionData as x } from "./index138.js";
4
- import { getContractError as b } from "./index181.js";
5
- import { getAction as g } from "./index210.js";
6
- import { call as A } from "./index25.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 });
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 "./index210.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
+ });
9
12
  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({
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
17
+ });
18
+ return m({
17
19
  abi: t,
18
20
  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, {
21
+ functionName: r,
22
+ data: a || "0x"
23
+ });
24
+ } catch (a) {
25
+ throw f(a, {
36
26
  abi: t,
37
- address: r,
27
+ address: c,
38
28
  args: o,
39
- docsPath: "/docs/contract/simulateContract",
40
- functionName: a,
41
- sender: e?.address
29
+ docsPath: "/docs/contract/readContract",
30
+ functionName: r
42
31
  });
43
32
  }
44
33
  }
45
34
  export {
46
- R as simulateContract
35
+ x as readContract
47
36
  };
@@ -1,20 +1,23 @@
1
- import { createPublicClient as o } from "./index7.js";
2
- import { base as e } from "./index8.js";
3
- import { http as i } from "./index9.js";
4
- import { baseSepolia as p } from "./index10.js";
5
- const b = (r, t) => {
6
- if (r === "base")
7
- return o({
8
- chain: e,
9
- transport: t.transports?.[e.id] ?? i()
10
- });
11
- if (r === "base-sepolia")
12
- return o({
13
- chain: p,
14
- transport: t.transports?.[p.id] ?? i()
15
- });
16
- throw new Error(`Unsupported network: ${r}`);
1
+ import { revokeSpendPermission as i } from "@coinbase/cdp-core";
2
+ import { useState as p } from "react";
3
+ import { useCurrentUser as d, useWaitForUserOperation as v, useEnforceAuthenticated as S } from "./index3.js";
4
+ import { validateUserOwnsSmartAccount as k } from "./index9.js";
5
+ const P = () => {
6
+ const { currentUser: r } = d(), [n, o] = p(
7
+ void 0
8
+ ), { data: c, error: a, status: u } = v(n);
9
+ return { revokeSpendPermission: S(
10
+ async (e) => {
11
+ k({ account: e.evmSmartAccount, user: r });
12
+ const m = r, t = e.evmSmartAccount ?? m.evmSmartAccounts[0], s = await i({ ...e, evmSmartAccount: t });
13
+ return o({
14
+ userOperationHash: s.userOperationHash,
15
+ evmSmartAccount: t,
16
+ network: e.network
17
+ }), s;
18
+ }
19
+ ), data: c, error: a, status: u };
17
20
  };
18
21
  export {
19
- b as getPublicClient
22
+ P as useRevokeSpendPermission
20
23
  };
@@ -1,9 +1,82 @@
1
- async function e(n, { filter: t }) {
2
- return t.request({
3
- method: "eth_uninstallFilter",
4
- params: [t.id]
5
- });
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
+ }
6
79
  }
7
80
  export {
8
- e as uninstallFilter
81
+ nr as simulateBlocks
9
82
  };
@@ -1,16 +1,180 @@
1
- import { hashMessage as h } from "./index183.js";
2
- import { verifyHash as i } from "./index229.js";
3
- async function m(r, { address: a, message: o, factory: s, factoryData: t, signature: e, ...f }) {
4
- const c = h(o);
5
- return i(r, {
6
- address: a,
7
- factory: s,
8
- factoryData: t,
9
- hash: c,
10
- signature: e,
11
- ...f
12
- });
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])
21
+ ]
22
+ }) : void 0, n = a ? await Promise.all(r.calls.map(async (s) => {
23
+ if (!s.data && !s.abi)
24
+ return;
25
+ const { accessList: e } = await Z(b, {
26
+ account: f.address,
27
+ ...s,
28
+ data: s.abi ? Y(s) : s.data
29
+ });
30
+ return e.map(({ address: c, storageKeys: d }) => d.length > 0 ? c : null);
31
+ })).then((s) => s.flat().filter(Boolean)) : [], l = await ss(b, {
32
+ blockNumber: g,
33
+ blockTag: y,
34
+ blocks: [
35
+ ...a ? [
36
+ // ETH pre balances
37
+ {
38
+ calls: [{ data: m }],
39
+ stateOverrides: u
40
+ },
41
+ // Asset pre balances
42
+ {
43
+ calls: n.map((s, e) => ({
44
+ abi: [
45
+ o("function balanceOf(address) returns (uint256)")
46
+ ],
47
+ functionName: "balanceOf",
48
+ args: [f.address],
49
+ to: s,
50
+ from: t,
51
+ nonce: e
52
+ })),
53
+ stateOverrides: [
54
+ {
55
+ address: t,
56
+ nonce: 0
57
+ }
58
+ ]
59
+ }
60
+ ] : [],
61
+ {
62
+ calls: [...h, {}].map((s) => ({
63
+ ...s,
64
+ from: f?.address
65
+ })),
66
+ stateOverrides: u
67
+ },
68
+ ...a ? [
69
+ // ETH post balances
70
+ {
71
+ calls: [{ data: m }]
72
+ },
73
+ // Asset post balances
74
+ {
75
+ calls: n.map((s, e) => ({
76
+ abi: [
77
+ o("function balanceOf(address) returns (uint256)")
78
+ ],
79
+ functionName: "balanceOf",
80
+ args: [f.address],
81
+ to: s,
82
+ from: t,
83
+ nonce: e
84
+ })),
85
+ stateOverrides: [
86
+ {
87
+ address: t,
88
+ nonce: 0
89
+ }
90
+ ]
91
+ },
92
+ // Decimals
93
+ {
94
+ calls: n.map((s, e) => ({
95
+ to: s,
96
+ abi: [
97
+ o("function decimals() returns (uint256)")
98
+ ],
99
+ functionName: "decimals",
100
+ from: t,
101
+ nonce: e
102
+ })),
103
+ stateOverrides: [
104
+ {
105
+ address: t,
106
+ nonce: 0
107
+ }
108
+ ]
109
+ },
110
+ // Token URI
111
+ {
112
+ calls: n.map((s, e) => ({
113
+ to: s,
114
+ abi: [
115
+ o("function tokenURI(uint256) returns (string)")
116
+ ],
117
+ functionName: "tokenURI",
118
+ args: [0n],
119
+ from: t,
120
+ nonce: e
121
+ })),
122
+ stateOverrides: [
123
+ {
124
+ address: t,
125
+ nonce: 0
126
+ }
127
+ ]
128
+ },
129
+ // Symbols
130
+ {
131
+ calls: n.map((s, e) => ({
132
+ to: s,
133
+ abi: [o("function symbol() returns (string)")],
134
+ functionName: "symbol",
135
+ from: t,
136
+ nonce: e
137
+ })),
138
+ stateOverrides: [
139
+ {
140
+ address: t,
141
+ nonce: 0
142
+ }
143
+ ]
144
+ }
145
+ ] : []
146
+ ],
147
+ traceTransfers: P,
148
+ validation: _
149
+ }), O = a ? l[2] : l[0], [B, v, , A, N, w, C, I] = a ? l : [], { calls: R, ...T } = O, U = R.slice(0, -1) ?? [], D = B?.calls ?? [], E = v?.calls ?? [], L = [...D, ...E].map((s) => s.status === "success" ? k(s.data) : null), q = A?.calls ?? [], z = N?.calls ?? [], F = [...q, ...z].map((s) => s.status === "success" ? k(s.data) : null), H = (w?.calls ?? []).map((s) => s.status === "success" ? s.result : null), V = (I?.calls ?? []).map((s) => s.status === "success" ? s.result : null), $ = (C?.calls ?? []).map((s) => s.status === "success" ? s.result : null), i = [];
150
+ for (const [s, e] of F.entries()) {
151
+ const c = L[s];
152
+ if (typeof e != "bigint" || typeof c != "bigint")
153
+ continue;
154
+ const d = H[s - 1], j = V[s - 1], x = $[s - 1], p = s === 0 ? {
155
+ address: S,
156
+ decimals: 18,
157
+ symbol: "ETH"
158
+ } : {
159
+ address: n[s - 1],
160
+ decimals: x || d ? Number(d ?? 1) : void 0,
161
+ symbol: j ?? void 0
162
+ };
163
+ i.some((G) => G.token.address === p.address) || i.push({
164
+ token: p,
165
+ value: {
166
+ pre: c,
167
+ post: e,
168
+ diff: e - c
169
+ }
170
+ });
171
+ }
172
+ return {
173
+ assetChanges: i,
174
+ block: T,
175
+ results: U
176
+ };
13
177
  }
14
178
  export {
15
- m as verifyMessage
179
+ bs as simulateCalls
16
180
  };
@@ -1,16 +1,47 @@
1
- import { hashTypedData as m } from "./index148.js";
2
- import { verifyHash as d } from "./index229.js";
3
- async function D(a, t) {
4
- const { address: r, factory: e, factoryData: o, signature: s, message: y, primaryType: c, types: f, domain: i, ...n } = t, p = m({ message: y, primaryType: c, types: f, domain: i });
5
- return d(a, {
6
- address: r,
7
- factory: e,
8
- factoryData: o,
9
- hash: p,
10
- signature: s,
11
- ...n
12
- });
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 "./index210.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
+ }
13
44
  }
14
45
  export {
15
- D as verifyTypedData
46
+ R as simulateContract
16
47
  };
@@ -1,102 +1,9 @@
1
- import { BlockNotFoundError as D } from "./index85.js";
2
- import { WaitForTransactionReceiptTimeoutError as M, TransactionNotFoundError as O, TransactionReceiptNotFoundError as W } from "./index94.js";
3
- import { getAction as l } from "./index210.js";
4
- import { observe as q } from "./index207.js";
5
- import { withResolvers as z } from "./index209.js";
6
- import { withRetry as B } from "./index176.js";
7
- import { stringify as G } from "./index104.js";
8
- import { getBlock as H } from "./index37.js";
9
- import { getTransaction as J } from "./index51.js";
10
- import { getTransactionReceipt as g } from "./index54.js";
11
- import { watchBlockNumber as K } from "./index64.js";
12
- async function re(r, b) {
13
- const {
14
- checkReplacement: F = !0,
15
- confirmations: n = 1,
16
- hash: s,
17
- onReplaced: _,
18
- retryCount: v = 6,
19
- retryDelay: y = ({ count: t }) => ~~(1 << t) * 200,
20
- // exponential backoff
21
- timeout: N = 18e4
22
- } = b, I = G(["waitForTransactionReceipt", r.uid, s]), E = b.pollingInterval ? b.pollingInterval : r.chain?.experimental_preconfirmationTime ? r.chain.experimental_preconfirmationTime : r.pollingInterval;
23
- let i, a, e, c = !1, p, d;
24
- const { promise: j, resolve: x, reject: R } = z(), w = N ? setTimeout(() => {
25
- d(), p(), R(new M({ hash: s }));
26
- }, N) : void 0;
27
- return p = q(I, { onReplaced: _, resolve: x, reject: R }, async (t) => {
28
- if (e = await l(r, g, "getTransactionReceipt")({ hash: s }).catch(() => {
29
- }), e && n <= 1) {
30
- clearTimeout(w), t.resolve(e), p();
31
- return;
32
- }
33
- d = l(r, K, "watchBlockNumber")({
34
- emitMissed: !0,
35
- emitOnBegin: !0,
36
- poll: !0,
37
- pollingInterval: E,
38
- async onBlockNumber(A) {
39
- const u = (f) => {
40
- clearTimeout(w), d(), f(), p();
41
- };
42
- let m = A;
43
- if (!c)
44
- try {
45
- if (e) {
46
- if (n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n))
47
- return;
48
- u(() => t.resolve(e));
49
- return;
50
- }
51
- if (F && !i && (c = !0, await B(async () => {
52
- i = await l(r, J, "getTransaction")({ hash: s }), i.blockNumber && (m = i.blockNumber);
53
- }, {
54
- delay: y,
55
- retryCount: v
56
- }), c = !1), e = await l(r, g, "getTransactionReceipt")({ hash: s }), n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n))
57
- return;
58
- u(() => t.resolve(e));
59
- } catch (f) {
60
- if (f instanceof O || f instanceof W) {
61
- if (!i) {
62
- c = !1;
63
- return;
64
- }
65
- try {
66
- a = i, c = !0;
67
- const T = await B(() => l(r, H, "getBlock")({
68
- blockNumber: m,
69
- includeTransactions: !0
70
- }), {
71
- delay: y,
72
- retryCount: v,
73
- shouldRetry: ({ error: k }) => k instanceof D
74
- });
75
- c = !1;
76
- const o = T.transactions.find(({ from: k, nonce: C }) => k === a.from && C === a.nonce);
77
- if (!o || (e = await l(r, g, "getTransactionReceipt")({
78
- hash: o.hash
79
- }), n > 1 && (!e.blockNumber || m - e.blockNumber + 1n < n)))
80
- return;
81
- let h = "replaced";
82
- o.to === a.to && o.value === a.value && o.input === a.input ? h = "repriced" : o.from === o.to && o.value === 0n && (h = "cancelled"), u(() => {
83
- t.onReplaced?.({
84
- reason: h,
85
- replacedTransaction: a,
86
- transaction: o,
87
- transactionReceipt: e
88
- }), t.resolve(e);
89
- });
90
- } catch (T) {
91
- u(() => t.reject(T));
92
- }
93
- } else
94
- u(() => t.reject(f));
95
- }
96
- }
97
- });
98
- }), j;
1
+ async function e(n, { filter: t }) {
2
+ return t.request({
3
+ method: "eth_uninstallFilter",
4
+ params: [t.id]
5
+ });
99
6
  }
100
7
  export {
101
- re as waitForTransactionReceipt
8
+ e as uninstallFilter
102
9
  };
@@ -1,75 +1,16 @@
1
- import { hexToBigInt as w } from "./index143.js";
2
- import { getAction as g } from "./index210.js";
3
- import { observe as k } from "./index207.js";
4
- import { poll as h } from "./index208.js";
5
- import { stringify as y } from "./index104.js";
6
- import { getBlockNumber as v } from "./index38.js";
7
- function H(r, { emitOnBegin: c = !1, emitMissed: a = !1, onBlockNumber: l, onError: b, poll: i, pollingInterval: m = r.pollingInterval }) {
8
- const N = typeof i < "u" ? i : !(r.transport.type === "webSocket" || r.transport.type === "ipc" || r.transport.type === "fallback" && (r.transport.transports[0].config.type === "webSocket" || r.transport.transports[0].config.type === "ipc"));
9
- let t;
10
- return N ? (() => {
11
- const p = y([
12
- "watchBlockNumber",
13
- r.uid,
14
- c,
15
- a,
16
- m
17
- ]);
18
- return k(p, { onBlockNumber: l, onError: b }, (s) => h(async () => {
19
- try {
20
- const o = await g(r, v, "getBlockNumber")({ cacheTime: 0 });
21
- if (t) {
22
- if (o === t)
23
- return;
24
- if (o - t > 1 && a)
25
- for (let e = t + 1n; e < o; e++)
26
- s.onBlockNumber(e, t), t = e;
27
- }
28
- (!t || o > t) && (s.onBlockNumber(o, t), t = o);
29
- } catch (o) {
30
- s.onError?.(o);
31
- }
32
- }, {
33
- emitOnBegin: c,
34
- interval: m
35
- }));
36
- })() : (() => {
37
- const p = y([
38
- "watchBlockNumber",
39
- r.uid,
40
- c,
41
- a
42
- ]);
43
- return k(p, { onBlockNumber: l, onError: b }, (s) => {
44
- let o = !0, e = () => o = !1;
45
- return (async () => {
46
- try {
47
- const f = (() => {
48
- if (r.transport.type === "fallback") {
49
- const n = r.transport.transports.find((u) => u.config.type === "webSocket" || u.config.type === "ipc");
50
- return n ? n.value : r.transport;
51
- }
52
- return r.transport;
53
- })(), { unsubscribe: B } = await f.subscribe({
54
- params: ["newHeads"],
55
- onData(n) {
56
- if (!o)
57
- return;
58
- const u = w(n.result?.number);
59
- s.onBlockNumber(u, t), t = u;
60
- },
61
- onError(n) {
62
- s.onError?.(n);
63
- }
64
- });
65
- e = B, o || e();
66
- } catch (f) {
67
- b?.(f);
68
- }
69
- })(), () => e();
70
- });
71
- })();
1
+ import { hashMessage as h } from "./index186.js";
2
+ import { verifyHash as i } from "./index232.js";
3
+ async function m(r, { address: a, message: o, factory: s, factoryData: t, signature: e, ...f }) {
4
+ const c = h(o);
5
+ return i(r, {
6
+ address: a,
7
+ factory: s,
8
+ factoryData: t,
9
+ hash: c,
10
+ signature: e,
11
+ ...f
12
+ });
72
13
  }
73
14
  export {
74
- H as watchBlockNumber
15
+ m as verifyMessage
75
16
  };