UNPKG

@beraji/wallet-sdk

Version:

Beraji: Distributed Secret Sharing.

368 lines (367 loc) 11.5 kB
import BN, { ReductionContext } from 'bn.js'; import { RedBN } from './utils'; export declare class FiniteField { readonly red: BN; readonly en: BN.Endianness; readonly r: ReductionContext; constructor(red: BN, en: BN.Endianness); static fromString: (red: string, en: BN.Endianness) => FiniteField; static fromNumber: (red: number, en: BN.Endianness) => FiniteField; static fromBigInt: (red: BigInt, en: BN.Endianness) => FiniteField; encode: (r: Uint8Array) => RedBN; decode: (r: BN | RedBN, len?: number) => Uint8Array; numberToRedBN: (r: number) => { fromRed(): BN; redAdd(b: any): any; redIAdd(b: any): any; redSub(b: any): any; redISub(b: any): any; redShl(num: number): any; redMul(b: any): any; redIMul(b: any): any; redSqr(): any; redISqr(): any; redSqrt(): any; redInvm(): any; redNeg(): any; redPow(b: BN): any; copy(dest: BN): void; clone(): BN; toString(base?: number | "hex", length?: number): string; toNumber(): number; toJSON(): string; toArray(endian?: BN.Endianness, length?: number): number[]; toArrayLike(ArrayType: typeof Buffer, endian?: BN.Endianness, length?: number): Buffer; toArrayLike(ArrayType: any[], endian?: BN.Endianness, length?: number): any[]; toBuffer(endian?: BN.Endianness, length?: number): Buffer; bitLength(): number; zeroBits(): number; byteLength(): number; isNeg(): boolean; isEven(): boolean; isOdd(): boolean; isZero(): boolean; cmp(b: BN): -1 | 0 | 1; ucmp(b: BN): -1 | 0 | 1; cmpn(b: number): -1 | 0 | 1; lt(b: BN): boolean; ltn(b: number): boolean; lte(b: BN): boolean; lten(b: number): boolean; gt(b: BN): boolean; gtn(b: number): boolean; gte(b: BN): boolean; gten(b: number): boolean; eq(b: BN): boolean; eqn(b: number): boolean; toTwos(width: number): BN; fromTwos(width: number): BN; neg(): BN; ineg(): BN; abs(): BN; iabs(): BN; add(b: BN): BN; iadd(b: BN): BN; addn(b: number): BN; iaddn(b: number): BN; sub(b: BN): BN; isub(b: BN): BN; subn(b: number): BN; isubn(b: number): BN; mul(b: BN): BN; imul(b: BN): BN; muln(b: number): BN; imuln(b: number): BN; sqr(): BN; isqr(): BN; pow(b: BN): BN; div(b: BN): BN; divn(b: number): BN; idivn(b: number): BN; divmod(b: BN, mode?: "div" | "mod", positive?: boolean): { div: BN; mod: BN; }; mod(b: BN): BN; umod(b: BN): BN; modn(b: number): number; modrn(b: number): number; divRound(b: BN): BN; or(b: BN): BN; ior(b: BN): BN; uor(b: BN): BN; iuor(b: BN): BN; and(b: BN): BN; iand(b: BN): BN; uand(b: BN): BN; iuand(b: BN): BN; andln(b: number): BN; xor(b: BN): BN; ixor(b: BN): BN; uxor(b: BN): BN; iuxor(b: BN): BN; setn(b: number, value: boolean | 0 | 1): BN; shln(b: number): BN; ishln(b: number): BN; ushln(b: number): BN; iushln(b: number): BN; shrn(b: number): BN; ishrn(b: number): BN; ushrn(b: number): BN; iushrn(b: number): BN; testn(b: number): boolean; maskn(b: number): BN; imaskn(b: number): BN; bincn(b: number): BN; notn(w: number): BN; inotn(w: number): BN; gcd(b: BN): BN; egcd(b: BN): { a: BN; b: BN; gcd: BN; }; invm(b: BN): BN; toRed(reductionContext: BN.ReductionContext): any; }; get ZERO(): { fromRed(): BN; redAdd(b: any): any; redIAdd(b: any): any; redSub(b: any): any; redISub(b: any): any; redShl(num: number): any; redMul(b: any): any; redIMul(b: any): any; redSqr(): any; redISqr(): any; redSqrt(): any; redInvm(): any; redNeg(): any; redPow(b: BN): any; copy(dest: BN): void; clone(): BN; toString(base?: number | "hex", length?: number): string; toNumber(): number; toJSON(): string; toArray(endian?: BN.Endianness, length?: number): number[]; toArrayLike(ArrayType: typeof Buffer, endian?: BN.Endianness, length?: number): Buffer; toArrayLike(ArrayType: any[], endian?: BN.Endianness, length?: number): any[]; toBuffer(endian?: BN.Endianness, length?: number): Buffer; bitLength(): number; zeroBits(): number; byteLength(): number; isNeg(): boolean; isEven(): boolean; isOdd(): boolean; isZero(): boolean; cmp(b: BN): -1 | 0 | 1; ucmp(b: BN): -1 | 0 | 1; cmpn(b: number): -1 | 0 | 1; lt(b: BN): boolean; ltn(b: number): boolean; lte(b: BN): boolean; lten(b: number): boolean; gt(b: BN): boolean; gtn(b: number): boolean; gte(b: BN): boolean; gten(b: number): boolean; eq(b: BN): boolean; eqn(b: number): boolean; toTwos(width: number): BN; fromTwos(width: number): BN; neg(): BN; ineg(): BN; abs(): BN; iabs(): BN; add(b: BN): BN; iadd(b: BN): BN; addn(b: number): BN; iaddn(b: number): BN; sub(b: BN): BN; isub(b: BN): BN; subn(b: number): BN; isubn(b: number): BN; mul(b: BN): BN; imul(b: BN): BN; muln(b: number): BN; imuln(b: number): BN; sqr(): BN; isqr(): BN; pow(b: BN): BN; div(b: BN): BN; divn(b: number): BN; idivn(b: number): BN; divmod(b: BN, mode?: "div" | "mod", positive?: boolean): { div: BN; mod: BN; }; mod(b: BN): BN; umod(b: BN): BN; modn(b: number): number; modrn(b: number): number; divRound(b: BN): BN; or(b: BN): BN; ior(b: BN): BN; uor(b: BN): BN; iuor(b: BN): BN; and(b: BN): BN; iand(b: BN): BN; uand(b: BN): BN; iuand(b: BN): BN; andln(b: number): BN; xor(b: BN): BN; ixor(b: BN): BN; uxor(b: BN): BN; iuxor(b: BN): BN; setn(b: number, value: boolean | 0 | 1): BN; shln(b: number): BN; ishln(b: number): BN; ushln(b: number): BN; iushln(b: number): BN; shrn(b: number): BN; ishrn(b: number): BN; ushrn(b: number): BN; iushrn(b: number): BN; testn(b: number): boolean; maskn(b: number): BN; imaskn(b: number): BN; bincn(b: number): BN; notn(w: number): BN; inotn(w: number): BN; gcd(b: BN): BN; egcd(b: BN): { a: BN; b: BN; gcd: BN; }; invm(b: BN): BN; toRed(reductionContext: BN.ReductionContext): any; }; get ONE(): { fromRed(): BN; redAdd(b: any): any; redIAdd(b: any): any; redSub(b: any): any; redISub(b: any): any; redShl(num: number): any; redMul(b: any): any; redIMul(b: any): any; redSqr(): any; redISqr(): any; redSqrt(): any; redInvm(): any; redNeg(): any; redPow(b: BN): any; copy(dest: BN): void; clone(): BN; toString(base?: number | "hex", length?: number): string; toNumber(): number; toJSON(): string; toArray(endian?: BN.Endianness, length?: number): number[]; toArrayLike(ArrayType: typeof Buffer, endian?: BN.Endianness, length?: number): Buffer; toArrayLike(ArrayType: any[], endian?: BN.Endianness, length?: number): any[]; toBuffer(endian?: BN.Endianness, length?: number): Buffer; bitLength(): number; zeroBits(): number; byteLength(): number; isNeg(): boolean; isEven(): boolean; isOdd(): boolean; isZero(): boolean; cmp(b: BN): -1 | 0 | 1; ucmp(b: BN): -1 | 0 | 1; cmpn(b: number): -1 | 0 | 1; lt(b: BN): boolean; ltn(b: number): boolean; lte(b: BN): boolean; lten(b: number): boolean; gt(b: BN): boolean; gtn(b: number): boolean; gte(b: BN): boolean; gten(b: number): boolean; eq(b: BN): boolean; eqn(b: number): boolean; toTwos(width: number): BN; fromTwos(width: number): BN; neg(): BN; ineg(): BN; abs(): BN; iabs(): BN; add(b: BN): BN; iadd(b: BN): BN; addn(b: number): BN; iaddn(b: number): BN; sub(b: BN): BN; isub(b: BN): BN; subn(b: number): BN; isubn(b: number): BN; mul(b: BN): BN; imul(b: BN): BN; muln(b: number): BN; imuln(b: number): BN; sqr(): BN; isqr(): BN; pow(b: BN): BN; div(b: BN): BN; divn(b: number): BN; idivn(b: number): BN; divmod(b: BN, mode?: "div" | "mod", positive?: boolean): { div: BN; mod: BN; }; mod(b: BN): BN; umod(b: BN): BN; modn(b: number): number; modrn(b: number): number; divRound(b: BN): BN; or(b: BN): BN; ior(b: BN): BN; uor(b: BN): BN; iuor(b: BN): BN; and(b: BN): BN; iand(b: BN): BN; uand(b: BN): BN; iuand(b: BN): BN; andln(b: number): BN; xor(b: BN): BN; ixor(b: BN): BN; uxor(b: BN): BN; iuxor(b: BN): BN; setn(b: number, value: boolean | 0 | 1): BN; shln(b: number): BN; ishln(b: number): BN; ushln(b: number): BN; iushln(b: number): BN; shrn(b: number): BN; ishrn(b: number): BN; ushrn(b: number): BN; iushrn(b: number): BN; testn(b: number): boolean; maskn(b: number): BN; imaskn(b: number): BN; bincn(b: number): BN; notn(w: number): BN; inotn(w: number): BN; gcd(b: BN): BN; egcd(b: BN): { a: BN; b: BN; gcd: BN; }; invm(b: BN): BN; toRed(reductionContext: BN.ReductionContext): any; }; norm: (a: Uint8Array) => Uint8Array<ArrayBufferLike>; rand: () => Uint8Array<ArrayBufferLike>; add: (a: Uint8Array, b: Uint8Array) => Uint8Array<ArrayBufferLike>; neg: (a: Uint8Array) => Uint8Array<ArrayBufferLike>; sub: (a: Uint8Array, b: Uint8Array) => Uint8Array<ArrayBufferLike>; mul: (a: Uint8Array, b: Uint8Array) => Uint8Array<ArrayBufferLike>; inv: (a: Uint8Array) => Uint8Array<ArrayBufferLike>; div: (a: Uint8Array, b: Uint8Array) => Uint8Array<ArrayBufferLike>; sqr: (a: Uint8Array) => Uint8Array<ArrayBufferLike>; sqrt: (a: Uint8Array) => Uint8Array<ArrayBufferLike>; pow: (a: Uint8Array, b: number) => Uint8Array<ArrayBufferLike>; equal: (a: Uint8Array, b: Uint8Array) => boolean; }