-
Notifications
You must be signed in to change notification settings - Fork 182
feat: set nv27 mainnet upgrade epoch #6086
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughPromotes actor bundle versions from v17.0.0-rc1 to v17.0.0 across calibnet, butterflynet, and devnet; adds mainnet v17.0.0 manifest and actor bundle; sets mainnet GoldenWeek height to 5_348_280 with v17.0.0 bundle; re-enables NV27 GoldenWeek state migration for mainnet. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Node
participant ChainSync as Chain Sync
participant NetCfg as Network Config
participant HeightInfos as HEIGHT_INFOS
participant Bundles as Actor Bundle Registry
participant SM as State Migration
Node->>ChainSync: Import tipsets
ChainSync->>NetCfg: Identify network (mainnet)
ChainSync->>HeightInfos: Lookup upgrade at current epoch
alt Epoch == GoldenWeek (5_348_280)
HeightInfos->>Bundles: get_bundle_cid("v17.0.0")
Bundles-->>HeightInfos: v17.0.0 CID
ChainSync->>SM: nv27::run_migration(DB)
SM-->>ChainSync: Migration result (success/failure)
else Before/After GoldenWeek
Note over ChainSync: Continue normal processing
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
✨ Finishing touches
🧪 Generate unit tests
Comment Pre-merge checks❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/networks/actors_bundle.rs (1)
87-109: ACTOR_BUNDLES: add mainnet v17.0.0 and promote testnets/devnet — OK; add test case for v17Small nit: extend test_actor_major_version_correct with v17 to lock behavior.
@@ fn test_actor_major_version_correct() { let cases = [ ("8.0.0-rc.1", 8), ("v9.0.3", 9), ("v10.0.0-rc.1", 10), ("v12.0.0", 12), ("v13.0.0-rc.3", 13), ("v13.0.0", 13), ("v14.0.0-rc.1", 14), + ("v17.0.0", 17), ];
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
build/manifest.json(4 hunks)src/networks/actors_bundle.rs(3 hunks)src/networks/butterflynet/mod.rs(1 hunks)src/networks/calibnet/mod.rs(1 hunks)src/networks/devnet/mod.rs(1 hunks)src/networks/mainnet/mod.rs(1 hunks)src/state_migration/mod.rs(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: hanabi1224
PR: ChainSafe/forest#5930
File: build.rs:64-77
Timestamp: 2025-08-13T09:43:20.301Z
Learning: hanabi1224 prefers hard compile-time errors in build scripts rather than runtime safeguards or collision detection, believing it's better to fail fast and fix root causes of issues like malformed snapshot names.
🧬 Code graph analysis (5)
src/networks/devnet/mod.rs (3)
src/networks/butterflynet/mod.rs (1)
get_bundle_cid(112-117)src/networks/calibnet/mod.rs (1)
get_bundle_cid(101-106)src/networks/mainnet/mod.rs (1)
get_bundle_cid(98-103)
src/networks/butterflynet/mod.rs (3)
src/networks/calibnet/mod.rs (1)
get_bundle_cid(101-106)src/networks/devnet/mod.rs (1)
get_bundle_cid(170-175)src/networks/mainnet/mod.rs (1)
get_bundle_cid(98-103)
src/state_migration/mod.rs (1)
src/state_migration/nv27/migration.rs (1)
run_migration(55-88)
src/networks/mainnet/mod.rs (3)
src/networks/butterflynet/mod.rs (1)
get_bundle_cid(112-117)src/networks/calibnet/mod.rs (1)
get_bundle_cid(101-106)src/networks/devnet/mod.rs (1)
get_bundle_cid(170-175)
src/networks/calibnet/mod.rs (3)
src/networks/butterflynet/mod.rs (1)
get_bundle_cid(112-117)src/networks/devnet/mod.rs (1)
get_bundle_cid(170-175)src/networks/mainnet/mod.rs (1)
get_bundle_cid(98-103)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: Build forest binaries on Linux AMD64
- GitHub Check: tests-release
- GitHub Check: tests
- GitHub Check: Build MacOS
- GitHub Check: Build Ubuntu
- GitHub Check: cargo-publish-dry-run
- GitHub Check: All lint checks
🔇 Additional comments (9)
src/networks/devnet/mod.rs (1)
163-166: GoldenWeek: promote bundle to v17.0.0 — looks goodMatches ACTOR_BUNDLES updates and keeps env-override behavior. No concerns.
src/networks/butterflynet/mod.rs (1)
108-109: Butterflynet GoldenWeek → v17.0.0 — OKAligned with manifest and bundle table.
build/manifest.json (4)
1157-1166: Calibnet: promote to v17.0.0 — OKCID/version consistent with actors_bundle.rs.
1433-1445: Butterflynet: promote to v17.0.0 — OKMatches bundle table.
2251-2260: Devnet: promote to v17.0.0 — OKConsistent across sources.
3055-3145: Approve Mainnet v17.0.0 manifest — roster and CID coherentActors (16) and bundle_cid match src/networks/actors_bundle.rs.
src/networks/calibnet/mod.rs (1)
97-98: Calibnet GoldenWeek → v17.0.0 — OKAligned with manifest/bundles.
src/state_migration/mod.rs (1)
50-51: Re-enable NV27 (GoldenWeek) migration on Mainnet — OKOrdering is consistent and the bundle is present: make_height!(GoldenWeek, 5_348_280, get_bundle_cid("v17.0.0")) in src/networks/mainnet/mod.rs, v17.0.0 registered for "mainnet" in src/networks/actors_bundle.rs, and Height::GoldenWeek → nv27::run_migration:: is present in src/state_migration/mod.rs.
src/networks/mainnet/mod.rs (1)
93-95: Approve: Set Mainnet GoldenWeek to 5,348,280 (v17.0.0) — verified
- Lotus v1.34.0 UpgradeGoldenWeekHeight = 5,348,280 (2025-09-24T23:00:00Z).
- Tock check: 5,348,280 > 5,138,040 (OK).
- Bundle wiring: "bafy2bzaceai74ppsvuxs3nvpzzeuptdr3wl7vmdpbphvtz4qt5hfq2qdfvz3e" @ "v17.0.0" present in src/networks/actors_bundle.rs:108.
|
@hanabi1224 Could you please check that Forest outputs the same stateroot after the migration as Lotus? |
@LesnyRumcajs just tested and updated the result in the PR description. |
Summary of changes
https://github.com/filecoin-project/lotus/blob/v1.34.0/build/buildconstants/params_mainnet.go#L142
Performed a dummy upgrade @ epoch 5325160, Lotus and Forest produces the same state tree (bafy2bzacebggqplsoqxtyobh5kct4hmegtylvtbedyn5auzuzadfooqp5ybjm)
Lotus:
Forest:
Changes introduced in this pull request:
Reference issue to close (if applicable)
Closes #5989
Other information and links
Change checklist
Summary by CodeRabbit
New Features
Chores