Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type KeyPairs c = [(KeyPair 'Payment c, KeyPair 'Staking c)]
- type RewardAccounts c = Map (Credential 'Staking c) Coin
- data AccountState = AccountState {
- asTreasury ∷ !Coin
- asReserves ∷ !Coin
- toAccountStatePairs ∷ KeyValue e a ⇒ AccountState → [a]
- data EpochState era = EpochState {
- esAccountState ∷ !AccountState
- esLState ∷ !(LedgerState era)
- esSnapshots ∷ !(SnapShots (EraCrypto era))
- esNonMyopic ∷ !(NonMyopic (EraCrypto era))
- toEpochStatePairs ∷ (EraTxOut era, EraGov era, KeyValue e a) ⇒ EpochState era → [a]
- data IncrementalStake c = IStake {
- credMap ∷ !(Map (Credential 'Staking c) (CompactForm Coin))
- ptrMap ∷ !(Map Ptr (CompactForm Coin))
- toIncrementalStakePairs ∷ (KeyValue e a, Crypto c) ⇒ IncrementalStake c → [a]
- data UTxOState era = UTxOState {
- utxosUtxo ∷ !(UTxO era)
- utxosDeposited ∷ Coin
- utxosFees ∷ !Coin
- utxosGovState ∷ !(GovState era)
- utxosStakeDistr ∷ !(IncrementalStake (EraCrypto era))
- utxosDonation ∷ !Coin
- toUTxOStatePairs ∷ (EraTxOut era, EraGov era, KeyValue e a) ⇒ UTxOState era → [a]
- data NewEpochState era = NewEpochState {
- nesEL ∷ !EpochNo
- nesBprev ∷ !(BlocksMade (EraCrypto era))
- nesBcur ∷ !(BlocksMade (EraCrypto era))
- nesEs ∷ !(EpochState era)
- nesRu ∷ !(StrictMaybe (PulsingRewUpdate (EraCrypto era)))
- nesPd ∷ !(PoolDistr (EraCrypto era))
- stashedAVVMAddresses ∷ !(StashedAVVMAddresses era)
- type family StashedAVVMAddresses era where ...
- data LedgerState era = LedgerState {
- lsUTxOState ∷ !(UTxOState era)
- lsCertState ∷ !(CertState era)
- toLedgerStatePairs ∷ (EraTxOut era, EraGov era, KeyValue e a) ⇒ LedgerState era → [a]
- nesPdL ∷ Lens' (NewEpochState era) (PoolDistr (EraCrypto era))
- nesEsL ∷ Lens' (NewEpochState era) (EpochState era)
- unifiedL ∷ Lens' (NewEpochState era) (UMap (EraCrypto era))
- nesELL ∷ Lens' (NewEpochState era) EpochNo
- nesBprevL ∷ Lens' (NewEpochState era) (Map (KeyHash 'StakePool (EraCrypto era)) Natural)
- nesBcurL ∷ Lens' (NewEpochState era) (Map (KeyHash 'StakePool (EraCrypto era)) Natural)
- nesRuL ∷ Lens' (NewEpochState era) (StrictMaybe (PulsingRewUpdate (EraCrypto era)))
- nesStashedAVVMAddressesL ∷ Lens' (NewEpochState era) (StashedAVVMAddresses era)
- nesEpochStateL ∷ Lens' (NewEpochState era) (EpochState era)
- esAccountStateL ∷ Lens' (EpochState era) AccountState
- esSnapshotsL ∷ Lens' (EpochState era) (SnapShots (EraCrypto era))
- esLStateL ∷ Lens' (EpochState era) (LedgerState era)
- esNonMyopicL ∷ Lens' (EpochState era) (NonMyopic (EraCrypto era))
- curPParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (PParams era)
- prevPParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (PParams era)
- futurePParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (FuturePParams era)
- asTreasuryL ∷ Lens' AccountState Coin
- asReservesL ∷ Lens' AccountState Coin
- lsUTxOStateL ∷ Lens' (LedgerState era) (UTxOState era)
- lsCertStateL ∷ Lens' (LedgerState era) (CertState era)
- utxosUtxoL ∷ Lens' (UTxOState era) (UTxO era)
- utxosDepositedL ∷ Lens' (UTxOState era) Coin
- utxosFeesL ∷ Lens' (UTxOState era) Coin
- utxosGovStateL ∷ Lens' (UTxOState era) (GovState era)
- utxosStakeDistrL ∷ Lens' (UTxOState era) (IncrementalStake (EraCrypto era))
- utxosDonationL ∷ Lens' (UTxOState era) Coin
- credMapL ∷ Lens' (IncrementalStake c) (Map (Credential 'Staking c) (CompactForm Coin))
- ptrMapL ∷ Lens' (IncrementalStake c) (Map Ptr (CompactForm Coin))
- newEpochStateGovStateL ∷ Lens' (NewEpochState era) (GovState era)
- epochStateGovStateL ∷ Lens' (EpochState era) (GovState era)
- epochStateDonationL ∷ Lens' (EpochState era) Coin
- epochStateTreasuryL ∷ Lens' (EpochState era) Coin
- epochStateIncrStakeDistrL ∷ Lens' (EpochState era) (Map (Credential 'Staking (EraCrypto era)) (CompactForm Coin))
- epochStateRegDrepL ∷ Lens' (EpochState era) (Map (Credential 'DRepRole (EraCrypto era)) (DRepState (EraCrypto era)))
- epochStatePoolParamsL ∷ Lens' (EpochState era) (Map (KeyHash 'StakePool (EraCrypto era)) (PoolParams (EraCrypto era)))
- epochStateUMapL ∷ Lens' (EpochState era) (UMap (EraCrypto era))
- epochStateStakeDistrL ∷ Lens' (EpochState era) (VMap VB VP (Credential 'Staking (EraCrypto era)) (CompactForm Coin))
- potEqualsObligation ∷ EraGov era ⇒ CertState era → UTxOState era → Bool
- allObligations ∷ EraGov era ⇒ CertState era → GovState era → Obligations
- totalObligation ∷ EraGov era ⇒ CertState era → GovState era → Coin
Documentation
type KeyPairs c = [(KeyPair 'Payment c, KeyPair 'Staking c)] Source #
Deprecated: Use `Test.Cardano.Ledger.Core.KeyPair (KeyPairs)` instead
type RewardAccounts c = Map (Credential 'Staking c) Coin Source #
data AccountState Source #
AccountState | |
|
Instances
toAccountStatePairs ∷ KeyValue e a ⇒ AccountState → [a] Source #
data EpochState era Source #
EpochState | |
|
Instances
toEpochStatePairs ∷ (EraTxOut era, EraGov era, KeyValue e a) ⇒ EpochState era → [a] Source #
data IncrementalStake c 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
toIncrementalStakePairs ∷ (KeyValue e a, Crypto c) ⇒ IncrementalStake c → [a] Source #
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 NewEpochState era Source #
New Epoch state and environment
NewEpochState | |
|
Instances
type family StashedAVVMAddresses era where ... Source #
StashedAVVMAddresses (ShelleyEra c) = UTxO (ShelleyEra c) | |
StashedAVVMAddresses _ = () |
data LedgerState era Source #
The state associated with a Ledger
.
LedgerState | |
|
Instances
toLedgerStatePairs ∷ (EraTxOut era, EraGov era, KeyValue e a) ⇒ LedgerState era → [a] Source #
nesEsL ∷ Lens' (NewEpochState era) (EpochState era) Source #
nesRuL ∷ Lens' (NewEpochState era) (StrictMaybe (PulsingRewUpdate (EraCrypto era))) Source #
nesStashedAVVMAddressesL ∷ Lens' (NewEpochState era) (StashedAVVMAddresses era) Source #
nesEpochStateL ∷ Lens' (NewEpochState era) (EpochState era) Source #
esAccountStateL ∷ Lens' (EpochState era) AccountState Source #
esSnapshotsL ∷ Lens' (EpochState era) (SnapShots (EraCrypto era)) Source #
esLStateL ∷ Lens' (EpochState era) (LedgerState era) Source #
esNonMyopicL ∷ Lens' (EpochState era) (NonMyopic (EraCrypto era)) Source #
curPParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (PParams era) Source #
prevPParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (PParams era) Source #
futurePParamsEpochStateL ∷ EraGov era ⇒ Lens' (EpochState era) (FuturePParams era) Source #
lsUTxOStateL ∷ Lens' (LedgerState era) (UTxOState era) Source #
lsCertStateL ∷ Lens' (LedgerState era) (CertState era) Source #
utxosStakeDistrL ∷ Lens' (UTxOState era) (IncrementalStake (EraCrypto era)) Source #
credMapL ∷ Lens' (IncrementalStake c) (Map (Credential 'Staking c) (CompactForm Coin)) Source #
ptrMapL ∷ Lens' (IncrementalStake c) (Map Ptr (CompactForm Coin)) Source #
newEpochStateGovStateL ∷ Lens' (NewEpochState era) (GovState era) Source #
epochStateGovStateL ∷ Lens' (EpochState era) (GovState era) Source #
epochStateDonationL ∷ Lens' (EpochState era) Coin Source #
epochStateTreasuryL ∷ Lens' (EpochState era) Coin Source #
epochStateIncrStakeDistrL ∷ Lens' (EpochState era) (Map (Credential 'Staking (EraCrypto era)) (CompactForm Coin)) Source #
epochStateRegDrepL ∷ Lens' (EpochState era) (Map (Credential 'DRepRole (EraCrypto era)) (DRepState (EraCrypto era))) Source #
epochStatePoolParamsL ∷ Lens' (EpochState era) (Map (KeyHash 'StakePool (EraCrypto era)) (PoolParams (EraCrypto era))) Source #
epochStateUMapL ∷ Lens' (EpochState era) (UMap (EraCrypto era)) Source #
epochStateStakeDistrL ∷ Lens' (EpochState era) (VMap VB VP (Credential 'Staking (EraCrypto era)) (CompactForm Coin)) Source #
allObligations ∷ EraGov era ⇒ CertState era → GovState era → Obligations Source #