@coinbase/cdp-hooks 0.0.55 → 0.0.56

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