@coinbase/cdp-hooks 0.0.19 → 0.0.21

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 (268) hide show
  1. package/README.md +173 -7
  2. package/dist/esm/index.js +12 -10
  3. package/dist/esm/index10.js +32 -3
  4. package/dist/esm/index100.js +32 -191
  5. package/dist/esm/index101.js +191 -6
  6. package/dist/esm/index102.js +9 -2
  7. package/dist/esm/index103.js +2 -13
  8. package/dist/esm/index104.js +11 -17
  9. package/dist/esm/index105.js +13 -22
  10. package/dist/esm/index106.js +27 -8
  11. package/dist/esm/index107.js +8 -55
  12. package/dist/esm/index108.js +50 -40
  13. package/dist/esm/index109.js +45 -8
  14. package/dist/esm/index11.js +3 -9
  15. package/dist/esm/index110.js +8 -7
  16. package/dist/esm/index111.js +7 -16
  17. package/dist/esm/index112.js +16 -18
  18. package/dist/esm/index113.js +18 -24
  19. package/dist/esm/index114.js +24 -16
  20. package/dist/esm/index115.js +16 -54
  21. package/dist/esm/index116.js +53 -10
  22. package/dist/esm/index117.js +11 -160
  23. package/dist/esm/index118.js +160 -21
  24. package/dist/esm/index119.js +21 -127
  25. package/dist/esm/index12.js +8 -67
  26. package/dist/esm/index120.js +127 -38
  27. package/dist/esm/index121.js +38 -6
  28. package/dist/esm/index122.js +6 -27
  29. package/dist/esm/index123.js +27 -191
  30. package/dist/esm/index124.js +192 -4
  31. package/dist/esm/index125.js +4 -65
  32. package/dist/esm/index126.js +65 -3
  33. package/dist/esm/index127.js +3 -21
  34. package/dist/esm/index128.js +19 -15
  35. package/dist/esm/index129.js +16 -23
  36. package/dist/esm/index13.js +66 -7
  37. package/dist/esm/index130.js +23 -11
  38. package/dist/esm/index131.js +11 -34
  39. package/dist/esm/index132.js +35 -3
  40. package/dist/esm/index133.js +3 -19
  41. package/dist/esm/index134.js +18 -27
  42. package/dist/esm/index135.js +25 -33
  43. package/dist/esm/index136.js +35 -7
  44. package/dist/esm/index137.js +7 -25
  45. package/dist/esm/index138.js +20 -23
  46. package/dist/esm/index139.js +27 -63
  47. package/dist/esm/index14.js +8 -27
  48. package/dist/esm/index140.js +64 -9
  49. package/dist/esm/index141.js +9 -33
  50. package/dist/esm/index142.js +33 -27
  51. package/dist/esm/index143.js +26 -23
  52. package/dist/esm/index144.js +24 -3
  53. package/dist/esm/index145.js +3 -14
  54. package/dist/esm/index146.js +14 -103
  55. package/dist/esm/index147.js +99 -60
  56. package/dist/esm/index148.js +64 -5
  57. package/dist/esm/index149.js +5 -6
  58. package/dist/esm/index15.js +25 -67
  59. package/dist/esm/index150.js +6 -27
  60. package/dist/esm/index151.js +27 -39
  61. package/dist/esm/index152.js +39 -13
  62. package/dist/esm/index153.js +13 -42
  63. package/dist/esm/index154.js +42 -5
  64. package/dist/esm/index155.js +5 -11
  65. package/dist/esm/index156.js +11 -19
  66. package/dist/esm/index157.js +18 -77
  67. package/dist/esm/index158.js +79 -2
  68. package/dist/esm/index159.js +2 -38
  69. package/dist/esm/index16.js +68 -17
  70. package/dist/esm/index160.js +32 -105
  71. package/dist/esm/index161.js +105 -43
  72. package/dist/esm/index162.js +47 -31
  73. package/dist/esm/index163.js +32 -8
  74. package/dist/esm/index164.js +8 -6
  75. package/dist/esm/index165.js +6 -6
  76. package/dist/esm/index166.js +6 -11
  77. package/dist/esm/index167.js +11 -10
  78. package/dist/esm/index168.js +10 -13
  79. package/dist/esm/index169.js +12 -31
  80. package/dist/esm/index17.js +17 -108
  81. package/dist/esm/index170.js +33 -5
  82. package/dist/esm/index171.js +5 -9
  83. package/dist/esm/index172.js +8 -19
  84. package/dist/esm/index173.js +19 -31
  85. package/dist/esm/index174.js +31 -20
  86. package/dist/esm/index175.js +20 -3
  87. package/dist/esm/index176.js +3 -17
  88. package/dist/esm/index177.js +17 -10
  89. package/dist/esm/index178.js +10 -21
  90. package/dist/esm/index179.js +21 -22
  91. package/dist/esm/index18.js +110 -60
  92. package/dist/esm/index180.js +22 -5
  93. package/dist/esm/index181.js +5 -5
  94. package/dist/esm/index182.js +5 -8
  95. package/dist/esm/index183.js +8 -104
  96. package/dist/esm/index184.js +105 -3
  97. package/dist/esm/index185.js +3 -19
  98. package/dist/esm/index186.js +17 -170
  99. package/dist/esm/index187.js +170 -16
  100. package/dist/esm/index188.js +18 -10
  101. package/dist/esm/index189.js +10 -41
  102. package/dist/esm/index19.js +56 -20
  103. package/dist/esm/index190.js +41 -2
  104. package/dist/esm/index191.js +2 -5
  105. package/dist/esm/index192.js +4 -10
  106. package/dist/esm/index193.js +9 -18
  107. package/dist/esm/index194.js +19 -7
  108. package/dist/esm/index195.js +7 -11
  109. package/dist/esm/index196.js +11 -66
  110. package/dist/esm/index197.js +65 -64
  111. package/dist/esm/index198.js +60 -180
  112. package/dist/esm/index199.js +183 -20
  113. package/dist/esm/index20.js +22 -38
  114. package/dist/esm/index200.js +21 -41
  115. package/dist/esm/index201.js +20 -54
  116. package/dist/esm/index202.js +54 -18
  117. package/dist/esm/index203.js +34 -10
  118. package/dist/esm/index204.js +10 -7
  119. package/dist/esm/index205.js +13 -7
  120. package/dist/esm/index206.js +7 -6
  121. package/dist/esm/index207.js +6 -36
  122. package/dist/esm/index208.js +35 -14
  123. package/dist/esm/index209.js +15 -8
  124. package/dist/esm/index21.js +37 -34
  125. package/dist/esm/index210.js +7 -11
  126. package/dist/esm/index211.js +3 -3
  127. package/dist/esm/index212.js +3 -3
  128. package/dist/esm/index213.js +1 -1
  129. package/dist/esm/index214.js +2 -2
  130. package/dist/esm/index216.js +2 -2
  131. package/dist/esm/index218.js +5 -5
  132. package/dist/esm/index219.js +2 -2
  133. package/dist/esm/index22.js +34 -55
  134. package/dist/esm/index220.js +2 -2
  135. package/dist/esm/index221.js +1 -1
  136. package/dist/esm/index223.js +1 -1
  137. package/dist/esm/index224.js +2 -2
  138. package/dist/esm/index225.js +3 -3
  139. package/dist/esm/index226.js +3 -3
  140. package/dist/esm/index227.js +16 -16
  141. package/dist/esm/index229.js +2 -2
  142. package/dist/esm/index23.js +55 -160
  143. package/dist/esm/index230.js +1 -1
  144. package/dist/esm/index231.js +11 -102
  145. package/dist/esm/index232.js +103 -6
  146. package/dist/esm/index233.js +5 -223
  147. package/dist/esm/index234.js +224 -6
  148. package/dist/esm/index235.js +7 -7
  149. package/dist/esm/index236.js +7 -27
  150. package/dist/esm/index237.js +25 -18
  151. package/dist/esm/index238.js +18 -145
  152. package/dist/esm/index239.js +146 -12
  153. package/dist/esm/index24.js +156 -32
  154. package/dist/esm/index240.js +12 -35
  155. package/dist/esm/index241.js +35 -41
  156. package/dist/esm/index242.js +41 -68
  157. package/dist/esm/index243.js +68 -3
  158. package/dist/esm/index244.js +3 -155
  159. package/dist/esm/index245.js +134 -7
  160. package/dist/esm/index246.js +144 -125
  161. package/dist/esm/index247.js +9 -16
  162. package/dist/esm/index248.js +16 -113
  163. package/dist/esm/index249.js +95 -116
  164. package/dist/esm/index25.js +39 -9
  165. package/dist/esm/index250.js +126 -70
  166. package/dist/esm/index251.js +79 -2
  167. package/dist/esm/index252.js +2 -699
  168. package/dist/esm/index253.js +685 -126
  169. package/dist/esm/index254.js +138 -41
  170. package/dist/esm/index255.js +40 -199
  171. package/dist/esm/index256.js +198 -62
  172. package/dist/esm/index257.js +65 -4
  173. package/dist/esm/index258.js +4 -40
  174. package/dist/esm/index259.js +40 -7
  175. package/dist/esm/index26.js +8 -30
  176. package/dist/esm/index260.js +7 -62
  177. package/dist/esm/index261.js +57 -72
  178. package/dist/esm/index262.js +78 -4
  179. package/dist/esm/index263.js +4 -195
  180. package/dist/esm/index264.js +183 -52
  181. package/dist/esm/index265.js +59 -40
  182. package/dist/esm/index266.js +44 -4
  183. package/dist/esm/index267.js +5 -5
  184. package/dist/esm/index268.js +5 -2
  185. package/dist/esm/index269.js +2 -22
  186. package/dist/esm/index27.js +21 -26
  187. package/dist/esm/index270.js +24 -0
  188. package/dist/esm/index28.js +35 -8
  189. package/dist/esm/index29.js +8 -28
  190. package/dist/esm/index3.js +127 -65
  191. package/dist/esm/index30.js +27 -44
  192. package/dist/esm/index31.js +44 -86
  193. package/dist/esm/index32.js +83 -35
  194. package/dist/esm/index33.js +40 -8
  195. package/dist/esm/index34.js +7 -5
  196. package/dist/esm/index35.js +6 -16
  197. package/dist/esm/index36.js +16 -8
  198. package/dist/esm/index37.js +8 -13
  199. package/dist/esm/index38.js +13 -7
  200. package/dist/esm/index39.js +7 -9
  201. package/dist/esm/index4.js +33 -17
  202. package/dist/esm/index40.js +9 -16
  203. package/dist/esm/index41.js +16 -46
  204. package/dist/esm/index42.js +46 -13
  205. package/dist/esm/index43.js +13 -16
  206. package/dist/esm/index44.js +14 -11
  207. package/dist/esm/index45.js +13 -6
  208. package/dist/esm/index46.js +5 -34
  209. package/dist/esm/index47.js +34 -8
  210. package/dist/esm/index48.js +8 -7
  211. package/dist/esm/index49.js +8 -25
  212. package/dist/esm/index5.js +18 -12
  213. package/dist/esm/index50.js +25 -10
  214. package/dist/esm/index51.js +10 -14
  215. package/dist/esm/index52.js +14 -11
  216. package/dist/esm/index53.js +11 -116
  217. package/dist/esm/index54.js +114 -31
  218. package/dist/esm/index55.js +30 -76
  219. package/dist/esm/index56.js +78 -176
  220. package/dist/esm/index57.js +174 -41
  221. package/dist/esm/index58.js +44 -6
  222. package/dist/esm/index59.js +5 -12
  223. package/dist/esm/index6.js +12 -54
  224. package/dist/esm/index60.js +12 -12
  225. package/dist/esm/index61.js +13 -99
  226. package/dist/esm/index62.js +96 -69
  227. package/dist/esm/index63.js +61 -76
  228. package/dist/esm/index64.js +74 -135
  229. package/dist/esm/index65.js +108 -96
  230. package/dist/esm/index66.js +113 -45
  231. package/dist/esm/index67.js +68 -23
  232. package/dist/esm/index68.js +23 -105
  233. package/dist/esm/index69.js +105 -6
  234. package/dist/esm/index7.js +54 -58
  235. package/dist/esm/index70.js +6 -131
  236. package/dist/esm/index71.js +130 -274
  237. package/dist/esm/index72.js +276 -3
  238. package/dist/esm/index73.js +3 -4
  239. package/dist/esm/index74.js +4 -9
  240. package/dist/esm/index75.js +9 -2
  241. package/dist/esm/index76.js +2 -2
  242. package/dist/esm/index77.js +2 -3
  243. package/dist/esm/index78.js +3 -327
  244. package/dist/esm/index79.js +324 -11
  245. package/dist/esm/index8.js +58 -56
  246. package/dist/esm/index80.js +13 -4
  247. package/dist/esm/index81.js +4 -55
  248. package/dist/esm/index82.js +56 -2
  249. package/dist/esm/index83.js +2 -8
  250. package/dist/esm/index84.js +6 -213
  251. package/dist/esm/index85.js +215 -32
  252. package/dist/esm/index86.js +32 -22
  253. package/dist/esm/index87.js +21 -5
  254. package/dist/esm/index88.js +5 -73
  255. package/dist/esm/index89.js +73 -5
  256. package/dist/esm/index9.js +56 -33
  257. package/dist/esm/index90.js +4 -4
  258. package/dist/esm/index91.js +5 -35
  259. package/dist/esm/index92.js +29 -69
  260. package/dist/esm/index93.js +76 -3
  261. package/dist/esm/index94.js +3 -24
  262. package/dist/esm/index95.js +16 -444
  263. package/dist/esm/index96.js +444 -23
  264. package/dist/esm/index97.js +24 -20
  265. package/dist/esm/index98.js +18 -25
  266. package/dist/esm/index99.js +31 -32
  267. package/dist/types/index.d.ts +29 -0
  268. package/package.json +3 -3
