Skip to content

Commit b843423

Browse files
committed
Remove explicit FromJSON, ToJSON instances for ConwayPParams
in favour of the ones defined for `EraPParams`
1 parent c95e8dd commit b843423

File tree

4 files changed

+1
-176
lines changed

4 files changed

+1
-176
lines changed

eras/alonzo/impl/src/Cardano/Ledger/Alonzo/PParams.hs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ module Cardano.Ledger.Alonzo.PParams (
5656
OrdExUnits (..),
5757
CoinPerWord (..),
5858

59-
-- * JSON helpers
60-
alonzoCommonPParamsHKDPairs,
61-
6259
-- * PParam
6360
ppCollateralPercentage,
6461
ppCostModels,
@@ -111,10 +108,8 @@ import Cardano.Ledger.Shelley.PParams
111108
import Control.DeepSeq (NFData)
112109
import Data.Aeson as Aeson (
113110
FromJSON,
114-
Key,
115111
ToJSON (..),
116112
)
117-
import qualified Data.Aeson.Types as Aeson
118113
import Data.ByteString (ByteString)
119114
import qualified Data.ByteString as BS
120115
import Data.Coerce (coerce)
@@ -516,24 +511,6 @@ emptyAlonzoPParamsUpdate =
516511
, appMaxCollateralInputs = SNothing
517512
}
518513

519-
-- | These are the fields that are common across all eras starting with Alonzo.
520-
alonzoCommonPParamsHKDPairs ::
521-
forall f era.
522-
(HKDFunctor f, AlonzoEraPParams era) =>
523-
Proxy f ->
524-
PParamsHKD f era ->
525-
[(Key, HKD f Aeson.Value)]
526-
alonzoCommonPParamsHKDPairs px pp =
527-
shelleyCommonPParamsHKDPairs px pp
528-
++ [ ("costModels", hkdMap px (toJSON @CostModels) (pp ^. hkdCostModelsL @era @f))
529-
, ("executionUnitPrices", hkdMap px (toJSON @Prices) (pp ^. hkdPricesL @era @f))
530-
, ("maxTxExecutionUnits", hkdMap px (toJSON @ExUnits) (pp ^. hkdMaxTxExUnitsL @era @f))
531-
, ("maxBlockExecutionUnits", hkdMap px (toJSON @ExUnits) (pp ^. hkdMaxBlockExUnitsL @era @f))
532-
, ("maxValueSize", hkdMap px (toJSON @Natural) (pp ^. hkdMaxValSizeL @era @f))
533-
, ("collateralPercentage", hkdMap px (toJSON @Natural) (pp ^. hkdCollateralPercentageL @era @f))
534-
, ("maxCollateralInputs", hkdMap px (toJSON @Natural) (pp ^. hkdMaxCollateralInputsL @era @f))
535-
]
536-
537514
-- ===================================================
538515
-- Figure 1: "Definitions Used in Protocol Parameters"
539516

eras/babbage/impl/src/Cardano/Ledger/Babbage/PParams.hs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ module Cardano.Ledger.Babbage.PParams (
3535
encodeLangViews,
3636
coinsPerUTxOWordToCoinsPerUTxOByte,
3737
coinsPerUTxOByteToCoinsPerUTxOWord,
38-
babbageCommonPParamsHKDPairs,
3938
ppCoinsPerUTxOByte,
4039
) where
4140

@@ -70,9 +69,7 @@ import Cardano.Ledger.Shelley.PParams
7069
import Control.DeepSeq (NFData)
7170
import Data.Aeson as Aeson (
7271
FromJSON (..),
73-
Key,
7472
ToJSON (..),
75-
Value,
7673
)
7774
import Data.Functor.Identity (Identity (..))
7875
import Data.Proxy (Proxy (Proxy))
@@ -322,17 +319,6 @@ emptyBabbagePParamsUpdate =
322319
, bppMaxCollateralInputs = SNothing
323320
}
324321

