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 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) {