Skip to content

Commit

Permalink
Add PParams for Conway
Browse files Browse the repository at this point in the history
  • Loading branch information
aniketd committed Jun 28, 2023
1 parent 02fe7c5 commit 29c7fda
Show file tree
Hide file tree
Showing 6 changed files with 676 additions and 47 deletions.
2 changes: 1 addition & 1 deletion eras/babbage/impl/src/Cardano/Ledger/Babbage/PParams.hs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ module Cardano.Ledger.Babbage.PParams (
encodeLangViews,
coinsPerUTxOWordToCoinsPerUTxOByte,
coinsPerUTxOByteToCoinsPerUTxOWord,
babbagePParamsHKDPairs,
)
where

Expand Down Expand Up @@ -233,7 +234,6 @@ instance Crypto c => BabbageEraPParams (BabbageEra c) where
instance Crypto c => EraGovernance (BabbageEra c) where
type GovernanceState (BabbageEra c) = ShelleyPPUPState (BabbageEra c)
emptyGovernanceState = ShelleyPPUPState emptyPPPUpdates emptyPPPUpdates

getProposedPPUpdates = Just . proposals

instance Era era => EncCBOR (BabbagePParams Identity era) where
Expand Down
17 changes: 17 additions & 0 deletions eras/conway/impl/src/Cardano/Ledger/Conway/Core.hs
Original file line number Diff line number Diff line change
@@ -1,21 +1,38 @@
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE UndecidableSuperClasses #-}

module Cardano.Ledger.Conway.Core (
module X,
ConwayEraTxBody (..),
ConwayEraPParams (..),
)
where

import Cardano.Ledger.Babbage.Core as X
import Cardano.Ledger.BaseTypes (EpochNo)
import Cardano.Ledger.Coin (Coin)
import Cardano.Ledger.Conway.Governance (ProposalProcedure, VotingProcedure)
import Cardano.Ledger.HKD (HKD, HKDFunctor)
import Data.Map.Strict (Map)
import Data.Sequence.Strict (StrictSeq)
import Lens.Micro (Lens')
import Numeric.Natural (Natural)

class BabbageEraTxBody era => ConwayEraTxBody era where
votingProceduresTxBodyL :: Lens' (TxBody era) (StrictSeq (VotingProcedure era))
proposalProceduresTxBodyL :: Lens' (TxBody era) (StrictSeq (ProposalProcedure era))

class BabbageEraPParams era => ConwayEraPParams era where
hkdVotingThresholdsL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f (Map Natural Natural))
hkdMinCCSizeL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Natural)
hkdCCTermLimitL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Natural)
hkdGovExpirationL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Natural)
hkdGovDepositL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepDepositL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f Coin)
hkdDRepActivityL :: HKDFunctor f => Lens' (PParamsHKD f era) (HKD f EpochNo)
18 changes: 10 additions & 8 deletions eras/conway/impl/src/Cardano/Ledger/Conway/Governance.hs
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ import Cardano.Ledger.Binary.Coders (
(<!),
)
import Cardano.Ledger.Coin (Coin (..))
import Cardano.Ledger.Conway.Era (ConwayEra)
import Cardano.Ledger.Conway.PParams ()
import Cardano.Ledger.Core
import Cardano.Ledger.Credential (Credential)
import Cardano.Ledger.Crypto (Crypto)
Expand Down Expand Up @@ -445,7 +443,10 @@ deriving instance Eq (PParams era) => Eq (EnactState era)

deriving instance Show (PParams era) => Show (EnactState era)

instance EraPParams era => Default (EnactState era) where
instance
(EraPParams era, Default (SafeHash (EraCrypto era) ByteString)) =>
Default (EnactState era)
where
def =
EnactState
def
Expand Down Expand Up @@ -493,7 +494,9 @@ data RatifyState era = RatifyState
}
deriving (Generic, Eq, Show)

instance EraPParams era => Default (RatifyState era)
instance
(Default (SafeHash (EraCrypto era) ByteString), EraPParams era) =>
Default (RatifyState era)

instance EraPParams era => DecCBOR (RatifyState era) where
decCBOR =
Expand Down Expand Up @@ -568,7 +571,9 @@ instance EraPParams era => ToCBOR (ConwayGovernance era) where
instance EraPParams era => FromCBOR (ConwayGovernance era) where
fromCBOR = fromEraCBOR @era

instance EraPParams era => Default (ConwayGovernance era)
instance
(Default (SafeHash (EraCrypto era) ByteString), EraPParams era) =>
Default (ConwayGovernance era)

instance EraPParams era => NFData (ConwayGovernance era)

Expand All @@ -585,6 +590,3 @@ toConwayGovernancePairs cg@(ConwayGovernance _ _ _) =
, "ratify" .= cgRatify
, "voterRoles" .= cgVoterRoles
]

instance Crypto c => EraGovernance (ConwayEra c) where
type GovernanceState (ConwayEra c) = ConwayGovernance (ConwayEra c)
Loading

0 comments on commit 29c7fda

Please sign in to comment.