mirror of
https://github.com/luxfi/genesis.git
synced 2026-07-27 04:11:41 +00:00
mchain.json carried "mpcThreshold": 7 alongside "mpcParties": 10. A bare threshold number is exactly the ambiguity that produced degree-0 (1-of-n) custody keys elsewhere in this stack: an operator reads it as the number of signers, every threshold library reads it as the polynomial degree, and the two differ by one. Nothing in the VM read these fields, so the genesis blob stated a quorum that had no effect and could not be trusted if it ever did. Replaced by a single "policy" field in operator form — "7-of-10" on mainnet, "3-of-5" on testnet/devnet/localnet, sized so each network's validator count can actually satisfy it. M-Chain decodes it through quorum.Policy and derives the protocol degree from it at one place, so genesis is now the authority on how many custodians must cooperate to move bridged funds. Also renames the vm field from the retired "ThresholdVM" to "mpcvm". Co-authored-by: Hanzo Dev <dev@hanzo.ai>