@coinbase/cdp-hooks 0.0.35 → 0.0.36

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 (248) hide show
  1. package/README.md +9 -5
  2. package/dist/esm/index10.js +33 -10
  3. package/dist/esm/index100.js +32 -24
  4. package/dist/esm/index101.js +182 -22
  5. package/dist/esm/index102.js +6 -32
  6. package/dist/esm/index103.js +2 -194
  7. package/dist/esm/index104.js +10 -6
  8. package/dist/esm/index105.js +19 -2
  9. package/dist/esm/index106.js +25 -10
  10. package/dist/esm/index107.js +8 -18
  11. package/dist/esm/index108.js +52 -24
  12. package/dist/esm/index109.js +45 -8
  13. package/dist/esm/index11.js +3 -8
  14. package/dist/esm/index110.js +8 -55
  15. package/dist/esm/index111.js +7 -45
  16. package/dist/esm/index112.js +16 -8
  17. package/dist/esm/index113.js +18 -7
  18. package/dist/esm/index114.js +24 -16
  19. package/dist/esm/index115.js +16 -18
  20. package/dist/esm/index116.js +52 -22
  21. package/dist/esm/index117.js +11 -16
  22. package/dist/esm/index118.js +159 -53
  23. package/dist/esm/index119.js +21 -11
  24. package/dist/esm/index12.js +8 -31
  25. package/dist/esm/index120.js +124 -157
  26. package/dist/esm/index121.js +37 -20
  27. package/dist/esm/index122.js +6 -127
  28. package/dist/esm/index123.js +24 -35
  29. package/dist/esm/index124.js +191 -6
  30. package/dist/esm/index125.js +4 -28
  31. package/dist/esm/index126.js +57 -184
  32. package/dist/esm/index127.js +3 -4
  33. package/dist/esm/index128.js +16 -60
  34. package/dist/esm/index129.js +17 -3
  35. package/dist/esm/index13.js +68 -3
  36. package/dist/esm/index130.js +22 -19
  37. package/dist/esm/index131.js +11 -16
  38. package/dist/esm/index132.js +33 -22
  39. package/dist/esm/index133.js +3 -12
  40. package/dist/esm/index134.js +17 -33
  41. package/dist/esm/index135.js +28 -3
  42. package/dist/esm/index136.js +35 -18
  43. package/dist/esm/index137.js +7 -27
  44. package/dist/esm/index138.js +24 -34
  45. package/dist/esm/index139.js +28 -7
  46. package/dist/esm/index14.js +8 -8
  47. package/dist/esm/index140.js +63 -24
  48. package/dist/esm/index141.js +9 -28
  49. package/dist/esm/index142.js +31 -62
  50. package/dist/esm/index143.js +27 -9
  51. package/dist/esm/index144.js +23 -32
  52. package/dist/esm/index145.js +3 -27
  53. package/dist/esm/index146.js +14 -24
  54. package/dist/esm/index147.js +103 -3
  55. package/dist/esm/index148.js +64 -14
  56. package/dist/esm/index149.js +5 -103
  57. package/dist/esm/index15.js +27 -67
  58. package/dist/esm/index150.js +6 -64
  59. package/dist/esm/index151.js +27 -5
  60. package/dist/esm/index152.js +39 -6
  61. package/dist/esm/index153.js +13 -27
  62. package/dist/esm/index154.js +41 -38
  63. package/dist/esm/index155.js +5 -13
  64. package/dist/esm/index156.js +11 -42
  65. package/dist/esm/index157.js +19 -5
  66. package/dist/esm/index158.js +78 -11
  67. package/dist/esm/index159.js +2 -20
  68. package/dist/esm/index16.js +70 -9
  69. package/dist/esm/index160.js +33 -74
  70. package/dist/esm/index161.js +111 -2
  71. package/dist/esm/index162.js +38 -27
  72. package/dist/esm/index163.js +30 -108
  73. package/dist/esm/index164.js +8 -48
  74. package/dist/esm/index165.js +6 -32
  75. package/dist/esm/index166.js +6 -8
  76. package/dist/esm/index167.js +11 -6
  77. package/dist/esm/index168.js +10 -6
  78. package/dist/esm/index169.js +13 -11
  79. package/dist/esm/index17.js +17 -26
  80. package/dist/esm/index170.js +31 -9
  81. package/dist/esm/index171.js +5 -14
  82. package/dist/esm/index172.js +8 -32
  83. package/dist/esm/index173.js +20 -5
  84. package/dist/esm/index174.js +31 -19
  85. package/dist/esm/index175.js +20 -31
  86. package/dist/esm/index176.js +3 -20
  87. package/dist/esm/index177.js +17 -3
  88. package/dist/esm/index178.js +10 -17
  89. package/dist/esm/index179.js +21 -10
  90. package/dist/esm/index18.js +108 -68
  91. package/dist/esm/index180.js +22 -21
  92. package/dist/esm/index181.js +5 -22
  93. package/dist/esm/index182.js +5 -5
  94. package/dist/esm/index183.js +8 -5
  95. package/dist/esm/index184.js +104 -8
  96. package/dist/esm/index185.js +3 -105
  97. package/dist/esm/index186.js +19 -3
  98. package/dist/esm/index187.js +170 -17
  99. package/dist/esm/index188.js +16 -170
  100. package/dist/esm/index189.js +10 -18
  101. package/dist/esm/index19.js +60 -19
  102. package/dist/esm/index190.js +40 -12
  103. package/dist/esm/index191.js +2 -36
  104. package/dist/esm/index192.js +4 -41
  105. package/dist/esm/index193.js +9 -39
  106. package/dist/esm/index194.js +20 -2
  107. package/dist/esm/index195.js +7 -4
  108. package/dist/esm/index196.js +10 -9
  109. package/dist/esm/index197.js +66 -19
  110. package/dist/esm/index198.js +65 -7
  111. package/dist/esm/index199.js +184 -10
  112. package/dist/esm/index20.js +24 -110
  113. package/dist/esm/index200.js +22 -66
  114. package/dist/esm/index201.js +38 -61
  115. package/dist/esm/index202.js +69 -178
  116. package/dist/esm/index203.js +39 -21
  117. package/dist/esm/index204.js +9 -35
  118. package/dist/esm/index205.js +7 -70
  119. package/dist/esm/index206.js +7 -40
  120. package/dist/esm/index207.js +6 -16
  121. package/dist/esm/index208.js +36 -13
  122. package/dist/esm/index209.js +15 -7
  123. package/dist/esm/index21.js +31 -51
  124. package/dist/esm/index210.js +8 -6
  125. package/dist/esm/index211.js +11 -35
  126. package/dist/esm/index212.js +9 -15
  127. package/dist/esm/index213.js +16 -8
  128. package/dist/esm/index214.js +22 -12
  129. package/dist/esm/index215.js +30 -9
  130. package/dist/esm/index216.js +2 -17
  131. package/dist/esm/index217.js +12 -21
  132. package/dist/esm/index218.js +12 -30
  133. package/dist/esm/index219.js +48 -2
  134. package/dist/esm/index22.js +36 -23
  135. package/dist/esm/index220.js +8 -12
  136. package/dist/esm/index221.js +13 -12
  137. package/dist/esm/index222.js +13 -46
  138. package/dist/esm/index223.js +8 -9
  139. package/dist/esm/index224.js +15 -13
  140. package/dist/esm/index225.js +24 -14
  141. package/dist/esm/index226.js +11 -8
  142. package/dist/esm/index227.js +23 -14
  143. package/dist/esm/index228.js +51 -24
  144. package/dist/esm/index229.js +17 -11
  145. package/dist/esm/index23.js +46 -28
  146. package/dist/esm/index230.js +14 -24
  147. package/dist/esm/index231.js +11 -51
  148. package/dist/esm/index232.js +103 -17
  149. package/dist/esm/index233.js +6 -14
  150. package/dist/esm/index234.js +224 -11
  151. package/dist/esm/index235.js +6 -103
  152. package/dist/esm/index236.js +7 -7
  153. package/dist/esm/index237.js +25 -223
  154. package/dist/esm/index238.js +19 -6
  155. package/dist/esm/index239.js +147 -7
  156. package/dist/esm/index24.js +160 -34
  157. package/dist/esm/index240.js +12 -26
  158. package/dist/esm/index241.js +36 -20
  159. package/dist/esm/index242.js +41 -146
  160. package/dist/esm/index245.js +2 -2
  161. package/dist/esm/index248.js +5 -5
  162. package/dist/esm/index249.js +2 -2
  163. package/dist/esm/index25.js +36 -55
  164. package/dist/esm/index251.js +1 -1
  165. package/dist/esm/index253.js +2 -2
  166. package/dist/esm/index254.js +2 -2
  167. package/dist/esm/index255.js +1 -1
  168. package/dist/esm/index256.js +1 -1
  169. package/dist/esm/index26.js +8 -162
  170. package/dist/esm/index260.js +1 -1
  171. package/dist/esm/index27.js +31 -39
  172. package/dist/esm/index28.js +35 -8
  173. package/dist/esm/index29.js +8 -30
  174. package/dist/esm/index30.js +28 -35
  175. package/dist/esm/index31.js +46 -9
  176. package/dist/esm/index32.js +83 -24
  177. package/dist/esm/index33.js +37 -43
  178. package/dist/esm/index34.js +8 -88
  179. package/dist/esm/index35.js +6 -40
  180. package/dist/esm/index36.js +16 -8
  181. package/dist/esm/index37.js +8 -6
  182. package/dist/esm/index38.js +13 -16
  183. package/dist/esm/index39.js +7 -8
  184. package/dist/esm/index40.js +9 -13
  185. package/dist/esm/index41.js +16 -7
  186. package/dist/esm/index42.js +46 -9
  187. package/dist/esm/index43.js +13 -16
  188. package/dist/esm/index44.js +16 -46
  189. package/dist/esm/index45.js +13 -13
  190. package/dist/esm/index46.js +5 -15
  191. package/dist/esm/index47.js +35 -13
  192. package/dist/esm/index48.js +8 -5
  193. package/dist/esm/index49.js +7 -34
  194. package/dist/esm/index50.js +25 -9
  195. package/dist/esm/index51.js +10 -8
  196. package/dist/esm/index52.js +14 -25
  197. package/dist/esm/index53.js +11 -10
  198. package/dist/esm/index54.js +116 -14
  199. package/dist/esm/index55.js +33 -11
  200. package/dist/esm/index56.js +76 -113
  201. package/dist/esm/index57.js +174 -30
  202. package/dist/esm/index58.js +42 -77
  203. package/dist/esm/index59.js +6 -177
  204. package/dist/esm/index6.js +2 -2
  205. package/dist/esm/index60.js +13 -44
  206. package/dist/esm/index61.js +12 -5
  207. package/dist/esm/index62.js +99 -13
  208. package/dist/esm/index63.js +72 -13
  209. package/dist/esm/index64.js +83 -95
  210. package/dist/esm/index65.js +138 -62
  211. package/dist/esm/index66.js +120 -71
  212. package/dist/esm/index67.js +46 -126
  213. package/dist/esm/index68.js +23 -136
  214. package/dist/esm/index69.js +102 -65
  215. package/dist/esm/index7.js +2 -2
  216. package/dist/esm/index70.js +6 -23
  217. package/dist/esm/index71.js +128 -102
  218. package/dist/esm/index72.js +276 -7
  219. package/dist/esm/index73.js +3 -132
  220. package/dist/esm/index74.js +4 -276
  221. package/dist/esm/index75.js +9 -3
  222. package/dist/esm/index76.js +2 -4
  223. package/dist/esm/index77.js +2 -9
  224. package/dist/esm/index78.js +3 -2
  225. package/dist/esm/index79.js +327 -2
  226. package/dist/esm/index8.js +5 -5
  227. package/dist/esm/index80.js +14 -3
  228. package/dist/esm/index81.js +4 -326
  229. package/dist/esm/index82.js +54 -12
  230. package/dist/esm/index83.js +2 -5
  231. package/dist/esm/index84.js +6 -54
  232. package/dist/esm/index85.js +215 -2
  233. package/dist/esm/index86.js +32 -8
  234. package/dist/esm/index87.js +20 -213
  235. package/dist/esm/index88.js +6 -32
  236. package/dist/esm/index89.js +73 -21
  237. package/dist/esm/index9.js +2 -2
  238. package/dist/esm/index90.js +5 -5
  239. package/dist/esm/index91.js +5 -73
  240. package/dist/esm/index92.js +35 -5
  241. package/dist/esm/index93.js +75 -5
  242. package/dist/esm/index94.js +3 -36
  243. package/dist/esm/index95.js +15 -67
  244. package/dist/esm/index96.js +452 -3
  245. package/dist/esm/index97.js +22 -15
  246. package/dist/esm/index98.js +15 -440
  247. package/dist/esm/index99.js +24 -21
  248. package/package.json +3 -3
