UNPKG

@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
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>;