From 485d1b136f5f7d4da1f0566f2e033dea6683bab1 Mon Sep 17 00:00:00 2001 From: jsvisa Date: Wed, 6 Aug 2025 14:32:32 +0800 Subject: [PATCH] triedb: Snapshot completed Signed-off-by: jsvisa --- triedb/database.go | 9 +++++++++ triedb/pathdb/database.go | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/triedb/database.go b/triedb/database.go index e2f4334d6e..d2637bd909 100644 --- a/triedb/database.go +++ b/triedb/database.go @@ -375,3 +375,12 @@ func (db *Database) IsVerkle() bool { func (db *Database) Disk() ethdb.Database { return db.disk } + +// SnapshotCompleted returns the indicator if the snapshot is completed. +func (db *Database) SnapshotCompleted() bool { + pdb, ok := db.backend.(*pathdb.Database) + if !ok { + return false + } + return pdb.SnapshotCompleted() +} diff --git a/triedb/pathdb/database.go b/triedb/pathdb/database.go index 423b921d47..ae607413f2 100644 --- a/triedb/pathdb/database.go +++ b/triedb/pathdb/database.go @@ -681,3 +681,8 @@ func (db *Database) StorageIterator(root common.Hash, account common.Hash, seek } return newFastStorageIterator(db, root, account, seek) } + +// SnapshotCompleted returns the indicator if the snapshot generation is completed. +func (db *Database) SnapshotCompleted() bool { + return !db.waitSync && db.tree.bottom().genComplete() +}