@coinbase/cdp-hooks 0.0.44 → 0.0.46

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 (275) hide show
  1. package/README.md +92 -0
  2. package/dist/esm/index.js +38 -31
  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/index2.js +24 -21
  114. package/dist/esm/index20.js +70 -60
  115. package/dist/esm/index200.js +10 -184
  116. package/dist/esm/index201.js +66 -22
  117. package/dist/esm/index202.js +61 -38
  118. package/dist/esm/index203.js +178 -69
  119. package/dist/esm/index204.js +21 -39
  120. package/dist/esm/index205.js +35 -9
  121. package/dist/esm/index206.js +70 -7
  122. package/dist/esm/index207.js +40 -36
  123. package/dist/esm/index208.js +16 -15
  124. package/dist/esm/index209.js +13 -8
  125. package/dist/esm/index21.js +19 -24
  126. package/dist/esm/index212.js +35 -11
  127. package/dist/esm/index213.js +15 -9
  128. package/dist/esm/index214.js +8 -16
  129. package/dist/esm/index215.js +12 -22
  130. package/dist/esm/index216.js +9 -30
  131. package/dist/esm/index217.js +17 -2
  132. package/dist/esm/index218.js +21 -12
  133. package/dist/esm/index219.js +30 -12
  134. package/dist/esm/index22.js +110 -40
  135. package/dist/esm/index220.js +2 -48
  136. package/dist/esm/index221.js +12 -8
  137. package/dist/esm/index222.js +12 -13
  138. package/dist/esm/index223.js +46 -13
  139. package/dist/esm/index224.js +9 -8
  140. package/dist/esm/index225.js +13 -15
  141. package/dist/esm/index226.js +14 -24
  142. package/dist/esm/index227.js +8 -11
  143. package/dist/esm/index228.js +14 -23
  144. package/dist/esm/index229.js +24 -51
  145. package/dist/esm/index23.js +57 -34
  146. package/dist/esm/index230.js +11 -17
  147. package/dist/esm/index231.js +24 -14
  148. package/dist/esm/index232.js +51 -11
  149. package/dist/esm/index233.js +17 -103
  150. package/dist/esm/index234.js +14 -6
  151. package/dist/esm/index235.js +11 -224
  152. package/dist/esm/index236.js +103 -6
  153. package/dist/esm/index237.js +7 -7
  154. package/dist/esm/index238.js +223 -25
  155. package/dist/esm/index239.js +6 -19
  156. package/dist/esm/index24.js +20 -54
  157. package/dist/esm/index240.js +7 -147
  158. package/dist/esm/index241.js +26 -12
  159. package/dist/esm/index242.js +20 -36
  160. package/dist/esm/index243.js +146 -41
  161. package/dist/esm/index244.js +13 -69
  162. package/dist/esm/index245.js +36 -4
  163. package/dist/esm/index246.js +41 -136
  164. package/dist/esm/index247.js +69 -156
  165. package/dist/esm/index248.js +16 -9
  166. package/dist/esm/index249.js +3 -16
  167. package/dist/esm/index25.js +37 -160
  168. package/dist/esm/index250.js +126 -103
  169. package/dist/esm/index251.js +123 -102
  170. package/dist/esm/index252.js +9 -78
  171. package/dist/esm/index253.js +114 -2
  172. package/dist/esm/index254.js +124 -688
  173. package/dist/esm/index255.js +73 -134
  174. package/dist/esm/index256.js +2 -43
  175. package/dist/esm/index257.js +675 -178
  176. package/dist/esm/index258.js +137 -63
  177. package/dist/esm/index259.js +42 -4
  178. package/dist/esm/index26.js +36 -38
  179. package/dist/esm/index260.js +201 -40
  180. package/dist/esm/index261.js +65 -7
  181. package/dist/esm/index262.js +4 -62
  182. package/dist/esm/index263.js +33 -70
  183. package/dist/esm/index264.js +8 -4
  184. package/dist/esm/index265.js +55 -187
  185. package/dist/esm/index266.js +61 -47
  186. package/dist/esm/index267.js +4 -45
  187. package/dist/esm/index268.js +194 -4
  188. package/dist/esm/index269.js +64 -5
  189. package/dist/esm/index27.js +58 -9
  190. package/dist/esm/index270.js +45 -2
  191. package/dist/esm/index271.js +4 -21
  192. package/dist/esm/index272.js +7 -0
  193. package/dist/esm/index273.js +4 -0
  194. package/dist/esm/index274.js +24 -0
  195. package/dist/esm/index28.js +161 -29
  196. package/dist/esm/index29.js +39 -36
  197. package/dist/esm/index3.js +100 -92
  198. package/dist/esm/index30.js +6 -6
  199. package/dist/esm/index31.js +30 -28
  200. package/dist/esm/index32.js +34 -44
  201. package/dist/esm/index33.js +9 -88
  202. package/dist/esm/index34.js +26 -37
  203. package/dist/esm/index35.js +46 -8
  204. package/dist/esm/index36.js +88 -6
  205. package/dist/esm/index37.js +40 -16
  206. package/dist/esm/index38.js +8 -8
  207. package/dist/esm/index39.js +6 -13
  208. package/dist/esm/index4.js +14 -16
  209. package/dist/esm/index40.js +16 -7
  210. package/dist/esm/index41.js +8 -9
  211. package/dist/esm/index42.js +13 -16
  212. package/dist/esm/index43.js +7 -46
  213. package/dist/esm/index44.js +9 -13
  214. package/dist/esm/index45.js +15 -15
  215. package/dist/esm/index46.js +46 -13
  216. package/dist/esm/index47.js +13 -6
  217. package/dist/esm/index48.js +15 -34
  218. package/dist/esm/index49.js +13 -9
  219. package/dist/esm/index5.js +46 -29
  220. package/dist/esm/index50.js +5 -7
  221. package/dist/esm/index51.js +35 -25
  222. package/dist/esm/index52.js +9 -10
  223. package/dist/esm/index53.js +7 -13
  224. package/dist/esm/index54.js +25 -11
  225. package/dist/esm/index55.js +10 -116
  226. package/dist/esm/index56.js +13 -32
  227. package/dist/esm/index57.js +11 -79
  228. package/dist/esm/index58.js +108 -169
  229. package/dist/esm/index59.js +26 -37
  230. package/dist/esm/index6.js +20 -17
  231. package/dist/esm/index60.js +79 -6
  232. package/dist/esm/index61.js +177 -13
  233. package/dist/esm/index62.js +44 -13
  234. package/dist/esm/index63.js +6 -99
  235. package/dist/esm/index64.js +13 -72
  236. package/dist/esm/index65.js +13 -87
  237. package/dist/esm/index66.js +93 -142
  238. package/dist/esm/index67.js +65 -129
  239. package/dist/esm/index68.js +73 -54
  240. package/dist/esm/index69.js +148 -23
  241. package/dist/esm/index7.js +34 -12
  242. package/dist/esm/index70.js +133 -102
  243. package/dist/esm/index71.js +68 -6
  244. package/dist/esm/index72.js +23 -131
  245. package/dist/esm/index73.js +101 -271
  246. package/dist/esm/index74.js +7 -3
  247. package/dist/esm/index75.js +132 -4
  248. package/dist/esm/index76.js +276 -9
  249. package/dist/esm/index77.js +3 -2
  250. package/dist/esm/index78.js +4 -2
  251. package/dist/esm/index79.js +9 -3
  252. package/dist/esm/index8.js +18 -54
  253. package/dist/esm/index80.js +2 -327
  254. package/dist/esm/index81.js +2 -14
  255. package/dist/esm/index82.js +3 -5
  256. package/dist/esm/index83.js +299 -28
  257. package/dist/esm/index84.js +14 -2
  258. package/dist/esm/index85.js +4 -7
  259. package/dist/esm/index86.js +29 -188
  260. package/dist/esm/index87.js +2 -32
  261. package/dist/esm/index88.js +7 -21
  262. package/dist/esm/index89.js +214 -5
  263. package/dist/esm/index9.js +11 -57
  264. package/dist/esm/index90.js +30 -72
  265. package/dist/esm/index91.js +21 -5
  266. package/dist/esm/index92.js +5 -5
  267. package/dist/esm/index93.js +69 -31
  268. package/dist/esm/index94.js +5 -75
  269. package/dist/esm/index95.js +6 -3
  270. package/dist/esm/index96.js +28 -16
  271. package/dist/esm/index97.js +57 -433
  272. package/dist/esm/index98.js +3 -31
  273. package/dist/esm/index99.js +17 -20
  274. package/dist/types/index.d.ts +52 -0
  275. package/package.json +3 -3
