fix: guard zero batch count in inbox search and avoid validator underflow #4028
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added a zero-batch guard to arbnode/inbox_tracker.go in InboxTracker.FindInboxBatchContainingMessage() to return (0, false, nil) when GetBatchCount() is zero, preventing an underflow from batchCount - 1 and aligning with the function’s contract and caller expectations that “not found yet” is not an error. It also updates staker/block_validator.go to avoid subtracting one from a zero batch count when reading the last batch’s message count, eliminating unnecessary database calls and log noise in the empty state. The behavior for non-empty batch counts remains unchanged.