refactor: migrate all TxMetadata to wallet-owned types end-to-end
Home /
Cardano Foundation /
cardano-wallet
Apr 16, 9-10 PM (0)
Apr 16, 10-11 PM (0)
Apr 16, 11-12 AM (0)
Apr 17, 12-1 AM (0)
Apr 17, 1-2 AM (0)
Apr 17, 2-3 AM (0)
Apr 17, 3-4 AM (0)
Apr 17, 4-5 AM (0)
Apr 17, 5-6 AM (0)
Apr 17, 6-7 AM (0)
Apr 17, 7-8 AM (38)
Apr 17, 8-9 AM (0)
Apr 17, 9-10 AM (4)
Apr 17, 10-11 AM (0)
Apr 17, 11-12 PM (9)
Apr 17, 12-1 PM (0)
Apr 17, 1-2 PM (1)
Apr 17, 2-3 PM (1)
Apr 17, 3-4 PM (0)
Apr 17, 4-5 PM (1)
Apr 17, 5-6 PM (0)
Apr 17, 6-7 PM (0)
Apr 17, 7-8 PM (0)
Apr 17, 8-9 PM (0)
Apr 17, 9-10 PM (0)
Apr 17, 10-11 PM (0)
Apr 17, 11-12 AM (0)
Apr 18, 12-1 AM (0)
Apr 18, 1-2 AM (0)
Apr 18, 2-3 AM (0)
Apr 18, 3-4 AM (0)
Apr 18, 4-5 AM (0)
Apr 18, 5-6 AM (0)
Apr 18, 6-7 AM (0)
Apr 18, 7-8 AM (0)
Apr 18, 8-9 AM (0)
Apr 18, 9-10 AM (0)
Apr 18, 10-11 AM (0)
Apr 18, 11-12 PM (0)
Apr 18, 12-1 PM (0)
Apr 18, 1-2 PM (0)
Apr 18, 2-3 PM (0)
Apr 18, 3-4 PM (0)
Apr 18, 4-5 PM (0)
Apr 18, 5-6 PM (0)
Apr 18, 6-7 PM (0)
Apr 18, 7-8 PM (0)
Apr 18, 8-9 PM (0)
Apr 18, 9-10 PM (0)
Apr 18, 10-11 PM (0)
Apr 18, 11-12 AM (0)
Apr 19, 12-1 AM (0)
Apr 19, 1-2 AM (0)
Apr 19, 2-3 AM (0)
Apr 19, 3-4 AM (0)
Apr 19, 4-5 AM (0)
Apr 19, 5-6 AM (0)
Apr 19, 6-7 AM (0)
Apr 19, 7-8 AM (0)
Apr 19, 8-9 AM (0)
Apr 19, 9-10 AM (0)
Apr 19, 10-11 AM (0)
Apr 19, 11-12 PM (0)
Apr 19, 12-1 PM (0)
Apr 19, 1-2 PM (0)
Apr 19, 2-3 PM (0)
Apr 19, 3-4 PM (0)
Apr 19, 4-5 PM (0)
Apr 19, 5-6 PM (0)
Apr 19, 6-7 PM (0)
Apr 19, 7-8 PM (0)
Apr 19, 8-9 PM (0)
Apr 19, 9-10 PM (0)
Apr 19, 10-11 PM (0)
Apr 19, 11-12 AM (0)
Apr 20, 12-1 AM (0)
Apr 20, 1-2 AM (0)
Apr 20, 2-3 AM (0)
Apr 20, 3-4 AM (0)
Apr 20, 4-5 AM (0)
Apr 20, 5-6 AM (0)
Apr 20, 6-7 AM (0)
Apr 20, 7-8 AM (0)
Apr 20, 8-9 AM (2)
Apr 20, 9-10 AM (1)
Apr 20, 10-11 AM (0)
Apr 20, 11-12 PM (0)
Apr 20, 12-1 PM (0)
Apr 20, 1-2 PM (0)
Apr 20, 2-3 PM (4)
Apr 20, 3-4 PM (0)
Apr 20, 4-5 PM (1)
Apr 20, 5-6 PM (4)
Apr 20, 6-7 PM (0)
Apr 20, 7-8 PM (0)
Apr 20, 8-9 PM (0)
Apr 20, 9-10 PM (0)
Apr 20, 10-11 PM (0)
Apr 20, 11-12 AM (0)
Apr 21, 12-1 AM (0)
Apr 21, 1-2 AM (0)
Apr 21, 2-3 AM (0)
Apr 21, 3-4 AM (0)
Apr 21, 4-5 AM (0)
Apr 21, 5-6 AM (0)
Apr 21, 6-7 AM (0)
Apr 21, 7-8 AM (0)
Apr 21, 8-9 AM (0)
Apr 21, 9-10 AM (5)
Apr 21, 10-11 AM (9)
Apr 21, 11-12 PM (5)
Apr 21, 12-1 PM (0)
Apr 21, 1-2 PM (5)
Apr 21, 2-3 PM (0)
Apr 21, 3-4 PM (5)
Apr 21, 4-5 PM (0)
Apr 21, 5-6 PM (0)
Apr 21, 6-7 PM (0)
Apr 21, 7-8 PM (0)
Apr 21, 8-9 PM (0)
Apr 21, 9-10 PM (0)
Apr 21, 10-11 PM (0)
Apr 21, 11-12 AM (0)
Apr 22, 12-1 AM (0)
Apr 22, 1-2 AM (0)
Apr 22, 2-3 AM (0)
Apr 22, 3-4 AM (0)
Apr 22, 4-5 AM (0)
Apr 22, 5-6 AM (0)
Apr 22, 6-7 AM (0)
Apr 22, 7-8 AM (0)
Apr 22, 8-9 AM (0)
Apr 22, 9-10 AM (0)
Apr 22, 10-11 AM (0)
Apr 22, 11-12 PM (0)
Apr 22, 12-1 PM (0)
Apr 22, 1-2 PM (0)
Apr 22, 2-3 PM (0)
Apr 22, 3-4 PM (0)
Apr 22, 4-5 PM (0)
Apr 22, 5-6 PM (0)
Apr 22, 6-7 PM (0)
Apr 22, 7-8 PM (0)
Apr 22, 8-9 PM (0)
Apr 22, 9-10 PM (0)
Apr 22, 10-11 PM (0)
Apr 22, 11-12 AM (0)
Apr 23, 12-1 AM (0)
Apr 23, 1-2 AM (0)
Apr 23, 2-3 AM (0)
Apr 23, 3-4 AM (4)
Apr 23, 4-5 AM (0)
Apr 23, 5-6 AM (0)
Apr 23, 6-7 AM (0)
Apr 23, 7-8 AM (0)
Apr 23, 8-9 AM (3)
Apr 23, 9-10 AM (1)
Apr 23, 10-11 AM (0)
Apr 23, 11-12 PM (0)
Apr 23, 12-1 PM (19)
Apr 23, 1-2 PM (5)
Apr 23, 2-3 PM (14)
Apr 23, 3-4 PM (0)
Apr 23, 4-5 PM (0)
Apr 23, 5-6 PM (0)
Apr 23, 6-7 PM (0)
Apr 23, 7-8 PM (0)
Apr 23, 8-9 PM (0)
Apr 23, 9-10 PM (0)
141 commits this week
Apr 16, 2026
-
Apr 23, 2026
refactor: replace StakeAddress with wallet-owned RewardAccount
refactor: use constructUnsignedTxLedger in balanceTx paths
refactor: replace AnyCardanoEra with Read.EraValue in NetworkLayer
fix: build delegation and voting certs in balanceTx paths
feat: wire ledger-native witnesses into TransactionLedgerSpec
Replace mkUnsignedTx + mkByronWitness/mkShelleyWitness with mkLedgerTx + mkByronWitnessLedger/mkShelleyWitnessLedger in the duplicated test module. All 8 golden hex string tests pass — ledger-native construction produces byte-identical CBOR to the cardano-api construction.
feat: complete Transaction.Ledger exports
test: duplicate TransactionSpec for Transaction.Ledger
feat: add ledger-native certificate construction
feat: add Transaction.Ledger — ledger-native tx construction
Alternative to Transaction.hs that builds transactions using mkLedgerTx (ledger lenses) instead of Cardano.Api.TxBodyContent. Implements mkTransactionLedger and constructUnsignedTxLedger with key-witnessed withdrawals and certificates. Minting, script witnesses, and reference scripts are TODO. Remaining cardano-api dependencies (with TODOs): - signTransaction takes Cardano.NetworkId - sealWriteTx roundtrips through cardano-api - certificateFromDelegationAction returns Cardano.Certificate
feat: add ledger-native tx body builder (Transaction.Build)
feat: add wallet-owned TxMetadata types
refactor: replace Cardano.Api.NetworkId with wallet-owned NetworkId
refactor: rewrite SealedTx internals to use EraValue Read.Tx
Replace InAnyCardanoEra Cardano.Tx with EraValue Read.Tx as the decoded transaction field. The CBOR bytes remain the canonical representation. Temporary cardano-api reconstruction functions kept for callers that haven't migrated yet (cardanoTxIdeallyNoLaterThan, getSealedTxBody, getSealedTxWitnesses). These deserialize from bytes on demand. fromSealedTx in Sealed.hs becomes trivial: just reads the field.
refactor: replace StakeAddress with wallet-owned RewardAccount
refactor: migrate all TxMetadata to wallet-owned types end-to-end
fix: build delegation and voting certs in balanceTx paths
refactor: use constructUnsignedTxLedger in balanceTx paths
refactor: replace AnyCardanoEra with Read.EraValue in NetworkLayer
refactor: migrate all TxMetadata to wallet-owned types end-to-end
fix: build delegation and voting certs in balanceTx paths
refactor: replace StakeAddress with wallet-owned RewardAccount
refactor: replace AnyCardanoEra with Read.EraValue in NetworkLayer
refactor: use constructUnsignedTxLedger in balanceTx paths
feat: add ledger-native certificate construction