feat(eth): use F3 for "finalized" and "safe" resolution in v1 APIs#13298
Merged
Conversation
4577557 to
2d2c0ff
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR updates the v1 Ethereum APIs to use F3 (Fast Finality) for "finalized" and "safe" block resolution, bringing v1 APIs in line with v2 APIs. The change includes a temporary environment variable to disable F3 finality resolution if needed.
- Updated v1 TipSetResolver to use F3 certificate provider with fallback behavior
- Added temporary environment variable
LOTUS_ETH_V1_DISABLE_F3_FINALITY_RESOLUTIONto revert to old resolution rules - Updated test cases to reflect unified v1/v2 behavior expectations
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| node/modules/eth.go | Modified v1 TipSetResolver to use F3 certificate provider with environment variable override |
| itests/eth_api_f3_test.go | Updated test expectations to reflect unified v1/v2 F3 finality behavior |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
fce4729 to
3a1deeb
Compare
3a1deeb to
40621a4
Compare
Kubuxu
approved these changes
Sep 3, 2025
Contributor
Kubuxu
left a comment
There was a problem hiding this comment.
Seems like a good way to approach it
77 tasks
Same rules as v2: * "finalized" and "safe" resolve to whatever F3 has finalized * Fall-back for "safe" is to 200 epochs behind head when F3 isn't operating * Fall-back for "finalized" is 900 epochs behind head when F3 isn't operating Run with LOTUS_ETH_V1_DISABLE_F3_FINALITY_RESOLUTION=1 to revert to the old resolution rules. Future clean-up required: * Remove LOTUS_ETH_V1_DISABLE_F3_FINALITY_RESOLUTION option * Remove builder_chain.go split paths for v1 and v2 Eth module building - reuse same modules across v1 and v2. * Simplify eth_api_f3_test.go to remove special rules for v1 vs v2 - test same rules
40621a4 to
425eb14
Compare
This was referenced Sep 4, 2025
Member
|
Cleanup work being tracked in #13315 |
BigLep
added a commit
that referenced
this pull request
Sep 20, 2025
This is documentation followup to #13298 and #13290. The published verison is at https://www.notion.so/filecoindev/Filecoin-V2-APIs-1d0dc41950c1808b914de5966d501658 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
BigLep
added a commit
that referenced
this pull request
Sep 20, 2025
This is documentation followup to #13298 and #13290. The published verison is at https://www.notion.so/filecoindev/Filecoin-V2-APIs-1d0dc41950c1808b914de5966d501658 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
BigLep
added a commit
that referenced
this pull request
Sep 20, 2025
This is documentation followup to #13298 and #13290. The published verison is at https://www.notion.so/filecoindev/Filecoin-V2-APIs-1d0dc41950c1808b914de5966d501658 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
BigLep
added a commit
that referenced
this pull request
Sep 20, 2025
This is documentation followup to #13298 and #13290. The published verison is at https://www.notion.so/filecoindev/Filecoin-V2-APIs-1d0dc41950c1808b914de5966d501658 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As per chat with @BigLep, this is how we backport F3 finalisation rules to v1 Eth APIs if we want to go with that path. It also comes with a future clean-up task that we should open an issue for if we merge this.
Same rules as v2:
Run with LOTUS_ETH_V1_DISABLE_F3_FINALITY_RESOLUTION=1 to revert to the old resolution rules.
Future clean-up required: