UNPKG

@beraji/wallet-sdk

Version:

Beraji: Distributed Secret Sharing.

32 lines (31 loc) 1.64 kB
import { Signature } from '@noble/secp256k1'; import { FiniteField } from './ff'; export declare class ECCurve { static ff: FiniteField; static ZERO: Uint8Array<ArrayBufferLike>; static validate: (point: Uint8Array) => boolean; static baseMul: (r: Uint8Array) => Uint8Array; static negPoint: (point: Uint8Array) => Uint8Array<ArrayBufferLike>; static addPoint: (pointA: Uint8Array, pointB: Uint8Array) => Uint8Array; static mulScalar: (point: Uint8Array, scalar: Uint8Array) => Uint8Array; static getDerivedKey: (privateKey: Uint8Array) => Uint8Array<ArrayBufferLike>; static getPublicKey: (privateKey: Uint8Array, derived?: boolean) => Uint8Array<ArrayBufferLike>; } export declare class ECTSS { static ff: FiniteField; static signatureLength: number; static randomnessLength: number; static privateKeyLength: number; static publicKeyLength: number; static finalizeSig: (sig: Signature) => Uint8Array; static recoveryBit: (R: Uint8Array, sig: Signature) => number; static shareRandomness: (t: number, n: number, indice: Uint8Array[], seed?: Uint8Array) => { shares: Uint8Array<ArrayBufferLike>[]; R: Uint8Array<ArrayBufferLike>; r: Uint8Array<ArrayBufferLike>; zkp: Uint8Array<ArrayBufferLike>[]; }; static addSig: (sigs: Uint8Array[], r: Uint8Array) => [Uint8Array, number]; static sign: (h: Uint8Array, R: Uint8Array, x: Uint8Array, derivedKey: Uint8Array) => Uint8Array<ArrayBufferLike>; static verify: (h: Uint8Array, R: Uint8Array, index: Uint8Array, sig: Uint8Array, pzkp: Uint8Array[], xzkp: Uint8Array[]) => boolean; }