@@ -9,13 +9,22 @@ module Cardano.Ledger.CanonicalState.Conway (
99 mkCanonicalConstitution ,
1010) where
1111
12+ import Cardano.Ledger.Alonzo.PParams (OrdExUnits (.. ))
13+ import Cardano.Ledger.BaseTypes (ProtVer )
14+ import Cardano.Ledger.CanonicalState.BasicTypes (CanonicalCoin (.. ), fromCanonicalExUnits , mkCanonicalExUnits )
1215import Cardano.Ledger.CanonicalState.Namespace
1316import Cardano.Ledger.CanonicalState.Namespace.GovCommittee.V0 ()
1417import Cardano.Ledger.CanonicalState.Namespace.GovConstitution.V0
18+ import Cardano.Ledger.CanonicalState.Namespace.GovCommittee.V0 ()
19+ import Cardano.Ledger.CanonicalState.Namespace.GovPParams.V0
1520import Cardano.Ledger.CanonicalState.Namespace.UTxO.V0
21+ import Cardano.Ledger.Coin (CoinPerByte (.. ))
1622import Cardano.Ledger.Conway (ConwayEra )
1723import Cardano.Ledger.Conway.Governance (Constitution (.. ))
24+ import Cardano.Ledger.Conway.PParams (ConwayPParams (.. ), DRepVotingThresholds (.. ), PoolVotingThresholds (.. ), THKD (.. ))
25+ import Cardano.Ledger.Core (PParams (.. ))
1826import Cardano.SCLS.NamespaceCodec
27+ import Data.Function ((&) )
1928
2029type instance NamespaceEra " blocks/v0" = ConwayEra
2130
@@ -25,9 +34,94 @@ type instance NamespaceEra "utxo/v0" = ConwayEra
2534
2635type instance NamespaceEra " gov/constitution/v0" = ConwayEra
2736
37+ type instance NamespaceEra " gov/pparams/v0" = ConwayEra
38+
39+ type instance NamespaceEra " utxo/v0" = ConwayEra
40+
2841instance KnownNamespace " utxo/v0" where
2942 type NamespaceKey " utxo/v0" = UtxoIn
3043 type NamespaceEntry " utxo/v0" = UtxoOut ConwayEra
3144
3245mkCanonicalConstitution :: Constitution era -> CanonicalConstitution
3346mkCanonicalConstitution Constitution {.. } = CanonicalConstitution {.. }
47+
48+ instance MkCanonicalPParams (PParams ConwayEra ) where
49+ mkCanonicalPParams (PParams ConwayPParams {.. }) =
50+ CanonicalPParams
51+ { ccppA0 = unTHKD cppA0
52+ , ccppTxFeePerByte = CanonicalCoin $ unCoinPerByte $ unTHKD cppTxFeePerByte
53+ , ccppTxFeeFixed = CanonicalCoin $ unTHKD cppTxFeeFixed
54+ , ccppMaxBBSize = unTHKD cppMaxBBSize
55+ , ccppMaxTxSize = unTHKD cppMaxTxSize
56+ , ccppMaxBHSize = unTHKD cppMaxBHSize
57+ , ccppKeyDeposit = CanonicalCoin $ unTHKD cppKeyDeposit
58+ , ccppPoolDeposit = CanonicalCoin $ unTHKD cppPoolDeposit
59+ , ccppEMax = unTHKD cppEMax
60+ , ccppNOpt = unTHKD cppNOpt
61+ , ccppRho = unTHKD cppRho
62+ , ccppTau = unTHKD cppTau
63+ , ccppMinPoolCost = CanonicalCoin $ unTHKD cppMinPoolCost
64+ , ccppCoinsPerUTxOByte = CanonicalCoin $ unCoinPerByte $ unTHKD cppCoinsPerUTxOByte
65+ , ccppCostModels = mkCanonicalCostModels $ unTHKD cppCostModels
66+ , ccppPrices = mkCanonicalPrices $ unTHKD cppPrices
67+ , ccppMaxTxExUnits = unTHKD cppMaxTxExUnits & unOrdExUnits & mkCanonicalExUnits
68+ , ccppMaxBlockExUnits = unTHKD cppMaxBlockExUnits & unOrdExUnits & mkCanonicalExUnits
69+ , ccppMaxValSize = unTHKD cppMaxValSize
70+ , ccppCollateralPercentage = unTHKD cppCollateralPercentage
71+ , ccppMaxCollateralInputs = unTHKD cppMaxCollateralInputs
72+ , ccppPoolVotingThresholds = mkCanonicalPoolVotingThresholds $ unTHKD cppPoolVotingThresholds
73+ , ccppDRepVotingThresholds = mkCanonicalDRepVotingThresholds $ unTHKD cppDRepVotingThresholds
74+ , ccppCommitteeMinSize = unTHKD cppCommitteeMinSize
75+ , ccppCommitteeMaxTermLength = unTHKD cppCommitteeMaxTermLength
76+ , ccppGovActionLifetime = unTHKD cppGovActionLifetime
77+ , ccppGovActionDeposit = CanonicalCoin $ unTHKD cppGovActionDeposit
78+ , ccppDRepDeposit = CanonicalCoin $ unTHKD cppDRepDeposit
79+ , ccppDRepActivity = unTHKD cppDRepActivity
80+ , ccppMinFeeRefScriptCostPerByte = unTHKD cppMinFeeRefScriptCostPerByte
81+ }
82+
83+ instance FromCanonicalPParams (PParams ConwayEra ) where
84+ type FromCanonicalPParamsExtra (PParams ConwayEra ) = ProtVer
85+ fromCanonicalPParams protocolVersion CanonicalPParams {.. } =
86+ PParams
87+ ConwayPParams
88+ { cppA0 = THKD ccppA0
89+ , cppTxFeePerByte = THKD (CoinPerByte $ unCoin ccppTxFeePerByte)
90+ , cppTxFeeFixed = THKD (unCoin ccppTxFeeFixed)
91+ , cppMaxBBSize = THKD ccppMaxBBSize
92+ , cppMaxTxSize = THKD ccppMaxTxSize
93+ , cppMaxBHSize = THKD ccppMaxBHSize
94+ , cppKeyDeposit = THKD (unCoin ccppKeyDeposit)
95+ , cppPoolDeposit = THKD (unCoin ccppPoolDeposit)
96+ , cppEMax = THKD ccppEMax
97+ , cppNOpt = THKD ccppNOpt
98+ , cppRho = THKD ccppRho
99+ , cppTau = THKD ccppTau
100+ , cppProtocolVersion = protocolVersion
101+ , cppMinPoolCost = THKD (unCoin ccppMinPoolCost)
102+ , cppCoinsPerUTxOByte = THKD (CoinPerByte $ unCoin ccppCoinsPerUTxOByte)
103+ , cppCostModels = THKD (fromCanonicalCostModels ccppCostModels)
104+ , cppPrices = THKD (fromCanonicalPrices ccppPrices)
105+ , cppMaxTxExUnits = THKD (ccppMaxTxExUnits & fromCanonicalExUnits & OrdExUnits )
106+ , cppMaxBlockExUnits = THKD (ccppMaxBlockExUnits & fromCanonicalExUnits & OrdExUnits )
107+ , cppMaxValSize = THKD ccppMaxValSize
108+ , cppCollateralPercentage = THKD ccppCollateralPercentage
109+ , cppMaxCollateralInputs = THKD ccppMaxCollateralInputs
110+ , cppPoolVotingThresholds = THKD (fromCanonicalPoolVotingThresholds ccppPoolVotingThresholds)
111+ , cppDRepVotingThresholds = THKD (fromCanonicalDRepVotingThresholds ccppDRepVotingThresholds)
112+ , cppCommitteeMinSize = THKD ccppCommitteeMinSize
113+ , cppCommitteeMaxTermLength = THKD ccppCommitteeMaxTermLength
114+ , cppGovActionLifetime = THKD ccppGovActionLifetime
115+ , cppGovActionDeposit = THKD (unCoin ccppGovActionDeposit)
116+ , cppDRepDeposit = THKD (unCoin ccppDRepDeposit)
117+ , cppDRepActivity = THKD ccppDRepActivity
118+ , cppMinFeeRefScriptCostPerByte = THKD ccppMinFeeRefScriptCostPerByte
119+ }
120+
121+ instance IsCanonicalDRepVotingThresholds DRepVotingThresholds where
122+ mkCanonicalDRepVotingThresholds DRepVotingThresholds {.. } = CanonicalDRepVotingThresholds {.. }
123+ fromCanonicalDRepVotingThresholds CanonicalDRepVotingThresholds {.. } = DRepVotingThresholds {.. }
124+
125+ instance IsCanonicalPoolVotingThresholds PoolVotingThresholds where
126+ fromCanonicalPoolVotingThresholds CanonicalPoolVotingThresholds {.. } = PoolVotingThresholds {.. }
127+ mkCanonicalPoolVotingThresholds PoolVotingThresholds {.. } = CanonicalPoolVotingThresholds {.. }
0 commit comments