Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repository cardano-haskell-packages
-- you need to run if you change them
index-state:
, hackage.haskell.org 2025-03-18T07:42:38Z
, cardano-haskell-packages 2025-03-19T18:08:29Z
, cardano-haskell-packages 2025-04-02T12:52:59Z


packages:
Expand All @@ -23,7 +23,7 @@ packages:
program-options
ghc-options: -Werror

package cryptonite
package crypton
-- Using RDRAND instead of /dev/urandom as an entropy source for key
-- generation is dubious. Set the flag so we use /dev/urandom by default.
flags: -support_rdrand
Expand Down Expand Up @@ -77,3 +77,11 @@ if impl (ghc >= 9.12)
-- https://github.com/fizruk/http-api-data/pull/146
, http-api-data:base

-- https://github.com/IntersectMBO/ouroboros-consensus/blob/main/cabal.project#L70-L74
, ouroboros-network-protocols:base
, ouroboros-network-framework:base
, ouroboros-network-api:base
, network-mux:base
, ouroboros-network:base
, cardano-ping:base

15 changes: 9 additions & 6 deletions cardano-cli/cardano-cli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -236,22 +236,25 @@ library
binary,
bytestring,
canonical-json,
cardano-api ^>=10.11.1,
cardano-api ^>=10.12,
cardano-binary,
cardano-crypto,
cardano-crypto-class ^>=2.1.2,
cardano-crypto-wrapper ^>=1.5.1,
cardano-crypto-class ^>=2.2,
cardano-crypto-wrapper ^>=1.6,
cardano-data >=1.1,
cardano-git-rev ^>=0.2.2,
cardano-ledger-api,
cardano-ping ^>=0.7,
cardano-ledger-conway,
cardano-ledger-core,
cardano-ping ^>=0.8,
cardano-prelude,
cardano-protocol-tpraos,
cardano-slotting ^>=0.2.0.0,
cardano-strict-containers ^>=0.1,
cborg >=0.2.4 && <0.3,
containers,
contra-tracer,
cryptonite,
crypton,
deepseq,
directory,
exceptions,
Expand Down Expand Up @@ -296,7 +299,7 @@ executable cardano-cli
build-depends:
cardano-api,
cardano-cli,
cardano-crypto-class ^>=2.1.2,
cardano-crypto-class ^>=2.2,
optparse-applicative-fork,
transformers-except,

Expand Down
3 changes: 2 additions & 1 deletion cardano-cli/src/Cardano/CLI/Compatible/Command.hs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ import Cardano.CLI.Compatible.StakePool.Command
import Cardano.CLI.Compatible.Transaction.Command

import Data.Text
import Data.Typeable (Typeable)

data AnyCompatibleCommand where
AnyCompatibleCommand :: CompatibleCommand era -> AnyCompatibleCommand
AnyCompatibleCommand :: Typeable era => CompatibleCommand era -> AnyCompatibleCommand

renderAnyCompatibleCommand :: AnyCompatibleCommand -> Text
renderAnyCompatibleCommand = \case
Expand Down
4 changes: 3 additions & 1 deletion cardano-cli/src/Cardano/CLI/Compatible/Governance/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import Cardano.CLI.Compatible.Exception
import Cardano.CLI.Compatible.Governance.Command
import Cardano.CLI.EraBased.Governance.Run

runCompatibleGovernanceCmds :: CompatibleGovernanceCmds era -> CIO e ()
import Data.Typeable (Typeable)

runCompatibleGovernanceCmds :: Typeable era => CompatibleGovernanceCmds era -> CIO e ()
runCompatibleGovernanceCmds = \case
CreateCompatibleProtocolUpdateCmd cmd -> fromExceptTCli $ runGovernanceCmds cmd
4 changes: 3 additions & 1 deletion cardano-cli/src/Cardano/CLI/Compatible/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ import Cardano.CLI.Compatible.StakeAddress.Run
import Cardano.CLI.Compatible.StakePool.Run
import Cardano.CLI.Compatible.Transaction.Run

