cardano-ledger-api-1.7.0.1: Public API for the cardano ledger codebase
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cardano.Ledger.Api.Transition

Description

This module is used for defining initial configuration for all. It is also used in testing and benchmarking to initilize a chain in a particular era without going through the trouble of generating all the history for preceeding eras.

Synopsis

Documentation

class (EraTxOut era, EraGov era, ToJSON (TransitionConfig era), FromJSON (TransitionConfig era), Default (StashedAVVMAddresses era)) => EraTransition era #

data family TransitionConfig era #

Instances

Instances details
Crypto c => FromJSON (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Crypto c => ToJSON (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Generic (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Associated Types

type Rep (TransitionConfig (ShelleyEra c)) :: Type -> Type Source #

Crypto c => Show (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Crypto c => Eq (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Crypto c => NoThunks (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

noThunks :: Context -> TransitionConfig (ShelleyEra c) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> TransitionConfig (ShelleyEra c) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (TransitionConfig (ShelleyEra c)) -> String

type Rep (TransitionConfig (AlonzoEra c)) 
Instance details

Defined in Cardano.Ledger.Alonzo.Transition

type Rep (TransitionConfig (AlonzoEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Alonzo.Transition" "cardano-ledger-alonzo-1.5.1.0-1MT8TTvKeeyGoJw1KVxcth" 'False) (C1 ('MetaCons "AlonzoTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "atcAlonzoGenesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AlonzoGenesis) :*: S1 ('MetaSel ('Just "atcMaryTransitionConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TransitionConfig (MaryEra c)))))
type Rep (TransitionConfig (ConwayEra c)) 
Instance details

Defined in Cardano.Ledger.Conway.Transition

type Rep (TransitionConfig (ConwayEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Conway.Transition" "cardano-ledger-conway-1.11.0.0-1XJ0KRTiRBuAzYQI5C9XmE" 'False) (C1 ('MetaCons "ConwayTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "ctcConwayGenesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConwayGenesis c)) :*: S1 ('MetaSel ('Just "ctcBabbageTransitionConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TransitionConfig (BabbageEra c)))))
type Rep (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

type Rep (TransitionConfig (ShelleyEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Shelley.Transition" "cardano-ledger-shelley-1.8.0.0-K8MVzOrWEQEOdl6Q57XMq" 'True) (C1 ('MetaCons "ShelleyTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "stcShelleyGenesis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ShelleyGenesis c))))
newtype TransitionConfig (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Transition

data TransitionConfig (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Transition

newtype TransitionConfig (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Transition

data TransitionConfig (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Transition

newtype TransitionConfig (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Transition

newtype TransitionConfig (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

mkTransitionConfig :: EraTransition era => TranslationContext era -> TransitionConfig (PreviousEra era) -> TransitionConfig era #

tcShelleyGenesisL :: EraTransition era => Lens' (TransitionConfig era) (ShelleyGenesis (EraCrypto era)) #

tcTranslationContextL :: EraTransition era => Lens' (TransitionConfig era) (TranslationContext era) #

Genesis

data ShelleyGenesis c #

Constructors

ShelleyGenesis 

Fields

Instances

Instances details
Crypto c => FromJSON (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

parseJSON :: Value -> Parser (ShelleyGenesis c)

parseJSONList :: Value -> Parser [ShelleyGenesis c]

omittedField :: Maybe (ShelleyGenesis c)

Crypto c => ToJSON (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

toJSON :: ShelleyGenesis c -> Value

toEncoding :: ShelleyGenesis c -> Encoding

toJSONList :: [ShelleyGenesis c] -> Value

toEncodingList :: [ShelleyGenesis c] -> Encoding

omitField :: ShelleyGenesis c -> Bool

Generic (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep (ShelleyGenesis c) :: Type -> Type Source #

Crypto c => Show (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Crypto c => FromCBOR (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

fromCBOR :: Decoder s (ShelleyGenesis c)

label :: Proxy (ShelleyGenesis c) -> Text

Crypto c => ToCBOR (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

toCBOR :: ShelleyGenesis c -> Encoding

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (ShelleyGenesis c) -> Size

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [ShelleyGenesis c] -> Size

Crypto c => DecCBOR (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

decCBOR :: Decoder s (ShelleyGenesis c)

dropCBOR :: Proxy (ShelleyGenesis c) -> Decoder s ()

label :: Proxy (ShelleyGenesis c) -> Text

Crypto c => EncCBOR (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

encCBOR :: ShelleyGenesis c -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy (ShelleyGenesis c) -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [ShelleyGenesis c] -> Size

Crypto c => Eq (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Crypto c => NoThunks (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

noThunks :: Context -> ShelleyGenesis c -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> ShelleyGenesis c -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (ShelleyGenesis c) -> String

type Rep (ShelleyGenesis c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep (ShelleyGenesis c) = D1 ('MetaData "ShelleyGenesis" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.8.0.0-K8MVzOrWEQEOdl6Q57XMq" 'False) (C1 ('MetaCons "ShelleyGenesis" 'PrefixI 'True) (((S1 ('MetaSel ('Just "sgSystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime) :*: (S1 ('MetaSel ('Just "sgNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32) :*: S1 ('MetaSel ('Just "sgNetworkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Network))) :*: ((S1 ('MetaSel ('Just "sgActiveSlotsCoeff") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveUnitInterval) :*: S1 ('MetaSel ('Just "sgSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "sgEpochLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochSize) :*: S1 ('MetaSel ('Just "sgSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)))) :*: (((S1 ('MetaSel ('Just "sgMaxKESEvolutions") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgSlotLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTimeMicro)) :*: (S1 ('MetaSel ('Just "sgUpdateQuorum") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgMaxLovelaceSupply") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "sgProtocolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams (ShelleyEra c))) :*: S1 ('MetaSel ('Just "sgGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'Genesis c) (GenDelegPair c)))) :*: (S1 ('MetaSel ('Just "sgInitialFunds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (Addr c) Coin)) :*: S1 ('MetaSel ('Just "sgStaking") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ShelleyGenesisStaking c)))))))

newtype AlonzoGenesis #

Bundled Patterns

pattern AlonzoGenesis :: CoinPerWord -> CostModels -> Prices -> ExUnits -> ExUnits -> Natural -> Natural -> Natural -> AlonzoGenesis 

Instances

Instances details
FromJSON AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

parseJSON :: Value -> Parser AlonzoGenesis

parseJSONList :: Value -> Parser [AlonzoGenesis]

omittedField :: Maybe AlonzoGenesis

ToJSON AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Generic AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Associated Types

type Rep AlonzoGenesis :: Type -> Type Source #

Show AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

FromCBOR AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

fromCBOR :: Decoder s AlonzoGenesis

label :: Proxy AlonzoGenesis -> Text

ToCBOR AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

toCBOR :: AlonzoGenesis -> Encoding

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy AlonzoGenesis -> Size

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [AlonzoGenesis] -> Size

DecCBOR AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

decCBOR :: Decoder s AlonzoGenesis

dropCBOR :: Proxy AlonzoGenesis -> Decoder s ()

label :: Proxy AlonzoGenesis -> Text

EncCBOR AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

encCBOR :: AlonzoGenesis -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy AlonzoGenesis -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [AlonzoGenesis] -> Size

Eq AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

NoThunks AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

Methods

noThunks :: Context -> AlonzoGenesis -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> AlonzoGenesis -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy AlonzoGenesis -> String

type Rep AlonzoGenesis 
Instance details

Defined in Cardano.Ledger.Alonzo.Genesis

type Rep AlonzoGenesis = D1 ('MetaData "AlonzoGenesis" "Cardano.Ledger.Alonzo.Genesis" "cardano-ledger-alonzo-1.5.1.0-1MT8TTvKeeyGoJw1KVxcth" 'True) (C1 ('MetaCons "AlonzoGenesisWrapper" 'PrefixI 'True) (S1 ('MetaSel ('Just "unAlonzoGenesisWrapper") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (UpgradeAlonzoPParams Identity))))

data ConwayGenesis c #

Constructors

ConwayGenesis 

Fields

Instances

Instances details
Crypto c => FromJSON (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

parseJSON :: Value -> Parser (ConwayGenesis c)

parseJSONList :: Value -> Parser [ConwayGenesis c]

omittedField :: Maybe (ConwayGenesis c)

Crypto c => ToJSON (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

toJSON :: ConwayGenesis c -> Value

toEncoding :: ConwayGenesis c -> Encoding

toJSONList :: [ConwayGenesis c] -> Value

toEncodingList :: [ConwayGenesis c] -> Encoding

omitField :: ConwayGenesis c -> Bool

Generic (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Associated Types

type Rep (ConwayGenesis c) :: Type -> Type Source #

Show (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Crypto c => DecCBOR (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

decCBOR :: Decoder s (ConwayGenesis c)

dropCBOR :: Proxy (ConwayGenesis c) -> Decoder s ()

label :: Proxy (ConwayGenesis c) -> Text

Crypto c => EncCBOR (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

encCBOR :: ConwayGenesis c -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy (ConwayGenesis c) -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [ConwayGenesis c] -> Size

Crypto c => Default (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

def :: ConwayGenesis c

Eq (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Crypto c => NoThunks (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

Methods

noThunks :: Context -> ConwayGenesis c -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> ConwayGenesis c -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (ConwayGenesis c) -> String

type Rep (ConwayGenesis c) 
Instance details

Defined in Cardano.Ledger.Conway.Genesis

type Rep (ConwayGenesis c) = D1 ('MetaData "ConwayGenesis" "Cardano.Ledger.Conway.Genesis" "cardano-ledger-conway-1.11.0.0-1XJ0KRTiRBuAzYQI5C9XmE" 'False) (C1 ('MetaCons "ConwayGenesis" 'PrefixI 'True) (S1 ('MetaSel ('Just "cgUpgradePParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (UpgradeConwayPParams Identity)) :*: (S1 ('MetaSel ('Just "cgConstitution") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Constitution (ConwayEra c))) :*: S1 ('MetaSel ('Just "cgCommittee") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Committee (ConwayEra c))))))

Functions for Testing

tcInitialPParamsG :: EraTransition era => SimpleGetter (TransitionConfig era) (PParams era) #

tcInitialFundsL :: (HasCallStack, EraTransition era) => Lens' (TransitionConfig era) (ListMap (Addr (EraCrypto era)) Coin) #

tcInitialStakingL :: (HasCallStack, EraTransition era) => Lens' (TransitionConfig era) (ShelleyGenesisStaking (EraCrypto era)) #

createInitialState :: (EraTransition era, HasCallStack) => TransitionConfig era -> NewEpochState era #

registerInitialFunds :: (EraTransition era, HasCallStack) => TransitionConfig era -> NewEpochState era -> NewEpochState era #

registerInitialStaking :: (EraTransition era, HasCallStack) => TransitionConfig era -> NewEpochState era -> NewEpochState era #