Skip to content

core/rawdb/chain_freezer.go — Version Comparison

v1.17.3 v1.17.4
Branch etc/v1.17.3-full-node etc/v1.17.4-full-node
Delta +8 -0 +8 -0
ETC delta on v1.17.3 (+8 -0)
diff --git a/core/rawdb/chain_freezer.go b/core/rawdb/chain_freezer.go
index d33f7ce33..7f2949915 100644
--- a/core/rawdb/chain_freezer.go
+++ b/core/rawdb/chain_freezer.go
@@ -340,6 +340,14 @@ func (f *chainFreezer) freezeRange(nfdb *nofreezedb, number, limit uint64) (hash
            if err := op.AppendRaw(ChainFreezerReceiptTable, number, receipts); err != nil {
                return fmt.Errorf("can't write receipts 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
ETC delta on v1.17.4 (+8 -0)
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 Version Comparison