@@ -1,49 +1,32 @@
1
- import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index94.js";
2
- import { getAction as l } from "./index205.js";
3
- import { internal_estimateMaxPriorityFeePerGas as u } from "./index32.js";
4
- import { getBlock as G } from "./index35.js";
5
- import { getGasPrice as b } from "./index45.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
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
11
+ });
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
25
27
  });
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
28
  }
42
- return {
43
- gasPrice: t?.gasPrice ?? n(await l(e, b, "getGasPrice")({}))
44
- };
45
29
  }
46
30
  export {
47
- E as estimateFeesPerGas,
48
- g as internal_estimateFeesPerGas
31
+ A as estimateContractGas
49
32
  };
@@ -1,91 +1,49 @@
1
- import { parseAccount as R } from "./index10.js";
2
- import { BaseError as _ } from "./index81.js";
3
- import { recoverAuthorizationAddress as A } from "./index219.js";
4
- import { numberToHex as x } from "./index108.js";
5
- import { getEstimateGasError as E } from "./index220.js";
6
- import { extract as N } from "./index217.js";
7
- import { formatTransactionRequest as S } from "./index143.js";
8
- import { serializeStateOverride as I } from "./index218.js";
9
- import { assertRequest as V } from "./index156.js";
10
- import { prepareTransactionRequest as C } from "./index68.js";
11
- import { getBalance as j } from "./index33.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
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
86
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
+ };
87
41
  }
