@coinbase/cdp-hooks 0.0.96 → 0.0.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/esm/index100.js +35 -25
  2. package/dist/esm/index101.js +9 -46
  3. package/dist/esm/index102.js +31 -69
  4. package/dist/esm/index103.js +36 -40
  5. package/dist/esm/index104.js +9 -75
  6. package/dist/esm/index105.js +25 -27
  7. package/dist/esm/index106.js +46 -6
  8. package/dist/esm/index107.js +69 -16
  9. package/dist/esm/index108.js +40 -8
  10. package/dist/esm/index109.js +75 -13
  11. package/dist/esm/index110.js +31 -7
  12. package/dist/esm/index111.js +6 -9
  13. package/dist/esm/index112.js +16 -16
  14. package/dist/esm/index113.js +8 -12
  15. package/dist/esm/index114.js +13 -46
  16. package/dist/esm/index115.js +7 -13
  17. package/dist/esm/index116.js +9 -16
  18. package/dist/esm/index117.js +16 -13
  19. package/dist/esm/index118.js +11 -5
  20. package/dist/esm/index119.js +46 -35
  21. package/dist/esm/index120.js +13 -9
  22. package/dist/esm/index121.js +15 -7
  23. package/dist/esm/index122.js +13 -28
  24. package/dist/esm/index123.js +6 -10
  25. package/dist/esm/index124.js +32 -11
  26. package/dist/esm/index125.js +9 -11
  27. package/dist/esm/index126.js +8 -120
  28. package/dist/esm/index127.js +27 -32
  29. package/dist/esm/index128.js +10 -80
  30. package/dist/esm/index129.js +13 -176
  31. package/dist/esm/index130.js +11 -44
  32. package/dist/esm/index131.js +120 -6
  33. package/dist/esm/index132.js +30 -151
  34. package/dist/esm/index133.js +80 -14
  35. package/dist/esm/index134.js +177 -14
  36. package/dist/esm/index135.js +42 -97
  37. package/dist/esm/index136.js +6 -72
  38. package/dist/esm/index137.js +153 -86
  39. package/dist/esm/index138.js +14 -148
  40. package/dist/esm/index139.js +14 -136
  41. package/dist/esm/index140.js +94 -63
  42. package/dist/esm/index141.js +72 -23
  43. package/dist/esm/index142.js +83 -154
  44. package/dist/esm/index143.js +148 -6
  45. package/dist/esm/index144.js +136 -11
  46. package/dist/esm/index145.js +68 -19
  47. package/dist/esm/index146.js +23 -135
  48. package/dist/esm/index147.js +155 -75
  49. package/dist/esm/index148.js +6 -9
  50. package/dist/esm/index149.js +11 -28
  51. package/dist/esm/index150.js +17 -87
  52. package/dist/esm/index151.js +135 -350
  53. package/dist/esm/index152.js +79 -3
  54. package/dist/esm/index153.js +10 -5
  55. package/dist/esm/index154.js +29 -2
  56. package/dist/esm/index155.js +90 -3
  57. package/dist/esm/index156.js +351 -9
  58. package/dist/esm/index157.js +3 -327
  59. package/dist/esm/index158.js +5 -14
  60. package/dist/esm/index159.js +2 -5
  61. package/dist/esm/index160.js +3 -56
  62. package/dist/esm/index161.js +9 -13
  63. package/dist/esm/index162.js +327 -2
  64. package/dist/esm/index163.js +13 -7
  65. package/dist/esm/index164.js +4 -30
  66. package/dist/esm/index165.js +29 -188
  67. package/dist/esm/index166.js +13 -32
  68. package/dist/esm/index167.js +2 -22
  69. package/dist/esm/index168.js +7 -5
  70. package/dist/esm/index169.js +25 -68
  71. package/dist/esm/index170.js +214 -5
  72. package/dist/esm/index171.js +32 -6
  73. package/dist/esm/index172.js +20 -34
  74. package/dist/esm/index173.js +5 -119
  75. package/dist/esm/index174.js +74 -3
  76. package/dist/esm/index175.js +5 -18
  77. package/dist/esm/index176.js +5 -26
  78. package/dist/esm/index177.js +28 -26
  79. package/dist/esm/index178.js +105 -20
  80. package/dist/esm/index179.js +3 -24
  81. package/dist/esm/index180.js +17 -7
  82. package/dist/esm/index181.js +18 -185
  83. package/dist/esm/index182.js +34 -2
  84. package/dist/esm/index183.js +28 -461
  85. package/dist/esm/index184.js +16 -20
  86. package/dist/esm/index185.js +6 -158
  87. package/dist/esm/index186.js +193 -21
  88. package/dist/esm/index187.js +2 -128
  89. package/dist/esm/index188.js +467 -38
  90. package/dist/esm/index189.js +27 -6
  91. package/dist/esm/index190.js +160 -27
  92. package/dist/esm/index191.js +20 -54
  93. package/dist/esm/index192.js +126 -44
  94. package/dist/esm/index193.js +31 -184
  95. package/dist/esm/index194.js +7 -4
  96. package/dist/esm/index195.js +26 -72
  97. package/dist/esm/index196.js +52 -17
  98. package/dist/esm/index197.js +46 -3
  99. package/dist/esm/index198.js +188 -13
  100. package/dist/esm/index199.js +4 -24
  101. package/dist/esm/index200.js +73 -11
  102. package/dist/esm/index201.js +18 -16
  103. package/dist/esm/index202.js +3 -35
  104. package/dist/esm/index203.js +17 -3
  105. package/dist/esm/index204.js +23 -18
  106. package/dist/esm/index205.js +11 -27
  107. package/dist/esm/index206.js +17 -34
  108. package/dist/esm/index207.js +34 -8
  109. package/dist/esm/index208.js +3 -8
  110. package/dist/esm/index209.js +18 -25
  111. package/dist/esm/index210.js +26 -27
  112. package/dist/esm/index211.js +35 -3
  113. package/dist/esm/index212.js +8 -79
  114. package/dist/esm/index213.js +7 -9
  115. package/dist/esm/index214.js +23 -10
  116. package/dist/esm/index215.js +27 -20
  117. package/dist/esm/index216.js +3 -8
  118. package/dist/esm/index217.js +78 -9
  119. package/dist/esm/index218.js +9 -11
  120. package/dist/esm/index219.js +12 -6
  121. package/dist/esm/index220.js +21 -6
  122. package/dist/esm/index221.js +8 -13
  123. package/dist/esm/index222.js +9 -31
  124. package/dist/esm/index223.js +12 -5
  125. package/dist/esm/index224.js +6 -37
  126. package/dist/esm/index225.js +6 -110
  127. package/dist/esm/index226.js +12 -47
  128. package/dist/esm/index227.js +31 -31
  129. package/dist/esm/index228.js +5 -18
  130. package/dist/esm/index229.js +35 -17
  131. package/dist/esm/index230.js +108 -40
  132. package/dist/esm/index231.js +46 -40
  133. package/dist/esm/index232.js +32 -8
  134. package/dist/esm/index233.js +17 -7
  135. package/dist/esm/index234.js +19 -16
  136. package/dist/esm/index235.js +42 -22
  137. package/dist/esm/index236.js +40 -22
  138. package/dist/esm/index237.js +8 -16
  139. package/dist/esm/index238.js +7 -54
  140. package/dist/esm/index239.js +16 -27
  141. package/dist/esm/index240.js +22 -24
  142. package/dist/esm/index241.js +24 -104
  143. package/dist/esm/index242.js +17 -3
  144. package/dist/esm/index243.js +54 -5
  145. package/dist/esm/index244.js +26 -30
  146. package/dist/esm/index245.js +24 -20
  147. package/dist/esm/index246.js +104 -3
  148. package/dist/esm/index247.js +3 -18
  149. package/dist/esm/index248.js +5 -5
  150. package/dist/esm/index249.js +31 -8
  151. package/dist/esm/index250.js +19 -102
  152. package/dist/esm/index251.js +3 -64
  153. package/dist/esm/index252.js +17 -5
  154. package/dist/esm/index253.js +5 -6
  155. package/dist/esm/index254.js +8 -27
  156. package/dist/esm/index255.js +103 -33
  157. package/dist/esm/index256.js +64 -13
  158. package/dist/esm/index257.js +5 -16
  159. package/dist/esm/index258.js +6 -78
  160. package/dist/esm/index259.js +28 -2
  161. package/dist/esm/index260.js +33 -14
  162. package/dist/esm/index261.js +13 -18
  163. package/dist/esm/index262.js +16 -171
  164. package/dist/esm/index263.js +77 -16
  165. package/dist/esm/index264.js +2 -11
  166. package/dist/esm/index265.js +15 -10
  167. package/dist/esm/index266.js +18 -38
  168. package/dist/esm/index267.js +172 -2
  169. package/dist/esm/index268.js +17 -69
  170. package/dist/esm/index269.js +10 -34
  171. package/dist/esm/index270.js +10 -15
  172. package/dist/esm/index271.js +2 -41
  173. package/dist/esm/index272.js +41 -2
  174. package/dist/esm/index273.js +2 -5
  175. package/dist/esm/index274.js +4 -10
  176. package/dist/esm/index275.js +9 -18
  177. package/dist/esm/index276.js +19 -7
  178. package/dist/esm/index277.js +7 -11
  179. package/dist/esm/index278.js +11 -72
  180. package/dist/esm/index279.js +71 -64
  181. package/dist/esm/index280.js +60 -182
  182. package/dist/esm/index281.js +185 -20
  183. package/dist/esm/index282.js +21 -41
  184. package/dist/esm/index283.js +41 -24
  185. package/dist/esm/index284.js +24 -89
  186. package/dist/esm/index285.js +68 -18
  187. package/dist/esm/index286.js +34 -10
  188. package/dist/esm/index287.js +10 -7
  189. package/dist/esm/index288.js +13 -7
  190. package/dist/esm/index289.js +7 -6
  191. package/dist/esm/index290.js +6 -36
  192. package/dist/esm/index291.js +35 -14
  193. package/dist/esm/index292.js +15 -8
  194. package/dist/esm/index293.js +8 -8
  195. package/dist/esm/index294.js +8 -16
  196. package/dist/esm/index295.js +15 -21
  197. package/dist/esm/index296.js +22 -30
  198. package/dist/esm/index297.js +31 -2
  199. package/dist/esm/index298.js +2 -14
  200. package/dist/esm/index299.js +13 -12
  201. package/dist/esm/index3.js +1 -1
  202. package/dist/esm/index300.js +10 -45
  203. package/dist/esm/index301.js +47 -9
  204. package/dist/esm/index302.js +8 -12
  205. package/dist/esm/index303.js +10 -10
  206. package/dist/esm/index304.js +13 -14
  207. package/dist/esm/index305.js +14 -8
  208. package/dist/esm/index306.js +6 -13
  209. package/dist/esm/index307.js +15 -24
  210. package/dist/esm/index308.js +24 -24
  211. package/dist/esm/index309.js +20 -27
  212. package/dist/esm/index310.js +31 -9
  213. package/dist/esm/index311.js +9 -51
  214. package/dist/esm/index312.js +38 -24
  215. package/dist/esm/index313.js +37 -17
  216. package/dist/esm/index314.js +17 -14
  217. package/dist/esm/index315.js +14 -11
  218. package/dist/esm/index316.js +11 -12
  219. package/dist/esm/index317.js +12 -19
  220. package/dist/esm/index318.js +18 -106
  221. package/dist/esm/index319.js +105 -101
  222. package/dist/esm/index320.js +103 -6
  223. package/dist/esm/index321.js +7 -7
  224. package/dist/esm/index322.js +7 -27
  225. package/dist/esm/index323.js +26 -15
  226. package/dist/esm/index324.js +13 -211
  227. package/dist/esm/index325.js +213 -12
  228. package/dist/esm/index326.js +12 -35
  229. package/dist/esm/index327.js +35 -41
  230. package/dist/esm/index328.js +42 -2
  231. package/dist/esm/index329.js +3 -68
  232. package/dist/esm/index330.js +68 -3
  233. package/dist/esm/index331.js +3 -136
  234. package/dist/esm/index332.js +125 -163
  235. package/dist/esm/index333.js +174 -9
  236. package/dist/esm/index334.js +9 -16
  237. package/dist/esm/index335.js +16 -133
  238. package/dist/esm/index336.js +112 -172
  239. package/dist/esm/index337.js +194 -2
  240. package/dist/esm/index338.js +2 -79
  241. package/dist/esm/index339.js +77 -13
  242. package/dist/esm/index340.js +13 -89
  243. package/dist/esm/index341.js +70 -143
  244. package/dist/esm/index342.js +157 -36
  245. package/dist/esm/index343.js +41 -654
  246. package/dist/esm/index344.js +646 -196
  247. package/dist/esm/index345.js +201 -172
  248. package/dist/esm/index346.js +176 -3
  249. package/dist/esm/index347.js +1 -1
  250. package/dist/esm/index349.js +2 -2
  251. package/dist/esm/index350.js +1 -1
  252. package/dist/esm/index351.js +1 -1
  253. package/dist/esm/index352.js +2 -2
  254. package/dist/esm/index353.js +3 -3
  255. package/dist/esm/index354.js +1 -1
  256. package/dist/esm/index73.js +2 -2
  257. package/dist/esm/index74.js +1 -1
  258. package/dist/esm/index75.js +2 -2
  259. package/dist/esm/index76.js +1 -1
  260. package/dist/esm/index77.js +1 -1
  261. package/dist/esm/index78.js +1 -1
  262. package/dist/esm/index79.js +1 -1
  263. package/dist/esm/index80.js +2 -2
  264. package/dist/esm/index81.js +2 -2
  265. package/dist/esm/index82.js +5 -5
  266. package/dist/esm/index83.js +2 -2
  267. package/dist/esm/index85.js +37 -33
  268. package/dist/esm/index86.js +2 -4
  269. package/dist/esm/index87.js +69 -9
  270. package/dist/esm/index88.js +33 -117
  271. package/dist/esm/index89.js +13 -60
  272. package/dist/esm/index90.js +33 -23
  273. package/dist/esm/index91.js +3 -36
  274. package/dist/esm/index92.js +9 -41
  275. package/dist/esm/index93.js +118 -58
  276. package/dist/esm/index94.js +58 -165
  277. package/dist/esm/index95.js +21 -36
  278. package/dist/esm/index96.js +36 -9
  279. package/dist/esm/index97.js +38 -28
  280. package/dist/esm/index98.js +58 -36
  281. package/dist/esm/index99.js +167 -8
  282. package/package.json +3 -3
