diff --git a/yarn-project/archiver/src/archiver/config.ts b/yarn-project/archiver/src/archiver/config.ts index 32efc706cf6e..25a41108cf9e 100644 --- a/yarn-project/archiver/src/archiver/config.ts +++ b/yarn-project/archiver/src/archiver/config.ts @@ -55,7 +55,7 @@ export const archiverConfigMappings: ConfigMappingsType = { archiverPollingIntervalMS: { env: 'ARCHIVER_POLLING_INTERVAL_MS', description: 'The polling interval in ms for retrieving new L2 blocks and encrypted logs.', - ...numberConfigHelper(1_000), + ...numberConfigHelper(500), }, archiverBatchSize: { env: 'ARCHIVER_BATCH_SIZE', diff --git a/yarn-project/end-to-end/src/e2e_block_building.test.ts b/yarn-project/end-to-end/src/e2e_block_building.test.ts index 4a6f9c8573ef..e92c260151e7 100644 --- a/yarn-project/end-to-end/src/e2e_block_building.test.ts +++ b/yarn-project/end-to-end/src/e2e_block_building.test.ts @@ -78,7 +78,12 @@ describe('e2e_block_building', () => { sequencer: sequencerClient, dateProvider, cheatCodes, - } = await setup(2)); + } = await setup(2, { + archiverPollingIntervalMS: 200, + transactionPollingIntervalMS: 200, + worldStateBlockCheckIntervalMS: 200, + blockCheckIntervalMS: 200, + })); sequencer = sequencerClient! as TestSequencerClient; }); diff --git a/yarn-project/p2p/src/client/factory.ts b/yarn-project/p2p/src/client/factory.ts index e29c4b952062..e7f2600b228e 100644 --- a/yarn-project/p2p/src/client/factory.ts +++ b/yarn-project/p2p/src/client/factory.ts @@ -84,13 +84,5 @@ export const createP2PClient = async ( logger.verbose('P2P is disabled. Using dummy P2P service'); p2pService = new DummyP2PService(); } - return new P2PClient( - clientType, - store, - l2BlockSource, - mempools, - p2pService, - config.keepProvenTxsInPoolFor, - telemetry, - ); + return new P2PClient(clientType, store, l2BlockSource, mempools, p2pService, config, telemetry); }; diff --git a/yarn-project/p2p/src/client/p2p_client.test.ts b/yarn-project/p2p/src/client/p2p_client.test.ts index 231fb263052d..c3fdc9899749 100644 --- a/yarn-project/p2p/src/client/p2p_client.test.ts +++ b/yarn-project/p2p/src/client/p2p_client.test.ts @@ -49,7 +49,7 @@ describe('In-Memory P2P Client', () => { }; kvStore = openTmpStore(); - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 0); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService); }); const advanceToProvenBlock = async (getProvenBlockNumber: number, provenEpochNumber = getProvenBlockNumber) => { @@ -108,7 +108,7 @@ describe('In-Memory P2P Client', () => { await client.start(); await client.stop(); - const client2 = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 0); + const client2 = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService); expect(client2.getSyncedLatestBlockNum()).toEqual(client.getSyncedLatestBlockNum()); }); @@ -123,7 +123,9 @@ describe('In-Memory P2P Client', () => { }); it('deletes txs after waiting the set number of blocks', async () => { - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 10); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, { + keepProvenTxsInPoolFor: 10, + }); blockSource.setProvenBlockNumber(0); await client.start(); expect(txPool.deleteTxs).not.toHaveBeenCalled(); @@ -140,7 +142,7 @@ describe('In-Memory P2P Client', () => { }); it('stores and returns epoch proof quotes', async () => { - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 0); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService); blockSource.setProvenEpochNumber(2); await client.start(); @@ -172,7 +174,7 @@ describe('In-Memory P2P Client', () => { // TODO(#10737) flake cc Maddiaa0 it.skip('deletes expired proof quotes', async () => { - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 0); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService); blockSource.setProvenEpochNumber(1); blockSource.setProvenBlockNumber(1); @@ -236,7 +238,9 @@ describe('In-Memory P2P Client', () => { }); it('deletes txs created from a pruned block', async () => { - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 10); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, { + keepProvenTxsInPoolFor: 10, + }); blockSource.setProvenBlockNumber(0); await client.start(); @@ -258,7 +262,9 @@ describe('In-Memory P2P Client', () => { }); it('moves mined and valid txs back to the pending set', async () => { - client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, 10); + client = new P2PClient(P2PClientType.Full, kvStore, blockSource, mempools, p2pService, { + keepProvenTxsInPoolFor: 10, + }); blockSource.setProvenBlockNumber(0); await client.start(); diff --git a/yarn-project/p2p/src/client/p2p_client.ts b/yarn-project/p2p/src/client/p2p_client.ts index 44010f75b07e..8b304ff5d239 100644 --- a/yarn-project/p2p/src/client/p2p_client.ts +++ b/yarn-project/p2p/src/client/p2p_client.ts @@ -27,7 +27,7 @@ import { import { type ENR } from '@chainsafe/enr'; -import { getP2PConfigFromEnv } from '../config.js'; +import { type P2PConfig, getP2PDefaultConfig } from '../config.js'; import { type AttestationPool } from '../mem_pools/attestation_pool/attestation_pool.js'; import { type EpochProofQuotePool } from '../mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js'; import { type MemPools } from '../mem_pools/interface.js'; @@ -209,6 +209,8 @@ export class P2PClient /** How many slots to keep attestations for. */ private keepAttestationsInPoolFor: number; + /** How many slots to keep proven txs for. */ + private keepProvenTxsFor: number; private blockStream; @@ -227,14 +229,17 @@ export class P2PClient private l2BlockSource: L2BlockSource, mempools: MemPools, private p2pService: P2PService, - private keepProvenTxsFor: number, + config: Partial = {}, telemetry: TelemetryClient = getTelemetryClient(), private log = createLogger('p2p'), ) { super(telemetry, 'P2PClient'); - const { blockCheckIntervalMS, blockRequestBatchSize, keepAttestationsInPoolFor } = getP2PConfigFromEnv(); - + const { keepProvenTxsInPoolFor, blockCheckIntervalMS, blockRequestBatchSize, keepAttestationsInPoolFor } = { + ...getP2PDefaultConfig(), + ...config, + }; + this.keepProvenTxsFor = keepProvenTxsInPoolFor; this.keepAttestationsInPoolFor = keepAttestationsInPoolFor; const tracer = telemetry.getTracer('P2PL2BlockStream'); diff --git a/yarn-project/prover-node/src/prover-node.test.ts b/yarn-project/prover-node/src/prover-node.test.ts index 2a167b24a2e1..ecc182fb6ff5 100644 --- a/yarn-project/prover-node/src/prover-node.test.ts +++ b/yarn-project/prover-node/src/prover-node.test.ts @@ -384,7 +384,7 @@ describe('prover-node', () => { port, ); const kvStore = openTmpStore(); - return new P2PClient(P2PClientType.Prover, kvStore, l2BlockSource, mempools, libp2pService, 0); + return new P2PClient(P2PClientType.Prover, kvStore, l2BlockSource, mempools, libp2pService); }; beforeEach(async () => { diff --git a/yarn-project/sequencer-client/src/config.ts b/yarn-project/sequencer-client/src/config.ts index 09064f254046..9db77ac13b35 100644 --- a/yarn-project/sequencer-client/src/config.ts +++ b/yarn-project/sequencer-client/src/config.ts @@ -47,7 +47,7 @@ export const sequencerConfigMappings: ConfigMappingsType = { transactionPollingIntervalMS: { env: 'SEQ_TX_POLLING_INTERVAL_MS', description: 'The number of ms to wait between polling for pending txs.', - ...numberConfigHelper(1_000), + ...numberConfigHelper(500), }, maxTxsPerBlock: { env: 'SEQ_MAX_TX_PER_BLOCK',