From e0076d0f27f1a3998498141292076d8945409745 Mon Sep 17 00:00:00 2001 From: Cayman Date: Mon, 30 Nov 2020 13:40:07 -0600 Subject: [PATCH] Add secretKeyToPublicKey function --- src/functional.ts | 9 +++++++++ src/interface.ts | 1 + 2 files changed, 10 insertions(+) diff --git a/src/functional.ts b/src/functional.ts index 7ff58e5..61e04c8 100644 --- a/src/functional.ts +++ b/src/functional.ts @@ -106,6 +106,14 @@ export function functionalInterfaceFactory({ } } + /** + * Computes a public key from a secret key + */ + function secretKeyToPublicKey(secretKey: Uint8Array): Uint8Array { + validateBytes(secretKey, "secretKey"); + return SecretKey.fromBytes(secretKey).toPublicKey().toBytes(); + } + return { sign, aggregateSignatures, @@ -113,5 +121,6 @@ export function functionalInterfaceFactory({ verify, verifyAggregate, verifyMultiple, + secretKeyToPublicKey, }; } diff --git a/src/interface.ts b/src/interface.ts index bc00966..cb57bce 100644 --- a/src/interface.ts +++ b/src/interface.ts @@ -21,6 +21,7 @@ export interface IBls { verify(publicKey: Uint8Array, message: Uint8Array, signature: Uint8Array): boolean; verifyAggregate(publicKeys: Uint8Array[], message: Uint8Array, signature: Uint8Array): boolean; verifyMultiple(publicKeys: Uint8Array[], messages: Uint8Array[], signature: Uint8Array): boolean; + secretKeyToPublicKey(secretKey: Uint8Array): Uint8Array; init(): Promise; destroy(): void;