@coinbase/cdp-hooks 0.0.52 → 0.0.53

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 (286) hide show
  1. package/dist/esm/index10.js +6 -3
  2. package/dist/esm/index100.js +73 -5
  3. package/dist/esm/index101.js +5 -35
  4. package/dist/esm/index102.js +5 -75
  5. package/dist/esm/index103.js +36 -3
  6. package/dist/esm/index104.js +67 -15
  7. package/dist/esm/index105.js +3 -452
  8. package/dist/esm/index106.js +15 -22
  9. package/dist/esm/index107.js +440 -15
  10. package/dist/esm/index108.js +21 -24
  11. package/dist/esm/index109.js +24 -32
  12. package/dist/esm/index11.js +10 -6
  13. package/dist/esm/index110.js +22 -182
  14. package/dist/esm/index111.js +32 -6
  15. package/dist/esm/index112.js +194 -2
  16. package/dist/esm/index113.js +6 -10
  17. package/dist/esm/index114.js +2 -19
  18. package/dist/esm/index115.js +10 -25
  19. package/dist/esm/index116.js +18 -8
  20. package/dist/esm/index117.js +24 -52
  21. package/dist/esm/index118.js +8 -45
  22. package/dist/esm/index119.js +55 -8
  23. package/dist/esm/index12.js +51 -34
  24. package/dist/esm/index120.js +45 -7
  25. package/dist/esm/index121.js +8 -16
  26. package/dist/esm/index122.js +7 -18
  27. package/dist/esm/index123.js +16 -24
  28. package/dist/esm/index124.js +18 -16
  29. package/dist/esm/index125.js +22 -52
  30. package/dist/esm/index126.js +16 -11
  31. package/dist/esm/index127.js +53 -159
  32. package/dist/esm/index128.js +11 -21
  33. package/dist/esm/index129.js +157 -124
  34. package/dist/esm/index13.js +9 -18
  35. package/dist/esm/index130.js +20 -37
  36. package/dist/esm/index131.js +127 -6
  37. package/dist/esm/index132.js +35 -24
  38. package/dist/esm/index133.js +6 -191
  39. package/dist/esm/index134.js +28 -4
  40. package/dist/esm/index135.js +184 -57
  41. package/dist/esm/index136.js +4 -3
  42. package/dist/esm/index137.js +60 -16
  43. package/dist/esm/index138.js +3 -17
  44. package/dist/esm/index139.js +19 -22
  45. package/dist/esm/index14.js +34 -12
  46. package/dist/esm/index140.js +16 -11
  47. package/dist/esm/index141.js +22 -33
  48. package/dist/esm/index142.js +12 -3
  49. package/dist/esm/index143.js +33 -17
  50. package/dist/esm/index144.js +3 -28
  51. package/dist/esm/index145.js +18 -35
  52. package/dist/esm/index146.js +27 -7
  53. package/dist/esm/index147.js +34 -24
  54. package/dist/esm/index148.js +7 -28
  55. package/dist/esm/index149.js +24 -63
  56. package/dist/esm/index15.js +18 -12
  57. package/dist/esm/index150.js +28 -9
  58. package/dist/esm/index151.js +62 -31
  59. package/dist/esm/index152.js +9 -27
  60. package/dist/esm/index153.js +32 -23
  61. package/dist/esm/index154.js +27 -3
  62. package/dist/esm/index155.js +24 -14
  63. package/dist/esm/index156.js +3 -103
  64. package/dist/esm/index157.js +14 -64
  65. package/dist/esm/index158.js +103 -5
  66. package/dist/esm/index159.js +64 -6
  67. package/dist/esm/index16.js +12 -54
  68. package/dist/esm/index160.js +5 -27
  69. package/dist/esm/index161.js +6 -39
  70. package/dist/esm/index162.js +27 -13
  71. package/dist/esm/index163.js +38 -41
  72. package/dist/esm/index164.js +13 -5
  73. package/dist/esm/index165.js +42 -11
  74. package/dist/esm/index166.js +5 -19
  75. package/dist/esm/index167.js +11 -78
  76. package/dist/esm/index168.js +20 -2
  77. package/dist/esm/index169.js +74 -33
  78. package/dist/esm/index17.js +11 -57
  79. package/dist/esm/index170.js +2 -111
  80. package/dist/esm/index171.js +27 -38
  81. package/dist/esm/index172.js +108 -30
  82. package/dist/esm/index173.js +48 -8
  83. package/dist/esm/index174.js +32 -6
  84. package/dist/esm/index175.js +8 -6
  85. package/dist/esm/index176.js +6 -11
  86. package/dist/esm/index177.js +6 -10
  87. package/dist/esm/index178.js +11 -13
  88. package/dist/esm/index179.js +9 -31
  89. package/dist/esm/index18.js +21 -23
  90. package/dist/esm/index180.js +14 -5
  91. package/dist/esm/index181.js +32 -8
  92. package/dist/esm/index182.js +5 -20
  93. package/dist/esm/index183.js +6 -29
  94. package/dist/esm/index184.js +18 -19
  95. package/dist/esm/index185.js +31 -3
  96. package/dist/esm/index186.js +17 -14
  97. package/dist/esm/index187.js +3 -10
  98. package/dist/esm/index188.js +17 -21
  99. package/dist/esm/index189.js +10 -22
  100. package/dist/esm/index19.js +56 -31
  101. package/dist/esm/index190.js +21 -5
  102. package/dist/esm/index191.js +22 -5
  103. package/dist/esm/index192.js +5 -8
  104. package/dist/esm/index193.js +5 -104
  105. package/dist/esm/index194.js +9 -3
  106. package/dist/esm/index195.js +104 -18
  107. package/dist/esm/index196.js +3 -172
  108. package/dist/esm/index197.js +15 -14
  109. package/dist/esm/index198.js +172 -10
  110. package/dist/esm/index199.js +16 -39
  111. package/dist/esm/index20.js +56 -4
  112. package/dist/esm/index200.js +10 -2
  113. package/dist/esm/index201.js +5 -5
  114. package/dist/esm/index202.js +39 -9
  115. package/dist/esm/index203.js +2 -20
  116. package/dist/esm/index204.js +4 -7
  117. package/dist/esm/index205.js +9 -10
  118. package/dist/esm/index206.js +19 -66
  119. package/dist/esm/index207.js +7 -65
  120. package/dist/esm/index208.js +10 -184
  121. package/dist/esm/index209.js +66 -22
  122. package/dist/esm/index21.js +31 -8
  123. package/dist/esm/index210.js +61 -38
  124. package/dist/esm/index211.js +178 -69
  125. package/dist/esm/index212.js +21 -39
  126. package/dist/esm/index213.js +35 -9
  127. package/dist/esm/index214.js +70 -7
  128. package/dist/esm/index215.js +40 -36
  129. package/dist/esm/index216.js +16 -15
  130. package/dist/esm/index217.js +13 -8
  131. package/dist/esm/index22.js +3 -68
  132. package/dist/esm/index220.js +35 -11
  133. package/dist/esm/index221.js +15 -9
  134. package/dist/esm/index222.js +8 -16
  135. package/dist/esm/index223.js +9 -22
  136. package/dist/esm/index224.js +16 -30
  137. package/dist/esm/index225.js +23 -2
  138. package/dist/esm/index226.js +30 -13
  139. package/dist/esm/index227.js +2 -13
  140. package/dist/esm/index228.js +13 -47
  141. package/dist/esm/index229.js +12 -9
  142. package/dist/esm/index23.js +8 -8
  143. package/dist/esm/index230.js +47 -13
  144. package/dist/esm/index231.js +9 -14
  145. package/dist/esm/index232.js +13 -8
  146. package/dist/esm/index233.js +14 -15
  147. package/dist/esm/index234.js +8 -24
  148. package/dist/esm/index235.js +14 -10
  149. package/dist/esm/index236.js +24 -24
  150. package/dist/esm/index237.js +11 -51
  151. package/dist/esm/index238.js +24 -17
  152. package/dist/esm/index239.js +48 -11
  153. package/dist/esm/index24.js +67 -27
  154. package/dist/esm/index240.js +17 -11
  155. package/dist/esm/index241.js +13 -102
  156. package/dist/esm/index242.js +11 -6
  157. package/dist/esm/index243.js +10 -222
  158. package/dist/esm/index244.js +103 -6
  159. package/dist/esm/index245.js +7 -7
  160. package/dist/esm/index246.js +223 -25
  161. package/dist/esm/index247.js +6 -19
  162. package/dist/esm/index248.js +7 -147
  163. package/dist/esm/index249.js +26 -12
  164. package/dist/esm/index25.js +9 -70
  165. package/dist/esm/index250.js +20 -36
  166. package/dist/esm/index251.js +146 -41
  167. package/dist/esm/index252.js +13 -69
  168. package/dist/esm/index253.js +36 -4
  169. package/dist/esm/index254.js +41 -136
  170. package/dist/esm/index255.js +69 -156
  171. package/dist/esm/index256.js +38 -9
  172. package/dist/esm/index257.js +2 -17
  173. package/dist/esm/index258.js +68 -112
  174. package/dist/esm/index259.js +33 -133
  175. package/dist/esm/index26.js +26 -17
  176. package/dist/esm/index260.js +18 -76
  177. package/dist/esm/index261.js +4 -2
  178. package/dist/esm/index262.js +126 -688
  179. package/dist/esm/index263.js +153 -137
  180. package/dist/esm/index264.js +9 -42
  181. package/dist/esm/index265.js +16 -201
  182. package/dist/esm/index266.js +103 -55
  183. package/dist/esm/index267.js +134 -4
  184. package/dist/esm/index268.js +75 -37
  185. package/dist/esm/index269.js +2 -8
  186. package/dist/esm/index27.js +68 -108
  187. package/dist/esm/index270.js +690 -54
  188. package/dist/esm/index271.js +133 -71
  189. package/dist/esm/index272.js +43 -4
  190. package/dist/esm/index273.js +188 -181
  191. package/dist/esm/index274.js +2 -64
  192. package/dist/esm/index275.js +64 -43
  193. package/dist/esm/index276.js +4 -4
  194. package/dist/esm/index277.js +41 -5
  195. package/dist/esm/index278.js +8 -2
  196. package/dist/esm/index279.js +59 -18
  197. package/dist/esm/index28.js +19 -60
  198. package/dist/esm/index280.js +80 -0
  199. package/dist/esm/index281.js +6 -0
  200. package/dist/esm/index282.js +197 -0
  201. package/dist/esm/index283.js +6 -0
  202. package/dist/esm/index284.js +66 -0
  203. package/dist/esm/index285.js +47 -0
  204. package/dist/esm/index286.js +7 -0
  205. package/dist/esm/index287.js +7 -0
  206. package/dist/esm/index288.js +4 -0
  207. package/dist/esm/index289.js +24 -0
  208. package/dist/esm/index29.js +110 -24
  209. package/dist/esm/index3.js +114 -101
  210. package/dist/esm/index30.js +51 -31
  211. package/dist/esm/index31.js +23 -36
  212. package/dist/esm/index32.js +28 -46
  213. package/dist/esm/index33.js +34 -160
  214. package/dist/esm/index34.js +55 -36
  215. package/dist/esm/index35.js +162 -8
  216. package/dist/esm/index36.js +39 -31
  217. package/dist/esm/index37.js +8 -35
  218. package/dist/esm/index38.js +30 -8
  219. package/dist/esm/index39.js +35 -28
  220. package/dist/esm/index4.js +14 -11
  221. package/dist/esm/index40.js +9 -46
  222. package/dist/esm/index41.js +24 -83
  223. package/dist/esm/index42.js +43 -37
  224. package/dist/esm/index43.js +88 -8
  225. package/dist/esm/index44.js +40 -6
  226. package/dist/esm/index45.js +8 -16
  227. package/dist/esm/index46.js +6 -8
  228. package/dist/esm/index47.js +16 -13
  229. package/dist/esm/index48.js +8 -7
  230. package/dist/esm/index49.js +13 -9
  231. package/dist/esm/index5.js +12 -9
  232. package/dist/esm/index50.js +7 -16
  233. package/dist/esm/index51.js +9 -46
  234. package/dist/esm/index52.js +16 -13
  235. package/dist/esm/index53.js +46 -16
  236. package/dist/esm/index54.js +13 -13
  237. package/dist/esm/index55.js +15 -5
  238. package/dist/esm/index56.js +13 -35
  239. package/dist/esm/index57.js +5 -8
  240. package/dist/esm/index58.js +34 -7
  241. package/dist/esm/index59.js +9 -25
  242. package/dist/esm/index6.js +15 -12
  243. package/dist/esm/index60.js +8 -10
  244. package/dist/esm/index61.js +25 -14
  245. package/dist/esm/index62.js +10 -11
  246. package/dist/esm/index63.js +14 -116
  247. package/dist/esm/index64.js +11 -33
  248. package/dist/esm/index65.js +113 -76
  249. package/dist/esm/index66.js +30 -174
  250. package/dist/esm/index67.js +77 -42
  251. package/dist/esm/index68.js +177 -6
  252. package/dist/esm/index69.js +44 -13
  253. package/dist/esm/index7.js +9 -5
  254. package/dist/esm/index70.js +5 -12
  255. package/dist/esm/index71.js +13 -99
  256. package/dist/esm/index72.js +13 -72
  257. package/dist/esm/index73.js +95 -83
  258. package/dist/esm/index74.js +61 -137
  259. package/dist/esm/index75.js +71 -120
  260. package/dist/esm/index76.js +126 -46
  261. package/dist/esm/index77.js +136 -23
  262. package/dist/esm/index78.js +65 -102
  263. package/dist/esm/index79.js +23 -6
  264. package/dist/esm/index8.js +8 -4
  265. package/dist/esm/index80.js +102 -128
  266. package/dist/esm/index81.js +7 -276
  267. package/dist/esm/index82.js +132 -3
  268. package/dist/esm/index83.js +276 -4
  269. package/dist/esm/index84.js +3 -9
  270. package/dist/esm/index85.js +4 -2
  271. package/dist/esm/index86.js +9 -2
  272. package/dist/esm/index87.js +2 -3
  273. package/dist/esm/index88.js +2 -327
  274. package/dist/esm/index89.js +3 -14
  275. package/dist/esm/index9.js +7 -4
  276. package/dist/esm/index90.js +326 -4
  277. package/dist/esm/index91.js +12 -54
  278. package/dist/esm/index92.js +5 -2
  279. package/dist/esm/index93.js +54 -6
  280. package/dist/esm/index94.js +2 -215
  281. package/dist/esm/index95.js +8 -32
  282. package/dist/esm/index96.js +213 -20
  283. package/dist/esm/index97.js +32 -6
  284. package/dist/esm/index98.js +21 -73
  285. package/dist/esm/index99.js +5 -5
  286. package/package.json +3 -3