@@ -1,16 +1,102 @@
1
- import { hashMessage as h } from "./index183.js";
2
- import { verifyHash as i } from "./index231.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 { BlockNotFoundError as D } from "./index84.js";
2
+ import { WaitForTransactionReceiptTimeoutError as M, TransactionNotFoundError as O, TransactionReceiptNotFoundError as W } from "./index93.js";
3
+ import { getAction as l } from "./index206.js";
4
+ import { observe as q } from "./index208.js";
5
+ import { withResolvers as z } from "./index210.js";
6
+ import { withRetry as B } from "./index175.js";
7
+ import { stringify as G } from "./index103.js";
8
+ import { getBlock as H } from "./index36.js";
9
+ import { getTransaction as J } from "./index50.js";
10
+ import { getTransactionReceipt as g } from "./index53.js";
11
+ import { watchBlockNumber as K } from "./index63.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;
13
99
  }
14
100
  export {
15
- m as verifyMessage
101
+ re as waitForTransactionReceipt
16
102
  };
@@ -1,16 +1,75 @@
1
- import { hashTypedData as m } from "./index149.js";
2
- import { verifyHash as d } from "./index231.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 { hexToBigInt as w } from "./index142.js";
2
+ import { getAction as g } from "./index206.js";
3
+ import { observe as k } from "./index208.js";
4
+ import { poll as h } from "./index209.js";
5
+ import { stringify as y } from "./index103.js";
6
+ import { getBlockNumber as v } from "./index37.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
+ })();
13
72
  }
