UNPKG

liquidjs-lib

Version:

Client-side Liquid JavaScript library

40 lines (39 loc) 2.38 kB
/// <reference types="node" /> import type { Slip77Interface } from 'slip77'; import type { KeysGenerator, Pset } from './pset'; import type { IssuanceBlindingArgs, OutputBlindingArgs, OwnedInput } from './blinder'; import type { Secp256k1Interface as ZKPInterface } from '../secp256k1-zkp'; export declare class ZKPValidator { private confidential; constructor(zkpLib: ZKPInterface); verifyValueRangeProof(proof: Buffer, valueCommitment: Buffer, assetCommitment: Buffer, script: Buffer): boolean; verifyAssetSurjectionProof(inAssets: Buffer[], inAssetBlinders: Buffer[], outAsset: Buffer, outAssetBlinder: Buffer, proof: Buffer): boolean; verifyBlindValueProof(proof: Buffer, valueCommitment: Buffer, assetCommitment: Buffer): boolean; verifyBlindAssetProof(asset: Buffer, assetCommit: Buffer, proof: Buffer): boolean; } declare type ZKPGeneratorOption = (g: ZKPGenerator) => void; export declare class ZKPGenerator { private zkp; private ownedInputs?; private inBlindingKeys?; private masterBlindingKey?; private opts?; private confidential; constructor(zkp: ZKPInterface, ...options: ZKPGeneratorOption[]); static WithBlindingKeysOfInputs(inBlindingKeys: Buffer[]): ZKPGeneratorOption; static WithMasterBlindingKey(masterKey: Slip77Interface): ZKPGeneratorOption; static WithOwnedInputs(ownedInputs: OwnedInput[]): ZKPGeneratorOption; computeAndAddToScalarOffset(scalar: Buffer, value: string, assetBlinder: Buffer, valueBlinder: Buffer): Buffer; subtractScalars(inputScalar: Buffer, outputScalar: Buffer): Buffer; lastValueCommitment(value: string, asset: Buffer, blinder: Buffer): Buffer; lastBlindValueProof(value: string, valueCommit: Buffer, assetCommit: Buffer, blinder: Buffer): Buffer; lastValueRangeProof(value: string, asset: Buffer, valueCommitment: Buffer, assetCommitment: Buffer, valueBlinder: Buffer, assetBlinder: Buffer, nonce: Buffer, script: Buffer): Buffer; unblindInputs(pset: Pset, inIndexes?: number[]): OwnedInput[]; blindIssuances(pset: Pset, blindingKeysByIndex: Record<number, Buffer>): IssuanceBlindingArgs[]; blindOutputs(pset: Pset, keysGenerator: KeysGenerator, outIndexes?: number[]): OutputBlindingArgs[]; private calculateScalarOffset; private unblindUtxo; private getInputAssetsAndBlinders; private maybeUnblindInUtxos; } export {};