@coinbase/cdp-hooks 0.0.80 → 0.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/esm/index100.js +65 -102
  2. package/dist/esm/index101.js +23 -6
  3. package/dist/esm/index102.js +102 -128
  4. package/dist/esm/index103.js +7 -276
  5. package/dist/esm/index104.js +132 -3
  6. package/dist/esm/index105.js +276 -4
  7. package/dist/esm/index106.js +3 -9
  8. package/dist/esm/index107.js +4 -2
  9. package/dist/esm/index108.js +9 -2
  10. package/dist/esm/index109.js +2 -3
  11. package/dist/esm/index110.js +2 -327
  12. package/dist/esm/index111.js +3 -14
  13. package/dist/esm/index112.js +326 -4
  14. package/dist/esm/index113.js +12 -54
  15. package/dist/esm/index114.js +5 -2
  16. package/dist/esm/index115.js +54 -6
  17. package/dist/esm/index116.js +2 -215
  18. package/dist/esm/index117.js +8 -32
  19. package/dist/esm/index118.js +213 -20
  20. package/dist/esm/index119.js +32 -6
  21. package/dist/esm/index120.js +21 -73
  22. package/dist/esm/index121.js +5 -5
  23. package/dist/esm/index122.js +73 -5
  24. package/dist/esm/index123.js +5 -35
  25. package/dist/esm/index124.js +5 -75
  26. package/dist/esm/index125.js +36 -3
  27. package/dist/esm/index126.js +67 -15
  28. package/dist/esm/index127.js +3 -452
  29. package/dist/esm/index128.js +15 -22
  30. package/dist/esm/index129.js +440 -15
  31. package/dist/esm/index130.js +21 -24
  32. package/dist/esm/index131.js +24 -32
  33. package/dist/esm/index132.js +22 -182
  34. package/dist/esm/index133.js +32 -6
  35. package/dist/esm/index134.js +194 -2
  36. package/dist/esm/index135.js +6 -10
  37. package/dist/esm/index136.js +2 -19
  38. package/dist/esm/index137.js +10 -25
  39. package/dist/esm/index138.js +18 -8
  40. package/dist/esm/index139.js +24 -52
  41. package/dist/esm/index140.js +8 -45
  42. package/dist/esm/index141.js +55 -8
  43. package/dist/esm/index142.js +45 -7
  44. package/dist/esm/index143.js +8 -16
  45. package/dist/esm/index144.js +7 -18
  46. package/dist/esm/index145.js +16 -24
  47. package/dist/esm/index146.js +18 -16
  48. package/dist/esm/index147.js +22 -52
  49. package/dist/esm/index148.js +16 -11
  50. package/dist/esm/index149.js +53 -159
  51. package/dist/esm/index150.js +11 -21
  52. package/dist/esm/index151.js +157 -124
  53. package/dist/esm/index152.js +20 -37
  54. package/dist/esm/index153.js +127 -6
  55. package/dist/esm/index154.js +35 -24
  56. package/dist/esm/index155.js +6 -191
  57. package/dist/esm/index156.js +28 -4
  58. package/dist/esm/index157.js +184 -57
  59. package/dist/esm/index158.js +4 -3
  60. package/dist/esm/index159.js +60 -16
  61. package/dist/esm/index160.js +3 -17
  62. package/dist/esm/index161.js +19 -22
  63. package/dist/esm/index162.js +16 -11
  64. package/dist/esm/index163.js +22 -33
  65. package/dist/esm/index164.js +12 -3
  66. package/dist/esm/index165.js +33 -17
  67. package/dist/esm/index166.js +3 -28
  68. package/dist/esm/index167.js +18 -35
  69. package/dist/esm/index168.js +27 -7
  70. package/dist/esm/index169.js +34 -24
  71. package/dist/esm/index170.js +7 -28
  72. package/dist/esm/index171.js +24 -63
  73. package/dist/esm/index172.js +28 -9
  74. package/dist/esm/index173.js +62 -31
  75. package/dist/esm/index174.js +9 -27
  76. package/dist/esm/index175.js +32 -23
  77. package/dist/esm/index176.js +27 -3
  78. package/dist/esm/index177.js +24 -14
  79. package/dist/esm/index178.js +3 -103
  80. package/dist/esm/index179.js +14 -64
  81. package/dist/esm/index180.js +103 -5
  82. package/dist/esm/index181.js +64 -6
  83. package/dist/esm/index182.js +5 -27
  84. package/dist/esm/index183.js +6 -38
  85. package/dist/esm/index184.js +27 -13
  86. package/dist/esm/index185.js +37 -41
  87. package/dist/esm/index186.js +13 -5
  88. package/dist/esm/index187.js +42 -11
  89. package/dist/esm/index188.js +5 -19
  90. package/dist/esm/index189.js +11 -78
  91. package/dist/esm/index190.js +20 -2
  92. package/dist/esm/index191.js +74 -33
  93. package/dist/esm/index192.js +2 -111
  94. package/dist/esm/index193.js +27 -38
  95. package/dist/esm/index194.js +108 -30
  96. package/dist/esm/index195.js +48 -8
  97. package/dist/esm/index196.js +32 -6
  98. package/dist/esm/index197.js +8 -6
  99. package/dist/esm/index198.js +6 -11
  100. package/dist/esm/index199.js +6 -10
  101. package/dist/esm/index200.js +11 -13
  102. package/dist/esm/index201.js +9 -31
  103. package/dist/esm/index202.js +14 -5
  104. package/dist/esm/index203.js +32 -8
  105. package/dist/esm/index204.js +5 -20
  106. package/dist/esm/index205.js +19 -31
  107. package/dist/esm/index206.js +31 -20
  108. package/dist/esm/index207.js +20 -3
  109. package/dist/esm/index208.js +3 -17
  110. package/dist/esm/index209.js +17 -10
  111. package/dist/esm/index210.js +10 -21
  112. package/dist/esm/index211.js +21 -22
  113. package/dist/esm/index212.js +22 -5
  114. package/dist/esm/index213.js +5 -5
  115. package/dist/esm/index214.js +5 -8
  116. package/dist/esm/index215.js +8 -104
  117. package/dist/esm/index216.js +105 -3
  118. package/dist/esm/index217.js +3 -19
  119. package/dist/esm/index218.js +17 -170
  120. package/dist/esm/index219.js +170 -16
  121. package/dist/esm/index220.js +18 -10
  122. package/dist/esm/index221.js +38 -40
  123. package/dist/esm/index222.js +2 -2
  124. package/dist/esm/index223.js +69 -4
  125. package/dist/esm/index224.js +34 -10
  126. package/dist/esm/index225.js +13 -18
  127. package/dist/esm/index226.js +13 -8
  128. package/dist/esm/index227.js +36 -12
  129. package/dist/esm/index228.js +41 -66
  130. package/dist/esm/index229.js +39 -64
  131. package/dist/esm/index230.js +2 -186
  132. package/dist/esm/index231.js +4 -22
  133. package/dist/esm/index232.js +9 -41
  134. package/dist/esm/index233.js +17 -74
  135. package/dist/esm/index234.js +7 -40
  136. package/dist/esm/index235.js +10 -15
  137. package/dist/esm/index236.js +66 -13
  138. package/dist/esm/index237.js +65 -7
  139. package/dist/esm/index238.js +185 -6
  140. package/dist/esm/index239.js +21 -35
  141. package/dist/esm/index240.js +42 -15
  142. package/dist/esm/index241.js +76 -8
  143. package/dist/esm/index242.js +40 -12
  144. package/dist/esm/index243.js +16 -9
  145. package/dist/esm/index244.js +12 -15
  146. package/dist/esm/index245.js +7 -22
  147. package/dist/esm/index246.js +6 -30
  148. package/dist/esm/index247.js +37 -2
  149. package/dist/esm/index248.js +15 -13
  150. package/dist/esm/index249.js +8 -12
  151. package/dist/esm/index250.js +12 -47
  152. package/dist/esm/index251.js +9 -9
  153. package/dist/esm/index252.js +16 -13
  154. package/dist/esm/index253.js +21 -13
  155. package/dist/esm/index254.js +28 -6
  156. package/dist/esm/index255.js +2 -16
  157. package/dist/esm/index256.js +12 -23
  158. package/dist/esm/index257.js +12 -11
  159. package/dist/esm/index258.js +45 -22
  160. package/dist/esm/index259.js +9 -51
  161. package/dist/esm/index260.js +13 -17
  162. package/dist/esm/index261.js +13 -13
  163. package/dist/esm/index262.js +8 -11
  164. package/dist/esm/index263.js +15 -103
  165. package/dist/esm/index264.js +24 -5
  166. package/dist/esm/index265.js +10 -222
  167. package/dist/esm/index266.js +24 -6
  168. package/dist/esm/index267.js +52 -7
  169. package/dist/esm/index268.js +17 -26
  170. package/dist/esm/index269.js +13 -18
  171. package/dist/esm/index270.js +11 -145
  172. package/dist/esm/index271.js +103 -12
  173. package/dist/esm/index272.js +6 -36
  174. package/dist/esm/index273.js +223 -41
  175. package/dist/esm/index274.js +6 -38
  176. package/dist/esm/index275.js +7 -2
  177. package/dist/esm/index276.js +25 -68
  178. package/dist/esm/index277.js +19 -34
  179. package/dist/esm/index278.js +143 -12
  180. package/dist/esm/index282.js +2 -2
  181. package/dist/esm/index283.js +3 -3
  182. package/dist/esm/index285.js +5 -5
  183. package/dist/esm/index286.js +5 -5
  184. package/dist/esm/index287.js +4 -4
  185. package/dist/esm/index288.js +1 -1
  186. package/dist/esm/index290.js +2 -2
  187. package/dist/esm/index291.js +2 -2
  188. package/dist/esm/index292.js +1 -1
  189. package/dist/esm/index293.js +1 -1
  190. package/dist/esm/index294.js +3 -65
  191. package/dist/esm/index295.js +65 -4
  192. package/dist/esm/index296.js +4 -40
  193. package/dist/esm/index297.js +40 -7
  194. package/dist/esm/index298.js +7 -62
  195. package/dist/esm/index299.js +57 -72
  196. package/dist/esm/index3.js +1 -1
  197. package/dist/esm/index300.js +78 -4
  198. package/dist/esm/index301.js +4 -195
  199. package/dist/esm/index302.js +194 -3
  200. package/dist/esm/index303.js +2 -2
  201. package/dist/esm/index35.js +2 -2
  202. package/dist/esm/index36.js +2 -2
  203. package/dist/esm/index37.js +5 -5
  204. package/dist/esm/index38.js +2 -2
  205. package/dist/esm/index39.js +2 -2
  206. package/dist/esm/index41.js +10 -33
  207. package/dist/esm/index42.js +8 -3
  208. package/dist/esm/index43.js +31 -8
  209. package/dist/esm/index44.js +3 -68
  210. package/dist/esm/index45.js +8 -8
  211. package/dist/esm/index46.js +67 -27
  212. package/dist/esm/index47.js +9 -70
  213. package/dist/esm/index48.js +26 -17
  214. package/dist/esm/index49.js +68 -108
  215. package/dist/esm/index50.js +19 -60
  216. package/dist/esm/index51.js +110 -24
  217. package/dist/esm/index52.js +51 -31
  218. package/dist/esm/index53.js +23 -36
  219. package/dist/esm/index54.js +28 -46
  220. package/dist/esm/index55.js +34 -160
  221. package/dist/esm/index56.js +55 -36
  222. package/dist/esm/index57.js +162 -8
  223. package/dist/esm/index58.js +39 -31
  224. package/dist/esm/index59.js +8 -35
  225. package/dist/esm/index60.js +30 -8
  226. package/dist/esm/index61.js +35 -28
  227. package/dist/esm/index62.js +9 -46
  228. package/dist/esm/index63.js +24 -83
  229. package/dist/esm/index64.js +43 -37
  230. package/dist/esm/index65.js +88 -8
  231. package/dist/esm/index66.js +40 -6
  232. package/dist/esm/index67.js +8 -16
  233. package/dist/esm/index68.js +6 -8
  234. package/dist/esm/index69.js +16 -13
  235. package/dist/esm/index70.js +8 -7
  236. package/dist/esm/index71.js +13 -9
  237. package/dist/esm/index72.js +7 -16
  238. package/dist/esm/index73.js +9 -46
  239. package/dist/esm/index74.js +16 -13
  240. package/dist/esm/index75.js +46 -16
  241. package/dist/esm/index76.js +13 -13
  242. package/dist/esm/index77.js +15 -5
  243. package/dist/esm/index78.js +13 -35
  244. package/dist/esm/index79.js +5 -8
  245. package/dist/esm/index80.js +34 -7
  246. package/dist/esm/index81.js +9 -25
  247. package/dist/esm/index82.js +8 -10
  248. package/dist/esm/index83.js +25 -14
  249. package/dist/esm/index84.js +10 -11
  250. package/dist/esm/index85.js +14 -116
  251. package/dist/esm/index86.js +11 -33
  252. package/dist/esm/index87.js +113 -76
  253. package/dist/esm/index88.js +30 -174
  254. package/dist/esm/index89.js +77 -42
  255. package/dist/esm/index90.js +177 -6
  256. package/dist/esm/index91.js +44 -13
  257. package/dist/esm/index92.js +5 -12
  258. package/dist/esm/index93.js +13 -99
  259. package/dist/esm/index94.js +13 -72
  260. package/dist/esm/index95.js +95 -83
  261. package/dist/esm/index96.js +62 -138
  262. package/dist/esm/index97.js +71 -120
  263. package/dist/esm/index98.js +126 -46
  264. package/dist/esm/index99.js +136 -23
  265. package/package.json +3 -3