14
73
  export {
15
- D as verifyTypedData
74
+ H as watchBlockNumber
16
75
  };
@@ -1,102 +1,90 @@
1
- import { BlockNotFoundError as D } from "./index86.js";
2
- import { WaitForTransactionReceiptTimeoutError as M, TransactionNotFoundError as O, TransactionReceiptNotFoundError as W } from "./index95.js";
3
- import { getAction as l } from "./index209.js";
4
- import { observe as q } from "./index211.js";
5
- import { withResolvers as z } from "./index213.js";
6
- import { withRetry as B } from "./index176.js";
7
- import { stringify as G } from "./index105.js";
8
- import { getBlock as H } from "./index38.js";
9
- import { getTransaction as J } from "./index52.js";
10
- import { getTransactionReceipt as g } from "./index55.js";
11
- import { watchBlockNumber as K } from "./index65.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;
1
+ import { getAction as p } from "./index206.js";
2
+ import { observe as h } from "./index208.js";
3
+ import { poll as v } from "./index209.js";
4
+ import { stringify as S } from "./index103.js";
5
+ import { getBlock as i } from "./index36.js";
6
+ function P(r, { blockTag: l = r.experimental_blockTag ?? "latest", emitMissed: y = !1, emitOnBegin: m = !1, onBlock: k, onError: f, includeTransactions: B, poll: d, pollingInterval: w = r.pollingInterval }) {
7
+ const g = typeof d < "u" ? d : !(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")), a = B ?? !1;
8
+ let e;
9
+ return g ? (() => {
10
+ const o = S([
11
+ "watchBlocks",
12
+ r.uid,
13
+ l,
14
+ y,
15
+ m,
16
+ a,
17
+ w
18
+ ]);
19
+ return h(o, { onBlock: k, onError: f }, (s) => v(async () => {
20
+ try {
21
+ const t = await p(r, i, "getBlock")({
22
+ blockTag: l,
23
+ includeTransactions: a
24
+ });
25
+ if (t.number !== null && e?.number != null) {
26
+ if (t.number === e.number)
27
+ return;
28
+ if (t.number - e.number > 1 && y)
29
+ for (let u = e?.number + 1n; u < t.number; u++) {
30
+ const b = await p(r, i, "getBlock")({
31
+ blockNumber: u,
32
+ includeTransactions: a
33
+ });
34
+ s.onBlock(b, e), e = b;
50
35
  }
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))
36
+ }
37
+ // If no previous block exists, emit.
38
+ (e?.number == null || // If the block tag is "pending" with no block number, emit.
39
+ l === "pending" && t?.number == null || // If the next block number is greater than the previous block number, emit.
40
+ // We don't want to emit blocks in the past.
41
+ t.number !== null && t.number > e.number) && (s.onBlock(t, e), e = t);
42
+ } catch (t) {
43
+ s.onError?.(t);
44
+ }
45
+ }, {
46
+ emitOnBegin: m,
47
+ interval: w
48
+ }));
49
+ })() : (() => {
50
+ let o = !0, s = !0, t = () => o = !1;
51
+ return (async () => {
52
+ try {
53
+ m && p(r, i, "getBlock")({
54
+ blockTag: l,
55
+ includeTransactions: a
56
+ }).then((n) => {
57
+ o && s && (k(n, void 0), s = !1);
58
+ }).catch(f);
59
+ const u = (() => {
60
+ if (r.transport.type === "fallback") {
61
+ const n = r.transport.transports.find((c) => c.config.type === "webSocket" || c.config.type === "ipc");
62
+ return n ? n.value : r.transport;
63
+ }
64
+ return r.transport;
65
+ })(), { unsubscribe: b } = await u.subscribe({
66
+ params: ["newHeads"],
67
+ async onData(n) {
68
+ if (!o)
57
69
  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));
70
+ const c = await p(r, i, "getBlock")({
71
+ blockNumber: n.result?.number,
72
+ includeTransactions: a
73
+ }).catch(() => {
74
+ });
75
+ o && (k(c, e), s = !1, e = c);
76
+ },
77
+ onError(n) {
78
+ f?.(n);
95
79
  }
80
+ });
81
+ t = b, o || t();
82
+ } catch (u) {
83
+ f?.(u);
96
84
  }
97
- });
98
- }), j;
85
+ })(), () => t();
86
+ })();
99
87
  }
