From 39796e9c2052376d6684fff55f83d2c2ada5be76 Mon Sep 17 00:00:00 2001 From: weboko Date: Mon, 6 Mar 2023 22:20:50 +0100 Subject: [PATCH] use ISender from @waku/interfaces: --- src/index.ts | 4 ++-- src/pairing.spec.ts | 2 +- src/pairing.ts | 22 +++++----------------- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/index.ts b/src/index.ts index b071d11..3745a92 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,7 +14,7 @@ import { StepHandshakeParameters, } from "./handshake.js"; import { MessageNametagBuffer } from "./messagenametag.js"; -import { InitiatorParameters, Responder, ResponderParameters, Sender, WakuPairing } from "./pairing.js"; +import { InitiatorParameters, Responder, ResponderParameters, WakuPairing } from "./pairing.js"; import { HandshakePattern, MessageDirection, @@ -49,4 +49,4 @@ export { ChaChaPolyCipherState, NoisePublicKey }; export { MessageNametagBuffer }; export { NoiseHandshakeDecoder, NoiseHandshakeEncoder, NoiseSecureTransferDecoder, NoiseSecureTransferEncoder }; export { QR }; -export { InitiatorParameters, ResponderParameters, Sender, Responder, WakuPairing }; +export { InitiatorParameters, ResponderParameters, Responder, WakuPairing }; diff --git a/src/pairing.spec.ts b/src/pairing.spec.ts index 4d534c3..b0d3661 100644 --- a/src/pairing.spec.ts +++ b/src/pairing.spec.ts @@ -24,7 +24,7 @@ describe("js-noise: pairing object", () => { // Simulate waku. This code is not meant to be used IRL const msgEmitter = new EventEmitter(); const sender = { - async publish(encoder: IEncoder, msg: IMessage): Promise { + async send(encoder: IEncoder, msg: IMessage): Promise { const protoMsg = await encoder.toProtoObj(msg); msgEmitter.emit(encoder.contentTopic, protoMsg); }, diff --git a/src/pairing.ts b/src/pairing.ts index a062d1d..df513ed 100644 --- a/src/pairing.ts +++ b/src/pairing.ts @@ -1,6 +1,6 @@ import { HMACDRBG } from "@stablelib/hmac-drbg"; import { randomBytes } from "@stablelib/random"; -import type { IDecoder, IEncoder, IMessage } from "@waku/interfaces"; +import type { IDecoder, ISender } from "@waku/interfaces"; import debug from "debug"; import { EventEmitter } from "eventemitter3"; import { pEvent } from "p-event"; @@ -23,18 +23,6 @@ import { QR } from "./qr.js"; const log = debug("waku:noise:pairing"); -/** - * Sender interface that an object must implement so the pairing object can publish noise messages - */ -export interface Sender { - /** - * Publish a message - * @param encoder NoiseHandshakeEncoder encoder to use to encrypt the messages - * @param msg message to broadcast - */ - publish(encoder: IEncoder, msg: IMessage): Promise; -} - /** * Responder interface than an object must implement so the pairing object can receive noise messages */ @@ -122,7 +110,7 @@ export class WakuPairing { * @param myEphemeralKey optional ephemeral key */ constructor( - private sender: Sender, + private sender: ISender, private responder: Responder, private myStaticKey: KeyPair, pairingParameters: InitiatorParameters | ResponderParameters, @@ -258,7 +246,7 @@ export class WakuPairing { // We prepare a message from initiator's payload2 // At this point wakuMsg is sent over the Waku network to responder content topic let encoder = new NoiseHandshakeEncoder(this.contentTopic, hsStep); - await this.sender.publish(encoder, {}); + await this.sender.send(encoder, {}); // We generate an authorization code using the handshake state // this check has to be confirmed with a user interaction, comparing auth codes in both ends @@ -294,7 +282,7 @@ export class WakuPairing { }); encoder = new NoiseHandshakeEncoder(this.contentTopic, hsStep); - await this.sender.publish(encoder, {}); + await this.sender.send(encoder, {}); // Secure Transfer Phase this.handshakeResult = this.handshake.finalizeHandshake(); @@ -333,7 +321,7 @@ export class WakuPairing { // We prepare a Waku message from responder's payload2 const encoder = new NoiseHandshakeEncoder(this.contentTopic, hsStep); - await this.sender.publish(encoder, {}); + await this.sender.send(encoder, {}); // 3rd step // -> sA, sAeB, sAsB {s}