42
+ return {
43
+ gasPrice: t?.gasPrice ?? n(await l(e, b, "getGasPrice")({}))
44
+ };
88
45
  }
89
46
  export {
90
- rt as estimateGas
47
+ E as estimateFeesPerGas,
48
+ g as internal_estimateFeesPerGas
91
49
  };
@@ -1,43 +1,91 @@
1
- import { Eip1559FeesNotSupportedError as f } from "./index94.js";
2
- import { hexToBigInt as u } from "./index141.js";
3
- import { getAction as s } from "./index205.js";
4
- import { getBlock as c } from "./index35.js";
5
- import { getGasPrice as y } from "./index45.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 R } from "./index11.js";
2
+ import { BaseError as _ } from "./index82.js";
3
+ import { recoverAuthorizationAddress as A } from "./index219.js";
4
+ import { numberToHex as x } from "./index109.js";
5
+ import { getEstimateGasError as E } from "./index220.js";
6
+ import { extract as N } from "./index217.js";
7
+ import { formatTransactionRequest as S } from "./index144.js";
8
+ import { serializeStateOverride as I } from "./index218.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;
11
14
  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
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]
18
24
  });
19
- if (P === null)
20
- throw new Error();
21
- return P;
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);
22
79
  }
23
- if (typeof r < "u")
24
- return r;
25
- const a = await e.request({
26
- method: "eth_maxPriorityFeePerGas"
80
+ return q;
81
+ } catch (n) {
82
+ throw E(n, {
83
+ ...s,
84
+ account: i,
85
+ chain: t.chain
27
86
  });
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
87
  }
39
88
  }