@@ -1,32 +1,39 @@
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
1
+ import { encodeEventTopics as b } from "./index147.js";
2
+ import { numberToHex as m } from "./index120.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"
11
7
  });
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
- }
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
+ };
29
36
  }
30
37
  export {
31
- A as estimateContractGas
38
+ l as createEventFilter
32
39
  };
@@ -1,23 +1,26 @@
1
1
  import { createSpendPermission as i } from "@coinbase/cdp-core";
2
- import { useState as p } from "react";
3
- import { useCurrentUser as d, useWaitForUserOperation as S, useEnforceAuthenticated as v } from "./index3.js";
4
- import { validateUserOwnsSmartAccount as w } from "./index14.js";
5
- const P = () => {
6
- const { currentUser: r } = d(), [n, o] = p(
2
+ import "./index12.js";
3
+ import { useSendHookCallOnce as p } from "./index13.js";
4
+ import { useState as d } from "react";
5
+ import { useCurrentUser as S, useWaitForUserOperation as O, useEnforceAuthenticated as f } from "./index3.js";
6
+ import { validateUserOwnsSmartAccount as v } from "./index16.js";
7
+ const k = () => {
8
+ p("use_create_spend_permission");
9
+ const { currentUser: r } = S(), [n, o] = d(
7
10
  void 0
8
- ), { data: a, error: c, status: u } = S(n);
9
- return { createSpendPermission: v(
11
+ ), { data: a, error: c, status: m } = O(n);
12
+ return { createSpendPermission: f(
10
13
  async (e) => {
11
- w({ account: e.evmSmartAccount, user: r });
12
- const m = r, t = e.evmSmartAccount ?? m.evmSmartAccounts[0], s = await i({ ...e, evmSmartAccount: t });
14
+ v({ account: e.evmSmartAccount, user: r });
15
+ const u = r, t = e.evmSmartAccount ?? u.evmSmartAccounts[0], s = await i({ ...e, evmSmartAccount: t });
13
16
  return o({
14
17
  userOperationHash: s.userOperationHash,
15
18
  evmSmartAccount: t,
16
19
  network: e.network
17
20
  }), s;
18
21
  }
19
- ), data: a, error: c, status: u };
22
+ ), data: a, error: c, status: m };
20
23
  };
21
24
  export {
22
- P as useCreateSpendPermission
25
+ k as useCreateSpendPermission
23
26
  };
@@ -1,49 +1,12 @@
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
- };
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"
7
+ });
8
+ return { id: t, request: n(t), type: "transaction" };
45
9
  }
