@coinbase/cdp-hooks 0.0.96 → 0.0.97

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 (282) hide show
  1. package/dist/esm/index100.js +35 -25
  2. package/dist/esm/index101.js +9 -46
  3. package/dist/esm/index102.js +31 -69
  4. package/dist/esm/index103.js +36 -40
  5. package/dist/esm/index104.js +9 -75
  6. package/dist/esm/index105.js +25 -27
  7. package/dist/esm/index106.js +46 -6
  8. package/dist/esm/index107.js +69 -16
  9. package/dist/esm/index108.js +40 -8
  10. package/dist/esm/index109.js +75 -13
  11. package/dist/esm/index110.js +31 -7
  12. package/dist/esm/index111.js +6 -9
  13. package/dist/esm/index112.js +16 -16
  14. package/dist/esm/index113.js +8 -12
  15. package/dist/esm/index114.js +13 -46
  16. package/dist/esm/index115.js +7 -13
  17. package/dist/esm/index116.js +9 -16
  18. package/dist/esm/index117.js +16 -13
  19. package/dist/esm/index118.js +11 -5
  20. package/dist/esm/index119.js +46 -35
  21. package/dist/esm/index120.js +13 -9
  22. package/dist/esm/index121.js +15 -7
  23. package/dist/esm/index122.js +13 -28
  24. package/dist/esm/index123.js +6 -10
  25. package/dist/esm/index124.js +32 -11
  26. package/dist/esm/index125.js +9 -11
  27. package/dist/esm/index126.js +8 -120
  28. package/dist/esm/index127.js +27 -32
  29. package/dist/esm/index128.js +10 -80
  30. package/dist/esm/index129.js +13 -176
  31. package/dist/esm/index130.js +11 -44
  32. package/dist/esm/index131.js +120 -6
  33. package/dist/esm/index132.js +30 -151
  34. package/dist/esm/index133.js +80 -14
  35. package/dist/esm/index134.js +177 -14
  36. package/dist/esm/index135.js +42 -97
  37. package/dist/esm/index136.js +6 -72
  38. package/dist/esm/index137.js +153 -86
  39. package/dist/esm/index138.js +14 -148
  40. package/dist/esm/index139.js +14 -136
  41. package/dist/esm/index140.js +94 -63
  42. package/dist/esm/index141.js +72 -23
  43. package/dist/esm/index142.js +83 -154
  44. package/dist/esm/index143.js +148 -6
  45. package/dist/esm/index144.js +136 -11
  46. package/dist/esm/index145.js +68 -19
  47. package/dist/esm/index146.js +23 -135
  48. package/dist/esm/index147.js +155 -75
  49. package/dist/esm/index148.js +6 -9
  50. package/dist/esm/index149.js +11 -28
  51. package/dist/esm/index150.js +17 -87
  52. package/dist/esm/index151.js +135 -350
  53. package/dist/esm/index152.js +79 -3
  54. package/dist/esm/index153.js +10 -5
  55. package/dist/esm/index154.js +29 -2
  56. package/dist/esm/index155.js +90 -3
  57. package/dist/esm/index156.js +351 -9
  58. package/dist/esm/index157.js +3 -327
  59. package/dist/esm/index158.js +5 -14
  60. package/dist/esm/index159.js +2 -5
  61. package/dist/esm/index160.js +3 -56
  62. package/dist/esm/index161.js +9 -13
  63. package/dist/esm/index162.js +327 -2
  64. package/dist/esm/index163.js +13 -7
  65. package/dist/esm/index164.js +4 -30
  66. package/dist/esm/index165.js +29 -188
  67. package/dist/esm/index166.js +13 -32
  68. package/dist/esm/index167.js +2 -22
  69. package/dist/esm/index168.js +7 -5
  70. package/dist/esm/index169.js +25 -68
  71. package/dist/esm/index170.js +214 -5
  72. package/dist/esm/index171.js +32 -6
  73. package/dist/esm/index172.js +20 -34
  74. package/dist/esm/index173.js +5 -119
  75. package/dist/esm/index174.js +74 -3
  76. package/dist/esm/index175.js +5 -18
  77. package/dist/esm/index176.js +5 -26
  78. package/dist/esm/index177.js +28 -26
  79. package/dist/esm/index178.js +105 -20
  80. package/dist/esm/index179.js +3 -24
  81. package/dist/esm/index180.js +17 -7
  82. package/dist/esm/index181.js +18 -185
  83. package/dist/esm/index182.js +34 -2
  84. package/dist/esm/index183.js +28 -461
  85. package/dist/esm/index184.js +16 -20
  86. package/dist/esm/index185.js +6 -158
  87. package/dist/esm/index186.js +193 -21
  88. package/dist/esm/index187.js +2 -128
  89. package/dist/esm/index188.js +467 -38
  90. package/dist/esm/index189.js +27 -6
  91. package/dist/esm/index190.js +160 -27
  92. package/dist/esm/index191.js +20 -54
  93. package/dist/esm/index192.js +126 -44
  94. package/dist/esm/index193.js +31 -184
  95. package/dist/esm/index194.js +7 -4
  96. package/dist/esm/index195.js +26 -72
  97. package/dist/esm/index196.js +52 -17
  98. package/dist/esm/index197.js +46 -3
  99. package/dist/esm/index198.js +188 -13
  100. package/dist/esm/index199.js +4 -24
  101. package/dist/esm/index200.js +73 -11
  102. package/dist/esm/index201.js +18 -16
  103. package/dist/esm/index202.js +3 -35
  104. package/dist/esm/index203.js +17 -3
  105. package/dist/esm/index204.js +23 -18
  106. package/dist/esm/index205.js +11 -27
  107. package/dist/esm/index206.js +17 -34
  108. package/dist/esm/index207.js +34 -8
  109. package/dist/esm/index208.js +3 -8
  110. package/dist/esm/index209.js +18 -25
  111. package/dist/esm/index210.js +26 -27
  112. package/dist/esm/index211.js +35 -3
  113. package/dist/esm/index212.js +8 -79
  114. package/dist/esm/index213.js +7 -9
  115. package/dist/esm/index214.js +23 -10
  116. package/dist/esm/index215.js +27 -20
  117. package/dist/esm/index216.js +3 -8
  118. package/dist/esm/index217.js +78 -9
  119. package/dist/esm/index218.js +9 -11
  120. package/dist/esm/index219.js +12 -6
  121. package/dist/esm/index220.js +21 -6
  122. package/dist/esm/index221.js +8 -13
  123. package/dist/esm/index222.js +9 -31
  124. package/dist/esm/index223.js +12 -5
  125. package/dist/esm/index224.js +6 -37
  126. package/dist/esm/index225.js +6 -110
  127. package/dist/esm/index226.js +12 -47
  128. package/dist/esm/index227.js +31 -31
  129. package/dist/esm/index228.js +5 -18
  130. package/dist/esm/index229.js +35 -17
  131. package/dist/esm/index230.js +108 -40
  132. package/dist/esm/index231.js +46 -40
  133. package/dist/esm/index232.js +32 -8
  134. package/dist/esm/index233.js +17 -7
  135. package/dist/esm/index234.js +19 -16
  136. package/dist/esm/index235.js +42 -22
  137. package/dist/esm/index236.js +40 -22
  138. package/dist/esm/index237.js +8 -16
  139. package/dist/esm/index238.js +7 -54
  140. package/dist/esm/index239.js +16 -27
  141. package/dist/esm/index240.js +22 -24
  142. package/dist/esm/index241.js +24 -104
  143. package/dist/esm/index242.js +17 -3
  144. package/dist/esm/index243.js +54 -5
  145. package/dist/esm/index244.js +26 -30
  146. package/dist/esm/index245.js +24 -20
  147. package/dist/esm/index246.js +104 -3
  148. package/dist/esm/index247.js +3 -18
  149. package/dist/esm/index248.js +5 -5
  150. package/dist/esm/index249.js +31 -8
  151. package/dist/esm/index250.js +19 -102
  152. package/dist/esm/index251.js +3 -64
  153. package/dist/esm/index252.js +17 -5
  154. package/dist/esm/index253.js +5 -6
  155. package/dist/esm/index254.js +8 -27
  156. package/dist/esm/index255.js +103 -33
  157. package/dist/esm/index256.js +64 -13
  158. package/dist/esm/index257.js +5 -16
  159. package/dist/esm/index258.js +6 -78
  160. package/dist/esm/index259.js +28 -2
  161. package/dist/esm/index260.js +33 -14
  162. package/dist/esm/index261.js +13 -18
  163. package/dist/esm/index262.js +16 -171
  164. package/dist/esm/index263.js +77 -16
  165. package/dist/esm/index264.js +2 -11
  166. package/dist/esm/index265.js +15 -10
  167. package/dist/esm/index266.js +18 -38
  168. package/dist/esm/index267.js +172 -2
  169. package/dist/esm/index268.js +17 -69
  170. package/dist/esm/index269.js +10 -34
  171. package/dist/esm/index270.js +10 -15
  172. package/dist/esm/index271.js +2 -41
  173. package/dist/esm/index272.js +41 -2
  174. package/dist/esm/index273.js +2 -5
  175. package/dist/esm/index274.js +4 -10
  176. package/dist/esm/index275.js +9 -18
  177. package/dist/esm/index276.js +19 -7
  178. package/dist/esm/index277.js +7 -11
  179. package/dist/esm/index278.js +11 -72
  180. package/dist/esm/index279.js +71 -64
  181. package/dist/esm/index280.js +60 -182
  182. package/dist/esm/index281.js +185 -20
  183. package/dist/esm/index282.js +21 -41
  184. package/dist/esm/index283.js +41 -24
  185. package/dist/esm/index284.js +24 -89
  186. package/dist/esm/index285.js +68 -18
  187. package/dist/esm/index286.js +34 -10
  188. package/dist/esm/index287.js +10 -7
  189. package/dist/esm/index288.js +13 -7
  190. package/dist/esm/index289.js +7 -6
  191. package/dist/esm/index290.js +6 -36
  192. package/dist/esm/index291.js +35 -14
  193. package/dist/esm/index292.js +15 -8
  194. package/dist/esm/index293.js +8 -8
  195. package/dist/esm/index294.js +8 -16
  196. package/dist/esm/index295.js +15 -21
  197. package/dist/esm/index296.js +22 -30
  198. package/dist/esm/index297.js +31 -2
  199. package/dist/esm/index298.js +2 -14
  200. package/dist/esm/index299.js +13 -12
  201. package/dist/esm/index3.js +1 -1
  202. package/dist/esm/index300.js +10 -45
  203. package/dist/esm/index301.js +47 -9
  204. package/dist/esm/index302.js +8 -12
  205. package/dist/esm/index303.js +10 -10
  206. package/dist/esm/index304.js +13 -14
  207. package/dist/esm/index305.js +14 -8
  208. package/dist/esm/index306.js +6 -13
  209. package/dist/esm/index307.js +15 -24
  210. package/dist/esm/index308.js +24 -24
  211. package/dist/esm/index309.js +20 -27
  212. package/dist/esm/index310.js +31 -9
  213. package/dist/esm/index311.js +9 -51
  214. package/dist/esm/index312.js +38 -24
  215. package/dist/esm/index313.js +37 -17
  216. package/dist/esm/index314.js +17 -14
  217. package/dist/esm/index315.js +14 -11
  218. package/dist/esm/index316.js +11 -12
  219. package/dist/esm/index317.js +12 -19
  220. package/dist/esm/index318.js +18 -106
  221. package/dist/esm/index319.js +105 -101
  222. package/dist/esm/index320.js +103 -6
  223. package/dist/esm/index321.js +7 -7
  224. package/dist/esm/index322.js +7 -27
  225. package/dist/esm/index323.js +26 -15
  226. package/dist/esm/index324.js +13 -211
  227. package/dist/esm/index325.js +213 -12
  228. package/dist/esm/index326.js +12 -35
  229. package/dist/esm/index327.js +35 -41
  230. package/dist/esm/index328.js +42 -2
  231. package/dist/esm/index329.js +3 -68
  232. package/dist/esm/index330.js +68 -3
  233. package/dist/esm/index331.js +3 -136
  234. package/dist/esm/index332.js +125 -163
  235. package/dist/esm/index333.js +174 -9
  236. package/dist/esm/index334.js +9 -16
  237. package/dist/esm/index335.js +16 -133
  238. package/dist/esm/index336.js +112 -172
  239. package/dist/esm/index337.js +194 -2
  240. package/dist/esm/index338.js +2 -79
  241. package/dist/esm/index339.js +77 -13
  242. package/dist/esm/index340.js +13 -89
  243. package/dist/esm/index341.js +70 -143
  244. package/dist/esm/index342.js +157 -36
  245. package/dist/esm/index343.js +41 -654
  246. package/dist/esm/index344.js +646 -196
  247. package/dist/esm/index345.js +201 -172
  248. package/dist/esm/index346.js +176 -3
  249. package/dist/esm/index347.js +1 -1
  250. package/dist/esm/index349.js +2 -2
  251. package/dist/esm/index350.js +1 -1
  252. package/dist/esm/index351.js +1 -1
  253. package/dist/esm/index352.js +2 -2
  254. package/dist/esm/index353.js +3 -3
  255. package/dist/esm/index354.js +1 -1
  256. package/dist/esm/index73.js +2 -2
  257. package/dist/esm/index74.js +1 -1
  258. package/dist/esm/index75.js +2 -2
  259. package/dist/esm/index76.js +1 -1
  260. package/dist/esm/index77.js +1 -1
  261. package/dist/esm/index78.js +1 -1
  262. package/dist/esm/index79.js +1 -1
  263. package/dist/esm/index80.js +2 -2
  264. package/dist/esm/index81.js +2 -2
  265. package/dist/esm/index82.js +5 -5
  266. package/dist/esm/index83.js +2 -2
  267. package/dist/esm/index85.js +37 -33
  268. package/dist/esm/index86.js +2 -4
  269. package/dist/esm/index87.js +69 -9
  270. package/dist/esm/index88.js +33 -117
  271. package/dist/esm/index89.js +13 -60
  272. package/dist/esm/index90.js +33 -23
  273. package/dist/esm/index91.js +3 -36
  274. package/dist/esm/index92.js +9 -41
  275. package/dist/esm/index93.js +118 -58
  276. package/dist/esm/index94.js +58 -165
  277. package/dist/esm/index95.js +21 -36
  278. package/dist/esm/index96.js +36 -9
  279. package/dist/esm/index97.js +38 -28
  280. package/dist/esm/index98.js +58 -36
  281. package/dist/esm/index99.js +167 -8
  282. package/package.json +3 -3