40
89
  export {
41
- h as estimateMaxPriorityFeePerGas,
42
- p as internal_estimateMaxPriorityFeePerGas
90
+ rt as estimateGas
43
91
  };
@@ -1,11 +1,43 @@
1
- import { numberToHex as c } from "./index108.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 { 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);
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
+ }
8
39
  }
9
40
  export {
10
- m as getBalance
41
+ h as estimateMaxPriorityFeePerGas,
42
+ p as internal_estimateMaxPriorityFeePerGas
11
43
  };
@@ -1,9 +1,11 @@
1
- async function a(e) {
2
- const t = await e.request({
3
- method: "eth_blobBaseFee"
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]
4
6
  });
5
- return BigInt(t);
7
+ return BigInt(r);
6
8
  }
7
9
  export {
8
- a as getBlobBaseFee
10
+ m as getBalance
9
11
  };
@@ -1,19 +1,9 @@
1
- import { BlockNotFoundError as f } from "./index83.js";
2
- import { numberToHex as u } from "./index108.js";
3
- import { formatBlock as d } from "./index113.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
+ async function a(e) {
2
+ const t = await e.request({
3
+ method: "eth_blobBaseFee"
4
+ });
5
+ return BigInt(t);
16
6
  }
17
7
  export {
18
- B as getBlock
8
+ a as getBlobBaseFee
19
9
  };