46
10
  export {
47
- E as estimateFeesPerGas,
48
- g as internal_estimateFeesPerGas
11
+ a as createPendingTransactionFilter
49
12
  };
@@ -1,91 +1,32 @@
1
- import { parseAccount as R } from "./index20.js";
2
- import { BaseError as _ } from "./index91.js";
3
- import { recoverAuthorizationAddress as A } from "./index229.js";
4
- import { numberToHex as x } from "./index118.js";
5
- import { getEstimateGasError as E } from "./index230.js";
6
- import { extract as N } from "./index227.js";
7
- import { formatTransactionRequest as S } from "./index153.js";
8
- import { serializeStateOverride as I } from "./index228.js";
9
- import { assertRequest as V } from "./index166.js";
10
- import { prepareTransactionRequest as C } from "./index78.js";
11
- import { getBalance as j } from "./index43.js";
12
- async function rt(t, s) {
13
- const { account: u = t.account } = s, i = u ? R(u) : void 0;
1
+ import { parseAccount as u } from "./index22.js";
2
+ import { encodeFunctionData as f } from "./index148.js";
3
+ import { getContractError as p } from "./index191.js";
4
+ import { getAction as g } from "./index218.js";
5
+ import { estimateGas as G } from "./index43.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
+ });
14
12
  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
