@coinbase/cdp-hooks 0.0.81 → 0.0.83

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