Skip to content
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

fix(client/v2/autocli): add CoinDec flag #22817

Merged
merged 7 commits into from
Dec 10, 2024
Merged

Conversation

JulianToledano
Copy link
Contributor

@JulianToledano JulianToledano commented Dec 10, 2024

Description

Closes: #21071

@julienrbrt: I had to hijack this PR and tag and bump schema to fix the build, instead of adding yet another replace (98d1aef)


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

  • included the correct type prefix in the PR title, you can find examples of the prefixes below:
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • updated the relevant documentation or specification, including comments for documenting Go code
  • confirmed all CI checks have passed

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.

Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

Summary by CodeRabbit

  • New Features

    • Added support for handling DecCoin message types in the flag builder.
    • Introduced functionality for managing decCoinValue in the flag package.
    • Added a new parsing function for DecCoin strings.
    • Enhanced the keyring interface with additional flags and improved error messages.
    • Introduced off-chain signing and verification support, governance proposals, and a transaction factory.
  • Bug Fixes

    • Improved error handling in coin parsing functions.
    • Resolved issues with unmarshalling transactions and duplicate command additions.
  • Tests

    • Enhanced test coverage for coin parsing functionality with multiple test cases.

@JulianToledano JulianToledano requested review from julienrbrt and a team as code owners December 10, 2024 15:37
Copy link
Contributor

coderabbitai bot commented Dec 10, 2024

Caution

Review failed

The pull request is closed.

📝 Walkthrough
📝 Walkthrough

Walkthrough

The pull request introduces modifications to the Builder struct in builder.go to support the DecCoin protobuf message type. A new file, dec_coin.go, is added to manage decCoinValue, including methods for initialization and validation. Additionally, the format.go file is updated to improve coin string parsing, introducing a new ParseDecCoin function. The test file format_test.go is renamed and restructured to reflect these changes, ensuring comprehensive testing of the new functionalities.

Changes

File Path Change Summary
client/v2/autocli/flag/builder.go Modified Builder struct to add DecCoin handling in messageFlagTypes within the init method.
client/v2/autocli/flag/dec_coin.go Introduced decCoinType and decCoinValue structs with methods for managing coin values.
client/v2/internal/coins/format.go Refactored ParseCoin and added ParseDecCoin for improved coin string parsing.
client/v2/internal/coins/format_test.go Renamed to coins, restructured tests for parsing functions, and added new test cases.
client/v2/autocli/flag/coin.go Updated String method in coinValue struct to handle nil values safely.
client/v2/CHANGELOG.md Updated changelog to reflect new features, improvements, breaking changes, and bug fixes.

Possibly related PRs

Suggested labels

C:x/tx, C:core/testing

Suggested reviewers

  • kocubinski
  • testinginprod
  • julienrbrt
  • sontrinh16

📜 Recent review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 82f090f and 98d1aef.

⛔ Files ignored due to path filters (30)
  • client/v2/go.sum is excluded by !**/*.sum
  • go.sum is excluded by !**/*.sum
  • runtime/v2/go.sum is excluded by !**/*.sum
  • server/v2/cometbft/go.sum is excluded by !**/*.sum
  • server/v2/go.sum is excluded by !**/*.sum
  • server/v2/stf/go.sum is excluded by !**/*.sum
  • simapp/go.sum is excluded by !**/*.sum
  • simapp/v2/go.sum is excluded by !**/*.sum
  • tests/go.sum is excluded by !**/*.sum
  • x/accounts/defaults/base/go.sum is excluded by !**/*.sum
  • x/accounts/defaults/lockup/go.sum is excluded by !**/*.sum
  • x/accounts/defaults/multisig/go.sum is excluded by !**/*.sum
  • x/accounts/go.sum is excluded by !**/*.sum
  • x/authz/go.sum is excluded by !**/*.sum
  • x/bank/go.sum is excluded by !**/*.sum
  • x/circuit/go.sum is excluded by !**/*.sum
  • x/consensus/go.sum is excluded by !**/*.sum
  • x/distribution/go.sum is excluded by !**/*.sum
  • x/epochs/go.sum is excluded by !**/*.sum
  • x/evidence/go.sum is excluded by !**/*.sum
  • x/feegrant/go.sum is excluded by !**/*.sum
  • x/gov/go.sum is excluded by !**/*.sum
  • x/group/go.sum is excluded by !**/*.sum
  • x/mint/go.sum is excluded by !**/*.sum
  • x/nft/go.sum is excluded by !**/*.sum
  • x/params/go.sum is excluded by !**/*.sum
  • x/protocolpool/go.sum is excluded by !**/*.sum
  • x/slashing/go.sum is excluded by !**/*.sum
  • x/staking/go.sum is excluded by !**/*.sum
  • x/upgrade/go.sum is excluded by !**/*.sum
📒 Files selected for processing (33)
  • client/v2/go.mod (1 hunks)
  • go.mod (1 hunks)
  • indexer/postgres/go.mod (1 hunks)
  • indexer/postgres/tests/go.mod (1 hunks)
  • runtime/v2/go.mod (1 hunks)
  • schema/testing/go.mod (1 hunks)
  • server/v2/cometbft/go.mod (1 hunks)
  • server/v2/go.mod (1 hunks)
  • server/v2/stf/go.mod (1 hunks)
  • simapp/go.mod (1 hunks)
  • simapp/v2/go.mod (1 hunks)
  • tests/go.mod (1 hunks)
  • x/accounts/defaults/base/go.mod (1 hunks)
  • x/accounts/defaults/lockup/go.mod (1 hunks)
  • x/accounts/defaults/multisig/go.mod (1 hunks)
  • x/accounts/go.mod (1 hunks)
  • x/authz/go.mod (1 hunks)
  • x/bank/go.mod (1 hunks)
  • x/circuit/go.mod (1 hunks)
  • x/consensus/go.mod (1 hunks)
  • x/distribution/go.mod (1 hunks)
  • x/epochs/go.mod (1 hunks)
  • x/evidence/go.mod (1 hunks)
  • x/feegrant/go.mod (1 hunks)
  • x/gov/go.mod (1 hunks)
  • x/group/go.mod (1 hunks)
  • x/mint/go.mod (1 hunks)
  • x/nft/go.mod (1 hunks)
  • x/params/go.mod (1 hunks)
  • x/protocolpool/go.mod (1 hunks)
  • x/slashing/go.mod (1 hunks)
  • x/staking/go.mod (1 hunks)
  • x/upgrade/go.mod (1 hunks)

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 generate docstrings to generate docstrings for this PR. (Experiment)
  • @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.

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.