13
+ return await g(s, G, "estimateGas")({
14
+ data: `${m}${e ? e.replace("0x", "") : ""}`,
15
+ to: o,
16
+ ...t
61
17
  });
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
18
  } catch (n) {
82
- throw E(n, {
83
- ...s,
84
- account: i,
85
- chain: t.chain
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
86
27
  });
87
28
  }
88
29
  }
89
30
  export {
90
- rt as estimateGas
31
+ A as estimateContractGas
91
32
  };
@@ -1,43 +1,49 @@
1
- import { Eip1559FeesNotSupportedError as f } from "./index104.js";
2
- import { hexToBigInt as u } from "./index151.js";
3
- import { getAction as s } from "./index218.js";
4
- import { getBlock as c } from "./index45.js";
5
- import { getGasPrice as y } from "./index55.js";
6
- async function h(e, o) {
7
- return p(e, o);
1
+ import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index106.js";
2
+ import { getAction as l } from "./index218.js";
3
+ import { internal_estimateMaxPriorityFeePerGas as u } from "./index44.js";
4
+ import { getBlock as G } from "./index47.js";
5
+ import { getGasPrice as b } from "./index57.js";
6
+ async function E(e, s) {
7
+ return g(e, s);
8
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"
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
27
25
  });
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;
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
+ };
38
41
  }
