UNPKG

@mattrglobal/bbs-signatures

Version:

An implementation of BBS+ signatures using rust compiled to wasm

164 lines (159 loc) 5.01 kB
/* tslint:disable */ /* eslint-disable */ /** * @param {any} request * @returns {Promise<any>} */ export function sign(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function verify(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function blindSignCommitment(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function verifyBlind(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function blindSign(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function unBlind(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function createProof(request: any): Promise<any>; /** * @param {any} request * @returns {Promise<any>} */ export function verifyProof(request: any): Promise<any>; /** * Generate a BLS 12-381 key pair. * * * seed: UIntArray with 32 element * * returned vector is the concatenation of first the private key (32 bytes) * followed by the public key (96) bytes. * @param {Uint8Array | undefined} seed * @returns {Promise<any>} */ export function generateBls12381G2KeyPair(seed?: Uint8Array): Promise<any>; /** * Generate a BLS 12-381 key pair. * * * seed: UIntArray with 32 element * * returned vector is the concatenation of first the private key (32 bytes) * followed by the public key (48) bytes. * @param {Uint8Array | undefined} seed * @returns {Promise<any>} */ export function generateBls12381G1KeyPair(seed?: Uint8Array): Promise<any>; /** * Get the BBS public key associated with the private key * @param {any} request * @returns {Promise<any>} */ export function bls12381toBbs(request: any): Promise<any>; /** * Signs a set of messages with a BLS 12-381 key pair and produces a BBS signature * @param {any} request * @returns {Promise<any>} */ export function blsSign(request: any): Promise<any>; /** * Verifies a BBS+ signature for a set of messages with a with a BLS 12-381 public key * @param {any} request * @returns {Promise<any>} */ export function blsVerify(request: any): Promise<any>; /** * Creates a BBS+ PoK * @param {any} request * @returns {Promise<any>} */ export function blsCreateProof(request: any): Promise<any>; /** * Verify a BBS+ PoK * @param {any} request * @returns {Promise<any>} */ export function blsVerifyProof(request: any): Promise<any>; /** * Indicates the status returned from `PoKOfSignatureProof` */ export enum PoKOfSignatureProofStatus { /** * The proof verified */ Success = 0, /** * The proof failed because the signature proof of knowledge failed */ BadSignature = 1, /** * The proof failed because a hidden message was invalid when the proof was created */ BadHiddenMessage = 2, /** * The proof failed because a revealed message was invalid */ BadRevealedMessage = 3, } export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly sign: (a: number) => number; readonly verify: (a: number) => number; readonly blindSignCommitment: (a: number) => number; readonly verifyBlind: (a: number) => number; readonly blindSign: (a: number) => number; readonly unBlind: (a: number) => number; readonly createProof: (a: number) => number; readonly verifyProof: (a: number) => number; readonly generateBls12381G2KeyPair: (a: number, b: number) => number; readonly generateBls12381G1KeyPair: (a: number, b: number) => number; readonly bls12381toBbs: (a: number) => number; readonly blsSign: (a: number) => number; readonly blsVerify: (a: number) => number; readonly blsCreateProof: (a: number) => number; readonly blsVerifyProof: (a: number) => number; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_export_2: WebAssembly.Table; readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h641b776db8cce6a5: (a: number, b: number, c: number) => void; readonly __wbindgen_exn_store: (a: number) => void; readonly wasm_bindgen__convert__closures__invoke2_mut__h703ce7bbe0de7244: (a: number, b: number, c: number, d: number) => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {SyncInitInput} module * * @returns {InitOutput} */ export function initSync(module: SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {InitInput | Promise<InitInput>} module_or_path * * @returns {Promise<InitOutput>} */ export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;