@@ -12,6 +12,9 @@ module Cardano.DbSync.Era.Universal.Validate (
12
12
import Cardano.BM.Trace (Trace , logError , logInfo , logWarning )
13
13
import Cardano.Db (DbLovelace , RewardSource )
14
14
import qualified Cardano.Db as Db
15
+ import Cardano.DbSync.Api (getTrace )
16
+ import Cardano.DbSync.Api.Types (InsertOptions (.. ), SyncEnv (.. ), SyncOptions (.. ))
17
+ import Cardano.DbSync.Config.Types (ShelleyInsertConfig (.. ))
15
18
import qualified Cardano.DbSync.Era.Shelley.Generic as Generic
16
19
import Cardano.DbSync.Ledger.Event
17
20
import Cardano.DbSync.Types
@@ -51,13 +54,14 @@ import GHC.Err (error)
51
54
52
55
validateEpochRewards ::
53
56
(MonadBaseControl IO m , MonadIO m ) =>
57
+ SyncEnv ->
54
58
Trace IO Text ->
55
59
Network ->
56
60
EpochNo ->
57
61
EpochNo ->
58
62
Map StakeCred (Set (Ledger. Reward StandardCrypto )) ->
59
63
ReaderT SqlBackend m ()
60
- validateEpochRewards tracer network _earnedEpochNo spendableEpochNo rmap = do
64
+ validateEpochRewards syncEnv tracer network _earnedEpochNo spendableEpochNo rmap = do
61
65
actualCount <- Db. queryNormalEpochRewardCount (unEpochNo spendableEpochNo)
62
66
if actualCount /= expectedCount
63
67
then do
@@ -70,7 +74,7 @@ validateEpochRewards tracer network _earnedEpochNo spendableEpochNo rmap = do
70
74
, " but got "
71
75
, textShow actualCount
72
76
]
73
- logFullRewardMap tracer spendableEpochNo network (convertPoolRewards rmap)
77
+ logFullRewardMap syncEnv spendableEpochNo network (convertPoolRewards rmap)
74
78
else do
75
79
liftIO . logInfo tracer $
76
80
mconcat
@@ -85,16 +89,16 @@ validateEpochRewards tracer network _earnedEpochNo spendableEpochNo rmap = do
85
89
86
90
logFullRewardMap ::
87
91
(MonadBaseControl IO m , MonadIO m ) =>
88
- Trace IO Text ->
92
+ SyncEnv ->
89
93
EpochNo ->
90
94
Network ->
91
95
Generic. Rewards ->
92
96
ReaderT SqlBackend m ()
93
- logFullRewardMap tracer epochNo network ledgerMap = do
97
+ logFullRewardMap syncEnv epochNo network ledgerMap = do
94
98
dbMap <- queryRewardMap epochNo
95
99
when (Map. size dbMap > 0 && Map. size (Generic. unRewards ledgerMap) > 0 ) $
96
100
liftIO $
97
- diffRewardMap tracer network dbMap (Map. mapKeys (Generic. stakingCredHash network) $ Map. map convert $ Generic. unRewards ledgerMap)
101
+ diffRewardMap syncEnv network dbMap (Map. mapKeys (Generic. stakingCredHash network) $ Map. map convert $ Generic. unRewards ledgerMap)
98
102
where
99
103
convert :: Set Generic. Reward -> [(RewardSource , Coin )]
100
104
convert = map (\ rwd -> (Generic. rewardSource rwd, Generic. rewardAmount rwd)) . Set. toList
@@ -131,15 +135,18 @@ queryRewardMap (EpochNo epochNo) = do
131
135
x : _ -> (fst x, List. sort $ map snd xs)
132
136
133
137
diffRewardMap ::
134
- Trace IO Text ->
138
+ SyncEnv ->
135
139
Network ->
136
140
Map ByteString [(RewardSource , DbLovelace )] ->
137
141
Map ByteString [(RewardSource , Coin )] ->
138
142
IO ()
139
- diffRewardMap tracer _nw dbMap ledgerMap = do
143
+ diffRewardMap syncEnv _nw dbMap ledgerMap = do
140
144
when (Map. size diffMap > 0 ) $ do
141
- logError tracer " diffRewardMap:"
142
- mapM_ (logError tracer . render) $ Map. toList diffMap
145
+ case ioShelley $ soptInsertOptions (envOptions syncEnv) of
146
+ ShelleyStakeAddrs _ -> pure ()
147
+ _ -> do
148
+ logError tracer " diffRewardMap:"
149
+ mapM_ (logError tracer . render) $ Map. toList diffMap
143
150
where
144
151
keys :: [ByteString ]
145
152
keys = List. nubOrd (Map. keys dbMap ++ Map. keys ledgerMap)
@@ -163,3 +170,5 @@ diffRewardMap tracer _nw dbMap ledgerMap = do
163
170
164
171
render :: (ByteString , ([(RewardSource , DbLovelace )], [(RewardSource , Coin )])) -> Text
165
172
render (cred, (xs, ys)) = mconcat [" " , show cred, " : " , show xs, " /= " , show ys]
173
+
174
+ tracer = getTrace syncEnv
0 commit comments