42
+ return {
43
+ gasPrice: t?.gasPrice ?? n(await l(e, b, "getGasPrice")({}))
44
+ };
39
45
  }
40
46
  export {
41
- h as estimateMaxPriorityFeePerGas,
42
- p as internal_estimateMaxPriorityFeePerGas
47
+ E as estimateFeesPerGas,
48
+ g as internal_estimateFeesPerGas
43
49
  };
@@ -1,11 +1,91 @@
1
- import { numberToHex as c } from "./index118.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]
6
- });
7
- return BigInt(r);
1
+ import { parseAccount as R } from "./index22.js";
2
+ import { BaseError as _ } from "./index93.js";
3
+ import { recoverAuthorizationAddress as A } from "./index231.js";
4
+ import { numberToHex as x } from "./index120.js";
5
+ import { getEstimateGasError as E } from "./index232.js";
6
+ import { extract as N } from "./index229.js";
7
+ import { formatTransactionRequest as S } from "./index155.js";
8
+ import { serializeStateOverride as I } from "./index230.js";
9
+ import { assertRequest as V } from "./index168.js";
10
+ import { prepareTransactionRequest as C } from "./index80.js";
11
+ import { getBalance as j } from "./index45.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
+ }
8
88
  }
9
89
  export {
10
- m as getBalance
90
+ rt as estimateGas
11
91
  };
