diff --git a/packages/sequencer/src/mempool/private/PrivateMempool.ts b/packages/sequencer/src/mempool/private/PrivateMempool.ts index 47f12adb4..d3aab69e4 100644 --- a/packages/sequencer/src/mempool/private/PrivateMempool.ts +++ b/packages/sequencer/src/mempool/private/PrivateMempool.ts @@ -32,8 +32,14 @@ type MempoolTransactionPaths = { transaction: PendingTransaction; paths: Field[]; }; +interface PrivateMempoolConfig { + validationEnabled?: boolean; +} @sequencerModule() -export class PrivateMempool extends SequencerModule implements Mempool { +export class PrivateMempool + extends SequencerModule + implements Mempool +{ public readonly events = new EventEmitter(); private readonly accountStateHook: AccountStateHook; @@ -100,14 +106,16 @@ export class PrivateMempool extends SequencerModule implements Mempool { const networkState = (await this.getStagedNetworkState()) ?? NetworkState.empty(); - - const sortedTxs = await this.checkTxValid( - txs, - baseCachedStateService, - this.protocol.stateServiceProvider, - networkState, - limit - ); + const validationEnabled = this.config.validationEnabled ?? true; + const sortedTxs = validationEnabled + ? await this.checkTxValid( + txs, + baseCachedStateService, + this.protocol.stateServiceProvider, + networkState, + limit + ) + : txs; this.protocol.stateServiceProvider.popCurrentStateService(); return sortedTxs; }