{"content":"[release-review 2/9] fix: verify the bot-browser NFT buy amount against the live chain ask before signing.\n\nReview P0: the buy confirmation card displayed the page-supplied priceSats, but the wallet paid whatever the sell contract actually locked - with no outpoint supplied the signer even resolved the sell utxo itself and paid ITS ask. A page could show 1000 sats while the wallet pays a different price; with an outpoint, a price mismatch only surfaced at broadcast, after the stage-1 fee was burned.\n\nFix: at confirm time (after the authorization is consumed, before any signature) the bridge resolves the live sell utxo from the same open-api-mvc endpoint meta-contract's NftManager consults (new mvcNftService.getMvcNftChainSellUtxo), then fails closed: no resolver -> unsupported_method; lookup failure or no live order -> refused; supplied outpoint no longer matching -> sell_utxo_changed; chain ask differing from the confirmed amount -> price_changed. The signer is then called with the VERIFIED outpoint and chain price pinned, so it cannot re-resolve a different utxo between check and sign.\n\nTests: 7 new gate tests. test:nft 16/16, test:mrc721 57/57, tsc green.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}