100
88
  export {
101
- re as waitForTransactionReceipt
89
+ P as watchBlocks
102
90
  };
@@ -1,75 +1,151 @@
1
- import { hexToBigInt as w } from "./index144.js";
2
- import { getAction as g } from "./index209.js";
3
- import { observe as k } from "./index211.js";
4
- import { poll as h } from "./index212.js";
5
- import { stringify as y } from "./index105.js";
6
- import { getBlockNumber as v } from "./index39.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,
1
+ import { DecodeLogDataMismatch as M, DecodeLogTopicsMismatch as P } from "./index79.js";
2
+ import { InvalidInputRpcError as T } from "./index96.js";
3
+ import { decodeEventLog as z } from "./index126.js";
4
+ import { encodeEventTopics as A } from "./index136.js";
5
+ import { formatLog as B } from "./index117.js";
6
+ import { getAction as g } from "./index206.js";
7
+ import { observe as F } from "./index208.js";
8
+ import { poll as O } from "./index209.js";
9
+ import { stringify as D } from "./index103.js";
10
+ import { createContractEventFilter as R } from "./index27.js";
11
+ import { getBlockNumber as U } from "./index37.js";
12
+ import { getContractEvents as j } from "./index41.js";
13
+ import { getFilterChanges as q } from "./index44.js";
14
+ import { uninstallFilter as x } from "./index59.js";
15
+ function st(t, S) {
16
+ const { abi: b, address: p, args: l, batch: E = !0, eventName: c, fromBlock: m, onError: h, onLogs: N, poll: L, pollingInterval: w = t.pollingInterval, strict: v } = S;
17
+ return (typeof L < "u" ? L : typeof m == "bigint" ? !0 : !(t.transport.type === "webSocket" || t.transport.type === "ipc" || t.transport.type === "fallback" && (t.transport.transports[0].config.type === "webSocket" || t.transport.transports[0].config.type === "ipc"))) ? (() => {
18
+ const u = v ?? !1, C = D([
19
+ "watchContractEvent",
20
+ p,
21
+ l,
22
+ E,
23
+ t.uid,
14
24
  c,
15
- a,
25
+ w,
26
+ u,
16
27
  m
17
28
  ]);
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)
29
+ return F(C, { onLogs: N, onError: h }, (a) => {
30
+ let n;
31
+ m !== void 0 && (n = m - 1n);
32
+ let e, s = !1;
33
+ const k = O(async () => {
34
+ if (!s) {
35
+ try {
36
+ e = await g(t, R, "createContractEventFilter")({
37
+ abi: b,
38
+ address: p,
39
+ args: l,
40
+ eventName: c,
41
+ strict: u,
42
+ fromBlock: m
43
+ });
44
+ } catch {
45
+ }
46
+ s = !0;
47
+ return;
48
+ }
49
+ try {
50
+ let o;
51
+ if (e)
52
+ o = await g(t, q, "getFilterChanges")({ filter: e });
53
+ else {
54
+ const r = await g(t, U, "getBlockNumber")({});
55
+ n && n < r ? o = await g(t, j, "getContractEvents")({
56
+ abi: b,
57
+ address: p,
58
+ args: l,
59
+ eventName: c,
60
+ fromBlock: n + 1n,
61
+ toBlock: r,
62
+ strict: u
63
+ }) : o = [], n = r;
64
+ }
65
+ if (o.length === 0)
23
66
  return;
24
- if (o - t > 1 && a)
25
- for (let e = t + 1n; e < o; e++)
26
- s.onBlockNumber(e, t), t = e;
67
+ if (E)
68
+ a.onLogs(o);
69
+ else
70
+ for (const r of o)
71
+ a.onLogs([r]);
72
+ } catch (o) {
73
+ e && o instanceof T && (s = !1), a.onError?.(o);
27
74
  }
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
- }));
75
+ }, {
76
+ emitOnBegin: !0,
77
+ interval: w
78
+ });
79
+ return async () => {
80
+ e && await g(t, x, "uninstallFilter")({ filter: e }), k();
81
+ };
82
+ });
36
83
  })() : (() => {
37
- const p = y([
38
- "watchBlockNumber",
39
- r.uid,
84
+ const u = v ?? !1, C = D([
85
+ "watchContractEvent",
86
+ p,
87
+ l,
88
+ E,
89
+ t.uid,
40
90
  c,
41
- a
91
+ w,
92
+ u
42
93
  ]);
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);
94
+ let a = !0, n = () => a = !1;
95
+ return F(C, { onLogs: N, onError: h }, (e) => ((async () => {
96
+ try {
97
+ const s = (() => {
98
+ if (t.transport.type === "fallback") {
99
+ const r = t.transport.transports.find((i) => i.config.type === "webSocket" || i.config.type === "ipc");
100
+ return r ? r.value : t.transport;
101
+ }
102
+ return t.transport;
103
+ })(), k = c ? A({
104
+ abi: b,
105
+ eventName: c,
106
+ args: l
107
+ }) : [], { unsubscribe: o } = await s.subscribe({
108
+ params: ["logs", { address: p, topics: k }],
109
+ onData(r) {
110
+ if (!a)
111
+ return;
112
+ const i = r.result;
113
+ try {
114
+ const { eventName: f, args: d } = z({
115
+ abi: b,
116
+ data: i.data,
117
+ topics: i.topics,
118
+ strict: v
119
+ }), y = B(i, {
120
+ args: d,
121
+ eventName: f
122
+ });
123
+ e.onLogs([y]);
124
+ } catch (f) {
125
+ let d, y;
126
+ if (f instanceof M || f instanceof P) {
127
+ if (v)
128
+ return;
129
+ d = f.abiItem.name, y = f.abiItem.inputs?.some((I) => !("name" in I && I.name));
130
+ }
131
+ const _ = B(i, {
132
+ args: y ? [] : {},
133
+ eventName: d
134
+ });
135
+ e.onLogs([_]);
63
136
  }
64
- });
65
- e = B, o || e();
66
- } catch (f) {
67
- b?.(f);
68
- }
69
- })(), () => e();
70
- });
137
+ },
138
+ onError(r) {
139
+ e.onError?.(r);
140
+ }
141
+ });
142
+ n = o, a || n();
143
+ } catch (s) {
144
+ h?.(s);
145
+ }
146
+ })(), () => n()));
71
147
  })();
72
148
  }
73
149
  export {
74
- H as watchBlockNumber
150
+ st as watchContractEvent
75
151
  };