viem 0.0.0-main.20240329T205455 → 0.0.0-main.20240330T155248

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 (34) hide show
  1. package/README.md +6 -0
  2. package/_cjs/actions/public/estimateFeesPerGas.js +6 -3
  3. package/_cjs/actions/public/estimateFeesPerGas.js.map +1 -1
  4. package/_cjs/celo/chainConfig.js +2 -0
  5. package/_cjs/celo/chainConfig.js.map +1 -1
  6. package/_cjs/celo/fees.js +32 -0
  7. package/_cjs/celo/fees.js.map +1 -0
  8. package/_cjs/errors/version.js +1 -1
  9. package/_esm/actions/public/estimateFeesPerGas.js +6 -3
  10. package/_esm/actions/public/estimateFeesPerGas.js.map +1 -1
  11. package/_esm/celo/chainConfig.js +2 -0
  12. package/_esm/celo/chainConfig.js.map +1 -1
  13. package/_esm/celo/fees.js +58 -0
  14. package/_esm/celo/fees.js.map +1 -0
  15. package/_esm/errors/version.js +1 -1
  16. package/_types/actions/public/estimateFeesPerGas.d.ts +1 -2
  17. package/_types/actions/public/estimateFeesPerGas.d.ts.map +1 -1
  18. package/_types/celo/chainConfig.d.ts +2101 -0
  19. package/_types/celo/chainConfig.d.ts.map +1 -1
  20. package/_types/celo/fees.d.ts +4 -0
  21. package/_types/celo/fees.d.ts.map +1 -0
  22. package/_types/chains/definitions/celo.d.ts +2101 -1
  23. package/_types/chains/definitions/celo.d.ts.map +1 -1
  24. package/_types/chains/definitions/celoAlfajores.d.ts +2101 -1
  25. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  26. package/_types/errors/version.d.ts +1 -1
  27. package/_types/types/chain.d.ts +2 -1
  28. package/_types/types/chain.d.ts.map +1 -1
  29. package/actions/public/estimateFeesPerGas.ts +7 -4
  30. package/celo/chainConfig.ts +2 -0
  31. package/celo/fees.ts +92 -0
  32. package/errors/version.ts +1 -1
  33. package/package.json +1 -1
  34. package/types/chain.ts +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"celoAlfajores.d.ts","sourceRoot":"","sources":["../../../chains/definitions/celoAlfajores.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAA"}
