Skip to content
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

feat: implement Synthetic PoRep #11258

Merged
merged 52 commits into from
Sep 19, 2023
Merged

Conversation

rjan90
Copy link
Contributor

@rjan90 rjan90 commented Sep 8, 2023

Related Issues

Closes #10984

Proposed Changes

Additional Info

Checklist

Before you mark the PR ready for review, please make sure that:

  • Commits have a clear commit message.
  • PR title is in the form of of <PR type>: <area>: <change being made>
    • example: fix: mempool: Introduce a cache for valid signatures
    • PR type: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
    • area, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
  • If the PR affects users (e.g., new feature, bug fix, system requirements change), update the CHANGELOG.md and add details to the UNRELEASED section.
  • New features have usage guidelines and / or documentation updates in
  • Tests exist for new functionality or change in behavior
  • CI is green

rjan90 and others added 30 commits July 13, 2023 15:47
Introduce nv21 skeleton for local testing:

- Use local go-state-types with actor_version_checklist changes: https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md
- Imports mock v12-actors bundle
- Define upgrade heights
- Generate adapters
- Add upgrade schedule and migration
- Add actorstype to the NewActorRegistry in /chain/consensus/computestate.go
- Add upgrade field to api/types.go/ForkUpgradeParams
- Add upgrade to node/impl/full/state.go
- Add network version to chain/state/statetree.go
- make jen
- make docsgen-cli
Set local devnet-genesis to nv20
We've now lost 2 recursive calls, but that really shouldn't make a
difference.
Update butterfly-schedule
Add butterfly artifacts
Update butterfly-bootstraps
This commit includes the following updates:

- Imported v12 of the filecoin state types in migrations.go. This allows the system to interpret and operate on the latest structure of filecoin state information, ensuring compatibility with the latest version of the Filecoin network.

- Updated the 'getMigrationFuncsForNetwork' function to include a case for network.Version21, enabling the use of the UpgradeActorsV12 and PreUpgradeActorsV12 functions for network migration. These changes ensure the system correctly handles migrations when the network upgrades to version 21.

- Implemented a new 'checkNv21Invariants' function to check the invariants for version 21 of the Filecoin network. This function:

  1. Loads the new state root from the actor store.
  2. Retrieves the actor code IDs for the current state version (v12).
  3. Loads the actor tree from the state root and checks state invariants using the actor code IDs.
  4. Logs any error messages generated during the invariant check.
  5. Finally, prints a message with the time taken to complete the checks.

By checking these invariants, we can ensure the system's state is consistent and valid after migrating to network version 21.
magik6k and others added 21 commits August 3, 2023 10:29
Updated Butterfly-assets as the butterfly-network has been reset.
Set upgrade epoch on Butterfly earlier
Add new butterfly-assets
…optimized-tree

Feat/nv21 migrations optimized tree diff algorithm
feat: test: Add more post-migration sanity checks
Register SynthPoRep in ResourceTable such that task-resource limitations are also applied to SynthPoRep-sectors (i.e PC1_32G_MAX_CONCURRENT)
@magik6k magik6k marked this pull request as ready for review September 19, 2023 16:55
@magik6k magik6k requested a review from a team as a code owner September 19, 2023 16:55
@snadrus snadrus merged commit 4fd6eb6 into feat/nv21 Sep 19, 2023
@snadrus snadrus deleted the feat/implement-SyntheticPoRep branch September 19, 2023 17:05
@rjan90 rjan90 mentioned this pull request Sep 20, 2023
13 tasks
@rjan90 rjan90 linked an issue Sep 20, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement SynthPoRep
6 participants