@coinbase/cdp-hooks 0.0.24 → 0.0.26

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