import Data.Typeable (Typeable)

runAnyCompatibleCommand :: AnyCompatibleCommand -> CIO e ()
runAnyCompatibleCommand (AnyCompatibleCommand cmd) = runCompatibleCommand cmd

runCompatibleCommand :: CompatibleCommand era -> CIO e ()
runCompatibleCommand :: Typeable era => CompatibleCommand era -> CIO e ()
runCompatibleCommand = \case
CompatibleTransactionCmds txCmd ->
runCompatibleTransactionCmd txCmd
Expand Down
2 changes: 1 addition & 1 deletion cardano-cli/src/Cardano/CLI/Compatible/StakePool/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ runStakePoolRegistrationCertificateCmd
createStakePoolRegistrationRequirements
:: ()
=> ShelleyBasedEra era
-> L.PoolParams (L.EraCrypto (ShelleyLedgerEra era))
-> L.PoolParams
-> StakePoolRegistrationRequirements era
createStakePoolRegistrationRequirements sbe pparams =
caseShelleyToBabbageOrConwayEraOnwards
Expand Down
34 changes: 22 additions & 12 deletions cardano-cli/src/Cardano/CLI/EraBased/Common/Option.hs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
module Cardano.CLI.EraBased.Common.Option where

import Cardano.Api
import Cardano.Api.Ledger (StandardCrypto)
import Cardano.Api.Ledger qualified as L
import Cardano.Api.Network qualified as Consensus
import Cardano.Api.Shelley
Expand All @@ -36,6 +35,7 @@ import Cardano.CLI.Type.Common
import Cardano.CLI.Type.Governance
import Cardano.CLI.Type.Key
import Cardano.CLI.Type.Key.VerificationKey
import Cardano.Ledger.BaseTypes (NonZero, nonZero)

import Control.Monad (void, when)
import Data.Aeson qualified as Aeson
Expand Down Expand Up @@ -895,7 +895,7 @@ pConstitutionUrl =
ConstitutionUrl
<$> pUrl "constitution-url" "Constitution URL."

pConstitutionHash :: Parser (L.SafeHash L.StandardCrypto L.AnchorData)
pConstitutionHash :: Parser (L.SafeHash L.AnchorData)
pConstitutionHash =
Opt.option readSafeHash $
mconcat
Expand Down Expand Up @@ -2209,7 +2209,7 @@ pRefScriptFp =
pMintMultiAsset
:: ShelleyBasedEra era
-> BalanceTxExecUnits
-> Parser (Maybe (L.MultiAsset StandardCrypto, [CliMintScriptRequirements]))
-> Parser (Maybe (L.MultiAsset, [CliMintScriptRequirements]))
pMintMultiAsset w balanceExecUnits =
caseShelleyToAllegraOrMaryEraOnwards
(const $ pure Nothing)
Expand Down Expand Up @@ -2926,6 +2926,16 @@ integralParsecParser = do
where
typeName = show $ typeRep (Proxy @a)

nonZeroReader :: ReadM (NonZero Word64)
nonZeroReader = readerFromParsecParser nonZeroParsecParser

nonZeroParsecParser :: Parsec.Parser (NonZero Word64)
nonZeroParsecParser = do
i <- decimal -- Parses a non-negative whole number, so we only need to check for zero.
case nonZero $ fromIntegral i of
Nothing -> fail $ "Cannot parse " <> show i <> " as a (NonZero Word64)"
Just nz -> return nz

pMaxBlockHeaderSize :: Parser Word16
pMaxBlockHeaderSize =
Opt.option integralReader $
Expand Down Expand Up @@ -3439,12 +3449,12 @@ pAlwaysAbstain =
, Opt.help "Abstain from voting on all proposals."
]

pVoteAnchor :: Parser (VoteUrl, L.SafeHash L.StandardCrypto L.AnchorData)
pVoteAnchor :: Parser (VoteUrl, L.SafeHash L.AnchorData)
pVoteAnchor =
((,) . VoteUrl <$> pUrl "anchor-url" "Vote anchor URL")
<*> pVoteAnchorDataHash

