@aztec/ethereum 0.0.1-commit.6c91f13 → 0.0.1-commit.6d63667d

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 (111) hide show
  1. package/dest/config.d.ts +15 -28
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +46 -55
  4. package/dest/contracts/empire_slashing_proposer.d.ts +1 -1
  5. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  6. package/dest/contracts/empire_slashing_proposer.js +13 -15
  7. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  8. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  9. package/dest/contracts/fee_asset_handler.js +11 -9
  10. package/dest/contracts/governance.d.ts +3 -1
  11. package/dest/contracts/governance.d.ts.map +1 -1
  12. package/dest/contracts/governance.js +11 -1
  13. package/dest/contracts/governance_proposer.d.ts +1 -1
  14. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  15. package/dest/contracts/governance_proposer.js +386 -9
  16. package/dest/contracts/inbox.d.ts +18 -1
  17. package/dest/contracts/inbox.d.ts.map +1 -1
  18. package/dest/contracts/inbox.js +32 -1
  19. package/dest/contracts/index.d.ts +3 -1
  20. package/dest/contracts/index.d.ts.map +1 -1
  21. package/dest/contracts/index.js +2 -0
  22. package/dest/contracts/log.d.ts +13 -0
  23. package/dest/contracts/log.d.ts.map +1 -0
  24. package/dest/contracts/log.js +1 -0
  25. package/dest/contracts/multicall.d.ts +1 -1
  26. package/dest/contracts/multicall.d.ts.map +1 -1
  27. package/dest/contracts/multicall.js +2 -1
  28. package/dest/contracts/outbox.d.ts +41 -0
  29. package/dest/contracts/outbox.d.ts.map +1 -0
  30. package/dest/contracts/outbox.js +86 -0
  31. package/dest/contracts/rollup.d.ts +160 -96
  32. package/dest/contracts/rollup.d.ts.map +1 -1
  33. package/dest/contracts/rollup.js +672 -129
  34. package/dest/contracts/tally_slashing_proposer.d.ts +1 -1
  35. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  36. package/dest/contracts/tally_slashing_proposer.js +8 -1
  37. package/dest/deploy_aztec_l1_contracts.d.ts +15 -2
  38. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
  39. package/dest/deploy_aztec_l1_contracts.js +80 -17
  40. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  41. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  42. package/dest/generated/l1-contracts-defaults.js +30 -0
  43. package/dest/l1_artifacts.d.ts +4866 -1513
  44. package/dest/l1_artifacts.d.ts.map +1 -1
  45. package/dest/l1_tx_utils/constants.d.ts +1 -1
  46. package/dest/l1_tx_utils/constants.js +2 -2
  47. package/dest/l1_tx_utils/fee-strategies/index.d.ts +3 -2
  48. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -1
  49. package/dest/l1_tx_utils/fee-strategies/index.js +2 -1
  50. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +2 -12
  51. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -1
  52. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +35 -17
  53. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +2 -11
  54. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -1
  55. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +36 -18
  56. package/dest/l1_tx_utils/fee-strategies/types.d.ts +14 -27
  57. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -1
  58. package/dest/l1_tx_utils/fee-strategies/types.js +0 -21
  59. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +2 -2
  60. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -1
  61. package/dest/l1_tx_utils/l1_fee_analyzer.js +3 -3
  62. package/dest/l1_tx_utils/l1_tx_utils.js +6 -6
  63. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -5
  64. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  65. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +17 -54
  66. package/dest/publisher_manager.d.ts +3 -2
  67. package/dest/publisher_manager.d.ts.map +1 -1
  68. package/dest/publisher_manager.js +2 -2
  69. package/dest/queries.d.ts +2 -2
  70. package/dest/queries.d.ts.map +1 -1
  71. package/dest/queries.js +6 -3
  72. package/dest/test/chain_monitor.js +1 -2
  73. package/dest/test/eth_cheat_codes.d.ts +13 -1
  74. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  75. package/dest/test/rollup_cheat_codes.d.ts +5 -2
  76. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  77. package/dest/test/rollup_cheat_codes.js +19 -2
  78. package/dest/test/start_anvil.js +1 -1
  79. package/dest/utils.d.ts +2 -1
  80. package/dest/utils.d.ts.map +1 -1
  81. package/dest/utils.js +46 -0
  82. package/package.json +8 -7
  83. package/src/config.ts +55 -54
  84. package/src/contracts/README.md +157 -0
  85. package/src/contracts/empire_slashing_proposer.ts +16 -27
  86. package/src/contracts/fee_asset_handler.ts +10 -7
  87. package/src/contracts/governance.ts +10 -1
  88. package/src/contracts/governance_proposer.ts +4 -1
  89. package/src/contracts/inbox.ts +48 -1
  90. package/src/contracts/index.ts +2 -0
  91. package/src/contracts/log.ts +13 -0
  92. package/src/contracts/multicall.ts +5 -2
  93. package/src/contracts/outbox.ts +98 -0
  94. package/src/contracts/rollup.ts +337 -93
  95. package/src/contracts/tally_slashing_proposer.ts +5 -1
  96. package/src/deploy_aztec_l1_contracts.ts +82 -16
  97. package/src/generated/l1-contracts-defaults.ts +32 -0
  98. package/src/l1_tx_utils/constants.ts +2 -2
  99. package/src/l1_tx_utils/fee-strategies/index.ts +1 -1
  100. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +45 -41
  101. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +48 -44
  102. package/src/l1_tx_utils/fee-strategies/types.ts +14 -46
  103. package/src/l1_tx_utils/l1_fee_analyzer.ts +2 -3
  104. package/src/l1_tx_utils/l1_tx_utils.ts +6 -6
  105. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +23 -62
  106. package/src/publisher_manager.ts +4 -2
  107. package/src/queries.ts +5 -3
  108. package/src/test/chain_monitor.ts +1 -1
  109. package/src/test/rollup_cheat_codes.ts +21 -3
  110. package/src/test/start_anvil.ts +1 -1
  111. package/src/utils.ts +53 -0
