@coinbase/cdp-hooks 0.0.50 → 0.0.52

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 (280) hide show
  1. package/README.md +221 -0
  2. package/dist/esm/index.js +38 -28
  3. package/dist/esm/index10.js +4 -11
  4. package/dist/esm/index100.js +5 -451
  5. package/dist/esm/index101.js +28 -23
  6. package/dist/esm/index102.js +67 -18
  7. package/dist/esm/index103.js +3 -34
  8. package/dist/esm/index104.js +21 -32
  9. package/dist/esm/index105.js +370 -112
  10. package/dist/esm/index106.js +28 -6
  11. package/dist/esm/index107.js +27 -2
  12. package/dist/esm/index108.js +29 -8
  13. package/dist/esm/index109.js +33 -17
  14. package/dist/esm/index11.js +10 -54
  15. package/dist/esm/index110.js +184 -18
  16. package/dist/esm/index111.js +8 -8
  17. package/dist/esm/index112.js +2 -56
  18. package/dist/esm/index113.js +10 -43
  19. package/dist/esm/index114.js +18 -8
  20. package/dist/esm/index115.js +27 -7
  21. package/dist/esm/index116.js +8 -16
  22. package/dist/esm/index117.js +53 -16
  23. package/dist/esm/index118.js +45 -24
  24. package/dist/esm/index119.js +8 -16
  25. package/dist/esm/index12.js +34 -58
  26. package/dist/esm/index120.js +7 -54
  27. package/dist/esm/index121.js +16 -11
  28. package/dist/esm/index122.js +18 -160
  29. package/dist/esm/index123.js +24 -21
  30. package/dist/esm/index124.js +16 -127
  31. package/dist/esm/index125.js +53 -37
  32. package/dist/esm/index126.js +11 -6
  33. package/dist/esm/index127.js +160 -27
  34. package/dist/esm/index128.js +21 -191
  35. package/dist/esm/index129.js +128 -4
  36. package/dist/esm/index13.js +18 -56
  37. package/dist/esm/index130.js +36 -62
  38. package/dist/esm/index131.js +7 -3
  39. package/dist/esm/index132.js +25 -18
  40. package/dist/esm/index133.js +188 -13
  41. package/dist/esm/index134.js +4 -24
  42. package/dist/esm/index135.js +64 -11
  43. package/dist/esm/index136.js +3 -35
  44. package/dist/esm/index137.js +21 -3
  45. package/dist/esm/index138.js +15 -17
  46. package/dist/esm/index139.js +22 -26
  47. package/dist/esm/index14.js +11 -32
  48. package/dist/esm/index140.js +11 -35
  49. package/dist/esm/index141.js +34 -7
  50. package/dist/esm/index142.js +3 -26
  51. package/dist/esm/index143.js +18 -28
  52. package/dist/esm/index144.js +26 -63
  53. package/dist/esm/index145.js +35 -9
  54. package/dist/esm/index146.js +7 -33
  55. package/dist/esm/index147.js +24 -26
  56. package/dist/esm/index148.js +28 -24
  57. package/dist/esm/index149.js +64 -3
  58. package/dist/esm/index15.js +11 -3
  59. package/dist/esm/index150.js +9 -14
  60. package/dist/esm/index151.js +31 -101
  61. package/dist/esm/index152.js +26 -63
  62. package/dist/esm/index153.js +24 -5
  63. package/dist/esm/index154.js +3 -6
  64. package/dist/esm/index155.js +14 -27
  65. package/dist/esm/index156.js +103 -39
  66. package/dist/esm/index157.js +64 -13
  67. package/dist/esm/index158.js +5 -42
  68. package/dist/esm/index159.js +6 -5
  69. package/dist/esm/index16.js +54 -10
  70. package/dist/esm/index160.js +27 -11
  71. package/dist/esm/index161.js +39 -19
  72. package/dist/esm/index162.js +13 -78
  73. package/dist/esm/index163.js +43 -2
  74. package/dist/esm/index164.js +5 -37
  75. package/dist/esm/index165.js +11 -110
  76. package/dist/esm/index166.js +19 -48
  77. package/dist/esm/index167.js +76 -30
  78. package/dist/esm/index168.js +2 -9
  79. package/dist/esm/index169.js +37 -6
  80. package/dist/esm/index17.js +56 -67
  81. package/dist/esm/index170.js +110 -6
  82. package/dist/esm/index171.js +48 -11
  83. package/dist/esm/index172.js +31 -9
  84. package/dist/esm/index173.js +8 -13
  85. package/dist/esm/index174.js +6 -32
  86. package/dist/esm/index175.js +7 -5
  87. package/dist/esm/index176.js +11 -8
  88. package/dist/esm/index177.js +10 -19
  89. package/dist/esm/index178.js +13 -31
  90. package/dist/esm/index179.js +31 -19
  91. package/dist/esm/index18.js +56 -10
  92. package/dist/esm/index180.js +5 -4
  93. package/dist/esm/index181.js +8 -17
  94. package/dist/esm/index182.js +19 -10
  95. package/dist/esm/index183.js +30 -20
  96. package/dist/esm/index184.js +19 -21
  97. package/dist/esm/index185.js +3 -5
  98. package/dist/esm/index186.js +17 -5
  99. package/dist/esm/index187.js +10 -8
  100. package/dist/esm/index188.js +18 -101
  101. package/dist/esm/index189.js +23 -3
  102. package/dist/esm/index19.js +31 -27
  103. package/dist/esm/index190.js +4 -17
  104. package/dist/esm/index191.js +5 -171
  105. package/dist/esm/index192.js +8 -17
  106. package/dist/esm/index193.js +105 -10
  107. package/dist/esm/index194.js +3 -41
  108. package/dist/esm/index195.js +19 -2
  109. package/dist/esm/index196.js +171 -4
  110. package/dist/esm/index197.js +16 -9
  111. package/dist/esm/index198.js +10 -20
  112. package/dist/esm/index199.js +40 -7
  113. package/dist/esm/index20.js +3 -70
  114. package/dist/esm/index200.js +2 -12
  115. package/dist/esm/index201.js +4 -66
  116. package/dist/esm/index202.js +9 -64
  117. package/dist/esm/index203.js +17 -183
  118. package/dist/esm/index204.js +7 -22
  119. package/dist/esm/index205.js +10 -41
  120. package/dist/esm/index206.js +62 -72
  121. package/dist/esm/index207.js +61 -36
  122. package/dist/esm/index208.js +184 -15
  123. package/dist/esm/index209.js +21 -12
  124. package/dist/esm/index21.js +9 -19
  125. package/dist/esm/index210.js +42 -7
  126. package/dist/esm/index211.js +76 -6
  127. package/dist/esm/index212.js +40 -36
  128. package/dist/esm/index213.js +16 -15
  129. package/dist/esm/index214.js +13 -8
  130. package/dist/esm/index215.js +35 -11
  131. package/dist/esm/index216.js +15 -9
  132. package/dist/esm/index217.js +8 -16
  133. package/dist/esm/index218.js +7 -22
  134. package/dist/esm/index219.js +6 -30
  135. package/dist/esm/index22.js +68 -110
  136. package/dist/esm/index220.js +13 -2
  137. package/dist/esm/index221.js +9 -13
  138. package/dist/esm/index222.js +15 -11
  139. package/dist/esm/index223.js +20 -45
  140. package/dist/esm/index224.js +30 -9
  141. package/dist/esm/index225.js +2 -14
  142. package/dist/esm/index226.js +13 -14
  143. package/dist/esm/index227.js +12 -8
  144. package/dist/esm/index228.js +46 -14
  145. package/dist/esm/index229.js +8 -23
  146. package/dist/esm/index23.js +7 -58
  147. package/dist/esm/index230.js +13 -11
  148. package/dist/esm/index231.js +14 -24
  149. package/dist/esm/index232.js +8 -51
  150. package/dist/esm/index233.js +13 -15
  151. package/dist/esm/index234.js +24 -14
  152. package/dist/esm/index235.js +11 -11
  153. package/dist/esm/index236.js +24 -103
  154. package/dist/esm/index237.js +51 -6
  155. package/dist/esm/index238.js +16 -223
  156. package/dist/esm/index239.js +14 -6
  157. package/dist/esm/index24.js +27 -23
  158. package/dist/esm/index240.js +12 -7
  159. package/dist/esm/index241.js +101 -24
  160. package/dist/esm/index242.js +6 -19
  161. package/dist/esm/index243.js +219 -141
  162. package/dist/esm/index244.js +7 -13
  163. package/dist/esm/index245.js +6 -35
  164. package/dist/esm/index246.js +26 -41
  165. package/dist/esm/index247.js +19 -68
  166. package/dist/esm/index248.js +146 -3
  167. package/dist/esm/index249.js +12 -136
  168. package/dist/esm/index25.js +70 -40
  169. package/dist/esm/index250.js +36 -156
  170. package/dist/esm/index251.js +41 -9
  171. package/dist/esm/index252.js +68 -16
  172. package/dist/esm/index253.js +3 -113
  173. package/dist/esm/index254.js +124 -122
  174. package/dist/esm/index255.js +149 -72
  175. package/dist/esm/index256.js +10 -2
  176. package/dist/esm/index257.js +16 -698
  177. package/dist/esm/index258.js +104 -130
  178. package/dist/esm/index259.js +127 -35
  179. package/dist/esm/index26.js +19 -37
  180. package/dist/esm/index260.js +71 -194
  181. package/dist/esm/index261.js +2 -66
  182. package/dist/esm/index262.js +698 -4
  183. package/dist/esm/index263.js +139 -40
  184. package/dist/esm/index264.js +42 -7
  185. package/dist/esm/index265.js +194 -55
  186. package/dist/esm/index266.js +55 -67
  187. package/dist/esm/index267.js +5 -4
  188. package/dist/esm/index268.js +40 -194
  189. package/dist/esm/index269.js +7 -63
  190. package/dist/esm/index27.js +110 -58
  191. package/dist/esm/index270.js +59 -41
  192. package/dist/esm/index271.js +77 -4
  193. package/dist/esm/index272.js +4 -5
  194. package/dist/esm/index273.js +195 -2
  195. package/dist/esm/index274.js +58 -16
  196. package/dist/esm/index275.js +47 -0
  197. package/dist/esm/index276.js +7 -0
  198. package/dist/esm/index277.js +7 -0
  199. package/dist/esm/index278.js +4 -0
  200. package/dist/esm/index279.js +24 -0
  201. package/dist/esm/index28.js +57 -160
  202. package/dist/esm/index29.js +21 -36
  203. package/dist/esm/index3.js +27 -27
  204. package/dist/esm/index30.js +40 -9
  205. package/dist/esm/index31.js +34 -28
  206. package/dist/esm/index32.js +58 -36
  207. package/dist/esm/index33.js +162 -8
  208. package/dist/esm/index34.js +35 -25
  209. package/dist/esm/index35.js +9 -46
  210. package/dist/esm/index36.js +31 -88
  211. package/dist/esm/index37.js +36 -40
  212. package/dist/esm/index38.js +8 -7
  213. package/dist/esm/index39.js +28 -5
  214. package/dist/esm/index4.js +1 -1
  215. package/dist/esm/index40.js +46 -16
  216. package/dist/esm/index41.js +88 -8
  217. package/dist/esm/index42.js +40 -13
  218. package/dist/esm/index43.js +8 -7
  219. package/dist/esm/index44.js +6 -9
  220. package/dist/esm/index45.js +16 -16
  221. package/dist/esm/index46.js +8 -46
  222. package/dist/esm/index47.js +13 -13
  223. package/dist/esm/index48.js +7 -16
  224. package/dist/esm/index49.js +9 -13
  225. package/dist/esm/index50.js +15 -5
  226. package/dist/esm/index51.js +46 -35
  227. package/dist/esm/index52.js +13 -9
  228. package/dist/esm/index53.js +15 -7
  229. package/dist/esm/index54.js +13 -25
  230. package/dist/esm/index55.js +6 -10
  231. package/dist/esm/index56.js +32 -11
  232. package/dist/esm/index57.js +9 -11
  233. package/dist/esm/index58.js +8 -116
  234. package/dist/esm/index59.js +24 -32
  235. package/dist/esm/index6.js +1 -1
  236. package/dist/esm/index60.js +10 -79
  237. package/dist/esm/index61.js +13 -176
  238. package/dist/esm/index62.js +11 -44
  239. package/dist/esm/index63.js +116 -6
  240. package/dist/esm/index64.js +32 -12
  241. package/dist/esm/index65.js +79 -13
  242. package/dist/esm/index66.js +173 -95
  243. package/dist/esm/index67.js +42 -70
  244. package/dist/esm/index68.js +6 -87
  245. package/dist/esm/index69.js +13 -148
  246. package/dist/esm/index7.js +9 -34
  247. package/dist/esm/index70.js +13 -136
  248. package/dist/esm/index71.js +94 -63
  249. package/dist/esm/index72.js +72 -23
  250. package/dist/esm/index73.js +83 -101
  251. package/dist/esm/index74.js +148 -6
  252. package/dist/esm/index75.js +133 -128
  253. package/dist/esm/index76.js +66 -273
  254. package/dist/esm/index77.js +24 -3
  255. package/dist/esm/index78.js +106 -4
  256. package/dist/esm/index79.js +7 -9
  257. package/dist/esm/index8.js +9 -18
  258. package/dist/esm/index80.js +132 -2
  259. package/dist/esm/index81.js +276 -2
  260. package/dist/esm/index82.js +3 -3
  261. package/dist/esm/index83.js +4 -327
  262. package/dist/esm/index84.js +9 -14
  263. package/dist/esm/index85.js +2 -5
  264. package/dist/esm/index86.js +2 -56
  265. package/dist/esm/index87.js +3 -2
  266. package/dist/esm/index88.js +325 -6
  267. package/dist/esm/index89.js +11 -212
  268. package/dist/esm/index9.js +4 -11
  269. package/dist/esm/index90.js +5 -32
  270. package/dist/esm/index91.js +55 -21
  271. package/dist/esm/index92.js +2 -6
  272. package/dist/esm/index93.js +6 -72
  273. package/dist/esm/index94.js +214 -5
  274. package/dist/esm/index95.js +32 -6
  275. package/dist/esm/index96.js +20 -34
  276. package/dist/esm/index97.js +5 -75
  277. package/dist/esm/index98.js +74 -3
  278. package/dist/esm/index99.js +5 -23
  279. package/dist/types/index.d.ts +25 -0
  280. package/package.json +3 -3
