cardano-api
Safe HaskellNone
LanguageHaskell2010

Cardano.Api.Query

Synopsis

Queries

data QueryInEra era result where Source #

Constructors

QueryByronUpdateState :: QueryInEra ByronEra ByronUpdateState 
QueryInShelleyBasedEra :: forall era result. ShelleyBasedEra era -> QueryInShelleyBasedEra era result -> QueryInEra era result 

Instances

Instances details
Show (QueryInEra era result) Source # 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

Methods

showsPrec :: Int -> QueryInEra era result -> ShowS Source #

show :: QueryInEra era result -> String Source #

showList :: [QueryInEra era result] -> ShowS Source #

data QueryInShelleyBasedEra era result where Source #

Constructors

QueryEpoch :: forall era. QueryInShelleyBasedEra era EpochNo 
QueryGenesisParameters :: forall era. QueryInShelleyBasedEra era (GenesisParameters ShelleyEra) 
QueryProtocolParameters :: forall era. QueryInShelleyBasedEra era (PParams (ShelleyLedgerEra era)) 
QueryStakeDistribution :: forall era. QueryInShelleyBasedEra era (Map (Hash StakePoolKey) Rational) 
QueryUTxO :: forall era. QueryUTxOFilter -> QueryInShelleyBasedEra era (UTxO era) 
QueryStakeAddresses :: forall era. Set StakeCredential -> NetworkId -> QueryInShelleyBasedEra era (Map StakeAddress Coin, Map StakeAddress PoolId) 
QueryStakePools :: forall era. QueryInShelleyBasedEra era (Set PoolId) 
QueryStakePoolParameters :: forall era. Set PoolId -> QueryInShelleyBasedEra era (Map PoolId StakePoolParameters) 
QueryDebugLedgerState :: forall era. QueryInShelleyBasedEra era (SerialisedDebugLedgerState era) 
QueryProtocolState :: forall era. QueryInShelleyBasedEra era (ProtocolState era) 
QueryCurrentEpochState :: forall era. QueryInShelleyBasedEra era (SerialisedCurrentEpochState era) 
QueryPoolState :: forall era. Maybe (Set PoolId) -> QueryInShelleyBasedEra era SerialisedPoolState 
QueryPoolDistribution :: forall era. Maybe (Set PoolId) -> QueryInShelleyBasedEra era (Serialised (PoolDistribution era)) 
QueryStakeSnapshot :: forall era. Maybe (Set PoolId) -> QueryInShelleyBasedEra era (SerialisedStakeSnapshots era) 
QueryStakeDelegDeposits :: forall era. Set StakeCredential -> QueryInShelleyBasedEra era (Map StakeCredential Coin) 
QueryAccountState :: forall era. QueryInShelleyBasedEra era ChainAccountState 
QueryConstitution :: forall era. QueryInShelleyBasedEra era (Constitution (ShelleyLedgerEra era)) 
QueryGovState :: forall era. QueryInShelleyBasedEra era (GovState (ShelleyLedgerEra era)) 
QueryRatifyState :: forall era. QueryInShelleyBasedEra era (RatifyState (ShelleyLedgerEra era)) 
QueryFuturePParams :: forall era. QueryInShelleyBasedEra era (Maybe (PParams (ShelleyLedgerEra era))) 
QueryDRepState :: forall era. Set (Credential 'DRepRole) -> QueryInShelleyBasedEra era (Map (Credential 'DRepRole) DRepState) 
QueryDRepStakeDistr :: forall era. Set DRep -> QueryInShelleyBasedEra era (Map DRep Coin) 
QuerySPOStakeDistr :: forall era. Set (KeyHash 'StakePool) -> QueryInShelleyBasedEra era (Map (KeyHash 'StakePool) Coin) 
QueryCommitteeMembersState :: forall era. Set (Credential 'ColdCommitteeRole) -> Set (Credential 'HotCommitteeRole) -> Set MemberStatus -> QueryInShelleyBasedEra era CommitteeMembersState 
QueryStakeVoteDelegatees :: forall era. Set StakeCredential -> QueryInShelleyBasedEra era (Map StakeCredential DRep) 
QueryProposals :: forall era. Set GovActionId -> QueryInShelleyBasedEra era (Seq (GovActionState (ShelleyLedgerEra era))) 
QueryLedgerPeerSnapshot :: forall (ledgerPeersKind :: LedgerPeersKind) era. SingLedgerPeersKind ledgerPeersKind -> QueryInShelleyBasedEra era (LedgerPeerSnapshot ledgerPeersKind) 
QueryStakePoolDefaultVote :: forall era. KeyHash 'StakePool -> QueryInShelleyBasedEra era DefaultVote 
GetDRepDelegations :: forall era. Set DRep -> QueryInShelleyBasedEra era (Map DRep (Set (Credential 'Staking))) 

Instances

Instances details
Show (QueryInShelleyBasedEra era result) Source # 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

data QueryUTxOFilter Source #

Getting the whole UTxO is obviously not efficient since the result can be huge. Filtering by address is also not efficient because it requires a linear search.

The QueryUTxOFilterByTxIn is efficient since it fits with the structure of the UTxO (which is indexed by TxIn).

Constructors

QueryUTxOWhole

O(n) time and space for utxo size n

QueryUTxOByAddress (Set AddressAny)

O(n) time, O(m) space for utxo size n, and address set size m

QueryUTxOByTxIn (Set TxIn)

O(m log n) time, O(m) space for utxo size n, and address set size m

data UTxOInAnyEra where Source #

Constructors

UTxOInAnyEra :: forall era. CardanoEra era -> UTxO era -> UTxOInAnyEra 

Internal conversion functions

toConsensusQuery :: CardanoBlock StandardCrypto ~ block => QueryInMode result -> Some (Query block) Source #

fromConsensusQueryResult :: (HasCallStack, CardanoBlock StandardCrypto ~ block) => QueryInMode result -> Query block result' -> result' -> result Source #

Wrapper types used in queries

newtype PoolDistribution era Source #

Constructors

PoolDistribution 

data EraHistory where Source #

Constructors

EraHistory :: forall (xs :: [Type]). CardanoBlock StandardCrypto ~ HardForkBlock xs => Interpreter xs -> EraHistory 

Instances

Instances details
HasTypeProxy EraHistory Source # 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

Associated Types

data AsType EraHistory 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

SerialiseAsCBOR EraHistory Source # 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

HasTextEnvelope EraHistory Source #

The HasTextEnvelope instance for EraHistory is required by the transaction calculate-plutus-script-cost command in cartdano-cli and it can be obtained through the query era-history@ command.

Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

data AsType EraHistory Source # 
Instance details

Defined in Cardano.Api.Query.Internal.Type.QueryInMode

newtype SystemStart Source #

System start

Slots are counted from the system start.

Constructors

SystemStart 

Instances

Instances details
FromJSON SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

Methods

parseJSON :: Value -> Parser SystemStart #

parseJSONList :: Value -> Parser [SystemStart] #

omittedField :: Maybe SystemStart #

ToJSON SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

Methods

toJSON :: SystemStart -> Value #

toEncoding :: SystemStart -> Encoding #

toJSONList :: [SystemStart] -> Value #

toEncodingList :: [SystemStart] -> Encoding #

omitField :: SystemStart -> Bool #

FromCBOR SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

ToCBOR SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

DecCBOR SystemStart Source # 
Instance details

Defined in Cardano.Ledger.Binary.Decoding.DecCBOR

EncCBOR SystemStart Source # 
Instance details

Defined in Cardano.Ledger.Binary.Encoding.EncCBOR

Eq SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

Generic SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

Associated Types

type Rep SystemStart 
Instance details

Defined in Cardano.Slotting.Time

type Rep SystemStart = D1 ('MetaData "SystemStart" "Cardano.Slotting.Time" "cardano-slotting-0.2.1.0-572da24c8f9f31a4508c830415892e3bef0822dd3af95c8c7c1ac561b5a52a15" 'True) (C1 ('MetaCons "SystemStart" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSystemStart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)))
Show SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

NoThunks SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

Methods

noThunks :: Context -> SystemStart -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> SystemStart -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy SystemStart -> String #

Serialise SystemStart 
Instance details

Defined in Cardano.Slotting.Time

type Rep SystemStart Source # 
Instance details

Defined in Cardano.Slotting.Time

type Rep SystemStart = D1 ('MetaData "SystemStart" "Cardano.Slotting.Time" "cardano-slotting-0.2.1.0-572da24c8f9f31a4508c830415892e3bef0822dd3af95c8c7c1ac561b5a52a15" 'True) (C1 ('MetaCons "SystemStart" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSystemStart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)))

newtype SlotsInEpoch Source #

Constructors

SlotsInEpoch Word64 

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 :: MapKind to express the LedgerTables 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

Instances details
DecodeDisk ByronBlock (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDisk ByronBlock (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

(ShelleyBasedEra era, ShelleyBasedEra (PreviousEra era), TranslateEra era (ShelleyTip proto), TranslateEra era NewEpochState, TranslationError era NewEpochState ~ Void, CanMapMK mk, CanMapKeysMK mk) => TranslateEra era (Flip LedgerState mk :.: ShelleyBlock proto) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) = Void

Methods

translateEra :: TranslationContext era -> (Flip LedgerState mk :.: ShelleyBlock proto) (PreviousEra era) -> Except (TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto)) ((Flip LedgerState mk :.: ShelleyBlock proto) era) Source #

CanHardFork xs => GetTip (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Methods

getTip :: forall (mk :: MapKind). LedgerState (HardForkBlock xs) mk -> Point (LedgerState (HardForkBlock xs)) Source #

Bridge m a => GetTip (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

getTip :: forall (mk :: MapKind). LedgerState (DualBlock m a) mk -> Point (LedgerState (DualBlock m a)) Source #

GetTip (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

GetTip (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

getTip :: forall (mk :: MapKind). LedgerState (ShelleyBlock proto era) mk -> Point (LedgerState (ShelleyBlock proto era)) Source #

CanHardFork xs => IsLedger (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Bridge m a => IsLedger (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Associated Types

type LedgerErr (LedgerState (DualBlock m a)) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type AuxLedgerEvent (LedgerState (DualBlock m a)) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

IsLedger (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShelleyBasedEra era => IsLedger (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type LedgerErr (LedgerState (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type LedgerErr (LedgerState (ShelleyBlock proto era)) = BlockTransitionError era
type AuxLedgerEvent (LedgerState (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type AuxLedgerEvent (LedgerState (ShelleyBlock proto era)) = ShelleyLedgerEvent era

Methods

applyChainTickLedgerResult :: ComputeLedgerEvents -> LedgerCfg (LedgerState (ShelleyBlock proto era)) -> SlotNo -> LedgerState (ShelleyBlock proto era) EmptyMK -> LedgerResult (LedgerState (ShelleyBlock proto era)) (Ticked (LedgerState (ShelleyBlock proto era)) DiffMK) Source #

All (Compose CanStowLedgerTables LedgerState) xs => CanStowLedgerTables (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

CanStowLedgerTables (LedgerState m) => CanStowLedgerTables (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

CanStowLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShelleyBasedEra era => CanStowLedgerTables (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

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 #

(CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => HasLedgerTables (LedgerState (HardForkBlock xs)) Source #

Warning: projectLedgerTables and withLedgerTables are prohibitively expensive when using big tables or when used multiple times. See the TxOut instance for the HardForkBlock for more information.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

(Bridge m a, NoThunks (TxOut (LedgerState m)), NoThunks (TxIn (LedgerState m)), Show (TxOut (LedgerState m)), Show (TxIn (LedgerState m)), Eq (TxOut (LedgerState m)), Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m))) => HasLedgerTables (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

projectLedgerTables :: forall (mk :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => LedgerState (DualBlock m a) mk -> LedgerTables (LedgerState (DualBlock m a)) mk Source #

withLedgerTables :: forall (mk :: MapKind) (any :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => LedgerState (DualBlock m a) any -> LedgerTables (LedgerState (DualBlock m a)) mk -> LedgerState (DualBlock m a) mk Source #

HasLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShelleyBasedEra era => HasLedgerTables (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

projectLedgerTables :: forall (mk :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => LedgerState (ShelleyBlock proto era) mk -> LedgerTables (LedgerState (ShelleyBlock proto era)) mk Source #

withLedgerTables :: forall (mk :: MapKind) (any :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => LedgerState (ShelleyBlock proto era) any -> LedgerTables (LedgerState (ShelleyBlock proto era)) mk -> LedgerState (ShelleyBlock proto era) mk Source #

LedgerTablesAreTrivial (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

convertMapKind :: forall (mk :: MapKind) (mk' :: MapKind). LedgerState ByronBlock mk -> LedgerState ByronBlock mk' Source #

CardanoHardForkConstraints c => SerializeTablesWithHint (LedgerState (HardForkBlock (CardanoEras c))) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

SerializeTablesWithHint (LedgerState (HardForkBlock '[ByronBlock])) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

ShelleyCompatible proto era => SerializeTablesWithHint (LedgerState (HardForkBlock '[ShelleyBlock proto era])) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

(Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m)), MemPack (TxOut (LedgerState m))) => SerializeTablesWithHint (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

SerializeTablesWithHint (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShelleyCompatible proto era => SerializeTablesWithHint (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

encodeTablesWithHint :: SerializeTablesHint (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) -> LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK -> Encoding Source #

decodeTablesWithHint :: SerializeTablesHint (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) -> Decoder s (LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK) Source #

(CanHardFork xs, HasHardForkTxOut xs) => CanUpgradeLedgerTables (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

CanUpgradeLedgerTables (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

CanUpgradeLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

CanUpgradeLedgerTables (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

upgradeTables :: forall (mk1 :: MapKind) (mk2 :: MapKind). LedgerState (ShelleyBlock proto era) mk1 -> LedgerState (ShelleyBlock proto era) mk2 -> LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK -> LedgerTables (LedgerState (ShelleyBlock proto era)) ValuesMK Source #

ApplyBlock (LedgerState ByronBlock) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

(CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => ApplyBlock (LedgerState (HardForkBlock xs)) (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Bridge m a => ApplyBlock (LedgerState (DualBlock m a)) (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

ShelleyCompatible proto era => ApplyBlock (LedgerState (ShelleyBlock proto era)) (ShelleyBlock proto era) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

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 (LedgerState (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 (LedgerState (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 (LedgerState (ShelleyBlock proto era)) (LedgerState (ShelleyBlock proto era) DiffMK) Source #

getBlockKeySets :: ShelleyBlock proto era -> LedgerTables (LedgerState (ShelleyBlock proto era)) KeysMK Source #

SerialiseHFC xs => DecodeDisk (HardForkBlock xs) (LedgerState (HardForkBlock xs) EmptyMK) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseDisk

SerialiseHFC xs => EncodeDisk (HardForkBlock xs) (LedgerState (HardForkBlock xs) EmptyMK) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseDisk

(EqMK mk, CanHardFork xs) => Eq (LedgerState (HardForkBlock xs) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

(Bridge m a, EqMK mk) => Eq (LedgerState (DualBlock m a) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

(==) :: LedgerState (DualBlock m a) mk -> LedgerState (DualBlock m a) mk -> Bool Source #

(/=) :: LedgerState (DualBlock m a) mk -> LedgerState (DualBlock m a) mk -> Bool Source #

Eq (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

(ShelleyBasedEra era, EqMK mk) => Eq (LedgerState (ShelleyBlock proto era) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

(==) :: LedgerState (ShelleyBlock proto era) mk -> LedgerState (ShelleyBlock proto era) mk -> Bool Source #

(/=) :: LedgerState (ShelleyBlock proto era) mk -> LedgerState (ShelleyBlock proto era) mk -> Bool Source #

Generic (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Associated Types

type Rep (LedgerState ByronBlock mk) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "ByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronLedgerTipBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin BlockNo)) :*: (S1 ('MetaSel ('Just "byronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "byronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition))))
Generic (LedgerState (ShelleyBlock proto era) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type Rep (LedgerState (ShelleyBlock proto era) mk) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "ShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "shelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era))) :*: (S1 ('MetaSel ('Just "shelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShelleyTransition) :*: (S1 ('MetaSel ('Just "shelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk)) :*: S1 ('MetaSel ('Just "shelleyLedgerLatestPerasCertRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe PerasRoundNo))))))

Methods

from :: LedgerState (ShelleyBlock proto era) mk -> Rep (LedgerState (ShelleyBlock proto era) mk) x Source #

to :: Rep (LedgerState (ShelleyBlock proto era) mk) x -> LedgerState (ShelleyBlock proto era) mk Source #

(ShowMK mk, CanHardFork xs) => Show (LedgerState (HardForkBlock xs) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

(Bridge m a, ShowMK mk) => Show (LedgerState (DualBlock m a) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Show (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

(ShelleyBasedEra era, ShowMK mk) => Show (LedgerState (ShelleyBlock proto era) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

showsPrec :: Int -> LedgerState (ShelleyBlock proto era) mk -> ShowS Source #

show :: LedgerState (ShelleyBlock proto era) mk -> String Source #

showList :: [LedgerState (ShelleyBlock proto era) mk] -> ShowS Source #

(NoThunksMK mk, CanHardFork xs) => NoThunks (LedgerState (HardForkBlock xs) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

Methods

noThunks :: Context -> LedgerState (HardForkBlock xs) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> LedgerState (HardForkBlock xs) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (LedgerState (HardForkBlock xs) mk) -> String #

NoThunks (LedgerState (DualBlock m a) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

noThunks :: Context -> LedgerState (DualBlock m a) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> LedgerState (DualBlock m a) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (LedgerState (DualBlock m a) mk) -> String #

NoThunks (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

noThunks :: Context -> LedgerState ByronBlock mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> LedgerState ByronBlock mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (LedgerState ByronBlock mk) -> String #

(ShelleyBasedEra era, NoThunksMK mk) => NoThunks (LedgerState (ShelleyBlock proto era) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

noThunks :: Context -> LedgerState (ShelleyBlock proto era) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> LedgerState (ShelleyBlock proto era) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (LedgerState (ShelleyBlock proto era) mk) -> String #

CanHardFork xs => GetTip (Ticked (LedgerState (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Methods

getTip :: forall (mk :: MapKind). Ticked (LedgerState (HardForkBlock xs)) mk -> Point (Ticked (LedgerState (HardForkBlock xs))) Source #

Bridge m a => GetTip (Ticked (LedgerState (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

getTip :: forall (mk :: MapKind). Ticked (LedgerState (DualBlock m a)) mk -> Point (Ticked (LedgerState (DualBlock m a))) Source #

GetTip (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

GetTip (Ticked (LedgerState (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

getTip :: forall (mk :: MapKind). Ticked (LedgerState (ShelleyBlock proto era)) mk -> Point (Ticked (LedgerState (ShelleyBlock proto era))) Source #

ShelleyBasedEra era => CanStowLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) # 
Instance details

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 #

(CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => HasLedgerTables (Ticked (LedgerState (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

(Bridge m a, NoThunks (TxOut (LedgerState m)), NoThunks (TxIn (LedgerState m)), Show (TxOut (LedgerState m)), Show (TxIn (LedgerState m)), Eq (TxOut (LedgerState m)), Ord (TxIn (LedgerState m)), MemPack (TxIn (LedgerState m))) => HasLedgerTables (Ticked (LedgerState (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

HasLedgerTables (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShelleyBasedEra era => HasLedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

projectLedgerTables :: forall (mk :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => Ticked (LedgerState (ShelleyBlock proto era)) mk -> LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk Source #

withLedgerTables :: forall (mk :: MapKind) (any :: MapKind). (CanMapMK mk, CanMapKeysMK mk, ZeroableMK mk) => Ticked (LedgerState (ShelleyBlock proto era)) any -> LedgerTables (Ticked (LedgerState (ShelleyBlock proto era))) mk -> Ticked (LedgerState (ShelleyBlock proto era)) mk Source #

LedgerTablesAreTrivial (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

IndexedMemPack (LedgerState (HardForkBlock '[ByronBlock]) EmptyMK) Void # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

(txout ~ TxOut era, MemPack txout) => IndexedMemPack (LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK) txout # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Methods

indexedPackedByteCount :: LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK -> txout -> Int Source #

indexedPackM :: LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK -> txout -> Pack s () Source #

indexedUnpackM :: Buffer b => forall s. LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK -> Unpack s b txout Source #

indexedTypeName :: LedgerState (HardForkBlock '[ShelleyBlock proto era]) EmptyMK -> String Source #

(txout ~ TxOut (LedgerState m), IndexedMemPack (LedgerState m EmptyMK) txout) => IndexedMemPack (LedgerState (DualBlock m a) EmptyMK) txout Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

indexedPackedByteCount :: LedgerState (DualBlock m a) EmptyMK -> txout -> Int Source #

indexedPackM :: LedgerState (DualBlock m a) EmptyMK -> txout -> Pack s () Source #

indexedUnpackM :: Buffer b => forall s. LedgerState (DualBlock m a) EmptyMK -> Unpack s b txout Source #

indexedTypeName :: LedgerState (DualBlock m a) EmptyMK -> String Source #

IndexedMemPack (LedgerState ByronBlock EmptyMK) Void # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

(txout ~ TxOut era, MemPack txout) => IndexedMemPack (LedgerState (ShelleyBlock proto era) EmptyMK) txout # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Methods

indexedPackedByteCount :: LedgerState (ShelleyBlock proto era) EmptyMK -> txout -> Int Source #

indexedPackM :: LedgerState (ShelleyBlock proto era) EmptyMK -> txout -> Pack s () Source #

indexedUnpackM :: Buffer b => forall s. LedgerState (ShelleyBlock proto era) EmptyMK -> Unpack s b txout Source #

indexedTypeName :: LedgerState (ShelleyBlock proto era) EmptyMK -> String Source #

CardanoHardForkConstraints c => IndexedMemPack (LedgerState (HardForkBlock (CardanoEras c)) EmptyMK) (CardanoTxOut c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

indexedPackedByteCount :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> CardanoTxOut c -> Int Source #

indexedPackM :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> CardanoTxOut c -> Pack s () Source #

indexedUnpackM :: Buffer b => forall s. LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> Unpack s b (CardanoTxOut c) Source #

indexedTypeName :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> String Source #

StandardHash blk => StandardHash (LedgerState blk :: MapKind -> Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Basics

ShelleyCompatible proto era => DecodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

decodeDisk :: CodecConfig (ShelleyBlock proto era) -> forall s. Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK) Source #

ShelleyCompatible proto era => EncodeDisk (ShelleyBlock proto era) (LedgerState (ShelleyBlock proto era) EmptyMK) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeDisk :: CodecConfig (ShelleyBlock proto era) -> LedgerState (ShelleyBlock proto era) EmptyMK -> Encoding Source #

Generic (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Associated Types

type Rep (Ticked (LedgerState ByronBlock) mk) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition)))
Generic (Ticked (LedgerState (ShelleyBlock proto era)) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) 
Instance details

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-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerLatestPerasCertRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe PerasRoundNo))))))

Methods

from :: Ticked (LedgerState (ShelleyBlock proto era)) mk -> Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x Source #

to :: Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) x -> Ticked (LedgerState (ShelleyBlock proto era)) mk Source #

NoThunks (Ticked (LedgerState (DualBlock m a)) mk) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

noThunks :: Context -> Ticked (LedgerState (DualBlock m a)) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Ticked (LedgerState (DualBlock m a)) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Ticked (LedgerState (DualBlock m a)) mk) -> String #

NoThunks (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

noThunks :: Context -> Ticked (LedgerState ByronBlock) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Ticked (LedgerState ByronBlock) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Ticked (LedgerState ByronBlock) mk) -> String #

Inject (Flip LedgerState mk) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Methods

inject :: forall x (xs :: [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => InjectionIndex xs x -> Flip LedgerState mk x -> Flip LedgerState mk (HardForkBlock xs) Source #

Isomorphic (Flip LedgerState mk) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Methods

project :: NoHardForks blk => Flip LedgerState mk (HardForkBlock '[blk]) -> Flip LedgerState mk blk Source #

inject :: NoHardForks blk => Flip LedgerState mk blk -> Flip LedgerState mk (HardForkBlock '[blk]) Source #

data LedgerState ByronBlock mk # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type TranslationError era (Flip LedgerState mk :.: ShelleyBlock proto) = Void
type AuxLedgerEvent (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

type AuxLedgerEvent (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type AuxLedgerEvent (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type AuxLedgerEvent (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type AuxLedgerEvent (LedgerState (ShelleyBlock proto era)) = ShelleyLedgerEvent era
type LedgerCfg (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type LedgerCfg (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type LedgerCfg (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerCfg (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type LedgerCfg (LedgerState (ShelleyBlock proto era)) = ShelleyLedgerConfig era
type LedgerErr (LedgerState (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

type LedgerErr (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type LedgerErr (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerErr (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type LedgerErr (LedgerState (ShelleyBlock proto era)) = BlockTransitionError era
newtype LedgerState (HardForkBlock xs) mk Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type TxIn (LedgerState (HardForkBlock xs)) Source #

Must be the CannonicalTxIn type, but this will probably change in the future to NS WrapTxIn xs. See HasCanonicalTxIn.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

type TxIn (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type TxIn (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type TxIn (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type TxIn (LedgerState (ShelleyBlock proto era)) = BigEndianTxIn
type TxOut (LedgerState (HardForkBlock xs)) Source #

Must be the HardForkTxOut type

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

type TxOut (LedgerState (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type TxOut (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type TxOut (LedgerState (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type TxOut (LedgerState (ShelleyBlock proto era)) = TxOut era
type Rep (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "ByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronLedgerTipBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin BlockNo)) :*: (S1 ('MetaSel ('Just "byronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "byronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition))))
type Rep (LedgerState (ShelleyBlock proto era) mk) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type Rep (LedgerState (ShelleyBlock proto era) mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Shelley.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "ShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "shelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "shelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era))) :*: (S1 ('MetaSel ('Just "shelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShelleyTransition) :*: (S1 ('MetaSel ('Just "shelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk)) :*: S1 ('MetaSel ('Just "shelleyLedgerLatestPerasCertRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe PerasRoundNo))))))
data LedgerState (DualBlock m a) mk Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data LedgerState (ShelleyBlock proto era) mk # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

data LedgerState (ShelleyBlock proto era) mk = ShelleyLedgerState {}
data Ticked (LedgerState (HardForkBlock xs) :: MapKind -> Type) (mk :: MapKind) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

data Ticked (LedgerState (DualBlock m a) :: MapKind -> Type) (mk :: MapKind) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data Ticked (LedgerState ByronBlock) (mk :: MapKind) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

data Ticked (LedgerState (ShelleyBlock proto era) :: MapKind -> Type) (mk :: MapKind) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type HeaderHash (LedgerState blk :: MapKind -> Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Basics

type Rep (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition)))
type Rep (Ticked (LedgerState (ShelleyBlock proto era)) mk) # 
Instance details

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-3.0.0.0-l-cardano-af9592d6f64ab87e47c798dee6e1db964ebb0989a04b05617d48118746c0307b" 'False) (C1 ('MetaCons "TickedShelleyLedgerState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "untickedShelleyLedgerTip") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin (ShelleyTip proto era))) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShelleyTransition)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NewEpochState era)) :*: (S1 ('MetaSel ('Just "tickedShelleyLedgerTables") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerTables (LedgerState (ShelleyBlock proto era)) mk)) :*: S1 ('MetaSel ('Just "tickedShelleyLedgerLatestPerasCertRound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe PerasRoundNo))))))

getSlotForRelativeTime :: RelativeTime -> EraHistory -> Either PastHorizonException SlotNo Source #

Returns the slot number for provided relative time from SystemStart

decodeLedgerPeerSnapshot :: forall (ledgerPeersKind :: LedgerPeersKind). SingLedgerPeersKind ledgerPeersKind -> ShelleyNodeToClientVersion -> Serialised (LedgerPeerSnapshot ledgerPeersKind) -> Either (ByteString, DecoderError) (LedgerPeerSnapshot ledgerPeersKind) Source #

Convenience functions

determineEra :: LocalNodeConnectInfo -> ExceptT AcquiringFailure IO AnyCardanoEra Source #

Query the node to determine which era it is in.

Simplest query related

executeQueryCardanoMode :: SocketPath -> NetworkId -> QueryInMode (Either EraMismatch result) -> ExceptT QueryConvenienceError IO result Source #

Execute a query against the local node. The local node must be in CardanoMode.

executeQueryAnyMode :: LocalNodeConnectInfo -> QueryInMode (Either EraMismatch result) -> ExceptT QueryConvenienceError IO result Source #

Execute a query against the local node in any mode.

queryStateForBalancedTx :: CardanoEra era -> [TxIn] -> [Certificate (ShelleyLedgerEra era)] -> LocalStateQueryExpr block point QueryInMode r IO (Either QueryConvenienceError (UTxO era, LedgerProtocolParameters era, EraHistory, SystemStart, Set PoolId, Map StakeCredential Coin, Map (Credential 'DRepRole) (CompactForm Coin), Maybe (Featured ConwayEraOnwards era TxCurrentTreasuryValue))) Source #

A convenience function to query the relevant information, from the local node, for Cardano.Api.Tx.Internal.Convenience.constructBalancedTx

Query wrapper functions

queryLedgerPeerSnapshot :: forall era (ledgerPeersKind :: LedgerPeersKind) block point r. ShelleyBasedEra era -> SingLedgerPeersKind ledgerPeersKind -> LocalStateQueryExpr block point QueryInMode r IO (Either UnsupportedNtcVersionError (Either EraMismatch (LedgerPeerSnapshot ledgerPeersKind))) Source #

data MemberStatus Source #

Constructors

Active 
Expired 
Unrecognized

This can happen when a hot credential for an unknown cold credential exists. Such Committee member will be either removed from the state at the next epoch boundary or enacted as a new member.

Instances

Instances details
ToJSON MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Methods

toJSON :: MemberStatus -> Value #

toEncoding :: MemberStatus -> Encoding #

toJSONList :: [MemberStatus] -> Value #

toEncodingList :: [MemberStatus] -> Encoding #

omitField :: MemberStatus -> Bool #

DecCBOR MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

EncCBOR MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Eq MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Ord MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Bounded MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Enum MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Generic MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Associated Types

type Rep MemberStatus 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep MemberStatus = D1 ('MetaData "MemberStatus" "Cardano.Ledger.Api.State.Query.CommitteeMembersState" "cardano-ledger-api-1.13.0.0-a95ea9d544a8b5a5a4c3ab4f5050be7915deb7ad5b8a1643ff71613fdc50d928" 'False) (C1 ('MetaCons "Active" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Expired" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unrecognized" 'PrefixI 'False) (U1 :: Type -> Type)))
Show MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep MemberStatus Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep MemberStatus = D1 ('MetaData "MemberStatus" "Cardano.Ledger.Api.State.Query.CommitteeMembersState" "cardano-ledger-api-1.13.0.0-a95ea9d544a8b5a5a4c3ab4f5050be7915deb7ad5b8a1643ff71613fdc50d928" 'False) (C1 ('MetaCons "Active" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Expired" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unrecognized" 'PrefixI 'False) (U1 :: Type -> Type)))

data CommitteeMembersState Source #

Constructors

CommitteeMembersState 

Fields

Instances

Instances details
ToJSON CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

DecCBOR CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

EncCBOR CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

ToKeyValuePairs CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Methods

toKeyValuePairs :: KeyValue e kv => CommitteeMembersState -> [kv] Source #

Eq CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Ord CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Generic CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

Associated Types

type Rep CommitteeMembersState 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep CommitteeMembersState = D1 ('MetaData "CommitteeMembersState" "Cardano.Ledger.Api.State.Query.CommitteeMembersState" "cardano-ledger-api-1.13.0.0-a95ea9d544a8b5a5a4c3ab4f5050be7915deb7ad5b8a1643ff71613fdc50d928" 'False) (C1 ('MetaCons "CommitteeMembersState" 'PrefixI 'True) (S1 ('MetaSel ('Just "csCommittee") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'ColdCommitteeRole) CommitteeMemberState)) :*: (S1 ('MetaSel ('Just "csThreshold") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe UnitInterval)) :*: S1 ('MetaSel ('Just "csEpochNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochNo))))
Show CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep CommitteeMembersState Source # 
Instance details

Defined in Cardano.Ledger.Api.State.Query.CommitteeMembersState

type Rep CommitteeMembersState = D1 ('MetaData "CommitteeMembersState" "Cardano.Ledger.Api.State.Query.CommitteeMembersState" "cardano-ledger-api-1.13.0.0-a95ea9d544a8b5a5a4c3ab4f5050be7915deb7ad5b8a1643ff71613fdc50d928" 'False) (C1 ('MetaCons "CommitteeMembersState" 'PrefixI 'True) (S1 ('MetaSel ('Just "csCommittee") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'ColdCommitteeRole) CommitteeMemberState)) :*: (S1 ('MetaSel ('Just "csThreshold") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe UnitInterval)) :*: S1 ('MetaSel ('Just "csEpochNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochNo))))

queryCommitteeMembersState :: ConwayEraOnwards era -> Set (Credential 'ColdCommitteeRole) -> Set (Credential 'HotCommitteeRole) -> Set MemberStatus -> LocalStateQueryExpr block point QueryInMode r IO (Either UnsupportedNtcVersionError (Either EraMismatch CommitteeMembersState)) Source #

Returns info about committee members filtered by: cold credentials, hot credentials and statuses. If empty sets are passed as filters, then no filtering is done.

queryDRepStakeDistribution Source #

Arguments

:: ConwayEraOnwards era 
-> Set DRep

An empty DRep set means that distributions for all DReps will be returned

-> LocalStateQueryExpr block point QueryInMode r IO (Either UnsupportedNtcVersionError (Either EraMismatch (Map DRep Coin))) 

querySPOStakeDistribution Source #

Arguments

:: ConwayEraOnwards era 
-> Set (KeyHash 'StakePool)

An empty SPO key hash set means that distributions for all SPOs will be returned

-> LocalStateQueryExpr block point QueryInMode r IO (Either UnsupportedNtcVersionError (Either EraMismatch (Map (KeyHash 'StakePool) Coin))) 

queryDRepState Source #

Arguments

:: ConwayEraOnwards era 
-> Set (Credential 'DRepRole)

An empty credentials set means that states for all DReps will be returned

-> LocalStateQueryExpr block point QueryInMode r IO (Either UnsupportedNtcVersionError (Either EraMismatch (Map (Credential 'DRepRole) DRepState))) 

Debugging utilities

toDebugLedgerStatePair :: KeyValue e a => ShelleyBasedEra era -> DebugLedgerState era -> [a] Source #