@aztec/p2p 0.0.1-commit.0dc957cde → 0.0.1-commit.0ec55a70b
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.
- package/dest/client/factory.js +1 -1
- package/dest/config.d.ts +6 -2
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +11 -7
- package/dest/mem_pools/attestation_pool/mocks.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +6 -4
- package/dest/mem_pools/instrumentation.d.ts +1 -1
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +17 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +5 -2
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +18 -2
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +5 -3
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +1 -1
- package/dest/msg_validators/clock_tolerance.d.ts +1 -1
- package/dest/msg_validators/clock_tolerance.d.ts.map +1 -1
- package/dest/msg_validators/clock_tolerance.js +14 -7
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +4 -2
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +4 -2
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +6 -2
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +25 -1
- package/dest/services/libp2p/libp2p_service.d.ts +2 -2
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +21 -7
- package/package.json +14 -14
- package/src/client/factory.ts +1 -1
- package/src/config.ts +15 -6
- package/src/mem_pools/attestation_pool/mocks.ts +13 -8
- package/src/mem_pools/instrumentation.ts +5 -1
- package/src/msg_validators/attestation_validator/attestation_validator.ts +21 -1
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +9 -2
- package/src/msg_validators/clock_tolerance.ts +14 -7
- package/src/msg_validators/proposal_validator/block_proposal_validator.ts +8 -2
- package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +13 -2
- package/src/msg_validators/proposal_validator/proposal_validator.ts +35 -1
- package/src/services/libp2p/libp2p_service.ts +24 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EpochCacheInterface } from '@aztec/epoch-cache';
|
|
2
2
|
import { BlockNumber, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import { maxBy } from '@aztec/foundation/collection';
|
|
3
|
+
import { maxBy, merge } from '@aztec/foundation/collection';
|
|
4
4
|
import { type Logger, createLibp2pComponentLogger, createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
6
6
|
import { Timer } from '@aztec/foundation/timer';
|
|
@@ -231,15 +231,23 @@ export class LibP2PService extends WithTracer implements P2PService {
|
|
|
231
231
|
const proposalValidatorOpts = {
|
|
232
232
|
txsPermitted: !config.disableTransactions,
|
|
233
233
|
maxTxsPerBlock: config.validateMaxTxsPerBlock ?? config.validateMaxTxsPerCheckpoint,
|
|
234
|
+
maxBlocksPerCheckpoint: config.maxBlocksPerCheckpoint,
|
|
234
235
|
p2pPropagationTime,
|
|
236
|
+
signatureContext: {
|
|
237
|
+
chainId: config.l1ChainId,
|
|
238
|
+
rollupAddress: config.l1Contracts.rollupAddress,
|
|
239
|
+
},
|
|
235
240
|
};
|
|
236
241
|
this.blockProposalValidator = new BlockProposalValidator(epochCache, proposalValidatorOpts);
|
|
237
242
|
this.checkpointProposalValidator = new CheckpointProposalValidator(epochCache, proposalValidatorOpts);
|
|
243
|
+
const attestationValidatorOpts = {
|
|
244
|
+
l1PublishingTime: config.l1PublishingTime,
|
|
245
|
+
p2pPropagationTime,
|
|
246
|
+
signatureContext: proposalValidatorOpts.signatureContext,
|
|
247
|
+
};
|
|
238
248
|
this.checkpointAttestationValidator = config.fishermanMode
|
|
239
|
-
? new FishermanAttestationValidator(epochCache, mempools.attestationPool, telemetry,
|
|
240
|
-
|
|
241
|
-
})
|
|
242
|
-
: new CheckpointAttestationValidator(epochCache, { l1PublishingTime: config.l1PublishingTime });
|
|
249
|
+
? new FishermanAttestationValidator(epochCache, mempools.attestationPool, telemetry, attestationValidatorOpts)
|
|
250
|
+
: new CheckpointAttestationValidator(epochCache, attestationValidatorOpts);
|
|
243
251
|
|
|
244
252
|
this.gossipSubEventHandler = this.handleGossipSubEvent.bind(this);
|
|
245
253
|
|
|
@@ -264,8 +272,9 @@ export class LibP2PService extends WithTracer implements P2PService {
|
|
|
264
272
|
};
|
|
265
273
|
}
|
|
266
274
|
|
|
267
|
-
public updateConfig(config: Partial<P2PReqRespConfig
|
|
275
|
+
public updateConfig(config: Partial<P2PReqRespConfig & Pick<P2PConfig, 'skipIncomingProposals'>>) {
|
|
268
276
|
this.reqresp.updateConfig(config);
|
|
277
|
+
this.config = merge(this.config, config);
|
|
269
278
|
}
|
|
270
279
|
|
|
271
280
|
/**
|
|
@@ -842,6 +851,15 @@ export class LibP2PService extends WithTracer implements P2PService {
|
|
|
842
851
|
|
|
843
852
|
// Process the message, optionally within a linked span for trace propagation
|
|
844
853
|
const processMessage = async () => {
|
|
854
|
+
if (
|
|
855
|
+
this.config.skipIncomingProposals &&
|
|
856
|
+
(msg.topic === this.topicStrings[TopicType.block_proposal] ||
|
|
857
|
+
msg.topic === this.topicStrings[TopicType.checkpoint_proposal])
|
|
858
|
+
) {
|
|
859
|
+
this.logger.warn(`Ignoring incoming proposal (skipIncomingProposals is set)`, { topic: msg.topic });
|
|
860
|
+
this.node.services.pubsub.reportMessageValidationResult(msgId, source.toString(), TopicValidatorResult.Ignore);
|
|
861
|
+
return;
|
|
862
|
+
}
|
|
845
863
|
if (msg.topic === this.topicStrings[TopicType.tx]) {
|
|
846
864
|
await this.handleGossipedTx(p2pMessage.payload, msgId, source);
|
|
847
865
|
} else if (msg.topic === this.topicStrings[TopicType.checkpoint_attestation]) {
|