325-
-- | These are the fields that are common across all eras starting with Babbage.
326-
babbageCommonPParamsHKDPairs ::
327-
forall era f.
328-
(BabbageEraPParams era, HKDFunctor f) =>
329-
Proxy f ->
330-
PParamsHKD f era ->
331-
[(Key, HKD f Aeson.Value)]
332-
babbageCommonPParamsHKDPairs px pp =
333-
alonzoCommonPParamsHKDPairs px pp
334-
<> [("utxoCostPerByte", hkdMap px (toJSON @CoinPerByte) (pp ^. hkdCoinsPerUTxOByteL @_ @f))]
335-
336322
upgradeBabbagePParams ::
337323
forall f.
338324
HKDFunctor f =>

eras/conway/impl/src/Cardano/Ledger/Conway/PParams.hs

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -886,56 +886,6 @@ instance ConwayEraPParams ConwayEra where
886886
hkdMinFeeRefScriptCostPerByteL =
887887
lens (unTHKD . cppMinFeeRefScriptCostPerByte) $ \pp x -> pp {cppMinFeeRefScriptCostPerByte = THKD x}
888888

889-
instance ToJSON (ConwayPParams Identity ConwayEra) where
890-
toJSON = object . conwayPParamsPairs
891-
toEncoding = pairs . mconcat . conwayPParamsPairs
892-
893-
conwayPParamsPairs ::
894-
forall era a e.
895-
(ConwayEraPParams era, KeyValue e a) =>
896-
PParamsHKD Identity era ->
897-
[a]
898-
conwayPParamsPairs pp =
899-
uncurry (.=)
900-
<$> conwayPParamsHKDPairs (Proxy @Identity) pp
901-
<> [("protocolVersion", toJSON $ PParams pp ^. ppProtocolVersionL)]
902-
903-
instance Era era => FromJSON (ConwayPParams Identity era) where
904-
parseJSON =
905-
withObject "ProtocolParameters" $ \obj ->
906-
ConwayPParams
907-
<$> obj .: "txFeePerByte"
908-
<*> obj .: "txFeeFixed"
909-
<*> obj .: "maxBlockBodySize"
910-
<*> obj .: "maxTxSize"
911-
<*> obj .: "maxBlockHeaderSize"
912-
<*> obj .: "stakeAddressDeposit"
913-
<*> obj .: "stakePoolDeposit"
914-
<*> obj .: "poolRetireMaxEpoch"
915-
<*> obj .: "stakePoolTargetNum"
916-
<*> obj .: "poolPledgeInfluence"
917-
<*> obj .: "monetaryExpansion"
918-
<*> obj .: "treasuryCut"
919-
<*> obj .: "protocolVersion"
920-
<*> obj .: "minPoolCost" .!= mempty
921-
<*> obj .: "utxoCostPerByte"
922-
<*> obj .: "costModels"
923-
<*> obj .: "executionUnitPrices"
924-
<*> obj .: "maxTxExecutionUnits"
925-
<*> obj .: "maxBlockExecutionUnits"
926-
<*> obj .: "maxValueSize"
927-
<*> obj .: "collateralPercentage"
928-
<*> obj .: "maxCollateralInputs"
929-
<*> obj .: "poolVotingThresholds"
930-
<*> obj .: "dRepVotingThresholds"
931-
<*> obj .: "committeeMinSize"
932-
<*> obj .: "committeeMaxTermLength"
933-
<*> obj .: "govActionLifetime"
934-
<*> obj .: "govActionDeposit"
935-
<*> obj .: "dRepDeposit"
936-
<*> obj .: "dRepActivity"
937-
<*> obj .: "minFeeRefScriptCostPerByte"
938-
939889
-- | Returns a basic "empty" `PParams` structure with all zero values.
940890
emptyConwayPParams :: forall era. Era era => ConwayPParams Identity era
941891
emptyConwayPParams =
@@ -1011,65 +961,6 @@ emptyConwayPParamsUpdate =
1011961
, cppMinFeeRefScriptCostPerByte = THKD SNothing
1012962
}
1013963

