From 2d47cfdeb7bcf6953e03d6edf819732d508259f2 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Tue, 27 Sep 2022 15:46:53 -0700 Subject: [PATCH 1/5] Add remoteExtensions to connection-encrypter --- packages/interface-connection-encrypter/src/index.ts | 9 +++++---- packages/interface-mocks/src/connection-encrypter.ts | 6 ++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/interface-connection-encrypter/src/index.ts b/packages/interface-connection-encrypter/src/index.ts index 380bac5bf..9c60f24ce 100644 --- a/packages/interface-connection-encrypter/src/index.ts +++ b/packages/interface-connection-encrypter/src/index.ts @@ -5,7 +5,7 @@ import type { Duplex } from 'it-stream-types' * A libp2p connection encrypter module must be compliant to this interface * to ensure all exchanged data between two peers is encrypted. */ -export interface ConnectionEncrypter { +export interface ConnectionEncrypter { protocol: string /** @@ -13,18 +13,19 @@ export interface ConnectionEncrypter { * pass it for extra verification, otherwise it will be determined during * the handshake. */ - secureOutbound: (localPeer: PeerId, connection: Duplex, remotePeer?: PeerId) => Promise + secureOutbound: (localPeer: PeerId, connection: Duplex, remotePeer?: PeerId) => Promise> /** * Decrypt incoming data. If the remote PeerId is known, * pass it for extra verification, otherwise it will be determined during * the handshake */ - secureInbound: (localPeer: PeerId, connection: Duplex, remotePeer?: PeerId) => Promise + secureInbound: (localPeer: PeerId, connection: Duplex, remotePeer?: PeerId) => Promise> } -export interface SecuredConnection { +export interface SecuredConnection { conn: Duplex remoteEarlyData: Uint8Array + remoteExtensions: E remotePeer: PeerId } diff --git a/packages/interface-mocks/src/connection-encrypter.ts b/packages/interface-mocks/src/connection-encrypter.ts index a06adee87..f7ffa0ae3 100644 --- a/packages/interface-mocks/src/connection-encrypter.ts +++ b/packages/interface-mocks/src/connection-encrypter.ts @@ -63,7 +63,8 @@ export function mockConnectionEncrypter () { conn: true }, remotePeer, - remoteEarlyData: new Uint8Array(0) + remoteEarlyData: new Uint8Array(0), + remoteExtensions: {} } }, secureOutbound: async (localPeer, duplex, remotePeer) => { @@ -104,7 +105,8 @@ export function mockConnectionEncrypter () { conn: true }, remotePeer: peerIdFromBytes(remoteId.slice()), - remoteEarlyData: new Uint8Array(0) + remoteEarlyData: new Uint8Array(0), + remoteExtensions: {} } } } From bd8e5afae77eb63a280d0fca31516586c8cae7d6 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Fri, 30 Sep 2022 17:47:18 -0700 Subject: [PATCH 2/5] Use unknown instead of any --- packages/interface-connection-encrypter/src/index.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/interface-connection-encrypter/src/index.ts b/packages/interface-connection-encrypter/src/index.ts index 9c60f24ce..647f1598b 100644 --- a/packages/interface-connection-encrypter/src/index.ts +++ b/packages/interface-connection-encrypter/src/index.ts @@ -5,7 +5,7 @@ import type { Duplex } from 'it-stream-types' * A libp2p connection encrypter module must be compliant to this interface * to ensure all exchanged data between two peers is encrypted. */ -export interface ConnectionEncrypter { +export interface ConnectionEncrypter { protocol: string /** @@ -25,7 +25,6 @@ export interface ConnectionEncrypter { export interface SecuredConnection { conn: Duplex - remoteEarlyData: Uint8Array remoteExtensions: E remotePeer: PeerId } From 5c37ed9475d499b83a8a7e4f053a88bd4892be53 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Fri, 30 Sep 2022 17:48:35 -0700 Subject: [PATCH 3/5] Remove remoteEarlyData --- packages/interface-mocks/src/connection-encrypter.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/interface-mocks/src/connection-encrypter.ts b/packages/interface-mocks/src/connection-encrypter.ts index f7ffa0ae3..fbeaa58a7 100644 --- a/packages/interface-mocks/src/connection-encrypter.ts +++ b/packages/interface-mocks/src/connection-encrypter.ts @@ -63,7 +63,6 @@ export function mockConnectionEncrypter () { conn: true }, remotePeer, - remoteEarlyData: new Uint8Array(0), remoteExtensions: {} } }, @@ -105,7 +104,6 @@ export function mockConnectionEncrypter () { conn: true }, remotePeer: peerIdFromBytes(remoteId.slice()), - remoteEarlyData: new Uint8Array(0), remoteExtensions: {} } } From 054101648ed0d3dfa3e555794b02f6c0e3e5207e Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Fri, 30 Sep 2022 17:50:01 -0700 Subject: [PATCH 4/5] Make remoteExtensions optional --- packages/interface-connection-encrypter/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/interface-connection-encrypter/src/index.ts b/packages/interface-connection-encrypter/src/index.ts index 647f1598b..977baee55 100644 --- a/packages/interface-connection-encrypter/src/index.ts +++ b/packages/interface-connection-encrypter/src/index.ts @@ -25,6 +25,6 @@ export interface ConnectionEncrypter { export interface SecuredConnection { conn: Duplex - remoteExtensions: E + remoteExtensions?: E remotePeer: PeerId } From bce29089c56bfc53cb83586681374791300187c2 Mon Sep 17 00:00:00 2001 From: Marco Munizaga Date: Mon, 3 Oct 2022 16:24:55 -0700 Subject: [PATCH 5/5] Lint --- packages/interface-mocks/src/connection-encrypter.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/interface-mocks/src/connection-encrypter.ts b/packages/interface-mocks/src/connection-encrypter.ts index fbeaa58a7..017c02e06 100644 --- a/packages/interface-mocks/src/connection-encrypter.ts +++ b/packages/interface-mocks/src/connection-encrypter.ts @@ -54,7 +54,7 @@ export function mockConnectionEncrypter () { return { conn: { ...wrapper[1], - close: async () => {}, + close: async () => { }, localAddr: multiaddr('/ip4/127.0.0.1/tcp/4001'), remoteAddr: multiaddr('/ip4/127.0.0.1/tcp/4002'), timeline: { @@ -95,7 +95,7 @@ export function mockConnectionEncrypter () { return { conn: { ...wrapper[1], - close: async () => {}, + close: async () => { }, localAddr: multiaddr('/ip4/127.0.0.1/tcp/4001'), remoteAddr: multiaddr('/ip4/127.0.0.1/tcp/4002'), timeline: {