47 lines
1004 B
TypeScript
Raw Normal View History

2022-11-04 11:38:32 +11:00
import {
DecodedMessage as DecodedMessageV0,
2022-11-04 11:38:32 +11:00
proto,
} from "@waku/core/lib/message/version_0";
import type { IDecodedMessage } from "@waku/interfaces";
2022-11-04 11:38:32 +11:00
2022-11-04 11:45:15 +11:00
import {
generatePrivateKey,
generateSymmetricKey,
getPublicKey,
} from "./crypto/index.js";
2022-11-04 11:38:32 +11:00
export const OneMillion = BigInt(1_000_000);
2022-11-04 11:38:32 +11:00
2022-11-04 11:45:15 +11:00
export { generatePrivateKey, generateSymmetricKey, getPublicKey };
export * as ecies from "./ecies.js";
export * as symmetric from "./symmetric.js";
2022-11-04 11:38:32 +11:00
export const Version = 1;
export type Signature = {
signature: Uint8Array;
publicKey: Uint8Array | undefined;
};
export class DecodedMessage
extends DecodedMessageV0
implements IDecodedMessage
{
2022-11-04 11:38:32 +11:00
private readonly _decodedPayload: Uint8Array;
constructor(
proto: proto.WakuMessage,
decodedPayload: Uint8Array,
public signature?: Uint8Array,
public signaturePublicKey?: Uint8Array
) {
super(proto);
this._decodedPayload = decodedPayload;
}
get payload(): Uint8Array {
return this._decodedPayload;
}
}