1014-
instance
1015-
( ConwayEraPParams era
1016-
, PParamsHKD StrictMaybe era ~ ConwayPParams StrictMaybe era
1017-
) =>
1018-
ToJSON (ConwayPParams StrictMaybe era)
1019-
where
1020-
toJSON = object . conwayPParamsUpdatePairs
1021-
toEncoding = pairs . mconcat . conwayPParamsUpdatePairs
1022-
1023-
conwayPParamsUpdatePairs ::
1024-
forall era a e.
1025-
(ConwayEraPParams era, KeyValue e a) =>
1026-
PParamsHKD StrictMaybe era ->
1027-
[a]
1028-
conwayPParamsUpdatePairs pp =
1029-
[ k .= v
1030-
| (k, SJust v) <- conwayPParamsHKDPairs (Proxy @StrictMaybe) pp
1031-
]
1032-
1033-
conwayPParamsHKDPairs ::
1034-
forall era f.
1035-
(ConwayEraPParams era, HKDFunctor f) =>
1036-
Proxy f ->
1037-
PParamsHKD f era ->
1038-
[(Key, HKD f Aeson.Value)]
1039-
conwayPParamsHKDPairs px pp =
1040-
babbageCommonPParamsHKDPairs px pp
1041-
<> conwayUpgradePParamsHKDPairs px pp
1042-
1043-
conwayUpgradePParamsHKDPairs ::
1044-
forall era f.
1045-
(ConwayEraPParams era, HKDFunctor f) =>
1046-
Proxy f ->
1047-
PParamsHKD f era ->
1048-
[(Key, HKD f Aeson.Value)]
1049-
conwayUpgradePParamsHKDPairs px pp =
1050-
[
1051-
( "poolVotingThresholds"
1052-
, hkdMap px (toJSON @PoolVotingThresholds) (pp ^. hkdPoolVotingThresholdsL @era @f)
1053-
)
1054-
,
1055-
( "dRepVotingThresholds"
1056-
, hkdMap px (toJSON @DRepVotingThresholds) (pp ^. hkdDRepVotingThresholdsL @era @f)
1057-
)
1058-
, ("committeeMinSize", hkdMap px (toJSON @Natural) (pp ^. hkdCommitteeMinSizeL @era @f))
1059-
,
1060-
( "committeeMaxTermLength"
1061-
, hkdMap px (toJSON @EpochInterval) (pp ^. hkdCommitteeMaxTermLengthL @era @f)
1062-
)
1063-
, ("govActionLifetime", hkdMap px (toJSON @EpochInterval) (pp ^. hkdGovActionLifetimeL @era @f))
1064-
, ("govActionDeposit", hkdMap px (toJSON @Coin) (pp ^. hkdGovActionDepositL @era @f))
1065-
, ("dRepDeposit", hkdMap px (toJSON @Coin) (pp ^. hkdDRepDepositL @era @f))
1066-
, ("dRepActivity", hkdMap px (toJSON @EpochInterval) (pp ^. hkdDRepActivityL @era @f))
1067-
,
1068-
( "minFeeRefScriptCostPerByte"
1069-
, hkdMap px (toJSON @NonNegativeInterval) (pp ^. hkdMinFeeRefScriptCostPerByteL @era @f)
1070-
)
1071-
]
1072-
1073964
instance ToJSON (UpgradeConwayPParams Identity) where
1074965
toJSON = object . toUpgradeConwayPParamsUpdatePairs
1075966
toEncoding = pairs . mconcat . toUpgradeConwayPParamsUpdatePairs

