Skip to content

Commit 83dde7c

Browse files
Merge pull request #2000 from IntersectMBO/artur/fix-issue-with-governance-disabled
fix(config): Conditionally process governance events
2 parents 238a84f + c958bfb commit 83dde7c

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

cardano-db-sync/src/Cardano/DbSync/Era/Universal/Insert/LedgerEvent.hs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import Cardano.Prelude
1818
import Cardano.Slotting.Slot (EpochNo (..))
1919

2020
import Cardano.DbSync.Api
21-
import Cardano.DbSync.Api.Types (EpochStatistics (..), SyncEnv (..), UnicodeNullSource, formatUnicodeNullSource)
21+
import Cardano.DbSync.Api.Types (EpochStatistics (..), SyncEnv (..), InsertOptions (..), UnicodeNullSource, formatUnicodeNullSource)
2222
import Cardano.DbSync.Cache.Types (textShowCacheStats)
2323
import Cardano.DbSync.Era.Cardano.Util (insertEpochSyncTime, resetEpochStatistics)
2424
import qualified Cardano.DbSync.Era.Shelley.Generic as Generic
@@ -54,6 +54,7 @@ insertNewEpochLedgerEvents syncEnv currentEpochNo@(EpochNo curEpoch) =
5454
tracer = getTrace syncEnv
5555
cache = envCache syncEnv
5656
ntw = getNetwork syncEnv
57+
    iopts = getInsertOptions syncEnv
5758

5859
subFromCurrentEpoch :: Word64 -> EpochNo
5960
subFromCurrentEpoch m =
@@ -127,19 +128,20 @@ insertNewEpochLedgerEvents syncEnv currentEpochNo@(EpochNo curEpoch) =
127128
LedgerAdaPots _ ->
128129
pure () -- These are handled separately by insertBlock
129130
LedgerGovInfo enacted dropped expired uncl -> do
130-
unless (Set.null uncl) $
131-
liftIO $
132-
logInfo tracer $
133-
"Found " <> textShow (Set.size uncl) <> " unclaimed proposal refunds"
134-
updateDropped syncEnv (EpochNo curEpoch) (garGovActionId <$> (dropped <> expired))
135-
let refunded = filter (\e -> Set.notMember (garGovActionId e) uncl) (enacted <> dropped <> expired)
136-
insertProposalRefunds syncEnv ntw (subFromCurrentEpoch 1) currentEpochNo refunded -- TODO: check if they are disjoint to avoid double entries.
137-
forM_ enacted $ \gar -> do
138-
gaId <- resolveGovActionProposal syncEnv (garGovActionId gar)
139-
void $ lift $ DB.updateGovActionEnacted gaId (unEpochNo currentEpochNo)
140-
whenJust (garMTreasury gar) $ \treasuryMap -> do
141-
let rewards = Map.mapKeys Ledger.raCredential $ Map.map (Set.singleton . mkTreasuryReward) treasuryMap
142-
insertRewardRests syncEnv ntw (subFromCurrentEpoch 1) currentEpochNo (Map.toList rewards)
131+
when (ioGov iopts) $ do
132+
unless (Set.null uncl) $
133+
liftIO $
134+
logInfo tracer $
135+
"Found " <> textShow (Set.size uncl) <> " unclaimed proposal refunds"
136+
updateDropped syncEnv (EpochNo curEpoch) (garGovActionId <$> (dropped <> expired))
137+
let refunded = filter (\e -> Set.notMember (garGovActionId e) uncl) (enacted <> dropped <> expired)
138+
insertProposalRefunds syncEnv ntw (subFromCurrentEpoch 1) currentEpochNo refunded -- TODO: check if they are disjoint to avoid double entries.
139+
forM_ enacted $ \gar -> do
140+
gaId <- resolveGovActionProposal syncEnv (garGovActionId gar)
141+
void $ lift $ DB.updateGovActionEnacted gaId (unEpochNo currentEpochNo)
142+
whenJust (garMTreasury gar) $ \treasuryMap -> do
143+
let rewards = Map.mapKeys Ledger.raCredential $ Map.map (Set.singleton . mkTreasuryReward) treasuryMap
144+
insertRewardRests syncEnv ntw (subFromCurrentEpoch 1) currentEpochNo (Map.toList rewards)
143145
LedgerMirDist rwd -> do
144146
unless (Map.null rwd) $ do
145147
let rewards = Map.toList rwd

0 commit comments

Comments
 (0)