@@ -1,11 +1,19 @@
1
- import { withCache as t } from "./index173.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 { BlockNotFoundError as f } from "./index84.js";
2
+ import { numberToHex as u } from "./index109.js";
3
+ import { formatBlock as d } from "./index114.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);
8
16
  }
9
17
  export {
10
- u as getBlockNumber
18
+ B as getBlock
11
19
  };
@@ -1,16 +1,11 @@
1
- import { hexToNumber as u } from "./index141.js";
2
- import { numberToHex as m } from "./index108.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
+ import { withCache as t } from "./index174.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);
13
8
  }
14
9
  export {
15
- i as getBlockTransactionCount
10
+ u as getBlockNumber
16
11
  };
@@ -1,10 +1,16 @@
1
- import { hexToNumber as n } from "./index141.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 { hexToNumber as u } from "./index142.js";
2
+ import { numberToHex as m } from "./index109.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);
7
13
  }
8
14
  export {
9
- o as getChainId
15
+ i as getBlockTransactionCount
10
16
  };
@@ -1,12 +1,10 @@
1
- import { numberToHex as u } from "./index108.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 { hexToNumber as n } from "./index142.js";
2
+ async function o(e) {
3
+ const t = await e.request({
4
+ method: "eth_chainId"
5
+ }, { dedupe: !0 });
6
+ return n(t);
9
7
  }
10
8
  export {
11
- i as getCode
9
+ o as getChainId
12
10
  };
@@ -1,20 +1,36 @@
1
- import { createPublicClient as o } from "./index5.js";
2
- import { base as e } from "./index6.js";
3
- import { http as i } from "./index7.js";
4
- import { baseSepolia as p } from "./index8.js";
5
- const b = (r, t) => {
6
- if (r === "base")
7
- return o({
8
- chain: e,
9
- transport: t.transports?.[e.id] ?? i()
10
- });
11
- if (r === "base-sepolia")
12
- return o({
13
- chain: p,
14
- transport: t.transports?.[p.id] ?? i()
15
- });
16
- throw new Error(`Unsupported network: ${r}`);
1
+ import { useEffect as f, useCallback as v } from "react";
2
+ const d = (n) => {
3
+ const { pollFn: l, shouldStop: a, interval: r = 2e3, enabled: o, onSuccess: c, onError: i } = n;
4
+ return { startPolling: v(async () => {
5
+ if (!o) return;
6
+ let t, s = !1;
7
+ const u = async () => {
8
+ try {
9
+ const e = await l();
10
+ if (s) return;
11
+ a(e) && (c(e), t && clearInterval(t));
12
+ } catch (e) {
13
+ if (s) return;
14
+ i(e instanceof Error ? e : new Error(String(e))), t && clearInterval(t);
15
+ }
16
+ };
17
+ return await u(), t = setInterval(u, r), () => {
18
+ s = !0, t && clearInterval(t);
19
+ };
20
+ }, [l, a, r, o, c, i]) };
21
+ }, I = (n, l) => {
22
+ const { startPolling: a } = d(n);
23
+ f(() => {
24
+ if (!n.enabled) return;
25
+ let r;
26
+ return (async () => {
27
+ r = await a();
28
+ })(), () => {
29
+ r && r();
30
+ };
31
+ }, l);
17
32
  };
18
33
  export {
19
- b as getPublicClient
34
+ I as useAutoPolling,
35
+ d as usePolling
20
36
  };
@@ -1,19 +1,12 @@
1
- import { getAbiItem as p } from "./index88.js";
2
- import { getAction as v } from "./index205.js";
3
- import { getLogs as l } from "./index46.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 { numberToHex as u } from "./index109.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;
16
9
  }
17
10
  export {
18
- y as getContractEvents
11
+ i as getCode
19
12
  };