Export class interfaces too
This commit is contained in:
parent
0a3f6f5659
commit
9b7e5f5f95
35
src/index.ts
35
src/index.ts
|
@ -1,4 +1,4 @@
|
||||||
import {IBls} from "./interface";
|
import {IBls, IPrivateKey, IPublicKey, ISignature} from "./interface";
|
||||||
import {bls as blsHerumi} from "./herumi";
|
import {bls as blsHerumi} from "./herumi";
|
||||||
|
|
||||||
export type Implementation = "herumi" | "blst-native";
|
export type Implementation = "herumi" | "blst-native";
|
||||||
|
@ -7,6 +7,7 @@ export * from "./interface";
|
||||||
|
|
||||||
// TODO: Use a Proxy for example to throw an error if it's not initialized yet
|
// TODO: Use a Proxy for example to throw an error if it's not initialized yet
|
||||||
export const bls: IBls = {} as IBls;
|
export const bls: IBls = {} as IBls;
|
||||||
|
export default bls;
|
||||||
|
|
||||||
async function getImplementation(impl: Implementation = "herumi"): Promise<IBls> {
|
async function getImplementation(impl: Implementation = "herumi"): Promise<IBls> {
|
||||||
switch (impl) {
|
switch (impl) {
|
||||||
|
@ -43,8 +44,32 @@ export declare let aggregatePubkeys: IBls["aggregatePubkeys"];
|
||||||
export declare let verify: IBls["verify"];
|
export declare let verify: IBls["verify"];
|
||||||
export declare let verifyAggregate: IBls["verifyAggregate"];
|
export declare let verifyAggregate: IBls["verifyAggregate"];
|
||||||
export declare let verifyMultiple: IBls["verifyMultiple"];
|
export declare let verifyMultiple: IBls["verifyMultiple"];
|
||||||
export declare let PrivateKey: IBls["PrivateKey"];
|
|
||||||
export declare let PublicKey: IBls["PublicKey"];
|
|
||||||
export declare let Signature: IBls["Signature"];
|
|
||||||
|
|
||||||
export default bls;
|
export declare class PrivateKey implements IPrivateKey {
|
||||||
|
static fromBytes(bytes: Uint8Array): PrivateKey;
|
||||||
|
static fromHex(hex: string): PrivateKey;
|
||||||
|
static fromKeygen(entropy?: Uint8Array): PrivateKey;
|
||||||
|
sign(message: Uint8Array): Signature;
|
||||||
|
toPublicKey(): PublicKey;
|
||||||
|
toBytes(): Uint8Array;
|
||||||
|
toHex(): string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export declare class PublicKey implements IPublicKey {
|
||||||
|
static fromBytes(bytes: Uint8Array): PublicKey;
|
||||||
|
static fromHex(hex: string): PublicKey;
|
||||||
|
static aggregate(pubkeys: PublicKey[]): PublicKey;
|
||||||
|
toBytes(): Uint8Array;
|
||||||
|
toHex(): string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export declare class Signature implements ISignature {
|
||||||
|
static fromBytes(bytes: Uint8Array): Signature;
|
||||||
|
static fromHex(hex: string): Signature;
|
||||||
|
static aggregate(signatures: Signature[]): Signature;
|
||||||
|
verify(publicKey: PublicKey, message: Uint8Array): boolean;
|
||||||
|
verifyAggregate(publicKeys: PublicKey[], message: Uint8Array): boolean;
|
||||||
|
verifyMultiple(publicKeys: PublicKey[], messages: Uint8Array[]): boolean;
|
||||||
|
toBytes(): Uint8Array;
|
||||||
|
toHex(): string;
|
||||||
|
}
|
||||||
|
|
Reference in New Issue