@coinbase/cdp-hooks 0.0.44 → 0.0.45

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