mirror of
https://github.com/logos-messaging/js-noise.git
synced 2026-01-02 13:43:08 +00:00
use ISender from @waku/interfaces:
This commit is contained in:
parent
63c572abe4
commit
39796e9c20
@ -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 };
|
||||
|
||||
@ -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<void> {
|
||||
async send(encoder: IEncoder, msg: IMessage): Promise<void> {
|
||||
const protoMsg = await encoder.toProtoObj(msg);
|
||||
msgEmitter.emit(encoder.contentTopic, protoMsg);
|
||||
},
|
||||
|
||||
@ -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<void>;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user