diff --git a/yarn-project/p2p/src/client/p2p_client.ts b/yarn-project/p2p/src/client/p2p_client.ts index bbbdc55c1424..15317f0bd5cf 100644 --- a/yarn-project/p2p/src/client/p2p_client.ts +++ b/yarn-project/p2p/src/client/p2p_client.ts @@ -372,13 +372,13 @@ export class P2PClient } @trackSpan('p2pClient.broadcastProposal', async proposal => ({ - [Attributes.BLOCK_NUMBER]: proposal.payload.header.globalVariables.blockNumber.toNumber(), - [Attributes.SLOT_NUMBER]: proposal.payload.header.globalVariables.slotNumber.toNumber(), + [Attributes.BLOCK_NUMBER]: proposal.blockNumber.toNumber(), + [Attributes.SLOT_NUMBER]: proposal.slotNumber.toNumber(), [Attributes.BLOCK_ARCHIVE]: proposal.archive.toString(), [Attributes.P2P_ID]: (await proposal.p2pMessageIdentifier()).toString(), })) public broadcastProposal(proposal: BlockProposal): void { - this.log.verbose(`Broadcasting proposal ${proposal.p2pMessageIdentifier()} to peers`); + this.log.verbose(`Broadcasting proposal for slot ${proposal.slotNumber.toNumber()} to peers`); return this.p2pService.propagate(proposal); } diff --git a/yarn-project/p2p/src/services/discv5/discV5_service.ts b/yarn-project/p2p/src/services/discv5/discV5_service.ts index cc0964b8bd9c..8097d435059f 100644 --- a/yarn-project/p2p/src/services/discv5/discV5_service.ts +++ b/yarn-project/p2p/src/services/discv5/discV5_service.ts @@ -203,22 +203,31 @@ export class DiscV5Service extends EventEmitter implements PeerDiscoveryService } private validateEnr(enr: ENR): boolean { + // Check if the peer is actually a bootnode and we have disabled the version check + if ( + !this.config.bootstrapNodeEnrVersionCheck && + this.bootstrapNodes.some(enrTxt => ENR.decodeTxt(enrTxt).nodeId === enr.nodeId) + ) { + this.logger.trace(`Skipping version check for bootnode ${enr.nodeId}`); + return true; + } + // Check the peer is an aztec peer const value = enr.kvs.get(AZTEC_ENR_KEY); if (!value) { - this.logger.warn(`Peer ${enr.nodeId} does not have aztec key in ENR`); + this.logger.warn(`Peer node ${enr.nodeId} does not have aztec key in ENR`); return false; } + // And check it has the correct version let compressedVersion; try { - // And check it has the correct version compressedVersion = Buffer.from(value).toString(); checkCompressedComponentVersion(compressedVersion, this.versions); return true; } catch (err: any) { if (err.name === 'ComponentsVersionsError') { - this.logger.warn(`Peer ${enr.nodeId} has incorrect version: ${err.message}`, { + this.logger.warn(`Peer node ${enr.nodeId} has incorrect version: ${err.message}`, { compressedVersion, expected: this.versions, });