Skip to content

chore: create nv29 Lotus skeleton - #13640

Merged
rjan90 merged 4 commits into
masterfrom
phi/nv29-skeleton
Jun 3, 2026
Merged

chore: create nv29 Lotus skeleton#13640
rjan90 merged 4 commits into
masterfrom
phi/nv29-skeleton

Conversation

@rjan90

@rjan90 rjan90 commented May 27, 2026

Copy link
Copy Markdown
Contributor

Closes #13638.

[skip changelog]

Lotus side of the nv29 network skeleton. This consumes the published filecoin-ffi and go-state-types development releases needed to make nv29 available for development and testing.

What changed

  • Added a mock v19 actor bundle generated from the current builtin-actors v18.0.0 release, plus generated bundle metadata.
  • Bumped extern/filecoin-ffi to v1.36.1-dev, which includes chore: add nv29 skeleton filecoin-ffi#580.
  • Bumped github.com/filecoin-project/go-state-types to v0.19.0-dev, which includes actors.Version19, network.Version29, and the v19 migration package.
  • Added generated v19 Lotus actor adapters, registry/policy updates, OpenRPC/API docs, and mock refreshes.
  • Wired nv29 upgrade scheduling through UpgradeXxHeight, UpgradeActorsV19, PreUpgradeActorsV19, state-tree version mapping, compute-state actor registry, lotus-shed migration support, and invariant checks.
  • Advanced dev-style network defaults so nv29 development/testing can target the next upgrade height while FireHorse is treated as already active where appropriate.

Follow-ups

  • Replace the mock v19 actor bundle once the real actors release exists.
  • Rename UpgradeXxHeight after nv29 has its final codename / activation schedule.

Validation

  • CGO_LDFLAGS="-L/opt/homebrew/lib" make gen
  • CGO_LDFLAGS="-L/opt/homebrew/lib" make docsgen-cli
  • CGO_LDFLAGS="-L/opt/homebrew/lib" go test ./chain/actors/... ./chain/consensus/filcns ./chain/consensus ./chain/state ./cmd/lotus-shed ./api ./node/impl/full ./build/buildconstants
  • CGO_LDFLAGS="-L/opt/homebrew/lib" go test ./itests/kit
  • go test -tags 2k ./build/buildconstants
  • go test -tags calibnet ./build/buildconstants
  • go test -tags butterflynet ./build/buildconstants
  • go test -tags interopnet ./build/buildconstants
  • go test -tags testground ./build/buildconstants

@rjan90
rjan90 marked this pull request as ready for review June 1, 2026 10:04
@rjan90 rjan90 moved this from 📌 Triage to ⌨️ In Progress in FilOz Jun 1, 2026
@rjan90 rjan90 self-assigned this Jun 1, 2026
@rjan90
rjan90 requested a review from TippyFlitsUK June 2, 2026 09:20
@github-project-automation github-project-automation Bot moved this from ⌨️ In Progress to ✔️ Approved by reviewer in FilOz Jun 2, 2026
@rjan90

rjan90 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

Did a manual testrun. Confirming I see:

The actor-bundle in the CLI:

lotus state actor-cids --network-version 29
Network Version: 29
Actor Version: 19
Manifest CID: bafy2bzaced35gjxagazf2fne5dakbok5abmivsh7cq7huwfuptebgwjmcpcf6

