Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
classes that support Era parametric Specifications.
I.e they work in all eras (Shelley,Allegra,Mary,Alonzo,Babbage,Conway)
In general, each class (except EraSpecTxOut, see below) navigates the differences of a single type family.
The class (EraSpecPParams era) (Defined in ‘Test.Cardano.Ledger.Constrained.Conway.SimplePParams’)
and reExported here, supports specifications over the type Family (PParams era).
The class EraSpecCert supports specifications over the type Family (TxCert era)
The class EraSpecLedger, with methods govStateSpec
and newEpochStateSpec
, support Parametric Ledger types.
The class EraSpecTxOut (with method correctTxOut
and others) supports specifcations over the type Family TxOut.
Additional support for phased out Type Families like InstantaneousRewards,
GenDelegs, FutureGenDelegs, StashedAVVMAddresses, and Ptrs, are handled by methods in EraSpecTxOut
Synopsis
- module Test.Cardano.Ledger.Constrained.Conway.Instances.PParams
- class (HasSpec fn (StashedAVVMAddresses era), EraSpecPParams era, EraSpecDeleg era, HasSpec fn (TxOut era), IsNormalType (TxOut era), EraTxOut era, GenScript era, IsConwayUniv fn) ⇒ EraSpecTxOut era fn where
- irewardSpec ∷ WitUniv era → Term fn AccountState → Specification fn InstantaneousRewards
- hasPtrs ∷ proxy era → Term fn Bool
- txOutValue_ ∷ Term fn (TxOut era) → Term fn (Value era)
- txOutCoin_ ∷ Term fn (TxOut era) → Term fn Coin
- txOutAddr_ ∷ Term fn (TxOut era) → Term fn Addr
- txOutSpec ∷ ∀ fn era. EraSpecTxOut era fn ⇒ WitUniv era → Term fn (Map (Credential 'Staking) (KeyHash 'StakePool)) → Term fn (TxOut era) → Pred fn
- class (IsConwayUniv fn, HasSpec fn (TxCert era), Era era) ⇒ EraSpecCert era fn where
- txCertSpec ∷ WitUniv era → CertEnv era → CertState era → Specification fn (TxCert era)
- txCertKey ∷ TxCert era → CertKey
- class (Era era, EraPParams era) ⇒ EraSpecDeleg era where
- hasGenDelegs ∷ proxy era → Bool
- delegatedStakeReference ∷ IsConwayUniv fn ⇒ Term fn (Map (Credential 'Staking) (KeyHash 'StakePool)) → Specification fn StakeReference
- data CertKey
- = StakeKey !(Credential 'Staking)
- | PoolKey !(KeyHash 'StakePool)
- | DRepKey !(Credential 'DRepRole)
- | ColdKey !(Credential 'ColdCommitteeRole)
- | GenesisKey !(KeyHash 'Genesis)
- | MirKey !MIRPot
Documentation
class (HasSpec fn (StashedAVVMAddresses era), EraSpecPParams era, EraSpecDeleg era, HasSpec fn (TxOut era), IsNormalType (TxOut era), EraTxOut era, GenScript era, IsConwayUniv fn) ⇒ EraSpecTxOut era fn where Source #
The class EraSpecTxOut supports Era parametric Specifications that primarily navigate the differences in types parameterized type Family TxOut. Additional support for phased out Type Families like InstantaneousRewards, GenDelegs, FutureGenDelegs, StashedAVVMAddresses, and Ptrs, are also provided
irewardSpec ∷ WitUniv era → Term fn AccountState → Specification fn InstantaneousRewards Source #
hasPtrs ∷ proxy era → Term fn Bool Source #
txOutValue_ ∷ Term fn (TxOut era) → Term fn (Value era) Source #
Extract a Value from a TxOut
txOutCoin_ ∷ Term fn (TxOut era) → Term fn Coin Source #
Extract a Coin from a TxOut
txOutAddr_ ∷ Term fn (TxOut era) → Term fn Addr Source #
Extract an Addr from a TxOut
Instances
txOutSpec ∷ ∀ fn era. EraSpecTxOut era fn ⇒ WitUniv era → Term fn (Map (Credential 'Staking) (KeyHash 'StakePool)) → Term fn (TxOut era) → Pred fn Source #
An Era polymorhic Specification for type family TxOut
class (IsConwayUniv fn, HasSpec fn (TxCert era), Era era) ⇒ EraSpecCert era fn where Source #
txCertSpec ∷ WitUniv era → CertEnv era → CertState era → Specification fn (TxCert era) Source #
Instances
IsConwayUniv fn ⇒ EraSpecCert AllegraEra fn Source # | |
IsConwayUniv fn ⇒ EraSpecCert AlonzoEra fn Source # | |
IsConwayUniv fn ⇒ EraSpecCert BabbageEra fn Source # | |
IsConwayUniv fn ⇒ EraSpecCert ConwayEra fn Source # | |
IsConwayUniv fn ⇒ EraSpecCert MaryEra fn Source # | |
IsConwayUniv fn ⇒ EraSpecCert ShelleyEra fn Source # | |
class (Era era, EraPParams era) ⇒ EraSpecDeleg era where Source #
hasGenDelegs ∷ proxy era → Bool Source #
Instances
EraSpecDeleg AllegraEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy AllegraEra → Bool Source # | |
EraSpecDeleg AlonzoEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy AlonzoEra → Bool Source # | |
EraSpecDeleg BabbageEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy BabbageEra → Bool Source # | |
EraSpecDeleg ConwayEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy ConwayEra → Bool Source # | |
EraSpecDeleg MaryEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy MaryEra → Bool Source # | |
EraSpecDeleg ShelleyEra Source # | |
Defined in Test.Cardano.Ledger.Constrained.Conway.Deleg hasGenDelegs ∷ proxy ShelleyEra → Bool Source # |
delegatedStakeReference ∷ IsConwayUniv fn ⇒ Term fn (Map (Credential 'Staking) (KeyHash 'StakePool)) → Specification fn StakeReference Source #
Generate random Stake references that have a high probability of being delegated.
Used to aggregate the key used in registering a Certificate. Different certificates use different kinds of Keys, that allows us to use one type to represent all kinds of keys (Similar to DepositPurpose)
StakeKey !(Credential 'Staking) | |
PoolKey !(KeyHash 'StakePool) | |
DRepKey !(Credential 'DRepRole) | |
ColdKey !(Credential 'ColdCommitteeRole) | |
GenesisKey !(KeyHash 'Genesis) | |
MirKey !MIRPot |