UNPKG

@nikkolasg/noble-bls12-381

Version:

Noble BLS12-381 pairing-friendly curve. High-security, easily auditable, 0-dep aggregated signatures & pubkey.

25 lines (24 loc) 1.52 kB
import { Fp } from "./fp"; import { Fp2 } from "./fp2"; import { Fp12 } from "./fp12"; import { Point } from "./point"; export declare type Bytes = Uint8Array | string; export declare type Hash = Bytes; export declare const PRIME_ORDER = 52435875175126190479447740508185965837690552500527637822603658699938581184513n; export declare const P = 4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787n; export declare const DOMAIN_LENGTH = 8; export declare const P_ORDER_X_12_DIVIDED: bigint; export declare const B: Fp; export declare const B2: Fp2; export declare const B12: Fp12; export declare const Z1: Point<bigint>; export declare const Z2: Point<import("./fp2").BigintTuple>; export declare function toBytesBE(num: bigint | number | string, padding?: number): Uint8Array; export declare function toBigInt(num: string | Uint8Array | bigint | number): bigint; export declare function getXCoordinateG2(hash: Hash, domain: Bytes): Promise<Fp2>; export declare function getXCoordinateG1(hash: Hash, domain: Bytes): Promise<Fp>; export declare function publicKeyFromG1(point: Point<bigint>): Uint8Array; export declare function publicKeyToG1(publicKey: Bytes): Point<bigint>; export declare function signatureFromG2(point: Point<[bigint, bigint]>): Uint8Array; export declare function signatureToG2(signature: Bytes): Point<import("./fp2").BigintTuple>; export declare function hashToG2(hash: Hash, domain: Bytes): Promise<Point<import("./fp2").BigintTuple>>;