eras/shelley/impl/src/Cardano/Ledger/Shelley/PParams.hs

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ module Cardano.Ledger.Shelley.PParams (
3131
hasLegalProtVerUpdate,
3232
shelleyPParams,
3333

34-
-- * JSON helpers
35-
shelleyCommonPParamsHKDPairs,
36-
3734
-- * PParam
3835
ppA0,
3936
ppD,
@@ -72,21 +69,18 @@ import Cardano.Ledger.Binary (
7269
import Cardano.Ledger.Binary.Coders (Decode (From, RecD), decode, (<!))
7370
import Cardano.Ledger.Coin (Coin (..))
7471
import Cardano.Ledger.Core
75-
import Cardano.Ledger.HKD (HKD, HKDFunctor (..))
72+
import Cardano.Ledger.HKD (HKD)
7673
import Cardano.Ledger.Hashes (GenDelegs)
7774
import Cardano.Ledger.Orphans ()
7875
import Cardano.Ledger.Shelley.Era (ShelleyEra)
7976
import Cardano.Ledger.Slot (EpochNo (..), SlotNo (..))
8077
import Control.DeepSeq (NFData)
8178
import Data.Aeson (
82-
Key,
8379
ToJSON (..),
8480
)
85-
import qualified Data.Aeson as Aeson
8681
import Data.Functor.Identity (Identity)
8782
import Data.Map.Strict (Map)
8883
import qualified Data.Map.Strict as Map
89-
import Data.Proxy
9084
import Data.Void
9185
import Data.Word (Word16, Word32)
9286
import GHC.Generics (Generic)
@@ -265,29 +259,6 @@ instance NoThunks PPUpdateEnv
265259

266260
{-# DEPRECATED PPUpdateEnv "As unused" #-}
267261

268-
-- | These are the fields that are common across all eras
269-
shelleyCommonPParamsHKDPairs ::
270-
forall f era.
271-
(HKDFunctor f, EraPParams era) =>
272-
Proxy f ->
273-
PParamsHKD f era ->
274-
[(Key, HKD f Aeson.Value)]
275-
shelleyCommonPParamsHKDPairs px pp =
276-
[ ("txFeePerByte", hkdMap px (toJSON @Coin) (pp ^. hkdMinFeeAL @_ @f :: HKD f Coin))
277-
, ("txFeeFixed", hkdMap px (toJSON @Coin) (pp ^. hkdMinFeeBL @era @f))
278-
, ("maxBlockBodySize", hkdMap px (toJSON @Word32) (pp ^. hkdMaxBBSizeL @era @f))
279-
, ("maxTxSize", hkdMap px (toJSON @Word32) (pp ^. hkdMaxTxSizeL @era @f))
280-
, ("maxBlockHeaderSize", hkdMap px (toJSON @Word16) (pp ^. hkdMaxBHSizeL @era @f))
281-
, ("stakeAddressDeposit", hkdMap px (toJSON @Coin) (pp ^. hkdKeyDepositL @era @f))
282-
, ("stakePoolDeposit", hkdMap px (toJSON @Coin) (pp ^. hkdPoolDepositL @era @f))
283-
, ("poolRetireMaxEpoch", hkdMap px (toJSON @EpochInterval) (pp ^. hkdEMaxL @era @f))
284-
, ("stakePoolTargetNum", hkdMap px (toJSON @Word16) (pp ^. hkdNOptL @era @f))
285-
, ("poolPledgeInfluence", hkdMap px (toJSON @NonNegativeInterval) (pp ^. hkdA0L @era @f))
286-
, ("monetaryExpansion", hkdMap px (toJSON @UnitInterval) (pp ^. hkdRhoL @era @f))
287-
, ("treasuryCut", hkdMap px (toJSON @UnitInterval) (pp ^. hkdTauL @era @f))
288-
, ("minPoolCost", hkdMap px (toJSON @Coin) (pp ^. hkdMinPoolCostL @era @f))
289-
]
290-
291262
-- | Update operation for protocol parameters structure @PParams@
292263
newtype ProposedPPUpdates era
293264
= ProposedPPUpdates (Map (KeyHash 'Genesis) (PParamsUpdate era))

0 commit comments

Comments
 (0)