This comment has been minimized.

Copy link
Member

@julienrbrt julienrbrt left a comment

Choose a reason for hiding this comment

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

Can we add a changelog?

@julienrbrt julienrbrt added backport/v0.50.x PR scheduled for inclusion in the v0.50's next stable release backport/v0.52.x PR scheduled for inclusion in the v0.52's next stable release labels Dec 10, 2024
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: 2

🧹 Outside diff range and nitpick comments (3)
client/v2/internal/coins/format.go (1)

44-61: Consider enhancing error messages in parseCoin

The error messages could be more descriptive to help users understand the expected format.

func parseCoin(input string) (amount, denom string, err error) {
    input = strings.TrimSpace(input)
    if input == "" {
-       return "", "", errors.New("empty input when parsing coin")
+       return "", "", errors.New("coin string cannot be empty")
    }
    matches := coinRegex.FindStringSubmatch(input)
    if len(matches) == 0 {
-       return "", "", errors.New("invalid input format")
+       return "", "", errors.New("invalid coin format: expected <amount><denom>")
    }
    return matches[1], matches[3], nil
}
client/v2/internal/coins/format_test.go (1)

Line range hint 67-73: Enhance test coverage for ParseDecCoin

The current test only covers a basic case. Consider adding tests for:

  • Decimal numbers (e.g., "1.5token")
  • Invalid decimal formats
  • Edge cases with large numbers
func TestParseDecCoin(t *testing.T) {
-   encodedCoin := "1000000000foo"
-   coin, err := ParseDecCoin(encodedCoin)
-   require.NoError(t, err)
-   require.Equal(t, "1000000000", coin.Amount)
-   require.Equal(t, "foo", coin.Denom)
+   tests := []struct {
+       name    string
+       input   string
+       amount  string
+       denom   string
+       wantErr bool
+   }{
+       {"valid integer", "1000000000foo", "1000000000", "foo", false},
+       {"valid decimal", "1.5token", "1.5", "token", false},
+       {"invalid decimal", "1.foo", "", "", true},
+       {"large number", "9999999999999999999.99token", "9999999999999999999.99", "token", false},
+   }
+   for _, tt := range tests {
+       t.Run(tt.name, func(t *testing.T) {
+           coin, err := ParseDecCoin(tt.input)
+           if tt.wantErr {
+               require.Error(t, err)
+               return
+           }
+           require.NoError(t, err)
+           require.Equal(t, tt.amount, coin.Amount)
+           require.Equal(t, tt.denom, coin.Denom)
+       })
+   }
}
client/v2/autocli/flag/dec_coin.go (1)

24-26: Consider a more descriptive default value

The default value "zero" could be more explicit about the denomination.

func (c decCoinType) DefaultValue() string {
-   return "zero"
+   return "0stake"
}
📜 Review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between e07fee5 and a57b40d.

