@@ -4,27 +4,30 @@ import (
44 "fmt"
55
66 sdk "github.com/cosmos/cosmos-sdk/types"
7+ "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
78)
89
910// ensure Msg interface compliance at compile time
1011var (
11- _ sdk.Msg = & MsgEditInflationParams {}
12- _ sdk.Msg = & MsgToggleInflation {}
12+ _ legacytx.LegacyMsg = & MsgEditInflationParams {}
13+ _ legacytx.LegacyMsg = & MsgToggleInflation {}
14+ _ legacytx.LegacyMsg = & MsgBurn {}
1315)
1416
1517// oracle message types
1618const (
1719 TypeMsgEditInflationParams = "edit_inflation_params"
1820 TypeMsgToggleInflation = "toggle_inflation"
21+ TypeMsgBurn = "msg_burn"
1922)
2023
21- // Route implements sdk.Msg
24+ // Route implements legacytx.LegacyMsg
2225func (msg MsgEditInflationParams ) Route () string { return RouterKey }
2326
24- // Type implements sdk.Msg
27+ // Type implements legacytx.LegacyMsg
2528func (msg MsgEditInflationParams ) Type () string { return TypeMsgEditInflationParams }
2629
27- // GetSignBytes implements sdk.Msg
30+ // GetSignBytes implements legacytx.LegacyMsg
2831func (msg MsgEditInflationParams ) GetSignBytes () []byte {
2932 return sdk .MustSortJSON (ModuleCdc .MustMarshalJSON (& msg ))
3033}
@@ -75,13 +78,13 @@ func (m MsgEditInflationParams) ValidateBasic() error {
7578
7679// -------------------------------------------------
7780// MsgToggleInflation
78- // Route implements sdk.Msg
81+ // Route implements legacytx.LegacyMsg
7982func (msg MsgToggleInflation ) Route () string { return RouterKey }
8083
81- // Type implements sdk.Msg
84+ // Type implements legacytx.LegacyMsg
8285func (msg MsgToggleInflation ) Type () string { return TypeMsgToggleInflation }
8386
84- // GetSignBytes implements sdk.Msg
87+ // GetSignBytes implements legacytx.LegacyMsg
8588func (msg MsgToggleInflation ) GetSignBytes () []byte {
8689 return sdk .MustSortJSON (ModuleCdc .MustMarshalJSON (& msg ))
8790}
@@ -102,3 +105,42 @@ func (m MsgToggleInflation) ValidateBasic() error {
102105 }
103106 return nil
104107}
108+
109+ // -------------------------------------------------
110+ // MsgBurn
111+ // Route implements legacytx.LegacyMsg
112+ func (msg MsgBurn ) Route () string { return RouterKey }
113+
114+ // Type implements legacytx.LegacyMsg
115+ func (msg MsgBurn ) Type () string { return TypeMsgBurn }
116+
117+ // GetSignBytes implements legacytx.LegacyMsg
118+ func (msg MsgBurn ) GetSignBytes () []byte {
119+ return sdk .MustSortJSON (ModuleCdc .MustMarshalJSON (& msg ))
120+ }
121+
122+ // GetSigners implements legacytx.LegacyMsg
123+ func (msg MsgBurn ) GetSigners () []sdk.AccAddress {
124+ feeder , err := sdk .AccAddressFromBech32 (msg .Sender )
125+ if err != nil {
126+ panic (err )
127+ }
128+
129+ return []sdk.AccAddress {feeder }
130+ }
131+
132+ func (m MsgBurn ) ValidateBasic () error {
133+ if _ , err := sdk .AccAddressFromBech32 (m .Sender ); err != nil {
134+ return err
135+ }
136+
137+ if err := m .Coin .Validate (); err != nil {
138+ return err
139+ }
140+
141+ if m .Coin .Amount .IsZero () {
142+ return fmt .Errorf ("coin amount should not be zero" )
143+ }
144+
145+ return nil
146+ }
0 commit comments