From 25a3f77c1d6822ea9de7baa99070e9cc5346f349 Mon Sep 17 00:00:00 2001 From: Jordan Millar Date: Tue, 4 Nov 2025 11:03:18 -0400 Subject: [PATCH] Remove eon from AnyVote --- cardano-api/src/Cardano/Api/Compatible/Tx.hs | 37 ++++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/cardano-api/src/Cardano/Api/Compatible/Tx.hs b/cardano-api/src/Cardano/Api/Compatible/Tx.hs index cd6e894652..9aaad1b4d3 100644 --- a/cardano-api/src/Cardano/Api/Compatible/Tx.hs +++ b/cardano-api/src/Cardano/Api/Compatible/Tx.hs @@ -50,8 +50,8 @@ data AnyProtocolUpdate era where data AnyVote era where VotingProcedures - :: ConwayEraOnwards era - -> TxVotingProcedures BuildTx era + :: L.ConwayEraTxBody era + => L.VotingProcedures era -> AnyVote era NoVotes :: AnyVote era @@ -64,7 +64,7 @@ createCompatibleTx -> Lovelace -- ^ Fee -> AnyProtocolUpdate era - -> AnyVote era + -> AnyVote (ShelleyLedgerEra era) -> TxCertificates BuildTx era -> Either ProtocolParametersConversionError (Tx era) createCompatibleTx sbe ins outs txFee' anyProtocolUpdate anyVote txCertificates' = @@ -108,8 +108,8 @@ createCompatibleTx sbe ins outs txFee' anyProtocolUpdate anyVote txCertificates' updateVotingProcedures = case anyVote of NoVotes -> id - VotingProcedures conwayOnwards procedures -> - overwriteVotingProcedures conwayOnwards (convVotingProcedures procedures) + VotingProcedures procedures -> + overwriteVotingProcedures sbe procedures apiScriptWitnesses = [ (ix, AnyScriptWitness witness) @@ -144,16 +144,6 @@ createCompatibleTx sbe ins outs txFee' anyProtocolUpdate anyVote txCertificates' babbageEraOnwardsConstraints beo $ Endo $ L.referenceInputsTxBodyL .~ fromList refInputs - - overwriteVotingProcedures - :: ConwayEraOnwards era - -> L.VotingProcedures (ShelleyLedgerEra era) - -> L.Tx (ShelleyLedgerEra era) - -> L.Tx (ShelleyLedgerEra era) - overwriteVotingProcedures conwayOnwards votingProcedures = - conwayEraOnwardsConstraints conwayOnwards $ - (L.bodyTxL . L.votingProceduresTxBodyL) .~ votingProcedures - indexedTxCerts :: [ ( ScriptWitnessIndex , Exp.Certificate (ShelleyLedgerEra era) @@ -190,6 +180,23 @@ createCompatibleTx sbe ins outs txFee' anyProtocolUpdate anyVote txCertificates' ) ] +overwriteVotingProcedures + :: ShelleyBasedEra era + -> L.VotingProcedures (ShelleyLedgerEra era) + -> L.Tx (ShelleyLedgerEra era) + -> L.Tx (ShelleyLedgerEra era) +overwriteVotingProcedures sbe votingProcedures = + case sbe of + ShelleyBasedEraShelley -> id + ShelleyBasedEraAllegra -> id + ShelleyBasedEraMary -> id + ShelleyBasedEraAlonzo -> id + ShelleyBasedEraBabbage -> id + ShelleyBasedEraConway -> overwrite votingProcedures + ShelleyBasedEraDijkstra -> overwrite votingProcedures + where + overwrite vp = (L.bodyTxL . L.votingProceduresTxBodyL) .~ vp + createCommonTxBody :: HasCallStack => ShelleyBasedEra era