1
+ {"version":3,"file":"celoAlfajores.d.ts","sourceRoot":"","sources":["../../../chains/definitions/celoAlfajores.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.0-main.20240329T205455";
1
+ export declare const version = "0.0.0-main.20240330T155248";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -91,8 +91,9 @@ export type ChainFees<formatters extends ChainFormatters | undefined = ChainForm
91
91
  *
92
92
  * Overrides the return value in the [`estimateFeesPerGas` Action](/docs/actions/public/estimateFeesPerGas).
93
93
  */
94
- estimateFeesPerGas?: ((args: ChainEstimateFeesPerGasFnParameters<formatters>) => Promise<EstimateFeesPerGasReturnType>) | bigint | undefined;
94
+ estimateFeesPerGas?: ChainEstimateFeesPerGasFn<formatters> | bigint | undefined;
95
95
  };
96
+ export type ChainEstimateFeesPerGasFn<formatters extends ChainFormatters | undefined = ChainFormatters | undefined> = (args: ChainEstimateFeesPerGasFnParameters<formatters>) => Promise<EstimateFeesPerGasReturnType | null>;
96
97
  export type ChainFormatters = {
97
98
  /** Modifies how the Block structure is formatted & typed. */
98
99
  block?: ChainFormatter<'block'> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../types/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../types/chain.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@ import type {
12
12
  Chain,
13
13
  ChainEstimateFeesPerGasFnParameters,
14
14
  ChainFeesFnParameters,
15
+ GetChainParameter,
15
16
  } from '../../types/chain.js'
16
- import type { GetChainParameter } from '../../types/chain.js'
17
17
  import type {
18
18
  FeeValuesEIP1559,
19
19
  FeeValuesLegacy,
@@ -130,14 +130,17 @@ export async function internal_estimateFeesPerGas<
130
130
  ? block_
131
131
  : await getAction(client, getBlock, 'getBlock')({})
132
132
 
133
- if (typeof chain?.fees?.estimateFeesPerGas === 'function')
134
- return chain.fees.estimateFeesPerGas({
133
+ if (typeof chain?.fees?.estimateFeesPerGas === 'function') {
134
+ const fees = (await chain.fees.estimateFeesPerGas({
135
135
  block: block_ as Block,
136
136
  client,
137
137
  multiply,
138
138
  request,
139
139
  type,
140
- } as ChainEstimateFeesPerGasFnParameters) as unknown as EstimateFeesPerGasReturnType<type>
140
+ } as ChainEstimateFeesPerGasFnParameters)) as unknown as EstimateFeesPerGasReturnType<type>
141
+
142
+ if (fees !== null) return fees
143
+ }
141
144
 
142
145
  if (type === 'eip1559') {
143
146
  if (typeof block.baseFeePerGas !== 'bigint')
@@ -1,7 +1,9 @@
1
+ import { fees } from './fees.js'
1
2
  import { formatters } from './formatters.js'
2
3
  import { serializers } from './serializers.js'
3
4
 
4
5
  export const chainConfig = {
5
6
  formatters,
6
7
  serializers,
8
+ fees,
7
9
  } as const
package/celo/fees.ts ADDED
@@ -0,0 +1,92 @@
1
+ import type { Client } from '../clients/createClient.js'
2
+ import {
3
+ type Address,
4
+ type ChainEstimateFeesPerGasFnParameters,
5
+ type ChainFees,
6
+ type Hex,
7
+ } from '../index.js'
8
+
9
+ import { formatters } from './formatters.js'
10
+
11
+ export const fees: ChainFees<typeof formatters> = {
12
+ /*
13
+ * Estimates the fees per gas for a transaction.
14
+
15
+ * If the transaction is to be paid in a token (feeCurrency is present) then the fees
16
+ * are estimated in the value of the token. Otherwise falls back to the default
17
+ * estimation by returning null.
18
+ *
19
+ * @param params fee estimation function parameters
20
+ */
21
+ estimateFeesPerGas: async (
22
+ params: ChainEstimateFeesPerGasFnParameters<typeof formatters>,
23
+ ) => {
24
+ if (!params.request?.feeCurrency) return null
25
+
26
+ const [maxFeePerGas, maxPriorityFeePerGas] = await Promise.all([
27
+ estimateFeePerGasInFeeCurrency(params.client, params.request.feeCurrency),
28
+ estimateMaxPriorityFeePerGasInFeeCurrency(
29
+ params.client,
30
+ params.request.feeCurrency,
31
+ ),
32
+ ])
33
+
34
+ return {
35
+ maxFeePerGas,
36
+ maxPriorityFeePerGas,
37
+ }
38
+ },
39
+ }
40
+
41
+ type RequestGasPriceInFeeCurrencyParams = {
42
+ Method: 'eth_gasPrice'
43
+ Parameters: [Address]
44
+ ReturnType: Hex
45
+ }
46
+
47
+ /*
48
+ * Estimate the fee per gas in the value of the fee token
49
+
50
+ *
51
+ * @param client - Client to use
52
+ * @param feeCurrency - Address of a whitelisted fee token
53
+ * @returns The fee per gas in wei in the value of the fee token
54
+ *
55
+ */
56
+ async function estimateFeePerGasInFeeCurrency(
57
+ client: Client,
58
+ feeCurrency: Address,
59
+ ) {
60
+ const fee = await client.request<RequestGasPriceInFeeCurrencyParams>({
61
+ method: 'eth_gasPrice',
62
+ params: [feeCurrency],
63
+ })
64
+ return BigInt(fee)
65
+ }
66
+
67
+ type RequestMaxGasPriceInFeeCurrencyParams = {
68
+ Method: 'eth_maxPriorityFeePerGas'
69
+ Parameters: [Address]
70
+ ReturnType: Hex
71
+ }
72
+
73
+ /*
74
+ * Estimate the max priority fee per gas in the value of the fee token
75
+
76
+ *
77
+ * @param client - Client to use
78
+ * @param feeCurrency - Address of a whitelisted fee token
79
+ * @returns The fee per gas in wei in the value of the fee token
80
+ *
81
+ */
82
+ async function estimateMaxPriorityFeePerGasInFeeCurrency(
83
+ client: Client,
84
+ feeCurrency: Address,
85
+ ) {
86
+ const feesPerGas =
87
+ await client.request<RequestMaxGasPriceInFeeCurrencyParams>({
88
+ method: 'eth_maxPriorityFeePerGas',
89
+ params: [feeCurrency],
90
+ })
91
+ return BigInt(feesPerGas)
92
+ }
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20240329T205455'
1
+ export const version = '0.0.0-main.20240330T155248'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "0.0.0-main.20240329T205455",
4
+ "version": "0.0.0-main.20240330T155248",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",
package/types/chain.ts CHANGED
@@ -129,13 +129,17 @@ export type ChainFees<
129
129
  * Overrides the return value in the [`estimateFeesPerGas` Action](/docs/actions/public/estimateFeesPerGas).
130
130
  */
131
131
  estimateFeesPerGas?:
132
- | ((
133
- args: ChainEstimateFeesPerGasFnParameters<formatters>,
134
- ) => Promise<EstimateFeesPerGasReturnType>)
132
+ | ChainEstimateFeesPerGasFn<formatters>
135
133
  | bigint
136
134
  | undefined
137
135
  }
138
136
 
137
+ export type ChainEstimateFeesPerGasFn<
138
+ formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
139
+ > = (
140
+ args: ChainEstimateFeesPerGasFnParameters<formatters>,
141
+ ) => Promise<EstimateFeesPerGasReturnType | null>
142
+
139
143
  export type ChainFormatters = {
140
144
  /** Modifies how the Block structure is formatted & typed. */
141
145
  block?: ChainFormatter<'block'> | undefined