diff --git a/foundation/src/main/resources/public b/foundation/src/main/resources/public index 811ffcca..55b7c5ea 160000 --- a/foundation/src/main/resources/public +++ b/foundation/src/main/resources/public @@ -1 +1 @@ -Subproject commit 811ffcca28df22dc9ea769cbc01b4fdc4ad030a3 +Subproject commit 55b7c5ea1bba0e50f012e07974989084ebf58ce0 diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLowerBoundStateDetector.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLowerBoundStateDetector.kt index 54284cb0..9cfb5c50 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLowerBoundStateDetector.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/ethereum/EthereumLowerBoundStateDetector.kt @@ -16,7 +16,18 @@ import reactor.core.publisher.Mono class EthereumLowerBoundStateDetector( private val upstream: Upstream, ) : EthereumLowerBoundDetectorBase(upstream.getChain()) { - private val recursiveLowerBound = RecursiveLowerBound(upstream, LowerBoundType.STATE, stateErrors, lowerBounds, commonErrorPatterns) + private val recursiveLowerBound = RecursiveLowerBound( + upstream, + LowerBoundType.STATE, + stateErrors, + lowerBounds, + commonErrorPatterns.plus( + setOf( + Regex("block #\\d not found"), + Regex("state at block #\\d is pruned"), + ), + ), + ) @Volatile private var supportsStateOverride: Boolean? = null @@ -66,6 +77,12 @@ class EthereumLowerBoundStateDetector( "No receipts data", "No tx data", "No block data", + "historical state not available in path scheme yet", + "historical state is not available", + "required historical state unavailable", + "state histories haven't been fully indexed yet", + "but it out-of-bounds", + "not supported", ) }