Midgard State #
Here we detail the complete Midgard state. The state itself is the composition of all other modules state. In a way, it is the Midgrad Hub Oracle, since each module of a concrete Midgard instance (from the poin of view of this library) communicate through their state.
- scheduler : Scheduler.State.SchedulerDatum
- operators_dir : OperatorDirectory.State.OperatorDirectory
- user_event : Bridge.State.EventMap
- state_queue : StateQueue.State.StateQueue
- fraud_proof : FraudProofTokens.State.FraudProofTokens
- settlements : Settlement.State.SettlementSt
- da : DataLayer.DA
- utxo_outref : UtxoSet
- block_header : SimpleHeader
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- s.time_interval = { lower := some s.block_header.start_time, upper := some s.block_header.end_time }
Instances For
Actions #
There is a dispatch choosing (and building) the correct type for each action triggering sub-state machines. Synchronous actions at different machines are put together as one step (at this level), and independent actions are group together.
- MergeToConfimedEmptyL1 (header root : Tokens.Elem.TId) : StQOnly
Instances For
- CommitAndUpdate (opId : OperatorId) (hashHeader : StateQueue.State.HashHeader) (last toUpd : Tokens.Elem.TId) : StQAndOp
- FraudulentActiveAndRemBad (fpId : Tokens.Elem.TId) (opId : OperatorId) (blkRem anch actTkn : Tokens.Elem.TId) : Tokens.Elem.TId → StQAndOp
- FraudulentRetAndRemBad (fpId : Tokens.Elem.TId) (opId : OperatorId) (blkRem anch retTkn : Tokens.Elem.TId) : Tokens.Elem.TId → StQAndOp
Instances For
- MergeAndSpawn (header root : Tokens.Elem.TId) : StQAndSettlement
Instances For
@[reducible, inline]
Equations
Instances For
- UpdBondHoldAndResolvClaim (act_tid sett_tid : Tokens.Elem.TId) (res_time : PosixTime) (opkey : VKeyHash) : OpsDirAndSettlement
- SlashAndDisprove : OpsDirAndSettlement
Instances For
Listing of operations that the opdir module can do alone
Equations
- Midgard.State.OpDirOnly (OperatorDirectory.State.OperActions.UpdateBondHold a_2) = none
- Midgard.State.OpDirOnly (OperatorDirectory.State.OperActions.ActRemoveOperatorBad a_2 a_3) = none
- Midgard.State.OpDirOnly (OperatorDirectory.State.OperActions.RetRemoveOperatorBad a_2 a_3) = none
- Midgard.State.OpDirOnly a = some a
Instances For
- StateQueueAndOps : StQAndOp → Actions
- StateQueueSettlement : StQAndSettlement → Actions
- OpDirAndSett : OpsDirAndSettlement → Actions
- SchedulerAct : Scheduler.State.Sch_Actions → Actions
- OperatorsAct : OperatorDirectory.State.OperActions → Actions
- StateAct : StQOnly → Actions
- FraudProof : FraudProofTokens.Computation.Actions → Actions
Instances For
def
Midgard.State.InjectOps
(st : StateQueue.State.StateQueue × OperatorDirectory.State.OperatorDirectory)
(a : StQAndOp)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Midgard.State.InjectStQandSett
(st : StateQueue.State.StateQueue × Settlement.State.SettlementSt)
(a : StQAndSettlement)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Midgard.State.InjectOpsSetts
(st : OperatorDirectory.State.OperatorDirectory × Settlement.State.SettlementSt)
(a : OpsDirAndSettlement)
:
Equations
- One or more equations did not get rendered due to their size.
- Midgard.State.InjectOpsSetts st Midgard.State.OpsDirAndSettlement.SlashAndDisprove = sorry