@aztec/p2p 0.83.1-nightly.20250404 → 0.84.0

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.
@@ -22,7 +22,7 @@ export declare class PeerManager {
22
22
  private trustedPeers;
23
23
  private trustedPeersInitialized;
24
24
  private metrics;
25
- private discoveredPeerHandler;
25
+ private handlers;
26
26
  constructor(libP2PNode: PubSubLibp2p, peerDiscoveryService: PeerDiscoveryService, config: P2PConfig, telemetryClient: TelemetryClient, logger: import("@aztec/foundation/log").Logger, peerScoring: PeerScoring, reqresp: ReqResp);
27
27
  /**
28
28
  * Initializes the trusted peers.
@@ -1 +1 @@
1
- {"version":3,"file":"peer_manager.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,yBAAyB,CAAC;AAG1E,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAuB,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoBrE,qBAAa,WAAW;IAYpB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;IAjBjB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,8BAA8B,CAAa;IACnD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,uBAAuB,CAAkB;IAEjD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,qBAAqB,CAAC;gBAGpB,UAAU,EAAE,YAAY,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,MAAM,EAAE,SAAS,EACzB,eAAe,EAAE,eAAe,EACxB,MAAM,wCAAmC,EACzC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO;IAoB1B;;;;OAIG;IACG,sBAAsB;IAU5B,IAAI,MAAM,6CAET;IAGM,SAAS;IAShB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3C;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAQrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IAIvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,QAAQ,CAAC,cAAc,UAAQ,GAAG,QAAQ,EAAE;IAiCnD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiEhB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAwB3B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;YAuBb,wBAAwB;YAcxB,cAAc;IAQ5B;;;OAGG;YACW,oBAAoB;YA8DpB,QAAQ;IA2BtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACU,IAAI;CAYlB"}
1
+ {"version":3,"file":"peer_manager.d.ts","sourceRoot":"","sources":["../../../src/services/peer-manager/peer_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,yBAAyB,CAAC;AAG1E,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAuB,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoBrE,qBAAa,WAAW;IAgBpB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;IArBjB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,8BAA8B,CAAa;IACnD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,uBAAuB,CAAkB;IAEjD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAIF;gBAGJ,UAAU,EAAE,YAAY,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,MAAM,EAAE,SAAS,EACzB,eAAe,EAAE,eAAe,EACxB,MAAM,wCAAmC,EACzC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO;IAwB1B;;;;OAIG;IACG,sBAAsB;IAU5B,IAAI,MAAM,6CAET;IAGM,SAAS;IAShB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3C;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAQrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IAIvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,QAAQ,CAAC,cAAc,UAAQ,GAAG,QAAQ,EAAE;IAiCnD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiEhB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAwB3B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;YAuBb,wBAAwB;YAcxB,cAAc;IAQ5B;;;OAGG;YACW,oBAAoB;YA8DpB,QAAQ;IA2BtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACU,IAAI;CAYlB"}
@@ -31,7 +31,7 @@ export class PeerManager {
31
31
  trustedPeers;
32
32
  trustedPeersInitialized;
33
33
  metrics;
34
- discoveredPeerHandler;
34
+ handlers;
35
35
  constructor(libP2PNode, peerDiscoveryService, config, telemetryClient, logger = createLogger('p2p:peer-manager'), peerScoring, reqresp){
36
36
  this.libP2PNode = libP2PNode;
37
37
  this.peerDiscoveryService = peerDiscoveryService;
@@ -45,15 +45,20 @@ export class PeerManager {
45
45
  this.timedOutPeers = new Map();
46
46
  this.trustedPeers = new Set();
47
47
  this.trustedPeersInitialized = false;
48
+ this.handlers = {};
48
49
  this.metrics = new PeerManagerMetrics(telemetryClient, 'PeerManager');
50
+ // Handle Discovered peers
51
+ this.handlers = {
52
+ handleConnectedPeerEvent: this.handleConnectedPeerEvent.bind(this),
53
+ handleDisconnectedPeerEvent: this.handleDisconnectedPeerEvent.bind(this),
54
+ handleDiscoveredPeer: (enr)=>this.handleDiscoveredPeer(enr).catch((e)=>this.logger.error('Error handling discovered peer', e))
55
+ };
49
56
  // Handle new established connections
50
- this.libP2PNode.addEventListener(PeerEvent.CONNECTED, this.handleConnectedPeerEvent.bind(this));
57
+ this.libP2PNode.addEventListener(PeerEvent.CONNECTED, this.handlers.handleConnectedPeerEvent);
51
58
  // Handle lost connections
52
- this.libP2PNode.addEventListener(PeerEvent.DISCONNECTED, this.handleDisconnectedPeerEvent.bind(this));
53
- // Handle Discovered peers
54
- this.discoveredPeerHandler = (enr)=>this.handleDiscoveredPeer(enr).catch((e)=>this.logger.error('Error handling discovered peer', e));
59
+ this.libP2PNode.addEventListener(PeerEvent.DISCONNECTED, this.handlers.handleDisconnectedPeerEvent);
55
60
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
56
- this.peerDiscoveryService.on(PeerEvent.DISCOVERED, this.discoveredPeerHandler);
61
+ this.peerDiscoveryService.on(PeerEvent.DISCOVERED, this.handlers.handleDiscoveredPeer);
57
62
  // Display peer counts every 60 seconds
58
63
  this.displayPeerCountsPeerHeartbeat = Math.floor(60_000 / this.config.peerCheckIntervalMS);
59
64
  }
@@ -447,11 +452,11 @@ export class PeerManager {
447
452
  * Removing all event listeners.
448
453
  */ async stop() {
449
454
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
450
- this.peerDiscoveryService.off(PeerEvent.DISCOVERED, this.discoveredPeerHandler);
455
+ this.peerDiscoveryService.off(PeerEvent.DISCOVERED, this.handlers.handleDiscoveredPeer);
451
456
  // Send goodbyes to all peers
452
457
  await Promise.all(this.libP2PNode.getPeers().map((peer)=>this.goodbyeAndDisconnectPeer(peer, GoodByeReason.SHUTDOWN)));
453
- this.libP2PNode.removeEventListener(PeerEvent.CONNECTED, this.handleConnectedPeerEvent);
454
- this.libP2PNode.removeEventListener(PeerEvent.DISCONNECTED, this.handleDisconnectedPeerEvent);
458
+ this.libP2PNode.removeEventListener(PeerEvent.CONNECTED, this.handlers.handleConnectedPeerEvent);
459
+ this.libP2PNode.removeEventListener(PeerEvent.DISCONNECTED, this.handlers.handleDisconnectedPeerEvent);
455
460
  }
456
461
  }
