scalus.cardano.ledger.epoch.internal

Members list

Type members

Classlikes

case class EpochBookkeeping(accountState: AccountState, lastEpoch: EpochNo, snapshots: SnapShots, blocksMadePrev: Map[PoolKeyHash, Long], blocksMadeCur: Map[PoolKeyHash, Long], pendingRewards: Option[RewardUpdate], prevParams: ProtocolParams, pendingRatify: RatifyState)

The ledger state that only epoch boundaries read and write, not the tx rules: the part of the ledger's EpochState and NewEpochState outside rules.State, ledger-rules spec [DM-9], [DM-9a], [DM-9b]. The current pparams stay in Context.env.params, spec [DM-7].

The ledger state that only epoch boundaries read and write, not the tx rules: the part of the ledger's EpochState and NewEpochState outside rules.State, ledger-rules spec [DM-9], [DM-9a], [DM-9b]. The current pparams stay in Context.env.params, spec [DM-7].

Value parameters

accountState

the treasury and the reserves, esChainAccountState

blocksMadeCur

the blocks each pool made since the last boundary, nesBcur, spec [ES-4]

blocksMadePrev

the blocks each pool made in the epoch before the last boundary, nesBprev

lastEpoch

the epoch of the last boundary the state ran, nesEL, D66: not always the epoch of the snapshot's slot, since the Instant preset lets the slot move back below the tip

pendingRatify

the RATIFY result the last boundary computed and the next one enacts, the result of cgsDRepPulsingState, spec [EB-10a], [EB-20]; at genesis the enact state of the genesis with nothing enacted or expired, spec [DM-9c], D85

pendingRewards

the reward update the last boundary computed and the next one applies, nesRu, spec [EB-22], [RW-21]; None at genesis, spec [ES-8a]

prevParams

the pparams before the last boundary, cgsPrevPParams, which the reward calculation reads, spec [EB-22a], D68; the genesis pparams at genesis, spec [DM-9c]

snapshots

the stake snapshots, esSnapshots, spec [EB-6]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class EpochEnv(params: ProtocolParams, epochLength: Long, poolPerformance: PoolPerformance, activeSlotsCoeff: UnitInterval)

What an epoch transition reads besides the state: the configuration of the chain, ledger-rules spec D84. The Emulator builds it from its Context and ChainConfig.

What an epoch transition reads besides the state: the configuration of the chain, ledger-rules spec D84. The Emulator builds it from its Context and ChainConfig.

Value parameters

activeSlotsCoeff

f, the share of slots with a block, spec [ES-2a]

epochLength

the slots per epoch, slotConfig.epochLength

params

the current pparams before the boundary, spec [EB-25], D88; the reward calculation reads them as the previous pparams of the boundary, spec [RW-13], [EB-22a]

poolPerformance

how the reward calculation rates the pools, spec [ES-1]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

The epoch transition: what the ledger does to its state at one epoch boundary, ledger-rules spec section 12.2.

The epoch transition: what the ledger does to its state at one epoch boundary, ledger-rules spec section 12.2.

The Emulator runs transition once for each boundary a slot change crosses, in order, spec [EB-1], [EB-1a]: unlike NEWEPOCH (conway Rules/NewEpoch.hs:165), which runs the boundary only when the new epoch follows the last one.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

The group of a pparam whose DRep threshold a ParameterChange of it needs, the ledger's PPGroup (conway PParams.hs:643-708), spec [EN-2a].

The group of a pparam whose DRep threshold a ParameterChange of it needs, the ledger's PPGroup (conway PParams.hs:643-708), spec [EN-2a].

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class PoolDistribution(stake: Map[PoolKeyHash, Coin], total: Coin)

The stake each pool votes with, and the total the SPO ratio divides by, the ledger's PoolDistr as RATIFY reads it, spec [RT-4a].

The stake each pool votes with, and the total the SPO ratio divides by, the ledger's PoolDistr as RATIFY reads it, spec [RT-4a].

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Ratify

RATIFY and ENACT, ledger-rules spec section 15.

RATIFY and ENACT, ledger-rules spec section 15.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Ratify.type
case class RatifyEnv(currentEpoch: EpochNo, poolDistribution: PoolDistribution, dRepDistribution: Map[DRep, Coin], dReps: Map[Credential, DRepState], committeeState: Map[Credential, CommitteeAuthorization], accounts: Map[Credential, ConwayAccountState], stakePools: Map[PoolKeyHash, PoolRegistration])

What RATIFY reads besides the enact state, the ledger's RatifyEnv without the instant stake (conway Governance/Internal.hs:562-571), spec [RT-2], [EB-20a]: all of it is read from the state after the boundary.

What RATIFY reads besides the enact state, the ledger's RatifyEnv without the instant stake (conway Governance/Internal.hs:562-571), spec [RT-2], [EB-20a]: all of it is read from the state after the boundary.

Value parameters

accounts

the accounts, for the default vote of a pool, spec [RT-14a]

committeeState

the authorization of each committee cold credential

currentEpoch

reCurrentEpoch, the epoch of the boundary

dRepDistribution

the stake the DReps vote with, spec [RT-3a]

dReps

the registered DReps, with their stored expiry, spec [RT-9a]

poolDistribution

the stake the pools vote with, spec [RT-4a]

stakePools

the registered pools, for the default vote of a pool, spec [RT-14a]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all