GovMutator

scalus.cardano.ledger.rules.GovMutator
object GovMutator extends Mutator

The Conway GOV rule of cardano-ledger (eras/conway/impl/src/Cardano/Ledger/Conway/Rules/ Gov.hs:456-643), spec [GV-1] to [GV-20]: checks the proposals and votes of a tx and stores them in govState.

It runs after CertsMutator, so it sees the accounts, DReps, pools and committee hot keys after CERTS, spec [GV-2], [GV-2a]. It reads the committee, the guardrails hash and the roots from the gov state before the tx, which no earlier mutator writes, spec [GV-20]. The deposit check of GOV is ProposalDepositValidator, D30.

The ledger collects every failure of the rule. transit reports the first in the ledger's order, spec [GV-3a], [GV-10b], and transitAll all of them, spec [FL-1]. The PV 9 bootstrap failures are not emulated (spec section 5.8), but the PV 9 exemptions of the other checks are.

Attributes

Graph
Supertypes
trait Mutator
trait STS
class Object
trait Matchable
class Any
Self type
GovMutator.type

Members list

Type members

Types

final override type Error = TransactionException

Inherited types

final type Context = Context

Attributes

Inherited from:
STS
final type Event = Transaction

Attributes

Inherited from:
STS
final type Result = Either[Error, Value]

Attributes

Inherited from:
STS
final type State = State

Attributes

Inherited from:
STS
final override type Value = State

Attributes

Inherited from:
Mutator

Value members

Concrete methods

override def transit(context: Context, state: State, event: Event): Result

A phase-2-failed tx changes no gov state, spec [GV-16]: LEDGER runs GOV only for isValid = true (C/Rules/Ledger.hs:391).

A phase-2-failed tx changes no gov state, spec [GV-16]: LEDGER runs GOV only for isValid = true (C/Rules/Ledger.hs:391).

Attributes

Definition Classes

Inherited methods

final override def apply(context: Context, state: State, event: Event): Result

Attributes

Definition Classes
Inherited from:
Mutator
def name: String

Attributes

Inherited from:
STS