diff --git a/lib/wallet/src/Cardano/Wallet/Primitive/Types/Tx/SealedTx.hs b/lib/wallet/src/Cardano/Wallet/Primitive/Types/Tx/SealedTx.hs index 041418e56aa..c199760a24f 100644 --- a/lib/wallet/src/Cardano/Wallet/Primitive/Types/Tx/SealedTx.hs +++ b/lib/wallet/src/Cardano/Wallet/Primitive/Types/Tx/SealedTx.hs @@ -251,6 +251,7 @@ withinEra = (>=) `on` numberEra MaryEra -> 4 AlonzoEra -> 5 BabbageEra -> 6 + ConwayEra -> 7 -- | Deserialise a transaction to construct a 'SealedTx'. sealedTxFromBytes :: ByteString -> Either DecoderError SealedTx diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/CollateralInputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/CollateralInputs.hs index 6edcbfddacd..0ced3ae9ec3 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/CollateralInputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/CollateralInputs.hs @@ -25,6 +25,7 @@ getCollateralInputs = EraFun , maryFun = \_ -> K [] , alonzoFun = mkShelleyTxCollateralInputsIns , babbageFun = mkShelleyTxCollateralInputsIns + , conwayFun = mkShelleyTxCollateralInputsIns } mkShelleyTxCollateralInputsIns diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ExtraSigs.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ExtraSigs.hs index a50d2523379..cd4331f7ae7 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ExtraSigs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ExtraSigs.hs @@ -44,6 +44,7 @@ extraSigs = EraFun , maryFun = noExtraSigs , alonzoFun = yesExtraSigs , babbageFun = yesExtraSigs + , conwayFun = yesExtraSigs } where noExtraSigs = const $ K [] diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Fee.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Fee.hs index 4ea0b8a0419..085bcd52f63 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Fee.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Fee.hs @@ -27,6 +27,7 @@ getFee = EraFun , maryFun = mkShelleyTxFee , alonzoFun = mkShelleyTxFee , babbageFun = mkShelleyTxFee + , conwayFun = mkShelleyTxFee } mkShelleyTxFee :: (FeeType era ~ Coin) diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Inputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Inputs.hs index 10136253dc7..5768e1dc296 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Inputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Inputs.hs @@ -39,6 +39,7 @@ getInputs = EraFun , maryFun = mkShelleyTxInputsIns , alonzoFun = mkShelleyTxInputsIns , babbageFun = mkShelleyTxInputsIns + , conwayFun = mkShelleyTxInputsIns } fromShelleyTxIns :: Foldable t => (t (SH.TxIn crypto)) -> K [W.TxIn] b diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Integrity.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Integrity.hs index 2b4a4780d4e..e6dd20f3b94 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Integrity.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Integrity.hs @@ -44,6 +44,7 @@ integrity = EraFun , maryFun = noIntegrity , alonzoFun = yesIntegrity , babbageFun = yesIntegrity + , conwayFun = yesIntegrity } where noIntegrity = const $ K Nothing diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Metadata.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Metadata.hs index 9abeeb6f9a9..5cb5aba54fd 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Metadata.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Metadata.hs @@ -31,7 +31,7 @@ import Cardano.Wallet.Read.Eras import Cardano.Wallet.Read.Tx.Metadata ( Metadata (..) ) import Ouroboros.Consensus.Shelley.Eras - ( AlonzoEra, BabbageEra, StandardCrypto ) + ( AlonzoEra, BabbageEra, ConwayEra, StandardCrypto ) import qualified Cardano.Api.Shelley as Cardano import qualified Cardano.Api.Shelley as CardanoAPI @@ -48,6 +48,7 @@ getMetadata = EraFun , maryFun = yesMetadata fromMaryMetadata , alonzoFun = yesMetadata fromAlonzoMetadata , babbageFun = yesMetadata fromBabbageMetadata + , conwayFun = yesMetadata fromConwayMetadata } where noMetadatas _ = K Nothing @@ -77,3 +78,7 @@ fromAlonzoMetadata (AL.AlonzoAuxiliaryData blob _scripts) fromBabbageMetadata :: AuxiliaryData (BabbageEra StandardCrypto) -> W.TxMetadata fromBabbageMetadata (AL.AlonzoAuxiliaryData blob _scripts) = fromShelleyMetadata $ SL.Metadata blob + +fromConwayMetadata :: AuxiliaryData (ConwayEra StandardCrypto) -> W.TxMetadata +fromConwayMetadata (AL.AlonzoAuxiliaryData blob _scripts) + = fromShelleyMetadata $ SL.Metadata blob diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Outputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Outputs.hs index 1cf0c577c54..f26d295a3bb 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Outputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/Outputs.hs @@ -37,6 +37,7 @@ import Ouroboros.Consensus.Shelley.Eras ( StandardAllegra , StandardAlonzo , StandardBabbage + , StandardConway , StandardMary , StandardShelley ) @@ -66,7 +67,8 @@ getOutputs = EraFun , allegraFun = \(Outputs os) -> K . fmap fromAllegraTxOut $ toList os , maryFun = \(Outputs os) -> K . fmap fromMaryTxOut $ toList os , alonzoFun = \(Outputs os) -> K . fmap fromAlonzoTxOut $ toList os - , babbageFun = \(Outputs os) -> K . fmap (fst . fromBabbageTxOut) $ toList os + , babbageFun = \(Outputs os) -> K . fmap fromBabbageTxOut $ toList os + , conwayFun = \(Outputs os) -> K . fmap fromConwayTxOut $ toList os } fromShelleyAddress :: SL.Addr crypto -> W.Address @@ -105,6 +107,13 @@ fromBabbageTxOut (Babbage.TxOut addr value _datum refScript) = SNothing -> Nothing ) +fromConwayTxOut + :: Babbage.BabbageTxOut StandardConway + -> W.TxOut +fromConwayTxOut (Babbage.BabbageTxOut addr value _datum _refScript) = + W.TxOut (fromShelleyAddress addr) $ + fromCardanoValue $ Cardano.fromMaryValue value + -- Lovelace to coin. Quantities from ledger should always fit in Word64. fromCardanoLovelace :: HasCallStack => Cardano.Lovelace -> W.Coin fromCardanoLovelace = diff --git a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ScriptValidity.hs b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ScriptValidity.hs index 5226f261dfb..c0ed4925b34 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ScriptValidity.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Primitive/Tx/Features/ScriptValidity.hs @@ -32,6 +32,7 @@ getScriptValidity = EraFun , maryFun = noScriptValidity , alonzoFun = yesScriptValidity , babbageFun = yesScriptValidity + , conwayFun = yesScriptValidity } where noScriptValidity _ = K Nothing diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Certificates.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Certificates.hs index fbc94ba3af4..9c227f02b79 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Certificates.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Certificates.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.Certificates import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( bodyTxL ) import Cardano.Ledger.Crypto @@ -46,6 +46,7 @@ type family CertificatesType era where CertificatesType MaryEra = StrictSeq (DCert StandardCrypto) CertificatesType AlonzoEra = StrictSeq (DCert StandardCrypto) CertificatesType BabbageEra = StrictSeq (DCert StandardCrypto) + CertificatesType ConwayEra = StrictSeq (DCert StandardCrypto) newtype Certificates era = Certificates (CertificatesType era) @@ -66,4 +67,6 @@ getEraCertificates = EraFun onTx $ \tx -> Certificates $ tx ^. bodyTxL . certsTxBodyL , babbageFun = onTx $ \tx -> Certificates $ tx ^. bodyTxL . certsTxBodyL + , conwayFun = + onTx $ \tx -> Certificates $ tx ^. bodyTxL . certsTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/CollateralInputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/CollateralInputs.hs index 29dd5c4431d..b93e00bead1 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/CollateralInputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/CollateralInputs.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.CollateralInputs import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Babbage.TxBody ( collateralInputsTxBodyL ) import Cardano.Ledger.Core @@ -42,6 +42,7 @@ import Data.Set import qualified Cardano.Ledger.Alonzo as AL import qualified Cardano.Ledger.Alonzo.Tx as AL import qualified Cardano.Ledger.Babbage as Bab +import qualified Cardano.Ledger.Conway as Conway import qualified Cardano.Ledger.Shelley.API as SH type family CollateralInputsType era where @@ -51,6 +52,7 @@ type family CollateralInputsType era where CollateralInputsType MaryEra = () CollateralInputsType AlonzoEra = Set (SH.TxIn StandardCrypto) CollateralInputsType BabbageEra = Set (SH.TxIn StandardCrypto) + CollateralInputsType ConwayEra = Set (SH.TxIn StandardCrypto) newtype CollateralInputs era = CollateralInputs (CollateralInputsType era) @@ -71,6 +73,8 @@ getEraCollateralInputs = EraFun onTx $ \(AL.AlonzoTx b _ _ _) -> getAlonzoCollateralInputs b , babbageFun = onTx $ \(AL.AlonzoTx b _ _ _) -> getBabbageCollateralInputs b + , conwayFun = + onTx $ \(AL.AlonzoTx b _ _ _) -> getConwayCollateralInputs b } getAlonzoCollateralInputs @@ -84,3 +88,9 @@ getBabbageCollateralInputs -> CollateralInputs BabbageEra getBabbageCollateralInputs txBody = CollateralInputs (txBody ^. collateralInputsTxBodyL) + +getConwayCollateralInputs + :: TxBody (Conway.ConwayEra StandardCrypto) + -> CollateralInputs ConwayEra +getConwayCollateralInputs txBody = + CollateralInputs (txBody ^. collateralInputsTxBodyL) diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/ExtraSigs.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/ExtraSigs.hs index a34fe822294..0c198358524 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/ExtraSigs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/ExtraSigs.hs @@ -16,7 +16,7 @@ module Cardano.Wallet.Read.Tx.ExtraSigs where import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Alonzo.TxBody ( reqSignerHashesTxBodyL ) import Cardano.Ledger.Core @@ -43,6 +43,7 @@ type family ExtraSigsType era where ExtraSigsType MaryEra = () ExtraSigsType AlonzoEra = Set (KeyHash 'Witness StandardCrypto) ExtraSigsType BabbageEra = Set (KeyHash 'Witness StandardCrypto) + ExtraSigsType ConwayEra = Set (KeyHash 'Witness StandardCrypto) newtype ExtraSigs era = ExtraSigs (ExtraSigsType era) @@ -60,4 +61,6 @@ getEraExtraSigs $ tx ^. bodyTxL . reqSignerHashesTxBodyL , babbageFun = onTx $ \tx -> ExtraSigs $ tx ^. bodyTxL . reqSignerHashesTxBodyL + , conwayFun = onTx $ \tx -> ExtraSigs + $ tx ^. bodyTxL . reqSignerHashesTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Fee.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Fee.hs index 1d97ffdadcf..aafc0269f68 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Fee.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Fee.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.Fee import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Coin ( Coin ) import Cardano.Ledger.Core @@ -42,6 +42,7 @@ type family FeeType era where FeeType MaryEra = Coin FeeType AlonzoEra = Coin FeeType BabbageEra = Coin + FeeType ConwayEra = Coin newtype Fee era = Fee (FeeType era) @@ -57,4 +58,5 @@ getEraFee , maryFun = onTx $ \tx -> Fee $ tx ^. bodyTxL . feeTxBodyL , alonzoFun = onTx $ \tx -> Fee $ tx ^. bodyTxL . feeTxBodyL , babbageFun = onTx $ \tx -> Fee $ tx ^. bodyTxL . feeTxBodyL + , conwayFun = onTx $ \tx -> Fee $ tx ^. bodyTxL . feeTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Hash.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Hash.hs index f26a51e1e49..f07fa098d32 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Hash.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Hash.hs @@ -55,6 +55,7 @@ getEraTxHash = EraFun , maryFun = onTx $ \tx -> K . fromShelleyTxId $ txid (tx ^. bodyTxL) , alonzoFun = onTx $ \tx -> K . fromShelleyTxId $ txid (tx ^. bodyTxL) , babbageFun = onTx $ \tx -> K . fromShelleyTxId $ txid (tx ^. bodyTxL) + , conwayFun = onTx $ \tx -> K . fromShelleyTxId $ txid (tx ^. bodyTxL) } byronTxHash :: ATxAux a -> Crypto.ByteString diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Inputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Inputs.hs index 2c074ab817a..8e42a12f0c5 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Inputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Inputs.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.Inputs import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( bodyTxL, inputsTxBodyL ) import Cardano.Ledger.Crypto @@ -49,6 +49,7 @@ type family InputsType era where InputsType MaryEra = Set (SH.TxIn StandardCrypto) InputsType AlonzoEra = Set (SH.TxIn StandardCrypto) InputsType BabbageEra = Set (SH.TxIn StandardCrypto) + InputsType ConwayEra = Set (SH.TxIn StandardCrypto) newtype Inputs era = Inputs (InputsType era) @@ -64,4 +65,5 @@ getEraInputs , maryFun = onTx $ \tx -> Inputs (tx ^. bodyTxL . inputsTxBodyL) , alonzoFun = onTx $ \tx -> Inputs (tx ^. bodyTxL . inputsTxBodyL) , babbageFun = onTx $ \tx -> Inputs (tx ^. bodyTxL . inputsTxBodyL) + , conwayFun = onTx $ \tx -> Inputs (tx ^. bodyTxL . inputsTxBodyL) } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Integrity.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Integrity.hs index e2f1548e2a2..df637e987fe 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Integrity.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Integrity.hs @@ -18,7 +18,7 @@ module Cardano.Wallet.Read.Tx.Integrity import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Alonzo.Tx ( ScriptIntegrityHash ) import Cardano.Ledger.Alonzo.TxBody @@ -45,6 +45,7 @@ type family IntegrityType era where IntegrityType MaryEra = () IntegrityType AlonzoEra = StrictMaybe (ScriptIntegrityHash StandardCrypto) IntegrityType BabbageEra = StrictMaybe (ScriptIntegrityHash StandardCrypto) + IntegrityType ConwayEra = StrictMaybe (ScriptIntegrityHash StandardCrypto) newtype Integrity era = Integrity (IntegrityType era) @@ -62,4 +63,6 @@ getEraIntegrity $ tx ^. bodyTxL . scriptIntegrityHashTxBodyL , babbageFun = onTx $ \tx -> Integrity $ tx ^. bodyTxL . scriptIntegrityHashTxBodyL + , conwayFun = onTx $ \tx -> Integrity + $ tx ^. bodyTxL . scriptIntegrityHashTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Metadata.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Metadata.hs index abd27ebc287..16e3cf49ecf 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Metadata.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Metadata.hs @@ -20,7 +20,7 @@ module Cardano.Wallet.Read.Tx.Metadata import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Wallet.Read.Eras ( EraFun (..) ) import Control.Lens @@ -38,6 +38,7 @@ import Ouroboros.Consensus.Shelley.Eras ( StandardAllegra , StandardAlonzo , StandardBabbage + , StandardConway , StandardMary , StandardShelley ) @@ -49,6 +50,7 @@ type family MetadataType era where MetadataType MaryEra = StrictMaybe (AuxiliaryData StandardMary) MetadataType AlonzoEra = StrictMaybe (AuxiliaryData StandardAlonzo) MetadataType BabbageEra = StrictMaybe (AuxiliaryData StandardBabbage) + MetadataType ConwayEra = StrictMaybe (AuxiliaryData StandardConway) newtype Metadata era = Metadata (MetadataType era) @@ -63,6 +65,7 @@ getEraMetadata = EraFun , maryFun = onTx $ \tx -> Metadata (tx ^. auxDataTxL) , alonzoFun = onTx $ \tx -> Metadata (tx ^. auxDataTxL) , babbageFun = onTx $ \tx -> Metadata (tx ^. auxDataTxL) + , conwayFun = onTx $ \tx -> Metadata (tx ^. auxDataTxL) } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Mint.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Mint.hs index ec23dfe6932..885dea7723c 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Mint.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Mint.hs @@ -20,7 +20,7 @@ module Cardano.Wallet.Read.Tx.Mint import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Alonzo.TxBody ( mintTxBodyL ) import Cardano.Ledger.Core @@ -46,6 +46,7 @@ type family MintType era where MintType MaryEra = Mary.MaryValue StandardCrypto MintType AlonzoEra = Mary.MaryValue StandardCrypto MintType BabbageEra = Mary.MaryValue StandardCrypto + MintType ConwayEra = Mary.MaryValue StandardCrypto newtype Mint era = Mint (MintType era) @@ -60,4 +61,5 @@ getEraMint = EraFun , maryFun = onTx $ \tx -> Mint $ tx ^. bodyTxL . mintTxBodyL , alonzoFun = onTx $ \tx -> Mint $ tx ^. bodyTxL . mintTxBodyL , babbageFun = onTx $ \tx -> Mint $ tx ^. bodyTxL . mintTxBodyL + , conwayFun = onTx $ \tx -> Mint $ tx ^. bodyTxL . mintTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Outputs.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Outputs.hs index d9a8514f387..d2fcafc1f4b 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Outputs.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Outputs.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.Outputs import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( bodyTxL, outputsTxBodyL ) import Cardano.Ledger.Crypto @@ -42,6 +42,7 @@ import Data.Sequence.Strict import qualified Cardano.Chain.UTxO as BY import qualified Cardano.Ledger.Alonzo as AL import qualified Cardano.Ledger.Babbage as BA +import qualified Cardano.Ledger.Conway as Conway import qualified Cardano.Ledger.Shelley as SH import qualified Cardano.Ledger.ShelleyMA as SMA @@ -62,6 +63,9 @@ type family OutputsType era where OutputsType BabbageEra = StrictSeq (BA.BabbageTxOut (BA.BabbageEra StandardCrypto)) + OutputsType ConwayEra + = StrictSeq + (BA.BabbageTxOut (Conway.ConwayEra StandardCrypto)) newtype Outputs era = Outputs (OutputsType era) @@ -77,4 +81,5 @@ getEraOutputs , maryFun = onTx $ \tx -> Outputs (tx ^. bodyTxL . outputsTxBodyL) , alonzoFun = onTx $ \tx -> Outputs (tx ^. bodyTxL . outputsTxBodyL) , babbageFun = onTx $ \tx -> Outputs (tx ^. bodyTxL . outputsTxBodyL) + , conwayFun = onTx $ \tx -> Outputs (tx ^. bodyTxL . outputsTxBodyL) } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/ScriptValidity.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/ScriptValidity.hs index ad5400e0e50..60c0df8aa4c 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/ScriptValidity.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/ScriptValidity.hs @@ -20,7 +20,7 @@ module Cardano.Wallet.Read.Tx.ScriptValidity import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Alonzo.Tx ( IsValid, isValidTxL ) import Cardano.Wallet.Read.Eras @@ -39,6 +39,7 @@ type family ScriptValidityType era where ScriptValidityType MaryEra = () ScriptValidityType AlonzoEra = IsValid ScriptValidityType BabbageEra = IsValid + ScriptValidityType ConwayEra = IsValid newtype ScriptValidity era = ScriptValidity (ScriptValidityType era) @@ -53,4 +54,5 @@ getEraScriptValidity = EraFun , maryFun = \_ -> ScriptValidity () , alonzoFun = onTx $ \tx -> ScriptValidity (tx ^. isValidTxL) , babbageFun = onTx $ \tx -> ScriptValidity (tx ^. isValidTxL) + , conwayFun = onTx $ \tx -> ScriptValidity (tx ^. isValidTxL) } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Validity.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Validity.hs index 79537dc97c4..c478ebd7518 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Validity.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Validity.hs @@ -21,7 +21,7 @@ module Cardano.Wallet.Read.Tx.Validity import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( bodyTxL ) import Cardano.Ledger.Shelley.TxBody @@ -48,6 +48,7 @@ type family ValidityType era where ValidityType MaryEra = ValidityInterval ValidityType AlonzoEra = ValidityInterval ValidityType BabbageEra = ValidityInterval + ValidityType ConwayEra = ValidityInterval newtype Validity era = Validity (ValidityType era) @@ -63,4 +64,5 @@ getEraValidity , maryFun = onTx $ \tx -> Validity $ tx ^. bodyTxL . vldtTxBodyL , alonzoFun = onTx $ \tx -> Validity $ tx ^. bodyTxL . vldtTxBodyL , babbageFun = onTx $ \tx -> Validity $ tx ^. bodyTxL . vldtTxBodyL + , conwayFun = onTx $ \tx -> Validity $ tx ^. bodyTxL . vldtTxBodyL } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Withdrawals.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Withdrawals.hs index 87e2fcd4aa0..bb43b381626 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Withdrawals.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Withdrawals.hs @@ -20,7 +20,7 @@ module Cardano.Wallet.Read.Tx.Withdrawals import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( bodyTxL ) import Cardano.Ledger.Crypto @@ -45,6 +45,7 @@ type family WithdrawalsType era where WithdrawalsType MaryEra = SH.Wdrl StandardCrypto WithdrawalsType AlonzoEra = SH.Wdrl StandardCrypto WithdrawalsType BabbageEra = SH.Wdrl StandardCrypto + WithdrawalsType ConwayEra = SH.Wdrl StandardCrypto newtype Withdrawals era = Withdrawals (WithdrawalsType era) @@ -59,4 +60,5 @@ getEraWithdrawals = EraFun , maryFun = onTx $ \tx -> Withdrawals (tx ^. bodyTxL . wdrlsTxBodyL) , alonzoFun = onTx $ \tx -> Withdrawals (tx ^. bodyTxL . wdrlsTxBodyL) , babbageFun = onTx $ \tx -> Withdrawals (tx ^. bodyTxL . wdrlsTxBodyL) + , conwayFun = onTx $ \tx -> Withdrawals (tx ^. bodyTxL . wdrlsTxBodyL) } diff --git a/lib/wallet/src/Cardano/Wallet/Read/Tx/Witnesses.hs b/lib/wallet/src/Cardano/Wallet/Read/Tx/Witnesses.hs index 5f8a4c7fc4b..3f22d564e44 100644 --- a/lib/wallet/src/Cardano/Wallet/Read/Tx/Witnesses.hs +++ b/lib/wallet/src/Cardano/Wallet/Read/Tx/Witnesses.hs @@ -20,7 +20,7 @@ module Cardano.Wallet.Read.Tx.Witnesses import Prelude import Cardano.Api - ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, MaryEra, ShelleyEra ) + ( AllegraEra, AlonzoEra, BabbageEra, ByronEra, ConwayEra, MaryEra, ShelleyEra ) import Cardano.Ledger.Core ( witsTxL ) import Cardano.Ledger.Crypto @@ -40,7 +40,7 @@ import Control.Lens import Data.Functor.Identity ( Identity ) import Ouroboros.Consensus.Shelley.Eras - ( StandardAlonzo, StandardBabbage ) + ( StandardAlonzo, StandardBabbage, StandardConway ) import qualified Cardano.Ledger.Alonzo.TxWitness as AL @@ -52,6 +52,7 @@ type family WitnessesType era where (ShelleyMAEra 'Mary StandardCrypto) WitnessesType AlonzoEra = AL.TxWitness StandardAlonzo WitnessesType BabbageEra = AL.TxWitness StandardBabbage + WitnessesType ConwayEra = AL.TxWitness StandardConway newtype Witnesses era = Witnesses (WitnessesType era) @@ -66,5 +67,6 @@ getEraWitnesses = EraFun , maryFun = onTx $ \tx -> Witnesses (tx ^. witsTxL) , alonzoFun = onTx $ \tx -> Witnesses (tx ^. witsTxL) , babbageFun = onTx $ \tx -> Witnesses (tx ^. witsTxL) + , conwayFun = onTx $ \tx -> Witnesses (tx ^. witsTxL) }