axoned
axoned copied to clipboard
π Update vesting module to cosmos-sdk v0.50.6
π Purpose
This PR introduces several updates to the vesting module to align with the cosmos-sdk v0.50.4, while preserving the custom features implemented in our project, such as cliff vesting.
πΆ Changes
The main changes include also :
- Unit Tests Improvement: Enhanced the unit tests for all cliff vesting account that was removed in an old PR that update vesting module. I've reintroduce those tests.
- CLI command tests: add new unit tests from cosmos for all vesting cli commands
- Proto docs generation: Fix proto docs generation when a module directory is set
- buf cosmos-sdk proto version: set to 0.54.4
- reintroduce add-genesis-account custom command including the
--vesting-cliff-timeargs
Summary by CodeRabbit
-
New Features
- Introduced a command to add genesis accounts with vesting parameters.
- Added new flags for vesting schedule configuration.
- Enhanced CLI commands for creating vesting accounts with various options.
-
Bug Fixes
- Improved error handling and validation for vesting account creation.
- Fixed issues with vesting schedule validation.
-
Documentation
- Updated documentation for vesting commands and parameters.
- Improved clarity in vesting-related documentation.
-
Tests
- Added extensive test cases for vesting account functionalities.
-
Chores
- Updated dependencies and improved Protobuf documentation generation.
Walkthrough
The changes introduce new functionalities and enhancements to the Axone protocol, particularly focusing on the vesting module. Key updates include adding commands for managing genesis accounts, improving CLI commands for vesting accounts, refining Protobuf definitions, and enhancing test coverage. These modifications aim to streamline account management, improve documentation, and ensure robust testing for various vesting scenarios.
Changes
| Files/Paths | Change Summary |
|---|---|
Makefile, scripts/protocgen-doc.sh |
Updated find command to limit search depth for .proto files, affecting documentation generation. |
cmd/axoned/cmd/genaccount.go, genaccount_test.go, root.go |
Introduced new command for adding genesis accounts with vesting parameters and integrated custom command. |
docs/command/... |
Added new flags and clarified documentation for vesting account creation commands. |
proto/... |
Modified Protobuf definitions, updated dependencies, and adjusted documentation paths. |
x/vesting/... |
Enhanced vesting module functionalities, added error handling, refactored account creation logic, and improved test coverage. |
Sequence Diagram(s) (Beta)
sequenceDiagram
participant User
participant CLI
participant AxoneNode
participant VestingModule
User->>CLI: Execute add-genesis-account command
CLI->>AxoneNode: Parse and validate command
AxoneNode->>VestingModule: Add genesis account with vesting parameters
VestingModule-->>AxoneNode: Return success/failure
AxoneNode-->>CLI: Generate response
CLI-->>User: Display result
Poem
In the realm of code so vast and wide,
New commands and tests now reside,
Vesting accounts with a cliff so steep,
Ensuring tokens safely sleep.
Protobufs and docs refined,
A smoother path, so well-defined.
Hooray for changes, big and small,
Axone's future standing tall! ππ
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?
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>.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
@coderabbitaiin 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
@coderabbitaiin 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 generate interesting stats about this repository and render them as a table.@coderabbitai show all the console.log statements in this repository.@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 as PR comments)
@coderabbitai pauseto pause the reviews on a PR.@coderabbitai resumeto resume the paused reviews.@coderabbitai reviewto trigger an incremental review. This is useful when automatic reviews are disabled for the repository.@coderabbitai full reviewto do a full review from scratch and review all the files again.@coderabbitai summaryto regenerate the summary of the PR.@coderabbitai resolveresolve all the CodeRabbit review comments.@coderabbitai configurationto show the current CodeRabbit configuration for the repository.@coderabbitai helpto get help.
Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
CodeRabbit Configration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile 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.
Codecov Report
Attention: Patch coverage is 47.65957% with 123 lines in your changes missing coverage. Please review.
@@ Coverage Diff @@
## main #634 +/- ##
==========================================
- Coverage 53.25% 51.98% -1.28%
==========================================
Files 74 75 +1
Lines 3132 2824 -308
==========================================
- Hits 1668 1468 -200
+ Misses 1367 1260 -107
+ Partials 97 96 -1
| Files | Coverage Ξ | |
|---|---|---|
| x/vesting/types/msgs.go | 0.00% <ΓΈ> (ΓΈ) |
|
| x/vesting/types/period.go | 0.00% <ΓΈ> (ΓΈ) |
|
| x/vesting/types/codec.go | 0.00% <0.00%> (ΓΈ) |
|
| x/vesting/client/cli/tx.go | 68.49% <66.66%> (ΓΈ) |
|
| x/vesting/module.go | 11.42% <30.76%> (+11.42%) |
:arrow_up: |
| x/vesting/types/vesting_account.go | 84.86% <72.22%> (+30.61%) |
:arrow_up: |
| x/vesting/msg_server.go | 84.14% <78.57%> (+14.30%) |
:arrow_up: |
| x/vesting/types/genaccounts.go | 0.00% <0.00%> (ΓΈ) |