diff --git a/src/pubsub/errors.d.ts b/src/pubsub/errors.d.ts index 98256b4bf..4bbf5b3b7 100644 --- a/src/pubsub/errors.d.ts +++ b/src/pubsub/errors.d.ts @@ -1,4 +1,11 @@ export namespace codes { + export const ERR_INVALID_SIGNATURE_POLICY: string; + export const ERR_UNHANDLED_SIGNATURE_POLICY: string; export const ERR_MISSING_SIGNATURE: string; + export const ERR_MISSING_SEQNO: string; export const ERR_INVALID_SIGNATURE: string; + export const ERR_UNEXPECTED_FROM: string; + export const ERR_UNEXPECTED_SIGNATURE: string; + export const ERR_UNEXPECTED_KEY: string; + export const ERR_UNEXPECTED_SEQNO: string; } diff --git a/src/pubsub/index.d.ts b/src/pubsub/index.d.ts index cb79e2cfa..f2a8d1cb2 100644 --- a/src/pubsub/index.d.ts +++ b/src/pubsub/index.d.ts @@ -22,18 +22,16 @@ declare class PubsubBaseProtocol { * @param {String} props.debugName log namespace * @param {Array|string} props.multicodecs protocol identificers to connect * @param {Libp2p} props.libp2p - * @param {boolean} [props.signMessages = true] if messages should be signed - * @param {boolean} [props.strictSigning = true] if message signing should be required + * @param {SignaturePolicy} [props.globalSignaturePolicy = SignaturePolicy.StrictSign] defines how signatures should be handled * @param {boolean} [props.canRelayMessage = false] if can relay messages not subscribed * @param {boolean} [props.emitSelf = false] if publish should emit to self, if subscribed * @abstract */ - constructor({ debugName, multicodecs, libp2p, signMessages, strictSigning, canRelayMessage, emitSelf }: { + constructor({ debugName, multicodecs, libp2p, globalSignaturePolicy, canRelayMessage, emitSelf }: { debugName: string; multicodecs: string | string[]; libp2p: any; - signMessages?: boolean; - strictSigning?: boolean; + globalSignaturePolicy?: any; canRelayMessage?: boolean; emitSelf?: boolean; }); @@ -66,12 +64,12 @@ declare class PubsubBaseProtocol { * @type {Map} */ peers: Map; - signMessages: boolean; /** - * If message signing should be required for incoming messages - * @type {boolean} + * The signature policy to follow by default + * + * @type {string} */ - strictSigning: boolean; + globalSignaturePolicy: string; /** * If router can relay received messages, even if not subscribed * @type {boolean} @@ -284,7 +282,7 @@ declare class PubsubBaseProtocol { getTopics(): string[]; } declare namespace PubsubBaseProtocol { - export { message, utils, InMessage, PeerId }; + export { message, utils, SignaturePolicy, InMessage, PeerId }; } type PeerId = import("peer-id"); /** @@ -305,3 +303,7 @@ type InMessage = { */ declare const message: typeof import('./message'); declare const utils: typeof import("./utils"); +declare const SignaturePolicy: { + StrictSign: string; + StrictNoSign: string; +}; diff --git a/src/pubsub/index.js b/src/pubsub/index.js index a2131a7b1..67619591a 100644 --- a/src/pubsub/index.js +++ b/src/pubsub/index.js @@ -116,7 +116,7 @@ class PubsubBaseProtocol extends EventEmitter { /** * The signature policy to follow by default * - * @type {SignaturePolicy} + * @type {string} */ this.globalSignaturePolicy = globalSignaturePolicy diff --git a/src/pubsub/signature-policy.d.ts b/src/pubsub/signature-policy.d.ts new file mode 100644 index 000000000..cf04e15a3 --- /dev/null +++ b/src/pubsub/signature-policy.d.ts @@ -0,0 +1,4 @@ +export namespace SignaturePolicy { + export const StrictSign: string; + export const StrictNoSign: string; +} diff --git a/src/pubsub/utils.d.ts b/src/pubsub/utils.d.ts index 6a8c1f675..f0ae093d9 100644 --- a/src/pubsub/utils.d.ts +++ b/src/pubsub/utils.d.ts @@ -1,5 +1,6 @@ export function randomSeqno(): Uint8Array; export function msgId(from: string, seqno: Uint8Array): Uint8Array; +export function noSignMsgId(data: Uint8Array): Uint8Array; export function anyMatch(a: any[] | Set, b: any[] | Set): boolean; export function ensureArray(maybeArray: any): any[]; export function normalizeInRpcMessage(message: any, peerId: string): any;