From 338b9d51b8a8efbd93a5d7c8f19f4190ffa4affd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Da=C3=9Fler?= Date: Sat, 20 Sep 2025 02:42:25 +0200 Subject: [PATCH] Add event for multiaddresses changed --- implementations/Libp2pComponent.ts | 9 +++++++++ interfaces/ILibp2pComponent.ts | 1 + 2 files changed, 10 insertions(+) diff --git a/implementations/Libp2pComponent.ts b/implementations/Libp2pComponent.ts index 9808506..0bd9974 100644 --- a/implementations/Libp2pComponent.ts +++ b/implementations/Libp2pComponent.ts @@ -153,6 +153,15 @@ export class Libp2pComponent implements ILibp2pComponent { }); }); + // Multiaddresses changed event + this.eventEmitter.addListener('onMultiaddressesChanged', ({ multiaddrs }: { multiaddrs: string[] }) => { + logger.debug('[Libp2pComponent] Multiaddresses changed:', multiaddrs); + this._multiaddrs = multiaddrs.map((addr: string) => new SimpleMultiaddr(addr)); + this.emit('multiaddresses:changed', { + multiaddrs: this._multiaddrs, + }); + }); + // Connection events this.eventEmitter.addListener( 'onConnectionStatus', diff --git a/interfaces/ILibp2pComponent.ts b/interfaces/ILibp2pComponent.ts index 3df2d1d..44f4f87 100644 --- a/interfaces/ILibp2pComponent.ts +++ b/interfaces/ILibp2pComponent.ts @@ -78,6 +78,7 @@ export interface Libp2pEvents { 'connection:open': CustomEvent; 'connection:close': CustomEvent; 'self:peer:update': CustomEvent<{ peerId: PeerId; multiaddrs: Multiaddr[] }>; + 'multiaddresses:changed': CustomEvent<{ multiaddrs: Multiaddr[] }>; } export interface Libp2pOptions {