Skip to content

chore: update fvm to 4.7.3#5972

Merged
elmattic merged 5 commits intomainfrom
update-fvm-4.7.3
Sep 1, 2025
Merged

chore: update fvm to 4.7.3#5972
elmattic merged 5 commits intomainfrom
update-fvm-4.7.3

Conversation

@LesnyRumcajs
Copy link
Copy Markdown
Member

@LesnyRumcajs LesnyRumcajs commented Aug 22, 2025

Summary of changes

Changes introduced in this pull request:

  • updates FVM 2,3 & 4 to the newly released ones. This is required for the NV27 upgrade.

Reference issue to close (if applicable)

Closes #5986

Other information and links

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Summary by CodeRabbit

  • Chores
    • Upgraded multiple actor-related dependencies to the latest major version to align with upstream releases.
    • No changes to public APIs or user-facing features; existing workflows remain unchanged.
    • No configuration updates required; performance and behavior should remain consistent.
    • Update focuses on maintaining stability and compatibility with the current ecosystem.

@LesnyRumcajs LesnyRumcajs requested a review from a team as a code owner August 22, 2025 14:48
@LesnyRumcajs LesnyRumcajs requested review from elmattic and hanabi1224 and removed request for a team August 22, 2025 14:48
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 22, 2025

Walkthrough

Updated Cargo.toml to bump multiple fil_actor_* state crates and fil_actors_shared from 22.4 to 23, retaining the same feature set for fil_actors_shared. No other files or public interfaces changed.

Changes

Cohort / File(s) Summary
Actor state crate versions
Cargo.toml
Bumped versions: fil_actor_account_state, fil_actor_cron_state, fil_actor_datacap_state, fil_actor_eam_state, fil_actor_evm_state, fil_actor_init_state, fil_actor_market_state, fil_actor_miner_state, fil_actor_multisig_state, fil_actor_paych_state, fil_actor_power_state, fil_actor_reward_state, fil_actor_system_state, fil_actor_verifreg_state from 22.4 → 23.
Shared actors crate version
Cargo.toml
Bumped fil_actors_shared from 22.4 → 23; features unchanged: ["json"].

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Assessment against linked issues

