@@ -104,27 +104,6 @@ type Executor interface {
104104 // - info: Current execution parameters
105105 // - error: Any errors during retrieval
106106 GetExecutionInfo (ctx context.Context , height uint64 ) (ExecutionInfo , error )
107-
108- // FilterDATransactions validates and filters force-included transactions from DA.
109- // It performs execution-layer specific validation (e.g., EVM tx parsing, gas checks)
110- // and returns transactions that are valid and fit within the gas limit.
111- //
112- // The function filters out:
113- // - Invalid/unparseable transactions (gibberish)
114- // - Transactions that would exceed the cumulative gas limit
115- //
116- // For non-gas-based execution layers, return all valid transactions with nil remainingTxs.
117- //
118- // Parameters:
119- // - ctx: Context for timeout/cancellation control
120- // - txs: Raw transactions from DA to validate
121- // - maxGas: Maximum cumulative gas allowed for these transactions
122- //
123- // Returns:
124- // - validTxs: Transactions that passed validation and fit within maxGas
125- // - remainingTxs: Valid transactions that didn't fit due to gas limit (for re-queuing)
126- // - err: Any errors during filtering (not validation errors, which result in filtering)
127- FilterDATransactions (ctx context.Context , txs [][]byte , maxGas uint64 ) (validTxs [][]byte , remainingTxs [][]byte , err error )
128107}
129108
130109// HeightProvider is an optional interface that execution clients can implement
@@ -143,18 +122,31 @@ type HeightProvider interface {
143122 GetLatestHeight (ctx context.Context ) (uint64 , error )
144123}
145124
146- // ExecutionInfoProvider is an interface for components that can provide execution layer parameters.
147- // This is useful for type assertions when an Executor implementation supports gas-based filtering.
148- type ExecutionInfoProvider interface {
149- // GetExecutionInfo returns current execution layer parameters.
150- // See Executor.GetExecutionInfo for full documentation.
151- GetExecutionInfo (ctx context.Context , height uint64 ) (ExecutionInfo , error )
152- }
153-
154- // DATransactionFilter is an interface for components that can filter DA transactions.
155- // This is useful for type assertions when an Executor implementation supports gas-based filtering.
125+ // DATransactionFilter is an optional interface that execution clients can implement
126+ // to support gas-based filtering of force-included transactions from DA.
127+ //
128+ // When implemented, the sequencer will use this to filter DA transactions by gas limit
129+ // before including them in blocks. If not implemented, all DA transactions are included
130+ // without gas-based filtering.
156131type DATransactionFilter interface {
157132 // FilterDATransactions validates and filters force-included transactions from DA.
158- // See Executor.FilterDATransactions for full documentation.
133+ // It performs execution-layer specific validation (e.g., EVM tx parsing, gas checks)
134+ // and returns transactions that are valid and fit within the gas limit.
135+ //
136+ // The function filters out:
137+ // - Invalid/unparseable transactions (gibberish)
138+ // - Transactions that would exceed the cumulative gas limit
139+ //
140+ // For non-gas-based execution layers, return all valid transactions with nil remainingTxs.
141+ //
142+ // Parameters:
143+ // - ctx: Context for timeout/cancellation control
144+ // - txs: Raw transactions from DA to validate
145+ // - maxGas: Maximum cumulative gas allowed for these transactions
146+ //
147+ // Returns:
148+ // - validTxs: Transactions that passed validation and fit within maxGas
149+ // - remainingTxs: Valid transactions that didn't fit due to gas limit (for re-queuing)
150+ // - err: Any errors during filtering (not validation errors, which result in filtering)
159151 FilterDATransactions (ctx context.Context , txs [][]byte , maxGas uint64 ) (validTxs [][]byte , remainingTxs [][]byte , err error )
160152}
0 commit comments