From bc3a97f2fb9a332a1425dda729ea49c5aeb0916b Mon Sep 17 00:00:00 2001 From: achingbrain Date: Sat, 14 Jan 2023 10:08:32 +0000 Subject: [PATCH 1/2] fix: accept multiaddr param when opening connections This has been in libp2p for ages but was missed on the interface. --- packages/interface-connection-manager/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interface-connection-manager/src/index.ts b/packages/interface-connection-manager/src/index.ts index 6f75c530c..50954988b 100644 --- a/packages/interface-connection-manager/src/index.ts +++ b/packages/interface-connection-manager/src/index.ts @@ -58,7 +58,7 @@ export interface ConnectionManager extends EventEmitter * const connection = await libp2p.connectionManager.openConnection(peerId) * ``` */ - openConnection: (peer: PeerId, options?: AbortOptions) => Promise + openConnection: (peer: PeerId | Multiaddr, options?: AbortOptions) => Promise /** * Close our connections to a peer From 70cf05f6eedd49d38d0f5c2c239bfb5bef1794b0 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Sat, 14 Jan 2023 10:17:57 +0000 Subject: [PATCH 2/2] chore: fix mock --- packages/interface-mocks/src/connection-manager.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/interface-mocks/src/connection-manager.ts b/packages/interface-mocks/src/connection-manager.ts index e646cfde0..3768b49e0 100644 --- a/packages/interface-mocks/src/connection-manager.ts +++ b/packages/interface-mocks/src/connection-manager.ts @@ -7,6 +7,7 @@ import { connectionPair } from './connection.js' import errCode from 'err-code' import type { Registrar } from '@libp2p/interface-registrar' import type { PubSub } from '@libp2p/interface-pubsub' +import { isMultiaddr, Multiaddr } from '@multiformats/multiaddr' export interface MockNetworkComponents { peerId: PeerId @@ -75,11 +76,15 @@ class MockConnectionManager extends EventEmitter implem return this.connections } - async openConnection (peerId: PeerId) { + async openConnection (peerId: PeerId | Multiaddr) { if (this.components == null) { throw errCode(new Error('Not initialized'), 'ERR_NOT_INITIALIZED') } + if (isMultiaddr(peerId)) { + throw errCode(new Error('Dialing multiaddrs not supported'), 'ERR_NOT_SUPPORTED') + } + const existingConnections = this.getConnections(peerId) if (existingConnections.length > 0) {