@@ -130,7 +130,7 @@ record NewEpochState : Type where
130130 In addition, the formal specification omits the VRF key hashes in the
131131 codomain of `PoolDelegatedStake`{.AgdaDatatype} as they are not implemented at
132132 the moment.
133-
133+
134134<!--
135135```agda
136136record HasNewEpochState {a} (A : Type a) : Type a where
@@ -579,15 +579,17 @@ record EPOCH-Updates0 : Type where
579579 es : EnactState
580580 govSt' : GovState
581581 payout : Withdrawals
582+ pState' : PState
582583 gState' : GState
583584 utxoSt' : UTxOState
584585 totWithdrawals : Coin
585586
586587EPOCH-updates0 : RatifyState → LState → EPOCH-Updates0
587588EPOCH-updates0 fut ls =
588- EPOCHUpdates0 es govSt' payout gState' utxoSt' totWithdrawals
589+ EPOCHUpdates0 es govSt' payout pState' gState' utxoSt' totWithdrawals
589590 where
590591 open LState ls public
592+ open PState
591593 open CertState certState using (gState) public
592594 open RatifyState fut renaming (es to esW)
593595
@@ -626,6 +628,12 @@ EPOCH-updates0 fut ls =
626628 , CCHotKeysOf gState ∣ ccCreds (EnactState.cc es)
627629 ⟧
628630
631+ pState = PStateOf ls
632+ pState' = record pState
633+ { pools = pState .fPools ∪ˡ pState .pools
634+ ; fPools = ∅ᵐ
635+ }
636+
629637 utxoSt' : UTxOState
630638 utxoSt' = record utxoSt
631639 { deposits = DepositsOf utxoSt ∣ mapˢ (proj₁ ∘ proj₂) removedGovActions ᶜ
@@ -641,14 +649,22 @@ record EPOCH-Updates : Type where
641649 es : EnactState
642650 govSt' : GovState
643651 dState'' : DState
652+ pState'' : PState
644653 gState' : GState
645654 utxoSt' : UTxOState
646655 acnt'' : Acnt
647656
648657EPOCH-updates
649658 : RatifyState → LState → DState → Acnt → EPOCH-Updates
650659EPOCH-updates fut ls dState' acnt' =
651- EPOCHUpdates (u0 .es) (u0 .govSt') dState'' (u0 .gState') (u0 .utxoSt') acnt''
660+ EPOCHUpdates
661+ (u0 .es)
662+ (u0 .govSt')
663+ dState''
664+ (u0 .pState')
665+ (u0 .gState')
666+ (u0 .utxoSt')
667+ acnt''
652668 where
653669 open LState
654670 open EPOCH-Updates0
@@ -673,7 +689,7 @@ EPOCH-updates fut ls dState' acnt' =
673689
674690### Transition Rule
675691
676- This section defines the ` EPOCH ` {.AgdaDatatype} transition rule.
692+ This section defines the ` EPOCH ` {.AgdaDatatype} transition rule.
677693
678694In Conway, the ` EPOCH ` {.AgdaDatatype} rule invokes ` RATIFIES ` {.AgdaDatatype},
679695and carries out the following tasks:
@@ -700,12 +716,12 @@ data _⊢_⇀⦇_,EPOCH⦈_ : ⊤ → EpochState → Epoch → EpochState → Ty
700716```
701717<!--
702718```agda
703- ∀ {acnt : Acnt} {utxoSt'' : UTxOState} {acnt' dState' pState'} →
719+ ∀ {acnt : Acnt} {utxoSt'' : UTxOState} {acnt' dState' pState'' } →
704720```
705721-->
706722``` agda
707723 let
708- EPOCHUpdates es govSt' dState'' gState' utxoSt' acnt'' =
724+ EPOCHUpdates es govSt' dState'' pState' gState' utxoSt' acnt'' =
709725 EPOCH-updates fut ls dState' acnt'
710726
711727 stakeDistrs : StakeDistrs
@@ -718,9 +734,9 @@ data _⊢_⇀⦇_,EPOCH⦈_ : ⊤ → EpochState → Epoch → EpochState → Ty
718734 in
719735 ls ⊢ ss ⇀⦇ tt ,SNAP⦈ ss'
720736 ∙ Γ ⊢ ⟦ es , ∅ , false ⟧ ⇀⦇ govSt' ,RATIFIES⦈ fut'
721- ∙ _ ⊢ ⟦ utxoSt' , acnt , DStateOf ls , PStateOf ls ⟧ ⇀⦇ e ,POOLREAP⦈ ⟦ utxoSt'' , acnt' , dState' , pState' ⟧
737+ ∙ _ ⊢ ⟦ utxoSt' , acnt , DStateOf ls , pState' ⟧ ⇀⦇ e ,POOLREAP⦈ ⟦ utxoSt'' , acnt' , dState' , pState' ' ⟧
722738 ──────────────────────────────────────────────
723- _ ⊢ ⟦ acnt , ss , ls , es₀ , fut ⟧ ⇀⦇ e ,EPOCH⦈ ⟦ acnt'' , ss' , ⟦ utxoSt'' , govSt' , ⟦ dState'' , pState' , gState' ⟧ᶜˢ ⟧ , es , fut' ⟧
739+ _ ⊢ ⟦ acnt , ss , ls , es₀ , fut ⟧ ⇀⦇ e ,EPOCH⦈ ⟦ acnt'' , ss' , ⟦ utxoSt'' , govSt' , ⟦ dState'' , pState'' , gState' ⟧ᶜˢ ⟧ , es , fut' ⟧
724740```
725741
726742## <span class =" AgdaDatatype " >NEWEPOCH</span > Transition System {#newepoch-transition-system}
0 commit comments