(config, genesisData, vd) <-
(retag @"pool" @_ @"output" poolDir)
(Tagged @"node-name" mempty)
retCert <- issuePoolRetirementCert tr poolDir opPub e
-
poolDir cfgSetupDir cfgLastHardFork [retCert]
+
poolDir cfgClusterConfigs cfgLastHardFork [retCert]
(retag @"pool" @_ @"output" poolDir)
(retag @"retirement-tx" @_ @"tx-body" rawTx)
-- ^ Log severity for node.
, cfgClusterDir :: Tagged "cluster" FilePath
-- ^ Root directory for cluster data.
-
, cfgSetupDir :: Tagged "setup" FilePath
+
, cfgClusterConfigs:: Tagged "cluster-configs" FilePath
-- ^ Directory containing data for cluster setup.
=> Tagged "cluster" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> (ShelleyGenesis StandardCrypto -> ShelleyGenesis StandardCrypto)
-- ^ For adding genesis pools and staking in Babbage and later.
over #sgProtocolParams (set ppDL (unsafeUnitInterval 0.25))
-
faucetAddresses <- readFaucetAddresses cfgSetupDir
+
faucetAddresses <- readFaucetAddresses cfgClusterConfigs
(adaFunds <> map (,Coin 1_000_000_000_000_000) faucetAddresses)
(if postAlonzo then addGenesisPools else federalizeNetwork)
-
withBFTNode tr cfgClusterDir cfgSetupDir bftCfg $
+
withBFTNode tr cfgClusterDir cfgClusterConfigs bftCfg $
extraClusterSetupUsingNode configuredPools runningBFTNode
-- Needs to happen in the first 20% of the epoch, so we run this first.
moveInstantaneousRewardsTo
-
tr conn cfgClusterDir cfgSetupDir cfgLastHardFork mirFunds
+
tr conn cfgClusterDir cfgClusterConfigs cfgLastHardFork mirFunds
-- Submit retirement certs for all pools using the connection to
-- the only running first pool to avoid the certs being rolled
+
cfgClusterConfigs cfgLastHardFork
(first (T.unpack . encodeMainnetShelleyAddr) <$> maFunds)
-> Tagged "cluster" FilePath
-- ^ Parent cluster state directory.
-- Node data will be created in a subdirectory of this.
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-- ^ Parameters used to generate config files.
-> Tagged "cluster" FilePath
-- ^ Parent state directory.
-- Node data will be created in a subdirectory of this.
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-- ^ Parameters used to generate config files.
:: Tagged "output" FilePath
-- ^ A top-level directory where to put the configuration.
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> Tagged "node-name" String -- Node name
-- ^ Genesis block start time
-> Tagged "pool" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> Tagged "stake-pub" FilePath
-> Tagged "pool" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> [Tagged "retirement-cert" FilePath]
-> IO (Tagged "retirement-tx" FilePath, Tagged "faucet-prv" FilePath)
-> Tagged "cluster" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> Tagged "cluster" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> Tagged "cluster" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
-> Tagged "cluster" FilePath
-
-> Tagged "setup" FilePath
+
-> Tagged "cluster-configs" FilePath
let stakePub = Tagged @"stake-pub"
$ untag cfgClusterDir </> "pre-registered-stake.pub"
Aeson.encodeFile (untag stakePub) preRegisteredStakeKey
-
(faucetInput, faucetPrv) <- takeFaucet cfgSetupDir
+
(faucetInput, faucetPrv) <- takeFaucet cfgClusterConfigs
tr outputDir (Tagged @"prefix" "pre-registered") stakePub
sink <- genSinkAddress tr outputDir Nothing
-
=> Tagged "setup" FilePath
+
=> Tagged "cluster-configs" FilePath
-> IO (Tagged "tx-in" String, Tagged "faucet-prv" FilePath)
i <- modifyMVar faucetIndex (\i -> pure (i + 1, i))
let signingKey = basename <> ".shelley.key"
pure (Tagged @"tx-in" txin, Tagged @"faucet-prv" signingKey)
-
readFaucetAddresses :: HasCallStack => Tagged "setup" FilePath -> IO [Address]
+
readFaucetAddresses :: HasCallStack => Tagged "cluster-configs" FilePath -> IO [Address]
readFaucetAddresses setupDir = do
let faucetDataPath = untag setupDir </> "faucet-addrs"
allFileNames <- listDirectory faucetDataPath