Skip to content

core/rawdb/chain_freezer.go

Type MOD
Upstream Lines 449
Changed +8 -0

Freeze TD alongside block headers

diff --git a/core/rawdb/chain_freezer.go b/core/rawdb/chain_freezer.go
index 4fe85d843..1b45772f4 100644
--- a/core/rawdb/chain_freezer.go
+++ b/core/rawdb/chain_freezer.go
@@ -351,6 +351,14 @@ func (f *chainFreezer) freezeRange(nfdb *nofreezedb, number, limit uint64) (hash
            if err := op.AppendRaw(ChainFreezerBALTable, number, bals); err != nil {
                return fmt.Errorf("can't write bals to Freezer: %v", err)
            }
+           // ETC: Write TD to freezer for PoW chains
+           td := ReadTdRLP(nfdb, hash, number)
+           if len(td) == 0 {
+               return fmt.Errorf("block td missing, can't freeze block %d", number)
+           }
+           if err := op.AppendRaw(ChainFreezerDifficultyTable, number, td); err != nil {
+               return fmt.Errorf("can't write td to Freezer: %v", err)
+           }
            hashes = append(hashes, hash)
        }
        return nil

← Back to Total Difficulty (TD)