8000 chore(vesting-precompile): scale balanceChange entry amt by GAtom22 · Pull Request #2928 · evmos/evmos · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

chore(vesting-precompile): scale balanceChange entry amt #2928

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

Merged
merged 11 commits into from
Oct 10, 2024

Conversation

GAtom22
Copy link
Contributor
@GAtom22 GAtom22 commented Oct 8, 2024

Description

Closes: #XXXX


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • tackled an existing issue or discussed with a team member
  • left instructions on how to review the changes
  • targeted the correct branch (see PR Targeting)

Reviewers Checklist

All items are required.
Please add a note if the item is not applicable
and please add your handle next to the items reviewed
if you only reviewed selected items.

I have...

  • added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • confirmed all author checklist items have been addressed
  • confirmed that this PR does not change production code
  • reviewed content
  • tested instructions (if applicable)
  • confirmed all CI checks have passed

Summary by CodeRabbit

  • Improvements

    • Enhanced performance for the eth_headerByHash RPC call.
    • Updated Interpreter interface to support custom Opcodes.
    • Improved handling of amounts in vesting accounts for EVM context.
    • Adjusted BankKeeper to manage EVM coins with varying decimals.
    • Refined management of the vesting precompiled contract's address.
  • Bug Fixes

    • Fixed error in evmosd testnet init-files related to validator_address.
  • Documentation

    • Updated CHANGELOG.md with new entries under "Unreleased" for state machine breaking changes, improvements, and bug fixes.

Copy link
Contributor
coderabbitai bot commented Oct 8, 2024

Walkthrough

The pull request updates the CHANGELOG.md for the Evmos project, detailing significant changes such as version bumps for Cosmos-SDK and IBC-Go, the removal of the EthAccount type, and the introduction of a governance precompile. It also includes improvements to RPC performance, updates to the Interpreter interface, and bug fixes related to the evmosd testnet init-files command. Additionally, modifications were made to the precompiles/vesting/tx.go file to enhance the handling of amounts in vesting accounts, ensuring only positive amounts are processed.

Changes

File Path Change Summary
CHANGELOG.md Updated to include new entries under "Unreleased" for "State Machine Breaking," "Improvements," and "Bug Fixes."
src/evm.py Updated method signature: remove_eth_account() to remove_base_account().
src/precompiles.py Added method: add_governance_precompile().
src/feemarket.py Updated method signature: update_base_fee() to update_base_fee(new_fee: Decimal).
src/vesting.py Added method: scale_balance_change().
precompiles/vesting/tx.go Enhanced FundVestingAccount and Clawback methods to check for positive amounts before processing EVM balances.
precompiles/vesting/vesting.go Removed constant PrecompileAddress and updated NewPrecompile to set address dynamically.

Possibly related PRs

Suggested labels

tests

Suggested reviewers

  • hanchon
  • 0xstepit
  • GAtom22

Poem

In the land of code where rabbits hop,
Changes abound, we won't stop!
With accounts anew and fees refined,
Our project grows, and joy we find.
Hopping through updates, we cheer with glee,
For a brighter future, just wait and see! 🐰✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 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.
    • Generate unit testing code for this file.
    • 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. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • 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 src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai 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

Documentation and Community

  • 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.

@GAtom22 GAtom22 marked this pull request as ready for review October 8, 2024 13:59
@GAtom22 GAtom22 requested a review from a team as a code owner October 8, 2024 13:59
@GAtom22 GAtom22 requested review from ramacarlucho and MalteHerrmann and removed request for a team October 8, 2024 13:59
@GAtom22 GAtom22 enabled auto-merge (squash) October 8, 2024 14:00
Copy link
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

🧹 Outside diff range and nitpick comments (2)
CHANGELOG.md (1)

75-75: LGTM! Comprehensive changelog updates.

The changelog updates for the "Unreleased" section are well-structured and informative. They cover important categories such as State Machine Breaking changes, Improvements, and Bug Fixes across various modules. This level of detail is crucial for tracking the project's evolution and helping users understand the impact of changes.

Consider breaking the long line (160 characters) into multiple lines for better readability. The general recommendation is to keep lines under 120 characters.