457
462
  _ts_decorate([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/p2p",
3
- "version": "0.83.1-nightly.20250404",
3
+ "version": "0.84.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -65,16 +65,16 @@
65
65
  ]
66
66
  },
67
67
  "dependencies": {
68
- "@aztec/constants": "0.83.1-nightly.20250404",
69
- "@aztec/epoch-cache": "0.83.1-nightly.20250404",
70
- "@aztec/foundation": "0.83.1-nightly.20250404",
71
- "@aztec/kv-store": "0.83.1-nightly.20250404",
72
- "@aztec/noir-contracts.js": "0.83.1-nightly.20250404",
73
- "@aztec/noir-protocol-circuits-types": "0.83.1-nightly.20250404",
74
- "@aztec/protocol-contracts": "0.83.1-nightly.20250404",
75
- "@aztec/simulator": "0.83.1-nightly.20250404",
76
- "@aztec/stdlib": "0.83.1-nightly.20250404",
77
- "@aztec/telemetry-client": "0.83.1-nightly.20250404",
68
+ "@aztec/constants": "0.84.0",
69
+ "@aztec/epoch-cache": "0.84.0",
70
+ "@aztec/foundation": "0.84.0",
71
+ "@aztec/kv-store": "0.84.0",
72
+ "@aztec/noir-contracts.js": "0.84.0",
73
+ "@aztec/noir-protocol-circuits-types": "0.84.0",
74
+ "@aztec/protocol-contracts": "0.84.0",
75
+ "@aztec/simulator": "0.84.0",
76
+ "@aztec/stdlib": "0.84.0",
77
+ "@aztec/telemetry-client": "0.84.0",
78
78
  "@chainsafe/discv5": "9.0.0",
79
79
  "@chainsafe/enr": "3.0.0",
80
80
  "@chainsafe/libp2p-gossipsub": "13.0.0",
@@ -103,7 +103,7 @@
103
103
  "xxhash-wasm": "^1.1.0"
104
104
  },
