This commit enables full wallet recovery from BIP-39 mnemonics by implementing deterministic Dilithium3 key derivation using HKDF-SHA3-256 with domain separation. Changes: - crates/synor-crypto-wasm: Implement deterministic Dilithium keygen - Use HKDF with info="synor:dilithium:v1" for key derivation - Enable pqc_dilithium's crypto_sign_keypair via dilithium_kat cfg flag - Add proper memory zeroization on drop - Add tests for deterministic key generation - apps/web: Update transaction signing for hybrid signatures - Add signTransactionHybrid() for Ed25519 + Dilithium3 signatures - Add createSendTransactionHybrid() for quantum-resistant transactions - Update fee estimation for larger hybrid signature size (~5.5KB/input) - Maintain legacy Ed25519-only functions for backwards compatibility - WASM module: Rebuild with deterministic keygen - Update synor_crypto_bg.wasm with new implementation - Module size reduced to ~470KB (optimized) - Documentation updates: - Update mobile wallet plan: React Native -> Flutter - Add testnet-first approach note - Update explorer frontend progress to 90%
64 lines
4.3 KiB
TypeScript
64 lines
4.3 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
export const memory: WebAssembly.Memory;
|
|
export const decodeAddress: (a: number, b: number) => [number, number, number];
|
|
export const validateAddress: (a: number, b: number) => number;
|
|
export const __wbg_keypair_free: (a: number, b: number) => void;
|
|
export const blake3: (a: number, b: number) => [number, number];
|
|
export const deriveKey: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
export const init: () => void;
|
|
export const keypair_address: (a: number, b: number, c: number) => [number, number, number, number];
|
|
export const keypair_fromMnemonic: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
export const keypair_fromSeed: (a: number, b: number) => [number, number, number];
|
|
export const keypair_new: () => [number, number, number];
|
|
export const keypair_publicKeyBytes: (a: number) => [number, number];
|
|
export const keypair_publicKeyHex: (a: number) => [number, number];
|
|
export const keypair_sign: (a: number, b: number, c: number) => [number, number];
|
|
export const keypair_verify: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
export const sha3_256: (a: number, b: number) => [number, number];
|
|
export const verifyWithPublicKey: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
export const __wbg_dilithiumsigningkey_free: (a: number, b: number) => void;
|
|
export const dilithiumSizes: () => any;
|
|
export const dilithiumVerify: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
export const dilithiumsigningkey_fromSeed: (a: number, b: number) => [number, number, number];
|
|
export const dilithiumsigningkey_new: () => number;
|
|
export const dilithiumsigningkey_publicKey: (a: number) => [number, number];
|
|
export const dilithiumsigningkey_publicKeySize: () => number;
|
|
export const dilithiumsigningkey_secretKey: (a: number) => [number, number];
|
|
export const dilithiumsigningkey_secretKeySize: () => number;
|
|
export const dilithiumsigningkey_sign: (a: number, b: number, c: number) => [number, number];
|
|
export const dilithiumsigningkey_signatureSize: () => number;
|
|
export const dilithiumsigningkey_verify: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
export const __wbg_mnemonic_free: (a: number, b: number) => void;
|
|
export const mnemonic_entropy: (a: number) => [number, number];
|
|
export const mnemonic_fromPhrase: (a: number, b: number) => [number, number, number];
|
|
export const mnemonic_generate: (a: number) => [number, number, number];
|
|
export const mnemonic_phrase: (a: number) => [number, number];
|
|
export const mnemonic_toSeed: (a: number, b: number, c: number) => [number, number];
|
|
export const mnemonic_validate: (a: number, b: number) => number;
|
|
export const mnemonic_wordCount: (a: number) => number;
|
|
export const mnemonic_words: (a: number) => [number, number];
|
|
export const mnemonic_new: (a: number) => [number, number, number];
|
|
export const __wbg_get_params_publicKeyBytes: (a: number) => number;
|
|
export const __wbg_get_params_secretKeyBytes: (a: number) => number;
|
|
export const __wbg_get_params_signBytes: (a: number) => number;
|
|
export const __wbg_keys_free: (a: number, b: number) => void;
|
|
export const __wbg_params_free: (a: number, b: number) => void;
|
|
export const keypair: () => number;
|
|
export const keys_pubkey: (a: number) => [number, number];
|
|
export const keys_secret: (a: number) => [number, number];
|
|
export const keys_sign: (a: number, b: number, c: number) => [number, number];
|
|
export const params_publicKeyBytes: () => number;
|
|
export const params_secretKeyBytes: () => number;
|
|
export const params_signBytes: () => number;
|
|
export const verify: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
export const keys_new: () => number;
|
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
export const __wbindgen_exn_store: (a: number) => void;
|
|
export const __externref_table_alloc: () => number;
|
|
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
export const __externref_table_dealloc: (a: number) => void;
|
|
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
export const __externref_drop_slice: (a: number, b: number) => void;
|
|
export const __wbindgen_start: () => void;
|