@@ -77,14 +77,20 @@ import { HISTORICAL_BLOCK_COUNT } from './types.js';
77
77
  */ export const P75BlobTxsOnlyPriorityFeeStrategy = {
78
78
  name: 'Competitive (P75 + History) - Blob Txs Only',
79
79
  id: 'p75_pending_txs_and_history_blob_txs_only',
80
- getRequiredPromises (client, opts) {
81
- return {
82
- networkEstimate: client.estimateMaxPriorityFeePerGas().catch(()=>0n),
83
- pendingBlock: client.getBlock({
80
+ async execute (client, context) {
81
+ const { isBlobTx, logger } = context;
82
+ // Fire all RPC calls in parallel
83
+ const [latestBlockResult, blobBaseFeeResult, networkEstimateResult, pendingBlockResult, feeHistoryResult] = await Promise.allSettled([
84
+ client.getBlock({
85
+ blockTag: 'latest'
86
+ }),
87
+ isBlobTx ? client.getBlobBaseFee() : Promise.resolve(undefined),
88
+ client.estimateMaxPriorityFeePerGas().catch(()=>0n),
89
+ client.getBlock({
84
90
  blockTag: 'pending',
85
91
  includeTransactions: true
86
92
  }).catch(()=>null),
87
- feeHistory: opts.isBlobTx ? getBlobPriorityFeeHistory(client, HISTORICAL_BLOCK_COUNT, [
93
+ isBlobTx ? getBlobPriorityFeeHistory(client, HISTORICAL_BLOCK_COUNT, [
88
94
  75
89
95
  ]) : client.getFeeHistory({
90
96
  blockCount: HISTORICAL_BLOCK_COUNT,
@@ -93,31 +99,41 @@ import { HISTORICAL_BLOCK_COUNT } from './types.js';
93
99
  ],
94
100
  blockTag: 'latest'
95
101
  }).catch(()=>null)
96
- };
97
- },
98
- calculate (results, context) {
99
- const { logger } = context;
100
- // Extract network estimate from settled result
101
- const networkEstimate = results.networkEstimate.status === 'fulfilled' && typeof results.networkEstimate.value === 'bigint' ? results.networkEstimate.value : 0n;
102
+ ]);
103
+ // Extract latest block (required)
104
+ if (latestBlockResult.status === 'rejected') {
105
+ throw new Error(`Failed to get latest block: ${latestBlockResult.reason}`);
106
+ }
107
+ const latestBlock = latestBlockResult.value;
108
+ // Extract blob base fee (only for blob txs)
109
+ let blobBaseFee;
110
+ if (isBlobTx) {
111
+ if (blobBaseFeeResult.status === 'fulfilled' && typeof blobBaseFeeResult.value === 'bigint') {
112
+ blobBaseFee = blobBaseFeeResult.value;
113
+ } else {
114
+ logger?.warn('Failed to get L1 blob base fee');
115
+ }
116
+ }
117
+ // Extract network estimate
118
+ const networkEstimate = networkEstimateResult.status === 'fulfilled' && typeof networkEstimateResult.value === 'bigint' ? networkEstimateResult.value : 0n;
102
119
  let competitiveFee = networkEstimate;
103
120
  const debugInfo = {
104
121
  networkEstimateGwei: formatGwei(networkEstimate)
105
122
  };
106
- // Extract pending block from settled result
107
- const pendingBlock = results.pendingBlock.status === 'fulfilled' ? results.pendingBlock.value : null;
123
+ // Extract pending block
124
+ const pendingBlock = pendingBlockResult.status === 'fulfilled' ? pendingBlockResult.value : null;
108
125
  // Analyze pending block transactions
109
126
  if (pendingBlock?.transactions && pendingBlock.transactions.length > 0) {
110
127
  const pendingFees = pendingBlock.transactions.map((tx)=>{
111
128
  if (typeof tx === 'string') {
112
129
  return 0n;
113
130
  }
114
- if (context.isBlobTx) {
131
+ if (isBlobTx) {
115
132
  if (!isBlobTransaction(tx)) {
116
133
  return 0n;
117
134
  }
118
135
  }
119
- const fee = tx.maxPriorityFeePerGas || 0n;
120
- return fee;
136
+ return tx.maxPriorityFeePerGas || 0n;
121
137
  }).filter((fee)=>fee > 0n);
122
138
  if (pendingFees.length > 0) {
123
139
  const pendingCompetitiveFee = calculatePercentile(pendingFees, 75);
@@ -132,8 +148,8 @@ import { HISTORICAL_BLOCK_COUNT } from './types.js';
132
148
  });
133
149
  }
134
150
  }
135
- // Extract fee history from settled result
136
- const feeHistory = results.feeHistory.status === 'fulfilled' ? results.feeHistory.value : null;
151
+ // Extract fee history
152
+ const feeHistory = feeHistoryResult.status === 'fulfilled' ? feeHistoryResult.value : null;
137
153
  // Analyze fee history
138
154
  if (feeHistory?.reward && feeHistory.reward.length > 0) {
139
155
  // Extract 75th percentile fees from each block
@@ -167,6 +183,8 @@ import { HISTORICAL_BLOCK_COUNT } from './types.js';
167
183
  debugInfo.finalFeeGwei = formatGwei(competitiveFee);
168
184
  return {
169
185
  priorityFee: competitiveFee,
186
+ latestBlock,
187
+ blobBaseFee,
170
188
  debugInfo
171
189
  };
172
190
  }
@@ -1,4 +1,5 @@
1
1
  import type { Logger } from '@aztec/foundation/log';
2
+ import type { Block } from 'viem';
2
3
  import type { ViemClient } from '../../types.js';
3
4
  import type { L1TxUtilsConfig } from '../config.js';
4
5
  /**
@@ -11,11 +12,15 @@ export declare const HISTORICAL_BLOCK_COUNT = 5;
11
12
  export interface PriorityFeeStrategyResult {
12
13
  /** The calculated priority fee in wei */
13
14
  priorityFee: bigint;
15
+ /** The latest block (fetched as part of the strategy) */
16
+ latestBlock: Block;
17
+ /** The blob base fee (only present for blob transactions) */
18
+ blobBaseFee?: bigint;
14
19
  /** Optional debug info about how the fee was calculated */
15
20
  debugInfo?: Record<string, string | number>;
16
21
  }
17
22
  /**
18
- * Context passed to the strategy calculation function (excluding promise results)
23
+ * Context passed to the strategy function
19
24
  */
20
25
  export interface PriorityFeeStrategyContext {
21
26
  /** Gas configuration */
@@ -27,38 +32,20 @@ export interface PriorityFeeStrategyContext {
27
32
  }
28
33
  /**
29
34
  * A strategy for calculating the priority fee for L1 transactions.
30
- * Each strategy defines what promises it needs and how to calculate the fee from their results.
31
- * This design allows strategies to be plugged into both L1FeeAnalyzer and ReadOnlyL1TxUtils.
35
+ * The function handles all RPC calls and returns
36
+ * the priority fee, along with any block data needed by the caller.
32
37
  */
33
- export interface PriorityFeeStrategy<TPromises extends Record<string, Promise<any>> = Record<string, Promise<any>>> {
38
+ export type PriorityFeeStrategy = {
34
39
  /** Human-readable name for logging */
35
40
  name: string;
36
41
  /** Unique identifier for metrics */
37
42
  id: string;
38
43
  /**
39
- * Returns the promises that need to be executed for this strategy.
40
- * These will be run in parallel with Promise.allSettled.
44
+ * Calculate the priority fee.
41
45
  * @param client - The viem client to use for RPC calls
42
- * @returns An object of promises keyed by name
43
- */
44
- getRequiredPromises(client: ViemClient, opts: Partial<PriorityFeeStrategyContext>): TPromises;
45
- /**
46
- * Calculate the priority fee based on the settled promise results.
47
- * @param results - The settled results of the promises from getRequiredPromises
48
46
  * @param context - Contains gas config, whether it's a blob tx, and logger
49
- * @returns The calculated priority fee result
47
+ * @returns The calculated priority fee result including block data
50
48
  */
51
- calculate(results: {
52
- [K in keyof TPromises]: PromiseSettledResult<Awaited<TPromises[K]>>;
53
- }, context: PriorityFeeStrategyContext): PriorityFeeStrategyResult;
54
- }
55
- /**
56
- * Helper function to execute a strategy's promises and calculate the result.
57
- * This can be used by both L1FeeAnalyzer and ReadOnlyL1TxUtils.
58
- * @param strategy - The strategy to execute
59
- * @param client - The viem client to use for RPC calls
60
- * @param context - The context for calculation
61
- * @returns The strategy result
62
- */
63
- export declare function executeStrategy<TPromises extends Record<string, Promise<any>>>(strategy: PriorityFeeStrategy<TPromises>, client: ViemClient, context: PriorityFeeStrategyContext): Promise<PriorityFeeStrategyResult>;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sMV90eF91dGlscy9mZWUtc3RyYXRlZ2llcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxlQUFPLE1BQU0sc0JBQXNCLElBQUksQ0FBQztBQUV4Qzs7R0FFRztBQUNILE1BQU0sV0FBVyx5QkFBeUI7SUFDeEMseUNBQXlDO0lBQ3pDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsMkRBQTJEO0lBQzNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0NBQzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsMEJBQTBCO0lBQ3pDLHdCQUF3QjtJQUN4QixTQUFTLEVBQUUsZUFBZSxDQUFDO0lBQzNCLDZDQUE2QztJQUM3QyxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLDJCQUEyQjtJQUMzQixNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLG1CQUFtQixDQUFDLFNBQVMsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hILHNDQUFzQztJQUN0QyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2Isb0NBQW9DO0lBQ3BDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM5Rjs7Ozs7T0FLRztJQUNILFNBQVMsQ0FDUCxPQUFPLEVBQUU7U0FBRyxDQUFDLElBQUksTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQUUsRUFDaEYsT0FBTyxFQUFFLDBCQUEwQixHQUNsQyx5QkFBeUIsQ0FBQztDQUM5QjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IsZUFBZSxDQUFDLFNBQVMsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNsRixRQUFRLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQ3hDLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLE9BQU8sRUFBRSwwQkFBMEIsR0FDbEMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBY3BDIn0=
49
+ execute: (client: ViemClient, context: PriorityFeeStrategyContext) => Promise<PriorityFeeStrategyResult>;
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sMV90eF91dGlscy9mZWUtc3RyYXRlZ2llcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXBEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQixJQUFJLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcseUJBQXlCO0lBQ3hDLHlDQUF5QztJQUN6QyxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLHlEQUF5RDtJQUN6RCxXQUFXLEVBQUUsS0FBSyxDQUFDO0lBQ25CLDZEQUE2RDtJQUM3RCxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDckIsMkRBQTJEO0lBQzNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0NBQzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsMEJBQTBCO0lBQ3pDLHdCQUF3QjtJQUN4QixTQUFTLEVBQUUsZUFBZSxDQUFDO0lBQzNCLDZDQUE2QztJQUM3QyxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLDJCQUEyQjtJQUMzQixNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLG1CQUFtQixHQUFHO0lBQ2hDLHNDQUFzQztJQUN0QyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2Isb0NBQW9DO0lBQ3BDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWDs7Ozs7T0FLRztJQUNILE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixLQUFLLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0NBQzFHLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/l1_tx_utils/fee-strategies/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,wBAAwB;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChH,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAC;IAC9F;;;;;OAKG;IACH,SAAS,CACP,OAAO,EAAE;SAAG,CAAC,IAAI,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,EAChF,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAClF,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC,EACxC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAcpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/l1_tx_utils/fee-strategies/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,WAAW,EAAE,KAAK,CAAC;IACnB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,wBAAwB;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC1G,CAAC"}
@@ -1,24 +1,3 @@
1
1
  /**
2
2
  * Historical block count for fee history queries
3
3
  */ export const HISTORICAL_BLOCK_COUNT = 5;
4
- /**
5
- * Helper function to execute a strategy's promises and calculate the result.
6
- * This can be used by both L1FeeAnalyzer and ReadOnlyL1TxUtils.
7
- * @param strategy - The strategy to execute
8
- * @param client - The viem client to use for RPC calls
9
- * @param context - The context for calculation
10
- * @returns The strategy result
11
- */ export async function executeStrategy(strategy, client, context) {
12
- const promises = strategy.getRequiredPromises(client, {
13
- isBlobTx: context.isBlobTx
14
- });
15
- const keys = Object.keys(promises);
16
- const promiseArray = keys.map((k)=>promises[k]);
17
- const settledResults = await Promise.allSettled(promiseArray);
18
- // Reconstruct the results object with the same keys, preserving the type mapping
19
- const results = {};
20
- keys.forEach((key, index)=>{
21
- results[key] = settledResults[index];
22
- });
23
- return strategy.calculate(results, context);
24
- }
@@ -169,7 +169,7 @@ export declare class L1FeeAnalyzer {
169
169
  constructor(client: ViemClient, dateProvider?: DateProvider, logger?: Logger, maxCompletedAnalyses?: number, strategies?: PriorityFeeStrategy[], gasConfig?: L1TxUtilsConfig);
170
170
  /**
171
171
  * Executes all configured strategies and returns their results.
172
- * Each strategy defines its own promises which are executed and passed to calculate.
172
+ * Each strategy handles its own RPC calls internally.
173
173
  * @param isBlobTx - Whether this is a blob transaction
174
174
  * @returns Array of strategy results
175
175
  */
@@ -230,4 +230,4 @@ export declare class L1FeeAnalyzer {
230
230
  */
231
231
  private minBigInt;
232
232
  }
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfZmVlX2FuYWx5emVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbDFfdHhfdXRpbHMvbDFfZmVlX2FuYWx5emVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUF5QyxLQUFLLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUd6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsVUFBVTtJQUN6QixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1Ysb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQzdCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsR0FBRyxFQUFFLE1BQU0sQ0FBQztDQUNiO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsb0JBQW9CO0lBQ25DLDRDQUE0QztJQUM1QyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLHlEQUF5RDtJQUN6RCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkNBQTJDO0lBQzNDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsNENBQTRDO0lBQzVDLFdBQVcsRUFBRSxN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
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfZmVlX2FuYWx5emVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbDFfdHhfdXRpbHMvbDFfZmVlX2FuYWx5emVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUF5QyxLQUFLLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUV6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsVUFBVTtJQUN6QixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1Ysb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQzdCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsR0FBRyxFQUFFLE1BQU0sQ0FBQztDQUNiO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsb0JBQW9CO0lBQ25DLDRDQUE0QztJQUM1QyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLHlEQUF5RDtJQUN6RCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkNBQTJDO0lBQzNDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsNENBQTRDO0lBQzVDLFdBQVcsRUFBRSxN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
@@ -1 +1 @@
1
- {"version":3,"file":"l1_fee_analyzer.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/l1_fee_analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l1_fee_analyzer.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/l1_fee_analyzer.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { DateProvider } from '@aztec/foundation/timer';
4
4
  import { formatGwei } from 'viem';
5
5
  import { calculatePercentile, isBlobTransaction } from '../utils.js';
6
6
  import { BLOB_CAPACITY_SCHEDULE, GAS_PER_BLOB, WEI_CONST } from './constants.js';
7
- import { DEFAULT_PRIORITY_FEE_STRATEGIES, executeStrategy } from './fee-strategies/index.js';
7
+ import { DEFAULT_PRIORITY_FEE_STRATEGIES } from './fee-strategies/index.js';
8
8
  /**
9
9
  * Gets the maximum blob capacity for a given block timestamp
10
10
  */ function getMaxBlobCapacity(blockTimestamp) {
@@ -93,7 +93,7 @@ import { DEFAULT_PRIORITY_FEE_STRATEGIES, executeStrategy } from './fee-strategi
93
93
  }
94
94
  /**
95
95
  * Executes all configured strategies and returns their results.
96
- * Each strategy defines its own promises which are executed and passed to calculate.
96
+ * Each strategy handles its own RPC calls internally.
97
97
  * @param isBlobTx - Whether this is a blob transaction
98
98
  * @returns Array of strategy results
99
99
  */ async executeAllStrategies(isBlobTx) {
@@ -105,7 +105,7 @@ import { DEFAULT_PRIORITY_FEE_STRATEGIES, executeStrategy } from './fee-strategi
105
105
  };
106
106
  for (const strategy of this.strategies){
107
107
  try {
108
- const result = await executeStrategy(strategy, this.client, context);
108
+ const result = await strategy.execute(this.client, context);
109
109
  results.push({
110
110
  strategyId: strategy.id,
111
111
  strategyName: strategy.name,
@@ -11,7 +11,7 @@ import { createNonceManager, formatGwei, serializeTransaction } from 'viem';
11
11
  import { jsonRpc } from 'viem/nonce';
12
12
  import { formatViemError } from '../utils.js';
13
13
  import { l1TxUtilsConfigMappings } from './config.js';
14
- import { LARGE_GAS_LIMIT } from './constants.js';
14
+ import { MAX_L1_TX_LIMIT } from './constants.js';
15
15
  import { ReadOnlyL1TxUtils } from './readonly_l1_tx_utils.js';
16
16
  import { DroppedTransactionError, TerminalTxUtilsState, TxUtilsState, UnknownMinedTxError } from './types.js';
17
17
  const MAX_L1_TX_STATES = 32;
@@ -134,7 +134,7 @@ export class L1TxUtils extends ReadOnlyL1TxUtils {
134
134
  const account = this.getSenderAddress().toString();
135
135
  let gasLimit;
136
136
  if (this.debugMaxGasLimit) {
137
- gasLimit = LARGE_GAS_LIMIT;
137
+ gasLimit = MAX_L1_TX_LIMIT;
138
138
  } else if (gasConfig.gasLimit) {
139
139
  gasLimit = gasConfig.gasLimit;
140
140
  } else {
@@ -217,7 +217,7 @@ export class L1TxUtils extends ReadOnlyL1TxUtils {
217
217
  };
218
218
  } catch (err) {
219
219
  const viemError = formatViemError(err, request.abi);
220
- this.logger.error(`Failed to send L1 transaction`, viemError, {
220
+ this.logger.error(`Failed to send L1 transaction: ${viemError.message}`, viemError, {
221
221
  request: pick(request, 'to', 'value')
222
222
  });
223
223
  throw viemError;
@@ -522,11 +522,11 @@ export class L1TxUtils extends ReadOnlyL1TxUtils {
522
522
  from: request.from ?? this.getSenderAddress().toString(),
523
523
  maxFeePerGas: gasPrice.maxFeePerGas,
524
524
  maxPriorityFeePerGas: gasPrice.maxPriorityFeePerGas,
525
- gas: request.gas ?? LARGE_GAS_LIMIT
525
+ gas: request.gas ?? MAX_L1_TX_LIMIT
526
526
  };
527
527
  if (!request.gas && !gasConfig.ignoreBlockGasLimit) {
528
- // LARGE_GAS_LIMIT is set as call.gas, increase block gasLimit
529
- blockOverrides.gasLimit = LARGE_GAS_LIMIT * 2n;
528
+ // MAX_L1_TX_LIMIT is set as call.gas, ensure block gasLimit is sufficient
529
+ blockOverrides.gasLimit = MAX_L1_TX_LIMIT;
530
530
  }
531
531
  return this._simulate(call, blockOverrides, stateOverrides, gasConfig, abi);
532
532
  }
@@ -79,9 +79,5 @@ export declare class ReadOnlyL1TxUtils {
79
79
  result: `0x${string}`;
80
80
  }>;
81
81
  bumpGasLimit(gasLimit: bigint, _gasConfig?: L1TxUtilsConfig): bigint;
82
- /**
83
- * Helper function to retry RPC calls twice
84
- */
85
- private tryTwice;
86
82
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHlfbDFfdHhfdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMV90eF91dGlscy9yZWFkb25seV9sMV90eF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE9BQU8sRUFDTCxLQUFLLEdBQUcsRUFDUixLQUFLLE9BQU8sRUFFWixLQUFLLGNBQWMsRUFFbkIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxHQUFHLEVBR1IsS0FBSyxhQUFhLEVBS25CLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFTcEcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNeEYscUJBQWEsaUJBQWlCO0lBS25CLE1BQU0sRUFBRSxVQUFVO0lBQ3pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTthQUNSLFlBQVksRUFBRSxZQUFZO0lBRTFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPO0lBUjlCLE1BQU0sRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsU0FBUyxDQUFDLFdBQVcsVUFBUztJQUU5QixZQUNTLE1BQU0sRUFBRSxVQUFVLEVBQ2YsTUFBTSxvQkFBcUQsRUFDckQsWUFBWSxFQUFFLFlBQVksRUFDMUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN2QixnQkFBZ0IsR0FBRSxPQUFlLEVBRzVDO0lBRU0sU0FBUyxTQUVmO0lBRU0sT0FBTyxTQUViO0lBRU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVkO0lBRU0sY0FBYyxvQkFFcEI7SUFFTSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFOUQ7SUFFRDs7T0FFRztJQUNVLFdBQVcsQ0FDdEIsa0JBQWtCLENBQUMsRUFBRSxlQUFlLEVBQ3BDLFFBQVEsR0FBRSxPQUFlLEVBQ3pCLE9BQU8sR0FBRSxNQUFVLEVBQ25CLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxPQUFPLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FtTG5CO0lBRUQ7O09BRUc7SUFDVSxXQUFXLENBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUN0QixPQUFPLEVBQUUsV0FBVyxFQUNwQixVQUFVLENBQUMsRUFBRSxlQUFlLEVBQzVCLFdBQVcsQ0FBQyxFQUFFLFlBQVksR0FDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQThCakI7SUFFSyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FZL0U7SUFFWSx5QkFBeUIsQ0FDcEMsSUFBSSxFQUFFLEdBQUcsRUFDVCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDO0tBQ2QsRUFDRCxVQUFVLEVBQUUsQ0FBQyxZQUFZLEdBQUc7UUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLEdBQUcsU0FBUyxFQUNyRSxhQUFhLEdBQUUsYUFBa0IsK0JBZ0RsQztJQUVZLFFBQVEsQ0FDbkIsT0FBTyxFQUFFLFdBQVcsR0FBRztRQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQTtLQUFFLEVBQ25ELGNBQWMsR0FBRSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUNuRCxjQUFjLEdBQUUsYUFBa0IsRUFDbEMsR0FBRyxHQUFFLEdBQWUsRUFDcEIsVUFBVSxDQUFDLEVBQUUsZUFBZSxHQUFHO1FBQUUsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUM5RCxPQUFPLENBQUM7UUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBVXJEO0lBRUQsVUFBZ0IsU0FBUyxDQUN2QixJQUFJLEVBQUUsR0FBRyxFQUNULGNBQWMsNENBQXFDLEVBQ25ELGNBQWMsMkJBQW9CLEVBQ2xDLFNBQVMsRUFBRSxlQUFlLEdBQUc7UUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQzdELEdBQUcsRUFBRSxHQUFHOzs7T0FvQ1Q7SUFFTSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxlQUFlLEdBQUcsTUFBTSxDQVcxRTtJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLFFBQVE7Q0FHakIifQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHlfbDFfdHhfdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMV90eF91dGlscy9yZWFkb25seV9sMV90eF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE9BQU8sRUFDTCxLQUFLLEdBQUcsRUFDUixLQUFLLE9BQU8sRUFFWixLQUFLLGNBQWMsRUFFbkIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxHQUFHLEVBR1IsS0FBSyxhQUFhLEVBS25CLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFTcEcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNeEYscUJBQWEsaUJBQWlCO0lBS25CLE1BQU0sRUFBRSxVQUFVO0lBQ3pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTthQUNSLFlBQVksRUFBRSxZQUFZO0lBRTFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPO0lBUjlCLE1BQU0sRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsU0FBUyxDQUFDLFdBQVcsVUFBUztJQUU5QixZQUNTLE1BQU0sRUFBRSxVQUFVLEVBQ2YsTUFBTSxvQkFBcUQsRUFDckQsWUFBWSxFQUFFLFlBQVksRUFDMUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN2QixnQkFBZ0IsR0FBRSxPQUFlLEVBRzVDO0lBRU0sU0FBUyxTQUVmO0lBRU0sT0FBTyxTQUViO0lBRU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVkO0lBRU0sY0FBYyxvQkFFcEI7SUFFTSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFOUQ7SUFFRDs7T0FFRztJQUNVLFdBQVcsQ0FDdEIsa0JBQWtCLENBQUMsRUFBRSxlQUFlLEVBQ3BDLFFBQVEsR0FBRSxPQUFlLEVBQ3pCLE9BQU8sR0FBRSxNQUFVLEVBQ25CLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxPQUFPLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FtSm5CO0lBRUQ7O09BRUc7SUFDVSxXQUFXLENBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUN0QixPQUFPLEVBQUUsV0FBVyxFQUNwQixVQUFVLENBQUMsRUFBRSxlQUFlLEVBQzVCLFdBQVcsQ0FBQyxFQUFFLFlBQVksR0FDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQThCakI7SUFFSyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FZL0U7SUFFWSx5QkFBeUIsQ0FDcEMsSUFBSSxFQUFFLEdBQUcsRUFDVCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDO0tBQ2QsRUFDRCxVQUFVLEVBQUUsQ0FBQyxZQUFZLEdBQUc7UUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLEdBQUcsU0FBUyxFQUNyRSxhQUFhLEdBQUUsYUFBa0IsK0JBZ0RsQztJQUVZLFFBQVEsQ0FDbkIsT0FBTyxFQUFFLFdBQVcsR0FBRztRQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQTtLQUFFLEVBQ25ELGNBQWMsR0FBRSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUNuRCxjQUFjLEdBQUUsYUFBa0IsRUFDbEMsR0FBRyxHQUFFLEdBQWUsRUFDcEIsVUFBVSxDQUFDLEVBQUUsZUFBZSxHQUFHO1FBQUUsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUM5RCxPQUFPLENBQUM7UUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBVXJEO0lBRUQsVUFBZ0IsU0FBUyxDQUN2QixJQUFJLEVBQUUsR0FBRyxFQUNULGNBQWMsNENBQXFDLEVBQ25ELGNBQWMsMkJBQW9CLEVBQ2xDLFNBQVMsRUFBRSxlQUFlLEdBQUc7UUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQzdELEdBQUcsRUFBRSxHQUFHOzs7T0FvQ1Q7SUFFTSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxlQUFlLEdBQUcsTUFBTSxDQVcxRTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"readonly_l1_tx_utils.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/readonly_l1_tx_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAEZ,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACtB,KAAK,GAAG,EAGR,KAAK,aAAa,EAKnB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAmD,MAAM,aAAa,CAAC;AASpG,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMxF,qBAAa,iBAAiB;IAKnB,MAAM,EAAE,UAAU;IACzB,SAAS,CAAC,MAAM,EAAE,MAAM;aACR,YAAY,EAAE,YAAY;IAE1C,SAAS,CAAC,gBAAgB,EAAE,OAAO;IAR9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,SAAS,CAAC,WAAW,UAAS;IAE9B,YACS,MAAM,EAAE,UAAU,EACf,MAAM,oBAAqD,EACrD,YAAY,EAAE,YAAY,EAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACvB,gBAAgB,GAAE,OAAe,EAG5C;IAEM,SAAS,SAEf;IAEM,OAAO,SAEb;IAEM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEd;IAEM,cAAc,oBAEpB;IAEM,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE9D;IAED;;OAEG;IACU,WAAW,CACtB,kBAAkB,CAAC,EAAE,eAAe,EACpC,QAAQ,GAAE,OAAe,EACzB,OAAO,GAAE,MAAU,EACnB,gBAAgB,CAAC,EAAE,OAAO,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,QAAQ,GAC7D,OAAO,CAAC,QAAQ,CAAC,CAmLnB;IAED;;OAEG;IACU,WAAW,CACtB,OAAO,EAAE,OAAO,GAAG,GAAG,EACtB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,eAAe,EAC5B,WAAW,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,MAAM,CAAC,CA8BjB;IAEK,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAY/E;IAEY,yBAAyB,CACpC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,GAAG,CAAC;KACd,EACD,UAAU,EAAE,CAAC,YAAY,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,EACrE,aAAa,GAAE,aAAkB,+BAgDlC;IAEY,QAAQ,CACnB,OAAO,EAAE,WAAW,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,EACnD,cAAc,GAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAM,EACnD,cAAc,GAAE,aAAkB,EAClC,GAAG,GAAE,GAAe,EACpB,UAAU,CAAC,EAAE,eAAe,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,CAAC,CAUrD;IAED,UAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EACT,cAAc,4CAAqC,EACnD,cAAc,2BAAoB,EAClC,SAAS,EAAE,eAAe,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7D,GAAG,EAAE,GAAG;;;OAoCT;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,MAAM,CAW1E;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
1
+ {"version":3,"file":"readonly_l1_tx_utils.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/readonly_l1_tx_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EAEZ,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACtB,KAAK,GAAG,EAGR,KAAK,aAAa,EAKnB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAmD,MAAM,aAAa,CAAC;AASpG,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMxF,qBAAa,iBAAiB;IAKnB,MAAM,EAAE,UAAU;IACzB,SAAS,CAAC,MAAM,EAAE,MAAM;aACR,YAAY,EAAE,YAAY;IAE1C,SAAS,CAAC,gBAAgB,EAAE,OAAO;IAR9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,SAAS,CAAC,WAAW,UAAS;IAE9B,YACS,MAAM,EAAE,UAAU,EACf,MAAM,oBAAqD,EACrD,YAAY,EAAE,YAAY,EAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACvB,gBAAgB,GAAE,OAAe,EAG5C;IAEM,SAAS,SAEf;IAEM,OAAO,SAEb;IAEM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEd;IAEM,cAAc,oBAEpB;IAEM,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE9D;IAED;;OAEG;IACU,WAAW,CACtB,kBAAkB,CAAC,EAAE,eAAe,EACpC,QAAQ,GAAE,OAAe,EACzB,OAAO,GAAE,MAAU,EACnB,gBAAgB,CAAC,EAAE,OAAO,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,QAAQ,GAC7D,OAAO,CAAC,QAAQ,CAAC,CAmJnB;IAED;;OAEG;IACU,WAAW,CACtB,OAAO,EAAE,OAAO,GAAG,GAAG,EACtB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,eAAe,EAC5B,WAAW,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,MAAM,CAAC,CA8BjB;IAEK,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAY/E;IAEY,yBAAyB,CACpC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,GAAG,CAAC;KACd,EACD,UAAU,EAAE,CAAC,YAAY,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,EACrE,aAAa,GAAE,aAAkB,+BAgDlC;IAEY,QAAQ,CACnB,OAAO,EAAE,WAAW,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,EACnD,cAAc,GAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAM,EACnD,cAAc,GAAE,aAAkB,EAClC,GAAG,GAAE,GAAe,EACpB,UAAU,CAAC,EAAE,eAAe,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,CAAC,CAUrD;IAED,UAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EACT,cAAc,4CAAqC,EACnD,cAAc,2BAAoB,EAClC,SAAS,EAAE,eAAe,GAAG;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7D,GAAG,EAAE,GAAG;;;OAoCT;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,MAAM,CAW1E;CACF"}
@@ -5,7 +5,7 @@ import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
5
5
  import pickBy from 'lodash.pickby';
6
6
  import { MethodNotFoundRpcError, MethodNotSupportedRpcError, decodeErrorResult, formatGwei, getContractError, hexToBytes } from 'viem';
7
7
  import { defaultL1TxUtilsConfig, l1TxUtilsConfigMappings } from './config.js';
8
- import { BLOCK_TIME_MS, LARGE_GAS_LIMIT, MIN_BLOB_REPLACEMENT_BUMP_PERCENTAGE, MIN_REPLACEMENT_BUMP_PERCENTAGE, WEI_CONST } from './constants.js';
8
+ import { BLOCK_TIME_MS, MAX_L1_TX_LIMIT, MIN_BLOB_REPLACEMENT_BUMP_PERCENTAGE, MIN_REPLACEMENT_BUMP_PERCENTAGE, WEI_CONST } from './constants.js';
9
9
  import { P75AllTxsPriorityFeeStrategy } from './fee-strategies/index.js';
10
10
  import { getCalldataGasUsage, tryGetCustomErrorNameContractFunction } from './utils.js';
11
11
  // Change this to the current strategy we want to use
@@ -46,52 +46,20 @@ export class ReadOnlyL1TxUtils {
46
46
  * Gets the current gas price with bounds checking
47
47
  */ async getGasPrice(gasConfigOverrides, isBlobTx = false, attempt = 0, previousGasPrice) {
48
48
  const gasConfig = merge(this.config, gasConfigOverrides);
49
- // Make all RPC calls in parallel upfront with retry logic
50
- // First 2 calls are necessary to complete
51
- const latestBlockPromise = this.tryTwice(()=>this.client.getBlock({
52
- blockTag: 'latest'
53
- }), 'Getting latest block');
54
- let blobBaseFeePromise = null;
55
- if (isBlobTx) {
56
- blobBaseFeePromise = this.tryTwice(()=>this.client.getBlobBaseFee(), 'Getting blob base fee');
57
- }
58
- // Get strategy promises for priority fee calculation
59
- const strategyPromises = CurrentStrategy.getRequiredPromises(this.client, {
60
- isBlobTx
61
- });
62
- const strategyPromiseKeys = [];
63
- const strategyPromisesArr = [];
64
- for (const [key, promise] of Object.entries(strategyPromises)){
65
- strategyPromiseKeys.push(key);
66
- strategyPromisesArr.push(this.tryTwice(()=>promise, `Getting strategy data for ${key}`));
67
- }
68
- const [latestBlockResult, blobBaseFeeResult, ...strategyResults] = await Promise.allSettled([
69
- latestBlockPromise,
70
- blobBaseFeePromise ?? Promise.resolve(0n),
71
- ...strategyPromisesArr
72
- ]);
73
- // Extract results
74
- const baseFee = latestBlockResult.status === 'fulfilled' && typeof latestBlockResult.value === 'object' && latestBlockResult.value.baseFeePerGas ? latestBlockResult.value.baseFeePerGas : 0n;
75
- // Get blob base fee if available
76
- let blobBaseFee = 0n;
77
- if (isBlobTx && blobBaseFeeResult.status === 'fulfilled' && typeof blobBaseFeeResult.value === 'bigint') {
78
- blobBaseFee = blobBaseFeeResult.value;
79
- } else if (isBlobTx) {
49
+ // Execute strategy - it handles all RPC calls internally and returns everything we need
50
+ const strategyResult = await retry(()=>CurrentStrategy.execute(this.client, {
51
+ gasConfig,
52
+ isBlobTx,
53
+ logger: this.logger
54
+ }), 'Executing priority fee strategy', makeBackoff(times(2, ()=>0)), this.logger, true);
55
+ const { latestBlock, blobBaseFee, priorityFee: strategyPriorityFee } = strategyResult;
56
+ // Extract base fee from latest block
57
+ const baseFee = latestBlock.baseFeePerGas ?? 0n;
58
+ // Handle blob base fee
59
+ if (isBlobTx && blobBaseFee === undefined) {
80
60
  this.logger?.warn('Failed to get L1 blob base fee', attempt);
81
61
  }
82
- let priorityFee;
83
- // Get competitive priority fee using strategy
84
- // Reconstruct the results object with the same keys as the promises
85
- const resultsObject = {};
86
- strategyPromiseKeys.forEach((key, index)=>{
87
- resultsObject[key] = strategyResults[index];
88
- });
89
- const result = CurrentStrategy.calculate(resultsObject, {
90
- gasConfig,
91
- isBlobTx,
92
- logger: this.logger
93
- });
94
- priorityFee = result.priorityFee;
62
+ let priorityFee = strategyPriorityFee;
95
63
  // Apply minimum priority fee floor if configured
96
64
  if (gasConfig.minimumPriorityFeePerGas) {
97
65
  const minimumPriorityFee = BigInt(Math.trunc(gasConfig.minimumPriorityFeePerGas * Number(WEI_CONST)));
@@ -105,7 +73,7 @@ export class ReadOnlyL1TxUtils {
105
73
  }
106
74
  }
107
75
  let maxFeePerGas = baseFee;
108
- let maxFeePerBlobGas = blobBaseFee;
76
+ let maxFeePerBlobGas = blobBaseFee ?? 0n;
109
77
  // Bump base fee so it's valid for next blocks if it stalls
110
78
  const numBlocks = Math.ceil(gasConfig.stallTimeMs / BLOCK_TIME_MS);
111
79
  for(let i = 0; i < numBlocks; i++){
@@ -175,7 +143,7 @@ export class ReadOnlyL1TxUtils {
175
143
  baseFee: formatGwei(baseFee),
176
144
  maxFeePerGas: formatGwei(maxFeePerGas),
177
145
  maxPriorityFeePerGas: formatGwei(maxPriorityFeePerGas),
178
- blobBaseFee: formatGwei(blobBaseFee),
146
+ blobBaseFee: formatGwei(blobBaseFee ?? 0n),
179
147
  maxFeePerBlobGas: formatGwei(maxFeePerBlobGas)
180
148
  });
181
149
  return {
@@ -202,7 +170,7 @@ export class ReadOnlyL1TxUtils {
202
170
  ...request,
203
171
  ..._blobInputs,
204
172
  maxFeePerBlobGas: gasPrice.maxFeePerBlobGas,
205
- gas: LARGE_GAS_LIMIT,
173
+ gas: MAX_L1_TX_LIMIT,
206
174
  blockTag: 'latest'
207
175
  });
208
176
  this.logger?.trace(`Estimated gas for blob tx: ${initialEstimate}`);
@@ -210,7 +178,7 @@ export class ReadOnlyL1TxUtils {
210
178
  initialEstimate = await this.client.estimateGas({
211
179
  account,
212
180
  ...request,
213
- gas: LARGE_GAS_LIMIT,
181
+ gas: MAX_L1_TX_LIMIT,
214
182
  blockTag: 'latest'
215
183
  });
216
184
  this.logger?.trace(`Estimated gas for non-blob tx: ${initialEstimate}`);
@@ -352,9 +320,4 @@ export class ReadOnlyL1TxUtils {
352
320
  });
353
321
  return bumpedGasLimit;
354
322
  }
355
- /**
356
- * Helper function to retry RPC calls twice
357
- */ tryTwice(fn, description) {
358
- return retry(fn, description, makeBackoff(times(2, ()=>0)), this.logger, true);
359
- }
360
323
  }
@@ -1,3 +1,4 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import { L1TxUtils } from './l1_tx_utils/index.js';
2
3
  export type PublisherFilter<UtilsType extends L1TxUtils> = (utils: UtilsType) => boolean;
3
4
  export declare class PublisherManager<UtilsType extends L1TxUtils = L1TxUtils> {
@@ -6,10 +7,10 @@ export declare class PublisherManager<UtilsType extends L1TxUtils = L1TxUtils> {
6
7
  private config;
7
8
  constructor(publishers: UtilsType[], config: {
8
9
  publisherAllowInvalidStates?: boolean;
9
- });
10
+ }, bindings?: LoggerBindings);
10
11
  /** Loads the state of all publishers and resumes monitoring any pending txs */
11
12
  loadState(): Promise<void>;
12
13
  getAvailablePublisher(filter?: PublisherFilter<UtilsType>): Promise<UtilsType>;
13
14
  interrupt(): void;
14
15
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVyX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoZXJfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLHdCQUF3QixDQUFDO0FBd0JqRSxNQUFNLE1BQU0sZUFBZSxDQUFDLFNBQVMsU0FBUyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxLQUFLLE9BQU8sQ0FBQztBQUV6RixxQkFBYSxnQkFBZ0IsQ0FBQyxTQUFTLFNBQVMsU0FBUyxHQUFHLFNBQVM7SUFLakUsT0FBTyxDQUFDLFVBQVU7SUFKcEIsT0FBTyxDQUFDLEdBQUcsQ0FBcUM7SUFDaEQsT0FBTyxDQUFDLE1BQU0sQ0FBNEM7SUFFMUQsWUFDVSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQy9CLE1BQU0sRUFBRTtRQUFFLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsRUFLbEQ7SUFFRCwrRUFBK0U7SUFDbEUsU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFdEM7SUFRWSxxQkFBcUIsQ0FBQyxNQUFNLEdBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBYyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0ErQ3RHO0lBRU0sU0FBUyxTQUVmO0NBQ0YifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVyX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoZXJfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQXdCakUsTUFBTSxNQUFNLGVBQWUsQ0FBQyxTQUFTLFNBQVMsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUM7QUFFekYscUJBQWEsZ0JBQWdCLENBQUMsU0FBUyxTQUFTLFNBQVMsR0FBRyxTQUFTO0lBS2pFLE9BQU8sQ0FBQyxVQUFVO0lBSnBCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFDcEIsT0FBTyxDQUFDLE1BQU0sQ0FBNEM7SUFFMUQsWUFDVSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQy9CLE1BQU0sRUFBRTtRQUFFLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsRUFDakQsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQU0xQjtJQUVELCtFQUErRTtJQUNsRSxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV0QztJQVFZLHFCQUFxQixDQUFDLE1BQU0sR0FBRSxlQUFlLENBQUMsU0FBUyxDQUFjLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQStDdEc7SUFFTSxTQUFTLFNBRWY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"publisher_manager.d.ts","sourceRoot":"","sources":["../src/publisher_manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAwBjE,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAEzF,qBAAa,gBAAgB,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS;IAKjE,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,GAAG,CAAqC;IAChD,OAAO,CAAC,MAAM,CAA4C;IAE1D,YACU,UAAU,EAAE,SAAS,EAAE,EAC/B,MAAM,EAAE;QAAE,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAE,EAKlD;IAED,+EAA+E;IAClE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;IAQY,qBAAqB,CAAC,MAAM,GAAE,eAAe,CAAC,SAAS,CAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CA+CtG;IAEM,SAAS,SAEf;CACF"}
1
+ {"version":3,"file":"publisher_manager.d.ts","sourceRoot":"","sources":["../src/publisher_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAwBjE,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAEzF,qBAAa,gBAAgB,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS;IAKjE,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAA4C;IAE1D,YACU,UAAU,EAAE,SAAS,EAAE,EAC/B,MAAM,EAAE;QAAE,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAE,EACjD,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAED,+EAA+E;IAClE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;IAQY,qBAAqB,CAAC,MAAM,GAAE,eAAe,CAAC,SAAS,CAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CA+CtG;IAEM,SAAS,SAEf;CACF"}
@@ -25,9 +25,9 @@ export class PublisherManager {
25
25
  publishers;
26
26
  log;
27
27
  config;
28
- constructor(publishers, config){
28
+ constructor(publishers, config, bindings){
29
29
  this.publishers = publishers;
30
- this.log = createLogger('publisher:manager');
30
+ this.log = createLogger('publisher:manager', bindings);
31
31
  this.log.info(`PublisherManager initialized with ${publishers.length} publishers.`);
32
32
  this.publishers = publishers;
33
33
  this.config = pick(config, 'publisherAllowInvalidStates');
package/dest/queries.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import type { L1ContractsConfig } from './config.js';
2
+ import { type L1ContractsConfig } from './config.js';
3
3
  import type { ViemPublicClient } from './types.js';
4
4
  /** Reads the L1ContractsConfig from L1 contracts. */
5
5
  export declare function getL1ContractsConfig(publicClient: ViemPublicClient, addresses: {
@@ -11,4 +11,4 @@ export declare function getL1ContractsConfig(publicClient: ViemPublicClient, add
11
11
  rollupVersion: number;
12
12
  genesisArchiveTreeRoot: `0x${string}`;
13
13
  }>;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3F1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS3JELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRW5ELHFEQUFxRDtBQUNyRCx3QkFBc0Isb0JBQW9CLENBQ3hDLFlBQVksRUFBRSxnQkFBZ0IsRUFDOUIsU0FBUyxFQUFFO0lBQUUsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0lBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxDQUFBO0NBQUUsR0FDdkUsT0FBTyxDQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHO0lBQ2hELFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHNCQUFzQixFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Q0FDdkMsQ0FDRixDQXFHQSJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3F1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBNEIsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUsvRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRCxxREFBcUQ7QUFDckQsd0JBQXNCLG9CQUFvQixDQUN4QyxZQUFZLEVBQUUsZ0JBQWdCLEVBQzlCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQztJQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVUsQ0FBQTtDQUFFLEdBQ3ZFLE9BQU8sQ0FDUixJQUFJLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUMsR0FBRztJQUNoRCxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixzQkFBc0IsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0NBQ3ZDLENBQ0YsQ0F1R0EifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qDAAqD;AACrD,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE;IAAE,iBAAiB,EAAE,UAAU,CAAC;IAAC,aAAa,CAAC,EAAE,UAAU,CAAA;CAAE,GACvE,OAAO,CACR,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,GAAG;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;CACvC,CACF,CAqGA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAK/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qDAAqD;AACrD,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE;IAAE,iBAAiB,EAAE,UAAU,CAAC;IAAC,aAAa,CAAC,EAAE,UAAU,CAAA;CAAE,GACvE,OAAO,CACR,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,GAAG;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,KAAK,MAAM,EAAE,CAAC;CACvC,CACF,CAuGA"}
package/dest/queries.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { DefaultL1ContractsConfig } from './config.js';
2
3
  import { ReadOnlyGovernanceContract } from './contracts/governance.js';
3
4
  import { GovernanceProposerContract } from './contracts/governance_proposer.js';
4
5
  import { InboxContract } from './contracts/inbox.js';
@@ -58,11 +59,12 @@ import { RollupContract } from './contracts/rollup.js';
58
59
  inboxLag: Number(inboxLag),
59
60
  governanceProposerQuorum: Number(governanceProposerQuorum),
60
61
  governanceProposerRoundSize: Number(governanceProposerRoundSize),
62
+ governanceVotingDuration: DefaultL1ContractsConfig.governanceVotingDuration,
61
63
  activationThreshold,
62
64
  ejectionThreshold,
63
65
  localEjectionThreshold,
64
66
  slashingQuorum: Number(slashingQuorum),
65
- slashingRoundSizeInEpochs: Number(slashingRoundSize / aztecEpochDuration),
67
+ slashingRoundSizeInEpochs: Number(Number(slashingRoundSize) / aztecEpochDuration),
66
68
  slashingLifetimeInRounds: Number(slashingLifetimeInRounds),
67
69
  slashingExecutionDelayInRounds: Number(slashingExecutionDelayInRounds),
68
70
  slashingVetoer,
@@ -70,12 +72,13 @@ import { RollupContract } from './contracts/rollup.js';
70
72
  manaTarget,
71
73
  provingCostPerMana: provingCostPerMana,
72
74
  rollupVersion: Number(rollupVersion),
73
- genesisArchiveTreeRoot,
75
+ genesisArchiveTreeRoot: genesisArchiveTreeRoot.toString(),
74
76
  exitDelaySeconds: Number(exitDelay),
75
77
  slasherFlavor: slasherProposer?.type ?? 'tally',
76
78
  slashingOffsetInRounds: Number(slashingOffsetInRounds),
77
79
  slashAmountSmall: slashingAmounts[0],
78
80
  slashAmountMedium: slashingAmounts[1],
79
- slashAmountLarge: slashingAmounts[2]
81
+ slashAmountLarge: slashingAmounts[2],
82
+ initialEthPerFeeAsset: DefaultL1ContractsConfig.initialEthPerFeeAsset
80
83
  };
81
84
  }
@@ -1,5 +1,4 @@
1
1
  import { InboxContract } from '@aztec/ethereum/contracts';
2
- import { EthAddress } from '@aztec/foundation/eth-address';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { promiseWithResolvers } from '@aztec/foundation/promise';
5
4
  import { DateProvider } from '@aztec/foundation/timer';
@@ -125,7 +124,7 @@ import { EventEmitter } from 'events';
125
124
  let committee;
126
125
  if (l2Epoch !== this.l2EpochNumber) {
127
126
  this.l2EpochNumber = l2Epoch;
128
- committee = (await this.rollup.getCurrentEpochCommittee())?.map((addr)=>EthAddress.fromString(addr));
127
+ committee = await this.rollup.getCurrentEpochCommittee();
129
128
  this.emit('l2-epoch', {
130
129
  l2EpochNumber: l2Epoch,
131
130
  timestamp,