@@ -1,9 +1,123 @@
1
- async function e(n, { filter: t }) {
2
- return t.request({
3
- method: "eth_uninstallFilter",
4
- params: [t.id]
5
- });
1
+ import { multicall3Abi as x } from "./index156.js";
2
+ import { multicall3Bytecode as P } from "./index158.js";
3
+ import { AbiDecodingZeroDataError as B } from "./index162.js";
4
+ import { BaseError as O } from "./index165.js";
5
+ import { RawContractError as q } from "./index170.js";
6
+ import { decodeFunctionResult as L } from "./index204.js";
7
+ import { encodeFunctionData as T } from "./index213.js";
8
+ import { getChainContractAddress as Z } from "./index234.js";
9
+ import { getContractError as F } from "./index240.js";
10
+ import { getAction as G } from "./index289.js";
11
+ import { readContract as H } from "./index132.js";
12
+ async function $(i, c) {
13
+ const { account: w, authorizationList: j, allowFailure: d = !0, blockNumber: b, blockOverrides: z, blockTag: N, stateOverride: R } = c, h = c.contracts, { batchSize: p = c.batchSize ?? 1024, deployless: S = c.deployless ?? !1 } = typeof i.batch?.multicall == "object" ? i.batch.multicall : {}, C = (() => {
14
+ if (c.multicallAddress)
15
+ return c.multicallAddress;
16
+ if (S)
17
+ return null;
18
+ if (i.chain)
19
+ return Z({
20
+ blockNumber: b,
21
+ chain: i.chain,
22
+ contract: "multicall3"
23
+ });
24
+ throw new Error("client chain not configured. multicallAddress is required.");
25
+ })(), e = [[]];
26
+ let o = 0, f = 0;
27
+ for (let t = 0; t < h.length; t++) {
28
+ const { abi: a, address: s, args: r, functionName: u } = h[t];
29
+ try {
30
+ const l = T({ abi: a, args: r, functionName: u });
31
+ f += (l.length - 2) / 2, // Check if batching is enabled.
32
+ p > 0 && // Check if the current size of the batch exceeds the size limit.
33
+ f > p && // Check if the current chunk is not already empty.
34
+ e[o].length > 0 && (o++, f = (l.length - 2) / 2, e[o] = []), e[o] = [
35
+ ...e[o],
36
+ {
37
+ allowFailure: !0,
38
+ callData: l,
39
+ target: s
40
+ }
41
+ ];
42
+ } catch (l) {
43
+ const g = F(l, {
44
+ abi: a,
45
+ address: s,
46
+ args: r,
47
+ docsPath: "/docs/contract/multicall",
48
+ functionName: u,
49
+ sender: w
50
+ });
51
+ if (!d)
52
+ throw g;
53
+ e[o] = [
54
+ ...e[o],
55
+ {
56
+ allowFailure: !0,
57
+ callData: "0x",
58
+ target: s
59
+ }
60
+ ];
61
+ }
62
+ }
63
+ const A = await Promise.allSettled(e.map((t) => G(i, H, "readContract")({
64
+ ...C === null ? { code: P } : { address: C },
65
+ abi: x,
66
+ account: w,
67
+ args: [t],
68
+ authorizationList: j,
69
+ blockNumber: b,
70
+ blockOverrides: z,
71
+ blockTag: N,
72
+ functionName: "aggregate3",
73
+ stateOverride: R
74
+ }))), n = [];
75
+ for (let t = 0; t < A.length; t++) {
76
+ const a = A[t];
77
+ if (a.status === "rejected") {
78
+ if (!d)
79
+ throw a.reason;
80
+ for (let r = 0; r < e[t].length; r++)
81
+ n.push({
82
+ status: "failure",
83
+ error: a.reason,
84
+ result: void 0
85
+ });
86
+ continue;
87
+ }
88
+ const s = a.value;
89
+ for (let r = 0; r < s.length; r++) {
90
+ const { returnData: u, success: l } = s[r], { callData: g } = e[t][r], { abi: y, address: v, functionName: D, args: k } = h[n.length];
91
+ try {
92
+ if (g === "0x")
93
+ throw new B();
94
+ if (!l)
95
+ throw new q({ data: u });
96
+ const m = L({
97
+ abi: y,
98
+ args: k,
99
+ data: u,
100
+ functionName: D
101
+ });
102
+ n.push(d ? { result: m, status: "success" } : m);
103
+ } catch (m) {
104
+ const E = F(m, {
105
+ abi: y,
106
+ address: v,
107
+ args: k,
108
+ docsPath: "/docs/contract/multicall",
109
+ functionName: D
110
+ });
111
+ if (!d)
112
+ throw E;
113
+ n.push({ error: E, result: void 0, status: "failure" });
114
+ }
115
+ }
116
+ }
117
+ if (n.length !== h.length)
118
+ throw new O("multicall results mismatch");
119
+ return n;
6
120
  }
7
121
  export {
8
- e as uninstallFilter
122
+ $ as multicall
9
123
  };
@@ -1,157 +1,36 @@
1
- import { multicall3Abi as A, erc1271Abi as b, erc6492SignatureValidatorAbi as w } from "./index151.js";
2
- import { multicall3Bytecode as x, erc6492SignatureValidatorByteCode as E } from "./index153.js";
3
- import { CallExecutionError as V, ContractFunctionExecutionError as z } from "./index165.js";
4
- import { encodeDeployData as D } from "./index204.js";
5
- import { encodeFunctionData as p } from "./index208.js";
6
- import { getAddress as N } from "./index186.js";
7
- import { isAddressEqual as S } from "./index213.js";
8
- import { verifyAuthorization as C } from "./index310.js";
9
- import { concatHex as H } from "./index201.js";
10
- import { isHex as T } from "./index211.js";
11
- import { hexToBool as k } from "./index230.js";
12
- import { bytesToHex as F, numberToHex as y } from "./index192.js";
13
- import { getAction as m } from "./index288.js";
14
- import { recoverAddress as B } from "./index252.js";
15
- import { serializeSignature as I } from "./index256.js";
16
- import { call as P } from "./index94.js";
17
- import { getCode as W } from "./index111.js";
18
- import { readContract as v } from "./index127.js";
19
- import { validate as j, unwrap as q } from "./index311.js";
20
- import { validate as L, wrap as _ } from "./index312.js";
21
- async function mr(i, a) {
22
- const { address: o, chain: e = i.chain, hash: s, erc6492VerifierAddress: c = a.universalSignatureVerifierAddress ?? e?.contracts?.erc6492Verifier?.address, multicallAddress: n = a.multicallAddress ?? e?.contracts?.multicall3?.address } = a;
23
- if (e?.verifyHash)
24
- return await e.verifyHash(i, a);
25
- const t = (() => {
26
- const r = a.signature;
27
- return T(r) ? r : typeof r == "object" && "r" in r && "s" in r ? I(r) : F(r);
28
- })();
1
+ import { decodeFunctionResult as m } from "./index204.js";
2
+ import { encodeFunctionData as s } from "./index213.js";
3
+ import { getContractError as f } from "./index240.js";
4
+ import { getAction as l } from "./index289.js";
5
+ import { call as p } from "./index99.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
+ });
29
12
  try {
30
- return j(t) ? await $(i, {
31
- ...a,
32
- multicallAddress: n,
33
- signature: t
34
- }) : await G(i, {
35
- ...a,
36
- verifierAddress: c,
37
- signature: t
13
+ const { data: a } = await l(n, p, "call")({
14
+ ...d,
15
+ data: i,
16
+ to: c
38
17
  });
39
- } catch (r) {
40
- try {
41
- if (S(N(o), await B({ hash: s, signature: t })))
42
- return !0;
43
- } catch {
44
- }
45
- if (r instanceof d)
46
- return !1;
47
- throw r;
48
- }
49
- }
50
- async function $(i, a) {
51
- const { address: o, blockNumber: e, blockTag: s, hash: c, multicallAddress: n } = a, { authorization: t, data: r, signature: u, to: l } = q(a.signature);
52
- if (await W(i, {
53
- address: o,
54
- blockNumber: e,
55
- blockTag: s
56
- }) === H(["0xef0100", t.address]))
57
- return await J(i, {
58
- address: o,
59
- blockNumber: e,
60
- blockTag: s,
61
- hash: c,
62
- signature: u
18
+ return m({
19
+ abi: t,
20
+ args: o,
21
+ functionName: r,
22
+ data: a || "0x"
63
23
  });
64
- const f = {
65
- address: t.address,
66
- chainId: Number(t.chainId),
67
- nonce: Number(t.nonce),
68
- r: y(t.r, { size: 32 }),
69
- s: y(t.s, { size: 32 }),
70
- yParity: t.yParity
71
- };
72
- if (!await C({
73
- address: o,
74
- authorization: f
75
- }))
76
- throw new d();
77
- const g = await m(i, v, "readContract")({
78
- ...n ? { address: n } : { code: x },
79
- authorizationList: [f],
80
- abi: A,
81
- blockNumber: e,
82
- blockTag: "pending",
83
- functionName: "aggregate3",
84
- args: [
85
- [
86
- ...r ? [
87
- {
88
- allowFailure: !0,
89
- target: l ?? o,
90
- callData: r
91
- }
92
- ] : [],
93
- {
94
- allowFailure: !0,
95
- target: o,
96
- callData: p({
97
- abi: b,
98
- functionName: "isValidSignature",
99
- args: [c, u]
100
- })
101
- }
102
- ]
103
- ]
104
- });
105
- if (g[g.length - 1]?.returnData?.startsWith("0x1626ba7e"))
106
- return !0;
107
- throw new d();
108
- }
109
- async function G(i, a) {
110
- const { address: o, factory: e, factoryData: s, hash: c, signature: n, verifierAddress: t, ...r } = a, u = await (async () => !e && !s || L(n) ? n : _({
111
- data: s,
112
- signature: n,
113
- to: e
114
- }))(), l = t ? {
115
- to: t,
116
- data: p({
117
- abi: w,
118
- functionName: "isValidSig",
119
- args: [o, c, u]
120
- }),
121
- ...r
122
- } : {
123
- data: D({
124
- abi: w,
125
- args: [o, c, u],
126
- bytecode: E
127
- }),
128
- ...r
129
- }, { data: h } = await m(i, P, "call")(l).catch((f) => {
130
- throw f instanceof V ? new d() : f;
131
- });
132
- if (k(h ?? "0x0"))
133
- return !0;
134
- throw new d();
135
- }
136
- async function J(i, a) {
137
- const { address: o, blockNumber: e, blockTag: s, hash: c, signature: n } = a;
138
- if ((await m(i, v, "readContract")({
139
- address: o,
140
- abi: b,
141
- args: [c, n],
142
- blockNumber: e,
143
- blockTag: s,
144
- functionName: "isValidSignature"
145
- }).catch((r) => {
146
- throw r instanceof z ? new d() : r;
147
- })).startsWith("0x1626ba7e"))
148
- return !0;
149
- throw new d();
150
- }
151
- class d extends Error {
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
+ }
152
33
  }
153
34
  export {
154
- J as verifyErc1271,
155
- $ as verifyErc8010,
156
- mr as verifyHash
35
+ x as readContract
157
36
  };
@@ -1,17 +1,83 @@
1
- import { getAction as c } from "./index288.js";
2
- import { hashMessage as h } from "./index248.js";
3
- import { verifyHash as m } from "./index132.js";
4
- async function g(r, { address: o, message: t, factory: a, factoryData: e, signature: s, ...f }) {
5
- const i = h(t);
6
- return c(r, m, "verifyHash")({
7
- address: o,
8
- factory: a,
9
- factoryData: e,
10
- hash: i,
11
- signature: s,
12
- ...f
13
- });
1
+ import { toRpc as R } from "./index297.js";
2
+ import { parseAccount as q } from "./index91.js";
3
+ import { AbiDecodingZeroDataError as D } from "./index162.js";
4
+ import { RawContractError as S } from "./index170.js";
5
+ import { UnknownNodeError as y } from "./index186.js";
6
+ import { decodeFunctionResult as B } from "./index204.js";
7
+ import { encodeFunctionData as C } from "./index213.js";
8
+ import { concat as F } from "./index206.js";
9
+ import { numberToHex as H } from "./index197.js";
10
+ import { getContractError as U } from "./index240.js";
11
+ import { getNodeError as A } from "./index308.js";
12
+ import { formatBlock as _ } from "./index241.js";
13
+ import { formatLog as z } from "./index219.js";
14
+ import { formatTransactionRequest as I } from "./index245.js";
15
+ import { serializeStateOverride as L } from "./index301.js";
16
+ import { assertRequest as V } from "./index262.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 c = [];
21
+ for (const o of k) {
22
+ const d = o.blockOverrides ? R(o.blockOverrides) : void 0, e = o.calls.map((n) => {
23
+ const r = n, a = r.account ? q(r.account) : void 0, m = r.abi ? C(r) : r.data, t = {
24
+ ...r,
25
+ account: a,
26
+ data: r.dataSuffix ? F([m || "0x", r.dataSuffix]) : m,
27
+ from: r.from ?? a?.address
28
+ };
29
+ return V(t), I(t);
30
+ }), l = o.stateOverrides ? L(o.stateOverrides) : void 0;
31
+ c.push({
32
+ blockOverrides: d,
33
+ calls: e,
34
+ stateOverrides: l
35
+ });
36
+ }
37
+ const i = (typeof b == "bigint" ? H(b) : void 0) || x;
38
+ return (await p.request({
39
+ method: "eth_simulateV1",
40
+ params: [
41
+ { blockStateCalls: c, returnFullTransactions: v, traceTransfers: w, validation: N },
42
+ i
43
+ ]
44
+ })).map((o, d) => ({
45
+ ..._(o),
46
+ calls: o.calls.map((e, l) => {
47
+ const { abi: n, args: r, functionName: a, to: m } = k[d].calls[l], t = e.error?.data ?? e.returnData, O = BigInt(e.gasUsed), h = e.logs?.map((s) => z(s)), u = e.status === "0x1" ? "success" : "failure", T = n && u === "success" && t !== "0x" ? B({
48
+ abi: n,
49
+ data: t,
50
+ functionName: a
51
+ }) : null, E = (() => {
52
+ if (u === "success")
53
+ return;
54
+ let s;
55
+ if (t === "0x" ? s = new D() : t && (s = new S({ data: t })), !!s)
56
+ return U(s, {
57
+ abi: n ?? [],
58
+ address: m ?? "0x",
59
+ args: r,
60
+ functionName: a ?? "<unknown>"
61
+ });
62
+ })();
63
+ return {
64
+ data: t,
65
+ gasUsed: O,
66
+ logs: h,
67
+ status: u,
68
+ ...u === "success" ? {
69
+ result: T
70
+ } : {
71
+ error: E
72
+ }
73
+ };
74
+ })
75
+ }));
76
+ } catch (c) {
77
+ const f = c, i = A(f, {});
78
+ throw i instanceof y ? f : i;
79
+ }
14
80
  }
15
81
  export {
16
- g as verifyMessage
82
+ nr as simulateBlocks
17
83
  };
@@ -1,17 +1,180 @@
1
- import { getAction as p } from "./index288.js";
2
- import { hashTypedData as h } from "./index250.js";
3
- import { verifyHash as d } from "./index132.js";
4
- async function v(a, t) {
5
- const { address: r, factory: e, factoryData: o, signature: s, message: y, primaryType: f, types: i, domain: c, ...m } = t, n = h({ message: y, primaryType: f, types: i, domain: c });
6
- return p(a, d, "verifyHash")({
7
- address: r,
8
- factory: e,
9
- factoryData: o,
10
- hash: n,
11
- signature: s,
12
- ...m
13
- });
1
+ import { encode as J, from as K } from "./index309.js";
2
+ import { encodeData as M, from as n } from "./index310.js";
3
+ import { parseAccount as Q } from "./index91.js";
4
+ import { zeroAddress as t, ethAddress as S } from "./index157.js";
5
+ import { deploylessCallViaBytecodeBytecode as W } from "./index158.js";
6
+ import { BaseError as X } from "./index165.js";
7
+ import { encodeFunctionData as Y } from "./index213.js";
8
+ import { createAccessList as Z } from "./index100.js";
9
+ import { simulateBlocks as ss } from "./index133.js";
10
+ import { hexToBigInt as k } from "./index235.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(n("function getBalance(address)"), [f.address])
21
+ ]
22
+ }) : void 0, o = 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: o.map((s, e) => ({
44
+ abi: [
45
+ n("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, { to: t }].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: o.map((s, e) => ({
76
+ abi: [
77
+ n("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: o.map((s, e) => ({
95
+ to: s,
96
+ abi: [
97
+ n("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: o.map((s, e) => ({
113
+ to: s,
114
+ abi: [
115
+ n("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: o.map((s, e) => ({
132
+ to: s,
133
+ abi: [n("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: o[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
- v as verifyTypedData
179
+ bs as simulateCalls
17
180
  };