17
17
18
18
module Cardano.Ledger.Conway.Rules.NewEpoch (
19
19
ConwayNEWEPOCH ,
20
- ConwayNewEpochPredFailure (.. ),
21
20
ConwayNewEpochEvent (.. ),
22
21
) where
23
22
@@ -26,7 +25,6 @@ import Cardano.Ledger.BaseTypes (
26
25
ShelleyBase ,
27
26
StrictMaybe (SJust , SNothing ),
28
27
)
29
- import Cardano.Ledger.Coin (toDeltaCoin )
30
28
import Cardano.Ledger.Conway.Core
31
29
import Cardano.Ledger.Conway.Era (ConwayEPOCH , ConwayEra , ConwayNEWEPOCH )
32
30
import Cardano.Ledger.Conway.Governance (
@@ -43,7 +41,6 @@ import Cardano.Ledger.Conway.Rules.Epoch (ConwayEpochEvent)
43
41
import Cardano.Ledger.Credential (Credential )
44
42
import Cardano.Ledger.Shelley.AdaPots (AdaPots (.. ), totalAdaPotsES )
45
43
import Cardano.Ledger.Shelley.LedgerState
46
- import Cardano.Ledger.Shelley.Rewards (sumRewards )
47
44
import Cardano.Ledger.Shelley.Rules (
48
45
RupdEvent (.. ),
49
46
ShelleyTICK ,
@@ -52,29 +49,14 @@ import Cardano.Ledger.Shelley.Rules (
52
49
)
53
50
import Cardano.Ledger.Slot (EpochNo (EpochNo ))
54
51
import Cardano.Ledger.State
55
- import qualified Cardano.Ledger.Val as Val
56
52
import Control.DeepSeq (NFData )
57
53
import Control.State.Transition
58
54
import Data.Default (Default (.. ))
59
55
import qualified Data.Map.Strict as Map
60
56
import Data.Set (Set )
57
+ import Data.Void (Void )
61
58
import GHC.Generics (Generic )
62
- import Lens.Micro ((%~) , (&) , (^.) )
63
-
64
- newtype ConwayNewEpochPredFailure era
65
- = CorruptRewardUpdate
66
- RewardUpdate -- The reward update which violates an invariant
67
- deriving (Generic )
68
-
69
- deriving instance Eq (ConwayNewEpochPredFailure era )
70
-
71
- deriving instance
72
- ( Show (PredicateFailure (EraRule " EPOCH" era ))
73
- , Show (PredicateFailure (EraRule " RATIFY" era ))
74
- ) =>
75
- Show (ConwayNewEpochPredFailure era )
76
-
77
- instance NFData (ConwayNewEpochPredFailure era )
59
+ import Lens.Micro ((%~) , (&) )
78
60
79
61
data ConwayNewEpochEvent era
80
62
= DeltaRewardEvent ! (Event (EraRule " RUPD" era ))
@@ -121,14 +103,16 @@ instance
121
103
, GovState era ~ ConwayGovState era
122
104
, Eq (PredicateFailure (EraRule " RATIFY" era ))
123
105
, Show (PredicateFailure (EraRule " RATIFY" era ))
106
+ , Eq (PredicateFailure (ConwayNEWEPOCH era ))
107
+ , Show (PredicateFailure (ConwayNEWEPOCH era ))
124
108
) =>
125
109
STS (ConwayNEWEPOCH era )
126
110
where
127
111
type State (ConwayNEWEPOCH era ) = NewEpochState era
128
112
type Signal (ConwayNEWEPOCH era ) = EpochNo
129
113
type Environment (ConwayNEWEPOCH era ) = ()
130
114
type BaseM (ConwayNEWEPOCH era ) = ShelleyBase
131
- type PredicateFailure (ConwayNEWEPOCH era ) = ConwayNewEpochPredFailure era
115
+ type PredicateFailure (ConwayNEWEPOCH era ) = Void
132
116
type Event (ConwayNEWEPOCH era ) = ConwayNewEpochEvent era
133
117
134
118
initialRules =
@@ -162,6 +146,8 @@ newEpochTransition ::
162
146
, GovState era ~ ConwayGovState era
163
147
, Eq (PredicateFailure (EraRule " RATIFY" era ))
164
148
, Show (PredicateFailure (EraRule " RATIFY" era ))
149
+ , Eq (PredicateFailure (ConwayNEWEPOCH era ))
150
+ , Show (PredicateFailure (ConwayNEWEPOCH era ))
165
151
) =>
166
152
TransitionRule (ConwayNEWEPOCH era )
167
153
newEpochTransition = do
@@ -214,9 +200,7 @@ updateRewards ::
214
200
EpochNo ->
215
201
RewardUpdate ->
216
202
Rule (ConwayNEWEPOCH era ) 'Transition (EpochState era )
217
- updateRewards es e ru'@ (RewardUpdate dt dr rs_ df _) = do
218
- let totRs = sumRewards (es ^. prevPParamsEpochStateL . ppProtocolVersionL) rs_
219
- Val. isZero (dt <> dr <> toDeltaCoin totRs <> df) ?! CorruptRewardUpdate ru'
203
+ updateRewards es e ru' = do
220
204
let ! (! es', filtered) = applyRUpdFiltered ru' es
221
205
tellEvent $ RestrainedRewards e (frShelleyIgnored filtered) (frUnregistered filtered)
222
206
-- This event (which is only generated once per epoch) must be generated even if the
@@ -226,8 +210,8 @@ updateRewards es e ru'@(RewardUpdate dt dr rs_ df _) = do
226
210
227
211
instance
228
212
( STS (ConwayNEWEPOCH era )
229
- , PredicateFailure (EraRule " NEWEPOCH" era ) ~ ConwayNewEpochPredFailure era
230
213
, Event (EraRule " NEWEPOCH" era ) ~ ConwayNewEpochEvent era
214
+ , PredicateFailure (EraRule " NEWEPOCH" era ) ~ PredicateFailure (ConwayNEWEPOCH era )
231
215
) =>
232
216
Embed (ConwayNEWEPOCH era ) (ShelleyTICK era )
233
217
where
0 commit comments