@@ -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
  };
@@ -1,11 +1,11 @@
1
- import { withCache as t } from "./index175.js";
2
- const r = (e) => `blockNumber.${e}`;
3
- async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
- const o = await t(() => e.request({
5
- method: "eth_blockNumber"
6
- }), { cacheKey: r(e.uid), cacheTime: c });
7
- return BigInt(o);
1
+ import { numberToHex as c } from "./index113.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);
8
8
  }
9
9
  export {
10
- u as getBlockNumber
10
+ m as getBalance
11
11
  };
@@ -1,16 +1,9 @@
1
- import { hexToNumber as u } from "./index143.js";
2
- import { numberToHex as m } from "./index110.js";
3
- async function i(t, { blockHash: o, blockNumber: n, blockTag: a = "latest" } = {}) {
4
- const r = n !== void 0 ? m(n) : void 0;
5
- let e;
6
- return o ? e = await t.request({
7
- method: "eth_getBlockTransactionCountByHash",
8
- params: [o]
9
- }, { dedupe: !0 }) : e = await t.request({
10
- method: "eth_getBlockTransactionCountByNumber",
11
- params: [r || a]
12
- }, { dedupe: !!r }), u(e);
1
+ async function a(e) {
2
+ const t = await e.request({
3
+ method: "eth_blobBaseFee"
4
+ });
5
+ return BigInt(t);
13
6
  }
14
7
  export {
15
- i as getBlockTransactionCount
8
+ a as getBlobBaseFee
16
9
  };
@@ -1,25 +1,23 @@
1
- import { createSpendPermission as m } from "@coinbase/cdp-core";
2
- import { useState as i } from "react";
3
- import { useCurrentUser as p, useWaitForUserOperation as S, useEnforceAuthenticated as d } from "./index3.js";
4
- const h = () => {
5
- const { currentUser: r } = p(), [s, o] = i(
1
+ import { createSpendPermission as i } from "@coinbase/cdp-core";
2
+ import { useState as p } from "react";
3
+ import { useCurrentUser as d, useWaitForUserOperation as S, useEnforceAuthenticated as v } from "./index3.js";
4
+ import { validateUserOwnsSmartAccount as w } from "./index9.js";
5
+ const P = () => {
6
+ const { currentUser: r } = d(), [n, o] = p(
6
7
  void 0
7
- ), { data: c, error: a, status: u } = S(s);
8
- return { createSpendPermission: d(
8
+ ), { data: a, error: c, status: u } = S(n);
9
+ return { createSpendPermission: v(
9
10
  async (e) => {
10
- if (e.evmSmartAccount && !r?.evmSmartAccounts?.includes(e.evmSmartAccount))
11
- throw new Error("Current user does not have the specified EVM Smart Account");
12
- if (!r?.evmSmartAccounts?.[0])
13
- throw new Error("No EVM Smart Account found for the current user");
14
- const t = e.evmSmartAccount ?? r.evmSmartAccounts[0], n = await m({ ...e, evmSmartAccount: t });
11
+ w({ account: e.evmSmartAccount, user: r });
12
+ const m = r, t = e.evmSmartAccount ?? m.evmSmartAccounts[0], s = await i({ ...e, evmSmartAccount: t });
15
13
  return o({
16
- userOperationHash: n.userOperationHash,
14
+ userOperationHash: s.userOperationHash,
17
15
  evmSmartAccount: t,
18
16
  network: e.network
19
- }), n;
17
+ }), s;
20
18
  }
21
- ), data: c, error: a, status: u };
19
+ ), data: a, error: c, status: u };
22
20
  };
