shelley-spec-ledger-0.1.0.0
Safe HaskellNone
LanguageHaskell98

Shelley.Spec.Ledger.STS.Prtcl

Synopsis

Documentation

data PRTCL crypto Source #

Instances

Instances details
(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), VRFSignable crypto Seed) => STS (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Associated Types

type State (PRTCL crypto) Source #

type Signal (PRTCL crypto) Source #

type Environment (PRTCL crypto) Source #

type BaseM (PRTCL crypto) :: Type -> Type Source #

type PredicateFailure (PRTCL crypto) = (b :: Type) Source #

(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), VRFSignable crypto Seed) => Embed (UPDN crypto) (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

(Crypto crypto, DSignable crypto (OCertSignable crypto), KESignable crypto (BHBody crypto), VRFSignable crypto Seed) => Embed (OVERLAY crypto) (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

(Era era, c ~ Crypto era, ShelleyBased era, STS (PRTCL c)) => Embed (PRTCL c) (CHAIN era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Chain

type PredicateFailure (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type BaseM (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type BaseM (PRTCL crypto) = ShelleyBase
type Environment (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Environment (PRTCL crypto) = PrtclEnv crypto
type Signal (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Signal (PRTCL crypto) = BHeader crypto
type State (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type State (PRTCL crypto) = PrtclState crypto

type family State a Source #

Type of the state which the system transitions between.

Instances

Instances details
type State TICKN Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tickn

type State (UPDN crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Updn

type State (UPDN crypto) = UpdnState
type State (SNAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Snap

type State (SNAP era) = SnapShots (Crypto era)
type State (RUPD era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Rupd

type State (PPUP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ppup

type State (PPUP era) = PPUPState era
type State (UTXO (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxo

type State (UTXOW (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxow

type State (POOLREAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.PoolReap

type State (POOLREAP era) = PoolreapState era
type State (POOL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Pool

type State (POOL era) = PState (Crypto era)
type State (NEWPP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Newpp

type State (NEWPP era) = NewppState era
type State (MIR era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Mir

type State (MIR era) = EpochState era
type State (EPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Epoch

type State (EPOCH era) = EpochState era
type State (NEWEPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.NewEpoch

type State (NEWEPOCH era) = NewEpochState era
type State (TICKF era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type State (TICKF era) = NewEpochState era
type State (TICK era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type State (TICK era) = NewEpochState era
type State (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type State (DELEG era) = DState (Crypto era)
type State (DELPL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delpl

type State (DELPL era) = DPState (Crypto era)
type State (DELEGS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delegs

type State (DELEGS era) = DPState (Crypto era)
type State (LEDGER era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledger

type State (LEDGER era) = (UTxOState era, DPState (Crypto era))
type State (LEDGERS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledgers

type State (LEDGERS era) = LedgerState era
type State (OCERT crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ocert

type State (OCERT crypto) = Map (KeyHash 'BlockIssuer crypto) Word64
type State (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type State (OVERLAY crypto) = Map (KeyHash 'BlockIssuer crypto) Word64
type State (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type State (PRTCL crypto) = PrtclState crypto
type State (BBODY era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Bbody

type State (BBODY era) = BbodyState era
type State (CHAIN era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Chain

type State (CHAIN era) = ChainState era

data PrtclEnv crypto Source #

Constructors

PrtclEnv UnitInterval (PoolDistr crypto) (GenDelegs crypto) Nonce 

Instances

Instances details
Generic (PrtclEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Associated Types

type Rep (PrtclEnv crypto) :: Type -> Type #

Methods

from :: PrtclEnv crypto -> Rep (PrtclEnv crypto) x #

to :: Rep (PrtclEnv crypto) x -> PrtclEnv crypto #

NoThunks (PrtclEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtclEnv crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

data PrtclState crypto Source #

Constructors

PrtclState 

Fields

Instances

Instances details
Eq (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

(==) :: PrtclState crypto -> PrtclState crypto -> Bool #

(/=) :: PrtclState crypto -> PrtclState crypto -> Bool #

Show (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

showsPrec :: Int -> PrtclState crypto -> ShowS #

show :: PrtclState crypto -> String #

showList :: [PrtclState crypto] -> ShowS #

Generic (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Associated Types

type Rep (PrtclState crypto) :: Type -> Type #

Methods

from :: PrtclState crypto -> Rep (PrtclState crypto) x #

to :: Rep (PrtclState crypto) x -> PrtclState crypto #

Crypto crypto => ToCBOR (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

toCBOR :: PrtclState crypto -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (PrtclState crypto) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [PrtclState crypto] -> Size Source #

Crypto crypto => FromCBOR (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

fromCBOR :: Decoder s (PrtclState crypto) Source #

label :: Proxy (PrtclState crypto) -> Text Source #

Crypto crypto => NoThunks (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtclState crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtclState crypto) = D1 ('MetaData "PrtclState" "Shelley.Spec.Ledger.STS.Prtcl" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'False) (C1 ('MetaCons "PrtclState" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'BlockIssuer crypto) Word64)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Nonce))))

data PrtclPredicateFailure crypto Source #

Instances

Instances details
VRFAlgorithm (VRF crypto) => Eq (PrtclPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

VRFAlgorithm (VRF crypto) => Show (PrtclPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Generic (PrtclPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Associated Types

type Rep (PrtclPredicateFailure crypto) :: Type -> Type #

Crypto crypto => NoThunks (PrtclPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtclPredicateFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtclPredicateFailure crypto) = D1 ('MetaData "PrtclPredicateFailure" "Shelley.Spec.Ledger.STS.Prtcl" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'False) (C1 ('MetaCons "OverlayFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PredicateFailure (OVERLAY crypto)))) :+: C1 ('MetaCons "UpdnFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PredicateFailure (UPDN crypto)))))

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, PredicateFailures 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 PredicateFailures 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

Instances details
type PredicateFailure TICKN Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tickn

type PredicateFailure (UPDN crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Updn

type PredicateFailure (SNAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Snap

type PredicateFailure (RUPD era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Rupd

type PredicateFailure (PPUP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ppup

type PredicateFailure (UTXO (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxo

type PredicateFailure (UTXOW (ShelleyEra c)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Utxow

type PredicateFailure (POOLREAP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.PoolReap

type PredicateFailure (POOL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Pool

type PredicateFailure (NEWPP era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Newpp

type PredicateFailure (MIR era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Mir

type PredicateFailure (EPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Epoch

type PredicateFailure (NEWEPOCH era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.NewEpoch

type PredicateFailure (TICKF era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type PredicateFailure (TICK era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Tick

type PredicateFailure (DELEG era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Deleg

type PredicateFailure (DELPL era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delpl

type PredicateFailure (DELEGS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Delegs

type PredicateFailure (LEDGER era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledger

type PredicateFailure (LEDGERS era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ledgers

type PredicateFailure (OCERT crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Ocert

type PredicateFailure (OVERLAY crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Overlay

type PredicateFailure (PRTCL crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type PredicateFailure (BBODY era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Bbody

type PredicateFailure (CHAIN era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Chain

data PrtlSeqFailure crypto Source #

Constructors

WrongSlotIntervalPrtclSeq 

Fields

WrongBlockNoPrtclSeq 

Fields

WrongBlockSequencePrtclSeq 

Fields

  • (PrevHash crypto)

    Last applied hash

  • (PrevHash crypto)

    Current block's previous hash

Instances

Instances details
Eq (PrtlSeqFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

(==) :: PrtlSeqFailure crypto -> PrtlSeqFailure crypto -> Bool #

(/=) :: PrtlSeqFailure crypto -> PrtlSeqFailure crypto -> Bool #

Show (PrtlSeqFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Methods

showsPrec :: Int -> PrtlSeqFailure crypto -> ShowS #

show :: PrtlSeqFailure crypto -> String #

showList :: [PrtlSeqFailure crypto] -> ShowS #

Generic (PrtlSeqFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

Associated Types

type Rep (PrtlSeqFailure crypto) :: Type -> Type #

Methods

from :: PrtlSeqFailure crypto -> Rep (PrtlSeqFailure crypto) x #

to :: Rep (PrtlSeqFailure crypto) x -> PrtlSeqFailure crypto #

Crypto crypto => NoThunks (PrtlSeqFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

type Rep (PrtlSeqFailure crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.STS.Prtcl

prtlSeqChecks :: (MonadError (PrtlSeqFailure crypto) m, Crypto crypto) => WithOrigin (LastAppliedBlock crypto) -> BHeader crypto -> m () Source #