diff --git a/cardano-testnet/cardano-testnet.cabal b/cardano-testnet/cardano-testnet.cabal index 7d0c209e076..e4473f12d67 100644 --- a/cardano-testnet/cardano-testnet.cabal +++ b/cardano-testnet/cardano-testnet.cabal @@ -56,6 +56,8 @@ library , filepath , hedgehog , hedgehog-extras ^>= 0.4.7.0 + , microlens + , lens-aeson , mtl , network , network-mux @@ -76,7 +78,6 @@ library , time , transformers , transformers-except - , unordered-containers , vector hs-source-dirs: src diff --git a/cardano-testnet/src/Testnet/Components/Configuration.hs b/cardano-testnet/src/Testnet/Components/Configuration.hs index 957e76980e6..812e26c319d 100644 --- a/cardano-testnet/src/Testnet/Components/Configuration.hs +++ b/cardano-testnet/src/Testnet/Components/Configuration.hs @@ -24,7 +24,6 @@ import Control.Monad.IO.Class (MonadIO) import Data.Aeson import qualified Data.Aeson as Aeson import qualified Data.ByteString.Lazy as LBS -import qualified Data.HashMap.Lazy as HM import qualified Data.List as List import Data.String import Data.Time @@ -34,11 +33,13 @@ import System.FilePath.Posix (()) import Hedgehog import qualified Hedgehog as H -import qualified Hedgehog.Extras.Stock.Aeson as J import qualified Hedgehog.Extras.Stock.Time as DTC import qualified Hedgehog.Extras.Test.Base as H import qualified Hedgehog.Extras.Test.File as H +import qualified Data.Aeson.Lens as L +import Lens.Micro + import Testnet.Defaults import Testnet.Filepath import Testnet.Process.Run (execCli_) @@ -104,18 +105,12 @@ createSPOGenesisAndFiles testnetOptions startTime (TmpAbsolutePath tempAbsPath') -- TODO: Remove this rewrite. -- 50 second epochs -- Epoch length should be "10 * k / f" where "k = securityParam, f = activeSlotsCoeff" - H.rewriteJsonFile createStakedInitialGenesisFile $ J.rewriteObject - ( HM.insert "securityParam" (toJSON @Int 5) -- TODO: USE config p arameter - . HM.adjust - (J.rewriteObject - $ HM.adjust - (J.rewriteObject (HM.insert "major" (toJSON @Int 8))) - "protocolVersion" - ) "protocolParams" - . HM.insert "rho" (toJSON @Double 0.1) - . HM.insert "tau" (toJSON @Double 0.1) - . HM.insert "updateQuorum" (toJSON @Int 2) - ) + H.rewriteJsonFile createStakedInitialGenesisFile $ \o -> o + & L.key "securityParam" . L._Integer .~ 5 + & L.key "rho" . L._Double .~ 0.1 + & L.key "tau" . L._Double .~ 0.1 + & L.key "updateQuorum" . L._Integer .~ 2 + & L.key "protocolParams" . L.key "protocolVersion" . L.key "major" . L._Integer .~ 8 execCli_ [ "genesis", "create-staked"