mirror of
https://github.com/luxwallet/sdk.git
synced 2026-10-30 19:32:37 +00:00
- Q-Chain (buildQchainUnsignedTx): the UNSIGNED tx is a standard EIP-1559 transaction — PQ affects ONLY the signature the keyring attaches (ML-DSA-65 via luxfi/crypto), never the unsigned bytes. So the encoding is viem serializeTransaction at the Q-Chain id; digest = keccak256(bytes) (what the ML-DSA signer signs). 5 tests: round-trip through viem + byte-identity proof vs buildEvmUnsignedTx (the encoding IS canonical EVM). - Z-Chain (buildZchainUnsignedTx): transparent transfer = the verified X-Chain BaseTx wire format (same secp256k1fx/codec family). 4 tests: byte-identity with the KAT-verified buildXvmUnsignedTx (transitive Go-SDK verification) + full structural round-trip decode. Shielded notes scoped as a forward-compatible memo extension. Removed stubs.ts entirely — no todo builders remain. BUILDER_STATUS re-keyed by builder identity (luxX/luxP/luxQ/luxZ) and EVERY entry is 'ready'. 64 tests green. Libs: viem (MIT), @noble/hashes (MIT) — zero copyleft.