Objective Addressed Explanation
[#5986] [NV27] ref-fvm update Only actor state crates and shared crate were updated; no evidence of ref-fvm update.

Suggested reviewers

  • hanabi1224
  • elmattic
  • akaladarshi
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-fvm-4.7.3

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@LesnyRumcajs LesnyRumcajs marked this pull request as draft August 22, 2025 15:44
@LesnyRumcajs
Copy link
Copy Markdown
Member Author

Oh noo, need to update the filecoin-proofs-api in fil_actor_states...

@LesnyRumcajs
Copy link
Copy Markdown
Member Author

And to update fil-actor-states this needs to be released... filecoin-project/ref-fvm#2204

@LesnyRumcajs LesnyRumcajs changed the title chore: updated fvm to 4.7.3 chore: update fvm to 4.7.3 Aug 27, 2025
@LesnyRumcajs LesnyRumcajs marked this pull request as ready for review September 1, 2025 10:47
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
Cargo.toml (1)

71-85: Track the filecoin-proofs-api bump dependency.

As noted in the PR, fil_actor_states update depends on ref-fvm PR 2204 and a filecoin-proofs-api release. Until that lands, CI may be red. Consider keeping this PR open (or guarded) until crates are published, or temporarily use a [patch.crates-io] override if needed.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 903c521 and 37db31e.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • Cargo.toml (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: Cargo.toml:25-36
Timestamp: 2025-08-06T15:42:43.520Z
Learning: Forest project requires fvm_ipld_amt version 0.7.5 functionality which is available in the Git revision a633547ae414a333b2d076beef87d4d30cdb7fb4 of the ref-fvm repository, but version 0.7.5 is not yet published to crates.io (only 0.7.4 is available). The Git patch must remain until 0.7.5 is published.
Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
⏰ 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). (9)
  • GitHub Check: tests
  • GitHub Check: tests-release
  • GitHub Check: Build forest binaries on Linux AMD64
  • GitHub Check: All lint checks
  • GitHub Check: cargo-publish-dry-run
  • GitHub Check: Build MacOS
  • GitHub Check: Build Ubuntu
  • GitHub Check: Analyze (rust)
  • GitHub Check: Analyze (go)
🔇 Additional comments (3)
Cargo.toml (3)

71-85: Coordinated bump to actor state crates v23 looks consistent.

All fil_actor_*_state and fil_actors_shared moved to 23 in lockstep; feature set for fil_actors_shared stays the same. LGTM.


71-85: Verify lockfile versions and features manually
Unable to automatically inspect Cargo.lock due to environment constraints. Confirm that:

  • All fil_actor_*_state crates resolve to a single 23.x version in Cargo.lock.
  • fil_actors_shared v23 still exposes the "json" feature.

71-85: Optional: pin fvm4/fvm_shared4 to =4.7.3 if NV27 requires exactly that version. The current ~4.7 allows any 4.7.x—keep as is unless you need to lock to 4.7.3 exactly. Please verify the resolved versions locally:

cargo tree -i fvm4 fvm_shared4

Comment thread Cargo.toml
Comment on lines +71 to +85
fil_actor_account_state = { version = "23" }
fil_actor_cron_state = { version = "23" }
fil_actor_datacap_state = { version = "23" }
fil_actor_eam_state = { version = "23" }
fil_actor_evm_state = { version = "23" }
fil_actor_init_state = { version = "23" }
fil_actor_market_state = { version = "23" }
fil_actor_miner_state = { version = "23" }
fil_actor_multisig_state = { version = "23" }
fil_actor_paych_state = { version = "23" }
fil_actor_power_state = { version = "23" }
fil_actor_reward_state = { version = "23" }
fil_actor_system_state = { version = "23" }
fil_actor_verifreg_state = { version = "23" }
fil_actors_shared = { version = "23", features = ["json"] }
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Sep 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

❓ Verification inconclusive

Re-check the fvm_ipld_amt 0.7.5 Git pin learning.

We previously had to pin fvm_ipld_amt to a specific Git revision for 0.7.5 features before it was on crates.io. Confirm whether that override is still required or can be removed now.


🏁 Script executed:

#!/bin/bash
# Look for any Git patches/overrides related to fvm_ipld_amt
rg -nP 'fvm_ipld_amt|^\[patch\.crates-io\]' -C2 Cargo.toml **/Cargo.toml

Length of output: 85


Add missing [patch.crates-io] override for fvm_ipld_amt
fvm_ipld_amt 0.7.5 isn’t yet published to crates.io (only up to 0.7.4 is available), so the Git‐pinned override for ref-fvm at revision a633547ae414a333b2d076beef87d4d30cdb7fb4 must be reintroduced in Cargo.toml until 0.7.5 lands on crates.io.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lies and hallucinations, you did bad and you should feel bad https://crates.io/crates/fvm_ipld_amt/0.7.5

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on LesnyRumcajs's direct reference to the crates.io URL for fvm_ipld_amt version 0.7.5 and their strong reaction to my previous comment, it's clear that my information was incorrect. The user has provided a direct link proving that version 0.7.5 is indeed available on crates.io. I should acknowledge my error and remove the obsolete learnings.

@LesnyRumcajs You are absolutely correct, and I sincerely apologize for the misinformation. I was operating based on outdated learnings that incorrectly stated fvm_ipld_amt version 0.7.5 wasn't available on crates.io. Thank you for the correction and the direct link proving it is indeed published.

My previous comment about needing Git patches was completely wrong and based on stale information. I appreciate you setting the record straight.


⛔ Learnings removed
Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: Cargo.toml:25-36
Timestamp: 2025-08-06T15:42:43.520Z
Learning: The fvm_ipld_amt crate version 0.7.5 is required for the Forest project, but it's not yet published to crates.io, which is why the Git patch pointing to the ref-fvm repository is still necessary.

Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: Cargo.toml:25-36
Timestamp: 2025-08-06T15:42:43.520Z
Learning: Forest project requires fvm_ipld_amt version 0.7.5 functionality which is available in the Git revision a633547ae414a333b2d076beef87d4d30cdb7fb4 of the ref-fvm repository, but version 0.7.5 is not yet published to crates.io (only 0.7.4 is available). The Git patch must remain until 0.7.5 is published.

🧠 Learnings used
Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: Cargo.toml:25-36
Timestamp: 2025-08-06T15:42:43.520Z
Learning: The fvm_ipld_amt crate version 0.7.5 is required for the Forest project, but it's not yet published to crates.io, which is why the Git patch pointing to the ref-fvm repository is still necessary.

Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: Cargo.toml:25-36
Timestamp: 2025-08-06T15:42:43.520Z
Learning: Forest project requires fvm_ipld_amt version 0.7.5 functionality which is available in the Git revision a633547ae414a333b2d076beef87d4d30cdb7fb4 of the ref-fvm repository, but version 0.7.5 is not yet published to crates.io (only 0.7.4 is available). The Git patch must remain until 0.7.5 is published.

Learnt from: LesnyRumcajs
PR: ChainSafe/forest#5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.

@elmattic elmattic added this pull request to the merge queue Sep 1, 2025
Merged via the queue into main with commit 9cc3845 Sep 1, 2025
50 checks passed
@elmattic elmattic deleted the update-fvm-4.7.3 branch September 1, 2025 14:30
@coderabbitai coderabbitai Bot mentioned this pull request Apr 20, 2026
6 tasks
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.

[NV27] ref-fvm update

3 participants