Conversation
* Support NV26 & NV27 (#500) * feat: add nv26 support for all actors * feat: add version mapping for nv26 * chore: go mod tidy * ci: bump go version * test: generate mocks * feat: add supported node version * test: fix supported versions * fix: add missing nv26 support * fix: use nv27 as the network name * fix: use v27 as the network name * feat: add nv26 upgrade heights * feat: add nv26 support for all actors * fix: rm config * chore: lotus v1.34.1 * test: use dev mainnet with v1.34.0
There was a problem hiding this comment.
Summary of Changes
Hello @ziscky, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request delivers a new release of the fil-parser library, significantly enhancing its compatibility with the latest Filecoin network upgrades. The core objective is to ensure the parser can seamlessly handle transactions and state changes from the recently introduced network versions, maintaining its critical role in data interpretation for the evolving Filecoin ecosystem.
Highlights
- Network Version Support: This release introduces comprehensive support for Filecoin network versions V26 (Tock) and V27 (GoldenWeek), enabling the parser to accurately interpret and process data from these updated chains.
- Actor State Type Upgrades: The library now integrates
go-state-typesversionv0.17.0, updating numerous actor methods, parameters, and return types across almost all built-in actors (account, cron, datacap, eam, ethaccount, evm, init, market, miner, multisig, paymentChannel, placeholder, power, reward, system, and verifiedRegistry). - Core Dependency Updates: Key dependencies such as
lotushave been upgraded tov1.34.1, alongside other crucial modules likego-f3,go-block-format, androsetta-filecoin-lib, ensuring compatibility and leveraging the latest features. - Internal Tooling and Test Alignment: Mock functions and test configurations have been updated to align with the new network versions and API changes, reinforcing the robustness and accuracy of the parser.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request introduces support for new network versions V26 and V27. The changes primarily involve updating dependencies in go.mod and go.sum, and extending version-specific logic across numerous actor files to handle the new versions. The updates are largely repetitive, adding new entries to maps and switch cases. A notable improvement is a bug fix in actors/v2/init/utils.go for handling Exec4Params. My review includes a suggestion to refactor duplicated code in actors/v2/miner/generic.go to enhance maintainability.
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](actions/setup-go@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/zondax/golem](https://github.com/zondax/golem) from 0.26.0 to 0.27.0. - [Release notes](https://github.com/zondax/golem/releases) - [Commits](Zondax/golem@v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: github.com/zondax/golem dependency-version: 0.27.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
🔗 zboto Link