@coinbase/cdp-hooks 0.0.51 → 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 (288) 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 -7
  129. package/dist/esm/index216.js +16 -6
  130. package/dist/esm/index217.js +13 -36
  131. package/dist/esm/index218.js +7 -15
  132. package/dist/esm/index219.js +6 -8
  133. package/dist/esm/index22.js +3 -68
  134. package/dist/esm/index220.js +35 -11
  135. package/dist/esm/index221.js +15 -9
  136. package/dist/esm/index222.js +8 -16
  137. package/dist/esm/index223.js +9 -22
  138. package/dist/esm/index224.js +16 -30
  139. package/dist/esm/index225.js +23 -2
  140. package/dist/esm/index226.js +30 -13
  141. package/dist/esm/index227.js +2 -13
  142. package/dist/esm/index228.js +13 -47
  143. package/dist/esm/index229.js +12 -9
  144. package/dist/esm/index23.js +8 -8
  145. package/dist/esm/index230.js +47 -13
  146. package/dist/esm/index231.js +9 -14
  147. package/dist/esm/index232.js +13 -8
  148. package/dist/esm/index233.js +14 -15
  149. package/dist/esm/index234.js +8 -24
  150. package/dist/esm/index235.js +14 -10
  151. package/dist/esm/index236.js +24 -24
  152. package/dist/esm/index237.js +11 -51
  153. package/dist/esm/index238.js +24 -17
  154. package/dist/esm/index239.js +48 -11
  155. package/dist/esm/index24.js +67 -27
  156. package/dist/esm/index240.js +17 -11
  157. package/dist/esm/index241.js +13 -102
  158. package/dist/esm/index242.js +11 -6
  159. package/dist/esm/index243.js +10 -222
  160. package/dist/esm/index244.js +103 -6
  161. package/dist/esm/index245.js +7 -7
  162. package/dist/esm/index246.js +223 -25
  163. package/dist/esm/index247.js +6 -19
  164. package/dist/esm/index248.js +7 -147
  165. package/dist/esm/index249.js +26 -12
  166. package/dist/esm/index25.js +9 -70
  167. package/dist/esm/index250.js +20 -36
  168. package/dist/esm/index251.js +146 -41
  169. package/dist/esm/index252.js +13 -69
  170. package/dist/esm/index253.js +36 -4
  171. package/dist/esm/index254.js +41 -136
  172. package/dist/esm/index255.js +69 -156
  173. package/dist/esm/index256.js +38 -9
  174. package/dist/esm/index257.js +2 -17
  175. package/dist/esm/index258.js +68 -112
  176. package/dist/esm/index259.js +33 -133
  177. package/dist/esm/index26.js +26 -17
  178. package/dist/esm/index260.js +18 -76
  179. package/dist/esm/index261.js +4 -2
  180. package/dist/esm/index262.js +126 -688
  181. package/dist/esm/index263.js +153 -137
  182. package/dist/esm/index264.js +9 -42
  183. package/dist/esm/index265.js +16 -201
  184. package/dist/esm/index266.js +103 -55
  185. package/dist/esm/index267.js +134 -4
  186. package/dist/esm/index268.js +75 -37
  187. package/dist/esm/index269.js +2 -8
  188. package/dist/esm/index27.js +68 -108
  189. package/dist/esm/index270.js +690 -54
  190. package/dist/esm/index271.js +133 -71
  191. package/dist/esm/index272.js +43 -4
  192. package/dist/esm/index273.js +188 -181
  193. package/dist/esm/index274.js +2 -64
  194. package/dist/esm/index275.js +64 -43
  195. package/dist/esm/index276.js +4 -4
  196. package/dist/esm/index277.js +41 -5
  197. package/dist/esm/index278.js +8 -2
  198. package/dist/esm/index279.js +59 -18
  199. package/dist/esm/index28.js +19 -60
  200. package/dist/esm/index280.js +80 -0
  201. package/dist/esm/index281.js +6 -0
  202. package/dist/esm/index282.js +197 -0
  203. package/dist/esm/index283.js +6 -0
  204. package/dist/esm/index284.js +66 -0
  205. package/dist/esm/index285.js +47 -0
  206. package/dist/esm/index286.js +7 -0
  207. package/dist/esm/index287.js +7 -0
  208. package/dist/esm/index288.js +4 -0
  209. package/dist/esm/index289.js +24 -0
  210. package/dist/esm/index29.js +110 -24
  211. package/dist/esm/index3.js +114 -101
  212. package/dist/esm/index30.js +51 -31
  213. package/dist/esm/index31.js +23 -36
  214. package/dist/esm/index32.js +28 -46
  215. package/dist/esm/index33.js +34 -160
  216. package/dist/esm/index34.js +55 -36
  217. package/dist/esm/index35.js +162 -8
  218. package/dist/esm/index36.js +39 -31
  219. package/dist/esm/index37.js +8 -35
  220. package/dist/esm/index38.js +30 -8
  221. package/dist/esm/index39.js +35 -28
  222. package/dist/esm/index4.js +14 -11
  223. package/dist/esm/index40.js +9 -46
  224. package/dist/esm/index41.js +24 -83
  225. package/dist/esm/index42.js +43 -37
  226. package/dist/esm/index43.js +88 -8
  227. package/dist/esm/index44.js +40 -6
  228. package/dist/esm/index45.js +8 -16
  229. package/dist/esm/index46.js +6 -8
  230. package/dist/esm/index47.js +16 -13
  231. package/dist/esm/index48.js +8 -7
  232. package/dist/esm/index49.js +13 -9
  233. package/dist/esm/index5.js +12 -9
  234. package/dist/esm/index50.js +7 -16
  235. package/dist/esm/index51.js +9 -46
  236. package/dist/esm/index52.js +16 -13
  237. package/dist/esm/index53.js +46 -16
  238. package/dist/esm/index54.js +13 -13
  239. package/dist/esm/index55.js +15 -5
  240. package/dist/esm/index56.js +13 -35
  241. package/dist/esm/index57.js +5 -8
  242. package/dist/esm/index58.js +34 -7
  243. package/dist/esm/index59.js +9 -25
  244. package/dist/esm/index6.js +15 -12
  245. package/dist/esm/index60.js +8 -10
  246. package/dist/esm/index61.js +25 -14
  247. package/dist/esm/index62.js +10 -11
  248. package/dist/esm/index63.js +14 -116
  249. package/dist/esm/index64.js +11 -33
  250. package/dist/esm/index65.js +113 -76
  251. package/dist/esm/index66.js +30 -174
  252. package/dist/esm/index67.js +77 -42
  253. package/dist/esm/index68.js +177 -6
  254. package/dist/esm/index69.js +44 -13
  255. package/dist/esm/index7.js +9 -5
  256. package/dist/esm/index70.js +5 -12
  257. package/dist/esm/index71.js +13 -99
  258. package/dist/esm/index72.js +13 -72
  259. package/dist/esm/index73.js +95 -83
  260. package/dist/esm/index74.js +62 -138
  261. package/dist/esm/index75.js +71 -120
  262. package/dist/esm/index76.js +126 -46
  263. package/dist/esm/index77.js +136 -23
  264. package/dist/esm/index78.js +65 -102
  265. package/dist/esm/index79.js +23 -6
  266. package/dist/esm/index8.js +8 -4
  267. package/dist/esm/index80.js +102 -128
  268. package/dist/esm/index81.js +7 -276
  269. package/dist/esm/index82.js +132 -3
  270. package/dist/esm/index83.js +276 -4
  271. package/dist/esm/index84.js +3 -9
  272. package/dist/esm/index85.js +4 -2
  273. package/dist/esm/index86.js +9 -2
  274. package/dist/esm/index87.js +2 -3
  275. package/dist/esm/index88.js +2 -327
  276. package/dist/esm/index89.js +3 -14
  277. package/dist/esm/index9.js +7 -4
  278. package/dist/esm/index90.js +326 -4
  279. package/dist/esm/index91.js +12 -54
  280. package/dist/esm/index92.js +5 -2
  281. package/dist/esm/index93.js +54 -6
  282. package/dist/esm/index94.js +2 -215
  283. package/dist/esm/index95.js +8 -32
  284. package/dist/esm/index96.js +213 -20
  285. package/dist/esm/index97.js +32 -6
  286. package/dist/esm/index98.js +21 -73
  287. package/dist/esm/index99.js +5 -5
  288. 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 "./index215.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 "./index215.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 "./index215.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
  };