Actor             CID  
account           bafk2bzacedpmhtrp2kdjoga2phrbi3f7z7wn25s3tluxoagcu7hsg2ppktxbw
cron              bafk2bzacedrv5m6tczd6dz6ly3zmenkljnokovduvgkbmgxvsawbalerciieg
datacap           bafk2bzaceamho7atkl2a7c3m3t24v6tf3wzceaewp3ph6rjmwza3xdy3gmqb6
eam               bafk2bzaceaxpy4ilqlibpgytnt5ucmju2ooi3bqwca6dngwy6hlzmshyjpafw
ethaccount        bafk2bzacedsbwrrjywdmxeluuzwfhmam2jmrm6ivj72ggw6qaijcx7ilw5fvk
evm               bafk2bzacec273j42hyrcaeqms6xuuezkozjhptmyniwtr7y4jzjdoflccn2is
init              bafk2bzaced23vlf6nemlulavy2ouxuvudxe3jbu4klc74tcgruafrqu2fnt3c
multisig          bafk2bzacecquc4zxikmjfwsiyzx4tbxlsvauf53c7spf3hdz6jwmkczyqwbrg
paymentchannel    bafk2bzacecf3jaqzs757hmyxpthnj7vaxr2z6h5v6yubptvqasgabxiubeoim
placeholder       bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
reward            bafk2bzacedchalmz2omgitfunbqg5opzcvrlvju77k6dr5zt2poyy7jjzkvwa
storagemarket     bafk2bzacecjrg6jueodndhwtkaa3n2v2tkjakmzu4c57hrhg5ige4d4kjggcg
storageminer      bafk2bzacedhvcxgdz2w75izwa5s5dwvsrxsnzkjcbpbresziyrrjrsvjzwvxe
storagepower      bafk2bzacebydegz3ap6xgejojdu3usfddhyrj476f25ooahgcqko6d7djynas
system            bafk2bzacedced5maxljwmavukjvtnmknpzoullfcwk3upaz5x5hvvdl2pk24e
verifiedregistry  bafk2bzaceccqnqgyehy72nkmujvpyibikslvpyxfhpqivzjmbkmdbme5xzm2u

Pre-Migration:

2026-06-03T09:01:10.053+0200    WARN    statemgr        stmgr/forks.go:250      STARTING pre-migration
2026-06-03T09:01:10.053+0200    INFO    chain   chain/sync_manager.go:236       selected sync target: [bafy2bzaceaaoee576okue533cuz45rmlmhmugcrgritgcxp346m6juawi2vrm]
2026-06-03T09:01:10.053+0200    INFO    chain   chain/sync_manager.go:318       worker 79 syncing in [bafy2bzaceaaoee576okue533cuz45rmlmhmugcrgritgcxp346m6juawi2vrm]
2026-06-03T09:01:10.053+0200    INFO    chain   chain/sync_manager.go:326       worker 79 done; took 2.375µs
2026-06-03T09:01:10.054+0200    INFO    bundle  bundle/bundle.go:60     manifest cid: bafy2bzaced35gjxagazf2fne5dakbok5abmivsh7cq7huwfuptebgwjmcpcf6
2026-06-03T09:01:10.055+0200    INFO    fil-consensus   filcns/upgrades.go:3630 Started 5 workers
2026-06-03T09:01:10.055+0200    INFO    fil-consensus   filcns/upgrades.go:3630 Creating migration jobs
2026-06-03T09:01:10.056+0200    INFO    fil-consensus   filcns/upgrades.go:3630 Result writer started
2026-06-03T09:01:10.056+0200    INFO    fil-consensus   filcns/upgrades.go:3630 Done creating 17 migration jobs after 0s
2026-06-03T09:01:10.056+0200    INFO    fil-consensus   filcns/upgrades.go:3630 Result writer wrote 17 results to state tree after 0s
2026-06-03T09:01:10.056+0200    INFO    fil-consensus   filcns/upgrades.go:3630 All workers done after 0s
2026-06-03T09:01:10.056+0200    INFO    fil-consensus   filcns/upgrades.go:3630 All 17 done after 0s (15971/s)
2026-06-03T09:01:10.056+0200    WARN    statemgr        stmgr/forks.go:263      COMPLETED pre-migration {"duration": 0.003744375}

Then seeing the actual migration and progress happening after the upgrade epoch:

lotus info
Network: localnet-92be4748-d43a-4854-bb48-090069bbbf84
StartTime: 38m1s (started at 2026-06-03 08:55:50 +0200 CEST)
Chain: [sync ok] [basefee 100 aFIL] [epoch 570]

@rjan90
rjan90 merged commit 7d002b6 into master Jun 3, 2026
418 of 426 checks passed
@rjan90
rjan90 deleted the phi/nv29-skeleton branch June 3, 2026 07:34
@github-project-automation github-project-automation Bot moved this from ✔️ Approved by reviewer to 🎉 Done in FilOz Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🎉 Done

Development

Successfully merging this pull request may close these issues.

Skeleton for nv29 to support development and testing

2 participants