1
+ {-# LANGUAGE BangPatterns #-}
1
2
{-# LANGUAGE DeriveAnyClass #-}
2
3
{-# LANGUAGE DeriveGeneric #-}
3
4
{-# LANGUAGE DerivingVia #-}
@@ -64,6 +65,7 @@ module Cardano.Api.ProtocolParameters (
64
65
65
66
import Prelude
66
67
68
+ import Control.Applicative ((<|>) )
67
69
import Control.Monad
68
70
import Data.Aeson (FromJSON (.. ), ToJSON (.. ), object , withObject , (.!=) , (.:) , (.:?) ,
69
71
(.=) )
@@ -106,8 +108,8 @@ import Text.PrettyBy.Default (display)
106
108
import Cardano.Api.Address
107
109
import Cardano.Api.Eras
108
110
import Cardano.Api.Error
109
- import Cardano.Api.HasTypeProxy
110
111
import Cardano.Api.Hash
112
+ import Cardano.Api.HasTypeProxy
111
113
import Cardano.Api.KeysByron
112
114
import Cardano.Api.KeysShelley
113
115
import Cardano.Api.Script
@@ -120,7 +122,6 @@ import Cardano.Api.TxMetadata
120
122
import Cardano.Api.Utils
121
123
import Cardano.Api.Value
122
124
123
-
124
125
-- | The values of the set of /updatable/ protocol parameters. At any
125
126
-- particular point on the chain there is a current set of parameters in use.
126
127
--
@@ -1436,15 +1437,20 @@ toAlonzoPParams ProtocolParameters {
1436
1437
protocolParamPoolPledgeInfluence,
1437
1438
protocolParamMonetaryExpansion,
1438
1439
protocolParamTreasuryCut,
1439
- protocolParamUTxOCostPerWord = Just utxoCostPerWord ,
1440
+ protocolParamUTxOCostPerWord,
1440
1441
protocolParamCostModels,
1441
1442
protocolParamPrices = Just prices,
1442
1443
protocolParamMaxTxExUnits = Just maxTxExUnits,
1443
1444
protocolParamMaxBlockExUnits = Just maxBlockExUnits,
1444
1445
protocolParamMaxValueSize = Just maxValueSize,
1445
1446
protocolParamCollateralPercent = Just collateralPercentage,
1446
- protocolParamMaxCollateralInputs = Just maxCollateralInputs
1447
+ protocolParamMaxCollateralInputs = Just maxCollateralInputs,
1448
+ protocolParamUTxOCostPerByte
1447
1449
} =
1450
+ let ! coinsPerUTxOWord = fromMaybe
1451
+ (error " toAlonzoPParams: must specify protocolParamUTxOCostPerWord or protocolParamUTxOCostPerByte" ) $
1452
+ protocolParamUTxOCostPerWord <|> ((* 8 ) <$> protocolParamUTxOCostPerByte)
1453
+ in
1448
1454
Alonzo. PParams {
1449
1455
Alonzo. _protocolVersion
1450
1456
= let (maj, minor) = protocolParamProtocolVersion
@@ -1483,7 +1489,7 @@ toAlonzoPParams ProtocolParameters {
1483
1489
(Ledger. boundRational protocolParamTreasuryCut)
1484
1490
1485
1491
-- New params in Alonzo:
1486
- , Alonzo. _coinsPerUTxOWord = toShelleyLovelace utxoCostPerWord
1492
+ , Alonzo. _coinsPerUTxOWord = toShelleyLovelace coinsPerUTxOWord
1487
1493
, Alonzo. _costmdls = either
1488
1494
(\ e -> error $ " toAlonzoPParams: invalid cost models, error: " <> e)
1489
1495
id
0 commit comments