UNPKG

micro-eth-signer

Version:

Minimal library for Ethereum transactions, addresses and smart contracts

58 lines 2.02 kB
type Scalar = string | bigint; type Blob = string | string[] | bigint[]; export type SetupData = { g1_lagrange: string[]; g2_monomial: string[]; g1_monomial?: string[]; fk20?: string[]; }; /** * KZG from [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844). * @example * const kzg = new KZG(trustedSetupData); */ export declare class KZG { private readonly POLY_NUM; private readonly G1LB; private readonly G2M; private readonly G1M?; private readonly ROOTS_OF_UNITY_BRP; private readonly ROOTS_CACHE; private readonly fftFr; private readonly fftG1; private readonly polyFr; private readonly FIAT_SHAMIR_PROTOCOL_DOMAIN; private readonly RANDOM_CHALLENGE_KZG_BATCH_DOMAIN; private readonly POLY_NUM_BYTES; private fk20Columns?; constructor(setup: SetupData & { encoding?: 'fast_v1'; }); private parseG1; private parseG1Unchecked; private parseG2; private parseG2Unchecked; private parseBlob; private invSafe; private G1msm; private computeChallenge; private evalPoly; computeProof(blob: Blob, z: bigint | string): [string, string]; verifyProof(commitment: string, z: Scalar, y: Scalar, proof: string): boolean; private getRPowers; private verifyProofBatch; blobToKzgCommitment(blob: Blob): string; computeBlobProof(blob: Blob, commitment: string): string; verifyBlobProof(blob: Blob, commitment: string, proof: string): boolean; verifyBlobProofBatch(blobs: string[], commitments: string[], proofs: string[]): boolean; private Fk20Precomputes; private Fk20Proof; private getCells; computeCells(blob: string): string[]; computeCellsAndProofs(blob: string): [string[], string[]]; private recoverCell; recoverCellsAndProofs(indices: number[], cells: string[]): [string[], string[]]; verifyCellKzgProofBatch(commitments: string[], indices: number[], cells: string[], proofs: string[]): boolean; } export {}; //# sourceMappingURL=kzg.d.ts.map