Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.STS.Chain
Synopsis
- data CHAIN era
- data ChainState era = ChainState {
- chainNes :: NewEpochState era
- chainOCertIssue :: Map (KeyHash 'BlockIssuer (Crypto era)) Word64
- chainEpochNonce :: Nonce
- chainEvolvingNonce :: Nonce
- chainCandidateNonce :: Nonce
- chainPrevEpochNonce :: Nonce
- chainLastAppliedBlock :: WithOrigin (LastAppliedBlock (Crypto era))
- data ChainPredicateFailure era
- = HeaderSizeTooLargeCHAIN !Natural !Natural
- | BlockSizeTooLargeCHAIN !Natural !Natural
- | ObsoleteNodeCHAIN !Natural !Natural
- | BbodyFailure !(PredicateFailure (BBODY era))
- | TickFailure !(PredicateFailure (TICK era))
- | TicknFailure !(PredicateFailure TICKN)
- | PrtclFailure !(PredicateFailure (PRTCL (Crypto era)))
- | PrtclSeqFailure !(PrtlSeqFailure (Crypto era))
- type family PredicateFailure a = (b :: Type) | b -> a
- initialShelleyState :: WithOrigin (LastAppliedBlock (Crypto era)) -> EpochNo -> UTxO era -> Coin -> Map (KeyHash 'Genesis (Crypto era)) (GenDelegPair (Crypto era)) -> PParams era -> Nonce -> ChainState era
- totalAda :: ShelleyBased era => ChainState era -> Coin
- totalAdaES :: ShelleyBased era => EpochState era -> Coin
- totalAdaPots :: ShelleyBased era => ChainState era -> AdaPots
- data ChainChecksData = ChainChecksData {}
- pparamsToChainChecksData :: PParams era -> ChainChecksData
- chainChecks :: (Era era, MonadError (PredicateFailure (CHAIN era)) m) => Natural -> ChainChecksData -> BHeader (Crypto era) -> m ()
Documentation
Instances
data ChainState era Source #
Constructors
ChainState | |
Fields
|
Instances
data ChainPredicateFailure era Source #
Constructors
HeaderSizeTooLargeCHAIN !Natural !Natural | |
BlockSizeTooLargeCHAIN !Natural !Natural | |
ObsoleteNodeCHAIN !Natural !Natural | |
BbodyFailure !(PredicateFailure (BBODY era)) | |
TickFailure !(PredicateFailure (TICK era)) | |
TicknFailure !(PredicateFailure TICKN) | |
PrtclFailure !(PredicateFailure (PRTCL (Crypto era))) | |
PrtclSeqFailure !(PrtlSeqFailure (Crypto era)) |
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
initialShelleyState :: WithOrigin (LastAppliedBlock (Crypto era)) -> EpochNo -> UTxO era -> Coin -> Map (KeyHash 'Genesis (Crypto era)) (GenDelegPair (Crypto era)) -> PParams era -> Nonce -> ChainState era Source #
Creates a valid initial chain state
totalAda :: ShelleyBased era => ChainState era -> Coin Source #
Calculate the total ada in the chain state
totalAdaES :: ShelleyBased era => EpochState era -> Coin Source #
Calculate the total ada in the epoch state
totalAdaPots :: ShelleyBased era => ChainState era -> AdaPots Source #
Calculate the total ada pots in the chain state
data ChainChecksData Source #
Constructors
ChainChecksData | |
Fields |
Instances
pparamsToChainChecksData :: PParams era -> ChainChecksData Source #
chainChecks :: (Era era, MonadError (PredicateFailure (CHAIN era)) m) => Natural -> ChainChecksData -> BHeader (Crypto era) -> m () Source #