Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Ledger.Shelley.API.Types
Synopsis
- data Network
- data Ptr = Ptr !SlotNo32 !TxIx !CertIx
- data Addr
- data Block h era = Block !h !(TxSeq era)
- type Hash = Hash HASH
- type CertifiedVRF c = CertifiedVRF (VRF c)
- type VerKeyVRF c = VerKeyVRF (VRF c)
- type SignKeyVRF c = SignKeyVRF (VRF c)
- type SignedDSIGN = SignedDSIGN DSIGN
- type SignKeyDSIGN = SignKeyDSIGN DSIGN
- type SignedKES c = SignedKES (KES c)
- type VerKeyKES c = VerKeyKES (KES c)
- type SignKeyKES c = SignKeyKES (KES c)
- data StrictMaybe a
- data Update era = Update !(ProposedPPUpdates era) !EpochNo
- newtype KeyHash (r ∷ KeyRole) = KeyHash {}
- data TxIn = TxIn !TxId !TxIx
- newtype TxId = TxId {}
- newtype UTxO era = UTxO {}
- data Metadatum
- newtype VKey (kd ∷ KeyRole) = VKey {}
- data KeyRole
- newtype GenDelegs = GenDelegs {}
- data GenDelegPair = GenDelegPair {}
- newtype ScriptHash = ScriptHash (Hash ADDRHASH EraIndependentScript)
- data WitVKey (kr ∷ KeyRole) where
- pattern WitVKey ∷ VKey kr → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → WitVKey kr
- data BootstrapWitness = BootstrapWitness {}
- type KESignable c = Signable (KES c)
- data CertIx
- data TxIx
- data Globals = Globals {
- epochInfo ∷ !(EpochInfo (Either Text))
- slotsPerKESPeriod ∷ !Word64
- stabilityWindow ∷ !Word64
- randomnessStabilisationWindow ∷ !Word64
- securityParameter ∷ !(NonZero Word64)
- maxKESEvo ∷ !Word64
- quorum ∷ !Word64
- maxLovelaceSupply ∷ !Word64
- activeSlotCoeff ∷ !ActiveSlotCoeff
- networkId ∷ !Network
- systemStart ∷ !SystemStart
- newtype Port = Port {}
- data Nonce
- = Nonce !(Hash Blake2b_256 Nonce)
- | NeutralNonce
- data ProtVer = ProtVer {}
- data StakeReference
- data Credential (kr ∷ KeyRole)
- = ScriptHashObj !ScriptHash
- | KeyHashObj !(KeyHash kr)
- newtype Coin = Coin {}
- newtype Withdrawals = Withdrawals {}
- data RewardAccount = RewardAccount {
- raNetwork ∷ !Network
- raCredential ∷ !(Credential 'Staking)
- 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)
- data StakePoolRelay
- = SingleHostAddr !(StrictMaybe Port) !(StrictMaybe IPv4) !(StrictMaybe IPv6)
- | SingleHostName !(StrictMaybe Port) !DnsName
- | MultiHostName !DnsName
- data PoolMetadata = PoolMetadata {
- pmUrl ∷ !Url
- pmHash ∷ !ByteString
- data PoolCert
- = RegPool !PoolParams
- | RetirePool !(KeyHash 'StakePool) !EpochNo
- data ChainAccountState where
- pattern AccountState ∷ Coin → Coin → AccountState
- type AccountState = ChainAccountState
- data PoolDistr = PoolDistr {}
- data family TxBody era
- data SnapShots = SnapShots {}
- data SnapShot = SnapShot {
- ssStake ∷ !Stake
- ssDelegations ∷ !(VMap VB VB (Credential 'Staking) (KeyHash 'StakePool))
- ssPoolParams ∷ !(VMap VB VB (KeyHash 'StakePool) PoolParams)
- newtype Stake = Stake {
- unStake ∷ VMap VB VP (Credential 'Staking) (CompactForm Coin)
- class (Era era, ToJSON (CertState era), EncCBOR (CertState era), DecShareCBOR (CertState era), Share (CertState era) ~ (Interns (Credential 'Staking), Interns (KeyHash 'StakePool), Interns (Credential 'DRepRole), Interns (Credential 'HotCommitteeRole)), Default (CertState era), NoThunks (CertState era), NFData (CertState era), Show (CertState era), Eq (CertState era)) ⇒ EraCertState era where
- type CertState era = (r ∷ Type) | r → era
- certDStateL ∷ Lens' (CertState era) (DState era)
- certPStateL ∷ Lens' (CertState era) (PState era)
- obligationCertState ∷ CertState era → Obligations
- certsTotalDepositsTxBody ∷ PParams era → CertState era → TxBody era → Coin
- certsTotalRefundsTxBody ∷ PParams era → CertState era → TxBody era → Coin
- type family CertState era = (r ∷ Type) | r → era
- 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 DState era = DState {}
- data InstantaneousRewards = InstantaneousRewards {
- iRReserves ∷ !(Map (Credential 'Staking) Coin)
- iRTreasury ∷ !(Map (Credential 'Staking) Coin)
- deltaReserves ∷ !DeltaCoin
- deltaTreasury ∷ !DeltaCoin
- newtype ShelleyTx era where
- MkShelleyTx (MemoBytes (ShelleyTxRaw era))
- pattern ShelleyTx ∷ EraTx era ⇒ TxBody era → TxWits era → StrictMaybe (TxAuxData era) → ShelleyTx era
- data ShelleyTxOut era where
- TxOutCompact !CompactAddr !(CompactForm (Value era))
- pattern ShelleyTxOut ∷ (HasCallStack, Era era, Val (Value era)) ⇒ Addr → Value era → ShelleyTxOut era
- newtype ShelleyTxAuxData era where
- MkShelleyTxAuxData (MemoBytes (ShelleyTxAuxDataRaw era))
- pattern ShelleyTxAuxData ∷ ∀ era. Era era ⇒ Map Word64 Metadatum → ShelleyTxAuxData era
- 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 LedgerEnv era = LedgerEnv {}
- data EpochState era = EpochState {}
- data RewardUpdate = RewardUpdate {}
- data ShelleyGovState era = ShelleyGovState {
- sgsCurProposals ∷ !(ProposedPPUpdates era)
- sgsFutureProposals ∷ !(ProposedPPUpdates era)
- sgsCurPParams ∷ !(PParams era)
- sgsPrevPParams ∷ !(PParams era)
- sgsFuturePParams ∷ !(FuturePParams era)
- data UTxOState era = UTxOState {
- utxosUtxo ∷ !(UTxO era)
- utxosDeposited ∷ !Coin
- utxosFees ∷ !Coin
- utxosGovState ∷ !(GovState era)
- utxosInstantStake ∷ !(InstantStake era)
- utxosDonation ∷ !Coin
- newtype ProposedPPUpdates era = ProposedPPUpdates (Map (KeyHash 'Genesis) (PParamsUpdate era))
- data NonMyopic
- data DelegEnv era = DelegEnv {}
- data ShelleyDELEG era
- data DelegsEnv era = DelegsEnv {}
- data ShelleyDELEGS era
- data DelplEnv era = DelplEnv {}
- data ShelleyDELPL era
- data ShelleyLEDGER era
- data ShelleyLEDGERS era
- data ShelleyLedgersEnv era = LedgersEnv {}
- data ShelleyNEWEPOCH era
- data PoolEnv era = PoolEnv EpochNo (PParams era)
- data ShelleyPOOL era
- data ShelleyPOOLREAP era
- data PpupEnv era = PPUPEnv SlotNo (PParams era) GenDelegs
- data ShelleyPPUP era
- data SnapEnv era = SnapEnv (LedgerState era) (PParams era)
- data ShelleyTICK era
- data ShelleyTICKF era
- data ShelleyUTXO era
- data UtxoEnv era = UtxoEnv {}
- data ShelleyUTXOW era
- data MultiSig era
- data GenesisDelegCert = GenesisDelegCert !(KeyHash 'Genesis) !(KeyHash 'GenesisDelegate) !(VRFVerKeyHash 'GenDelegVRF)
- data MIRCert = MIRCert {
- mirPot ∷ !MIRPot
- mirRewards ∷ !MIRTarget
- data MIRPot
- data MIRTarget
- data ShelleyDelegCert
- data ShelleyTxWits era
- data ShelleyGenesisStaking = ShelleyGenesisStaking {}
- data ShelleyGenesis = ShelleyGenesis {
- sgSystemStart ∷ !UTCTime
- sgNetworkMagic ∷ !Word32
- sgNetworkId ∷ !Network
- sgActiveSlotsCoeff ∷ !PositiveUnitInterval
- sgSecurityParam ∷ !(NonZero 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
- data ValidationErr
- newtype NominalDiffTimeMicro = NominalDiffTimeMicro Micro
- hashVerKeyVRF ∷ ∀ c (r ∷ KeyRoleVRF). Crypto c ⇒ VerKeyVRF (VRF c) → VRFVerKeyHash r
- hashKey ∷ ∀ (kd ∷ KeyRole). VKey kd → KeyHash kd
- balance ∷ EraTxOut era ⇒ UTxO era → Value era
- coerceKeyRole ∷ ∀ (r ∷ KeyRole) (r' ∷ KeyRole). HasKeyRole a ⇒ a r → a r'
- txIxToInt ∷ TxIx → Int
- txIxFromIntegral ∷ (Integral a, MonadFail m) ⇒ a → m TxIx
- certIxToInt ∷ CertIx → Int
- certIxFromIntegral ∷ (Integral a, MonadFail m) ⇒ a → m CertIx
- word64ToCoin ∷ Word64 → Coin
- isOverlaySlot ∷ SlotNo → UnitInterval → SlotNo → Bool
- individualPoolStake ∷ IndividualPoolStake → Rational
- calculatePoolDistr ∷ SnapShot → PoolDistr
- calculatePoolDistr' ∷ (KeyHash 'StakePool → Bool) → SnapShot → PoolDistr
- bheader ∷ Block h era → h
- bbody ∷ Block h era → TxSeq era
- bbHash ∷ ShelleyTxSeq era → Hash HASH EraIndependentBlockBody
- mkShelleyCertState ∷ EraCertState era ⇒ PState era → DState era → CertState era
- computeRandomnessStabilisationWindow ∷ Word64 → ActiveSlotCoeff → Word64
- computeStabilityWindow ∷ Word64 → ActiveSlotCoeff → Word64
- toShelleyGenesisPairs ∷ KeyValue e a ⇒ ShelleyGenesis → [a]
- emptyGenesisStaking ∷ ShelleyGenesisStaking
- sgActiveSlotCoeff ∷ ShelleyGenesis → ActiveSlotCoeff
- genesisUTxO ∷ ∀ era. EraTxOut era ⇒ ShelleyGenesis → UTxO era
- initialFundsPseudoTxIn ∷ Addr → TxIn
- validateGenesis ∷ ShelleyGenesis → Either [ValidationErr] ()
- describeValidationErr ∷ ValidationErr → Text
- mkShelleyGlobals ∷ ShelleyGenesis → EpochInfo (Either Text) → Globals
- nominalDiffTimeMicroToMicroseconds ∷ NominalDiffTimeMicro → Micro
- nominalDiffTimeMicroToSeconds ∷ NominalDiffTimeMicro → Pico
- toNominalDiffTimeMicro ∷ NominalDiffTime → Maybe NominalDiffTimeMicro
- toNominalDiffTimeMicroWithRounding ∷ NominalDiffTime → NominalDiffTimeMicro
- fromNominalDiffTimeMicro ∷ NominalDiffTimeMicro → NominalDiffTime
- secondsToNominalDiffTimeMicro ∷ Micro → NominalDiffTimeMicro
- sgInitialFundsL ∷ Lens' ShelleyGenesis (ListMap Addr Coin)
- sgStakingL ∷ Lens' ShelleyGenesis ShelleyGenesisStaking
Documentation
Instances
FromJSON Network | |
ToJSON Network | |
Bounded Network | |
Enum Network | |
Defined in Cardano.Ledger.BaseTypes | |
Generic Network | |
Show Network | |
FromCBOR Network | |
ToCBOR Network | |
DecCBOR Network | |
EncCBOR Network | |
Default Network | |
Defined in Cardano.Ledger.BaseTypes | |
NFData Network | |
Defined in Cardano.Ledger.BaseTypes | |
Eq Network | |
Ord Network | |
NoThunks Network | |
type Rep Network | |
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 Methods 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.18.0.0-inplace" 'False) (C1 ('MetaCons "Ptr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo32) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 TxIx) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 CertIx)))) |
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 | |
Defined in Cardano.Ledger.Address | |
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.18.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))) |
Instances
Generic (Block h era) | |
(Era era, Show (TxSeq era), Show h) ⇒ Show (Block h era) | |
(Era era, EncCBORGroup (TxSeq era), EncCBOR h) ⇒ ToCBOR (Block h era) | |
(EraSegWits era, DecCBOR h) ⇒ DecCBOR (Block h era) | |
(Era era, EncCBORGroup (TxSeq era), EncCBOR 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.18.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)))) |
type CertifiedVRF c = CertifiedVRF (VRF c) Source #
type SignKeyVRF c = SignKeyVRF (VRF c) Source #
type SignedDSIGN = SignedDSIGN DSIGN Source #
type SignKeyDSIGN = SignKeyDSIGN DSIGN Source #
type SignKeyKES c = SignKeyKES (KES c) Source #
data StrictMaybe a Source #
Instances
Update Proposal
Constructors
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.17.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))) |
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 Methods | |
ToJSON (KeyHash r) | |
ToJSONKey (KeyHash r) | |
Defined in Cardano.Ledger.Hashes Methods toJSONKey ∷ ToJSONKeyFunction (KeyHash r) Source # | |
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 | |
MemPack (KeyHash r) | |
NoThunks (KeyHash r) | |
type Rep (KeyHash r) | |
Defined in Cardano.Ledger.Hashes |
The input of a UTxO.
Instances
ToJSON TxIn | |
ToJSONKey TxIn | |
Defined in Cardano.Ledger.TxIn | |
Generic TxIn | |
Show TxIn | |
DecCBOR TxIn | |
DecShareCBOR TxIn | |
EncCBOR TxIn | |
NFData TxIn | |
Defined in Cardano.Ledger.TxIn | |
Eq TxIn | |
Ord TxIn | |
MemPack TxIn | |
NoThunks TxIn | |
type Rep TxIn | |
Defined in Cardano.Ledger.TxIn type Rep TxIn = D1 ('MetaData "TxIn" "Cardano.Ledger.TxIn" "cardano-ledger-core-1.18.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))) | |
type Share TxIn | |
A unique ID of a transaction, which is computable from the transaction.
Constructors
TxId | |
Fields |
Instances
FromJSON TxId | |
ToJSON TxId | |
Generic TxId | |
Show TxId | |
DecCBOR TxId | |
EncCBOR TxId | |
NFData TxId | |
Defined in Cardano.Ledger.TxIn | |
Eq TxId | |
Ord TxId | |
MemPack TxId | |
NoThunks TxId | |
type Rep TxId | |
Defined in Cardano.Ledger.TxIn type Rep TxId = D1 ('MetaData "TxId" "Cardano.Ledger.TxIn" "cardano-ledger-core-1.18.0.0-inplace" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SafeHash EraIndependentTxBody)))) |
The unspent transaction outputs.
Instances
CanGetUTxO UTxO | |
Defined in Cardano.Ledger.State.UTxO | |
CanSetUTxO UTxO | |
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.State.UTxO | |
(Era era, NFData (TxOut era)) ⇒ NFData (UTxO era) | |
Defined in Cardano.Ledger.State.UTxO | |
(Era era, Eq (TxOut era)) ⇒ Eq (UTxO era) | |
NoThunks (TxOut era) ⇒ NoThunks (UTxO era) | |
type Rep (UTxO era) | |
Defined in Cardano.Ledger.State.UTxO | |
type Share (UTxO era) | |
A generic metadatum type.
Instances
newtype VKey (kd ∷ KeyRole) Source #
Discriminated verification key
We wrap the basic VerKeyDSIGN
in order to add the key role.
Constructors
VKey | |
Fields |
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.18.0.0-inplace" 'True) (C1 ('MetaCons "VKey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unVKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (VerKeyDSIGN DSIGN)))) |
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.
Constructors
GenDelegs | |
Fields |
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.18.0.0-inplace" 'True) (C1 ('MetaCons "GenDelegs" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGenDelegs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map (KeyHash 'Genesis) GenDelegPair)))) |
data GenDelegPair Source #
Constructors
GenDelegPair | |
Fields |
Instances
newtype ScriptHash Source #
Constructors
ScriptHash (Hash ADDRHASH EraIndependentScript) |
Instances
data WitVKey (kr ∷ KeyRole) where Source #
Proof/Witness that a transaction is authorized by the given key holder.
Bundled Patterns
pattern WitVKey ∷ VKey kr → SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody) → WitVKey kr |
Instances
Generic (WitVKey kr) | |
Show (WitVKey kr) | |
Typeable kr ⇒ FromCBOR (WitVKey kr) | |
Typeable kr ⇒ ToCBOR (WitVKey kr) | |
Typeable kr ⇒ DecCBOR (WitVKey kr) | |
Typeable kr ⇒ EncCBOR (WitVKey kr) | |
NFData (WitVKey kr) | |
Defined in Cardano.Ledger.Keys.WitVKey | |
Eq (WitVKey kr) | |
Typeable kr ⇒ Ord (WitVKey kr) | |
Defined in Cardano.Ledger.Keys.WitVKey | |
Typeable kr ⇒ NoThunks (WitVKey kr) | |
type Rep (WitVKey kr) | |
Defined in Cardano.Ledger.Keys.WitVKey type Rep (WitVKey kr) = D1 ('MetaData "WitVKey" "Cardano.Ledger.Keys.WitVKey" "cardano-ledger-core-1.18.0.0-inplace" 'False) (C1 ('MetaCons "WitVKeyInternal" 'PrefixI 'True) (S1 ('MetaSel ('Just "wvkKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (VKey kr)) :*: (S1 ('MetaSel ('Just "wvkSignature") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (SignedDSIGN DSIGN (Hash HASH EraIndependentTxBody))) :*: S1 ('MetaSel ('Just "wvkKeyHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (KeyHash 'Witness))))) |
data BootstrapWitness Source #
Constructors
BootstrapWitness | |
Fields
|
Instances
type KESignable c = Signable (KES c) Source #
Certificate index. There is mkCertIxPartial
that can be used for testing when constructing
from other integral types that are larger than Word16
Transaction index.
Constructors
Globals | |
Fields
|
Instances
Constructors
Port | |
Fields |
Evolving nonce type.
Constructors
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 | |
ToPlutusData Nonce | |
Defined in Cardano.Ledger.Plutus.ToPlutusData | |
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.18.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)) |
Instances
FromJSON ProtVer | |
ToJSON ProtVer | |
Generic ProtVer | |
Show ProtVer | |
FromCBOR ProtVer | |
ToCBOR ProtVer | |
DecCBOR ProtVer | |
EncCBOR ProtVer | |
DecCBORGroup ProtVer | |
Defined in Cardano.Ledger.BaseTypes Methods | |
EncCBORGroup ProtVer | |
ToPlutusData ProtVer | |
Defined in Cardano.Ledger.Plutus.ToPlutusData | |
NFData ProtVer | |
Defined in Cardano.Ledger.BaseTypes | |
Eq ProtVer | |
Ord ProtVer | |
NoThunks ProtVer | |
type Rep ProtVer | |
Defined in Cardano.Ledger.BaseTypes type Rep ProtVer = D1 ('MetaData "ProtVer" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.18.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))) |
data StakeReference Source #
Constructors
StakeRefBase !StakeCredential | |
StakeRefPtr !Ptr | |
StakeRefNull |
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.
Constructors
ScriptHashObj !ScriptHash | |
KeyHashObj !(KeyHash kr) |
Instances
The amount of value held by a transaction output.
Instances
newtype Withdrawals Source #
This is called wdrl
in the spec.
Constructors
Withdrawals | |
Fields |
Instances
data RewardAccount Source #
An account based address for rewards
Constructors
RewardAccount | |
Fields
|
Instances
data PoolParams Source #
A stake pool.
Constructors
PoolParams | |
Fields
|
Instances
data StakePoolRelay Source #
Constructors
SingleHostAddr !(StrictMaybe Port) !(StrictMaybe IPv4) !(StrictMaybe IPv6) | One or both of IPv4 & IPv6 |
SingleHostName !(StrictMaybe Port) !DnsName | An |
MultiHostName !DnsName | A |
Instances
data PoolMetadata Source #
Constructors
PoolMetadata | |
Fields
|
Instances
Constructors
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 | |
Defined in Cardano.Ledger.Core.TxCert | |
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.18.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 ChainAccountState where Source #
Bundled Patterns
pattern AccountState ∷ Coin → Coin → AccountState |
Instances
type AccountState = ChainAccountState Source #
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
.
Constructors
PoolDistr | |
Fields
|
Instances
ToJSON PoolDistr | |
Generic PoolDistr | |
Show PoolDistr | |
DecCBOR PoolDistr | |
EncCBOR PoolDistr | |
NFData PoolDistr | |
Defined in Cardano.Ledger.State.PoolDistr | |
Eq PoolDistr | |
NoThunks PoolDistr | |
type Rep PoolDistr | |
Defined in Cardano.Ledger.State.PoolDistr type Rep PoolDistr = D1 ('MetaData "PoolDistr" "Cardano.Ledger.State.PoolDistr" "cardano-ledger-core-1.18.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)))) |
data family TxBody era Source #
The body of a transaction.
Instances
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
Constructors
SnapShots | |
Fields |
Instances
Snapshot of the stake distribution.
Constructors
SnapShot | |
Fields
|
Instances
ToJSON SnapShot | |
Generic SnapShot | |
Show SnapShot | |
DecShareCBOR SnapShot | |
EncCBOR SnapShot | |
NFData SnapShot | |
Defined in Cardano.Ledger.State.SnapShots | |
Eq SnapShot | |
NoThunks SnapShot | |
type Rep SnapShot | |
Defined in Cardano.Ledger.State.SnapShots type Rep SnapShot = D1 ('MetaData "SnapShot" "Cardano.Ledger.State.SnapShots" "cardano-ledger-core-1.18.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 | |
Type of stake as map from staking credential to coins associated. Any staking credential that has no stake will not appear in this Map, even if it is registered. For this reason, this data type should not be used for infering whether credential is registered or not.
Constructors
Stake | |
Fields
|
Instances
ToJSON Stake | |
Generic Stake | |
Show Stake | |
DecShareCBOR Stake | |
EncCBOR Stake | |
NFData Stake | |
Defined in Cardano.Ledger.State.SnapShots | |
Eq Stake | |
NoThunks Stake | |
type Rep Stake | |
Defined in Cardano.Ledger.State.SnapShots type Rep Stake = D1 ('MetaData "Stake" "Cardano.Ledger.State.SnapShots" "cardano-ledger-core-1.18.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 | |
class (Era era, ToJSON (CertState era), EncCBOR (CertState era), DecShareCBOR (CertState era), Share (CertState era) ~ (Interns (Credential 'Staking), Interns (KeyHash 'StakePool), Interns (Credential 'DRepRole), Interns (Credential 'HotCommitteeRole)), Default (CertState era), NoThunks (CertState era), NFData (CertState era), Show (CertState era), Eq (CertState era)) ⇒ EraCertState era where Source #
The state associated with the DELPL rule, which combines the DELEG rule and the POOL rule.
Methods
certDStateL ∷ Lens' (CertState era) (DState era) Source #
certPStateL ∷ Lens' (CertState era) (PState era) Source #
obligationCertState ∷ CertState era → Obligations Source #
Calculate total possible refunds in the system that are related to certificates
There is an invariant that the sum of all the fields should be the same as the utxosDeposited field of the UTxOState. Note that this does not depend upon the current values of the Key and Pool deposits of the PParams.
certsTotalDepositsTxBody ∷ PParams era → CertState era → TxBody era → Coin Source #
Compute the total deposits from the Certs of a TxBody.
This is the contribution of a TxBody towards the deposit pot (utxosDeposit field of the UTxOState) of the system
certsTotalRefundsTxBody ∷ PParams era → CertState era → TxBody era → Coin Source #
Compute the total refunds from the Certs of a TxBody.
This is the contribution of a TxBody towards the total Obligations
of the system
See Obligations
and obligationCertState
for more information.
Instances
EraCertState ShelleyEra Source # | |
Defined in Cardano.Ledger.Shelley.State.CertState Associated Types type CertState ShelleyEra = (r ∷ Type) Source # Methods certDStateL ∷ Lens' (CertState ShelleyEra) (DState ShelleyEra) Source # certPStateL ∷ Lens' (CertState ShelleyEra) (PState ShelleyEra) Source # obligationCertState ∷ CertState ShelleyEra → Obligations Source # certsTotalDepositsTxBody ∷ PParams ShelleyEra → CertState ShelleyEra → TxBody ShelleyEra → Coin Source # certsTotalRefundsTxBody ∷ PParams ShelleyEra → CertState ShelleyEra → TxBody ShelleyEra → Coin Source # |
type family CertState era = (r ∷ Type) | r → era Source #
Instances
type CertState ShelleyEra Source # | |
Defined in Cardano.Ledger.Shelley.State.CertState |
The state used by the POOL rule, which tracks stake pool information.
Constructors
PState | |
Fields
|
Instances
The state used by the DELEG rule, which roughly tracks stake delegation and some governance features.
Constructors
DState | |
Fields
|
Instances
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
Constructors
InstantaneousRewards | |
Fields
|
Instances
newtype ShelleyTx era Source #
Constructors
MkShelleyTx (MemoBytes (ShelleyTxRaw era)) |
Bundled Patterns
pattern ShelleyTx ∷ EraTx era ⇒ TxBody era → TxWits era → StrictMaybe (TxAuxData era) → ShelleyTx era |
Instances
data ShelleyTxOut era Source #
Constructors
TxOutCompact !CompactAddr !(CompactForm (Value era)) |
Bundled Patterns
pattern ShelleyTxOut ∷ (HasCallStack, Era era, Val (Value era)) ⇒ Addr → Value era → ShelleyTxOut era |
Instances
newtype ShelleyTxAuxData era Source #
Constructors
MkShelleyTxAuxData (MemoBytes (ShelleyTxAuxDataRaw era)) |
Bundled Patterns
pattern ShelleyTxAuxData ∷ ∀ era. Era era ⇒ Map Word64 Metadatum → ShelleyTxAuxData era |
Instances
data LedgerState era Source #
The state associated with a Ledger
.
Constructors
LedgerState | |
Fields
|
Instances
data NewEpochState era Source #
New Epoch state and environment
Constructors
NewEpochState | |
Fields
|
Instances
Constructors
LedgerEnv | |
Fields |
Instances
data EpochState era Source #
Constructors
EpochState | |
Fields
|
Instances
data RewardUpdate Source #
The ultimate goal of a reward update computation. Aggregating rewards for each staking credential.
Constructors
RewardUpdate | |
Instances
data ShelleyGovState era Source #
Constructors
ShelleyGovState | |
Fields
|
Instances
There is a serious invariant that we must maintain in the UTxOState. Given (UTxOState utxo _ _ _ istake) it must be the case that 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.
Constructors
UTxOState | |
Fields
|
Instances
newtype ProposedPPUpdates era Source #
Update operation for protocol parameters structure PParams
Constructors
ProposedPPUpdates (Map (KeyHash 'Genesis) (PParamsUpdate era)) |
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.17.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 # | |
Constructors
DelegEnv | |
Fields
|
Instances
data ShelleyDELEG era Source #
Instances
Constructors
DelegsEnv | |
Fields
|
data ShelleyDELEGS era Source #
Instances
Constructors
DelplEnv | |
Fields
|
data ShelleyDELPL era Source #
Instances
data ShelleyLEDGER era Source #
Instances
data ShelleyLEDGERS era Source #
Instances
data ShelleyLedgersEnv era Source #
Constructors
LedgersEnv | |
Fields |
Instances
data ShelleyNEWEPOCH era Source #
Instances
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.17.0.0-inplace" 'False) (C1 ('MetaCons "PoolEnv" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochNo) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PParams era)))) |
data ShelleyPOOL era Source #
Instances
data ShelleyPOOLREAP era Source #
Instances
data ShelleyPPUP era Source #
Instances
data ShelleyTICK era Source #
Instances
data ShelleyTICKF era Source #
Instances
data ShelleyUTXO era Source #
Instances
Instances
data ShelleyUTXOW era Source #
Instances
Instances
data GenesisDelegCert Source #
Genesis key delegation certificate
Constructors
GenesisDelegCert !(KeyHash 'Genesis) !(KeyHash 'GenesisDelegate) !(VRFVerKeyHash 'GenDelegVRF) |
Instances
Move instantaneous rewards certificate
Constructors
MIRCert | |
Fields
|
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 # | |
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.17.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))) |
Constructors
ReservesMIR | |
TreasuryMIR |
Instances
ToJSON MIRPot Source # | |
Bounded MIRPot Source # | |
Enum MIRPot Source # | |
Defined in Cardano.Ledger.Shelley.TxCert | |
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 # | |
NoThunks MIRPot Source # | |
type Rep MIRPot Source # | |
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.
Constructors
StakeAddressesMIR !(Map (Credential 'Staking) DeltaCoin) | |
SendToOppositePotMIR !Coin |
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.17.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))) |
data ShelleyDelegCert Source #
Constructors
ShelleyRegCert !StakeCredential | A stake credential registration certificate. |
ShelleyUnRegCert !StakeCredential | A stake credential deregistration certificate. |
ShelleyDelegCert !StakeCredential !(KeyHash 'StakePool) | A stake delegation certificate. |
Instances
data ShelleyTxWits era Source #
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.
Constructors
ShelleyGenesisStaking | |
Fields
|
Instances
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.
Constructors
ShelleyGenesis | |
Fields
|
Instances
data ValidationErr Source #
Constructors
EpochNotLongEnough EpochSize Word64 Rational EpochSize | |
MaxKESEvolutionsUnsupported Word64 Word | |
QuorumTooSmall Word64 Word64 Word64 |
Instances
Show ValidationErr Source # | |
Defined in Cardano.Ledger.Shelley.Genesis Methods showsPrec ∷ Int → ValidationErr → ShowS # show ∷ ValidationErr → String # showList ∷ [ValidationErr] → ShowS # | |
Eq ValidationErr Source # | |
Defined in Cardano.Ledger.Shelley.Genesis |
newtype NominalDiffTimeMicro Source #
Unlike
that supports NominalDiffTime
precision, this type
only supports Pico
precision.Micro
Constructors
NominalDiffTimeMicro Micro |
Instances
hashVerKeyVRF ∷ ∀ c (r ∷ KeyRoleVRF). Crypto c ⇒ VerKeyVRF (VRF c) → VRFVerKeyHash r Source #
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.
certIxToInt ∷ CertIx → Int Source #
word64ToCoin ∷ Word64 → Coin Source #
Arguments
∷ 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.
individualPoolStake ∷ IndividualPoolStake → Rational Source #
Pool stake distribution. This is a ratio of individualTotalPoolStake
/pdTotalActiveStake
bbHash ∷ ShelleyTxSeq era → Hash HASH EraIndependentBlockBody Source #
Hash a given block body
mkShelleyCertState ∷ EraCertState era ⇒ PState era → DState era → CertState era Source #
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
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
toShelleyGenesisPairs ∷ KeyValue e a ⇒ ShelleyGenesis → [a] Source #
emptyGenesisStaking ∷ ShelleyGenesisStaking Source #
Empty genesis staking
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.