@@ -1,32 +1,42 @@
1
- import { parseAccount as m } from "./index86.js";
2
- import { encodeFunctionData as u } from "./index208.js";
3
- import { getContractError as p } from "./index235.js";
4
- import { getAction as g } from "./index288.js";
5
- import { estimateGas as x } from "./index102.js";
6
- async function w(t, i) {
7
- const { abi: o, address: r, args: e, functionName: s, dataSuffix: c = typeof t.dataSuffix == "string" ? t.dataSuffix : t.dataSuffix?.value, ...a } = i, f = u({
8
- abi: o,
9
- args: e,
10
- functionName: s
11
- });
1
+ import { parseAccount as L } from "./index91.js";
2
+ import { numberToHex as P } from "./index197.js";
3
+ import { getCallError as y } from "./index299.js";
4
+ import { extract as A } from "./index300.js";
5
+ import { formatTransactionRequest as F } from "./index245.js";
6
+ import { assertRequest as G } from "./index262.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, s = o ? L(o) : void 0;
12
9
  try {
13
- return await g(t, x, "estimateGas")({
14
- data: `${f}${c ? c.replace("0x", "") : ""}`,
15
- to: r,
16
- ...a
10
+ G(e);
11
+ const k = (typeof r == "bigint" ? P(r) : void 0) || m, c = t.chain?.formatters?.transactionRequest?.format, q = (c || F)({
12
+ // Pick out extra data that might exist on the chain's transaction request type.
13
+ ...A(g, { format: c }),
14
+ account: s,
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
+ }, "createAccessList"), n = await t.request({
25
+ method: "eth_createAccessList",
26
+ params: [q, k]
17
27
  });
18
- } catch (n) {
19
- const d = a.account ? m(a.account) : void 0;
20
- throw p(n, {
21
- abi: o,
22
- address: r,
23
- args: e,
24
- docsPath: "/docs/contract/estimateContractGas",
25
- functionName: s,
26
- sender: d?.address
28
+ return {
29
+ accessList: n.accessList,
30
+ gasUsed: BigInt(n.gasUsed)
31
+ };
32
+ } catch (a) {
33
+ throw y(a, {
34
+ ...e,
35
+ account: s,
36
+ chain: t.chain
27
37
  });
28
38
  }
29
39
  }
30
40
  export {
31
- w as estimateContractGas
41
+ _ as createAccessList
32
42
  };
@@ -1,49 +1,12 @@
1
- import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index179.js";
2
- import { getAction as l } from "./index288.js";
3
- import { internal_estimateMaxPriorityFeePerGas as u } from "./index103.js";
4
- import { getBlock as G } from "./index107.js";
5
- import { getGasPrice as b } from "./index118.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 "./index290.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,72 +1,34 @@
1
- import { parseAccount as H } from "./index86.js";
2
- import { BaseError as P } from "./index160.js";
3
- import { recoverAuthorizationAddress as T } from "./index301.js";
4
- import { numberToHex as F } from "./index192.js";
5
- import { getEstimateGasError as R } from "./index302.js";
6
- import { extract as B } from "./index299.js";
7
- import { formatTransactionRequest as E } from "./index240.js";
8
- import { serializeStateOverride as N } from "./index300.js";
9
- import { assertRequest as O } from "./index257.js";
10
- import { prepareTransactionRequest as _ } from "./index142.js";
11
- async function X(r, t) {
12
- const { account: c = r.account, prepare: o = !0 } = t, a = c ? H(c) : void 0, p = (() => {
13
- if (Array.isArray(o))
14
- return o;
15
- if (a?.type !== "local")
16
- return ["blobVersionedHashes"];
17
- })();
18
- try {
19
- const e = await (async () => {
20
- if (t.to)
21
- return t.to;
22
- if (t.authorizationList && t.authorizationList.length > 0)
23
- return await T({
24
- authorization: t.authorizationList[0]
25
- }).catch(() => {
26
- throw new P("`to` is required. Could not infer from `authorizationList`");
27
- });
28
- })(), { accessList: h, authorizationList: d, blobs: b, blobVersionedHashes: l, blockNumber: m, blockTag: x, data: y, gas: i, gasPrice: z, maxFeePerBlobGas: q, maxFeePerGas: w, maxPriorityFeePerGas: G, nonce: k, value: L, stateOverride: v, ...A } = o ? await _(r, {
29
- ...t,
30
- parameters: p,
31
- to: e
32
- }) : t;
33
- if (i && t.gas !== i)
34
- return i;
35
- const n = (typeof m == "bigint" ? F(m) : void 0) || x, u = N(v);
36
- O(t);
37
- const f = r.chain?.formatters?.transactionRequest?.format, s = (f || E)({
38
- // Pick out extra data that might exist on the chain's transaction request type.
39
- ...B(A, { format: f }),
40
- account: a,
41
- accessList: h,
42
- authorizationList: d,
43
- blobs: b,
44
- blobVersionedHashes: l,
45
- data: y,
46
- gasPrice: z,
47
- maxFeePerBlobGas: q,
48
- maxFeePerGas: w,
49
- maxPriorityFeePerGas: G,
50
- nonce: k,
51
- to: e,
52
- value: L
53
- }, "estimateGas");
54
- return BigInt(await r.request({
55
- method: "eth_estimateGas",
56
- params: u ? [
57
- s,
58
- n ?? r.experimental_blockTag ?? "latest",
59
- u
60
- ] : n ? [s, n] : [s]
61
- }));
62
- } catch (e) {
63
- throw R(e, {
64
- ...t,
65
- account: a,
66
- chain: r.chain
67
- });
68
- }
1
+ import { encodeEventTopics as l } from "./index211.js";
2
+ import { numberToHex as s } from "./index197.js";
3
+ import { createFilterRequestScope as u } from "./index290.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
+ };
69
31
  }
70
32
  export {
71
- X as estimateGas
33
+ h as createContractEventFilter
72
34
  };
@@ -1,43 +1,39 @@
1
- import { Eip1559FeesNotSupportedError as f } from "./index179.js";
2
- import { hexToBigInt as u } from "./index230.js";
3
- import { getAction as s } from "./index288.js";
4
- import { getBlock as c } from "./index107.js";
5
- import { getGasPrice as y } from "./index118.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 "./index211.js";
2
+ import { numberToHex as m } from "./index197.js";
3
+ import { createFilterRequestScope as h } from "./index290.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,78 +1,12 @@
1
- import { parseAccount as g } from "./index86.js";
2
- import { BaseFeeScalarError as v } from "./index179.js";
3
- import { getTransactionError as A } from "./index303.js";
4
- import { extract as C } from "./index299.js";
5
- import { formatTransaction as E } from "./index238.js";
6
- import { formatTransactionRequest as H } from "./index240.js";
7
- import { getAction as F } from "./index288.js";
8
- import { assertRequest as L } from "./index257.js";
9
- import { getBlock as S } from "./index107.js";
10
- import { getChainId as z } from "./index110.js";
11
- async function Z(t, a) {
12
- const { account: i = t.account, accessList: x, authorizationList: G, chain: r = t.chain, blobVersionedHashes: h, blobs: b, data: y, gas: p, gasPrice: w, maxFeePerBlobGas: B, maxFeePerGas: q, maxPriorityFeePerGas: I, nonce: n, nonceManager: m, to: M, type: T, value: k, ...R } = a, _ = await (async () => {
13
- if (!i || !m || typeof n < "u")
14
- return n;
15
- const o = g(i), P = r ? r.id : await F(t, z, "getChainId")({});
16
- return await m.consume({
17
- address: o.address,
18
- chainId: P,
19
- client: t
20
- });
21
- })();
22
- L(a);
23
- const f = r?.formatters?.transactionRequest?.format, l = (f || H)({
24
- // Pick out extra data that might exist on the chain's transaction request type.
25
- ...C(R, { format: f }),
26
- account: i ? g(i) : void 0,
27
- accessList: x,
28
- authorizationList: G,
29
- blobs: b,
30
- blobVersionedHashes: h,
31
- data: y,
32
- gas: p,
33
- gasPrice: w,
34
- maxFeePerBlobGas: B,
35
- maxFeePerGas: q,
36
- maxPriorityFeePerGas: I,
37
- nonce: _,
38
- to: M,
39
- type: T,
40
- value: k
41
- }, "fillTransaction");
42
- try {
43
- const o = await t.request({
44
- method: "eth_fillTransaction",
45
- params: [l]
46
- }), e = (r?.formatters?.transaction?.format || E)(o.tx);
47
- delete e.blockHash, delete e.blockNumber, delete e.r, delete e.s, delete e.transactionIndex, delete e.v, delete e.yParity, e.data = e.input, e.gas && (e.gas = a.gas ?? e.gas), e.gasPrice && (e.gasPrice = a.gasPrice ?? e.gasPrice), e.maxFeePerBlobGas && (e.maxFeePerBlobGas = a.maxFeePerBlobGas ?? e.maxFeePerBlobGas), e.maxFeePerGas && (e.maxFeePerGas = a.maxFeePerGas ?? e.maxFeePerGas), e.maxPriorityFeePerGas && (e.maxPriorityFeePerGas = a.maxPriorityFeePerGas ?? e.maxPriorityFeePerGas), e.nonce && (e.nonce = a.nonce ?? e.nonce);
48
- const s = await (async () => {
49
- if (typeof r?.fees?.baseFeeMultiplier == "function") {
50
- const c = await F(t, S, "getBlock")({});
51
- return r.fees.baseFeeMultiplier({
52
- block: c,
53
- client: t,
54
- request: a
55
- });
56
- }
57
- return r?.fees?.baseFeeMultiplier ?? 1.2;
58
- })();
59
- if (s < 1)
60
- throw new v();
61
- const u = 10 ** (s.toString().split(".")[1]?.length ?? 0), d = (c) => c * BigInt(Math.ceil(s * u)) / BigInt(u);
62
- return e.maxFeePerGas && !a.maxFeePerGas && (e.maxFeePerGas = d(e.maxFeePerGas)), e.gasPrice && !a.gasPrice && (e.gasPrice = d(e.gasPrice)), {
63
- raw: o.raw,
64
- transaction: {
65
- from: l.from,
66
- ...e
67
- }
68
- };
69
- } catch (o) {
70
- throw A(o, {
71
- ...a,
72
- chain: t.chain
73
- });
74
- }
1
+ import { createFilterRequestScope as r } from "./index290.js";
2
+ async function a(e) {
3
+ const n = r(e, {
4
+ method: "eth_newPendingTransactionFilter"
5
+ }), t = await e.request({
6
+ method: "eth_newPendingTransactionFilter"
7
+ });
8
+ return { id: t, request: n(t), type: "transaction" };
75
9
  }
76
10
  export {
77
- Z as fillTransaction
11
+ a as createPendingTransactionFilter
78
12
  };
@@ -1,34 +1,32 @@
1
- import { multicall3Abi as c } from "./index151.js";
2
- import { decodeFunctionResult as u } from "./index199.js";
3
- import { encodeFunctionData as s } from "./index208.js";
4
- import { numberToHex as f } from "./index192.js";
5
- import { getAction as d } from "./index288.js";
6
- import { call as p } from "./index94.js";
7
- async function w(t, { address: a, blockNumber: o, blockTag: n = t.experimental_blockTag ?? "latest" }) {
8
- if (t.batch?.multicall && t.chain?.contracts?.multicall3) {
9
- const r = t.chain.contracts.multicall3.address, l = s({
10
- abi: c,
11
- functionName: "getEthBalance",
12
- args: [a]
13
- }), { data: m } = await d(t, p, "call")({
1
+ import { parseAccount as m } from "./index91.js";
2
+ import { encodeFunctionData as u } from "./index213.js";
3
+ import { getContractError as p } from "./index240.js";
4
+ import { getAction as g } from "./index289.js";
5
+ import { estimateGas as x } from "./index107.js";
6
+ async function w(t, i) {
7
+ const { abi: o, address: r, args: e, functionName: s, dataSuffix: c = typeof t.dataSuffix == "string" ? t.dataSuffix : t.dataSuffix?.value, ...a } = i, f = u({
8
+ abi: o,
9
+ args: e,
10
+ functionName: s
11
+ });
12
+ try {
13
+ return await g(t, x, "estimateGas")({
14
+ data: `${f}${c ? c.replace("0x", "") : ""}`,
14
15
  to: r,
15
- data: l,
16
- blockNumber: o,
17
- blockTag: n
16
+ ...a
18
17
  });
19
- return u({
20
- abi: c,
21
- functionName: "getEthBalance",
22
- args: [a],
23
- data: m || "0x"
18
+ } catch (n) {
19
+ const d = a.account ? m(a.account) : void 0;
20
+ throw p(n, {
21
+ abi: o,
22
+ address: r,
23
+ args: e,
24
+ docsPath: "/docs/contract/estimateContractGas",
25
+ functionName: s,
26
+ sender: d?.address
24
27
  });
25
28
  }
26
- const e = typeof o == "bigint" ? f(o) : void 0, i = await t.request({
27
- method: "eth_getBalance",
28
- params: [a, e || n]
29
- });
30
- return BigInt(i);
31
29
  }
32
30
  export {
33
- w as getBalance
31
+ w as estimateContractGas
34
32
  };
@@ -1,9 +1,49 @@
1
- async function a(e) {
2
- const t = await e.request({
3
- method: "eth_blobBaseFee"
4
- });
5
- return BigInt(t);
1
+ import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index184.js";
2
+ import { getAction as l } from "./index289.js";
3
+ import { internal_estimateMaxPriorityFeePerGas as u } from "./index108.js";
4
+ import { getBlock as G } from "./index112.js";
5
+ import { getGasPrice as b } from "./index123.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
+ };
6
45
  }
7
46
  export {
8
- a as getBlobBaseFee
47
+ E as estimateFeesPerGas,
48
+ g as internal_estimateFeesPerGas
9
49
  };
@@ -1,19 +1,72 @@
1
- import { BlockNotFoundError as f } from "./index163.js";
2
- import { numberToHex as u } from "./index192.js";
3
- import { formatBlock as c } from "./index236.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 || c)(o, "getBlock");
1
+ import { parseAccount as H } from "./index91.js";
2
+ import { BaseError as P } from "./index165.js";
3
+ import { recoverAuthorizationAddress as T } from "./index302.js";
4
+ import { numberToHex as F } from "./index197.js";
5
+ import { getEstimateGasError as R } from "./index303.js";
6
+ import { extract as B } from "./index300.js";
7
+ import { formatTransactionRequest as E } from "./index245.js";
8
+ import { serializeStateOverride as N } from "./index301.js";
9
+ import { assertRequest as O } from "./index262.js";
10
+ import { prepareTransactionRequest as _ } from "./index147.js";
11
+ async function X(r, t) {
12
+ const { account: c = r.account, prepare: o = !0 } = t, a = c ? H(c) : void 0, p = (() => {
13
+ if (Array.isArray(o))
14
+ return o;
15
+ if (a?.type !== "local")
16
+ return ["blobVersionedHashes"];
17
+ })();
18
+ try {
19
+ const e = await (async () => {
20
+ if (t.to)
21
+ return t.to;
22
+ if (t.authorizationList && t.authorizationList.length > 0)
23
+ return await T({
24
+ authorization: t.authorizationList[0]
25
+ }).catch(() => {
26
+ throw new P("`to` is required. Could not infer from `authorizationList`");
27
+ });
28
+ })(), { accessList: h, authorizationList: d, blobs: b, blobVersionedHashes: l, blockNumber: m, blockTag: x, data: y, gas: i, gasPrice: z, maxFeePerBlobGas: q, maxFeePerGas: w, maxPriorityFeePerGas: G, nonce: k, value: L, stateOverride: v, ...A } = o ? await _(r, {
29
+ ...t,
30
+ parameters: p,
31
+ to: e
32
+ }) : t;
33
+ if (i && t.gas !== i)
34
+ return i;
35
+ const n = (typeof m == "bigint" ? F(m) : void 0) || x, u = N(v);
36
+ O(t);
37
+ const f = r.chain?.formatters?.transactionRequest?.format, s = (f || E)({
38
+ // Pick out extra data that might exist on the chain's transaction request type.
39
+ ...B(A, { format: f }),
40
+ account: a,
41
+ accessList: h,
42
+ authorizationList: d,
43
+ blobs: b,
44
+ blobVersionedHashes: l,
45
+ data: y,
46
+ gasPrice: z,
47
+ maxFeePerBlobGas: q,
48
+ maxFeePerGas: w,
49
+ maxPriorityFeePerGas: G,
50
+ nonce: k,
51
+ to: e,
52
+ value: L
53
+ }, "estimateGas");
54
+ return BigInt(await r.request({
55
+ method: "eth_estimateGas",
56
+ params: u ? [
57
+ s,
58
+ n ?? r.experimental_blockTag ?? "latest",
59
+ u
60
+ ] : n ? [s, n] : [s]
61
+ }));
62
+ } catch (e) {
63
+ throw R(e, {
64
+ ...t,
65
+ account: a,
66
+ chain: r.chain
67
+ });
68
+ }
16
69
  }
17
70
  export {
18
- B as getBlock
71
+ X as estimateGas
19
72
  };