@@ -1,139 +1,90 @@
1
- import { encodeEventTopics as S } from "./index167.js";
2
- import { observe as B } from "./index239.js";
3
- import { poll as C } from "./index240.js";
4
- import { stringify as T } from "./index134.js";
5
- import { DecodeLogDataMismatch as z, DecodeLogTopicsMismatch as A } from "./index110.js";
6
- import { InvalidInputRpcError as O } from "./index127.js";
7
- import { decodeEventLog as P } from "./index157.js";
8
- import { formatLog as I } from "./index148.js";
9
- import { getAction as u } from "./index237.js";
10
- import { createEventFilter as R } from "./index59.js";
11
- import { getBlockNumber as U } from "./index68.js";
12
- import { getFilterChanges as j } from "./index75.js";
13
- import { getLogs as q } from "./index78.js";
14
- import { uninstallFilter as x } from "./index90.js";
15
- function nt(r, { address: m, args: l, batch: h = !0, event: s, events: d, fromBlock: c, onError: y, onLogs: v, poll: E, pollingInterval: k = r.pollingInterval, strict: N }) {
16
- const D = typeof E < "u" ? E : typeof c == "bigint" ? !0 : !(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")), F = N ?? !1;
17
- return D ? (() => {
18
- const p = T([
19
- "watchEvent",
20
- m,
21
- l,
22
- h,
1
+ import { getAction as p } from "./index245.js";
2
+ import { observe as h } from "./index247.js";
3
+ import { poll as v } from "./index248.js";
4
+ import { stringify as S } from "./index136.js";
5
+ import { getBlock as i } from "./index69.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",
23
12
  r.uid,
24
- s,
25
- k,
26
- c
13
+ l,
14
+ y,
15
+ m,
16
+ a,
17
+ w
27
18
  ]);
28
- return B(p, { onLogs: v, onError: y }, (a) => {
29
- let n;
30
- c !== void 0 && (n = c - 1n);
31
- let o, i = !1;
32
- const w = C(async () => {
33
- if (!i) {
34
- try {
35
- o = await u(r, R, "createEventFilter")({
36
- address: m,
37
- args: l,
38
- event: s,
39
- events: d,
40
- strict: F,
41
- fromBlock: c
42
- });
43
- } catch {
44
- }
45
- i = !0;
46
- return;
47
- }
48
- try {
49
- let t;
50
- if (o)
51
- t = await u(r, j, "getFilterChanges")({ filter: o });
52
- else {
53
- const e = await u(r, U, "getBlockNumber")({});
54
- n && n !== e ? t = await u(r, q, "getLogs")({
55
- address: m,
56
- args: l,
57
- event: s,
58
- events: d,
59
- fromBlock: n + 1n,
60
- toBlock: e
61
- }) : t = [], n = e;
62
- }
63
- if (t.length === 0)
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)
64
27
  return;
65
- if (h)
66
- a.onLogs(t);
67
- else
68
- for (const e of t)
69
- a.onLogs([e]);
70
- } catch (t) {
71
- o && t instanceof O && (i = !1), a.onError?.(t);
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;
35
+ }
72
36
  }
73
- }, {
74
- emitOnBegin: !0,
75
- interval: k
76
- });
77
- return async () => {
78
- o && await u(r, x, "uninstallFilter")({ filter: o }), w();
79
- };
80
- });
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
+ }));
81
49
  })() : (() => {
82
- let p = !0, a = () => p = !1;
50
+ let o = !0, s = !0, t = () => o = !1;
83
51
  return (async () => {
84
52
  try {
85
- const n = (() => {
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 = (() => {
86
60
  if (r.transport.type === "fallback") {
87
- const t = r.transport.transports.find((e) => e.config.type === "webSocket" || e.config.type === "ipc");
88
- return t ? t.value : r.transport;
61
+ const n = r.transport.transports.find((c) => c.config.type === "webSocket" || c.config.type === "ipc");
62
+ return n ? n.value : r.transport;
89
63
  }
90
64
  return r.transport;
91
- })(), o = d ?? (s ? [s] : void 0);
92
- let i = [];
93
- o && (i = [o.flatMap((e) => S({
94
- abi: [e],
95
- eventName: e.name,
96
- args: l
97
- }))], s && (i = i[0]));
98
- const { unsubscribe: w } = await n.subscribe({
99
- params: ["logs", { address: m, topics: i }],
100
- onData(t) {
101
- if (!p)
65
+ })(), { unsubscribe: b } = await u.subscribe({
66
+ params: ["newHeads"],
67
+ async onData(n) {
68
+ if (!o)
102
69
  return;
103
- const e = t.result;
104
- try {
105
- const { eventName: f, args: b } = P({
106
- abi: o ?? [],
107
- data: e.data,
108
- topics: e.topics,
109
- strict: F
110
- }), g = I(e, { args: b, eventName: f });
111
- v([g]);
112
- } catch (f) {
113
- let b, g;
114
- if (f instanceof z || f instanceof A) {
115
- if (N)
116
- return;
117
- b = f.abiItem.name, g = f.abiItem.inputs?.some((L) => !("name" in L && L.name));
118
- }
119
- const M = I(e, {
120
- args: g ? [] : {},
121
- eventName: b
122
- });
123
- v([M]);
124
- }
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);
125
76
  },
126
- onError(t) {
127
- y?.(t);
77
+ onError(n) {
78
+ f?.(n);
128
79
  }
129
80
  });
130
- a = w, p || a();
131
- } catch (n) {
132
- y?.(n);
81
+ t = b, o || t();
82
+ } catch (u) {
83
+ f?.(u);
133
84
  }
134
- })(), () => a();
85
+ })(), () => t();
135
86
  })();
136
87
  }
