| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Shelley.Ledger.Ledger
Synopsis
- data family LedgerState blk (mk ∷ MapKind)
- newtype LedgerTables blk (mk ∷ MapKind) = LedgerTables {
- getLedgerTables ∷ mk (TxIn blk) (TxOut blk)
- class (EraBlockBody era, EraGov era, ApplyTx era, ApplyTick era, EraTransition era, EraForecast era, NoThunks (StashedAVVMAddresses era), EncCBOR (StashedAVVMAddresses era), DecCBOR (StashedAVVMAddresses era), Show (StashedAVVMAddresses era), Eq (StashedAVVMAddresses era), DecCBOR (PredicateFailure (EraRule "LEDGER" era)), EncCBOR (PredicateFailure (EraRule "LEDGER" era)), DecCBOR (PredicateFailure (EraRule "UTXOW" era)), EncCBOR (PredicateFailure (EraRule "UTXOW" era)), Eq (PredicateFailure (EraRule "BBODY" era)), Show (PredicateFailure (EraRule "BBODY" era)), NoThunks (TranslationContext era), ToCBOR (TranslationContext era), FromCBOR (TranslationContext era)) ⇒ ShelleyBasedEra era where
- applyShelleyBasedTx ∷ Globals → LedgerEnv era → LedgerState era → WhetherToIntervene → Tx 'TopTx era → Except (ApplyTxError era) (LedgerState era, Validated (Tx 'TopTx era))
- getConwayEraGovDict ∷ proxy era → Maybe (ConwayEraGovDict era)
- mkEraMkMempoolApplyTxError ∷ proxy era → Maybe (Text → ApplyTxError era)
- getShelleyEraPerasRoundLength ∷ proxy era → PerasEnabled PerasRoundLength
- data ShelleyTip proto era = ShelleyTip {
- shelleyTipSlotNo ∷ !SlotNo
- shelleyTipBlockNo ∷ !BlockNo
- shelleyTipHash ∷ !(HeaderHash (ShelleyBlock proto era))
- newtype ShelleyTransition = ShelleyTransitionInfo {}
- data family Ticked (st ∷ k) ∷ k
- castShelleyTip ∷ ShelleyTip proto era → ShelleyTip proto' era'
- shelleyLedgerTipPoint ∷ ∀ proto era (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Point (ShelleyBlock proto era)
- shelleyTipToPoint ∷ WithOrigin (ShelleyTip proto era) → Point (ShelleyBlock proto era)
- data ShelleyLedgerConfig era = ShelleyLedgerConfig {}
- data ShelleyPartialLedgerConfig era = ShelleyPartialLedgerConfig {}
- mkShelleyLedgerConfig ∷ ShelleyGenesis → TranslationContext era → EpochInfo (Except PastHorizonException) → ShelleyLedgerConfig era
- shelleyEraParams ∷ ShelleyBasedEra era ⇒ ShelleyGenesis → Proxy era → EraParams
- shelleyEraParamsNeverHardForks ∷ ShelleyGenesis → PerasEnabled PerasRoundLength → EraParams
- shelleyLedgerGenesis ∷ ShelleyLedgerConfig era → ShelleyGenesis
- data ShelleyLedgerEvent era
- = ShelleyLedgerEventBBODY (Event (EraRule "BBODY" era))
- | ShelleyLedgerEventTICK (Event (EraRule "TICK" era))
- data ShelleyReapplyException = Show (BlockTransitionError era) ⇒ ShelleyReapplyException (BlockTransitionError era)
- getPParams ∷ EraGov era ⇒ NewEpochState era → PParams era
- decodeShelleyAnnTip ∷ Decoder s (AnnTip (ShelleyBlock proto era))
- decodeShelleyLedgerState ∷ ∀ era proto s. ShelleyCompatible proto era ⇒ Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK)
- encodeShelleyAnnTip ∷ AnnTip (ShelleyBlock proto era) → Encoding
- encodeShelleyHeaderState ∷ ShelleyCompatible proto era ⇒ HeaderState (ShelleyBlock proto era) → Encoding
- encodeShelleyLedgerState ∷ ShelleyCompatible proto era ⇒ LedgerState (ShelleyBlock proto era) EmptyMK → Encoding
- slUtxoL ∷ NewEpochState era → UTxO era → (UTxO era, NewEpochState era)
- newtype BigEndianTxIn = BigEndianTxIn {}
Documentation
data family LedgerState blk (mk ∷ MapKind) Source #
Ledger state associated with a block
This is the Consensus notion of a Ledger ledger state. Each block type is
associated with one of the Ledger types for the ledger state. Virtually
every concept in this codebase revolves around this type, or the referenced
blk. Whenever we use the type variable l we intend to signal that the
expected instantiation is either a LedgerState or some wrapper over it
(like the ExtLedgerState).
This type is parametrized over mk :: to express the
MapKindLedgerTables contained in such a LedgerState. See LedgerTables for a
more thorough description.
The main operations we can do with a LedgerState are ticking (defined in
IsLedger), and applying a block (defined in
ApplyBlock).
Instances
newtype LedgerTables blk (mk ∷ MapKind) Source #
The Ledger Tables represent the portion of the data on disk that has been pulled from disk and attached to the in-memory Ledger State or that will eventually be written to disk.
With UTxO-HD and the split of the Ledger ledger state into the in-memory
part and the on-disk part, this splitting was reflected in the new type
parameter added to the (Consensus)
LedgerState, to which we refer as "the
MapKind" or mk.
Every LedgerState (or LedgerState-like
type, such as the ExtLedgerState) is
associated with a LedgerTables and they both share the mk. They both are
of kind LedgerStateKind. LedgerTables is just a way to refer only to a
partial view of the on-disk data without having the rest of the in-memory
LedgerState in scope.
The mk can be instantiated to anything that is map-like, i.e. that expects
two type parameters, the key and the value.
Constructors
| LedgerTables | |
Fields
| |
Instances
| (∀ k v. LedgerTableConstraints' l k v ⇒ Monoid (mk k v), LedgerTableConstraints l) ⇒ Monoid (LedgerTables l mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Combinators Methods mempty ∷ LedgerTables l mk # mappend ∷ LedgerTables l mk → LedgerTables l mk → LedgerTables l mk # mconcat ∷ [LedgerTables l mk] → LedgerTables l mk # | |||||
| (∀ k v. LedgerTableConstraints' blk k v ⇒ Semigroup (mk k v), LedgerTableConstraints blk) ⇒ Semigroup (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Combinators Methods (<>) ∷ LedgerTables blk mk → LedgerTables blk mk → LedgerTables blk mk # sconcat ∷ NonEmpty (LedgerTables blk mk) → LedgerTables blk mk # stimes ∷ Integral b ⇒ b → LedgerTables blk mk → LedgerTables blk mk # | |||||
| Eq (mk (TxIn blk) (TxOut blk)) ⇒ Eq (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Methods (==) ∷ LedgerTables blk mk → LedgerTables blk mk → Bool # (/=) ∷ LedgerTables blk mk → LedgerTables blk mk → Bool # | |||||
| Generic (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Associated Types
Methods from ∷ LedgerTables blk mk → Rep (LedgerTables blk mk) x # to ∷ Rep (LedgerTables blk mk) x → LedgerTables blk mk # | |||||
| Show (mk (TxIn blk) (TxOut blk)) ⇒ Show (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics Methods showsPrec ∷ Int → LedgerTables blk mk → ShowS # show ∷ LedgerTables blk mk → String # showList ∷ [LedgerTables blk mk] → ShowS # | |||||
| NoThunks (mk (TxIn blk) (TxOut blk)) ⇒ NoThunks (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics | |||||
| type Rep (LedgerTables blk mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Tables.Basics type Rep (LedgerTables blk mk) = D1 ('MetaData "LedgerTables" "Ouroboros.Consensus.Ledger.Tables.Basics" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "LedgerTables" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLedgerTables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (mk (TxIn blk) (TxOut blk))))) | |||||
class (EraBlockBody era, EraGov era, ApplyTx era, ApplyTick era, EraTransition era, EraForecast era, NoThunks (StashedAVVMAddresses era), EncCBOR (StashedAVVMAddresses era), DecCBOR (StashedAVVMAddresses era), Show (StashedAVVMAddresses era), Eq (StashedAVVMAddresses era), DecCBOR (PredicateFailure (EraRule "LEDGER" era)), EncCBOR (PredicateFailure (EraRule "LEDGER" era)), DecCBOR (PredicateFailure (EraRule "UTXOW" era)), EncCBOR (PredicateFailure (EraRule "UTXOW" era)), Eq (PredicateFailure (EraRule "BBODY" era)), Show (PredicateFailure (EraRule "BBODY" era)), NoThunks (TranslationContext era), ToCBOR (TranslationContext era), FromCBOR (TranslationContext era)) ⇒ ShelleyBasedEra era where Source #
Consensus often needs some more functionality than the ledger currently provides.
Either the functionality shouldn't or can't live in the ledger, in which case
it can be part and remain part of ShelleyBasedEra. Or, the functionality
should live in the ledger, but hasn't yet been added to the ledger, or it
hasn't yet been propagated to this repository, in which case it can be added
to this class until that is the case.
If this class becomes redundant, We can move it to ledger and re-export it from here.
TODO Currently we include some constraints on the update state which are needed to determine the hard fork point. In the future this should be replaced with an appropriate API - see https://github.com/IntersectMBO/ouroboros-network/issues/2890
Minimal complete definition
applyShelleyBasedTx, getConwayEraGovDict, mkEraMkMempoolApplyTxError
Methods
applyShelleyBasedTx ∷ Globals → LedgerEnv era → LedgerState era → WhetherToIntervene → Tx 'TopTx era → Except (ApplyTxError era) (LedgerState era, Validated (Tx 'TopTx era)) Source #
getConwayEraGovDict ∷ proxy era → Maybe (ConwayEraGovDict era) Source #
Whether the era has an instance of ConwayEraGov
mkEraMkMempoolApplyTxError ∷ proxy era → Maybe (Text → ApplyTxError era) Source #
getShelleyEraPerasRoundLength ∷ proxy era → PerasEnabled PerasRoundLength Source #
Retrieve the optionally enabled Peras round length of this epoch.
Defaults to NoPerasEnabled for eras that don't explictily support Peras.
Instances
| ShelleyBasedEra AllegraEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv AllegraEra → LedgerState AllegraEra → WhetherToIntervene → Tx 'TopTx AllegraEra → Except (ApplyTxError AllegraEra) (LedgerState AllegraEra, Validated (Tx 'TopTx AllegraEra)) Source # getConwayEraGovDict ∷ proxy AllegraEra → Maybe (ConwayEraGovDict AllegraEra) Source # mkEraMkMempoolApplyTxError ∷ proxy AllegraEra → Maybe (Text → ApplyTxError AllegraEra) Source # getShelleyEraPerasRoundLength ∷ proxy AllegraEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra AlonzoEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv AlonzoEra → LedgerState AlonzoEra → WhetherToIntervene → Tx 'TopTx AlonzoEra → Except (ApplyTxError AlonzoEra) (LedgerState AlonzoEra, Validated (Tx 'TopTx AlonzoEra)) Source # getConwayEraGovDict ∷ proxy AlonzoEra → Maybe (ConwayEraGovDict AlonzoEra) Source # mkEraMkMempoolApplyTxError ∷ proxy AlonzoEra → Maybe (Text → ApplyTxError AlonzoEra) Source # getShelleyEraPerasRoundLength ∷ proxy AlonzoEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra BabbageEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv BabbageEra → LedgerState BabbageEra → WhetherToIntervene → Tx 'TopTx BabbageEra → Except (ApplyTxError BabbageEra) (LedgerState BabbageEra, Validated (Tx 'TopTx BabbageEra)) Source # getConwayEraGovDict ∷ proxy BabbageEra → Maybe (ConwayEraGovDict BabbageEra) Source # mkEraMkMempoolApplyTxError ∷ proxy BabbageEra → Maybe (Text → ApplyTxError BabbageEra) Source # getShelleyEraPerasRoundLength ∷ proxy BabbageEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra ConwayEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv ConwayEra → LedgerState ConwayEra → WhetherToIntervene → Tx 'TopTx ConwayEra → Except (ApplyTxError ConwayEra) (LedgerState ConwayEra, Validated (Tx 'TopTx ConwayEra)) Source # getConwayEraGovDict ∷ proxy ConwayEra → Maybe (ConwayEraGovDict ConwayEra) Source # mkEraMkMempoolApplyTxError ∷ proxy ConwayEra → Maybe (Text → ApplyTxError ConwayEra) Source # getShelleyEraPerasRoundLength ∷ proxy ConwayEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra DijkstraEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv DijkstraEra → LedgerState DijkstraEra → WhetherToIntervene → Tx 'TopTx DijkstraEra → Except (ApplyTxError DijkstraEra) (LedgerState DijkstraEra, Validated (Tx 'TopTx DijkstraEra)) Source # getConwayEraGovDict ∷ proxy DijkstraEra → Maybe (ConwayEraGovDict DijkstraEra) Source # mkEraMkMempoolApplyTxError ∷ proxy DijkstraEra → Maybe (Text → ApplyTxError DijkstraEra) Source # getShelleyEraPerasRoundLength ∷ proxy DijkstraEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra MaryEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv MaryEra → LedgerState MaryEra → WhetherToIntervene → Tx 'TopTx MaryEra → Except (ApplyTxError MaryEra) (LedgerState MaryEra, Validated (Tx 'TopTx MaryEra)) Source # getConwayEraGovDict ∷ proxy MaryEra → Maybe (ConwayEraGovDict MaryEra) Source # mkEraMkMempoolApplyTxError ∷ proxy MaryEra → Maybe (Text → ApplyTxError MaryEra) Source # getShelleyEraPerasRoundLength ∷ proxy MaryEra → PerasEnabled PerasRoundLength Source # | |
| ShelleyBasedEra ShelleyEra Source # | |
Defined in Ouroboros.Consensus.Shelley.Eras Methods applyShelleyBasedTx ∷ Globals → LedgerEnv ShelleyEra → LedgerState ShelleyEra → WhetherToIntervene → Tx 'TopTx ShelleyEra → Except (ApplyTxError ShelleyEra) (LedgerState ShelleyEra, Validated (Tx 'TopTx ShelleyEra)) Source # getConwayEraGovDict ∷ proxy ShelleyEra → Maybe (ConwayEraGovDict ShelleyEra) Source # mkEraMkMempoolApplyTxError ∷ proxy ShelleyEra → Maybe (Text → ApplyTxError ShelleyEra) Source # getShelleyEraPerasRoundLength ∷ proxy ShelleyEra → PerasEnabled PerasRoundLength Source # | |
data ShelleyTip proto era Source #
Constructors
| ShelleyTip | |
Fields
| |
Instances
| (ShelleyBasedEra era, ShelleyBasedEra (PreviousEra era), Era (PreviousEra era)) ⇒ TranslateEra era (ShelleyTip proto) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC Associated Types
Methods translateEra ∷ TranslationContext era → ShelleyTip proto (PreviousEra era) → Except (TranslationError era (ShelleyTip proto)) (ShelleyTip proto era) Source # | |||||
| Eq (ShelleyTip proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods (==) ∷ ShelleyTip proto era → ShelleyTip proto era → Bool # (/=) ∷ ShelleyTip proto era → ShelleyTip proto era → Bool # | |||||
| Generic (ShelleyTip proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ ShelleyTip proto era → Rep (ShelleyTip proto era) x # to ∷ Rep (ShelleyTip proto era) x → ShelleyTip proto era # | |||||
| Show (ShelleyTip proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → ShelleyTip proto era → ShowS # show ∷ ShelleyTip proto era → String # showList ∷ [ShelleyTip proto era] → ShowS # | |||||
| NoThunks (ShelleyTip proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||
| type TranslationError era (ShelleyTip proto) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.ShelleyHFC | |||||
| type Rep (ShelleyTip proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (ShelleyTip proto era) = D1 ('MetaData "ShelleyTip" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyTip" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyTipSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SlotNo) :*: (S1 ('MetaSel ('Just "shelleyTipBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlockNo) :*: S1 ('MetaSel ('Just "shelleyTipHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash (ShelleyBlock proto era)))))) | |||||
newtype ShelleyTransition Source #
Information required to determine the hard fork point from Shelley to the next ledger
Constructors
| ShelleyTransitionInfo | |
Fields
| |
Instances
| Eq ShelleyTransition Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods | |||||
| Generic ShelleyTransition Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ ShelleyTransition → Rep ShelleyTransition x # to ∷ Rep ShelleyTransition x → ShelleyTransition # | |||||
| Show ShelleyTransition Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → ShelleyTransition → ShowS # show ∷ ShelleyTransition → String # showList ∷ [ShelleyTransition] → ShowS # | |||||
| NoThunks ShelleyTransition Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||
| type Rep ShelleyTransition Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep ShelleyTransition = D1 ('MetaData "ShelleyTransition" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ShelleyTransitionInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyAfterVoting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) | |||||
data family Ticked (st ∷ k) ∷ k Source #
" Ticked " piece of state, either LedgerState or ChainDepState
Ticking refers to the passage of time (the ticking of the clock). When a
piece of state is marked as ticked, it means that time-related changes have
been applied to the state. There are exactly two methods in the interface
that do that: tickChainDepState and
applyChainTickLedgerResult.
Also note that a successful forecast
must equal
forecastFor
(ledgerViewForecastAt cfg st)
slot. Thus a
protocolLedgerView cfg
(applyChainTick cfg slot st)LedgerView can only be projected
from a Ticked state, but cannot itself be ticked.
Some examples of time related changes:
- Scheduled delegations might have been applied in Byron
- New leader schedule computed for Shelley
- Transition from Byron to Shelley activated in the hard fork combinator.
- Nonces switched out at the start of a new epoch.
Ticked is used mainly in two ways:
Ticked (Ext)LedgerStatewhere its kind gets concretized toStateKind -> StateKindTicked (HeaderState blk)where its kind gets concretized toType -> Type
Instances
| Show (Ticked ()) Source # | |||||
| CanHardFork xs ⇒ ChainDepStateSupportsPeras (Ticked (HardForkChainDepState xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol Methods getEpochNonce ∷ Ticked (HardForkChainDepState xs) → Nonce Source # | |||||
| ChainDepStateSupportsPeras (Ticked (ChainDepState (BlockProtocol blk))) ⇒ ChainDepStateSupportsPeras (Ticked (HeaderState blk)) Source # | |||||
Defined in Ouroboros.Consensus.HeaderValidation Methods getEpochNonce ∷ Ticked (HeaderState blk) → Nonce Source # | |||||
| ChainDepStateSupportsPeras (Ticked (PBftState c)) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.PBFT | |||||
| ChainDepStateSupportsPeras (Ticked PraosState) # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos Methods getEpochNonce ∷ Ticked PraosState → Nonce Source # | |||||
| ChainDepStateSupportsPeras (Ticked TPraosState) # | |||||
Defined in Ouroboros.Consensus.Protocol.TPraos Methods getEpochNonce ∷ Ticked TPraosState → Nonce Source # | |||||
| ChainDepStateSupportsPeras (Ticked ()) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.Abstract Methods getEpochNonce ∷ Ticked () → Nonce Source # | |||||
| HasLedgerTables (Ticked LedgerState) ByronBlock Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState ByronBlock mk → LedgerTables ByronBlock mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState ByronBlock any → LedgerTables ByronBlock mk → Ticked LedgerState ByronBlock mk Source # | |||||
| (NoThunks (TxIn blk), NoThunks (TxOut blk), HasLedgerTables (Ticked LedgerState) blk) ⇒ HasLedgerTables (Ticked ExtLedgerState) blk Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked ExtLedgerState blk mk → LedgerTables blk mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked ExtLedgerState blk any → LedgerTables blk mk → Ticked ExtLedgerState blk mk Source # | |||||
| LedgerTablesAreTrivial (Ticked LedgerState) ByronBlock Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods convertMapKind ∷ ∀ (mk ∷ MapKind) (mk' ∷ MapKind). Ticked LedgerState ByronBlock mk → Ticked LedgerState ByronBlock mk' Source # | |||||
| (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) ⇒ HasLedgerTables (Ticked LedgerState) (HardForkBlock xs) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (HardForkBlock xs) mk → LedgerTables (HardForkBlock xs) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (HardForkBlock xs) any → LedgerTables (HardForkBlock xs) mk → Ticked LedgerState (HardForkBlock xs) mk Source # | |||||
| (Bridge m a, HasLedgerTables (Ticked LedgerState) m) ⇒ HasLedgerTables (Ticked LedgerState) (DualBlock m a) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (DualBlock m a) mk → LedgerTables (DualBlock m a) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (DualBlock m a) any → LedgerTables (DualBlock m a) mk → Ticked LedgerState (DualBlock m a) mk Source # | |||||
| ShelleyBasedEra era ⇒ HasLedgerTables (Ticked LedgerState) (ShelleyBlock proto era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) mk → LedgerTables (ShelleyBlock proto era) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) any → LedgerTables (ShelleyBlock proto era) mk → Ticked LedgerState (ShelleyBlock proto era) mk Source # | |||||
| CanHardFork xs ⇒ GetTip (Ticked LedgerState (HardForkBlock xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked LedgerState (HardForkBlock xs) mk → Point (Ticked LedgerState (HardForkBlock xs)) Source # | |||||
| Bridge m a ⇒ GetTip (Ticked LedgerState (DualBlock m a)) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
| GetTip (Ticked LedgerState ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked LedgerState ByronBlock mk → Point (Ticked LedgerState ByronBlock) Source # | |||||
| GetTip (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked LedgerState (ShelleyBlock proto era) mk → Point (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
| IsLedger LedgerState blk ⇒ GetTip (Ticked ExtLedgerState blk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked ExtLedgerState blk mk → Point (Ticked ExtLedgerState blk) Source # | |||||
| CanHardFork xs ⇒ LedgerStateSupportsPeras (Ticked LedgerState (HardForkBlock xs)) Source # |
| ||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger Methods getPoolDistr ∷ Ticked LedgerState (HardForkBlock xs) EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → Ticked LedgerState (HardForkBlock xs) EmptyMK → PerasParams blk Source # | |||||
| LedgerStateSupportsPeras (Ticked LedgerState (DualBlock m a)) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods getPoolDistr ∷ Ticked LedgerState (DualBlock m a) EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → Ticked LedgerState (DualBlock m a) EmptyMK → PerasParams blk Source # | |||||
| LedgerStateSupportsPeras (Ticked LedgerState ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods getPoolDistr ∷ Ticked LedgerState ByronBlock EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → Ticked LedgerState ByronBlock EmptyMK → PerasParams blk Source # | |||||
| LedgerStateSupportsPeras (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods getPoolDistr ∷ Ticked LedgerState (ShelleyBlock proto era) EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → Ticked LedgerState (ShelleyBlock proto era) EmptyMK → PerasParams blk Source # | |||||
| ShelleyBasedEra era ⇒ CanStowLedgerTables (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods stowLedgerTables ∷ Ticked LedgerState (ShelleyBlock proto era) ValuesMK → Ticked LedgerState (ShelleyBlock proto era) EmptyMK Source # unstowLedgerTables ∷ Ticked LedgerState (ShelleyBlock proto era) EmptyMK → Ticked LedgerState (ShelleyBlock proto era) ValuesMK Source # | |||||
| Generic (Ticked LedgerState ByronBlock mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Associated Types
Methods from ∷ Ticked LedgerState ByronBlock mk → Rep (Ticked LedgerState ByronBlock mk) x # to ∷ Rep (Ticked LedgerState ByronBlock mk) x → Ticked LedgerState ByronBlock mk # | |||||
| Generic (Ticked LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ Ticked LedgerState (ShelleyBlock proto era) mk → Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x # to ∷ Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x → Ticked LedgerState (ShelleyBlock proto era) mk # | |||||
| NoThunks (Ticked LedgerState (DualBlock m a) mk) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
| NoThunks (Ticked LedgerState ByronBlock mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger Methods noThunks ∷ Context → Ticked LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → Ticked LedgerState ByronBlock mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (Ticked LedgerState ByronBlock mk) → String Source # | |||||
| Show (Ticked (f a)) ⇒ Show (((Ticked ∷ Type → Type) :.: f) a) Source # | |||||
| NoThunks (Ticked (f a)) ⇒ NoThunks (((Ticked ∷ Type → Type) :.: f) a) Source # | |||||
| data Ticked PraosState # | |||||
Defined in Ouroboros.Consensus.Protocol.Praos data Ticked PraosState = TickedPraosState {
| |||||
| data Ticked TPraosState # | |||||
Defined in Ouroboros.Consensus.Protocol.TPraos | |||||
| data Ticked () Source # | |||||
Defined in Ouroboros.Consensus.Ticked | |||||
| data Ticked (HardForkChainDepState xs ∷ Type) Source # | |||||
| data Ticked (HeaderState blk ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.HeaderValidation | |||||
| data Ticked (PBftState c ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.Protocol.PBFT | |||||
| newtype Ticked (WrapChainDepState blk ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.TypeFamilyWrappers | |||||
| type HeaderHash (Ticked l blk ∷ k2) Source # | |||||
Defined in Ouroboros.Consensus.Ticked | |||||
| data Ticked ExtLedgerState (blk ∷ Type) (mk ∷ MapKind) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Extended data Ticked ExtLedgerState (blk ∷ Type) (mk ∷ MapKind) = TickedExtLedgerState {
| |||||
| data Ticked LedgerState ByronBlock (mk ∷ MapKind) Source # | The ticked Byron ledger state | ||||
| data Ticked LedgerState (HardForkBlock xs ∷ Type) (mk ∷ MapKind) Source # | |||||
| data Ticked LedgerState (DualBlock m a ∷ Type) (mk ∷ MapKind) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
| data Ticked LedgerState (ShelleyBlock proto era ∷ Type) (mk ∷ MapKind) Source # | Ticking only affects the state itself | ||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger data Ticked LedgerState (ShelleyBlock proto era ∷ Type) (mk ∷ MapKind) = TickedShelleyLedgerState {
| |||||
| type Rep (Ticked LedgerState ByronBlock mk) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Ledger type Rep (Ticked LedgerState ByronBlock mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByronTransition))) | |||||
| type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (Ticked LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (ShelleyBlock proto era) mk))))) | |||||
castShelleyTip ∷ ShelleyTip proto era → ShelleyTip proto' era' Source #
shelleyLedgerTipPoint ∷ ∀ proto era (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Point (ShelleyBlock proto era) Source #
shelleyTipToPoint ∷ WithOrigin (ShelleyTip proto era) → Point (ShelleyBlock proto era) Source #
Ledger config
data ShelleyLedgerConfig era Source #
Constructors
| ShelleyLedgerConfig | |
Fields
| |
Instances
| Generic (ShelleyLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ ShelleyLedgerConfig era → Rep (ShelleyLedgerConfig era) x # to ∷ Rep (ShelleyLedgerConfig era) x → ShelleyLedgerConfig era # | |||||
| Show (TranslationContext era) ⇒ Show (ShelleyLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → ShelleyLedgerConfig era → ShowS # show ∷ ShelleyLedgerConfig era → String # showList ∷ [ShelleyLedgerConfig era] → ShowS # | |||||
| (NoThunks (TranslationContext era), Era era) ⇒ NoThunks (ShelleyLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||
| (NoHardForks (ShelleyBlock proto era), ShelleyCompatible proto era) ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ShelleyLedgerConfig era) Source # | This instance uses the invariant that the | ||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ShelleyLedgerConfig era → Encoding Source # decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyLedgerConfig era) Source # | |||||
| type Rep (ShelleyLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (ShelleyLedgerConfig era) = D1 ('MetaData "ShelleyLedgerConfig" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyLedgerConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyLedgerCompactGenesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CompactGenesis) :*: (S1 ('MetaSel ('Just "shelleyLedgerGlobals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Globals) :*: S1 ('MetaSel ('Just "shelleyLedgerTranslationContext") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TranslationContext era))))) | |||||
data ShelleyPartialLedgerConfig era Source #
Constructors
| ShelleyPartialLedgerConfig | |
Fields
| |
Instances
| Generic (ShelleyPartialLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Associated Types
Methods from ∷ ShelleyPartialLedgerConfig era → Rep (ShelleyPartialLedgerConfig era) x # to ∷ Rep (ShelleyPartialLedgerConfig era) x → ShelleyPartialLedgerConfig era # | |||||
| Show (ShelleyLedgerConfig era) ⇒ Show (ShelleyPartialLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → ShelleyPartialLedgerConfig era → ShowS # show ∷ ShelleyPartialLedgerConfig era → String # showList ∷ [ShelleyPartialLedgerConfig era] → ShowS # | |||||
| (NoThunks (TranslationContext era), Era era) ⇒ NoThunks (ShelleyPartialLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |||||
| ShelleyBasedEra era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ShelleyPartialLedgerConfig era) Source # | This instance uses the invariant that the | ||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ShelleyPartialLedgerConfig era → Encoding Source # decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyPartialLedgerConfig era) Source # | |||||
| type Rep (ShelleyPartialLedgerConfig era) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger type Rep (ShelleyPartialLedgerConfig era) = D1 ('MetaData "ShelleyPartialLedgerConfig" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyPartialLedgerConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "shelleyLedgerConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ShelleyLedgerConfig era)) :*: S1 ('MetaSel ('Just "shelleyTriggerHardFork") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TriggerHardFork))) | |||||
mkShelleyLedgerConfig ∷ ShelleyGenesis → TranslationContext era → EpochInfo (Except PastHorizonException) → ShelleyLedgerConfig era Source #
shelleyEraParams ∷ ShelleyBasedEra era ⇒ ShelleyGenesis → Proxy era → EraParams Source #
shelleyEraParamsNeverHardForks ∷ ShelleyGenesis → PerasEnabled PerasRoundLength → EraParams Source #
Separate variant of shelleyEraParams to be used for a Shelley-only chain.
Auxiliary
data ShelleyLedgerEvent era Source #
All events emitted by the Shelley ledger API
Constructors
| ShelleyLedgerEventBBODY (Event (EraRule "BBODY" era)) | An event emitted when (re)applying a block |
| ShelleyLedgerEventTICK (Event (EraRule "TICK" era)) | An event emitted during the chain tick |
data ShelleyReapplyException Source #
Constructors
| Show (BlockTransitionError era) ⇒ ShelleyReapplyException (BlockTransitionError era) |
Instances
getPParams ∷ EraGov era ⇒ NewEpochState era → PParams era Source #
Serialisation
decodeShelleyAnnTip ∷ Decoder s (AnnTip (ShelleyBlock proto era)) Source #
decodeShelleyLedgerState ∷ ∀ era proto s. ShelleyCompatible proto era ⇒ Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK) Source #
encodeShelleyAnnTip ∷ AnnTip (ShelleyBlock proto era) → Encoding Source #
encodeShelleyHeaderState ∷ ShelleyCompatible proto era ⇒ HeaderState (ShelleyBlock proto era) → Encoding Source #
encodeShelleyLedgerState ∷ ShelleyCompatible proto era ⇒ LedgerState (ShelleyBlock proto era) EmptyMK → Encoding Source #
Low-level UTxO manipulations
slUtxoL ∷ NewEpochState era → UTxO era → (UTxO era, NewEpochState era) Source #
newtype BigEndianTxIn Source #
The only purpose of this type is to modify the MemPack instance to use big endian serialization. This is necessary to ensure streaming functions of the UTxO set preserve the order of the entries, as otherwise we would get different sortings if sorting via the Serialized form and the Haskell Ord instance.
TODO: fix this in the Ledger. See cardano-ledger#5336.
Constructors
| BigEndianTxIn | |
Fields | |
Instances
| Eq BigEndianTxIn Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |
| Ord BigEndianTxIn Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods compare ∷ BigEndianTxIn → BigEndianTxIn → Ordering # (<) ∷ BigEndianTxIn → BigEndianTxIn → Bool # (<=) ∷ BigEndianTxIn → BigEndianTxIn → Bool # (>) ∷ BigEndianTxIn → BigEndianTxIn → Bool # (>=) ∷ BigEndianTxIn → BigEndianTxIn → Bool # | |
| Show BigEndianTxIn Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger Methods showsPrec ∷ Int → BigEndianTxIn → ShowS # show ∷ BigEndianTxIn → String # showList ∷ [BigEndianTxIn] → ShowS # | |
| MemPack BigEndianTxIn Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |
| NoThunks BigEndianTxIn Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger | |
Orphan instances
| ShelleyCompatible proto era ⇒ ApplyBlock LedgerState (ShelleyBlock proto era) Source # | |||||
Methods applyBlockLedgerResultWithValidation ∷ ValidationPolicy → ComputeLedgerEvents → LedgerCfg LedgerState (ShelleyBlock proto era) → ShelleyBlock proto era → Ticked LedgerState (ShelleyBlock proto era) ValuesMK → Except (LedgerErr LedgerState (ShelleyBlock proto era)) (LedgerResult (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) DiffMK)) Source # applyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg LedgerState (ShelleyBlock proto era) → ShelleyBlock proto era → Ticked LedgerState (ShelleyBlock proto era) ValuesMK → Except (LedgerErr LedgerState (ShelleyBlock proto era)) (LedgerResult (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) DiffMK)) Source # reapplyBlockLedgerResult ∷ ComputeLedgerEvents → LedgerCfg LedgerState (ShelleyBlock proto era) → ShelleyBlock proto era → Ticked LedgerState (ShelleyBlock proto era) ValuesMK → LedgerResult (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) DiffMK) Source # | |||||
| ShelleyBasedEra era ⇒ IsLedger LedgerState (ShelleyBlock proto era) Source # | |||||
Associated Types
Methods applyChainTickLedgerResult ∷ ComputeLedgerEvents → LedgerCfg LedgerState (ShelleyBlock proto era) → SlotNo → LedgerState (ShelleyBlock proto era) EmptyMK → LedgerResult (ShelleyBlock proto era) (Ticked LedgerState (ShelleyBlock proto era) DiffMK) Source # | |||||
| CanUpgradeLedgerTables LedgerState (ShelleyBlock proto era) Source # | |||||
Methods upgradeTables ∷ ∀ (mk1 ∷ MapKind) (mk2 ∷ MapKind). LedgerState (ShelleyBlock proto era) mk1 → LedgerState (ShelleyBlock proto era) mk2 → LedgerTables (ShelleyBlock proto era) ValuesMK → LedgerTables (ShelleyBlock proto era) ValuesMK Source # | |||||
| ShelleyBasedEra era ⇒ HasLedgerTables LedgerState (ShelleyBlock proto era) Source # | |||||
Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) mk → LedgerTables (ShelleyBlock proto era) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ LedgerState (ShelleyBlock proto era) any → LedgerTables (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk Source # | |||||
| ShelleyCompatible proto era ⇒ SerializeTablesWithHint LedgerState (ShelleyBlock proto era) Source # | |||||
Methods encodeTablesWithHint ∷ LedgerState (ShelleyBlock proto era) EmptyMK → LedgerTables (ShelleyBlock proto era) ValuesMK → Encoding Source # decodeTablesWithHint ∷ LedgerState (ShelleyBlock proto era) EmptyMK → Decoder s (LedgerTables (ShelleyBlock proto era) ValuesMK) Source # | |||||
| (txout ~ TxOut era, MemPack txout) ⇒ IndexedMemPack LedgerState (ShelleyBlock proto era) txout Source # | |||||
Methods indexedPackedByteCount ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Int Source # indexedPackM ∷ LedgerState (ShelleyBlock proto era) EmptyMK → txout → Pack s () Source # indexedUnpackM ∷ Buffer b ⇒ ∀ s. LedgerState (ShelleyBlock proto era) EmptyMK → Unpack s b txout Source # indexedTypeName ∷ Proxy txout → LedgerState (ShelleyBlock proto era) EmptyMK → String Source # | |||||
| GetTip (LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods getTip ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Point (LedgerState (ShelleyBlock proto era)) Source # | |||||
| LedgerStateSupportsPeras (LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods getPoolDistr ∷ LedgerState (ShelleyBlock proto era) EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → LedgerState (ShelleyBlock proto era) EmptyMK → PerasParams blk Source # | |||||
| ShelleyBasedEra era ⇒ CanStowLedgerTables (LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods stowLedgerTables ∷ LedgerState (ShelleyBlock proto era) ValuesMK → LedgerState (ShelleyBlock proto era) EmptyMK Source # unstowLedgerTables ∷ LedgerState (ShelleyBlock proto era) EmptyMK → LedgerState (ShelleyBlock proto era) ValuesMK Source # | |||||
| (ShelleyBasedEra era, EqMK mk) ⇒ Eq (LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Methods (==) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool # (/=) ∷ LedgerState (ShelleyBlock proto era) mk → LedgerState (ShelleyBlock proto era) mk → Bool # | |||||
| Generic (LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Associated Types
Methods from ∷ LedgerState (ShelleyBlock proto era) mk → Rep (LedgerState (ShelleyBlock proto era) mk) x # to ∷ Rep (LedgerState (ShelleyBlock proto era) mk) x → LedgerState (ShelleyBlock proto era) mk # | |||||
| (ShelleyBasedEra era, ShowMK mk) ⇒ Show (LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Methods showsPrec ∷ Int → LedgerState (ShelleyBlock proto era) mk → ShowS # show ∷ LedgerState (ShelleyBlock proto era) mk → String # showList ∷ [LedgerState (ShelleyBlock proto era) mk] → ShowS # | |||||
| (ShelleyBasedEra era, NoThunksMK mk) ⇒ NoThunks (LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Methods noThunks ∷ Context → LedgerState (ShelleyBlock proto era) mk → IO (Maybe ThunkInfo) Source # wNoThunks ∷ Context → LedgerState (ShelleyBlock proto era) mk → IO (Maybe ThunkInfo) Source # showTypeOf ∷ Proxy (LedgerState (ShelleyBlock proto era) mk) → String Source # | |||||
| ShelleyBasedEra era ⇒ HasHardForkHistory (ShelleyBlock proto era) Source # | |||||
Associated Types
Methods hardForkSummary ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock proto era) → LedgerState (ShelleyBlock proto era) mk → Summary (HardForkIndices (ShelleyBlock proto era)) Source # | |||||
| ShelleyCompatible proto era ⇒ HasPartialLedgerConfig (ShelleyBlock proto era) Source # | |||||
Associated Types
Methods completeLedgerConfig ∷ proxy (ShelleyBlock proto era) → EpochInfo (Except PastHorizonException) → PartialLedgerConfig (ShelleyBlock proto era) → LedgerConfig (ShelleyBlock proto era) Source # | |||||
| ShelleyCompatible proto era ⇒ BasicEnvelopeValidation (ShelleyBlock proto era) Source # | |||||
Methods expectedFirstBlockNo ∷ proxy (ShelleyBlock proto era) → BlockNo Source # expectedNextBlockNo ∷ proxy (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → BlockNo → BlockNo Source # minimumPossibleSlotNo ∷ Proxy (ShelleyBlock proto era) → SlotNo Source # minimumNextSlotNo ∷ proxy (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → TipInfo (ShelleyBlock proto era) → SlotNo → SlotNo Source # | |||||
| ShelleyCompatible proto era ⇒ ValidateEnvelope (ShelleyBlock proto era) Source # | |||||
Associated Types
Methods additionalEnvelopeChecks ∷ TopLevelConfig (ShelleyBlock proto era) → LedgerView (BlockProtocol (ShelleyBlock proto era)) → Header (ShelleyBlock proto era) → Except (OtherHeaderEnvelopeError (ShelleyBlock proto era)) () Source # | |||||
| ShelleyCompatible proto era ⇒ GetBlockKeySets (ShelleyBlock proto era) Source # | |||||
Methods getBlockKeySets ∷ ShelleyBlock proto era → LedgerTables (ShelleyBlock proto era) KeysMK Source # | |||||
| ShelleyCompatible proto era ⇒ UpdateLedger (ShelleyBlock proto era) Source # | |||||
| ShelleyCompatible proto era ⇒ CommonProtocolParams (ShelleyBlock proto era) Source # | |||||
Methods maxHeaderSize ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Word32 Source # maxTxSize ∷ ∀ (mk ∷ MapKind). LedgerState (ShelleyBlock proto era) mk → Word32 Source # | |||||
| ShelleyBasedEra era ⇒ HasLedgerTables (Ticked LedgerState) (ShelleyBlock proto era) Source # | |||||
Methods projectLedgerTables ∷ ∀ (mk ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) mk → LedgerTables (ShelleyBlock proto era) mk Source # withLedgerTables ∷ ∀ (mk ∷ MapKind) (any ∷ MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) ⇒ Ticked LedgerState (ShelleyBlock proto era) any → LedgerTables (ShelleyBlock proto era) mk → Ticked LedgerState (ShelleyBlock proto era) mk Source # | |||||
| GetTip (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods getTip ∷ ∀ (mk ∷ MapKind). Ticked LedgerState (ShelleyBlock proto era) mk → Point (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
| LedgerStateSupportsPeras (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods getPoolDistr ∷ Ticked LedgerState (ShelleyBlock proto era) EmptyMK → PoolDistr Source # getPerasParams ∷ proxy blk → Ticked LedgerState (ShelleyBlock proto era) EmptyMK → PerasParams blk Source # | |||||
| ShelleyBasedEra era ⇒ CanStowLedgerTables (Ticked LedgerState (ShelleyBlock proto era)) Source # | |||||
Methods stowLedgerTables ∷ Ticked LedgerState (ShelleyBlock proto era) ValuesMK → Ticked LedgerState (ShelleyBlock proto era) EmptyMK Source # unstowLedgerTables ∷ Ticked LedgerState (ShelleyBlock proto era) EmptyMK → Ticked LedgerState (ShelleyBlock proto era) ValuesMK Source # | |||||
| Generic (Ticked LedgerState (ShelleyBlock proto era) mk) Source # | |||||
Associated Types
Methods from ∷ Ticked LedgerState (ShelleyBlock proto era) mk → Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x # to ∷ Rep (Ticked LedgerState (ShelleyBlock proto era) mk) x → Ticked LedgerState (ShelleyBlock proto era) mk # | |||||