@@ -1,9 +1,43 @@
1
- async function a(e) {
2
- const t = await e.request({
3
- method: "eth_blobBaseFee"
4
- });
5
- return BigInt(t);
1
+ import { Eip1559FeesNotSupportedError as f } from "./index106.js";
2
+ import { hexToBigInt as u } from "./index153.js";
3
+ import { getAction as s } from "./index218.js";
4
+ import { getBlock as c } from "./index47.js";
5
+ import { getGasPrice as y } from "./index57.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
+ }
6
39
  }
7
40
  export {
8
- a as getBlobBaseFee
41
+ h as estimateMaxPriorityFeePerGas,
42
+ p as internal_estimateMaxPriorityFeePerGas
9
43
  };
@@ -1,19 +1,11 @@
1
- import { BlockNotFoundError as f } from "./index93.js";
2
- import { numberToHex as u } from "./index118.js";
3
- import { formatBlock as d } from "./index123.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 { numberToHex as c } from "./index120.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]
6
+ });
7
+ return BigInt(r);
16
8
  }
17
9
  export {
18
- B as getBlock
10
+ m as getBalance
19
11
  };
@@ -1,11 +1,9 @@
1
- import { withCache as t } from "./index183.js";
2
- const r = (e) => `blockNumber.${e}`;
3
- async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
- const o = await t(() => e.request({
5
- method: "eth_blockNumber"
6
- }), { cacheKey: r(e.uid), cacheTime: c });
7
- return BigInt(o);
1
+ async function a(e) {
2
+ const t = await e.request({
3
+ method: "eth_blobBaseFee"
4
+ });
5
+ return BigInt(t);
8
6
  }
9
7
  export {
10
- u as getBlockNumber
8
+ a as getBlobBaseFee
11
9
  };
@@ -1,16 +1,19 @@
1
- import { hexToNumber as u } from "./index151.js";
2
- import { numberToHex as m } from "./index118.js";
3
- async function i(t, { blockHash: o, blockNumber: n, blockTag: a = "latest" } = {}) {
4
- const r = n !== void 0 ? m(n) : void 0;
5
- let e;
6
- return o ? e = await t.request({
7
- method: "eth_getBlockTransactionCountByHash",
8
- params: [o]
9
- }, { dedupe: !0 }) : e = await t.request({
10
- method: "eth_getBlockTransactionCountByNumber",
11
- params: [r || a]
12
- }, { dedupe: !!r }), u(e);
1
+ import { BlockNotFoundError as f } from "./index95.js";
2
+ import { numberToHex as u } from "./index120.js";
3
+ import { formatBlock as d } from "./index125.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);
13
16
  }
14
17
  export {
15
- i as getBlockTransactionCount
18
+ B as getBlock
16
19
  };
@@ -1,10 +1,11 @@
1
- import { hexToNumber as n } from "./index151.js";
2
- async function o(e) {
3
- const t = await e.request({
4
- method: "eth_chainId"
5
- }, { dedupe: !0 });
6
- return n(t);
1
+ import { withCache as t } from "./index185.js";
2
+ const r = (e) => `blockNumber.${e}`;
3
+ async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
+ const o = await t(() => e.request({
5
+ method: "eth_blockNumber"
6
+ }), { cacheKey: r(e.uid), cacheTime: c });
7
+ return BigInt(o);
7
8
  }
8
9
  export {
9
- o as getChainId
10
+ u as getBlockNumber
10
11
  };
@@ -1,12 +1,16 @@
1
- import { numberToHex as u } from "./index118.js";
2
- async function i(o, { address: d, blockNumber: e, blockTag: r = "latest" }) {
3
- const n = e !== void 0 ? u(e) : void 0, t = await o.request({
4
- method: "eth_getCode",
5
- params: [d, n || r]
6
- }, { dedupe: !!n });
7
- if (t !== "0x")
8
- return t;
1
+ import { hexToNumber as u } from "./index153.js";
2
+ import { numberToHex as m } from "./index120.js";
3
+ async function i(t, { blockHash: o, blockNumber: n, blockTag: a = "latest" } = {}) {
4
+ const r = n !== void 0 ? m(n) : void 0;
5
+ let e;
6
+ return o ? e = await t.request({
7
+ method: "eth_getBlockTransactionCountByHash",
8
+ params: [o]
9
+ }, { dedupe: !0 }) : e = await t.request({
10
+ method: "eth_getBlockTransactionCountByNumber",
11
+ params: [r || a]
12
+ }, { dedupe: !!r }), u(e);
9
13
  }
10
14
  export {
11
- i as getCode
15
+ i as getBlockTransactionCount
12
16
  };