Skip to content

Commit

Permalink
fix(statemachine)!: re-implement legacy msg interface (#3907)
Browse files Browse the repository at this point in the history
(cherry picked from commit f2b2249)

# Conflicts:
#	modules/apps/29-fee/types/msgs.go
#	modules/apps/transfer/types/msgs.go
  • Loading branch information
Carlos Rodriguez authored and mergify[bot] committed Jun 22, 2023
1 parent 532929b commit d39d3cb
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 6 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ Ref: https://keepachangelog.com/en/1.0.0/

### State Machine Breaking

* [\#3907](https://github.com/cosmos/ibc-go/pull/3907) Re-implemented missing functions of `LegacyMsg` interface to fix transaction signing with ledger.

### Improvements

### Features
Expand Down
37 changes: 33 additions & 4 deletions modules/apps/29-fee/types/msgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,31 @@ import (
"strings"

sdk "github.com/cosmos/cosmos-sdk/types"
<<<<<<< HEAD
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
=======
legacytx "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
>>>>>>> f2b22491 (fix(statemachine)!: re-implement legacy msg interface (#3907))

channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types"
host "github.com/cosmos/ibc-go/v7/modules/core/24-host"
)

// msg types
const (
TypeMsgPayPacketFee = "payPacketFee"
TypeMsgPayPacketFeeAsync = "payPacketFeeAsync"
)

var (
_ sdk.Msg = (*MsgRegisterPayee)(nil)
_ sdk.Msg = (*MsgRegisterCounterpartyPayee)(nil)
_ sdk.Msg = (*MsgPayPacketFee)(nil)
_ sdk.Msg = (*MsgPayPacketFeeAsync)(nil)
_ legacytx.LegacyMsg = (*MsgPayPacketFee)(nil)
_ legacytx.LegacyMsg = (*MsgPayPacketFeeAsync)(nil)
)

// NewMsgRegisterPayee creates a new instance of MsgRegisterPayee
func NewMsgRegisterPayee(portID, channelID, relayerAddr, payeeAddr string) *MsgRegisterPayee {
return &MsgRegisterPayee{
Expand Down Expand Up @@ -148,12 +167,17 @@ func (msg MsgPayPacketFee) GetSigners() []sdk.AccAddress {
return []sdk.AccAddress{signer}
}

// Route implements sdk.Msg
// Type implements legacytx.LegacyMsg
func (msg MsgPayPacketFee) Type() string {
return TypeMsgPayPacketFee
}

// Route implements legacytx.LegacyMsg
func (msg MsgPayPacketFee) Route() string {
return RouterKey
}

// GetSignBytes implements sdk.Msg.
// GetSignBytes implements legacytx.LegacyMsg
func (msg MsgPayPacketFee) GetSignBytes() []byte {
return sdk.MustSortJSON(AminoCdc.MustMarshalJSON(&msg))
}
Expand Down Expand Up @@ -189,12 +213,17 @@ func (msg MsgPayPacketFeeAsync) GetSigners() []sdk.AccAddress {
return []sdk.AccAddress{signer}
}

// Route implements sdk.Msg
// Type implements legacytx.LegacyMsg
func (msg MsgPayPacketFeeAsync) Type() string {
return TypeMsgPayPacketFeeAsync
}

// Route implements legacytx.LegacyMsg
func (msg MsgPayPacketFeeAsync) Route() string {
return RouterKey
}

// GetSignBytes implements sdk.Msg.
// GetSignBytes implements legacytx.LegacyMsg
func (msg MsgPayPacketFeeAsync) GetSignBytes() []byte {
return sdk.MustSortJSON(AminoCdc.MustMarshalJSON(&msg))
}
55 changes: 53 additions & 2 deletions modules/apps/transfer/types/msgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,58 @@ import (
"strings"

sdk "github.com/cosmos/cosmos-sdk/types"
<<<<<<< HEAD
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
=======
legacytx "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
>>>>>>> f2b22491 (fix(statemachine)!: re-implement legacy msg interface (#3907))

clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types"
host "github.com/cosmos/ibc-go/v7/modules/core/24-host"
)

<<<<<<< HEAD
=======
// msg types
const (
TypeMsgTransfer = "transfer"
)

var (
_ sdk.Msg = (*MsgUpdateParams)(nil)
_ sdk.Msg = (*MsgTransfer)(nil)
_ legacytx.LegacyMsg = (*MsgTransfer)(nil)
)

// NewMsgUpdateParams creates a new MsgUpdateParams instance
func NewMsgUpdateParams(authority string, params Params) *MsgUpdateParams {
return &MsgUpdateParams{
Authority: authority,
Params: params,
}
}

// ValidateBasic implements sdk.Msg
func (msg MsgUpdateParams) ValidateBasic() error {
_, err := sdk.AccAddressFromBech32(msg.Authority)
if err != nil {
return errorsmod.Wrapf(ibcerrors.ErrInvalidAddress, "string could not be parsed as address: %v", err)
}

return nil
}

// GetSigners implements sdk.Msg
func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress {
accAddr, err := sdk.AccAddressFromBech32(msg.Authority)
if err != nil {
panic(err)
}

return []sdk.AccAddress{accAddr}
}

>>>>>>> f2b22491 (fix(statemachine)!: re-implement legacy msg interface (#3907))
// NewMsgTransfer creates a new MsgTransfer instance
//
//nolint:interfacer
Expand All @@ -31,7 +77,12 @@ func NewMsgTransfer(
}
}

// Route implements sdk.Msg
// Type implements legacytx.LegacyMsg
func (MsgTransfer) Type() string {
return TypeMsgTransfer
}

// Route implements legacytx.LegacyMsg
func (MsgTransfer) Route() string {
return RouterKey
}
Expand Down Expand Up @@ -64,7 +115,7 @@ func (msg MsgTransfer) ValidateBasic() error {
return ValidateIBCDenom(msg.Token.Denom)
}

// GetSignBytes implements sdk.Msg.
// GetSignBytes implements legacytx.LegacyMsg
func (msg MsgTransfer) GetSignBytes() []byte {
return sdk.MustSortJSON(AminoCdc.MustMarshalJSON(&msg))
}
Expand Down

0 comments on commit d39d3cb

Please sign in to comment.