105
105
  "devDependencies": {
106
- "@aztec/archiver": "0.83.1-nightly.20250404",
106
+ "@aztec/archiver": "0.84.0",
107
107
  "@jest/globals": "^29.5.0",
108
108
  "@types/jest": "^29.5.0",
109
109
  "@types/node": "^18.14.6",
@@ -45,7 +45,11 @@ export class PeerManager {
45
45
  private trustedPeersInitialized: boolean = false;
46
46
 
47
47
  private metrics: PeerManagerMetrics;
48
- private discoveredPeerHandler;
48
+ private handlers: {
49
+ handleConnectedPeerEvent: (e: CustomEvent<PeerId>) => void;
50
+ handleDisconnectedPeerEvent: (e: CustomEvent<PeerId>) => void;
51
+ handleDiscoveredPeer: (enr: ENR) => Promise<void>;
52
+ } = {} as any;
49
53
 
50
54
  constructor(
51
55
  private libP2PNode: PubSubLibp2p,
@@ -58,17 +62,21 @@ export class PeerManager {
58
62
  ) {
59
63
  this.metrics = new PeerManagerMetrics(telemetryClient, 'PeerManager');
60
64
 
65
+ // Handle Discovered peers
66
+ this.handlers = {
67
+ handleConnectedPeerEvent: this.handleConnectedPeerEvent.bind(this),
68
+ handleDisconnectedPeerEvent: this.handleDisconnectedPeerEvent.bind(this),
69
+ handleDiscoveredPeer: (enr: ENR) =>
70
+ this.handleDiscoveredPeer(enr).catch(e => this.logger.error('Error handling discovered peer', e)),
71
+ };
72
+
61
73
  // Handle new established connections
62
- this.libP2PNode.addEventListener(PeerEvent.CONNECTED, this.handleConnectedPeerEvent.bind(this));
74
+ this.libP2PNode.addEventListener(PeerEvent.CONNECTED, this.handlers.handleConnectedPeerEvent);
63
75
  // Handle lost connections
64
- this.libP2PNode.addEventListener(PeerEvent.DISCONNECTED, this.handleDisconnectedPeerEvent.bind(this));
65
-
66
- // Handle Discovered peers
67
- this.discoveredPeerHandler = (enr: ENR) =>
68
- this.handleDiscoveredPeer(enr).catch(e => this.logger.error('Error handling discovered peer', e));
76
+ this.libP2PNode.addEventListener(PeerEvent.DISCONNECTED, this.handlers.handleDisconnectedPeerEvent);
69
77
 
70
78
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
71
- this.peerDiscoveryService.on(PeerEvent.DISCOVERED, this.discoveredPeerHandler);
79
+ this.peerDiscoveryService.on(PeerEvent.DISCOVERED, this.handlers.handleDiscoveredPeer);
72
80
 
73
81
  // Display peer counts every 60 seconds
74
82
  this.displayPeerCountsPeerHeartbeat = Math.floor(60_000 / this.config.peerCheckIntervalMS);
@@ -538,15 +546,15 @@ export class PeerManager {
538
546
  */
539
547
  public async stop() {
540
548
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
541
- this.peerDiscoveryService.off(PeerEvent.DISCOVERED, this.discoveredPeerHandler);
549
+ this.peerDiscoveryService.off(PeerEvent.DISCOVERED, this.handlers.handleDiscoveredPeer);
542
550
 
543
551
  // Send goodbyes to all peers
544
552
  await Promise.all(
545
553
  this.libP2PNode.getPeers().map(peer => this.goodbyeAndDisconnectPeer(peer, GoodByeReason.SHUTDOWN)),
546
554
  );
547
555
 
548
- this.libP2PNode.removeEventListener(PeerEvent.CONNECTED, this.handleConnectedPeerEvent);
549
- this.libP2PNode.removeEventListener(PeerEvent.DISCONNECTED, this.handleDisconnectedPeerEvent);
556
+ this.libP2PNode.removeEventListener(PeerEvent.CONNECTED, this.handlers.handleConnectedPeerEvent);
557
+ this.libP2PNode.removeEventListener(PeerEvent.DISCONNECTED, this.handlers.handleDisconnectedPeerEvent);
550
558
  }
551
559
  }
552
560