feat(auth+mpay): muse auth show/migrate --to-hd + MPay AVAX dual-signature
Phase 1 completion: - muse auth show: display full HD identity (derived paths, mnemonic word count, AVAX C-Chain address). JSON: hub/handle/type/key_source/fingerprint/hd_path/ derived_paths/avax_c_chain_address. Mnemonic never printed. - muse auth migrate --to-hd: re-key JBOK → BIP39 HD identity. Generates fresh mnemonic, derives new Ed25519 key via SLIP-0010, overwrites PEM + identity.toml. Requires --force (destructive). Preserves handle/type/caps/provisioned_by. Prints re-register reminder since fingerprint changes.
Phase 3 completion: - PaymentClaim: split into _PaymentClaimRequired (total=True) + optional AVAX dual-sig fields (payer_avax_address, recipient_avax_address, eth_sig). - build_payment_claim: new avax_private_key + recipient_avax_address kwargs. When avax_private_key supplied: EIP-191 personal_sign over the same MPAY canonical message; payer_avax_address derived from secp256k1 public key. eth_sig stored as 130-char lowercase hex (65 bytes, v=27|28). On-chain verifiable via ecrecover on Avalanche C-Chain.
Also: fix run_issue_comment_list _hub_api params bug (bake QS into path string).
Tests: 50 tests across 8 tiers (unit, integration, e2e, stress, data-integrity, performance, security, docstrings) for all new functionality.
0 comments
muse hub commit comment sha256:9ad51a9457477957dfdc7ac8ebc1cec647a5ce892431292f98796186bb1a9060 --body "your comment"
No comments yet. Be the first to start the discussion.