137
88
  export {
138
- nt as watchEvent
89
+ P as watchBlocks
139
90
  };
@@ -1,71 +1,151 @@
1
- import { getAction as c } from "./index237.js";
2
- import { observe as p } from "./index239.js";
3
- import { poll as b } from "./index240.js";
4
- import { stringify as m } from "./index134.js";
5
- import { createPendingTransactionFilter as d } from "./index60.js";
6
- import { getFilterChanges as h } from "./index75.js";
7
- import { uninstallFilter as P } from "./index90.js";
8
- function D(r, { batch: u = !0, onError: i, onTransactions: l, poll: f, pollingInterval: g = r.pollingInterval }) {
9
- return (typeof f < "u" ? f : r.transport.type !== "webSocket" && r.transport.type !== "ipc") ? (() => {
10
- const a = m([
11
- "watchPendingTransactions",
12
- r.uid,
1
+ import { DecodeLogDataMismatch as M, DecodeLogTopicsMismatch as P } from "./index112.js";
2
+ import { InvalidInputRpcError as T } from "./index129.js";
3
+ import { decodeEventLog as z } from "./index159.js";
4
+ import { encodeEventTopics as A } from "./index169.js";
5
+ import { formatLog as B } from "./index150.js";
6
+ import { getAction as g } from "./index245.js";
7
+ import { observe as F } from "./index247.js";
8
+ import { poll as O } from "./index248.js";
9
+ import { stringify as D } from "./index136.js";
10
+ import { createContractEventFilter as R } from "./index60.js";
11
+ import { getBlockNumber as U } from "./index70.js";
12
+ import { getContractEvents as j } from "./index74.js";
13
+ import { getFilterChanges as q } from "./index77.js";
14
+ import { uninstallFilter as x } from "./index92.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,
24
+ c,
25
+ w,
13
26
  u,
14
- g
27
+ m
15
28
  ]);
16
- return p(a, { onTransactions: l, onError: i }, (t) => {
29
+ return F(C, { onLogs: N, onError: h }, (a) => {
17
30
  let n;
18
- const s = b(async () => {
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
+ }
19
49
  try {
20
- if (!n)
21
- try {
22
- n = await c(r, d, "createPendingTransactionFilter")({});
23
- return;
24
- } catch (o) {
25
- throw s(), o;
26
- }
27
- const e = await c(r, h, "getFilterChanges")({ filter: n });
28
- if (e.length === 0)
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)
29
66
  return;
30
- if (u)
31
- t.onTransactions(e);
67
+ if (E)
68
+ a.onLogs(o);
32
69
  else
33
- for (const o of e)
34
- t.onTransactions([o]);
35
- } catch (e) {
36
- t.onError?.(e);
70
+ for (const r of o)
71
+ a.onLogs([r]);
72
+ } catch (o) {
73
+ e && o instanceof T && (s = !1), a.onError?.(o);
37
74
  }
38
75
  }, {
39
76
  emitOnBegin: !0,
40
- interval: g
77
+ interval: w
41
78
  });
42
79
  return async () => {
43
- n && await c(r, P, "uninstallFilter")({ filter: n }), s();
80
+ e && await g(t, x, "uninstallFilter")({ filter: e }), k();
44
81
  };
45
82
  });
46
83
  })() : (() => {
47
- let a = !0, t = () => a = !1;
48
- return (async () => {
84
+ const u = v ?? !1, C = D([
85
+ "watchContractEvent",
86
+ p,
87
+ l,
88
+ E,
89
+ t.uid,
90
+ c,
91
+ w,
92
+ u
93
+ ]);
94
+ let a = !0, n = () => a = !1;
95
+ return F(C, { onLogs: N, onError: h }, (e) => ((async () => {
49
96
  try {
50
- const { unsubscribe: n } = await r.transport.subscribe({
51
- params: ["newPendingTransactions"],
52
- onData(s) {
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) {
53
110
  if (!a)
54
111
  return;
55
- const e = s.result;
56
- l([e]);
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([_]);
136
+ }
57
137
  },
58
- onError(s) {
59
- i?.(s);
138
+ onError(r) {
139
+ e.onError?.(r);
60
140
  }
61
141
  });
62
- t = n, a || t();
63
- } catch (n) {
64
- i?.(n);
142
+ n = o, a || n();
143
+ } catch (s) {
144
+ h?.(s);
65
145
  }
66
- })(), () => t();
146
+ })(), () => n()));
67
147
  })();
68
148
  }
