diff --git a/internal/handler/handler.go b/internal/handler/handler.go index 0dcb1c08..30ecd91f 100644 --- a/internal/handler/handler.go +++ b/internal/handler/handler.go @@ -92,6 +92,8 @@ func EncodeProveAndUploadReplicaSegment(ctx context.Context, config *config.EthC return pTxHash, nil case strings.Contains(pTxHash, "retry fail"): return pTxHash, nil + case strings.Contains(pTxHash, "out-of-bounds block"): + return pTxHash, nil case pTxHash == "": return "", fmt.Errorf("failed to prove & upload block-replica segment event: %v", segmentName) default: diff --git a/internal/proof/proof.go b/internal/proof/proof.go index f55f596b..8116689e 100644 --- a/internal/proof/proof.go +++ b/internal/proof/proof.go @@ -73,6 +73,12 @@ func executeWithRetry(ctx context.Context, proofChainContract *ProofChain, ethCl return } + if strings.Contains(err.Error(), "Block height is out of bounds for live sync") { + log.Error("skip creating proof-chain session: ", err) + txHash <- "out-of-bounds block" + + return + } log.Error("error sending tx to deployed contract: ", err) txHash <- ""