📒 Files selected for processing (4)
  • client/v2/autocli/flag/builder.go (1 hunks)
  • client/v2/autocli/flag/dec_coin.go (1 hunks)
  • client/v2/internal/coins/format.go (1 hunks)
  • client/v2/internal/coins/format_test.go (1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
client/v2/autocli/flag/builder.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

client/v2/internal/coins/format_test.go (2)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.


Pattern **/*_test.go: "Assess the unit test code assessing sufficient code coverage for the changes associated in the pull request"

client/v2/internal/coins/format.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

client/v2/autocli/flag/dec_coin.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

🔇 Additional comments (3)
client/v2/internal/coins/format.go (1)

30-42: ⚠️ Potential issue

Validate decimal numbers in ParseDecCoin

The ParseDecCoin function accepts any number format that matches the regex, but doesn't specifically validate if it's a valid decimal number. This could lead to invalid decimal representations being accepted.

Consider adding decimal validation:

func ParseDecCoin(input string) (*basev1beta1.DecCoin, error) {
    amount, denom, err := parseCoin(input)
    if err != nil {
        return nil, err
    }
+   // Validate decimal format
+   if !isValidDecimal(amount) {
+       return nil, errors.New("invalid decimal format")
+   }
    return &basev1beta1.DecCoin{
        Amount: amount,
        Denom:  denom,
    }, nil
}
client/v2/autocli/flag/builder.go (2)

63-63: LGTM! Clean implementation following existing patterns.

The addition of DecCoin support follows the same pattern as other coin types in the messageFlagTypes map.


63-63: Verify decCoinType implementation.

Let's verify that the decCoinType struct is properly implemented.

✅ Verification successful

decCoinType implementation is properly implemented

The decCoinType implementation is complete and correct. It implements the required Type interface by providing:

  • NewValue method that returns a decCoinValue
  • DefaultValue method that returns "zero"

The decCoinValue struct properly implements the Value interface by providing:

  • Get method for protobuf value handling
  • String method for string representation
  • Set method for parsing input
  • Type method returning the type identifier

The implementation includes proper validation and parsing of decimal coins, with appropriate error handling for invalid inputs.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence and implementation of decCoinType

# Search for decCoinType definition and implementation
echo "Searching for decCoinType definition..."
ast-grep --pattern 'type decCoinType struct {
  $$$
}'

echo "Searching for decCoinType method implementations..."
ast-grep --pattern 'func (d decCoinType) $$$'

Length of output: 370


Script:

#!/bin/bash
# Let's check the content of the dec_coin.go file to see the implementation details
echo "Content of dec_coin.go:"
cat client/v2/autocli/flag/dec_coin.go

# Let's also search for any interface this type might implement
echo -e "\nSearching for interfaces that might be implemented:"
rg "interface.*{" -A 5 client/v2/autocli/flag/

Length of output: 1467


Script:

#!/bin/bash
# Let's search for the interface definition with fixed regex
echo "Searching for interfaces:"
rg "type.*interface" -A 5 client/v2/autocli/flag/

# Let's also check if Value interface is defined in the package
echo -e "\nSearching for Value interface specifically:"
rg "type Value interface" -A 10 client/v2/autocli/flag/

Length of output: 2502

client/v2/autocli/flag/dec_coin.go Outdated Show resolved Hide resolved
client/v2/autocli/flag/dec_coin.go Show resolved Hide resolved
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: 2

🧹 Outside diff range and nitpick comments (2)
client/v2/autocli/flag/dec_coin.go (2)

14-18: Add documentation for type declarations

Consider adding documentation comments for both types to explain their purpose and usage:

+// decCoinType implements the flag.Value interface for DecCoin values
 type decCoinType struct{}

+// decCoinValue stores and manages a DecCoin value for flag parsing
 type decCoinValue struct {
     value *basev1beta1.DecCoin
 }

20-26: Add validation in NewValue method

Consider validating the context and builder parameters, even though they're currently unused:

-func (c decCoinType) NewValue(*context.Context, *Builder) Value {
+func (c decCoinType) NewValue(ctx *context.Context, builder *Builder) Value {
+    if ctx == nil || builder == nil {
+        panic("context and builder cannot be nil")
+    }
     return &decCoinValue{}
 }
📜 Review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between a57b40d and 46e7d5c.

📒 Files selected for processing (2)
  • client/v2/CHANGELOG.md (1 hunks)
  • client/v2/autocli/flag/dec_coin.go (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
client/v2/CHANGELOG.md (1)

Pattern **/*.md: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"

client/v2/autocli/flag/dec_coin.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

🔇 Additional comments (4)
client/v2/autocli/flag/dec_coin.go (4)

1-12: LGTM: Imports and package declaration are well organized

The imports are properly organized and all necessary dependencies are included.


28-33: Add validation in Get method

The Get method should validate the DecCoin value before returning it.


39-50: LGTM: Set method implementation is robust

The method properly validates input format and handles parsing errors appropriately.


52-54: LGTM: Type method returns correct protobuf message type

The implementation correctly returns "cosmos.base.v1beta1.DecCoin".

Comment on lines 35 to 37
func (c *decCoinValue) String() string {
return c.value.String()
}
Copy link
Contributor

@coderabbitai coderabbitai bot Dec 10, 2024

Choose a reason for hiding this comment

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

⚠️ Potential issue

Add nil check in String method

The current implementation could panic if value is nil. Consider adding a nil check:

 func (c *decCoinValue) String() string {
+    if c.value == nil {
+        return ""
+    }
     return c.value.String()
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
func (c *decCoinValue) String() string {
return c.value.String()
}
func (c *decCoinValue) String() string {
if c.value == nil {
return ""
}
return c.value.String()
}

Copy link
Member

Choose a reason for hiding this comment

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

+1

Copy link
Contributor

Choose a reason for hiding this comment

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

@julienrbrt, thank you for addressing the issue!


If you found this review helpful, would you consider giving us a shout-out on X?
Thank you for using CodeRabbit!

@@ -60,6 +60,7 @@ Ref: https://keepachangelog.com/en/1.0.0/

* [#21853](https://github.com/cosmos/cosmos-sdk/pull/21853) Fix `*big.Int` unmarshalling in txs.
* [#22576](https://github.com/cosmos/cosmos-sdk/pull/22576) Fix duplicate command addition in `autocli` when custom enhanced command has a different name than module name
* [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder.
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Move changelog entry to Features section

The addition of DecCoin support in autocli flag builder is a new feature rather than a bug fix. Consider moving this entry to the "Features" section:

 ### Features
+* [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder.

 ### Bug Fixes
-* [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder.
### Features
* [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder.
### Bug Fixes

@julienrbrt julienrbrt changed the title fix: add CoinDec flag to autoCLI fix(client/v2/autocli): add CoinDec flag Dec 10, 2024
Copy link
Member

@julienrbrt julienrbrt left a comment

Choose a reason for hiding this comment

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

utACK!

@tac0turtle tac0turtle enabled auto-merge December 10, 2024 18:44
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)
client/v2/autocli/flag/dec_coin.go (2)

20-26: Consider adding validation in NewValue

The NewValue method could benefit from initial validation of the Builder parameter, even though it's currently unused.

-func (c decCoinType) NewValue(*context.Context, *Builder) Value {
+func (c decCoinType) NewValue(_ *context.Context, b *Builder) Value {
+    if b == nil {
+        panic("builder cannot be nil")
+    }
     return &decCoinValue{}
}

43-54: Improve error message clarity

The error message contains a typo and could be more descriptive.

-       return errors.New("coin flag must be a single coin, specific multiple coins with multiple flags or spaces")
+       return errors.New("coin flag must be a single coin, specify multiple coins with multiple flags or spaces")
📜 Review details

Configuration used: .coderabbit.yml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 46e7d5c and 82f090f.

📒 Files selected for processing (2)
  • client/v2/autocli/flag/coin.go (1 hunks)
  • client/v2/autocli/flag/dec_coin.go (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
client/v2/autocli/flag/coin.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

client/v2/autocli/flag/dec_coin.go (1)

Pattern **/*.go: Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.

🔇 Additional comments (4)
client/v2/autocli/flag/coin.go (1)

36-39: LGTM: Proper nil check added

Good defensive programming practice to prevent potential nil pointer dereference. This change aligns with the similar nil check in the DecCoin implementation.

client/v2/autocli/flag/dec_coin.go (3)

14-18: LGTM: Clean type definitions

The type definitions follow Go idioms and mirror the structure of the regular coin implementation, providing good consistency.


28-33: Add validation for DecCoin fields

The previous review comment about validating DecCoin fields in the Get method is still applicable.


1-58: Verify DecCoin parsing implementation

Let's verify the ParseDecCoin function implementation that this code depends on.

✅ Verification successful

Let me gather more information about the coin parsing implementation to verify its correctness.


Let me check one final piece - the coin regex pattern used for parsing.


DecCoin parsing implementation is robust and well-tested

The implementation in client/v2/internal/coins/format.go correctly handles decimal coin parsing with:

  • A well-defined regex pattern that validates coin format amount + denom
  • Proper validation of denomination format (3-128 chars, starts with letter)
  • Support for decimal amounts
  • Comprehensive test coverage for both regular and edge cases

The code's dependency on this parsing is safe and reliable.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for ParseDecCoin implementation and its tests
rg -A 5 "func ParseDecCoin" --type go
rg -A 5 "TestParseDecCoin" --type go

Length of output: 2191


Script:

#!/bin/bash
# Let's check the parseCoin implementation and related utility functions
ast-grep --pattern 'func parseCoin($$$)'

# Also check for any test cases that might reveal edge cases
rg -A 10 "TestParseCoin" --type go

Length of output: 6510


Script:

#!/bin/bash
# Check the coinRegex definition
rg "coinRegex.*=" --type go -A 2

Length of output: 306

@julienrbrt julienrbrt linked an issue Dec 10, 2024 that may be closed by this pull request
1 task
@tac0turtle tac0turtle added this pull request to the merge queue Dec 10, 2024
Merged via the queue into main with commit 57b4d30 Dec 10, 2024
96 of 97 checks passed
@tac0turtle tac0turtle deleted the julian/autocli-coin-test branch December 10, 2024 20:29
mergify bot pushed a commit that referenced this pull request Dec 10, 2024
Co-authored-by: Marko <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
(cherry picked from commit 57b4d30)

# Conflicts:
#	client/v2/go.mod
#	client/v2/go.sum
#	go.mod
#	go.sum
#	indexer/postgres/go.mod
#	indexer/postgres/tests/go.mod
#	runtime/v2/go.mod
#	runtime/v2/go.sum
#	schema/testing/go.mod
#	server/v2/cometbft/go.mod
#	server/v2/cometbft/go.sum
#	server/v2/go.mod
#	server/v2/go.sum
#	server/v2/stf/go.mod
#	server/v2/stf/go.sum
#	simapp/go.mod
#	simapp/go.sum
#	simapp/v2/go.mod
#	simapp/v2/go.sum
#	tests/go.mod
#	tests/go.sum
#	x/accounts/defaults/base/go.mod
#	x/accounts/defaults/base/go.sum
#	x/accounts/defaults/lockup/go.mod
#	x/accounts/defaults/lockup/go.sum
#	x/accounts/defaults/multisig/go.mod
#	x/accounts/defaults/multisig/go.sum
#	x/accounts/go.mod
#	x/accounts/go.sum
#	x/authz/go.mod
#	x/authz/go.sum
#	x/bank/go.mod
#	x/bank/go.sum
#	x/circuit/go.mod
#	x/circuit/go.sum
#	x/consensus/go.mod
#	x/consensus/go.sum
#	x/distribution/go.mod
#	x/distribution/go.sum
#	x/epochs/go.mod
#	x/epochs/go.sum
#	x/evidence/go.mod
#	x/evidence/go.sum
#	x/feegrant/go.mod
#	x/feegrant/go.sum
#	x/gov/go.mod
#	x/gov/go.sum
#	x/group/go.mod
#	x/group/go.sum
#	x/mint/go.mod
#	x/mint/go.sum
#	x/nft/go.mod
#	x/nft/go.sum
#	x/params/go.mod
#	x/params/go.sum
#	x/protocolpool/go.mod
#	x/protocolpool/go.sum
#	x/slashing/go.mod
#	x/slashing/go.sum
#	x/staking/go.mod
#	x/staking/go.sum
#	x/upgrade/go.mod
#	x/upgrade/go.sum
mergify bot pushed a commit that referenced this pull request Dec 10, 2024
Co-authored-by: Marko <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
(cherry picked from commit 57b4d30)

# Conflicts:
#	client/v2/go.mod
#	client/v2/go.sum
#	client/v2/internal/coins/format.go
#	client/v2/internal/coins/format_test.go
#	go.mod
#	go.sum
#	indexer/postgres/go.mod
#	indexer/postgres/tests/go.mod
#	runtime/v2/go.mod
#	runtime/v2/go.sum
#	schema/testing/go.mod
#	server/v2/cometbft/go.mod
#	server/v2/cometbft/go.sum
#	server/v2/go.mod
#	server/v2/go.sum
#	server/v2/stf/go.mod
#	server/v2/stf/go.sum
#	simapp/go.mod
#	simapp/go.sum
#	simapp/v2/go.mod
#	simapp/v2/go.sum
#	tests/go.mod
#	tests/go.sum
#	x/accounts/defaults/base/go.mod
#	x/accounts/defaults/base/go.sum
#	x/accounts/defaults/lockup/go.mod
#	x/accounts/defaults/lockup/go.sum
#	x/accounts/defaults/multisig/go.mod
#	x/accounts/defaults/multisig/go.sum
#	x/accounts/go.mod
#	x/accounts/go.sum
#	x/authz/go.mod
#	x/authz/go.sum
#	x/bank/go.mod
#	x/bank/go.sum
#	x/circuit/go.mod
#	x/circuit/go.sum
#	x/consensus/go.mod
#	x/consensus/go.sum
#	x/distribution/go.mod
#	x/distribution/go.sum
#	x/epochs/go.mod
#	x/epochs/go.sum
#	x/evidence/go.mod
#	x/evidence/go.sum
#	x/feegrant/go.mod
#	x/feegrant/go.sum
#	x/gov/go.mod
#	x/gov/go.sum
#	x/group/go.mod
#	x/group/go.sum
#	x/mint/go.mod
#	x/mint/go.sum
#	x/nft/go.mod
#	x/nft/go.sum
#	x/params/go.mod
#	x/params/go.sum
#	x/protocolpool/go.mod
#	x/protocolpool/go.sum
#	x/slashing/go.mod
#	x/slashing/go.sum
#	x/staking/go.mod
#	x/staking/go.sum
#	x/upgrade/go.mod
#	x/upgrade/go.sum
julienrbrt added a commit that referenced this pull request Dec 10, 2024
julienrbrt added a commit that referenced this pull request Dec 10, 2024
julienrbrt added a commit that referenced this pull request Dec 10, 2024
SpicyLemon added a commit to provenance-io/cosmos-sdk that referenced this pull request Dec 18, 2024
* fix(crypto): error if incorrect ledger public key (backport cosmos#19691) (cosmos#19745)

Co-authored-by: Rootul P <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.5 to 0.38.6 (cosmos#19751)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix: align signer extraction adapter for mempool remove (backport cosmos#19759) (cosmos#19773)

Co-authored-by: mmsqe <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix(x/upgrade): Stop treating inline JSON as a URL (backport cosmos#19706) (cosmos#19767)

Co-authored-by: Richard Gibson <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix(client/v2): fix comment parsing (backport cosmos#19377) (cosmos#19777)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cosmos/iavl from 1.0.1 to 1.1.1 in store (cosmos#19770)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cool Developer <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore(store): add release date (cosmos#19797)

* build(deps): Bump github.com/cosmos/gogoproto from 1.4.11 to 1.4.12 (cosmos#19811)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* feat(x/gov): emit proposer address in submit proposal event (backport cosmos#19842) (cosmos#19844)

Co-authored-by: Aryan Tikarya <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* feat(x/gov): emit depositor in `proposal_deposit` event (backport cosmos#19853) (cosmos#19859)

Co-authored-by: Kien <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* reuse fromAddrString (minor cleanup) (cosmos#19881)

* feat(client): replace `event-query-tx-for` with `wait-tx` (backport cosmos#19870) (cosmos#19887)

* feat(server): add custom start handler (backport cosmos#19854) (cosmos#19884)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump cosmossdk.io/store from 1.0.2 to 1.1.0 (cosmos#19810)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* docs(x/mint): Fix inconsistency in mint docs  (backport cosmos#19915) (cosmos#19925)

* build(deps): Bump github.com/cosmos/iavl from 1.1.1 to 1.1.2 (cosmos#19985)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <[email protected]>

* fix(client/v2): add encoder for `cosmos.base.v1beta1.DecCoin` (backport cosmos#19976) (cosmos#20001)

Co-authored-by: Julien Robert <[email protected]>

* fix(mempool): use no-op mempool as default (backport cosmos#19970) (cosmos#20008)

Co-authored-by: Tom <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* feat: Conditionally emit metrics based on enablement (backport cosmos#19903) (cosmos#20017)

Co-authored-by: Lucas Francisco López <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(x/bank): align query with multi denoms for send-enabled (backport cosmos#20028) (cosmos#20029)

Co-authored-by: mmsqe <[email protected]>

* fix: Implement gogoproto customtype to secp256r1 keys (backport cosmos#20027) (cosmos#20031)

Co-authored-by: Facundo Medica <[email protected]>

* fix(client/v2): respect output format from client ctx (backport cosmos#20033) (cosmos#20046)

Co-authored-by: mmsqe <[email protected]>

* build(deps): Bump cosmossdk.io/x/tx from 0.13.1 to 0.13.2 (cosmos#20042)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <[email protected]>

* feat(x/bank): support depinject for send restrictions (backport cosmos#20014) (cosmos#20024)

* fix(baseapp): don't share global gas meter in tx execution (backport cosmos#19616) (cosmos#20050)

* fix: secp256r1 json missing quotes (backport cosmos#20060) (cosmos#20069)

Co-authored-by: Facundo Medica <[email protected]>

* build(deps): Bump github.com/cosmos/cosmos-proto from 1.0.0-beta.4 to 1.0.0-beta.5 (cosmos#20095)

* feat(client/v2): implement version filtering using annotation (backport cosmos#20083) (cosmos#20099)

Co-authored-by: Julien Robert <[email protected]>

* chore: prepare v0.50.6 (cosmos#19998)

* fix: use timestamp for sim log file name (backport cosmos#20108) (cosmos#20111)

Co-authored-by: mmsqe <[email protected]>

* fix(x/authz,x/feegrant): check blocked address (cosmos#20102)

* chore: update v0.50.6 release notes (cosmos#20124)

* build(deps): bump sdk in modules (cosmos#20126)

* docs(gas/fees): Update block gas documentation (backport cosmos#20128) (cosmos#20131)

Co-authored-by: samricotta <[email protected]>

* fix(baseapp): avoid header height overwrite block height (backport cosmos#20107) (cosmos#20129)

Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* docs: fix broken link (backport cosmos#20133) (cosmos#20138)

* build(deps): bump modules in simapp (cosmos#20137)

* build(deps): Bump cosmossdk.io/x/tx from 0.13.2 to 0.13.3 (cosmos#20152)

* docs: add authz reference info in the circuit antehandler (backport cosmos#20146) (cosmos#20155)

Co-authored-by: Reece Williams <[email protected]>

* fix(testsuite/sims): set all signatures (backport cosmos#20151) (cosmos#20185)

Co-authored-by: Leon <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.6 to 0.38.7 (cosmos#20206)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(server): bootstrap-state command can't parse latest genesis format (backport cosmos#20020) (cosmos#20045)

Co-authored-by: yihuang <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix: remove txs from mempool when antehandler fails in recheck (backport cosmos#20144) (cosmos#20251)

Co-authored-by: Marko <[email protected]>

* feat(baseapp): expose grpc query router via depinject. (cosmos#20264)

* feat(client/v2): override short description in generated command (backport cosmos#20266) (cosmos#20269)

Co-authored-by: John Letey <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* feat(runtime): Add missing NewTransientStoreService (backport cosmos#20261) (cosmos#20327)

Co-authored-by: beer-1 <[email protected]>

* fix: allow tx decoding to fail in GetBlockWithTxs (backport cosmos#20323) (cosmos#20329)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix(client/v2): correctly check subcommand short descriptions (backport cosmos#20330) (cosmos#20340)

* build(deps): Bump cosmossdk.io/api from 0.7.4 to 0.7.5 (cosmos#20338)

* style: Fix gov query proposals examples syntax (backport cosmos#20353) (cosmos#20357)

* feat(client): add consensus address for debug cmd (backport cosmos#20328) (cosmos#20366)

Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* feat(client): overwrite client context instead of setting new one (backport cosmos#20356) (cosmos#20383)

Co-authored-by: Shude Li <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix: correctly assign `execModeSimulate` to context for `simulateTx` (backport cosmos#20342) (cosmos#20346)

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* docs: update diagram to be shown properly (backport cosmos#20454) (cosmos#20460)

Co-authored-by: tianyeyouyou <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* docs: fix note blocks display failure (backport cosmos#20457) (cosmos#20459)

Co-authored-by: cocoyeal <[email protected]>

* docs: update link contents (backport cosmos#20437) (cosmos#20462)

Co-authored-by: PolyMa <[email protected]>

* fix(x/consensus): harden consensus params proposal (cosmos#20381)

Co-authored-by: Sergio Mena <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>

* docs: add docs on permissions (backport cosmos#20526) (cosmos#20527)

Co-authored-by: Marko <[email protected]>

* chore(x/upgrade): bump vulnerable `go-getter` library (cosmos#20530)

* chore: prepare v0.50.7 (cosmos#20475)

* build(deps): Bump github.com/cosmos/gogoproto from 1.4.12 to 1.5.0 (cosmos#20567)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* refactor(x/authz,x/feegrant): provide updated keeper in depinject (cosmos#20590)

* docs: Update high level overview and introduction (backport cosmos#20535) (cosmos#20627)

Co-authored-by: samricotta <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix: Properly parse json in the wait-tx command. (backport cosmos#20631) (cosmos#20660)

Co-authored-by: Daniel Wedul <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* docs: remove Ineffective code block (backport cosmos#20703) (cosmos#20711)

* feat(client): Add flag & reading mnemonic from file (backport cosmos#20690) (cosmos#20712)

Co-authored-by: Hieu Vu <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix: nested multisig signatures using CLI (backport cosmos#20438) (cosmos#20692)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Facundo <[email protected]>

* feat(client/v2): get keyring from context (backport cosmos#19646) (cosmos#20727)

Co-authored-by: Julien Robert <[email protected]>

* docs(x/group): orm codespace comment (backport cosmos#20749) (cosmos#20751)

* feat: parse home flag earlier (backport cosmos#20771) (cosmos#20777)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.7 to 0.38.8 (cosmos#20805)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.8 to 0.38.9 (cosmos#20836)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(simulation): fix the problem of `validator set is empty after InitGenesis` in simulation test (backport cosmos#18196) (cosmos#20897)

Co-authored-by: Chenqun Lu <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(simulation): Fix all problems `make test-sim-custom-genesis-fast` for simulation test. (backport cosmos#17911) (cosmos#20909)

Co-authored-by: Chenqun Lu <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore: prepare v0.50.8 (cosmos#20910)

* chore(simapp): use tagged version (cosmos#20951)

* fix: include pagination.key at reverse mode (backport cosmos#20939) (cosmos#20954)

Co-authored-by: beer-1 <[email protected]>
Co-authored-by: Facundo <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.9 to 0.38.10 (cosmos#20960)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(client/v2): use (PREFIX)_HOME instead of NODE_HOME (backport cosmos#20964) (cosmos#20970)

Co-authored-by: Julien Robert <[email protected]>

* fix(client/grpc): `node.NewQueryServer` method not setting `cfg` (backport cosmos#20969) (cosmos#20973)

* fix: NewIntegrationApp does not write default genesis to state (backport cosmos#21006) (cosmos#21008)

Co-authored-by: son trinh <[email protected]>

* fix(crypto): revert cosmos#20438 (cosmos#21019)

* feat: use depinject v1.0.0 (cosmos#21000)

* fix(runtime): remove `appv1alpha1.Config` from runtime (backport cosmos#21042) (cosmos#21080)

Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* feat: check latest block if no arg in `q block` and `q block-results` (backport cosmos#21084) (cosmos#21111)

Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>

* fix(simapp): concurrent map writes when calling GetSigners (backport cosmos#21073) (cosmos#21130)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: Facundo <[email protected]>

* docs: Fix cli usage examples (backport cosmos#21150) (cosmos#21154)

Co-authored-by: Christoph Otter <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore: bring in v0.13.x x/tx in release/v0.50.x (cosmos#21158)

* build(deps): Bump cosmossdk.io/x/tx from 0.13.3 to 0.13.4 (cosmos#21170)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(baseapp): return events from preblocker in FinalizeBlockResponse (backport cosmos#21159) (cosmos#21162)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Facundo <[email protected]>

* chore: prepare v0.50.9 (cosmos#21163)

* ci: attempt to fix goreleaser (backport cosmos#21194) (cosmos#21196)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump cosmossdk.io/log from 1.3.1 to 1.4.0 (cosmos#21209)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* chore: backport NewMemStoreService method (cosmos#21212)

* build(deps): Bump github.com/cosmos/gogoproto from 1.5.0 to 1.6.0 (cosmos#21234)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* feat: module hash by height query (backport cosmos#20779) (cosmos#21247)

Co-authored-by: Adam Tucker <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.10 to 0.38.11 (cosmos#21264)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* feat(confix): allow customization of migration plan (backport cosmos#21202) (cosmos#21268)

Co-authored-by: Tom <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cosmos/gogoproto from 1.6.0 to 1.7.0 (cosmos#21294)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(baseapp)!: Halt at height now does not produce the halt height block (backport cosmos#21256) (cosmos#21323)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: Facundo <[email protected]>

* chore: bring in core v0.11.x (v0.50 compatible) to v0.50 (cosmos#21298)

* docs: rename app v2 to app di when talking about runtime v0 (backport cosmos#21329) (cosmos#21335)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump cosmossdk.io/log from 1.4.0 to 1.4.1 (cosmos#21351)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* docs: fix outdated link (backport cosmos#21397) (cosmos#21400)

Co-authored-by: KI <[email protected]>

* feat(x/bank): add origin address in event multisend (backport cosmos#21460) (cosmos#21465)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cosmos/ics23/go from 0.10.0 to 0.11.0 (cosmos#21473)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>

* fix(baseapp): preblock events are not emmitted correctly (backport cosmos#21444) (cosmos#21458)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(x/consensus)!: update cons params parsing checks (backport cosmos#21484) (cosmos#21493)

Co-authored-by: MSalopek <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(types/mempool): fix slice init length (backport cosmos#21494) (cosmos#21519)

Co-authored-by: dropbigfish <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cometbft/cometbft from 0.38.11 to 0.38.12 (cosmos#21535)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <[email protected]>

* feat(x/genutil): bulk add genesis accounts (backport cosmos#21372) (cosmos#21544)

Co-authored-by: Reece Williams <[email protected]>
Co-authored-by: Reece Williams <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(mempool): data race in mempool prepare proposal handler (backport cosmos#21413) (cosmos#21541)

Co-authored-by: yihuang <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): bump iavl in cosmossdk.io/store 1.1.x (cosmos#21574)

* docs(x/evidence): fix evidence module subcommands help message (backport cosmos#21589) (cosmos#21592)

* docs(client/debug): correct and improve  `debug pubkey-raw` command example (backport cosmos#21594) (cosmos#21600)

Co-authored-by: lilasxie <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* docs(client/debug): correct `debug raw-bytes` command example (backport cosmos#21671) (cosmos#21676)

Co-authored-by: lilasxie <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* docs(x/authz): update grant docs (backport cosmos#21677) (cosmos#21700)

Co-authored-by: Eric Mokaya <[email protected]>
Co-authored-by: Akhil Kumar P <[email protected]>

* feat(x/genutil): add better error messages for genesis validation (backport cosmos#21701) (cosmos#21708)

Co-authored-by: Eric Mokaya <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* feat(types/collections): add `LegacyDec` collection value (backport cosmos#21693) (cosmos#21724)

Co-authored-by: John Letey <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>

* docs: demonstrate how to wire custom ante handlers in 0.50 app_di (cosmos#21767)

* docs(x/circuit): display correct example (backport cosmos#21768) (cosmos#21773)

Co-authored-by: Julien Robert <[email protected]>

* fix(runtime): fix option order (backport cosmos#21769) (cosmos#21771)

Co-authored-by: Julien Robert <[email protected]>

* chore: prepare v0.50.10 (cosmos#21498)

* feat(x/tx): add `aminoNameAsTypeURL` option in aminojson encoder (backport cosmos#21712) (cosmos#21798)

Co-authored-by: Julien Robert <[email protected]>

* feat(client/v2): use x/tx `AminoNameAsTypeURL` option in 0.50 (cosmos#21801)

* feat(testutil/integration): allow to pass baseapp options (backport cosmos#21816) (cosmos#21818)

Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* chore: correct date cl v0.50.10 (cosmos#21832)

* feat(crypto/keyring): add Linux's keyctl support (backport cosmos#21653) (cosmos#21840)

Co-authored-by: Alessio Treglia <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(x/staking): query redelegation command (backport cosmos#21856) (cosmos#21861)

Co-authored-by: Akhil Kumar P <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore(docs): rename merlin to simapp (backport cosmos#21884) (cosmos#21886)

Co-authored-by: Marko <[email protected]>
Co-authored-by: marbar3778 <[email protected]>

* fix(cli): avoid id isn't supported error when query address-by-acc-num (backport cosmos#21919) (cosmos#21922)

Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(sims): Skip sims test when running dry on validators (backport cosmos#21906) (cosmos#21910)

Co-authored-by: Alexander Peters <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(client/v2): correctly handle enhanced sub commands (backport cosmos#21809) (cosmos#21930)

Co-authored-by: John Letey <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* feat(client/v2): improve error message on enums (backport cosmos#21936) (cosmos#21938)

Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore: regenerate addrbook.json for in-place-testnet (backport cosmos#21941) (cosmos#21947)

Co-authored-by: Adam Tucker <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* docs: update gov docs (backport cosmos#22048) (cosmos#22050)

* docs(keys): remove unsupported `--dry-run` flag description for `keys migrate` (backport cosmos#22057) (cosmos#22070)

Co-authored-by: tutufen <[email protected]>

* chore: Revert "docs: update gov docs (backport cosmos#22048)" (cosmos#22064)

* docs(x/genutil): fix `genesis migrate` command examples (backport cosmos#22090) (cosmos#22097)

Co-authored-by: tutufen <[email protected]>

* chore(simapp): be consistent with runtime (cosmos#22203)

* docs: add docs boilerplate (backport cosmos#22202) (cosmos#22210)

Co-authored-by: Julien Robert <[email protected]>

* fix(x/tx): sort with oneof field name in amino-json (backport cosmos#21782) (cosmos#22228)

Co-authored-by: Luis Carvalho <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* chore(x/group): update supported flags (backport cosmos#22229) (cosmos#22231)

Co-authored-by: Julien Robert <[email protected]>

* fix(x/group): proper address rendering in error (backport cosmos#22425) (cosmos#22432)

Co-authored-by: Julien Robert <[email protected]>

* feat(client/v2): add keyring flags in query commands (backport cosmos#22443) (cosmos#22445)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump cosmossdk.io/depinject from 1.0.0 to 1.1.0 (cosmos#22463)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sontrinh16 <[email protected]>

* build(deps): Bump actions/xxx-artifact from v3 to v4 (cosmos#22473)

* fix(server): fix fallback genesis path (backport cosmos#22564) (cosmos#22573)

Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump cosmossdk.io/math from 1.3.0 to 1.4.0 (cosmos#22607)

* fix(client/v2/autocli): prevent duplicate addition of customCommands (backport cosmos#22576) (cosmos#22615)

Co-authored-by: violet <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cosmos/cosmos-db from 1.0.2 to 1.1.0 (cosmos#22638)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <[email protected]>

* build(deps): Bump github.com/cosmos/iavl from 1.2.0 to 1.2.2 (cosmos#22662)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Julien Robert <[email protected]>

* chore: prepare v0.50.11 (cosmos#22643)

* fix(client/v2/autocli): add CoinDec flag (backport cosmos#22817) (cosmos#22821)

Co-authored-by: Julián Toledano <[email protected]>
Co-authored-by: Julien Robert <[email protected]>

* fix(x/tx): fix amino json drift from legacy spec (backport cosmos#21825) (cosmos#22088)

* build(deps): Bump cosmossdk.io/x/tx from 0.13.6-0.20241003112805-ff8789a02871 to 0.13.6 (cosmos#22844)

Co-authored-by: Julien Robert <[email protected]>

* chore: edit changelog store (partial backport cosmos#22864) (cosmos#22884)

Co-authored-by: Julien Robert <[email protected]>

* Merge commit from fork

* Limit recursion depth for unknown field detection

(cherry picked from commit f038dc731c55be1e1c526e67695acc358631afd6)

* Limit unpack any

(cherry picked from commit 1a2bff56fb7391f9ce87d4fbe9e0367ae991c0b2)

* Update Changelog

* Another limit recursion depth for unknown field detection

* Update changelog

* chore: prep v0.50.11 release notes (cosmos#22898)

* Mark v0.50.11-pio-1 in the changelog.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: sontrinh16 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mmsqe <[email protected]>
Co-authored-by: marbar3778 <[email protected]>
Co-authored-by: Richard Gibson <[email protected]>
Co-authored-by: Julien Robert <[email protected]>
Co-authored-by: Cool Developer <[email protected]>
Co-authored-by: Aryan Tikarya <[email protected]>
Co-authored-by: Kien <[email protected]>
Co-authored-by: yihuang <[email protected]>
Co-authored-by: Tom <[email protected]>
Co-authored-by: Lucas Francisco López <[email protected]>
Co-authored-by: Facundo Medica <[email protected]>
Co-authored-by: samricotta <[email protected]>
Co-authored-by: Reece Williams <[email protected]>
Co-authored-by: Leon <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: John Letey <[email protected]>
Co-authored-by: beer-1 <[email protected]>
Co-authored-by: Shude Li <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: tianyeyouyou <[email protected]>
Co-authored-by: cocoyeal <[email protected]>
Co-authored-by: PolyMa <[email protected]>
Co-authored-by: Sergio Mena <[email protected]>
Co-authored-by: Hieu Vu <[email protected]>
Co-authored-by: Facundo <[email protected]>
Co-authored-by: Chenqun Lu <[email protected]>
Co-authored-by: Christoph Otter <[email protected]>
Co-authored-by: Adam Tucker <[email protected]>
Co-authored-by: KI <[email protected]>
Co-authored-by: MSalopek <[email protected]>
Co-authored-by: dropbigfish <[email protected]>
Co-authored-by: Reece Williams <[email protected]>
Co-authored-by: lilasxie <[email protected]>
Co-authored-by: Eric Mokaya <[email protected]>
Co-authored-by: Akhil Kumar P <[email protected]>
Co-authored-by: John Letey <[email protected]>
Co-authored-by: Alessio Treglia <[email protected]>
Co-authored-by: Alexander Peters <[email protected]>
Co-authored-by: tutufen <[email protected]>
Co-authored-by: Luis Carvalho <[email protected]>
Co-authored-by: auricom <[email protected]>
Co-authored-by: violet <[email protected]>
Co-authored-by: Julián Toledano <[email protected]>
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.

[Bug]: AutoCli cannot serialize Coin positional args
3 participants