69
149
  export {
70
- D as watchPendingTransactions
150
+ st as watchContractEvent
71
151
  };
@@ -1,26 +1,139 @@
1
- import { hashMessage as g } from "./index213.js";
2
- import { parseSiweMessage as l } from "./index260.js";
3
- import { validateSiweMessage as p } from "./index261.js";
4
- import { verifyHash as h } from "./index259.js";
5
- async function S(a, r) {
6
- const { address: i, domain: t, message: s, nonce: o, scheme: n, signature: d, time: m = /* @__PURE__ */ new Date(), ...f } = r, e = l(s);
7
- if (!e.address || !p({
8
- address: i,
9
- domain: t,
10
- message: e,
11
- nonce: o,
12
- scheme: n,
13
- time: m
14
- }))
15
- return !1;
16
- const c = g(s);
17
- return h(a, {
18
- address: e.address,
19
- hash: c,
20
- signature: d,
21
- ...f
22
- });
1
+ import { encodeEventTopics as S } from "./index169.js";
2
+ import { observe as B } from "./index247.js";
3
+ import { poll as C } from "./index248.js";
4
+ import { stringify as T } from "./index136.js";
5
+ import { DecodeLogDataMismatch as z, DecodeLogTopicsMismatch as A } from "./index112.js";
6
+ import { InvalidInputRpcError as O } from "./index129.js";
7
+ import { decodeEventLog as P } from "./index159.js";
8
+ import { formatLog as I } from "./index150.js";
9
+ import { getAction as u } from "./index245.js";
10
+ import { createEventFilter as R } from "./index61.js";
11
+ import { getBlockNumber as U } from "./index70.js";
12
+ import { getFilterChanges as j } from "./index77.js";
13
+ import { getLogs as q } from "./index80.js";
14
+ import { uninstallFilter as x } from "./index92.js";
15
+ function nt(r, { address: m, args: l, batch: h = !0, event: s, events: d, fromBlock: c, onError: y, onLogs: v, poll: E, pollingInterval: k = r.pollingInterval, strict: N }) {
16
+ const D = typeof E < "u" ? E : typeof c == "bigint" ? !0 : !(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")), F = N ?? !1;
17
+ return D ? (() => {
18
+ const p = T([
19
+ "watchEvent",
20
+ m,
21
+ l,
22
+ h,
23
+ r.uid,
24
+ s,
25
+ k,
26
+ c
27
+ ]);
28
+ return B(p, { onLogs: v, onError: y }, (a) => {
29
+ let n;
30
+ c !== void 0 && (n = c - 1n);
31
+ let o, i = !1;
32
+ const w = C(async () => {
33
+ if (!i) {
34
+ try {
35
+ o = await u(r, R, "createEventFilter")({
36
+ address: m,
37
+ args: l,
38
+ event: s,
39
+ events: d,
40
+ strict: F,
41
+ fromBlock: c
42
+ });
43
+ } catch {
44
+ }
45
+ i = !0;
46
+ return;
47
+ }
48
+ try {
49
+ let t;
50
+ if (o)
51
+ t = await u(r, j, "getFilterChanges")({ filter: o });
52
+ else {
53
+ const e = await u(r, U, "getBlockNumber")({});
54
+ n && n !== e ? t = await u(r, q, "getLogs")({
55
+ address: m,
56
+ args: l,
57
+ event: s,
58
+ events: d,
59
+ fromBlock: n + 1n,
60
+ toBlock: e
61
+ }) : t = [], n = e;
62
+ }
63
+ if (t.length === 0)
64
+ return;
65
+ if (h)
66
+ a.onLogs(t);
67
+ else
68
+ for (const e of t)
69
+ a.onLogs([e]);
70
+ } catch (t) {
71
+ o && t instanceof O && (i = !1), a.onError?.(t);
72
+ }
73
+ }, {
74
+ emitOnBegin: !0,
75
+ interval: k
76
+ });
77
+ return async () => {
78
+ o && await u(r, x, "uninstallFilter")({ filter: o }), w();
79
+ };
80
+ });
81
+ })() : (() => {
82
+ let p = !0, a = () => p = !1;
83
+ return (async () => {
84
+ try {
85
+ const n = (() => {
86
+ if (r.transport.type === "fallback") {
87
+ const t = r.transport.transports.find((e) => e.config.type === "webSocket" || e.config.type === "ipc");
88
+ return t ? t.value : r.transport;
89
+ }
90
+ return r.transport;
91
+ })(), o = d ?? (s ? [s] : void 0);
92
+ let i = [];
93
+ o && (i = [o.flatMap((e) => S({
94
+ abi: [e],
95
+ eventName: e.name,
96
+ args: l
97
+ }))], s && (i = i[0]));
98
+ const { unsubscribe: w } = await n.subscribe({
99
+ params: ["logs", { address: m, topics: i }],
100
+ onData(t) {
101
+ if (!p)
102
+ return;
103
+ const e = t.result;
104
+ try {
105
+ const { eventName: f, args: b } = P({
106
+ abi: o ?? [],
107
+ data: e.data,
108
+ topics: e.topics,
109
+ strict: F
110
+ }), g = I(e, { args: b, eventName: f });
111
+ v([g]);
112
+ } catch (f) {
113
+ let b, g;
114
+ if (f instanceof z || f instanceof A) {
115
+ if (N)
116
+ return;
117
+ b = f.abiItem.name, g = f.abiItem.inputs?.some((L) => !("name" in L && L.name));
118
+ }
119
+ const M = I(e, {
120
+ args: g ? [] : {},
121
+ eventName: b
122
+ });
123
+ v([M]);
124
+ }
125
+ },
126
+ onError(t) {
127
+ y?.(t);
128
+ }
129
+ });
130
+ a = w, p || a();
131
+ } catch (n) {
132
+ y?.(n);
133
+ }
134
+ })(), () => a();
135
+ })();
23
136
  }
24
137
  export {
25
- S as verifySiweMessage
138
+ nt as watchEvent
26
139
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-hooks",
3
- "version": "0.0.80",
3
+ "version": "0.0.81",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": ">=18.2.0",
18
- "@coinbase/cdp-core": "^0.0.80"
18
+ "@coinbase/cdp-core": "^0.0.81"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@testing-library/jest-dom": "^6.6.3",
@@ -30,7 +30,7 @@
30
30
  "@size-limit/webpack": "^11.2.0",
31
31
  "@size-limit/webpack-why": "^11.2.0",
32
32
  "size-limit": "^11.2.0",
33
- "@coinbase/cdp-core": "^0.0.80"
33
+ "@coinbase/cdp-core": "^0.0.81"
34
34
  },
35
35
  "size-limit": [
36
36
  {