feat: Helper to resolve the block number for a fill #488
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.
Given the valid relayData that can be constructed from a Deposit, resolve whether the deposit was ever filled on the destination chain without relying on events. This can be used as a sanity check on RPC responses that sometimes drop logs.
The "left-most" variant of a binary search is implemented. The logic is very simple and has been repeatedly tested to resolve in ~20 iterations with a fill made randomly within a range of 1M blocks. This can be verified locally by adjusting the nBlocks variable within the accompanying test case (remember also to bump the test timeout via
this.timeout(ms)
in the relevant test case).The criteria for determining when the fill was made is the block at which is was considered complete. This effectively ignores partial fills entirely, but that's fortunately forwards-compatible with the direction of Across.