Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
parent
3ecd14336d
commit
1aa3a284d7
@ -45,7 +45,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
### Improvements
|
||||
|
||||
* [#21712](https://github.com/cosmos/cosmos-sdk/pull/21712) Marshal `type` field as proto message url in queries instead of amino name.
|
||||
* [#21936](https://github.com/cosmos/cosmos-sdk/pull/21936) Print possible enum values in error message after an invalid input was provided.
|
||||
|
||||
### API Breaking Changes
|
||||
|
||||
@ -53,6 +53,16 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#21853](https://github.com/cosmos/cosmos-sdk/pull/21853) Fix `*big.Int` unmarshalling in txs.
|
||||
|
||||
## [v2.0.0-beta.5] - 2024-09-18
|
||||
|
||||
### Improvements
|
||||
|
||||
* [#21712](https://github.com/cosmos/cosmos-sdk/pull/21712) Marshal `type` field as proto message url in queries instead of amino name.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* [#20964](https://github.com/cosmos/cosmos-sdk/pull/20964) Fix `GetNodeHomeDirectory` helper in `client/v2/helpers` to respect the `(PREFIX)_HOME` environment variable.
|
||||
|
||||
## [v2.0.0-beta.3] - 2024-07-15
|
||||
|
||||
@ -26,6 +26,7 @@ const (
|
||||
ValidatorAddressStringScalarType = "cosmos.ValidatorAddressString"
|
||||
ConsensusAddressStringScalarType = "cosmos.ConsensusAddressString"
|
||||
PubkeyScalarType = "cosmos.Pubkey"
|
||||
DecScalarType = "cosmos.Dec"
|
||||
)
|
||||
|
||||
// Builder manages options for building pflag flags for protobuf messages.
|
||||
@ -67,6 +68,7 @@ func (b *Builder) init() {
|
||||
b.scalarFlagTypes[ValidatorAddressStringScalarType] = validatorAddressStringType{}
|
||||
b.scalarFlagTypes[ConsensusAddressStringScalarType] = consensusAddressStringType{}
|
||||
b.scalarFlagTypes[PubkeyScalarType] = pubkeyType{}
|
||||
b.scalarFlagTypes[DecScalarType] = decType{}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
48
client/v2/autocli/flag/legacy_dec.go
Normal file
48
client/v2/autocli/flag/legacy_dec.go
Normal file
@ -0,0 +1,48 @@
|
||||
package flag
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
|
||||
"cosmossdk.io/math"
|
||||
)
|
||||
|
||||
type decType struct{}
|
||||
|
||||
func (a decType) NewValue(_ *context.Context, _ *Builder) Value {
|
||||
return &decValue{}
|
||||
}
|
||||
|
||||
func (a decType) DefaultValue() string {
|
||||
return "0"
|
||||
}
|
||||
|
||||
type decValue struct {
|
||||
value string
|
||||
}
|
||||
|
||||
func (a decValue) Get(protoreflect.Value) (protoreflect.Value, error) {
|
||||
return protoreflect.ValueOf(a.value), nil
|
||||
}
|
||||
|
||||
func (a decValue) String() string {
|
||||
return a.value
|
||||
}
|
||||
|
||||
func (a *decValue) Set(s string) error {
|
||||
dec, err := math.LegacyNewDecFromStr(s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// we need to convert from float representation to non-float representation using default precision
|
||||
// 0.5 -> 500000000000000000
|
||||
a.value = dec.BigInt().String()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a decValue) Type() string {
|
||||
return "cosmos.Dec"
|
||||
}
|
||||
@ -112,7 +112,7 @@ var marshalOption = proto.MarshalOptions{
|
||||
func (w *builder) getTx() (*gogoTxWrapper, error) {
|
||||
anyMsgs, err := msgsV1toAnyV2(w.msgs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unable to convert messages: %w", err)
|
||||
}
|
||||
body := &txv1beta1.TxBody{
|
||||
Messages: anyMsgs,
|
||||
@ -136,12 +136,12 @@ func (w *builder) getTx() (*gogoTxWrapper, error) {
|
||||
|
||||
bodyBytes, err := marshalOption.Marshal(body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unable to marshal body: %w", err)
|
||||
}
|
||||
|
||||
authInfoBytes, err := marshalOption.Marshal(authInfo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unable to marshal auth info: %w", err)
|
||||
}
|
||||
|
||||
txRawBytes, err := marshalOption.Marshal(&txv1beta1.TxRaw{
|
||||
@ -150,12 +150,12 @@ func (w *builder) getTx() (*gogoTxWrapper, error) {
|
||||
Signatures: w.signatures,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unable to marshal tx raw: %w", err)
|
||||
}
|
||||
|
||||
decodedTx, err := w.decoder.Decode(txRawBytes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("unable to decode tx: %w", err)
|
||||
}
|
||||
|
||||
return newWrapperFromDecodedTx(w.addressCodec, w.codec, decodedTx)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user