Skip to content

feat: f3 implementation#1469

Merged
karlem merged 64 commits intomainfrom
f3-lifecycle
Mar 12, 2026
Merged

feat: f3 implementation#1469
karlem merged 64 commits intomainfrom
f3-lifecycle

Conversation

@karlem
Copy link
Contributor

@karlem karlem commented Oct 28, 2025

Closes #1441 and #1442


Note

Low Risk
Only adds temporary/generated storage layout output files; no runtime or contract logic changes. Main risk is accidental inclusion of build artifacts in the repo.

Overview
Adds two new temporary artifacts, .tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt, capturing the storage layout summary for GatewayDiamond (GatewayActorStorage at slot 0, 1056 bytes). No functional code changes are included in this diff.

Written by Cursor Bugbot for commit fb14405. This will update automatically on new commits. Configure here.

@karlem karlem changed the title feat: init lifecycle feat: F3 e2e lifecycle Oct 29, 2025
@karlem karlem force-pushed the f3-lifecycle branch 2 times, most recently from 91db005 to cbce51c Compare November 4, 2025 17:20
Base automatically changed from f3-proofs-cache to main December 18, 2025 16:15
@karlem karlem marked this pull request as ready for review January 16, 2026 19:52
@karlem karlem requested a review from a team as a code owner January 16, 2026 19:52
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@karlem karlem changed the title feat: F3 e2e lifecycle f3 implementation Mar 12, 2026
@karlem karlem changed the title f3 implementation feat: f3 implementation Mar 12, 2026
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Accidentally committed temporary build artifact files

Medium Severity

.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt are temporary build artifacts (Solidity storage layout outputs) that appear to have been accidentally committed. They are not in .gitignore and don't belong in the repository.

Additional Locations (1)
Fix in Cursor Fix in Web

ipc_actors_abis = { path = "../../contract-bindings" }
ethers = {workspace = true}
# F3 certificate handling
filecoin-f3-gpbft = { git = "https://github.com/moshababo/rust-f3", branch = "cargo-git-compat" }
Copy link

Choose a reason for hiding this comment

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

rust-f3 dependency points to wrong fork

High Severity

filecoin-f3-gpbft in fendermint/app/Cargo.toml points to moshababo/rust-f3 (branch cargo-git-compat), while the workspace root Cargo.toml and Cargo.lock both reference ChainSafe/rust-f3 (branch main). This fork mismatch means the app crate may resolve a different, potentially incompatible version of filecoin-f3-gpbft than the rest of the workspace, leading to type mismatches or subtle behavioral differences at runtime.

Fix in Cursor Fix in Web

version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"

Copy link

Choose a reason for hiding this comment

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

Duplicate package entries in generated Cargo.lock

Medium Severity

Cargo.lock contains duplicate entries for jni 0.21.1, jni-sys 0.3.0, and windows_aarch64_gnullvm 0.42.2. These are likely merge artifacts that produce an invalid lock file, potentially causing cargo to reject the file or behave unpredictably during dependency resolution.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) appear to be accidentally committed build artifacts, likely from running forge inspect or a similar tool. They are not referenced anywhere in the codebase, contain identical human-readable table content (not JSON despite the .json extension), and the .tmp_ prefix indicates they were never intended to be tracked.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary build artifact files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) with identical content were committed to the repository root. The .tmp_ prefix indicates these are generated intermediate files, and they aren't referenced anywhere in the codebase. They appear to be left over from a Solidity storage layout check.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) appear to be build artifacts from a forge inspect run that were accidentally committed. They are not referenced anywhere in the codebase, are not in .gitignore, and contain identical content. These look like they belong in .gitignore rather than in the repository.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) appear to be accidentally committed build artifacts from forge inspect. They are not referenced anywhere in the codebase, contain identical content, and the .json file is not valid JSON — it's a human-readable table with box-drawing characters. These are not covered by .gitignore.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) with identical content appear to be build artifacts from a Solidity storage layout inspection tool. They have the .tmp_ prefix convention indicating temporary output and are not listed in .gitignore. These files don't belong in version control.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) with identical content appear to be build artifacts that were accidentally committed. The .tmp_ prefix strongly indicates these are transient files. They are not listed in .gitignore, and the .json file contains a plain-text table rather than valid JSON.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

+=========================================================================================================+
| s | struct GatewayActorStorage | 0 | 0 | 1056 | contracts/GatewayDiamond.sol:GatewayDiamond |
╰------+----------------------------+------+--------+-------+---------------------------------------------╯

Copy link

Choose a reason for hiding this comment

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

Temporary build artifacts accidentally committed to repository

Low Severity

Two temporary files (.tmp_gateway_storage_layout.json and .tmp_gateway_storage_layout.txt) with identical content appear to be build artifacts from a Foundry/Forge storage layout inspection. The .tmp_ prefix strongly suggests these are transient outputs not meant for version control, and they are not listed in .gitignore.

Additional Locations (1)
Fix in Cursor Fix in Web

@karlem karlem merged commit 7b49216 into main Mar 12, 2026
18 checks passed
@karlem karlem deleted the f3-lifecycle branch March 12, 2026 21:44
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.

F3 topdown: Proof Verification & Completeness Enforcement

2 participants