Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data StrictMaybe a
- bbody ∷ Block h era → TxSeq era
- bheader ∷ Block h era → h
- data Block h era where
- Block' !h !(TxSeq era) ByteString
- pattern UnserialisedBlock ∷ h → TxSeq era → Block h era
- pattern UnsafeUnserialisedBlock ∷ h → TxSeq era → Block h era
- pattern Block ∷ (Era era, EncCBORGroup (TxSeq era), EncCBOR h) ⇒ h → TxSeq era → Block h era
- balance ∷ EraTxOut era ⇒ UTxO era → Value era
- newtype UTxO era = UTxO {}
- data InstantaneousRewards = InstantaneousRewards {
- iRReserves ∷ !(Map (Credential 'Staking) Coin)
- iRTreasury ∷ !(Map (Credential 'Staking) Coin)
- deltaReserves ∷ !DeltaCoin
- deltaTreasury ∷ !DeltaCoin
- data DState era = DState {}
- data PState era = PState {
- psStakePoolParams ∷ !(Map (KeyHash 'StakePool) PoolParams)
- psFutureStakePoolParams ∷ !(Map (KeyHash 'StakePool) PoolParams)
- psRetiring ∷ !(Map (KeyHash 'StakePool) EpochNo)
- psDeposits ∷ !(Map (KeyHash 'StakePool) Coin)
- data VState era = VState {
- vsDReps ∷ !(Map (Credential 'DRepRole) DRepState)
- vsCommitteeState ∷ !(CommitteeState era)
- vsNumDormantEpochs ∷ !EpochNo
- data CertState era = CertState {
- certVState ∷ !(VState era)
- certPState ∷ !(PState era)
- certDState ∷ !(DState era)
- calculatePoolDistr' ∷ (KeyHash 'StakePool → Bool) → SnapShot → PoolDistr
- calculatePoolDistr ∷ SnapShot → PoolDistr
- newtype Stake = Stake {
- unStake ∷ VMap VB VP (Credential 'Staking) (CompactForm Coin)
- data SnapShot = SnapShot {
- ssStake ∷ !Stake
- ssDelegations ∷ !(VMap VB VB (Credential 'Staking) (KeyHash 'StakePool))
- ssPoolParams ∷ !(VMap VB VB (KeyHash 'StakePool) PoolParams)
- data SnapShots = SnapShots {}
- newtype TxId = TxId {}
- data TxIn = TxIn !TxId !TxIx
- isOverlaySlot ∷ SlotNo → UnitInterval → SlotNo → Bool
- data PoolCert
- = RegPool !PoolParams
- | RetirePool !(KeyHash 'StakePool) !EpochNo
- data PoolMetadata = PoolMetadata {
- pmUrl ∷ !Url
- pmHash ∷ !ByteString
- data StakePoolRelay
- = SingleHostAddr !(StrictMaybe Port) !(StrictMaybe IPv4) !(StrictMaybe IPv6)
- | SingleHostName !(StrictMaybe Port) !DnsName
- | MultiHostName !DnsName
- data PoolParams = PoolParams {
- ppId ∷ !(KeyHash 'StakePool)
- ppVrf ∷ !(VRFVerKeyHash 'StakePoolVRF)
- ppPledge ∷ !Coin
- ppCost ∷ !Coin
- ppMargin ∷ !UnitInterval
- ppRewardAccount ∷ !RewardAccount
- ppOwners ∷ !(Set (KeyHash 'Staking))
- ppRelays ∷ !(StrictSeq StakePoolRelay)
- ppMetadata ∷ !(StrictMaybe PoolMetadata)
- individualPoolStake ∷ IndividualPoolStake → Rational
- data PoolDistr = PoolDistr {}
- data Addr
- data RewardAccount = RewardAccount {
- raNetwork ∷ !Network
- raCredential ∷ !(Credential 'Staking)
- newtype Withdrawals = Withdrawals {}
- word64ToCoin ∷ Word64 → Coin
- newtype Coin = Coin {}
- data Credential (kr ∷ KeyRole)
- = ScriptHashObj !ScriptHash
- | KeyHashObj !(KeyHash kr)
- data StakeReference
- data Ptr = Ptr !SlotNo !TxIx !CertIx
- certIxFromIntegral ∷ (Integral a, MonadFail m) ⇒ a → m CertIx
- certIxToInt ∷ CertIx → Int
- txIxFromIntegral ∷ (Integral a, MonadFail m) ⇒ a → m TxIx
- txIxToInt ∷ TxIx → Int
- data ProtVer = ProtVer {}
- data Nonce
- = Nonce !(Hash Blake2b_256 Nonce)
- | NeutralNonce
- newtype Port = Port {}
- data Globals = Globals {}
- data Network
- data TxIx
- data CertIx
- hashVerKeyVRF ∷ ∀ c (r ∷ KeyRoleVRF). Crypto c ⇒ VerKeyVRF (VRF c) → VRFVerKeyHash r
- type Hash = Hash HASH
- type SignedDSIGN = SignedDSIGN DSIGN
- type SignKeyDSIGN = SignKeyDSIGN DSIGN
- type KESignable c = Signable (KES c)
- type SignedKES c = SignedKES (KES c)
- type SignKeyKES c = SignKeyKES (KES c)
- type VerKeyKES c = VerKeyKES (KES c)
- type CertifiedVRF c = CertifiedVRF (VRF c)
- type SignKeyVRF c = SignKeyVRF (VRF c)
- type VerKeyVRF c = VerKeyVRF (VRF c)
- data BootstrapWitness where
- pattern BootstrapWitness ∷ VKey 'Witness → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → ChainCode → ByteString → BootstrapWitness
- data WitVKey (kr ∷ KeyRole) where
- pattern WitVKey ∷ Typeable kr ⇒ VKey kr → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → WitVKey kr
- hashKey ∷ ∀ (kd ∷ KeyRole). VKey kd → KeyHash kd
- newtype KeyHash (r ∷ KeyRole) = KeyHash {}
- newtype ScriptHash = ScriptHash (Hash ADDRHASH EraIndependentScript)
- data GenDelegPair = GenDelegPair {}
- newtype GenDelegs = GenDelegs {}
- data KeyRole
- coerceKeyRole ∷ ∀ (r ∷ KeyRole) (r' ∷ KeyRole). HasKeyRole a ⇒ a r → a r'
- newtype VKey (kd ∷ KeyRole) = VKey {}
- data Metadatum
- data ShelleyUTXOW era
- data ShelleyUTXO era
- data ShelleyTICKF era
- data ShelleyTICK era
- data ShelleyPPUP era
- data ShelleyPOOLREAP era
- data ShelleyPOOL era
- data ShelleyNEWEPOCH era
- data ShelleyLEDGERS era
- data ShelleyLEDGER era
- data ShelleyDELPL era
- data ShelleyDELEGS era
- data ShelleyDELEG era
- newtype ProposedPPUpdates era = ProposedPPUpdates (Map (KeyHash 'Genesis) (PParamsUpdate era))
- data Update era = Update !(ProposedPPUpdates era) !EpochNo
- data ShelleyGovState era = ShelleyGovState {
- sgsCurProposals ∷ !(ProposedPPUpdates era)
- sgsFutureProposals ∷ !(ProposedPPUpdates era)
- sgsCurPParams ∷ !(PParams era)
- sgsPrevPParams ∷ !(PParams era)
- sgsFuturePParams ∷ !(FuturePParams era)
- data NonMyopic
- data RewardUpdate = RewardUpdate {}
- data PpupEnv era = PPUPEnv SlotNo (PParams era) GenDelegs
- data MultiSig era
- computeStabilityWindow ∷ Word64 → ActiveSlotCoeff → Word64
- computeRandomnessStabilisationWindow ∷ Word64 → ActiveSlotCoeff → Word64
- data ValidationErr
- data ShelleyGenesis = ShelleyGenesis {
- sgSystemStart ∷ !UTCTime
- sgNetworkMagic ∷ !Word32
- sgNetworkId ∷ !Network
- sgActiveSlotsCoeff ∷ !PositiveUnitInterval
- sgSecurityParam ∷ !Word64
- sgEpochLength ∷ !EpochSize
- sgSlotsPerKESPeriod ∷ !Word64
- sgMaxKESEvolutions ∷ !Word64
- sgSlotLength ∷ !NominalDiffTimeMicro
- sgUpdateQuorum ∷ !Word64
- sgMaxLovelaceSupply ∷ !Word64
- sgProtocolParams ∷ !(PParams ShelleyEra)
- sgGenDelegs ∷ !(Map (KeyHash 'Genesis) GenDelegPair)
- sgInitialFunds ∷ ListMap Addr Coin
- sgStaking ∷ ShelleyGenesisStaking
- newtype NominalDiffTimeMicro = NominalDiffTimeMicro Micro
- data ShelleyGenesisStaking = ShelleyGenesisStaking {}
- emptyGenesisStaking ∷ ShelleyGenesisStaking
- fromNominalDiffTimeMicro ∷ NominalDiffTimeMicro → NominalDiffTime
- toNominalDiffTimeMicroWithRounding ∷ NominalDiffTime → NominalDiffTimeMicro
- toNominalDiffTimeMicro ∷ NominalDiffTime → Maybe NominalDiffTimeMicro
- secondsToNominalDiffTimeMicro ∷ Micro → NominalDiffTimeMicro
- nominalDiffTimeMicroToMicroseconds ∷ NominalDiffTimeMicro → Micro
- nominalDiffTimeMicroToSeconds ∷ NominalDiffTimeMicro → Pico
- sgInitialFundsL ∷ Lens' ShelleyGenesis (ListMap Addr Coin)
- sgStakingL ∷ Lens' ShelleyGenesis ShelleyGenesisStaking
- sgActiveSlotCoeff ∷ ShelleyGenesis → ActiveSlotCoeff
- toShelleyGenesisPairs ∷ KeyValue e a ⇒ ShelleyGenesis → [a]
- genesisUTxO ∷ ∀ era. EraTxOut era ⇒ ShelleyGenesis → UTxO era
- initialFundsPseudoTxIn ∷ Addr → TxIn
- describeValidationErr ∷ ValidationErr → Text
- validateGenesis ∷ ShelleyGenesis → Either [ValidationErr] ()
- mkShelleyGlobals ∷ ShelleyGenesis → EpochInfo (Either Text) → Globals
- data ShelleyTxAuxData era where
- pattern ShelleyTxAuxData ∷ ∀ era. Era era ⇒ Map Word64 Metadatum → ShelleyTxAuxData era
- data ShelleyDelegCert
- data MIRCert = MIRCert {
- mirPot ∷ !MIRPot
- mirRewards ∷ !MIRTarget
- data MIRTarget
- data MIRPot
- data GenesisDelegCert = GenesisDelegCert !(KeyHash 'Genesis) !(KeyHash 'GenesisDelegate) !(VRFVerKeyHash 'GenDelegVRF)
- data ShelleyTxOut era where
- TxOutCompact !CompactAddr !(CompactForm (Value era))
- pattern ShelleyTxOut ∷ (HasCallStack, Era era, Val (Value era)) ⇒ Addr → Value era → ShelleyTxOut era
- newtype ShelleyTxBody era where
- TxBodyConstr (MemoBytes ShelleyTxBodyRaw era)
- pattern ShelleyTxBody ∷ (EraTxOut era, EncCBOR (TxCert era)) ⇒ Set TxIn → StrictSeq (TxOut era) → StrictSeq (TxCert era) → Withdrawals → Coin → SlotNo → StrictMaybe (Update era) → StrictMaybe TxAuxDataHash → ShelleyTxBody era
- data ShelleyTxWits era
- data ShelleyTx era where
- data LedgerState era = LedgerState {
- lsUTxOState ∷ !(UTxOState era)
- lsCertState ∷ !(CertState era)
- data NewEpochState era = NewEpochState {
- nesEL ∷ !EpochNo
- nesBprev ∷ !BlocksMade
- nesBcur ∷ !BlocksMade
- nesEs ∷ !(EpochState era)
- nesRu ∷ !(StrictMaybe PulsingRewUpdate)
- nesPd ∷ !PoolDistr
- stashedAVVMAddresses ∷ !(StashedAVVMAddresses era)
- data UTxOState era = UTxOState {
- utxosUtxo ∷ !(UTxO era)
- utxosDeposited ∷ Coin
- utxosFees ∷ !Coin
- utxosGovState ∷ !(GovState era)
- utxosStakeDistr ∷ !IncrementalStake
- utxosDonation ∷ !Coin
- data IncrementalStake = IStake {
- credMap ∷ !(Map (Credential 'Staking) (CompactForm Coin))
- ptrMap ∷ !(Map Ptr (CompactForm Coin))
- data EpochState era = EpochState {
- esAccountState ∷ !AccountState
- esLState ∷ !(LedgerState era)
- esSnapshots ∷ !SnapShots
- esNonMyopic ∷ !NonMyopic
- data AccountState = AccountState {
- asTreasury ∷ !Coin
- asReserves ∷ !Coin
- bbHash ∷ ShelleyTxSeq era → Hash HASH EraIndependentBlockBody
- data UtxoEnv era = UtxoEnv {}
- data SnapEnv era = SnapEnv !(LedgerState era) !(PParams era)
- data PoolEnv era = PoolEnv !EpochNo !(PParams era)
- data DelegEnv era = DelegEnv {
- slotNo ∷ !SlotNo
- deCurEpochNo ∷ EpochNo
- ptr_ ∷ !Ptr
- acnt_ ∷ !AccountState
- ppDE ∷ !(PParams era)
- data DelplEnv era = DelplEnv {}
- data DelegsEnv era = DelegsEnv {
- delegsSlotNo ∷ !SlotNo
- delegsEpochNo ∷ EpochNo
- delegsIx ∷ !TxIx
- delegspp ∷ !(PParams era)
- delegsTx ∷ !(Tx era)
- delegsAccount ∷ !AccountState
- data LedgerEnv era = LedgerEnv {
- ledgerSlotNo ∷ !SlotNo
- ledgerEpochNo ∷ !(Maybe EpochNo)
- ledgerIx ∷ !TxIx
- ledgerPp ∷ !(PParams era)
- ledgerAccount ∷ !AccountState
- ledgerMempool ∷ !Bool
- data ShelleyLedgersEnv era = LedgersEnv {}
Documentation
data StrictMaybe a Source #
Instances
Block' !h !(TxSeq era) ByteString |
pattern UnserialisedBlock ∷ h → TxSeq era → Block h era | Access a block without its serialised bytes. This is often useful when
we're using a |
pattern UnsafeUnserialisedBlock ∷ h → TxSeq era → Block h era | Unsafely construct a block without the ability to serialise its bytes. Anyone calling this pattern must ensure that the resulting block is never serialised. Any uses of this pattern outside of testing code should be regarded with suspicion. |
pattern Block ∷ (Era era, EncCBORGroup (TxSeq era), EncCBOR h) ⇒ h → TxSeq era → Block h era |
Instances
(EraSegWits era, DecCBOR (Annotator h), Typeable h) ⇒ DecCBOR (Annotator (Block h era)) | |
Generic (Block h era) | |
(Era era, Show (TxSeq era), Show h) ⇒ Show (Block h era) | |
(EraTx era, Typeable h) ⇒ ToCBOR (Block h era) | |
(EraTx era, Typeable h) ⇒ EncCBOR (Block h era) | |
(Era era, Eq (TxSeq era), Eq h) ⇒ Eq (Block h era) | |
(Era era, NoThunks (TxSeq era), NoThunks h) ⇒ NoThunks (Block h era) | |
type Rep (Block h era) | |
Defined in Cardano.Ledger.Block type Rep (Block h era) = D1 ('MetaData "Block" "Cardano.Ledger.Block" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Block'" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 h) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TxSeq era)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))) |
balance ∷ EraTxOut era ⇒ UTxO era → Value era Source #
Determine the total balance contained in the UTxO.
The unspent transaction outputs.
Instances
ToJSON (TxOut era) ⇒ ToJSON (UTxO era) | |
Era era ⇒ Monoid (UTxO era) | |
Semigroup (UTxO era) | |
Generic (UTxO era) | |
Show (TxOut era) ⇒ Show (UTxO era) | |
(DecCBOR (TxOut era), Era era) ⇒ FromCBOR (UTxO era) | |
(EncCBOR (TxOut era), Era era) ⇒ ToCBOR (UTxO era) | |
(Era era, DecCBOR (TxOut era)) ⇒ DecCBOR (UTxO era) | |
(DecShareCBOR (TxOut era), Share (TxOut era) ~ Interns (Credential 'Staking)) ⇒ DecShareCBOR (UTxO era) | |
(Era era, EncCBOR (TxOut era)) ⇒ EncCBOR (UTxO era) | |
Default (UTxO era) | |
Defined in Cardano.Ledger.UTxO | |
(Era era, NFData (TxOut era)) ⇒ NFData (UTxO era) | |
Defined in Cardano.Ledger.UTxO | |
(Era era, Eq (TxOut era)) ⇒ Eq (UTxO era) | |
NoThunks (TxOut era) ⇒ NoThunks (UTxO era) | |
type Rep (UTxO era) | |
Defined in Cardano.Ledger.UTxO | |
type Share (UTxO era) | |
data InstantaneousRewards Source #
InstantaneousRewards captures the pending changes to the ledger state caused by MIR certificates. It consists of two mappings, the rewards which will be paid out from the reserves and the rewards which will be paid out from the treasury. It also consists of two coin values which represent the transfer of coins from one pot to the other pot. NOTE that the following property should always hold: deltaReserves + deltaTreasury = 0
InstantaneousRewards | |
|
Instances
The state used by the DELEG rule, which roughly tracks stake delegation and some governance features.
DState | |
|
Instances
ToJSON (DState era) | |
Generic (DState era) | |
Show (DState era) | |
DecShareCBOR (DState era) | |
Era era ⇒ EncCBOR (DState era) | |
Default (DState era) | |
Defined in Cardano.Ledger.CertState | |
NFData (DState era) | |
Defined in Cardano.Ledger.CertState | |
Eq (DState era) | |
NoThunks (DState era) | |
type Rep (DState era) | |
Defined in Cardano.Ledger.CertState type Rep (DState era) = D1 ('MetaData "DState" "Cardano.Ledger.CertState" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "DState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dsUnified") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UMap) :*: S1 ('MetaSel ('Just "dsFutureGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map FutureGenDeleg GenDelegPair))) :*: (S1 ('MetaSel ('Just "dsGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 GenDelegs) :*: S1 ('MetaSel ('Just "dsIRewards") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 InstantaneousRewards)))) | |
type Share (DState era) | |
The state used by the POOL rule, which tracks stake pool information.
PState | |
|
Instances
The state that tracks the voting entities (DReps and Constitutional Committee
members). In the formal ledger specification this type is called GState
VState | |
|
Instances
Generic (VState era) | |
Show (VState era) | |
Era era ⇒ DecCBOR (VState era) | |
Era era ⇒ DecShareCBOR (VState era) | |
Era era ⇒ EncCBOR (VState era) | |
Default (VState era) | |
Defined in Cardano.Ledger.CertState | |
NFData (VState era) | |
Defined in Cardano.Ledger.CertState | |
Eq (VState era) | |
NoThunks (VState era) | |
type Rep (VState era) | |
Defined in Cardano.Ledger.CertState type Rep (VState era) = D1 ('MetaData "VState" "Cardano.Ledger.CertState" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "VState" 'PrefixI 'True) (S1 ('MetaSel ('Just "vsDReps") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'DRepRole) DRepState)) :*: (S1 ('MetaSel ('Just "vsCommitteeState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CommitteeState era)) :*: S1 ('MetaSel ('Just "vsNumDormantEpochs") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochNo)))) | |
type Share (VState era) | |
The state associated with the DELPL rule, which combines the DELEG rule and the POOL rule.
CertState | |
|
Instances
ToJSON (CertState era) | |
Generic (CertState era) | |
Show (CertState era) | |
Era era ⇒ DecShareCBOR (CertState era) | |
Era era ⇒ EncCBOR (CertState era) | |
Default (CertState era) | |
Defined in Cardano.Ledger.CertState | |
NFData (CertState era) | |
Defined in Cardano.Ledger.CertState | |
Eq (CertState era) | |
NoThunks (CertState era) | |
type Rep (CertState era) | |
Defined in Cardano.Ledger.CertState type Rep (CertState era) = D1 ('MetaData "CertState" "Cardano.Ledger.CertState" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "CertState" 'PrefixI 'True) (S1 ('MetaSel ('Just "certVState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VState era)) :*: (S1 ('MetaSel ('Just "certPState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PState era)) :*: S1 ('MetaSel ('Just "certDState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (DState era))))) | |
type Share (CertState era) | |
Type of stake as map from hash key to coins associated.
Stake | |
|
Instances
ToJSON Stake | |
Generic Stake | |
Show Stake | |
DecShareCBOR Stake | |
EncCBOR Stake | |
NFData Stake | |
Defined in Cardano.Ledger.EpochBoundary | |
Eq Stake | |
NoThunks Stake | |
type Rep Stake | |
Defined in Cardano.Ledger.EpochBoundary type Rep Stake = D1 ('MetaData "Stake" "Cardano.Ledger.EpochBoundary" "cardano-ledger-core-1.17.0.0-inplace" 'True) (C1 ('MetaCons "Stake" 'PrefixI 'True) (S1 ('MetaSel ('Just "unStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (VMap VB VP (Credential 'Staking) (CompactForm Coin))))) | |
type Share Stake | |
Snapshot of the stake distribution.
SnapShot | |
|
Instances
ToJSON SnapShot | |
Generic SnapShot | |
Show SnapShot | |
DecShareCBOR SnapShot | |
EncCBOR SnapShot | |
NFData SnapShot | |
Defined in Cardano.Ledger.EpochBoundary | |
Eq SnapShot | |
NoThunks SnapShot | |
type Rep SnapShot | |
Defined in Cardano.Ledger.EpochBoundary type Rep SnapShot = D1 ('MetaData "SnapShot" "Cardano.Ledger.EpochBoundary" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "SnapShot" 'PrefixI 'True) (S1 ('MetaSel ('Just "ssStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Stake) :*: (S1 ('MetaSel ('Just "ssDelegations") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VMap VB VB (Credential 'Staking) (KeyHash 'StakePool))) :*: S1 ('MetaSel ('Just "ssPoolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VMap VB VB (KeyHash 'StakePool) PoolParams))))) | |
type Share SnapShot | |
Snapshots of the stake distribution.
Note that ssStakeMark and ssStakeMarkPoolDistr are lazy on purpose since we only want to force the thunk after one stability window when we know that they are stable (so that we do not compute them if we do not have to). See more info in the Optimize TICKF ADR
Instances
A unique ID of a transaction, which is computable from the transaction.
Instances
FromJSON TxId | |
ToJSON TxId | |
Generic TxId | |
Show TxId | |
DecCBOR TxId | |
EncCBOR TxId | |
NFData TxId | |
Defined in Cardano.Ledger.TxIn | |
Eq TxId | |
Ord TxId | |
HeapWords TxId | |
NoThunks TxId | |
type Rep TxId | |
Defined in Cardano.Ledger.TxIn type Rep TxId = D1 ('MetaData "TxId" "Cardano.Ledger.TxIn" "cardano-ledger-core-1.17.0.0-inplace" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SafeHash EraIndependentTxBody)))) |
The input of a UTxO.
Instances
ToJSON TxIn | |
ToJSONKey TxIn | |
Defined in Cardano.Ledger.TxIn | |
Generic TxIn | |
Show TxIn | |
DecCBOR TxIn | |
EncCBOR TxIn | |
NFData TxIn | |
Defined in Cardano.Ledger.TxIn | |
Eq TxIn | |
Ord TxIn | |
HeapWords TxIn | |
NoThunks TxIn | |
type Rep TxIn | |
Defined in Cardano.Ledger.TxIn type Rep TxIn = D1 ('MetaData "TxIn" "Cardano.Ledger.TxIn" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "TxIn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 TxIx))) |
∷ SlotNo | The first slot of the given epoch. |
→ UnitInterval | The decentralization parameter. |
→ SlotNo | The slot to check. |
→ Bool |
Determine if the given slot is reserved for the overlay schedule.
RegPool !PoolParams | A stake pool registration certificate. |
RetirePool !(KeyHash 'StakePool) !EpochNo | A stake pool retirement certificate. |
Instances
ToJSON PoolCert | |
Generic PoolCert | |
Show PoolCert | |
EncCBOR PoolCert | |
NFData PoolCert | |
Defined in Cardano.Ledger.Core.TxCert | |
Eq PoolCert | |
Ord PoolCert | |
NoThunks PoolCert | |
type Rep PoolCert | |
Defined in Cardano.Ledger.Core.TxCert type Rep PoolCert = D1 ('MetaData "PoolCert" "Cardano.Ledger.Core.TxCert" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "RegPool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PoolParams)) :+: C1 ('MetaCons "RetirePool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'StakePool)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochNo))) |
data PoolMetadata Source #
PoolMetadata | |
|
Instances
data StakePoolRelay Source #
SingleHostAddr !(StrictMaybe Port) !(StrictMaybe IPv4) !(StrictMaybe IPv6) | One or both of IPv4 & IPv6 |
SingleHostName !(StrictMaybe Port) !DnsName | An |
MultiHostName !DnsName | A |
Instances
data PoolParams Source #
A stake pool.
PoolParams | |
|
Instances
individualPoolStake ∷ IndividualPoolStake → Rational Source #
Pool stake distribution. This is a ratio of individualTotalPoolStake
/pdTotalActiveStake
A map of stake pool IDs (the hash of the stake pool operator's
verification key) to IndividualPoolStake
. Also holds absolute values
necessary for the calculations in the computeDRepDistr
.
PoolDistr | |
|
Instances
ToJSON PoolDistr | |
Generic PoolDistr | |
Show PoolDistr | |
DecCBOR PoolDistr | |
EncCBOR PoolDistr | |
NFData PoolDistr | |
Defined in Cardano.Ledger.PoolDistr | |
Eq PoolDistr | |
NoThunks PoolDistr | |
type Rep PoolDistr | |
Defined in Cardano.Ledger.PoolDistr type Rep PoolDistr = D1 ('MetaData "PoolDistr" "Cardano.Ledger.PoolDistr" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "PoolDistr" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPoolDistr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) IndividualPoolStake)) :*: S1 ('MetaSel ('Just "pdTotalActiveStake") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (CompactForm Coin)))) |
An address for UTxO.
Contents of Addr data type are intentionally left as lazy, otherwise operating on compact form of an address will result in redundant work.
Instances
FromJSON Addr | |
FromJSONKey Addr | |
ToJSON Addr | |
ToJSONKey Addr | |
Defined in Cardano.Ledger.Address | |
Generic Addr | |
Show Addr | |
DecCBOR Addr | |
EncCBOR Addr | |
NFData Addr | |
Defined in Cardano.Ledger.Address | |
Eq Addr | |
Ord Addr | |
NoThunks Addr | |
type Rep Addr | |
Defined in Cardano.Ledger.Address type Rep Addr = D1 ('MetaData "Addr" "Cardano.Ledger.Address" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Addr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Network) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PaymentCredential) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StakeReference))) :+: C1 ('MetaCons "AddrBootstrap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BootstrapAddress))) |
data RewardAccount Source #
An account based address for rewards
Instances
newtype Withdrawals Source #
This is called wdrl
in the spec.
Instances
word64ToCoin ∷ Word64 → Coin Source #
The amount of value held by a transaction output.
Instances
data Credential (kr ∷ KeyRole) Source #
Script hash or key hash for a payment or a staking object.
Note that credentials (unlike raw key hashes) do appear to vary from era to era, since they reference the hash of a script, which can change. This parameter is a phantom, however, so in actuality the instances will remain the same.
ScriptHashObj !ScriptHash | |
KeyHashObj !(KeyHash kr) |
Instances
data StakeReference Source #
Instances
Pointer to a slot number, transaction index and an index in certificate list.
Instances
ToJSON Ptr | |
ToJSONKey Ptr | |
Defined in Cardano.Ledger.Credential | |
Generic Ptr | |
Show Ptr | |
FromCBOR Ptr | |
ToCBOR Ptr | |
DecCBOR Ptr | |
EncCBOR Ptr | |
DecCBORGroup Ptr | |
Defined in Cardano.Ledger.Credential decCBORGroup ∷ Decoder s Ptr Source # | |
EncCBORGroup Ptr | |
NFData Ptr | |
Defined in Cardano.Ledger.Credential | |
Eq Ptr | |
Ord Ptr | |
NoThunks Ptr | |
type Rep Ptr | |
Defined in Cardano.Ledger.Credential type Rep Ptr = D1 ('MetaData "Ptr" "Cardano.Ledger.Credential" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Ptr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 TxIx) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 CertIx)))) |
certIxToInt ∷ CertIx → Int Source #
Instances
FromJSON ProtVer | |
ToJSON ProtVer | |
Generic ProtVer | |
Show ProtVer | |
FromCBOR ProtVer | |
ToCBOR ProtVer | |
DecCBOR ProtVer | |
EncCBOR ProtVer | |
DecCBORGroup ProtVer | |
Defined in Cardano.Ledger.BaseTypes | |
EncCBORGroup ProtVer | |
ToPlutusData ProtVer | |
Defined in Cardano.Ledger.Plutus.ToPlutusData | |
NFData ProtVer | |
Defined in Cardano.Ledger.BaseTypes | |
Eq ProtVer | |
Ord ProtVer | |
Defined in Cardano.Ledger.BaseTypes | |
NoThunks ProtVer | |
type Rep ProtVer | |
Defined in Cardano.Ledger.BaseTypes type Rep ProtVer = D1 ('MetaData "ProtVer" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "ProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Version) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural))) |
Evolving nonce type.
Nonce !(Hash Blake2b_256 Nonce) | |
NeutralNonce | Identity element |
Instances
FromJSON Nonce | |
ToJSON Nonce | |
Generic Nonce | |
Show Nonce | |
FromCBOR Nonce | |
ToCBOR Nonce | |
DecCBOR Nonce | |
EncCBOR Nonce | |
NFData Nonce | |
Defined in Cardano.Ledger.BaseTypes | |
Eq Nonce | |
Ord Nonce | |
NoThunks Nonce | |
type Rep Nonce | |
Defined in Cardano.Ledger.BaseTypes type Rep Nonce = D1 ('MetaData "Nonce" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.17.0.0-inplace" 'False) (C1 ('MetaCons "Nonce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash Blake2b_256 Nonce))) :+: C1 ('MetaCons "NeutralNonce" 'PrefixI 'False) (U1 ∷ Type → Type)) |
Globals | |
|
Instances
Instances
FromJSON Network | |
ToJSON Network | |
Bounded Network | |
Enum Network | |
Defined in Cardano.Ledger.BaseTypes succ ∷ Network → Network Source # pred ∷ Network → Network Source # toEnum ∷ Int → Network Source # fromEnum ∷ Network → Int Source # enumFrom ∷ Network → [Network] Source # enumFromThen ∷ Network → Network → [Network] Source # enumFromTo ∷ Network → Network → [Network] Source # enumFromThenTo ∷ Network → Network → Network → [Network] Source # | |
Generic Network | |
Show Network | |
DecCBOR Network | |
EncCBOR Network | |
Default Network | |
Defined in Cardano.Ledger.BaseTypes | |
NFData Network | |
Defined in Cardano.Ledger.BaseTypes | |
Eq Network | |
Ord Network | |
Defined in Cardano.Ledger.BaseTypes | |
NoThunks Network | |
type Rep Network | |
Transaction index.
Certificate index. Use certIxFromIntegral
in order to construct this
index safely from anything other than Word16
. There is also
mkCertIxPartial
that can be used for testing.
Instances
ToJSON CertIx | |
Bounded CertIx | |
Enum CertIx | |
Defined in Cardano.Ledger.BaseTypes succ ∷ CertIx → CertIx Source # pred ∷ CertIx → CertIx Source # toEnum ∷ Int → CertIx Source # fromEnum ∷ CertIx → Int Source # enumFrom ∷ CertIx → [CertIx] Source # enumFromThen ∷ CertIx → CertIx → [CertIx] Source # enumFromTo ∷ CertIx → CertIx → [CertIx] Source # enumFromThenTo ∷ CertIx → CertIx → CertIx → [CertIx] Source # | |
Show CertIx | |
FromCBOR CertIx | |
ToCBOR CertIx | |
DecCBOR CertIx | |
EncCBOR CertIx | |
NFData CertIx | |
Defined in Cardano.Ledger.BaseTypes | |
Eq CertIx | |
Ord CertIx | |
Defined in Cardano.Ledger.BaseTypes | |
NoThunks CertIx | |
hashVerKeyVRF ∷ ∀ c (r ∷ KeyRoleVRF). Crypto c ⇒ VerKeyVRF (VRF c) → VRFVerKeyHash r Source #
type SignedDSIGN = SignedDSIGN DSIGN Source #
type SignKeyDSIGN = SignKeyDSIGN DSIGN Source #
type KESignable c = Signable (KES c) Source #
type SignKeyKES c = SignKeyKES (KES c) Source #
type CertifiedVRF c = CertifiedVRF (VRF c) Source #
type SignKeyVRF c = SignKeyVRF (VRF c) Source #
data BootstrapWitness where Source #
pattern BootstrapWitness ∷ VKey 'Witness → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → ChainCode → ByteString → BootstrapWitness |
Instances
data WitVKey (kr ∷ KeyRole) where Source #
Proof/Witness that a transaction is authorized by the given key holder.
pattern WitVKey ∷ Typeable kr ⇒ VKey kr → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → WitVKey kr |
Instances
newtype KeyHash (r ∷ KeyRole) Source #
Discriminated hash of public Key
Instances
HasKeyRole KeyHash | |
Defined in Cardano.Ledger.Hashes | |
FromJSON (KeyHash r) | |
FromJSONKey (KeyHash r) | |
Defined in Cardano.Ledger.Hashes | |
ToJSON (KeyHash r) | |
ToJSONKey (KeyHash r) | |
Defined in Cardano.Ledger.Hashes | |
Generic (KeyHash r) | |
Show (KeyHash r) | |
Typeable r ⇒ FromCBOR (KeyHash r) | |
Typeable r ⇒ ToCBOR (KeyHash r) | |
Typeable r ⇒ DecCBOR (KeyHash r) | |
Typeable r ⇒ EncCBOR (KeyHash r) | |
Default (KeyHash r) | |
Defined in Cardano.Ledger.Hashes | |
NFData (KeyHash r) | |
Defined in Cardano.Ledger.Hashes | |
Eq (KeyHash r) | |
Ord (KeyHash r) | |
Defined in Cardano.Ledger.Hashes | |
NoThunks (KeyHash r) | |
type Rep (KeyHash r) | |
Defined in Cardano.Ledger.Hashes |
newtype ScriptHash Source #
Instances
data GenDelegPair Source #
Instances
Instances
FromJSON GenDelegs | |
ToJSON GenDelegs | |
Generic GenDelegs | |
Show GenDelegs | |
DecCBOR GenDelegs | |
EncCBOR GenDelegs | |
NFData GenDelegs | |
Defined in Cardano.Ledger.Hashes | |
Eq GenDelegs | |
NoThunks GenDelegs | |
type Rep GenDelegs | |
Defined in Cardano.Ledger.Hashes type Rep GenDelegs = D1 ('MetaData "GenDelegs" "Cardano.Ledger.Hashes" "cardano-ledger-core-1.17.0.0-inplace" 'True) (C1 ('MetaCons "GenDelegs" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGenDelegs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (KeyHash 'Genesis) GenDelegPair)))) |
The role of a key.
All key roles are fixed and unique, except for the Witness
role. In particular,
keys can be cast to a Witness
role with the help of asWitness
, because same witness
can be valid for many roles.
In fact, it is perfectly allowable for a key to be used in many roles by the end user; there is nothing prohibiting somebody using the same underlying key or a script as their payment and staking credential, as well as the key for their stake pool. However, in the ledger code mixing up keys with different roles could be catastrophic, that is why we have this separation.
coerceKeyRole ∷ ∀ (r ∷ KeyRole) (r' ∷ KeyRole). HasKeyRole a ⇒ a r → a r' Source #
General coercion of key roles.
The presence of this function is mostly to help the user realise where they are converting key roles.
newtype VKey (kd ∷ KeyRole) Source #
Discriminated verification key
We wrap the basic VerKeyDSIGN
in order to add the key role.
Instances
HasKeyRole VKey | |
Defined in Cardano.Ledger.Keys.Internal | |
Generic (VKey kd) | |
Show (VKey kd) | |
Typeable kd ⇒ FromCBOR (VKey kd) | |
Typeable kd ⇒ ToCBOR (VKey kd) | |
Typeable kd ⇒ DecCBOR (VKey kd) | |
Typeable kd ⇒ EncCBOR (VKey kd) | |
NFData (VKey kd) | |
Defined in Cardano.Ledger.Keys.Internal | |
Eq (VKey kd) | |
NoThunks (VKey kd) | |
type Rep (VKey kd) | |
Defined in Cardano.Ledger.Keys.Internal type Rep (VKey kd) = D1 ('MetaData "VKey" "Cardano.Ledger.Keys.Internal" "cardano-ledger-core-1.17.0.0-inplace" 'True) (C1 ('MetaCons "VKey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unVKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (VerKeyDSIGN DSIGN)))) |
A generic metadatum type.
Instances
data ShelleyUTXOW era Source #
Instances
data ShelleyUTXO era Source #
Instances
data ShelleyTICKF era Source #
Instances
data ShelleyTICK era Source #
Instances
data ShelleyPPUP era Source #
Instances
data ShelleyPOOLREAP era Source #
Instances
data ShelleyPOOL era Source #
Instances
data ShelleyNEWEPOCH era Source #
Instances
data ShelleyLEDGERS era Source #
Instances
data ShelleyLEDGER era Source #
Instances
data ShelleyDELPL era Source #
Instances
data ShelleyDELEGS era Source #
Instances
data ShelleyDELEG era Source #
Instances
newtype ProposedPPUpdates era Source #
Update operation for protocol parameters structure PParams
ProposedPPUpdates (Map (KeyHash 'Genesis) (PParamsUpdate era)) |
Instances
Update Proposal
Update !(ProposedPPUpdates era) !EpochNo |
Instances
Generic (Update era) Source # | |
Show (PParamsUpdate era) ⇒ Show (Update era) Source # | |
(Era era, DecCBOR (PParamsUpdate era)) ⇒ DecCBOR (Update era) Source # | |
(Era era, EncCBOR (PParamsUpdate era)) ⇒ EncCBOR (Update era) Source # | |
NFData (PParamsUpdate era) ⇒ NFData (Update era) Source # | |
Defined in Cardano.Ledger.Shelley.PParams | |
Eq (PParamsUpdate era) ⇒ Eq (Update era) Source # | |
NoThunks (PParamsUpdate era) ⇒ NoThunks (Update era) Source # | |
type Rep (Update era) Source # | |
Defined in Cardano.Ledger.Shelley.PParams type Rep (Update era) = D1 ('MetaData "Update" "Cardano.Ledger.Shelley.PParams" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "Update" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ProposedPPUpdates era)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo))) |
data ShelleyGovState era Source #
ShelleyGovState | |
|
Instances
Instances
ToJSON NonMyopic Source # | |
Generic NonMyopic Source # | |
Show NonMyopic Source # | |
DecShareCBOR NonMyopic Source # | |
EncCBOR NonMyopic Source # | |
Default NonMyopic Source # | |
Defined in Cardano.Ledger.Shelley.PoolRank | |
NFData NonMyopic Source # | |
Defined in Cardano.Ledger.Shelley.PoolRank | |
Eq NonMyopic Source # | |
NoThunks NonMyopic Source # | |
type Rep NonMyopic Source # | |
Defined in Cardano.Ledger.Shelley.PoolRank type Rep NonMyopic = D1 ('MetaData "NonMyopic" "Cardano.Ledger.Shelley.PoolRank" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "NonMyopic" 'PrefixI 'True) (S1 ('MetaSel ('Just "likelihoodsNM") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'StakePool) Likelihood)) :*: S1 ('MetaSel ('Just "rewardPotNM") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))) | |
type Share NonMyopic Source # | |
data RewardUpdate Source #
The ultimate goal of a reward update computation. Aggregating rewards for each staking credential.
Instances
Instances
computeStabilityWindow ∷ Word64 → ActiveSlotCoeff → Word64 Source #
Calculate the stability window (e.g. the number of slots needed for a block to become stable) from the security param and the active slot coefficient.
The value 3k/f is determined to be a suitabe value as per https://docs.google.com/document/d/1B8BNMx8jVWRjYiUBOaI3jfZ7dQNvNTSDODvT5iOuYCU/edit#heading=h.qh2zcajmu6hm
computeRandomnessStabilisationWindow ∷ Word64 → ActiveSlotCoeff → Word64 Source #
Calculate the randomness stabilisation window from the security param and the active slot coefficient.
The value 4k/f is determined to be a suitabe value as per https://docs.google.com/document/d/1B8BNMx8jVWRjYiUBOaI3jfZ7dQNvNTSDODvT5iOuYCU/edit#heading=h.qh2zcajmu6hm
data ValidationErr Source #
EpochNotLongEnough EpochSize Word64 Rational EpochSize | |
MaxKESEvolutionsUnsupported Word64 Word | |
QuorumTooSmall Word64 Word64 Word64 |
Instances
Show ValidationErr Source # | |
Defined in Cardano.Ledger.Shelley.Genesis | |
Eq ValidationErr Source # | |
Defined in Cardano.Ledger.Shelley.Genesis (==) ∷ ValidationErr → ValidationErr → Bool Source # (/=) ∷ ValidationErr → ValidationErr → Bool Source # |
data ShelleyGenesis Source #
Shelley genesis information
Note that this is needed only for a pure Shelley network, hence it being defined here rather than in its own module. In mainnet, Shelley will transition naturally from Byron, and thus will never have its own genesis information.
ShelleyGenesis | |
|
Instances
newtype NominalDiffTimeMicro Source #
Unlike
that supports NominalDiffTime
precision, this type
only supports Pico
precision.Micro
Instances
data ShelleyGenesisStaking Source #
Genesis Shelley staking configuration.
This allows us to configure some initial stake pools and delegation to them, in order to test Praos in a static configuration, without requiring on-chain registration and delegation.
For simplicity, pools defined in the genesis staking do not pay deposits for their registration.
ShelleyGenesisStaking | |
|
Instances
emptyGenesisStaking ∷ ShelleyGenesisStaking Source #
Empty genesis staking
toShelleyGenesisPairs ∷ KeyValue e a ⇒ ShelleyGenesis → [a] Source #
genesisUTxO ∷ ∀ era. EraTxOut era ⇒ ShelleyGenesis → UTxO era Source #
initialFundsPseudoTxIn ∷ Addr → TxIn Source #
Compute the TxIn
of the initial UTxO pseudo-transaction corresponding
to the given address in the genesis initial funds.
The Shelley initial UTxO is constructed from the sgInitialFunds
which
is not a full UTxO but just a map from addresses to coin values.
This gets turned into a UTxO by making a pseudo-transaction for each address,
with the 0th output being the coin value. So to spend from the initial UTxO
we need this same TxIn
to use as an input to the spending transaction.
validateGenesis ∷ ShelleyGenesis → Either [ValidationErr] () Source #
Do some basic sanity checking on the Shelley genesis file.
data ShelleyTxAuxData era where Source #
pattern ShelleyTxAuxData ∷ ∀ era. Era era ⇒ Map Word64 Metadatum → ShelleyTxAuxData era |
Instances
data ShelleyDelegCert Source #
ShelleyRegCert !StakeCredential | A stake credential registration certificate. |
ShelleyUnRegCert !StakeCredential | A stake credential deregistration certificate. |
ShelleyDelegCert !StakeCredential !(KeyHash 'StakePool) | A stake delegation certificate. |
Instances
Move instantaneous rewards certificate
MIRCert | |
|
Instances
ToJSON MIRCert Source # | |
Generic MIRCert Source # | |
Show MIRCert Source # | |
DecCBOR MIRCert Source # | |
EncCBOR MIRCert Source # | |
NFData MIRCert Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
Eq MIRCert Source # | |
Ord MIRCert Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
NoThunks MIRCert Source # | |
type Rep MIRCert Source # | |
Defined in Cardano.Ledger.Shelley.TxCert type Rep MIRCert = D1 ('MetaData "MIRCert" "Cardano.Ledger.Shelley.TxCert" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "MIRCert" 'PrefixI 'True) (S1 ('MetaSel ('Just "mirPot") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MIRPot) :*: S1 ('MetaSel ('Just "mirRewards") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MIRTarget))) |
MIRTarget specifies if funds from either the reserves or the treasury are to be handed out to a collection of reward accounts or instead transfered to the opposite pot.
Instances
ToJSON MIRTarget Source # | |
Generic MIRTarget Source # | |
Show MIRTarget Source # | |
DecCBOR MIRTarget Source # | |
EncCBOR MIRTarget Source # | |
NFData MIRTarget Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
Eq MIRTarget Source # | |
Ord MIRTarget Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
NoThunks MIRTarget Source # | |
type Rep MIRTarget Source # | |
Defined in Cardano.Ledger.Shelley.TxCert type Rep MIRTarget = D1 ('MetaData "MIRTarget" "Cardano.Ledger.Shelley.TxCert" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "StakeAddressesMIR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (Credential 'Staking) DeltaCoin))) :+: C1 ('MetaCons "SendToOppositePotMIR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Coin))) |
Instances
ToJSON MIRPot Source # | |
Bounded MIRPot Source # | |
Enum MIRPot Source # | |
Defined in Cardano.Ledger.Shelley.TxCert succ ∷ MIRPot → MIRPot Source # pred ∷ MIRPot → MIRPot Source # toEnum ∷ Int → MIRPot Source # fromEnum ∷ MIRPot → Int Source # enumFrom ∷ MIRPot → [MIRPot] Source # enumFromThen ∷ MIRPot → MIRPot → [MIRPot] Source # enumFromTo ∷ MIRPot → MIRPot → [MIRPot] Source # enumFromThenTo ∷ MIRPot → MIRPot → MIRPot → [MIRPot] Source # | |
Generic MIRPot Source # | |
Show MIRPot Source # | |
DecCBOR MIRPot Source # | |
EncCBOR MIRPot Source # | |
NFData MIRPot Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
Eq MIRPot Source # | |
Ord MIRPot Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
NoThunks MIRPot Source # | |
type Rep MIRPot Source # | |
data GenesisDelegCert Source #
Genesis key delegation certificate
Instances
data ShelleyTxOut era Source #
TxOutCompact !CompactAddr !(CompactForm (Value era)) |
pattern ShelleyTxOut ∷ (HasCallStack, Era era, Val (Value era)) ⇒ Addr → Value era → ShelleyTxOut era |
Instances
newtype ShelleyTxBody era Source #
pattern ShelleyTxBody ∷ (EraTxOut era, EncCBOR (TxCert era)) ⇒ Set TxIn → StrictSeq (TxOut era) → StrictSeq (TxCert era) → Withdrawals → Coin → SlotNo → StrictMaybe (Update era) → StrictMaybe TxAuxDataHash → ShelleyTxBody era | Pattern for use by external users |
Instances
data ShelleyTxWits era Source #
Instances
data ShelleyTx era where Source #
pattern ShelleyTx ∷ EraTx era ⇒ TxBody era → TxWits era → StrictMaybe (TxAuxData era) → ShelleyTx era |
Instances
data LedgerState era Source #
The state associated with a Ledger
.
LedgerState | |
|
Instances
data NewEpochState era Source #
New Epoch state and environment
NewEpochState | |
|
Instances
There is a serious invariant that we must maintain in the UTxOState. Given (UTxOState utxo _ _ _ istake) it must be the case that istake == (updateStakeDistribution (UTxO Map.empty) (UTxO Map.empty) utxo) Of course computing the RHS of the above equality can be very expensive, so we only use this route in the testing function smartUTxO. But we are very careful, wherever we update the UTxO, we carefully make INCREMENTAL changes to istake to maintain this invariant. This happens in the UTxO rule.
UTxOState | |
|
Instances
data IncrementalStake Source #
Incremental Stake, Stake along with possible missed coins from danging Ptrs.
Transactions can use Ptrs to refer to a stake credential in a TxOut. The Ptr
does not have to point to anything until the epoch boundary, when we compute
rewards and aggregate staking information for ranking. This is unusual but legal.
In a non incremental system, we use whatever legal
Ptrs exist at the epoch
boundary. Here we are computing things incrementally, so we need to remember Ptrs
that might point to something by the time the epoch boundary is reached. When
the epoch boundary is reached we resolve
these pointers, to see if any have
become non-dangling since the time they were first used in the incremental computation.
IStake | |
|
Instances
data EpochState era Source #
EpochState | |
|
Instances
data AccountState Source #
AccountState | |
|
Instances
bbHash ∷ ShelleyTxSeq era → Hash HASH EraIndependentBlockBody Source #
Hash a given block body
Instances
Generic (UtxoEnv era) Source # | |
Show (PParams era) ⇒ Show (UtxoEnv era) Source # | |
EraPParams era ⇒ DecCBOR (UtxoEnv era) Source # | |
EraPParams era ⇒ EncCBOR (UtxoEnv era) Source # | |
(Era era, NFData (PParams era)) ⇒ NFData (UtxoEnv era) Source # | |
Defined in Cardano.Ledger.Shelley.Rules.Utxo | |
Eq (PParams era) ⇒ Eq (UtxoEnv era) Source # | |
type Rep (UtxoEnv era) Source # | |
Defined in Cardano.Ledger.Shelley.Rules.Utxo type Rep (UtxoEnv era) = D1 ('MetaData "UtxoEnv" "Cardano.Ledger.Shelley.Rules.Utxo" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "UtxoEnv" 'PrefixI 'True) (S1 ('MetaSel ('Just "ueSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SlotNo) :*: (S1 ('MetaSel ('Just "uePParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PParams era)) :*: S1 ('MetaSel ('Just "ueCertState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (CertState era))))) |
Instances
Generic (PoolEnv era) Source # | |
Show (PParams era) ⇒ Show (PoolEnv era) Source # | |
EraPParams era ⇒ EncCBOR (PoolEnv era) Source # | |
NFData (PParams era) ⇒ NFData (PoolEnv era) Source # | |
Defined in Cardano.Ledger.Shelley.Rules.Pool | |
Eq (PParams era) ⇒ Eq (PoolEnv era) Source # | |
type Rep (PoolEnv era) Source # | |
Defined in Cardano.Ledger.Shelley.Rules.Pool type Rep (PoolEnv era) = D1 ('MetaData "PoolEnv" "Cardano.Ledger.Shelley.Rules.Pool" "cardano-ledger-shelley-1.16.0.0-inplace" 'False) (C1 ('MetaCons "PoolEnv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 EpochNo) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams era)))) |
DelegEnv | |
|
Instances
DelplEnv | |
|
DelegsEnv | |
|
LedgerEnv | |
|
Instances
data ShelleyLedgersEnv era Source #