@coinbase/cdp-hooks 0.0.20 → 0.0.22

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 (272) hide show
  1. package/README.md +174 -2
  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 -36
  120. package/dist/esm/index206.js +35 -14
  121. package/dist/esm/index207.js +15 -8
  122. package/dist/esm/index208.js +7 -11
  123. package/dist/esm/index209.js +12 -9
  124. package/dist/esm/index21.js +37 -34
  125. package/dist/esm/index210.js +9 -16
  126. package/dist/esm/index211.js +16 -7
  127. package/dist/esm/index212.js +7 -22
  128. package/dist/esm/index213.js +22 -30
  129. package/dist/esm/index214.js +31 -2
  130. package/dist/esm/index215.js +2 -14
  131. package/dist/esm/index216.js +13 -12
  132. package/dist/esm/index217.js +10 -45
  133. package/dist/esm/index218.js +46 -5
  134. package/dist/esm/index219.js +6 -9
  135. package/dist/esm/index22.js +34 -55
  136. package/dist/esm/index220.js +8 -12
  137. package/dist/esm/index221.js +13 -14
  138. package/dist/esm/index222.js +14 -8
  139. package/dist/esm/index223.js +6 -13
  140. package/dist/esm/index224.js +15 -24
  141. package/dist/esm/index225.js +24 -11
  142. package/dist/esm/index226.js +10 -23
  143. package/dist/esm/index227.js +24 -51
  144. package/dist/esm/index228.js +51 -17
  145. package/dist/esm/index229.js +17 -14
  146. package/dist/esm/index23.js +55 -160
  147. package/dist/esm/index230.js +14 -11
  148. package/dist/esm/index231.js +11 -103
  149. package/dist/esm/index232.js +103 -6
  150. package/dist/esm/index233.js +5 -223
  151. package/dist/esm/index234.js +224 -6
  152. package/dist/esm/index235.js +7 -7
  153. package/dist/esm/index236.js +7 -27
  154. package/dist/esm/index237.js +25 -18
  155. package/dist/esm/index238.js +18 -145
  156. package/dist/esm/index239.js +146 -12
  157. package/dist/esm/index24.js +156 -32
  158. package/dist/esm/index240.js +12 -35
  159. package/dist/esm/index241.js +35 -41
  160. package/dist/esm/index242.js +41 -68
  161. package/dist/esm/index243.js +68 -3
  162. package/dist/esm/index244.js +3 -136
  163. package/dist/esm/index245.js +125 -144
  164. package/dist/esm/index246.js +155 -9
  165. package/dist/esm/index247.js +9 -16
  166. package/dist/esm/index248.js +16 -113
  167. package/dist/esm/index249.js +95 -116
  168. package/dist/esm/index25.js +39 -9
  169. package/dist/esm/index250.js +126 -70
  170. package/dist/esm/index251.js +79 -2
  171. package/dist/esm/index252.js +2 -699
  172. package/dist/esm/index253.js +685 -126
  173. package/dist/esm/index254.js +138 -41
  174. package/dist/esm/index255.js +40 -199
  175. package/dist/esm/index256.js +198 -62
  176. package/dist/esm/index257.js +65 -4
  177. package/dist/esm/index258.js +4 -40
  178. package/dist/esm/index259.js +40 -7
  179. package/dist/esm/index26.js +8 -30
  180. package/dist/esm/index260.js +7 -62
  181. package/dist/esm/index261.js +57 -72
  182. package/dist/esm/index262.js +78 -4
  183. package/dist/esm/index263.js +4 -195
  184. package/dist/esm/index264.js +183 -52
  185. package/dist/esm/index265.js +59 -40
  186. package/dist/esm/index266.js +44 -4
  187. package/dist/esm/index267.js +5 -5
  188. package/dist/esm/index268.js +5 -2
  189. package/dist/esm/index269.js +2 -22
  190. package/dist/esm/index27.js +21 -26
  191. package/dist/esm/index270.js +24 -0
  192. package/dist/esm/index28.js +35 -8
  193. package/dist/esm/index29.js +8 -28
  194. package/dist/esm/index3.js +127 -65
  195. package/dist/esm/index30.js +27 -44
  196. package/dist/esm/index31.js +44 -86
  197. package/dist/esm/index32.js +83 -35
  198. package/dist/esm/index33.js +40 -8
  199. package/dist/esm/index34.js +7 -5
  200. package/dist/esm/index35.js +6 -16
  201. package/dist/esm/index36.js +16 -8
  202. package/dist/esm/index37.js +8 -13
  203. package/dist/esm/index38.js +13 -7
  204. package/dist/esm/index39.js +7 -9
  205. package/dist/esm/index4.js +33 -17
  206. package/dist/esm/index40.js +9 -16
  207. package/dist/esm/index41.js +16 -46
  208. package/dist/esm/index42.js +46 -13
  209. package/dist/esm/index43.js +13 -16
  210. package/dist/esm/index44.js +14 -11
  211. package/dist/esm/index45.js +13 -6
  212. package/dist/esm/index46.js +5 -34
  213. package/dist/esm/index47.js +34 -8
  214. package/dist/esm/index48.js +8 -7
  215. package/dist/esm/index49.js +8 -25
  216. package/dist/esm/index5.js +18 -12
  217. package/dist/esm/index50.js +25 -10
  218. package/dist/esm/index51.js +10 -14
  219. package/dist/esm/index52.js +14 -11
  220. package/dist/esm/index53.js +11 -116
  221. package/dist/esm/index54.js +114 -31
  222. package/dist/esm/index55.js +30 -76
  223. package/dist/esm/index56.js +78 -176
  224. package/dist/esm/index57.js +174 -41
  225. package/dist/esm/index58.js +44 -6
  226. package/dist/esm/index59.js +5 -12
  227. package/dist/esm/index6.js +12 -54
  228. package/dist/esm/index60.js +12 -12
  229. package/dist/esm/index61.js +13 -99
  230. package/dist/esm/index62.js +96 -69
  231. package/dist/esm/index63.js +61 -76
  232. package/dist/esm/index64.js +74 -135
  233. package/dist/esm/index65.js +108 -96
  234. package/dist/esm/index66.js +113 -45
  235. package/dist/esm/index67.js +68 -23
  236. package/dist/esm/index68.js +23 -105
  237. package/dist/esm/index69.js +105 -6
  238. package/dist/esm/index7.js +54 -58
  239. package/dist/esm/index70.js +6 -131
  240. package/dist/esm/index71.js +130 -274
  241. package/dist/esm/index72.js +276 -3
  242. package/dist/esm/index73.js +3 -4
  243. package/dist/esm/index74.js +4 -9
  244. package/dist/esm/index75.js +9 -2
  245. package/dist/esm/index76.js +2 -2
  246. package/dist/esm/index77.js +2 -3
  247. package/dist/esm/index78.js +3 -327
  248. package/dist/esm/index79.js +324 -11
  249. package/dist/esm/index8.js +58 -56
  250. package/dist/esm/index80.js +13 -4
  251. package/dist/esm/index81.js +4 -55
  252. package/dist/esm/index82.js +56 -2
  253. package/dist/esm/index83.js +2 -8
  254. package/dist/esm/index84.js +6 -213
  255. package/dist/esm/index85.js +215 -32
  256. package/dist/esm/index86.js +32 -22
  257. package/dist/esm/index87.js +21 -5
  258. package/dist/esm/index88.js +5 -73
  259. package/dist/esm/index89.js +73 -5
  260. package/dist/esm/index9.js +56 -33
  261. package/dist/esm/index90.js +4 -4
  262. package/dist/esm/index91.js +5 -35
  263. package/dist/esm/index92.js +29 -69
  264. package/dist/esm/index93.js +76 -3
  265. package/dist/esm/index94.js +3 -24
  266. package/dist/esm/index95.js +16 -444
  267. package/dist/esm/index96.js +444 -23
  268. package/dist/esm/index97.js +24 -20
  269. package/dist/esm/index98.js +18 -25
  270. package/dist/esm/index99.js +31 -32
  271. package/dist/types/index.d.ts +32 -0
  272. 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 "./index211.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 "./index212.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 "./index216.js";
7
- import { formatTransactionRequest as S } from "./index143.js";
8
- import { serializeStateOverride as I } from "./index217.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 "./index212.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 "./index211.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 "./index220.js";
4
+ import { numberToHex as x } from "./index109.js";
5
+ import { getEstimateGasError as E } from "./index221.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 "./index212.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 "./index211.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
  };