@coinbase/cdp-hooks 0.0.93 → 0.0.94

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