refactor(5285): address unsigned builder review feedback
T014: buildLedgerTx now delegates to buildLedgerTxRaw with (Right cs),
removing the duplicate ledger-body construction. The public signature
and output bytes are unchanged; the focused parity spec confirms
mkUnsignedTx and buildLedgerTx still agree byte-for-byte.
T015: drop the local toLedgerCoin alias in
Cardano.Wallet.Shelley.Transaction.Unsigned and import the primitive
Cardano.Wallet.Primitive.Ledger.Convert.toLedgerCoin. toCardanoLovelace
remains in use for ledger Coin conversions in the fee and withdrawal
paths.
T016: add a non-empty assetsToBurn scenario to the ledger
script-witness parity suite, asserting that legacy mkUnsignedTx and
new buildLedgerTx encode the burn into the same ledger MultiAsset
(bodyTxL . mintTxBodyL) and produce equal body CBOR plus script
witnesses. The shared mintBurnFromMintingSources helper now threads
the selection's burn TokenMap instead of dropping it.
Verification:
nix develop --quiet -c cabal test cardano-wallet-unit:unit -O0 -v0 \
--test-options '--match="ledger script-witness parity"'
-> 8 examples, 0 failures (6 prior + new "7. local burn" + property)
rg -n "Cardano.Wallet.Transaction.(Delegation|Voting)" lib/wallet lib/unit
-> no matches
git diff --name-only origin/master...HEAD | rg '^lib/integration/'
-> no matches
Tasks: T014, T015, T016