pVoteAnchorDataHash :: Parser (L.SafeHash L.StandardCrypto L.AnchorData)
pVoteAnchorDataHash :: Parser (L.SafeHash L.AnchorData)
pVoteAnchorDataHash =
Opt.option readSafeHash $
mconcat
Expand Down Expand Up @@ -3558,7 +3568,7 @@ pAllOrOnlySPOHashSource = pAll <|> pOnly
pAllOrOnlyGovActionIds
:: ()
=> ConwayEraOnwards era
-> Parser (AllOrOnly (L.GovActionId L.StandardCrypto))
-> Parser (AllOrOnly L.GovActionId)
pAllOrOnlyGovActionIds era = pAll <|> pOnly
where
pOnly = Only <$> pGovActionIds era
Expand All @@ -3573,13 +3583,13 @@ pGovActionIds
:: forall era
. ()
=> ConwayEraOnwards era
-> Parser [L.GovActionId L.StandardCrypto]
-> Parser [L.GovActionId]
pGovActionIds era = conwayEraOnwardsConstraints era (some pLedgerGovernanceAction)
where
pLedgerGovernanceAction :: Parser (L.GovActionId L.StandardCrypto)
pLedgerGovernanceAction :: Parser L.GovActionId
pLedgerGovernanceAction = uncurry L.GovActionId <$> pairParser

pairParser :: Parser (L.TxId L.StandardCrypto, L.GovActionIx)
pairParser :: Parser (L.TxId, L.GovActionIx)
pairParser = bimap toShelleyTxId L.GovActionIx <$> pGovernanceActionId

pDRepVerificationKeyHash :: Parser (Hash DRepKey)
Expand Down Expand Up @@ -3645,10 +3655,10 @@ pAnchorUrl =
ProposalUrl
<$> pUrl "anchor-url" "Anchor URL"

pExpectedAnchorDataHash :: Parser (L.SafeHash L.StandardCrypto L.AnchorData)
pExpectedAnchorDataHash :: Parser (L.SafeHash L.AnchorData)
pExpectedAnchorDataHash = pExpectedHash id "anchor data"

pExpectedHash :: (L.SafeHash L.StandardCrypto L.AnchorData -> a) -> String -> Parser a
pExpectedHash :: (L.SafeHash L.AnchorData -> a) -> String -> Parser a
pExpectedHash adaptor hashedDataName =
Opt.option (adaptor <$> readSafeHash) $
mconcat
Expand All @@ -3661,7 +3671,7 @@ pExpectedHash adaptor hashedDataName =
]
]

pAnchorDataHash :: Parser (L.SafeHash L.StandardCrypto L.AnchorData)
pAnchorDataHash :: Parser (L.SafeHash L.AnchorData)
pAnchorDataHash =
Opt.option readSafeHash $
mconcat
Expand Down
5 changes: 3 additions & 2 deletions cardano-cli/src/Cardano/CLI/EraBased/Genesis/Command.hs
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ module Cardano.CLI.EraBased.Genesis.Command
)
where

import Cardano.Api.Byron qualified as Byron
import Cardano.Api.Experimental qualified as Exp
import Cardano.Api.Ledger (Coin)
import Cardano.Api.Shelley

import Cardano.CLI.Type.Common
import Cardano.Ledger.BaseTypes (NonZero)

import Data.Text (Text)
import Data.Word (Word64)

data GenesisCmds era
= GenesisCreate !(GenesisCreateCmdArgs era)
Expand Down Expand Up @@ -62,7 +63,7 @@ data GenesisCreateCardanoCmdArgs era = GenesisCreateCardanoCmdArgs
, numUTxOKeys :: !Word
, mSystemStart :: !(Maybe SystemStart)
, mSupply :: !(Maybe Coin)
, security :: !Byron.BlockCount
, security :: !(NonZero Word64)
, slotLength :: !Word
, slotCoeff :: !Rational
, network :: !NetworkId
Expand Down
Loading
Loading