diff --git a/core/blockchain_reader.go b/core/blockchain_reader.go index 7417ce8b72..b28661da3e 100644 --- a/core/blockchain_reader.go +++ b/core/blockchain_reader.go @@ -258,6 +258,9 @@ func (bc *BlockChain) GetTd(hash common.Hash, number uint64) *big.Int { // HasState checks if state trie is fully present in the database or not. func (bc *BlockChain) HasState(hash common.Hash) bool { + if bc.stateCache.NoTries() { + return bc.snaps != nil && bc.snaps.Snapshot(hash) != nil + } if bc.pipeCommit && bc.snaps != nil { // If parent snap is pending on verification, treat it as state exist if s := bc.snaps.Snapshot(hash); s != nil && !s.Verified() {