Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.STS.Deleg
Synopsis
- data DELEG era
- data DelegEnv = DelegEnv {}
- type family PredicateFailure a = (b :: Type) | b -> a
- data DelegPredicateFailure era
- = StakeKeyAlreadyRegisteredDELEG !(Credential 'Staking (Crypto era))
- | StakeKeyInRewardsDELEG !(Credential 'Staking (Crypto era))
- | StakeKeyNotRegisteredDELEG !(Credential 'Staking (Crypto era))
- | StakeKeyNonZeroAccountBalanceDELEG !(Maybe Coin)
- | StakeDelegationImpossibleDELEG !(Credential 'Staking (Crypto era))
- | WrongCertificateTypeDELEG
- | GenesisKeyNotInMappingDELEG !(KeyHash 'Genesis (Crypto era))
- | DuplicateGenesisDelegateDELEG !(KeyHash 'GenesisDelegate (Crypto era))
- | InsufficientForInstantaneousRewardsDELEG !MIRPot !Coin !Coin
- | MIRCertificateTooLateinEpochDELEG !SlotNo !SlotNo
- | DuplicateGenesisVRFDELEG !(Hash (Crypto era) (VerKeyVRF (Crypto era)))
Documentation
Instances
type family PredicateFailure a = (b :: Type) | b -> a Source #
Descriptive type for the possible failures which might cause a transition to fail.
As a convention, PredicateFailure
s which are "structural" (meaning that
they are not "throwable" in practice, and are used to pass control from
one transition rule to another) are prefixed with S_
.
Structural PredicateFailure
s represent conditions between rules where
the disjunction of all rules' preconditions is equal to True
. That is,
either one rule will throw a structural PredicateFailure
and the other
will succeed, or vice-versa.
Instances
data DelegPredicateFailure era Source #
Constructors
StakeKeyAlreadyRegisteredDELEG !(Credential 'Staking (Crypto era)) | |
StakeKeyInRewardsDELEG !(Credential 'Staking (Crypto era)) | Indicates that the stake key is somehow already in the rewards map. This error is now redundant with StakeKeyAlreadyRegisteredDELEG. We should remove it and replace its one use with StakeKeyAlreadyRegisteredDELEG. |
StakeKeyNotRegisteredDELEG !(Credential 'Staking (Crypto era)) | |
StakeKeyNonZeroAccountBalanceDELEG !(Maybe Coin) | |
StakeDelegationImpossibleDELEG !(Credential 'Staking (Crypto era)) | |
WrongCertificateTypeDELEG | |
GenesisKeyNotInMappingDELEG !(KeyHash 'Genesis (Crypto era)) | |
DuplicateGenesisDelegateDELEG !(KeyHash 'GenesisDelegate (Crypto era)) | |
InsufficientForInstantaneousRewardsDELEG !MIRPot !Coin !Coin | |
MIRCertificateTooLateinEpochDELEG !SlotNo !SlotNo | |
DuplicateGenesisVRFDELEG !(Hash (Crypto era) (VerKeyVRF (Crypto era))) |