@beraji/wallet-sdk
Version:
Beraji: Distributed Secret Sharing.
32 lines (31 loc) • 1.64 kB
TypeScript
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;
}