MetaFlux 0.8.11 — A liquidation that fills completely now settles completely, and perpetual markets open to everyone
This release is live. MetaFlux 0.8.11 swapped in at block height 16,990,000 on chain 114514, and all five validators are running it. It carries one fix on the path that settles a liquidation, and it opens perpetual market deployment to everyone.
A liquidation that filled completely could leave its shortfall behind — When an account is force-closed, the position is sold into the book and whatever the sale does not cover is settled by the insurance fund and, past that, by the reserve. That settlement only ever ran for accounts whose close did NOT finish: a position that could not be fully sold left a remainder behind, and the remainder is what put the account on the settlement list. An account whose close filled completely left no remainder, so it never reached the list — and if the sale price was bad enough to leave it negative anyway, that shortfall simply sat on the account. Nothing covered it and nothing reported it. A fully-filled close that ends negative is now settled in the same block, exactly as a partial one already was. This changes settlement behaviour on all five live markets.
Anyone can deploy a perpetual market — Perpetual deployment now has a public API, and it is open rather than permissioned. Nine actions cover the lifecycle: creating a market, funding and withdrawing its backstop, setting its oracle, and retiring it. A deployer stakes a backstop against their own market, and that market's bad debt is settled from it — never from another market's insurance and never from the shared liquidity vault. That isolation is deliberate: a market you did not deploy cannot cost you.
Two limits exist on deployment and both are currently off — A cap on deployments per epoch and a floor on the deployment fee are both enforced, and both are set to zero, which means unlimited and no floor. They are chain-governance values and can become non-zero without a client release. They are documented now, while they cost you nothing, rather than at the moment they start refusing your call.
A token that cannot represent a fraction is refused at registration — A registration declaring zero decimal places was accepted and produced a market whose smallest tradable unit was one whole token. New registrations are refused; a value already recorded is untouched.
Reads added — Governance state now reports whether the shared liquidity vault is acting as a first backstop, which vault it is, and the ceiling on how much of its equity may be committed. The staking table serves the columns it was missing. Both are read-only additions; nothing that already worked changes shape.
One thing this release does not fix — MTF still cannot be withdrawn through the bridge. Only USDC is held in custody, so a request for anything else is refused cleanly rather than leaving a balance in limbo. That is unchanged from 0.8.10, and it stays a custody decision rather than a code one.