@@ -1,12 +1,166 @@
1
- import { createFilterRequestScope as r } from "./index211.js";
2
- async function a(e) {
3
- const n = r(e, {
4
- method: "eth_newPendingTransactionFilter"
5
- }), t = await e.request({
6
- method: "eth_newPendingTransactionFilter"
1
+ import { toRpc as $ } from "./index224.js";
2
+ import { parseAccount as W } from "./index20.js";
3
+ import { multicall3Abi as O } from "./index81.js";
4
+ import { aggregate3Signature as I } from "./index225.js";
5
+ import { deploylessCallViaBytecodeBytecode as J, deploylessCallViaFactoryBytecode as K } from "./index83.js";
6
+ import { BaseError as N } from "./index91.js";
7
+ import { ClientChainNotConfiguredError as P, ChainDoesNotSupportContract as Q } from "./index106.js";
8
+ import { CounterfactualDeploymentFailedError as U, RawContractError as X } from "./index94.js";
9
+ import { decodeFunctionResult as Y } from "./index139.js";
10
+ import { encodeDeployData as T } from "./index143.js";
11
+ import { encodeFunctionData as Z } from "./index146.js";
12
+ import { getChainContractAddress as tt } from "./index182.js";
13
+ import { numberToHex as V } from "./index118.js";
14
+ import { getCallError as at } from "./index226.js";
15
+ import { extract as et } from "./index227.js";
16
+ import { formatTransactionRequest as rt } from "./index153.js";
17
+ import { createBatchScheduler as ot } from "./index24.js";
18
+ import { serializeStateOverride as ct } from "./index228.js";
19
+ import { assertRequest as nt } from "./index166.js";
20
+ import { parseAbi as z } from "./index205.js";
21
+ async function Et(t, a) {
22
+ const { account: e = t.account, authorizationList: n, batch: r = !!t.batch?.multicall, blockNumber: m, blockTag: C = t.experimental_blockTag ?? "latest", accessList: x, blobs: D, blockOverrides: d, code: p, data: o, factory: u, factoryData: s, gas: B, gasPrice: b, maxFeePerBlobGas: h, maxFeePerGas: y, maxPriorityFeePerGas: g, nonce: k, to: f, value: H, stateOverride: L, ...j } = a, R = e ? W(e) : void 0;
23
+ if (p && (u || s))
24
+ throw new N("Cannot provide both `code` & `factory`/`factoryData` as parameters.");
25
+ if (p && f)
26
+ throw new N("Cannot provide both `code` & `to` as parameters.");
27
+ const S = p && o, _ = u && s && f && o, A = S || _, G = S ? lt({
28
+ code: p,
29
+ data: o
30
+ }) : _ ? dt({
31
+ data: o,
32
+ factory: u,
33
+ factoryData: s,
34
+ to: f
35
+ }) : o;
36
+ try {
37
+ nt(a);
38
+ const w = (typeof m == "bigint" ? V(m) : void 0) || C, i = d ? $(d) : void 0, l = ct(L), q = t.chain?.formatters?.transactionRequest?.format, v = (q || rt)({
39
+ // Pick out extra data that might exist on the chain's transaction request type.
40
+ ...et(j, { format: q }),
41
+ from: R?.address,
42
+ accessList: x,
43
+ authorizationList: n,
44
+ blobs: D,
45
+ data: G,
46
+ gas: B,
47
+ gasPrice: b,
48
+ maxFeePerBlobGas: h,
49
+ maxFeePerGas: y,
50
+ maxPriorityFeePerGas: g,
51
+ nonce: k,
52
+ to: A ? void 0 : f,
53
+ value: H
54
+ });
55
+ if (r && st({ request: v }) && !l && !i)
56
+ try {
57
+ return await it(t, {
58
+ ...v,
59
+ blockNumber: m,
60
+ blockTag: C
61
+ });
62
+ } catch (c) {
63
+ if (!(c instanceof P) && !(c instanceof Q))
64
+ throw c;
65
+ }
66
+ const M = (() => {
67
+ const c = [
68
+ v,
69
+ w
70
+ ];
71
+ return l && i ? [...c, l, i] : l ? [...c, l] : i ? [...c, {}, i] : c;
72
+ })(), E = await t.request({
73
+ method: "eth_call",
74
+ params: M
75
+ });
76
+ return E === "0x" ? { data: void 0 } : { data: E };
77
+ } catch (F) {
78
+ const w = ut(F), { offchainLookup: i, offchainLookupSignature: l } = await import("./index170.js");
79
+ if (t.ccipRead !== !1 && w?.slice(0, 10) === l && f)
80
+ return { data: await i(t, { data: w, to: f }) };
81
+ throw A && w?.slice(0, 10) === "0x101bb98d" ? new U({ factory: u }) : at(F, {
82
+ ...a,
83
+ account: R,
84
+ chain: t.chain
85
+ });
86
+ }
87
+ }
88
+ function st({ request: t }) {
89
+ const { data: a, to: e, ...n } = t;
90
+ return !(!a || a.startsWith(I) || !e || Object.values(n).filter((r) => typeof r < "u").length > 0);
91
+ }
92
+ async function it(t, a) {
93
+ const { batchSize: e = 1024, wait: n = 0 } = typeof t.batch?.multicall == "object" ? t.batch.multicall : {}, { blockNumber: r, blockTag: m = t.experimental_blockTag ?? "latest", data: C, multicallAddress: x, to: D } = a;
94
+ let d = x;
95
+ if (!d) {
96
+ if (!t.chain)
97
+ throw new P();
98
+ d = tt({
99
+ blockNumber: r,
100
+ chain: t.chain,
101
+ contract: "multicall3"
102
+ });
103
+ }
104
+ const o = (typeof r == "bigint" ? V(r) : void 0) || m, { schedule: u } = ot({
105
+ id: `${t.uid}.${o}`,
106
+ wait: n,
107
+ shouldSplitBatch(b) {
108
+ return b.reduce((y, { data: g }) => y + (g.length - 2), 0) > e * 2;
109
+ },
110
+ fn: async (b) => {
111
+ const h = b.map((k) => ({
112
+ allowFailure: !0,
113
+ callData: k.data,
114
+ target: k.to
115
+ })), y = Z({
116
+ abi: O,
117
+ args: [h],
118
+ functionName: "aggregate3"
119
+ }), g = await t.request({
120
+ method: "eth_call",
121
+ params: [
122
+ {
123
+ data: y,
124
+ to: d
125
+ },
126
+ o
127
+ ]
128
+ });
129
+ return Y({
130
+ abi: O,
131
+ args: [h],
132
+ functionName: "aggregate3",
133
+ data: g || "0x"
134
+ });
135
+ }
136
+ }), [{ returnData: s, success: B }] = await u({ data: C, to: D });
137
+ if (!B)
138
+ throw new X({ data: s });
139
+ return s === "0x" ? { data: void 0 } : { data: s };
140
+ }
141
+ function lt(t) {
142
+ const { code: a, data: e } = t;
143
+ return T({
144
+ abi: z(["constructor(bytes, bytes)"]),
145
+ bytecode: J,
146
+ args: [a, e]
7
147
  });
8
- return { id: t, request: n(t), type: "transaction" };
148
+ }
149
+ function dt(t) {
150
+ const { data: a, factory: e, factoryData: n, to: r } = t;
151
+ return T({
152
+ abi: z(["constructor(address, bytes, address, bytes)"]),
153
+ bytecode: K,
154
+ args: [r, a, e, n]
155
+ });
156
+ }
157
+ function ut(t) {
158
+ if (!(t instanceof N))
159
+ return;
160
+ const a = t.walk();
161
+ return typeof a?.data == "object" ? a.data?.data : a.data;
9
162
  }
10
163
  export {
11
- a as createPendingTransactionFilter
164
+ Et as call,
165
+ ut as getRevertErrorData
12
166
  };
@@ -1,32 +1,42 @@
1
- import { parseAccount as u } from "./index15.js";
2
- import { encodeFunctionData as f } from "./index141.js";
3
- import { getContractError as p } from "./index184.js";
4
- import { getAction as g } from "./index210.js";
5
- import { estimateGas as G } from "./index36.js";
6
- async function A(s, i) {
7
- const { abi: a, address: o, args: r, functionName: c, dataSuffix: e, ...t } = i, m = f({
8
- abi: a,
9
- args: r,
10
- functionName: c
11
- });
1
+ import { parseAccount as P } from "./index20.js";
2
+ import { numberToHex as y } from "./index118.js";
3
+ import { getCallError as F } from "./index226.js";
4
+ import { extract as L } from "./index227.js";
5
+ import { formatTransactionRequest as A } from "./index153.js";
6
+ import { assertRequest as G } from "./index166.js";
7
+ async function _(t, e) {
8
+ const { account: o = t.account, blockNumber: r, blockTag: m = "latest", blobs: i, data: u, gas: f, gasPrice: b, maxFeePerBlobGas: p, maxFeePerGas: d, maxPriorityFeePerGas: h, to: l, value: x, ...g } = e, a = o ? P(o) : void 0;
12
9
  try {
13
- return await g(s, G, "estimateGas")({
14
- data: `${m}${e ? e.replace("0x", "") : ""}`,
15
- to: o,
16
- ...t
10
+ G(e);
11
+ const k = (typeof r == "bigint" ? y(r) : void 0) || m, c = t.chain?.formatters?.transactionRequest?.format, q = (c || A)({
12
+ // Pick out extra data that might exist on the chain's transaction request type.
13
+ ...L(g, { format: c }),
14
+ from: a?.address,
15
+ blobs: i,
16
+ data: u,
17
+ gas: f,
18
+ gasPrice: b,
19
+ maxFeePerBlobGas: p,
20
+ maxFeePerGas: d,
21
+ maxPriorityFeePerGas: h,
22
+ to: l,
23
+ value: x
24
+ }), n = await t.request({
25
+ method: "eth_createAccessList",
26
+ params: [q, k]
17
27
  });
18
- } catch (n) {
19
- const d = t.account ? u(t.account) : void 0;
20
- throw p(n, {
21
- abi: a,
22
- address: o,
23
- args: r,
24
- docsPath: "/docs/contract/estimateContractGas",
25
- functionName: c,
26
- sender: d?.address
28
+ return {
29
+ accessList: n.accessList,
30
+ gasUsed: BigInt(n.gasUsed)
31
+ };
32
+ } catch (s) {
33
+ throw F(s, {
34
+ ...e,
35
+ account: a,
36
+ chain: t.chain
27
37
  });
28
38
  }
29
39
  }
30
40
  export {
31
- A as estimateContractGas
41
+ _ as createAccessList
32
42
  };
@@ -1,49 +1,12 @@
1
- import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index99.js";
2
- import { getAction as l } from "./index210.js";
3
- import { internal_estimateMaxPriorityFeePerGas as u } from "./index37.js";
4
- import { getBlock as G } from "./index40.js";
5
- import { getGasPrice as b } from "./index50.js";
6
- async function E(e, s) {
7
- return g(e, s);
8
- }
9
- async function g(e, s) {
10
- const { block: i, chain: a = e.chain, request: t, type: f = "eip1559" } = s || {}, o = await (async () => typeof a?.fees?.baseFeeMultiplier == "function" ? a.fees.baseFeeMultiplier({
11
- block: i,
12
- client: e,
13
- request: t
14
- }) : a?.fees?.baseFeeMultiplier ?? 1.2)();
15
- if (o < 1)
16
- throw new p();
17
- const m = 10 ** (o.toString().split(".")[1]?.length ?? 0), n = (r) => r * BigInt(Math.ceil(o * m)) / BigInt(m), c = i || await l(e, G, "getBlock")({});
18
- if (typeof a?.fees?.estimateFeesPerGas == "function") {
19
- const r = await a.fees.estimateFeesPerGas({
20
- block: i,
21
- client: e,
22
- multiply: n,
23
- request: t,
24
- type: f
25
- });
26
- if (r !== null)
27
- return r;
28
- }
29
- if (f === "eip1559") {
30
- if (typeof c.baseFeePerGas != "bigint")
31
- throw new F();
32
- const r = typeof t?.maxPriorityFeePerGas == "bigint" ? t.maxPriorityFeePerGas : await u(e, {
33
- block: c,
34
- chain: a,
35
- request: t
36
- }), P = n(c.baseFeePerGas);
37
- return {
38
- maxFeePerGas: t?.maxFeePerGas ?? P + r,
39
- maxPriorityFeePerGas: r
40
- };
41
- }
42
- return {
43
- gasPrice: t?.gasPrice ?? n(await l(e, b, "getGasPrice")({}))
44
- };
1
+ import { createFilterRequestScope as r } from "./index219.js";
2
+ async function i(e) {
3
+ const o = r(e, {
4
+ method: "eth_newBlockFilter"
5
+ }), t = await e.request({
6
+ method: "eth_newBlockFilter"
7
+ });
8
+ return { id: t, request: o(t), type: "block" };
45
9
  }
46
10
  export {
47
- E as estimateFeesPerGas,
48
- g as internal_estimateFeesPerGas
11
+ i as createBlockFilter
49
12
  };
@@ -1,91 +1,34 @@
1
- import { parseAccount as R } from "./index15.js";
2
- import { BaseError as _ } from "./index86.js";
3
- import { recoverAuthorizationAddress as A } from "./index224.js";
4
- import { numberToHex as x } from "./index113.js";
5
- import { getEstimateGasError as E } from "./index225.js";
6
- import { extract as N } from "./index222.js";
7
- import { formatTransactionRequest as S } from "./index148.js";
8
- import { serializeStateOverride as I } from "./index223.js";
9
- import { assertRequest as V } from "./index161.js";
10
- import { prepareTransactionRequest as C } from "./index73.js";
11
- import { getBalance as j } from "./index38.js";
12
- async function rt(t, s) {
13
- const { account: u = t.account } = s, i = u ? R(u) : void 0;
14
- try {
15
- let w = function(m) {
16
- const { block: o, request: e, rpcStateOverride: a } = m;
17
- return t.request({
18
- method: "eth_estimateGas",
19
- params: a ? [
20
- e,
21
- o ?? t.experimental_blockTag ?? "latest",
22
- a
23
- ] : o ? [e, o] : [e]
24
- });
25
- };
26
- const { accessList: n, authorizationList: r, blobs: v, blobVersionedHashes: g, blockNumber: f, blockTag: k, data: d, gas: y, gasPrice: G, maxFeePerBlobGas: z, maxFeePerGas: P, maxPriorityFeePerGas: B, nonce: H, value: T, stateOverride: F, ...c } = await C(t, {
27
- ...s,
28
- parameters: (
29
- // Some RPC Providers do not compute versioned hashes from blobs. We will need
30
- // to compute them.
31
- i?.type === "local" ? void 0 : ["blobVersionedHashes"]
32
- )
33
- }), p = (typeof f == "bigint" ? x(f) : void 0) || k, b = I(F), L = await (async () => {
34
- if (c.to)
35
- return c.to;
36
- if (r && r.length > 0)
37
- return await A({
38
- authorization: r[0]
39
- }).catch(() => {
40
- throw new _("`to` is required. Could not infer from `authorizationList`");
41
- });
42
- })();
43
- V(s);
44
- const h = t.chain?.formatters?.transactionRequest?.format, l = (h || S)({
45
- // Pick out extra data that might exist on the chain's transaction request type.
46
- ...N(c, { format: h }),
47
- from: i?.address,
48
- accessList: n,
49
- authorizationList: r,
50
- blobs: v,
51
- blobVersionedHashes: g,
52
- data: d,
53
- gas: y,
54
- gasPrice: G,
55
- maxFeePerBlobGas: z,
56
- maxFeePerGas: P,
57
- maxPriorityFeePerGas: B,
58
- nonce: H,
59
- to: L,
60
- value: T
61
- });
62
- let q = BigInt(await w({ block: p, request: l, rpcStateOverride: b }));
63
- if (r) {
64
- const m = await j(t, { address: l.from }), o = await Promise.all(r.map(async (e) => {
65
- const { address: a } = e, O = await w({
66
- block: p,
67
- request: {
68
- authorizationList: void 0,
69
- data: d,
70
- from: i?.address,
71
- to: a,
72
- value: x(m)
73
- },
74
- rpcStateOverride: b
75
- }).catch(() => 100000n);
76
- return 2n * BigInt(O);
77
- }));
78
- q += o.reduce((e, a) => e + a, 0n);
79
- }
80
- return q;
81
- } catch (n) {
82
- throw E(n, {
83
- ...s,
84
- account: i,
85
- chain: t.chain
86
- });
87
- }
1
+ import { encodeEventTopics as l } from "./index145.js";
2
+ import { numberToHex as s } from "./index118.js";
3
+ import { createFilterRequestScope as u } from "./index219.js";
4
+ async function h(r, a) {
5
+ const { address: m, abi: n, args: i, eventName: e, fromBlock: t, strict: p, toBlock: o } = a, f = u(r, {
6
+ method: "eth_newFilter"
7
+ }), d = e ? l({
8
+ abi: n,
9
+ args: i,
10
+ eventName: e
11
+ }) : void 0, c = await r.request({
12
+ method: "eth_newFilter",
13
+ params: [
14
+ {
15
+ address: m,
16
+ fromBlock: typeof t == "bigint" ? s(t) : t,
17
+ toBlock: typeof o == "bigint" ? s(o) : o,
18
+ topics: d
19
+ }
20
+ ]
21
+ });
22
+ return {
23
+ abi: n,
24
+ args: i,
25
+ eventName: e,
26
+ id: c,
27
+ request: f(c),
28
+ strict: !!p,
29
+ type: "event"
30
+ };
88
31
  }
89
32
  export {
90
- rt as estimateGas
33
+ h as createContractEventFilter
91
34
  };
@@ -1,43 +1,39 @@
1
- import { Eip1559FeesNotSupportedError as f } from "./index99.js";
2
- import { hexToBigInt as u } from "./index146.js";
3
- import { getAction as s } from "./index210.js";
4
- import { getBlock as c } from "./index40.js";
5
- import { getGasPrice as y } from "./index50.js";
6
- async function h(e, o) {
7
- return p(e, o);
8
- }
9
- async function p(e, o) {
10
- const { block: i, chain: n = e.chain, request: m } = o || {};
11
- try {
12
- const r = n?.fees?.maxPriorityFeePerGas ?? n?.fees?.defaultPriorityFee;
13
- if (typeof r == "function") {
14
- const t = i || await s(e, c, "getBlock")({}), P = await r({
15
- block: t,
16
- client: e,
17
- request: m
18
- });
19
- if (P === null)
20
- throw new Error();
21
- return P;
22
- }
23
- if (typeof r < "u")
24
- return r;
25
- const a = await e.request({
26
- method: "eth_maxPriorityFeePerGas"
27
- });
28
- return u(a);
29
- } catch {
30
- const [r, a] = await Promise.all([
31
- i ? Promise.resolve(i) : s(e, c, "getBlock")({}),
32
- s(e, y, "getGasPrice")({})
33
- ]);
34
- if (typeof r.baseFeePerGas != "bigint")
35
- throw new f();
36
- const t = a - r.baseFeePerGas;
37
- return t < 0n ? 0n : t;
38
- }
1
+ import { encodeEventTopics as b } from "./index145.js";
2
+ import { numberToHex as m } from "./index118.js";
3
+ import { createFilterRequestScope as h } from "./index219.js";
4
+ async function l(r, { address: p, args: a, event: e, events: c, fromBlock: n, strict: f, toBlock: i } = {}) {
5
+ const o = c ?? (e ? [e] : void 0), u = h(r, {
6
+ method: "eth_newFilter"
7
+ });
8
+ let t = [];
9
+ o && (t = [o.flatMap((d) => b({
10
+ abi: [d],
11
+ eventName: d.name,
12
+ args: a
13
+ }))], e && (t = t[0]));
14
+ const s = await r.request({
15
+ method: "eth_newFilter",
16
+ params: [
17
+ {
18
+ address: p,
19
+ fromBlock: typeof n == "bigint" ? m(n) : n,
20
+ toBlock: typeof i == "bigint" ? m(i) : i,
21
+ ...t.length ? { topics: t } : {}
22
+ }
23
+ ]
24
+ });
25
+ return {
26
+ abi: o,
27
+ args: a,
28
+ eventName: e ? e.name : void 0,
29
+ fromBlock: n,
30
+ id: s,
31
+ request: u(s),
32
+ strict: !!f,
33
+ toBlock: i,
34
+ type: "event"
35
+ };
39
36
  }
40
37
  export {
41
- h as estimateMaxPriorityFeePerGas,
42
- p as internal_estimateMaxPriorityFeePerGas
38
+ l as createEventFilter
43
39
  };
@@ -1,11 +1,12 @@
1
- import { numberToHex as c } from "./index113.js";
2
- async function m(e, { address: a, blockNumber: t, blockTag: n = e.experimental_blockTag ?? "latest" }) {
3
- const o = typeof t == "bigint" ? c(t) : void 0, r = await e.request({
4
- method: "eth_getBalance",
5
- params: [a, o || n]
1
+ import { createFilterRequestScope as r } from "./index219.js";
2
+ async function a(e) {
3
+ const n = r(e, {
4
+ method: "eth_newPendingTransactionFilter"
5
+ }), t = await e.request({
6
+ method: "eth_newPendingTransactionFilter"
6
7
  });
7
- return BigInt(r);
8
+ return { id: t, request: n(t), type: "transaction" };
8
9
  }
9
10
  export {
10
- m as getBalance
11
+ a as createPendingTransactionFilter
11
12
  };
@@ -1,9 +1,32 @@
1
- async function a(e) {
2
- const t = await e.request({
3
- method: "eth_blobBaseFee"
1
+ import { parseAccount as u } from "./index20.js";
2
+ import { encodeFunctionData as f } from "./index146.js";
3
+ import { getContractError as p } from "./index189.js";
4
+ import { getAction as g } from "./index218.js";
5
+ import { estimateGas as G } from "./index41.js";
6
+ async function A(s, i) {
7
+ const { abi: a, address: o, args: r, functionName: c, dataSuffix: e, ...t } = i, m = f({
8
+ abi: a,
9
+ args: r,
10
+ functionName: c
4
11
  });
5
- return BigInt(t);
12
+ try {
13
+ return await g(s, G, "estimateGas")({
14
+ data: `${m}${e ? e.replace("0x", "") : ""}`,
15
+ to: o,
16
+ ...t
17
+ });
18
+ } catch (n) {
19
+ const d = t.account ? u(t.account) : void 0;
20
+ throw p(n, {
21
+ abi: a,
22
+ address: o,
23
+ args: r,
24
+ docsPath: "/docs/contract/estimateContractGas",
25
+ functionName: c,
26
+ sender: d?.address
27
+ });
28
+ }
6
29
  }
7
30
  export {
8
- a as getBlobBaseFee
31
+ A as estimateContractGas
9
32
  };
@@ -1,7 +1,7 @@
1
1
  import { createSpendPermission as i } from "@coinbase/cdp-core";
2
2
  import { useState as p } from "react";
3
3
  import { useCurrentUser as d, useWaitForUserOperation as S, useEnforceAuthenticated as v } from "./index3.js";
4
- import { validateUserOwnsSmartAccount as w } from "./index9.js";
4
+ import { validateUserOwnsSmartAccount as w } from "./index14.js";
5
5
  const P = () => {
6
6
  const { currentUser: r } = d(), [n, o] = p(
7
7
  void 0
@@ -1,19 +1,49 @@
1
- import { BlockNotFoundError as f } from "./index88.js";
2
- import { numberToHex as u } from "./index113.js";
3
- import { formatBlock as d } from "./index118.js";
4
- async function B(e, { blockHash: t, blockNumber: r, blockTag: m = e.experimental_blockTag ?? "latest", includeTransactions: s } = {}) {
5
- const a = s ?? !1, n = r !== void 0 ? u(r) : void 0;
6
- let o = null;
7
- if (t ? o = await e.request({
8
- method: "eth_getBlockByHash",
9
- params: [t, a]
10
- }, { dedupe: !0 }) : o = await e.request({
11
- method: "eth_getBlockByNumber",
12
- params: [n || m, a]
13
- }, { dedupe: !!n }), !o)
14
- throw new f({ blockHash: t, blockNumber: r });
15
- return (e.chain?.formatters?.block?.format || d)(o);
1
+ import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index104.js";
2
+ import { getAction as l } from "./index218.js";
3
+ import { internal_estimateMaxPriorityFeePerGas as u } from "./index42.js";
4
+ import { getBlock as G } from "./index45.js";
5
+ import { getGasPrice as b } from "./index55.js";
6
+ async function E(e, s) {
7
+ return g(e, s);
8
+ }
9
+ async function g(e, s) {
10
+ const { block: i, chain: a = e.chain, request: t, type: f = "eip1559" } = s || {}, o = await (async () => typeof a?.fees?.baseFeeMultiplier == "function" ? a.fees.baseFeeMultiplier({
11
+ block: i,
12
+ client: e,
13
+ request: t
14
+ }) : a?.fees?.baseFeeMultiplier ?? 1.2)();
15
+ if (o < 1)
16
+ throw new p();
17
+ const m = 10 ** (o.toString().split(".")[1]?.length ?? 0), n = (r) => r * BigInt(Math.ceil(o * m)) / BigInt(m), c = i || await l(e, G, "getBlock")({});
18
+ if (typeof a?.fees?.estimateFeesPerGas == "function") {
19
+ const r = await a.fees.estimateFeesPerGas({
20
+ block: i,
21
+ client: e,
22
+ multiply: n,
23
+ request: t,
24
+ type: f
25
+ });
26
+ if (r !== null)
27
+ return r;
28
+ }
29
+ if (f === "eip1559") {
30
+ if (typeof c.baseFeePerGas != "bigint")
31
+ throw new F();
32
+ const r = typeof t?.maxPriorityFeePerGas == "bigint" ? t.maxPriorityFeePerGas : await u(e, {
33
+ block: c,
34
+ chain: a,
35
+ request: t
36
+ }), P = n(c.baseFeePerGas);
37
+ return {
38
+ maxFeePerGas: t?.maxFeePerGas ?? P + r,
39
+ maxPriorityFeePerGas: r
40
+ };
41
+ }
42
+ return {
43
+ gasPrice: t?.gasPrice ?? n(await l(e, b, "getGasPrice")({}))
44
+ };
16
45
  }
17
46
  export {
18
- B as getBlock
47
+ E as estimateFeesPerGas,
48
+ g as internal_estimateFeesPerGas
19
49
  };