@lit-protocol/wasm
Version:
This package provides high-performance cryptographic operations for the Lit Protocol by implementing core utilities in Rust and compiling them to WebAssembly. It enables efficient cross-platform execution of critical cryptographic functions while maintain
94 lines (93 loc) • 3.88 kB
TypeScript
export function getModule(): Uint8Array;
/**
* Perform all three functions at once
* @param {EcdsaVariant} variant
* @param {Uint8Array} pre_signature
* @param {Uint8Array[]} signature_shares
* @param {Uint8Array} message_hash
* @param {Uint8Array} id
* @param {Uint8Array[]} public_keys
* @returns {[Uint8Array, Uint8Array, number]}
*/
export function ecdsaCombineAndVerifyWithDerivedKey(variant: EcdsaVariant, pre_signature: Uint8Array, signature_shares: Uint8Array[], message_hash: Uint8Array, id: Uint8Array, public_keys: Uint8Array[]): [Uint8Array, Uint8Array, number];
/**
* Perform combine and verify with a specified public key
* @param {EcdsaVariant} variant
* @param {Uint8Array} pre_signature
* @param {Uint8Array[]} signature_shares
* @param {Uint8Array} message_hash
* @param {Uint8Array} public_key
* @returns {[Uint8Array, Uint8Array, number]}
*/
export function ecdsaCombineAndVerify(variant: EcdsaVariant, pre_signature: Uint8Array, signature_shares: Uint8Array[], message_hash: Uint8Array, public_key: Uint8Array): [Uint8Array, Uint8Array, number];
/**
* Combine ECDSA signatures shares
* @param {EcdsaVariant} variant
* @param {Uint8Array} presignature
* @param {Uint8Array[]} signature_shares
* @returns {[Uint8Array, Uint8Array, number]}
*/
export function ecdsaCombine(variant: EcdsaVariant, presignature: Uint8Array, signature_shares: Uint8Array[]): [Uint8Array, Uint8Array, number];
/**
* @param {EcdsaVariant} variant
* @param {Uint8Array} message_hash
* @param {Uint8Array} public_key
* @param {[Uint8Array, Uint8Array, number]} signature
*/
export function ecdsaVerify(variant: EcdsaVariant, message_hash: Uint8Array, public_key: Uint8Array, signature: [Uint8Array, Uint8Array, number]): void;
/**
* @param {EcdsaVariant} variant
* @param {Uint8Array} id
* @param {Uint8Array[]} public_keys
* @returns {Uint8Array}
*/
export function ecdsaDeriveKey(variant: EcdsaVariant, id: Uint8Array, public_keys: Uint8Array[]): Uint8Array;
/**
* Gets the vcek url for the given attestation report. You can fetch this certificate yourself, and pass it in to verify_attestation_report
* @param {Uint8Array} attestation_report
* @returns {string}
*/
export function sevSnpGetVcekUrl(attestation_report: Uint8Array): string;
/**
* @param {Uint8Array} attestation_report
* @param {Record<string, Uint8Array>} attestation_data
* @param {Uint8Array[]} signatures
* @param {Uint8Array} challenge
* @param {Uint8Array} vcek_certificate
*/
export function sevSnpVerify(attestation_report: Uint8Array, attestation_data: Record<string, Uint8Array>, signatures: Uint8Array[], challenge: Uint8Array, vcek_certificate: Uint8Array): void;
/**
* @returns {string}
*/
export function greet(): string;
/**
* @param {BlsVariant} variant
* @param {Uint8Array[]} signature_shares
* @returns {Uint8Array}
*/
export function blsCombine(variant: BlsVariant, signature_shares: Uint8Array[]): Uint8Array;
/**
* @param {BlsVariant} variant
* @param {Uint8Array} public_key
* @param {Uint8Array} message
* @param {Uint8Array} signature
*/
export function blsVerify(variant: BlsVariant, public_key: Uint8Array, message: Uint8Array, signature: Uint8Array): void;
/**
* @param {BlsVariant} variant
* @param {Uint8Array} encryption_key
* @param {Uint8Array} message
* @param {Uint8Array} identity
* @returns {Uint8Array}
*/
export function blsEncrypt(variant: BlsVariant, encryption_key: Uint8Array, message: Uint8Array, identity: Uint8Array): Uint8Array;
/**
* @param {BlsVariant} variant
* @param {Uint8Array} ciphertext
* @param {Uint8Array} decryption_key
* @returns {Uint8Array}
*/
export function blsDecrypt(variant: BlsVariant, ciphertext: Uint8Array, decryption_key: Uint8Array): Uint8Array;
export default __wbg_init;
export function initSync(module: any): any;
declare function __wbg_init(module_or_path: any): Promise<any>;