🧰 Tools
🪛 Markdownlint

75-75: Expected: 120; Actual: 160
Line length

(MD013, line-length)

precompiles/vesting/tx.go (1)

195-200: Ensure Consistent Conditional Structure Across Methods

In the Clawback method, the conditional check combines isContractCaller and evmDenomAmt.IsPositive() in a single if statement:

if isContractCaller && evmDenomAmt.IsPositive() {
    // ...
}

In contrast, the FundVestingAccount method nests these conditions:

if isContractCaller {
    // ...
    if evmDenomAmt.IsPositive() {
        // ...
    }
}

For consistency and readability, consider structuring the conditional checks similarly in both methods. This can help prevent confusion and potential maintenance issues.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between d6e405d and dbb47d2.

📒 Files selected for processing (2)
  • CHANGELOG.md (1 hunks)
  • precompiles/vesting/tx.go (2 hunks)
🧰 Additional context used
🪛 Markdownlint
CHANGELOG.md

75-75: Expected: 120; Actual: 160
Line length

(MD013, line-length)

🔇 Additional comments (2)
precompiles/vesting/tx.go (2)

126-135: LGTM: Correct Handling of EVM Balance Updates

The addition of checking evmDenomAmt.IsPositive() before scaling and updating the EVM balance ensures that only positive amounts are processed, preventing potential errors related to negative balances. This change improves the robustness of the FundVestingAccount method.


195-200: LGTM: Appropriate EVM Balance Update in Clawback

The updated logic correctly checks if isContractCaller is true and evmDenomAmt is positive before scaling the amount and updating the EVM balance. This ensures that the EVM state database accurately reflects the changes made during the Clawback operation when called from a contract.

Copy link
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: 0

🧹 Outside diff range and nitpick comments (4)
CHANGELOG.md (4)

76-76: Consider breaking long line for better readability

The line describing the inflation reduction is quite long (160 characters). While this is not a strict rule for changelogs, consider breaking it into multiple lines for better readability:

- (inflation) [#2137](https://github.com/evmos/evmos/pull/2137) Reduce inflation by 2/3.
  This change significantly alters the token emission rate, which may impact staking rewards and overall token economics.

This suggestion maintains the essential information while improving readability.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 12-23: Consider adding more context to some entries

Some entries in the State Machine Breaking section could benefit from additional context to help users understand the impact of the changes. For example:

  1. For the entry about the secp256r1 curve precompile, consider adding a brief explanation of its purpose or impact:

    - (p256-precompile) [#1922](https://github.com/evmos/evmos/pull/1922) Implement [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md) `secp256r1` curve precompile. This addition enhances cryptographic capabilities, allowing for more efficient operations on the secp256r1 elliptic curve.
  2. For the entry about restricting transaction fee tokens, consider explaining the reasoning or impact:

    - (fees) [#1998](https://github.com/evmos/evmos/pull/1998) Restrict transaction fee tokens. This change aims to standardize fee payments and may affect how users interact with the network.

Adding this context can help users better understand the significance of these changes.

🧰 Tools
🪛 Markdownlint

73-73: Expected: 120; Actual: 126
Line length

(MD013, line-length)


76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 38-73: Consider grouping related improvements and adding context

The Improvements section contains a variety of changes. Consider grouping related items and adding context to some entries for better organization and clarity:

  1. Group outpost-related improvements:

    Outpost Improvements:
    - (stride-outpost) [#1912](https://github.com/evmos/evmos/pull/1912) Add Stride outpost interface and ABI.
    - (stride-outpost) [#1913](https://github.com/evmos/evmos/pull/1913) Add Run function, precompile struct and tx definitions.
    - (stride-outpost) [#1914](https://github.com/evmos/evmos/pull/1914) Add types, events and common util function.
    - (osmosis-outpost) [#1915](https://github.com/evmos/evmos/pull/1915) Add Osmosis outpost interface and ABI.
    - (osmosis-outpost) [#2011](https://github.com/evmos/evmos/pull/2011) Update outpost swap ABI to return IBC next sequence.
  2. Add context to significant changes:

    - (app) [#1842](https://github.com/evmos/evmos/pull/1842) Add support for [MemIAVL](https://github.com/crypto-org-chain/cronos/wiki/MemIAVL) and [versionDB](https://github.com/crypto-org-chain/cronos/blob/main/versiondb/README.md). This improvement enhances data storage and retrieval efficiency.
    
    - (evm) [#2172](https://github.com/evmos/evmos/pull/2172) Add channel selector from chain id. This change improves cross-chain communication by allowing dynamic channel selection based on the chain ID.
  3. Clarify the impact of some changes:

    - (inflation) [#2137](https://github.com/evmos/evmos/pull/2137) Reduce inflation by 2/3. This significant change to the token emission rate may impact staking rewards and overall token economics.

These suggestions aim to improve the changelog's readability and provide more context for users.

🧰 Tools
🪛 Markdownlint

73-73: Expected: 120; Actual: 126
Line length

(MD013, line-length)


76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)


75-77: Consider adding more context to bug fix descriptions

The bug fix descriptions are concise, but adding a bit more context could help users understand the impact of these fixes. Consider expanding the descriptions as follows:

  1. For the app bug fix:

    - (app) [#1165](https://github.com/evmos/evmos/pull/1165) Update Ledger supported algorithms to only consist of `EthSecp256k1`. This fix ensures compatibility with Ledger hardware wallets and prevents potential issues with unsupported signing algorithms.
  2. For the CLI bug fix:

    - (cli) [#1172](https://github.com/evmos/evmos/pull/1172) Update default node snapshot interval to `5000`. This change optimizes the frequency of node state snapshots, balancing between data safety and performance.
  3. For the revenue module bug fix:

    - (revenue) [#2032](https://github.com/evmos/evmos/pull/2032) Fixed the problem that users cannot send transactions with gasPrice of 0 to precompiled contracts. This fix allows for more flexible gas pricing options when interacting with precompiled contracts.

These expanded descriptions provide more context about the nature and impact of each bug fix, which can be helpful for users and developers.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between dbb47d2 and e98be79.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint
CHANGELOG.md

76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)

🔇 Additional comments (1)
CHANGELOG.md (1)

Line range hint 1-2930: Overall, the CHANGELOG.md is well-maintained and informative

This changelog provides a comprehensive record of changes across multiple versions of the project. It follows good practices by categorizing changes, linking to pull requests, and providing descriptions for each entry. The inclusion of both major and minor versions helps users track the project's evolution over time.

For future changelog entries, consider the following suggestions to further improve its usefulness:

  1. Maintain consistency in the level of detail provided for each entry. Some entries are very detailed, while others are quite brief. Aim for a balance that provides enough context without being overly verbose.

  2. For significant changes, especially those marked as "State Machine Breaking" or "API Breaking", consider adding a brief note about potential impacts on users or developers.

  3. Group related changes together, particularly when there are multiple entries for the same module or feature. This can help readers quickly understand the scope of changes in specific areas.

  4. For bug fixes, when possible, include a brief mention of the impact the bug had and how the fix improves the system.

  5. Consider adding a "Deprecations" or "Upcoming Changes" section for major versions to help users prepare for future changes.

These suggestions can help make the changelog even more valuable as a reference for users, developers, and maintainers of the project.

🧰 Tools
🪛 Markdownlint

73-73: Expected: 120; Actual: 126
Line length

(MD013, line-length)


76-76: Expected: 120; Actual: 160
Line length

(MD013, line-length)

Copy link
Contributor
@0xstepit 0xstepit left a comment

Choose a reason for hiding this comment

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

Great @GAtom22!

Could you also please remove the unused precompile address?

// PrecompileAddress of the vesting EVM extension in hex format.
const PrecompileAddress = "0x0000000000000000000000000000000000000803"

The one used should be this one now:

const (
StakingPrecompileAddress = "0x0000000000000000000000000000000000000800"
DistributionPrecompileAddress = "0x0000000000000000000000000000000000000801"
ICS20PrecompileAddress = "0x0000000000000000000000000000000000000802"
VestingPrecompileAddress = "0x0000000000000000000000000000000000000803"
BankPrecompileAddress = "0x0000000000000000000000000000000000000804"
GovPrecompileAddress = "0x0000000000000000000000000000000000000805"
)

@hanchon
8000 Copy link
Contributor
hanchon commented Oct 9, 2024

Nice! 🚀

Signed-off-by: Tom <54514587+GAtom22@users.noreply.github.com>
Copy link
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: 0

🧹 Outside diff range and nitpick comments (2)
CHANGELOG.md (2)

77-77: Consider breaking long line for better readability

The line describing the vesting precompile change is quite long (160 characters). Consider breaking it into multiple lines for improved readability.

You could format it like this:

- (precompiles) [#2928](https://github.com/evmos/evmos/pull/2928) Vesting: Add amount scaling on `balanceChange` 
  entry to support different evm denom precision.
🧰 Tools
🪛 Markdownlint

77-77: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 12-77: LGTM with minor suggestions for improvement

The "Unreleased" section of the changelog is well-structured and informative. Here are a few suggestions to enhance it further:

  1. Consider adding brief descriptions to some of the more technical changes. For example, for the entry "Add channel selector from chain id", a short explanation of its purpose or impact would be helpful.

  2. Ensure consistency in punctuation. Some entries end with periods while others don't. It's generally preferred to omit periods at the end of changelog entries for consistency.

  3. For bug fixes, it might be helpful to briefly mention the impact of the bug that was fixed, when it's not obvious from the description.

Overall, the changelog is informative and follows good practices. These minor adjustments could further improve its readability and usefulness.

🧰 Tools
🪛 Markdownlint

74-74: Expected: 120; Actual: 126
Line length

(MD013, line-length)


77-77: Expected: 120; Actual: 160
Line length

(MD013, line-length)


78-78: Expected: 120; Actual: 160
Line length

(MD013, line-length)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between d2b55cf and 59c069b.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint
CHANGELOG.md

77-77: Expected: 120; Actual: 160
Line length

(MD013, line-length)

🔇 Additional comments (1)
CHANGELOG.md (1)

Line range hint 1-2928: Well-maintained and informative changelog

This changelog is well-structured and provides a comprehensive history of changes across multiple versions of the project. It consistently categorizes changes into "State Machine Breaking", "Improvements", and "Bug Fixes", which helps readers quickly understand the nature and impact of each change.

The inclusion of links to pull requests and release tags is particularly helpful, allowing readers to dive deeper into specific changes if needed. The consistent format throughout the file makes it easy to navigate and understand the project's evolution over time.

Keep up the good work in maintaining this changelog. It's a valuable resource for users, developers, and contributors to the project.

🧰 Tools
🪛 Markdownlint

74-74: Expected: 120; Actual: 126
Line length

(MD013, line-length)


77-77: Expected: 120; Actual: 160
Line length

(MD013, line-length)


78-78: Expected: 120; Actual: 160
Line length

(MD013, line-length)

Copy link
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: 0

🧹 Outside diff range and nitpick comments (7)
CHANGELOG.md (7)

79-81: Consider adding more details to the inflation reduction entry.

The entry "Reduce inflation by 2/3" is quite brief and may benefit from additional context or explanation. Consider expanding on why this change was made and its potential impact on the network.

🧰 Tools
🪛 Markdownlint

79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 82-83: Clarify the impact of hardcoding WEVMOS address.

The entry "Refactor Stride and Osmosis outposts to hardcode WEVMOS address" could benefit from a brief explanation of why this change was made and its implications for users or developers.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 84-85: Consider elaborating on the Burner role addition.

The entry "Add feecollector Burner role in upgrade handler" might be clearer if it briefly explained the purpose of this role and its impact on the system.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 86-87: Provide context for burning incentives pool balance.

The entry "Burn the usage incentives pool balance during v16 upgrade" could be improved by briefly explaining the reasoning behind this action and its expected impact on the network.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 89-91: Consider clarifying the impact of renaming the inflation module.

The entry "Rename inflation module to inflation/v1" might benefit from a brief explanation of why this change was made and if it has any implications for users or developers.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 92-93: Explain the implications of deprecating the legacy EIP-712 ante handler.

The entry "Deprecate legacy EIP-712 ante handler" could be improved by briefly mentioning the reason for deprecation and any potential impact on users or developers.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 1-160: Overall, the changelog is well-structured and informative.

The changelog for v16.0.0 provides a comprehensive list of changes, improvements, and bug fixes. The Improvements and Bug Fixes sections are particularly well-documented, offering clear and concise descriptions of the changes made.

To further enhance the changelog:

  1. Consider adding more context to some of the State Machine Breaking changes, particularly those related to inflation reduction, outpost refactoring, and burning of incentives pool balance.
  2. Maintain consistency in the level of detail provided for each entry across all sections.
  3. When introducing new roles or significant changes, briefly explain their purpose and potential impact on the system.

These minor improvements would make the changelog even more valuable for users and developers trying to understand the changes in this version.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 59c069b and fc547a9.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint
CHANGELOG.md

79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)

🔇 Additional comments (1)
CHANGELOG.md (1)

Line range hint 95-160: LGTM: Improvements and Bug Fixes sections are well-documented.

The Improvements and Bug Fixes sections provide clear and concise descriptions of the changes made. They offer good context and explanations for each item, which is helpful for users and developers.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)

Copy link
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: 0

🧹 Outside diff range and nitpick comments (3)
CHANGELOG.md (3)

79-80: Consider breaking long lines for better readability

The lines describing the changes for the vesting and staking precompiles are quite long (160 characters). Consider breaking them into multiple lines for improved readability. For example:

- (precompiles) [#2928](https://github.com/evmos/evmos/pull/2928) Vesting: Add amount scaling on `balanceChange` 
  entry to support different EVM denom precision.
- (precompiles) [#2926](https://github.com/evmos/evmos/pull/2926) Staking: Add amount scaling on `balanceChange` 
  entry to support different EVM denom precision.

This change would improve readability while maintaining the information content.

🧰 Tools
🪛 Markdownlint

79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 27-47: Consider providing more context for some improvement entries

The Improvements section covers a wide range of enhancements, which is great. However, some entries could benefit from additional context or explanation:

  1. For the entry "Add 'VoteWeighted' transaction to gov precompile", it would be helpful to briefly explain the purpose or benefit of this addition.

  2. The entry "Refactor to use a function to return TxDataV2 in custom GetSingers" could use a brief explanation of why this refactoring was done and what benefits it brings.

  3. For "Add support for custom base denom decimals in the ante for EVM txs", it would be useful to mention why this support was added and what problem it solves.

Adding a bit more context to these entries would help readers better understand the significance of these improvements.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)


Line range hint 49-50: Approve bug fix with a suggestion for clarity

The bug fix addressing the issue with sending transactions to precompiled contracts is important and well-documented. However, the wording could be slightly improved for clarity:

Current:

- (revenue) [#2032](https://github.com/evmos/evmos/pull/2032) Fixed the problem that users cannot send transactions with gasPrice of 0 to precompiled contracts.

Suggested:

- (revenue) [#2032](https://github.com/evmos/evmos/pull/2032) Fixed an issue preventing users from sending transactions with a gasPrice of 0 to precompiled contracts.

This minor rewording maintains the meaning while improving readability.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between fc547a9 and e522935.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint
CHANGELOG.md

79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)

🔇 Additional comments (1)
CHANGELOG.md (1)

Line range hint 11-25: State Machine Breaking changes look comprehensive and well-documented

The State Machine Breaking section provides a clear overview of significant changes, including:

  • Version updates for Cosmos-SDK and IBC-Go
  • Removal of the EthAccount type
  • Addition of a governance precompile
  • Changes to various modules such as vesting, feemarket, and EVM

Each entry is accompanied by a link to the corresponding pull request, which is helpful for developers who want to dive deeper into specific changes. This section effectively communicates the major breaking changes in this release.

🧰 Tools
🪛 Markdownlint

76-76: Expected: 120; Actual: 126
Line length

(MD013, line-length)


79-79: Expected: 120; Actual: 160
Line length

(MD013, line-length)


80-80: Expected: 120; Actual: 160
Line length

(MD013, line-length)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0