Skip to content

Commit c23a014

Browse files
committed
REBASEME: Add a trimLedgerState stub
1 parent f8c76d8 commit c23a014

File tree

1 file changed

+12
-1
lines changed
  • cardano-db-sync/src/Cardano/DbSync/Ledger

1 file changed

+12
-1
lines changed

cardano-db-sync/src/Cardano/DbSync/Ledger/State.hs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ module Cardano.DbSync.Ledger.State (
3535
getStakeSlice,
3636
getSliceMeta,
3737
findProposedCommittee,
38+
trimLedgerState,
3839
) where
3940

4041
import Cardano.BM.Trace (Trace, logInfo, logWarning)
@@ -89,6 +90,7 @@ import qualified Data.Set as Set
8990
import qualified Data.Strict.Maybe as Strict
9091
import qualified Data.Text as Text
9192
import Data.Time.Clock (UTCTime, diffUTCTime, getCurrentTime)
93+
import GHC.Conc (unsafeIOToSTM)
9294
import GHC.IO.Exception (userError)
9395
import Lens.Micro ((%~), (^.), (^?))
9496
import Ouroboros.Consensus.Block (
@@ -132,7 +134,7 @@ import qualified Ouroboros.Network.Point as Point
132134
import System.Directory (doesFileExist, listDirectory, removeFile)
133135
import System.FilePath (dropExtension, takeExtension, (</>))
134136
import System.Mem (performMajorGC)
135-
import Prelude (String, id)
137+
import Prelude (String, id, undefined)
136138

137139
-- Note: The decision on whether a ledger-state is written to disk is based on the block number
138140
-- rather than the slot number because while the block number is fully populated (for every block
@@ -217,6 +219,7 @@ readStateUnsafe env = do
217219
applyBlockAndSnapshot :: HasLedgerEnv -> CardanoBlock -> Bool -> IO (ApplyResult, Bool)
218220
applyBlockAndSnapshot ledgerEnv blk isCons = do
219221
(oldState, appResult) <- applyBlock ledgerEnv blk
222+
220223
tookSnapshot <- storeSnapshotAndCleanupMaybe ledgerEnv oldState appResult (blockNo blk) isCons (isSyncedWithinSeconds (apSlotDetails appResult) 600)
221224
pure (appResult, tookSnapshot)
222225

@@ -233,10 +236,12 @@ applyBlock env blk = do
233236
let ledgerEventsFull = mapMaybe (convertAuxLedgerEvent (leHasRewards env)) (lrEvents result)
234237
let (ledgerEvents, deposits) = splitDeposits ledgerEventsFull
235238
let !newLedgerState = finaliseDrepDistr (lrResult result)
239+
236240
!details <- getSlotDetails env (ledgerState newLedgerState) time (cardanoBlockSlotNo blk)
237241
!newEpoch <- fromEitherSTM $ mkOnNewEpoch (clsState oldState) newLedgerState (findAdaPots ledgerEvents)
238242
let !newEpochBlockNo = applyToEpochBlockNo (isJust $ blockIsEBB blk) (isJust newEpoch) (clsEpochBlockNo oldState)
239243
let !newState = CardanoLedgerState newLedgerState newEpochBlockNo
244+
let !newState' = maybe newState (trimOnNewEpoch newState) newEpoch
240245
let !ledgerDB' = pushLedgerDB ledgerDB newState
241246
writeTVar (leStateVar env) (Strict.Just ledgerDB')
242247
let !appResult =
@@ -299,6 +304,9 @@ applyBlock env blk = do
299304
finaliseDrepDistr ledger =
300305
ledger & newEpochStateT %~ forceDRepPulsingState @StandardConway
301306

307+
trimOnNewEpoch :: CardanoLedgerState -> Generic.NewEpoch -> CardanoLedgerState
308+
trimOnNewEpoch ls !_ = trimLedgerState ls
309+
302310
getGovState :: ExtLedgerState CardanoBlock -> Maybe (ConwayGovState StandardConway)
303311
getGovState ls = case ledgerState ls of
304312
LedgerStateConway cls ->
@@ -889,3 +897,6 @@ findProposedCommittee gaId cgs = do
889897
UpdateCommittee _ toRemove toAdd q -> Right $ Ledger.SJust $ updatedCommittee toRemove toAdd q scommittee
890898
_ -> Left "Unexpected gov action." -- Should never happen since the accumulator only includes UpdateCommittee
891899
fromNothing err = maybe (Left err) Right
900+
901+
trimLedgerState :: CardanoLedgerState -> CardanoLedgerState
902+
trimLedgerState = undefined

0 commit comments

Comments
 (0)