23
21
  export {
24
- h as useCreateSpendPermission
22
+ P as useCreateSpendPermission
25
23
  };
@@ -1,10 +1,19 @@
1
- import { hexToNumber as n } from "./index143.js";
2
- async function o(e) {
3
- const t = await e.request({
4
- method: "eth_chainId"
5
- }, { dedupe: !0 });
6
- return n(t);
1
+ import { BlockNotFoundError as f } from "./index88.js";
2
+ import { numberToHex as u } from "./index113.js";
3
+ import { formatBlock as d } from "./index118.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);
7
16
  }
8
17
  export {
9
- o as getChainId
18
+ B as getBlock
10
19
  };
@@ -1,12 +1,11 @@
1
- import { numberToHex as u } from "./index110.js";
2
- async function i(o, { address: d, blockNumber: e, blockTag: r = "latest" }) {
3
- const n = e !== void 0 ? u(e) : void 0, t = await o.request({
4
- method: "eth_getCode",
5
- params: [d, n || r]
6
- }, { dedupe: !!n });
7
- if (t !== "0x")
8
- return t;
1
+ import { withCache as t } from "./index178.js";
2
+ const r = (e) => `blockNumber.${e}`;
3
+ async function u(e, { cacheTime: c = e.cacheTime } = {}) {
4
+ const o = await t(() => e.request({
5
+ method: "eth_blockNumber"
6
+ }), { cacheKey: r(e.uid), cacheTime: c });
7
+ return BigInt(o);
9
8
  }
10
9
  export {
11
- i as getCode
10
+ u as getBlockNumber
12
11
  };
@@ -1,19 +1,16 @@
1
- import { getAbiItem as p } from "./index90.js";
2
- import { getAction as v } from "./index210.js";
3
- import { getLogs as l } from "./index48.js";
4
- async function y(n, r) {
5
- const { abi: t, address: s, args: c, blockHash: i, eventName: e, fromBlock: m, toBlock: a, strict: f } = r, o = e ? p({ abi: t, name: e }) : void 0, g = o ? void 0 : t.filter((d) => d.type === "event");
6
- return v(n, l, "getLogs")({
7
- address: s,
8
- args: c,
9
- blockHash: i,
10
- event: o,
11
- events: g,
12
- fromBlock: m,
13
- toBlock: a,
14
- strict: f
15
- });
1
+ import { hexToNumber as u } from "./index146.js";
2
+ import { numberToHex as m } from "./index113.js";
3
+ async function i(t, { blockHash: o, blockNumber: n, blockTag: a = "latest" } = {}) {
4
+ const r = n !== void 0 ? m(n) : void 0;
5
+ let e;
6
+ return o ? e = await t.request({
7
+ method: "eth_getBlockTransactionCountByHash",
8
+ params: [o]
9
+ }, { dedupe: !0 }) : e = await t.request({
10
+ method: "eth_getBlockTransactionCountByNumber",
11
+ params: [r || a]
12
+ }, { dedupe: !!r }), u(e);
16
13
  }
17
14
  export {
18
- y as getContractEvents
15
+ i as getBlockTransactionCount
19
16
  };
@@ -1,49 +1,10 @@
1
- import { Eip712DomainNotFoundError as u } from "./index223.js";
2
- import { getAction as d } from "./index210.js";
3
- import { readContract as f } from "./index56.js";
4
- async function E(a, o) {
5
- const { address: e, factory: r, factoryData: i } = o;
6
- try {
7
- const [n, t, s, c, m, p, y] = await d(a, f, "readContract")({
8
- abi: g,
9
- address: e,
10
- functionName: "eip712Domain",
11
- factory: r,
12
- factoryData: i
13
- });
14
- return {
15
- domain: {
16
- name: t,
17
- version: s,
18
- chainId: Number(c),
19
- verifyingContract: m,
20
- salt: p
21
- },
22
- extensions: y,
23
- fields: n
24
- };
25
- } catch (n) {
26
- const t = n;
27
- throw t.name === "ContractFunctionExecutionError" && t.cause.name === "ContractFunctionZeroDataError" ? new u({ address: e }) : t;
28
- }
1
+ import { hexToNumber as n } from "./index146.js";
2
+ async function o(e) {
3
+ const t = await e.request({
4
+ method: "eth_chainId"
5
+ }, { dedupe: !0 });
6
+ return n(t);
29
7
  }
30
- const g = [
31
- {
32
- inputs: [],
33
- name: "eip712Domain",
34
- outputs: [
35
- { name: "fields", type: "bytes1" },
36
- { name: "name", type: "string" },
37
- { name: "version", type: "string" },
38
- { name: "chainId", type: "uint256" },
39
- { name: "verifyingContract", type: "address" },
40
- { name: "salt", type: "bytes32" },
41
- { name: "extensions", type: "uint256[]" }
42
- ],
43
- stateMutability: "view",
44
- type: "function"
45
- }
46
- ];
47
8
  export {
48
- E as getEip712Domain
9
+ o as getChainId
49
10
  };
@@ -1,16 +1,12 @@
1
- import { numberToHex as o } from "./index110.js";
2
- import { formatFeeHistory as f } from "./index224.js";
3
- async function u(r, { blockCount: i, blockNumber: e, blockTag: n = "latest", rewardPercentiles: s }) {
4
- const t = typeof e == "bigint" ? o(e) : void 0, a = await r.request({
5
- method: "eth_feeHistory",
6
- params: [
7
- o(i),
8
- t || n,
9
- s
10
- ]
11
- }, { dedupe: !!t });
12
- return f(a);
1
+ import { numberToHex as u } from "./index113.js";
2
+ async function i(o, { address: d, blockNumber: e, blockTag: r = "latest" }) {
3
+ const n = e !== void 0 ? u(e) : void 0, t = await o.request({
4
+ method: "eth_getCode",
5
+ params: [d, n || r]
6
+ }, { dedupe: !!n });
7
+ if (t !== "0x")
8
+ return t;
13
9
  }
14
10
  export {
15
- u as getFeeHistory
11
+ i as getCode
16
12
  };
@@ -1,19 +1,19 @@
1
- import { parseEventLogs as a } from "./index141.js";
2
- import { formatLog as i } from "./index118.js";
3
- async function m(e, { filter: t }) {
4
- const n = "strict" in t && t.strict, o = await t.request({
5
- method: "eth_getFilterChanges",
6
- params: [t.id]
7
- });
8
- if (typeof o[0] == "string")
9
- return o;
10
- const s = o.map((r) => i(r));
11
- return !("abi" in t) || !t.abi ? s : a({
12
- abi: t.abi,
13
- logs: s,
14
- strict: n
1
+ import { getAbiItem as p } from "./index93.js";
2
+ import { getAction as v } from "./index210.js";
3
+ import { getLogs as l } from "./index51.js";
4
+ async function y(n, r) {
5
+ const { abi: t, address: s, args: c, blockHash: i, eventName: e, fromBlock: m, toBlock: a, strict: f } = r, o = e ? p({ abi: t, name: e }) : void 0, g = o ? void 0 : t.filter((d) => d.type === "event");
6
+ return v(n, l, "getLogs")({
7
+ address: s,
8
+ args: c,
9
+ blockHash: i,
10
+ event: o,
11
+ events: g,
12
+ fromBlock: m,
13
+ toBlock: a,
14
+ strict: f
15
15
  });
16
16
  }
17
17
  export {
18
- m as getFilterChanges
18
+ y as getContractEvents
19
19
  };
@@ -1,16 +1,49 @@
1
- import { parseEventLogs as a } from "./index141.js";
2
- import { formatLog as e } from "./index118.js";
3
- async function c(g, { filter: t }) {
4
- const s = t.strict ?? !1, o = (await t.request({
5
- method: "eth_getFilterLogs",
6
- params: [t.id]
7
- })).map((r) => e(r));
8
- return t.abi ? a({
9
- abi: t.abi,
10
- logs: o,
11
- strict: s
12
- }) : o;
1
+ import { Eip712DomainNotFoundError as u } from "./index226.js";
2
+ import { getAction as d } from "./index210.js";
3
+ import { readContract as f } from "./index59.js";
4
+ async function E(a, o) {
5
+ const { address: e, factory: r, factoryData: i } = o;
6
+ try {
7
+ const [n, t, s, c, m, p, y] = await d(a, f, "readContract")({
8
+ abi: g,
9
+ address: e,
10
+ functionName: "eip712Domain",
11
+ factory: r,
12
+ factoryData: i
13
+ });
14
+ return {
15
+ domain: {
16
+ name: t,
17
+ version: s,
18
+ chainId: Number(c),
19
+ verifyingContract: m,
20
+ salt: p
21
+ },
22
+ extensions: y,
23
+ fields: n
24
+ };
25
+ } catch (n) {
26
+ const t = n;
27
+ throw t.name === "ContractFunctionExecutionError" && t.cause.name === "ContractFunctionZeroDataError" ? new u({ address: e }) : t;
28
+ }
13
29
  }
30
+ const g = [
31
+ {
32
+ inputs: [],
33
+ name: "eip712Domain",
34
+ outputs: [
35
+ { name: "fields", type: "bytes1" },
36
+ { name: "name", type: "string" },
37
+ { name: "version", type: "string" },
38
+ { name: "chainId", type: "uint256" },
39
+ { name: "verifyingContract", type: "address" },
40
+ { name: "salt", type: "bytes32" },
41
+ { name: "extensions", type: "uint256[]" }
42
+ ],
43
+ stateMutability: "view",
44
+ type: "function"
45
+ }
46
+ ];
14
47
  export {
15
- c as getFilterLogs
48
+ E as getEip712Domain
16
49
  };