UNPKG

@runonflux/aa-schnorr-multisig-sdk

Version:

Account Abstraction Schnorr Multi-Signatures SDK

31 lines (30 loc) 1.68 kB
import type { PublicNonces } from "../types"; import { Key, SchnorrSignature } from "../types"; import type { HashFunction } from "../core/types"; import type { SignatureOutput } from "../types/signature"; import { FinalPublicNonce } from "../types/signature"; export declare class Schnorrkel { #private; private markNonceAsUsed; private isNonceUsed; resetUsedNonces(): void; private _setNonce; private _restoreNonce; private clearNonces; private getMappedPublicNonces; private getMappedNonces; private getMultisigOutput; static getCombinedPublicKey(publicKeys: Key[]): Key; static getCombinedAddress(publicKeys: Key[]): string; generatePublicNonces(privateKey: Key): PublicNonces; restorePublicNonces(privateKey: Key, kPrivateKey: Key, kTwoPrivateKey: Key): PublicNonces; getPublicNonces(privateKey: Key): PublicNonces; hasNonce(privateKey: Key): boolean; multiSigSign(privateKey: Key, msg: string, publicKeys: Key[], publicNonces: PublicNonces[], hashFn?: HashFunction): SignatureOutput; multiSigSignHash(privateKey: Key, hash: string, publicKeys: Key[], publicNonces: PublicNonces[]): SignatureOutput; static sign(privateKey: Key, msg: string, hashFn?: HashFunction): SignatureOutput; static signHash(privateKey: Key, hash: string): SignatureOutput; static sumSigs(signatures: SchnorrSignature[]): SchnorrSignature; static verify(signature: SchnorrSignature, msg: string, finalPublicNonce: FinalPublicNonce, publicKey: Key, hashFn?: HashFunction): boolean; static verifyHash(signature: SchnorrSignature, hash: string, finalPublicNonce: FinalPublicNonce, publicKey: Key): boolean; }