| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Shelley.Ledger.Mempool
Description
Shelley mempool integration
TODO nearly all of the logic in this module belongs in cardano-ledger, not ouroboros-consensus; ouroboros-consensus-cardano should just be "glue code".
Synopsis
- data family GenTx blk
- data family ApplyTxError era
- data family TxId blk
- data family Validated x
- fixedBlockBodyOverhead ∷ Num a ⇒ a
- mkShelleyTx ∷ ShelleyBasedEra era ⇒ Tx 'TopTx era → GenTx (ShelleyBlock proto era)
- mkShelleyValidatedTx ∷ ShelleyBasedEra era ⇒ Validated (Tx 'TopTx era) → Validated (GenTx (ShelleyBlock proto era))
- perTxOverhead ∷ Num a ⇒ a
- data AlonzoMeasure = AlonzoMeasure {
- byteSize ∷ !(IgnoringOverflow ByteSize32)
- exUnits ∷ !(ExUnits' Natural)
- newtype RefScriptSize = RefScriptSize {}
- fromExUnits ∷ ExUnits → ExUnits' Natural
Documentation
data family GenTx blk Source #
Generalized transaction
The mempool (and, accordingly, blocks) consist of "generalized transactions"; this could be "proper" transactions (transferring funds) but also other kinds of things such as update proposals, delegations, etc.
Instances
data family ApplyTxError era Source #
Instances
| Typeable era ⇒ ShowProxy (ApplyTxError era ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods showProxy ∷ Proxy (ApplyTxError era) → String # | |||||
| DecCBOR (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Methods decCBOR ∷ Decoder s (ApplyTxError AllegraEra) Source # dropCBOR ∷ Proxy (ApplyTxError AllegraEra) → Decoder s () Source # label ∷ Proxy (ApplyTxError AllegraEra) → Text Source # | |||||
| DecCBOR (ApplyTxError AlonzoEra) Source # | |||||
| DecCBOR (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Methods decCBOR ∷ Decoder s (ApplyTxError BabbageEra) Source # dropCBOR ∷ Proxy (ApplyTxError BabbageEra) → Decoder s () Source # label ∷ Proxy (ApplyTxError BabbageEra) → Text Source # | |||||
| DecCBOR (ApplyTxError ConwayEra) Source # | |||||
| DecCBOR (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods decCBOR ∷ Decoder s (ApplyTxError DijkstraEra) Source # dropCBOR ∷ Proxy (ApplyTxError DijkstraEra) → Decoder s () Source # label ∷ Proxy (ApplyTxError DijkstraEra) → Text Source # | |||||
| DecCBOR (ApplyTxError MaryEra) Source # | |||||
| DecCBOR (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Methods decCBOR ∷ Decoder s (ApplyTxError ShelleyEra) Source # dropCBOR ∷ Proxy (ApplyTxError ShelleyEra) → Decoder s () Source # label ∷ Proxy (ApplyTxError ShelleyEra) → Text Source # | |||||
| EncCBOR (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Methods | |||||
| EncCBOR (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo | |||||
| EncCBOR (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Methods | |||||
| EncCBOR (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway | |||||
| EncCBOR (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods | |||||
| EncCBOR (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary | |||||
| EncCBOR (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Methods | |||||
| Semigroup (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Methods (<>) ∷ ApplyTxError AllegraEra → ApplyTxError AllegraEra → ApplyTxError AllegraEra # sconcat ∷ NonEmpty (ApplyTxError AllegraEra) → ApplyTxError AllegraEra # stimes ∷ Integral b ⇒ b → ApplyTxError AllegraEra → ApplyTxError AllegraEra # | |||||
| Semigroup (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo Methods (<>) ∷ ApplyTxError AlonzoEra → ApplyTxError AlonzoEra → ApplyTxError AlonzoEra # sconcat ∷ NonEmpty (ApplyTxError AlonzoEra) → ApplyTxError AlonzoEra # stimes ∷ Integral b ⇒ b → ApplyTxError AlonzoEra → ApplyTxError AlonzoEra # | |||||
| Semigroup (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Methods (<>) ∷ ApplyTxError BabbageEra → ApplyTxError BabbageEra → ApplyTxError BabbageEra # sconcat ∷ NonEmpty (ApplyTxError BabbageEra) → ApplyTxError BabbageEra # stimes ∷ Integral b ⇒ b → ApplyTxError BabbageEra → ApplyTxError BabbageEra # | |||||
| Semigroup (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway Methods (<>) ∷ ApplyTxError ConwayEra → ApplyTxError ConwayEra → ApplyTxError ConwayEra # sconcat ∷ NonEmpty (ApplyTxError ConwayEra) → ApplyTxError ConwayEra # stimes ∷ Integral b ⇒ b → ApplyTxError ConwayEra → ApplyTxError ConwayEra # | |||||
| Semigroup (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods (<>) ∷ ApplyTxError DijkstraEra → ApplyTxError DijkstraEra → ApplyTxError DijkstraEra # sconcat ∷ NonEmpty (ApplyTxError DijkstraEra) → ApplyTxError DijkstraEra # stimes ∷ Integral b ⇒ b → ApplyTxError DijkstraEra → ApplyTxError DijkstraEra # | |||||
| Semigroup (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary Methods (<>) ∷ ApplyTxError MaryEra → ApplyTxError MaryEra → ApplyTxError MaryEra # sconcat ∷ NonEmpty (ApplyTxError MaryEra) → ApplyTxError MaryEra # stimes ∷ Integral b ⇒ b → ApplyTxError MaryEra → ApplyTxError MaryEra # | |||||
| Semigroup (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Methods (<>) ∷ ApplyTxError ShelleyEra → ApplyTxError ShelleyEra → ApplyTxError ShelleyEra # sconcat ∷ NonEmpty (ApplyTxError ShelleyEra) → ApplyTxError ShelleyEra # stimes ∷ Integral b ⇒ b → ApplyTxError ShelleyEra → ApplyTxError ShelleyEra # | |||||
| Eq (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Methods (==) ∷ ApplyTxError AllegraEra → ApplyTxError AllegraEra → Bool # (/=) ∷ ApplyTxError AllegraEra → ApplyTxError AllegraEra → Bool # | |||||
| Eq (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo Methods (==) ∷ ApplyTxError AlonzoEra → ApplyTxError AlonzoEra → Bool # (/=) ∷ ApplyTxError AlonzoEra → ApplyTxError AlonzoEra → Bool # | |||||
| Eq (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Methods (==) ∷ ApplyTxError BabbageEra → ApplyTxError BabbageEra → Bool # (/=) ∷ ApplyTxError BabbageEra → ApplyTxError BabbageEra → Bool # | |||||
| Eq (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway Methods (==) ∷ ApplyTxError ConwayEra → ApplyTxError ConwayEra → Bool # (/=) ∷ ApplyTxError ConwayEra → ApplyTxError ConwayEra → Bool # | |||||
| Eq (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods (==) ∷ ApplyTxError DijkstraEra → ApplyTxError DijkstraEra → Bool # (/=) ∷ ApplyTxError DijkstraEra → ApplyTxError DijkstraEra → Bool # | |||||
| Eq (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary Methods (==) ∷ ApplyTxError MaryEra → ApplyTxError MaryEra → Bool # (/=) ∷ ApplyTxError MaryEra → ApplyTxError MaryEra → Bool # | |||||
| Eq (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Methods (==) ∷ ApplyTxError ShelleyEra → ApplyTxError ShelleyEra → Bool # (/=) ∷ ApplyTxError ShelleyEra → ApplyTxError ShelleyEra → Bool # | |||||
| Generic (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Associated Types
Methods from ∷ ApplyTxError AllegraEra → Rep (ApplyTxError AllegraEra) x # to ∷ Rep (ApplyTxError AllegraEra) x → ApplyTxError AllegraEra # | |||||
| Generic (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo Associated Types
Methods from ∷ ApplyTxError AlonzoEra → Rep (ApplyTxError AlonzoEra) x # to ∷ Rep (ApplyTxError AlonzoEra) x → ApplyTxError AlonzoEra # | |||||
| Generic (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Associated Types
Methods from ∷ ApplyTxError BabbageEra → Rep (ApplyTxError BabbageEra) x # to ∷ Rep (ApplyTxError BabbageEra) x → ApplyTxError BabbageEra # | |||||
| Generic (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway Associated Types
Methods from ∷ ApplyTxError ConwayEra → Rep (ApplyTxError ConwayEra) x # to ∷ Rep (ApplyTxError ConwayEra) x → ApplyTxError ConwayEra # | |||||
| Generic (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Associated Types
Methods from ∷ ApplyTxError DijkstraEra → Rep (ApplyTxError DijkstraEra) x # to ∷ Rep (ApplyTxError DijkstraEra) x → ApplyTxError DijkstraEra # | |||||
| Generic (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary Associated Types
Methods from ∷ ApplyTxError MaryEra → Rep (ApplyTxError MaryEra) x # to ∷ Rep (ApplyTxError MaryEra) x → ApplyTxError MaryEra # | |||||
| Generic (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Associated Types
Methods from ∷ ApplyTxError ShelleyEra → Rep (ApplyTxError ShelleyEra) x # to ∷ Rep (ApplyTxError ShelleyEra) x → ApplyTxError ShelleyEra # | |||||
| Show (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra Methods showsPrec ∷ Int → ApplyTxError AllegraEra → ShowS # show ∷ ApplyTxError AllegraEra → String # showList ∷ [ApplyTxError AllegraEra] → ShowS # | |||||
| Show (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo | |||||
| Show (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage Methods showsPrec ∷ Int → ApplyTxError BabbageEra → ShowS # show ∷ ApplyTxError BabbageEra → String # showList ∷ [ApplyTxError BabbageEra] → ShowS # | |||||
| Show (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway | |||||
| Show (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods showsPrec ∷ Int → ApplyTxError DijkstraEra → ShowS # show ∷ ApplyTxError DijkstraEra → String # showList ∷ [ApplyTxError DijkstraEra] → ShowS # | |||||
| Show (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary | |||||
| Show (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool Methods showsPrec ∷ Int → ApplyTxError ShelleyEra → ShowS # show ∷ ApplyTxError ShelleyEra → String # showList ∷ [ApplyTxError ShelleyEra] → ShowS # | |||||
| Inject (NonEmpty (ConwayLedgerPredFailure ConwayEra)) (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway Methods inject ∷ NonEmpty (ConwayLedgerPredFailure ConwayEra) → ApplyTxError ConwayEra Source # | |||||
| Inject (NonEmpty (DijkstraLedgerPredFailure DijkstraEra)) (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra Methods inject ∷ NonEmpty (DijkstraLedgerPredFailure DijkstraEra) → ApplyTxError DijkstraEra Source # | |||||
| Inject (NonEmpty (DijkstraMempoolPredFailure DijkstraEra)) (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra | |||||
| ShelleyBasedEra era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (ApplyTxError era) Source # | | ||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ApplyTxError era → Encoding Source # decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ApplyTxError era) Source # | |||||
| newtype ApplyTxError AllegraEra Source # | |||||
Defined in Cardano.Ledger.Allegra | |||||
| newtype ApplyTxError AlonzoEra Source # | |||||
Defined in Cardano.Ledger.Alonzo | |||||
| newtype ApplyTxError BabbageEra Source # | |||||
Defined in Cardano.Ledger.Babbage | |||||
| newtype ApplyTxError ConwayEra Source # | |||||
Defined in Cardano.Ledger.Conway | |||||
| newtype ApplyTxError DijkstraEra Source # | |||||
Defined in Cardano.Ledger.Dijkstra | |||||
| newtype ApplyTxError MaryEra Source # | |||||
Defined in Cardano.Ledger.Mary | |||||
| newtype ApplyTxError ShelleyEra Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool | |||||
| type Rep (ApplyTxError AllegraEra) Source # | |||||
Defined in Cardano.Ledger.Allegra | |||||
| type Rep (ApplyTxError AlonzoEra) Source # | |||||
Defined in Cardano.Ledger.Alonzo | |||||
| type Rep (ApplyTxError BabbageEra) Source # | |||||
Defined in Cardano.Ledger.Babbage | |||||
| type Rep (ApplyTxError ConwayEra) Source # | |||||
Defined in Cardano.Ledger.Conway | |||||
| type Rep (ApplyTxError DijkstraEra) Source # | |||||
Defined in Cardano.Ledger.Dijkstra | |||||
| type Rep (ApplyTxError MaryEra) Source # | |||||
Defined in Cardano.Ledger.Mary | |||||
| type Rep (ApplyTxError ShelleyEra) Source # | |||||
Defined in Cardano.Ledger.Shelley.API.Mempool | |||||
A generalized transaction, GenTx, identifier.
Instances
| SerialiseNodeToClient ByronBlock (GenTxId ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Node.Serialisation | |||||
| SerialiseNodeToNode ByronBlock (GenTxId ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Node.Serialisation | |||||
| Typeable xs ⇒ ShowProxy (TxId (GenTx (HardForkBlock xs)) ∷ Type) Source # | |||||
| (Typeable m, Typeable a) ⇒ ShowProxy (TxId (GenTx (DualBlock m a)) ∷ Type) Source # | |||||
| ShowProxy (TxId (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| (Typeable era, Typeable proto) ⇒ ShowProxy (TxId (GenTx (ShelleyBlock proto era)) ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| (Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) ⇒ DecCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||
| Crypto (ProtoCrypto proto) ⇒ EncCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| CanHardFork xs ⇒ Eq (TxId (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Methods (==) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # (/=) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # | |||||
| Eq (GenTxId m) ⇒ Eq (TxId (GenTx (DualBlock m a))) Source # | |||||
| Eq (TxId (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool Methods (==) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # (/=) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # | |||||
| Eq (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods (==) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (/=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # | |||||
| CanHardFork xs ⇒ Ord (TxId (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Methods compare ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Ordering # (<) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # (<=) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # (>) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # (>=) ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → Bool # max ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) # min ∷ TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) → TxId (GenTx (HardForkBlock xs)) # | |||||
| Ord (GenTxId m) ⇒ Ord (TxId (GenTx (DualBlock m a))) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Methods compare ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Ordering # (<) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool # (<=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool # (>) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool # (>=) ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → Bool # max ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) # min ∷ TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) → TxId (GenTx (DualBlock m a)) # | |||||
| Ord (TxId (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool Methods compare ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Ordering # (<) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # (<=) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # (>) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # (>=) ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → Bool # max ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) # min ∷ TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) → TxId (GenTx ByronBlock) # | |||||
| Ord (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods compare ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Ordering # (<) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (<=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (>) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (>=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # max ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) # min ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) # | |||||
| Generic (TxId (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Associated Types
Methods from ∷ TxId (GenTx (HardForkBlock xs)) → Rep (TxId (GenTx (HardForkBlock xs))) x # to ∷ Rep (TxId (GenTx (HardForkBlock xs))) x → TxId (GenTx (HardForkBlock xs)) # | |||||
| Show (GenTxId ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| Show (GenTxId (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| CanHardFork xs ⇒ Show (TxId (GenTx (HardForkBlock xs))) Source # | |||||
| Show (GenTxId m) ⇒ Show (TxId (GenTx (DualBlock m a))) Source # | |||||
| CanHardFork xs ⇒ NoThunks (TxId (GenTx (HardForkBlock xs))) Source # | |||||
| NoThunks (TxId (GenTx (DualBlock m a))) Source # | |||||
| NoThunks (TxId (GenTx ByronBlock)) Source # | |||||
| NoThunks (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| Condense (GenTxId ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| Condense (GenTxId (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| All CondenseConstraints xs ⇒ Condense (TxId (GenTx (HardForkBlock xs))) Source # | |||||
| CanHardFork xs ⇒ HasRawTxId (TxId (GenTx (HardForkBlock xs))) | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Associated Types
Methods getRawTxId ∷ TxId (GenTx (HardForkBlock xs)) → RawTxId (TxId (GenTx (HardForkBlock xs))) | |||||
| HasRawTxId (GenTxId m) ⇒ HasRawTxId (TxId (GenTx (DualBlock m a))) | |||||
Defined in Ouroboros.Consensus.Ledger.Dual Associated Types
| |||||
| HasRawTxId (TxId (GenTx ByronBlock)) | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool Associated Types
Methods getRawTxId ∷ TxId (GenTx ByronBlock) → RawTxId (TxId (GenTx ByronBlock)) | |||||
| ShelleyBasedEra era ⇒ HasRawTxId (TxId (GenTx (ShelleyBlock proto era))) | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Associated Types
Methods getRawTxId ∷ TxId (GenTx (ShelleyBlock proto era)) → RawTxId (TxId (GenTx (ShelleyBlock proto era))) | |||||
| SerialiseHFC xs ⇒ SerialiseNodeToClient (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient Methods encodeNodeToClient ∷ CodecConfig (HardForkBlock xs) → BlockNodeToClientVersion (HardForkBlock xs) → GenTxId (HardForkBlock xs) → Encoding Source # decodeNodeToClient ∷ CodecConfig (HardForkBlock xs) → BlockNodeToClientVersion (HardForkBlock xs) → ∀ s. Decoder s (GenTxId (HardForkBlock xs)) Source # | |||||
| SerialiseHFC xs ⇒ SerialiseNodeToNode (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode Methods encodeNodeToNode ∷ CodecConfig (HardForkBlock xs) → BlockNodeToNodeVersion (HardForkBlock xs) → GenTxId (HardForkBlock xs) → Encoding Source # decodeNodeToNode ∷ CodecConfig (HardForkBlock xs) → BlockNodeToNodeVersion (HardForkBlock xs) → ∀ s. Decoder s (GenTxId (HardForkBlock xs)) Source # | |||||
| ShelleyCompatible proto era ⇒ SerialiseNodeToClient (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → GenTxId (ShelleyBlock proto era) → Encoding Source # decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTxId (ShelleyBlock proto era)) Source # | |||||
| ShelleyCompatible proto era ⇒ SerialiseNodeToNode (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Node.Serialisation Methods encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → GenTxId (ShelleyBlock proto era) → Encoding Source # decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTxId (ShelleyBlock proto era)) Source # | |||||
| type Rep (TxId (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs)))) | |||||
| newtype TxId (GenTx (HardForkBlock xs)) Source # | |||||
| newtype TxId (GenTx (DualBlock m a)) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
| data TxId (GenTx ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| newtype TxId (GenTx (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| type RawTxId (TxId (GenTx (HardForkBlock xs))) Source # | |||||
| type RawTxId (TxId (GenTx (DualBlock m a))) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual | |||||
| type RawTxId (TxId (GenTx ByronBlock)) | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| type RawTxId (TxId (GenTx (ShelleyBlock proto era))) | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
data family Validated x Source #
" Validated " transaction or block
The ledger defines how to validate transactions and blocks. It's possible the type before and after validation may be distinct (eg Alonzo transactions), which originally motivated this family.
We also gain the related benefit that certain interface functions, such as those that reapply blocks, can have a more precise type now. TODO
Similarly, the Node-to-Client mini protocols can explicitly indicate that the
client trusts the blocks from the local server, by having the server send
Validated blocks to the client. TODO
Note that validation has different implications for a transaction than for a block. In particular, a validated transaction can be " reapplied " to different ledger states, whereas a validated block must only be " reapplied " to the exact same ledger state (eg as part of rebuilding from an on-disk ledger snapshot).
Since the ledger defines validation, see the ledger details for concrete
examples of what determines the validity (wrt to a LedgerState) of a
transaction and/or block. Example properties include: a transaction's claimed
inputs exist and are still unspent, a block carries a sufficient
cryptographic signature, etc.
Instances
| (Typeable era, Typeable proto) ⇒ ShowProxy (Validated (GenTx (ShelleyBlock proto era)) ∷ Type) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| CanHardFork xs ⇒ Eq (Validated (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Methods (==) ∷ Validated (GenTx (HardForkBlock xs)) → Validated (GenTx (HardForkBlock xs)) → Bool # (/=) ∷ Validated (GenTx (HardForkBlock xs)) → Validated (GenTx (HardForkBlock xs)) → Bool # | |||||
| Eq (Validated (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool Methods (==) ∷ Validated (GenTx ByronBlock) → Validated (GenTx ByronBlock) → Bool # (/=) ∷ Validated (GenTx ByronBlock) → Validated (GenTx ByronBlock) → Bool # | |||||
| ShelleyBasedEra era ⇒ Eq (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods (==) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool # (/=) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool # | |||||
| Generic (Validated (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool Associated Types
Methods from ∷ Validated (GenTx (HardForkBlock xs)) → Rep (Validated (GenTx (HardForkBlock xs))) x # to ∷ Rep (Validated (GenTx (HardForkBlock xs))) x → Validated (GenTx (HardForkBlock xs)) # | |||||
| Generic (Validated (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool Associated Types
Methods from ∷ Validated (GenTx ByronBlock) → Rep (Validated (GenTx ByronBlock)) x # to ∷ Rep (Validated (GenTx ByronBlock)) x → Validated (GenTx ByronBlock) # | |||||
| Generic (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Associated Types
Methods from ∷ Validated (GenTx (ShelleyBlock proto era)) → Rep (Validated (GenTx (ShelleyBlock proto era))) x # to ∷ Rep (Validated (GenTx (ShelleyBlock proto era))) x → Validated (GenTx (ShelleyBlock proto era)) # | |||||
| CanHardFork xs ⇒ Show (Validated (GenTx (HardForkBlock xs))) Source # | |||||
| Bridge m a ⇒ Show (Validated (GenTx (DualBlock m a))) Source # | |||||
| Show (Validated (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| ShelleyBasedEra era ⇒ Show (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| CanHardFork xs ⇒ NoThunks (Validated (GenTx (HardForkBlock xs))) Source # | |||||
| NoThunks (Validated (GenTx (DualBlock m a))) Source # | |||||
| NoThunks (Validated (GenTx ByronBlock)) Source # | |||||
| ShelleyBasedEra era ⇒ NoThunks (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| type Rep (Validated (GenTx (HardForkBlock xs))) Source # | |||||
Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs)))) | |||||
| type Rep (Validated (GenTx ByronBlock)) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock)))) | |||||
| type Rep (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era))))) | |||||
| newtype Validated (GenTx (HardForkBlock xs)) Source # | |||||
| data Validated (GenTx (DualBlock m a)) Source # | |||||
Defined in Ouroboros.Consensus.Ledger.Dual data Validated (GenTx (DualBlock m a)) = ValidatedDualGenTx {
| |||||
| newtype Validated (GenTx ByronBlock) Source # | |||||
Defined in Ouroboros.Consensus.Byron.Ledger.Mempool | |||||
| data Validated (GenTx (ShelleyBlock proto era)) Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool data Validated (GenTx (ShelleyBlock proto era)) = ShelleyValidatedTx !TxId !(Validated (Tx 'TopTx era)) | |||||
fixedBlockBodyOverhead ∷ Num a ⇒ a Source #
txInBlockSize is used to estimate how many transactions we can grab from
the Mempool to put into the block we are going to forge without exceeding
the maximum block body size according to the ledger. If we exceed that
limit, we will have forged a block that is invalid according to the ledger.
We ourselves won't even adopt it, causing us to lose our slot, something we
must try to avoid.
For this reason it is better to overestimate the size of a transaction than to underestimate. The only downside is that we maybe could have put one (or more?) transactions extra in that block.
As the sum of the serialised transaction sizes is not equal to the size of
the serialised block body (BlockBody) consisting of those transactions
(see cardano-node#1545 for an example), we account for some extra overhead
per transaction as a safety margin.
Also see perTxOverhead.
mkShelleyTx ∷ ShelleyBasedEra era ⇒ Tx 'TopTx era → GenTx (ShelleyBlock proto era) Source #
mkShelleyValidatedTx ∷ ShelleyBasedEra era ⇒ Validated (Tx 'TopTx era) → Validated (GenTx (ShelleyBlock proto era)) Source #
perTxOverhead ∷ Num a ⇒ a Source #
Exported for tests
data AlonzoMeasure Source #
Constructors
| AlonzoMeasure | |
Fields
| |
Instances
| Monoid AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods mappend ∷ AlonzoMeasure → AlonzoMeasure → AlonzoMeasure # mconcat ∷ [AlonzoMeasure] → AlonzoMeasure # | |||||
| Semigroup AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods (<>) ∷ AlonzoMeasure → AlonzoMeasure → AlonzoMeasure # sconcat ∷ NonEmpty AlonzoMeasure → AlonzoMeasure # stimes ∷ Integral b ⇒ b → AlonzoMeasure → AlonzoMeasure # | |||||
| Eq AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| Generic AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Associated Types
| |||||
| Show AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods showsPrec ∷ Int → AlonzoMeasure → ShowS # show ∷ AlonzoMeasure → String # showList ∷ [AlonzoMeasure] → ShowS # | |||||
| Measure AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods plus ∷ AlonzoMeasure → AlonzoMeasure → AlonzoMeasure Source # min ∷ AlonzoMeasure → AlonzoMeasure → AlonzoMeasure Source # max ∷ AlonzoMeasure → AlonzoMeasure → AlonzoMeasure Source # | |||||
| NoThunks AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| HasByteSize AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods | |||||
| TxMeasurePhase1Metrics AlonzoMeasure Source # | |||||
| type Rep AlonzoMeasure Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool type Rep AlonzoMeasure = D1 ('MetaData "AlonzoMeasure" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'False) (C1 ('MetaCons "AlonzoMeasure" 'PrefixI 'True) (S1 ('MetaSel ('Just "byteSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (IgnoringOverflow ByteSize32)) :*: S1 ('MetaSel ('Just "exUnits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ExUnits' Natural)))) | |||||
newtype RefScriptSize Source #
Constructors
| RefScriptSize | |
Fields | |
Instances
| Monoid RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods mappend ∷ RefScriptSize → RefScriptSize → RefScriptSize # mconcat ∷ [RefScriptSize] → RefScriptSize # | |||||
| Semigroup RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods (<>) ∷ RefScriptSize → RefScriptSize → RefScriptSize # sconcat ∷ NonEmpty RefScriptSize → RefScriptSize # stimes ∷ Integral b ⇒ b → RefScriptSize → RefScriptSize # | |||||
| Eq RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| Generic RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Associated Types
| |||||
| Show RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods showsPrec ∷ Int → RefScriptSize → ShowS # show ∷ RefScriptSize → String # showList ∷ [RefScriptSize] → ShowS # | |||||
| Measure RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool Methods plus ∷ RefScriptSize → RefScriptSize → RefScriptSize Source # min ∷ RefScriptSize → RefScriptSize → RefScriptSize Source # max ∷ RefScriptSize → RefScriptSize → RefScriptSize Source # | |||||
| NoThunks RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| TxMeasurePhase2Metrics RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool | |||||
| type Rep RefScriptSize Source # | |||||
Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool type Rep RefScriptSize = D1 ('MetaData "RefScriptSize" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-4.0.0.0-inplace-cardano" 'True) (C1 ('MetaCons "RefScriptSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "refScriptsSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IgnoringOverflow ByteSize32)))) | |||||
Orphan instances
| Typeable era ⇒ ShowProxy (ApplyTxError era ∷ Type) Source # | |||||||||
Methods showProxy ∷ Proxy (ApplyTxError era) → String # | |||||||||
| (Typeable era, Typeable proto) ⇒ ShowProxy (Validated (GenTx (ShelleyBlock proto era)) ∷ Type) Source # | |||||||||
| (Typeable era, Typeable proto) ⇒ ShowProxy (GenTx (ShelleyBlock proto era) ∷ Type) Source # | |||||||||
| (Typeable era, Typeable proto) ⇒ ShowProxy (TxId (GenTx (ShelleyBlock proto era)) ∷ Type) Source # | |||||||||
| ShelleyCompatible proto era ⇒ FromCBOR (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| ShelleyCompatible proto era ⇒ ToCBOR (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| (Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) ⇒ DecCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
| Crypto (ProtoCrypto proto) ⇒ EncCBOR (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
| ShelleyBasedEra era ⇒ Eq (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||||||
Methods (==) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool # (/=) ∷ Validated (GenTx (ShelleyBlock proto era)) → Validated (GenTx (ShelleyBlock proto era)) → Bool # | |||||||||
| ShelleyBasedEra era ⇒ Eq (GenTx (ShelleyBlock proto era)) Source # | |||||||||
Methods (==) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool # (/=) ∷ GenTx (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Bool # | |||||||||
| Eq (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
Methods (==) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (/=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # | |||||||||
| Ord (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
Methods compare ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Ordering # (<) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (<=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (>) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # (>=) ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → Bool # max ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) # min ∷ TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) → TxId (GenTx (ShelleyBlock proto era)) # | |||||||||
| Generic (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||||||
Associated Types
Methods from ∷ Validated (GenTx (ShelleyBlock proto era)) → Rep (Validated (GenTx (ShelleyBlock proto era))) x # to ∷ Rep (Validated (GenTx (ShelleyBlock proto era))) x → Validated (GenTx (ShelleyBlock proto era)) # | |||||||||
| Generic (GenTx (ShelleyBlock proto era)) Source # | |||||||||
Associated Types
Methods from ∷ GenTx (ShelleyBlock proto era) → Rep (GenTx (ShelleyBlock proto era)) x # to ∷ Rep (GenTx (ShelleyBlock proto era)) x → GenTx (ShelleyBlock proto era) # | |||||||||
| ShelleyBasedEra era ⇒ Show (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||||||
| ShelleyBasedEra era ⇒ Show (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| Show (GenTxId (ShelleyBlock proto era)) Source # | |||||||||
| ShelleyBasedEra era ⇒ NoThunks (Validated (GenTx (ShelleyBlock proto era))) Source # | |||||||||
| ShelleyBasedEra era ⇒ NoThunks (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| NoThunks (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
| ShelleyBasedEra era ⇒ ConvertRawTxId (GenTx (ShelleyBlock proto era)) Source # | |||||||||
Methods toRawTxIdHash ∷ TxId (GenTx (ShelleyBlock proto era)) → ShortByteString Source # | |||||||||
| ShelleyBasedEra era ⇒ HasTxId (GenTx (ShelleyBlock proto era)) Source # | |||||||||
Methods txId ∷ GenTx (ShelleyBlock proto era) → TxId (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| ShelleyBasedEra era ⇒ Condense (GenTx (ShelleyBlock proto era)) Source # | |||||||||
| Condense (GenTxId (ShelleyBlock proto era)) Source # | |||||||||
| ShelleyBasedEra era ⇒ HasRawTxId (TxId (GenTx (ShelleyBlock proto era))) Source # | |||||||||
Associated Types
Methods getRawTxId ∷ TxId (GenTx (ShelleyBlock proto era)) → RawTxId (TxId (GenTx (ShelleyBlock proto era))) | |||||||||
| ShelleyBasedEra era ⇒ HasTxs (ShelleyBlock proto era) Source # | |||||||||
Methods extractTxs ∷ ShelleyBlock proto era → [GenTx (ShelleyBlock proto era)] Source # | |||||||||
| (ShelleyCompatible proto era, TxLimits (ShelleyBlock proto era)) ⇒ LedgerSupportsMempool (ShelleyBlock proto era) Source # | |||||||||
Methods txInvariant ∷ GenTx (ShelleyBlock proto era) → Bool Source # applyTx ∷ LedgerConfig (ShelleyBlock proto era) → WhetherToIntervene → SlotNo → GenTx (ShelleyBlock proto era) → TickedLedgerState (ShelleyBlock proto era) ValuesMK → Except (ApplyTxErr (ShelleyBlock proto era)) (TickedLedgerState (ShelleyBlock proto era) DiffMK, Validated (GenTx (ShelleyBlock proto era))) Source # reapplyTx ∷ LedgerConfig (ShelleyBlock proto era) → SlotNo → Validated (GenTx (ShelleyBlock proto era)) → TickedLedgerState (ShelleyBlock proto era) ValuesMK → Except (ApplyTxErr (ShelleyBlock proto era)) (TickedLedgerState (ShelleyBlock proto era) ValuesMK) Source # reapplyTxs ∷ ∀ (wtd ∷ WhatToDoWithTxDiffs) extra. LedgerConfig (ShelleyBlock proto era) → SlotNo → [(Validated (GenTx (ShelleyBlock proto era)), InputTxDiffs (ShelleyBlock proto era) wtd, extra)] → TickedLedgerState (ShelleyBlock proto era) ValuesMK → ReapplyTxsResult extra (ShelleyBlock proto era) wtd Source # txForgetValidated ∷ Validated (GenTx (ShelleyBlock proto era)) → GenTx (ShelleyBlock proto era) Source # getTransactionKeySets ∷ GenTx (ShelleyBlock proto era) → LedgerTables (ShelleyBlock proto era) KeysMK Source # prependMempoolDiffs ∷ TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) DiffMK Source # applyMempoolDiffs ∷ LedgerTables (ShelleyBlock proto era) ValuesMK → LedgerTables (ShelleyBlock proto era) KeysMK → TickedLedgerState (ShelleyBlock proto era) DiffMK → TickedLedgerState (ShelleyBlock proto era) ValuesMK Source # mkMempoolApplyTxError ∷ ∀ (mk ∷ MapKind). TickedLedgerState (ShelleyBlock proto era) mk → Text → Maybe (ApplyTxErr (ShelleyBlock proto era)) Source # | |||||||||
| ShelleyCompatible p AllegraEra ⇒ TxLimits (ShelleyBlock p AllegraEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p AllegraEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p AllegraEra) → TickedLedgerState (ShelleyBlock p AllegraEra) EmptyMK → GenTx (ShelleyBlock p AllegraEra) → Except (ApplyTxErr (ShelleyBlock p AllegraEra)) (TxMeasurePhase1 (ShelleyBlock p AllegraEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p AllegraEra) → TickedLedgerState (ShelleyBlock p AllegraEra) ValuesMK → GenTx (ShelleyBlock p AllegraEra) → Except (ApplyTxErr (ShelleyBlock p AllegraEra)) (TxMeasurePhase2 (ShelleyBlock p AllegraEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p AllegraEra) → TickedLedgerState (ShelleyBlock p AllegraEra) mk → TxMeasure (ShelleyBlock p AllegraEra) Source # | |||||||||
| ShelleyCompatible p AlonzoEra ⇒ TxLimits (ShelleyBlock p AlonzoEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p AlonzoEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p AlonzoEra) → TickedLedgerState (ShelleyBlock p AlonzoEra) EmptyMK → GenTx (ShelleyBlock p AlonzoEra) → Except (ApplyTxErr (ShelleyBlock p AlonzoEra)) (TxMeasurePhase1 (ShelleyBlock p AlonzoEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p AlonzoEra) → TickedLedgerState (ShelleyBlock p AlonzoEra) ValuesMK → GenTx (ShelleyBlock p AlonzoEra) → Except (ApplyTxErr (ShelleyBlock p AlonzoEra)) (TxMeasurePhase2 (ShelleyBlock p AlonzoEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p AlonzoEra) → TickedLedgerState (ShelleyBlock p AlonzoEra) mk → TxMeasure (ShelleyBlock p AlonzoEra) Source # | |||||||||
| ShelleyCompatible p BabbageEra ⇒ TxLimits (ShelleyBlock p BabbageEra) Source # | We anachronistically use | ||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p BabbageEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p BabbageEra) → TickedLedgerState (ShelleyBlock p BabbageEra) EmptyMK → GenTx (ShelleyBlock p BabbageEra) → Except (ApplyTxErr (ShelleyBlock p BabbageEra)) (TxMeasurePhase1 (ShelleyBlock p BabbageEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p BabbageEra) → TickedLedgerState (ShelleyBlock p BabbageEra) ValuesMK → GenTx (ShelleyBlock p BabbageEra) → Except (ApplyTxErr (ShelleyBlock p BabbageEra)) (TxMeasurePhase2 (ShelleyBlock p BabbageEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p BabbageEra) → TickedLedgerState (ShelleyBlock p BabbageEra) mk → TxMeasure (ShelleyBlock p BabbageEra) Source # | |||||||||
| ShelleyCompatible p ConwayEra ⇒ TxLimits (ShelleyBlock p ConwayEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p ConwayEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p ConwayEra) → TickedLedgerState (ShelleyBlock p ConwayEra) EmptyMK → GenTx (ShelleyBlock p ConwayEra) → Except (ApplyTxErr (ShelleyBlock p ConwayEra)) (TxMeasurePhase1 (ShelleyBlock p ConwayEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p ConwayEra) → TickedLedgerState (ShelleyBlock p ConwayEra) ValuesMK → GenTx (ShelleyBlock p ConwayEra) → Except (ApplyTxErr (ShelleyBlock p ConwayEra)) (TxMeasurePhase2 (ShelleyBlock p ConwayEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p ConwayEra) → TickedLedgerState (ShelleyBlock p ConwayEra) mk → TxMeasure (ShelleyBlock p ConwayEra) Source # | |||||||||
| ShelleyCompatible p DijkstraEra ⇒ TxLimits (ShelleyBlock p DijkstraEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p DijkstraEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p DijkstraEra) → TickedLedgerState (ShelleyBlock p DijkstraEra) EmptyMK → GenTx (ShelleyBlock p DijkstraEra) → Except (ApplyTxErr (ShelleyBlock p DijkstraEra)) (TxMeasurePhase1 (ShelleyBlock p DijkstraEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p DijkstraEra) → TickedLedgerState (ShelleyBlock p DijkstraEra) ValuesMK → GenTx (ShelleyBlock p DijkstraEra) → Except (ApplyTxErr (ShelleyBlock p DijkstraEra)) (TxMeasurePhase2 (ShelleyBlock p DijkstraEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p DijkstraEra) → TickedLedgerState (ShelleyBlock p DijkstraEra) mk → TxMeasure (ShelleyBlock p DijkstraEra) Source # | |||||||||
| ShelleyCompatible p MaryEra ⇒ TxLimits (ShelleyBlock p MaryEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p MaryEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p MaryEra) → TickedLedgerState (ShelleyBlock p MaryEra) EmptyMK → GenTx (ShelleyBlock p MaryEra) → Except (ApplyTxErr (ShelleyBlock p MaryEra)) (TxMeasurePhase1 (ShelleyBlock p MaryEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p MaryEra) → TickedLedgerState (ShelleyBlock p MaryEra) ValuesMK → GenTx (ShelleyBlock p MaryEra) → Except (ApplyTxErr (ShelleyBlock p MaryEra)) (TxMeasurePhase2 (ShelleyBlock p MaryEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p MaryEra) → TickedLedgerState (ShelleyBlock p MaryEra) mk → TxMeasure (ShelleyBlock p MaryEra) Source # | |||||||||
| ShelleyCompatible p ShelleyEra ⇒ TxLimits (ShelleyBlock p ShelleyEra) Source # | |||||||||
Associated Types
Methods txWireSize ∷ GenTx (ShelleyBlock p ShelleyEra) → SizeInBytes Source # txMeasurePhase1 ∷ LedgerConfig (ShelleyBlock p ShelleyEra) → TickedLedgerState (ShelleyBlock p ShelleyEra) EmptyMK → GenTx (ShelleyBlock p ShelleyEra) → Except (ApplyTxErr (ShelleyBlock p ShelleyEra)) (TxMeasurePhase1 (ShelleyBlock p ShelleyEra)) Source # txMeasurePhase2 ∷ LedgerConfig (ShelleyBlock p ShelleyEra) → TickedLedgerState (ShelleyBlock p ShelleyEra) ValuesMK → GenTx (ShelleyBlock p ShelleyEra) → Except (ApplyTxErr (ShelleyBlock p ShelleyEra)) (TxMeasurePhase2 (ShelleyBlock p ShelleyEra)) Source # blockCapacityTxMeasure ∷ ∀ (mk ∷ MapKind). LedgerConfig (ShelleyBlock p ShelleyEra) → TickedLedgerState (ShelleyBlock p ShelleyEra) mk → TxMeasure (ShelleyBlock p ShelleyEra) Source # | |||||||||