From e9545d69ed0b692fefb19ba7c8f78039d3095f89 Mon Sep 17 00:00:00 2001 From: ValarDragon Date: Thu, 31 May 2018 11:51:15 -0700 Subject: [PATCH] Switch the default modules to use wire.codec's MarshalJSON instead of json.Marshal --- x/auth/msgs.go | 4 +--- x/auth/stdtx.go | 6 ++---- x/auth/wire.go | 6 ++++++ x/bank/client/rest/sendtx.go | 9 ++++++++- x/bank/msgs.go | 6 ++---- x/bank/msgs_test.go | 6 ++---- x/bank/wire.go | 8 ++++---- x/stake/msg.go | 15 +++------------ x/stake/params.go | 4 ++-- x/stake/pool.go | 4 ++-- x/stake/wire.go | 6 +++++- 11 files changed, 37 insertions(+), 37 deletions(-) diff --git a/x/auth/msgs.go b/x/auth/msgs.go index c449b837b..3eb5cc8ba 100644 --- a/x/auth/msgs.go +++ b/x/auth/msgs.go @@ -1,8 +1,6 @@ package auth import ( - "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" crypto "github.com/tendermint/go-crypto" ) @@ -30,7 +28,7 @@ func (msg MsgChangeKey) ValidateBasic() sdk.Error { // Implements Msg. func (msg MsgChangeKey) GetSignBytes() []byte { - b, err := json.Marshal(msg) // XXX: ensure some canonical form + b, err := msgCdc.MarshalJSON(msg) // XXX: ensure some canonical form if err != nil { panic(err) } diff --git a/x/auth/stdtx.go b/x/auth/stdtx.go index bc01b0149..4858ae0b4 100644 --- a/x/auth/stdtx.go +++ b/x/auth/stdtx.go @@ -1,8 +1,6 @@ package auth import ( - "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" crypto "github.com/tendermint/go-crypto" ) @@ -70,7 +68,7 @@ func (fee StdFee) Bytes() []byte { if len(fee.Amount) == 0 { fee.Amount = sdk.Coins{} } - bz, err := json.Marshal(fee) // TODO + bz, err := msgCdc.MarshalJSON(fee) // TODO if err != nil { panic(err) } @@ -95,7 +93,7 @@ type StdSignDoc struct { // StdSignBytes returns the bytes to sign for a transaction. // TODO: change the API to just take a chainID and StdTx ? func StdSignBytes(chainID string, sequences []int64, fee StdFee, msg sdk.Msg) []byte { - bz, err := json.Marshal(StdSignDoc{ + bz, err := msgCdc.MarshalJSON(StdSignDoc{ ChainID: chainID, Sequences: sequences, FeeBytes: fee.Bytes(), diff --git a/x/auth/wire.go b/x/auth/wire.go index 42b34b96d..12778bb39 100644 --- a/x/auth/wire.go +++ b/x/auth/wire.go @@ -10,3 +10,9 @@ func RegisterWire(cdc *wire.Codec) { cdc.RegisterConcrete(&BaseAccount{}, "auth/Account", nil) cdc.RegisterConcrete(MsgChangeKey{}, "auth/ChangeKey", nil) } + +var msgCdc = wire.NewCodec() + +func init() { + RegisterWire(msgCdc) +} diff --git a/x/bank/client/rest/sendtx.go b/x/bank/client/rest/sendtx.go index 6ce472b6f..4d957c16f 100644 --- a/x/bank/client/rest/sendtx.go +++ b/x/bank/client/rest/sendtx.go @@ -12,6 +12,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/context" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/wire" + "github.com/cosmos/cosmos-sdk/x/bank" "github.com/cosmos/cosmos-sdk/x/bank/client" ) @@ -30,6 +31,12 @@ type sendBody struct { Sequence int64 `json:"sequence"` } +var msgCdc = wire.NewCodec() + +func init() { + bank.RegisterWire(msgCdc) +} + // SendRequestHandlerFn - http request handler to send coins to a address func SendRequestHandlerFn(cdc *wire.Codec, kb keys.Keybase, ctx context.CoreContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { @@ -44,7 +51,7 @@ func SendRequestHandlerFn(cdc *wire.Codec, kb keys.Keybase, ctx context.CoreCont w.Write([]byte(err.Error())) return } - err = json.Unmarshal(body, &m) + err = msgCdc.UnmarshalJSON(body, &m) if err != nil { w.WriteHeader(http.StatusBadRequest) w.Write([]byte(err.Error())) diff --git a/x/bank/msgs.go b/x/bank/msgs.go index c256b6de6..7836056de 100644 --- a/x/bank/msgs.go +++ b/x/bank/msgs.go @@ -53,8 +53,7 @@ func (msg MsgSend) ValidateBasic() sdk.Error { // Implements Msg. func (msg MsgSend) GetSignBytes() []byte { - cdc := getCodec() - b, err := cdc.MarshalJSON(msg) // XXX: ensure some canonical form + b, err := msgCdc.MarshalJSON(msg) // XXX: ensure some canonical form if err != nil { panic(err) } @@ -103,8 +102,7 @@ func (msg MsgIssue) ValidateBasic() sdk.Error { // Implements Msg. func (msg MsgIssue) GetSignBytes() []byte { - cdc := getCodec() - b, err := cdc.MarshalJSON(msg) // XXX: ensure some canonical form + b, err := msgCdc.MarshalJSON(msg) // XXX: ensure some canonical form if err != nil { panic(err) } diff --git a/x/bank/msgs_test.go b/x/bank/msgs_test.go index fd1992e3c..8f9791c8d 100644 --- a/x/bank/msgs_test.go +++ b/x/bank/msgs_test.go @@ -187,9 +187,8 @@ func TestMsgSendGetSignBytes(t *testing.T) { } res := msg.GetSignBytes() - cdc := getCodec() unmarshaledMsg := &MsgSend{} - cdc.UnmarshalJSON(res, unmarshaledMsg) + msgCdc.UnmarshalJSON(res, unmarshaledMsg) assert.Equal(t, &msg, unmarshaledMsg) // TODO bad results @@ -263,9 +262,8 @@ func TestMsgIssueGetSignBytes(t *testing.T) { } res := msg.GetSignBytes() - cdc := getCodec() unmarshaledMsg := &MsgIssue{} - cdc.UnmarshalJSON(res, unmarshaledMsg) + msgCdc.UnmarshalJSON(res, unmarshaledMsg) assert.Equal(t, &msg, unmarshaledMsg) // TODO bad results diff --git a/x/bank/wire.go b/x/bank/wire.go index 49511ef0e..f468d3e53 100644 --- a/x/bank/wire.go +++ b/x/bank/wire.go @@ -10,8 +10,8 @@ func RegisterWire(cdc *wire.Codec) { cdc.RegisterConcrete(MsgIssue{}, "cosmos-sdk/Issue", nil) } -func getCodec() *wire.Codec { - cdc := wire.NewCodec() - RegisterWire(cdc) - return cdc +var msgCdc = wire.NewCodec() + +func init() { + RegisterWire(msgCdc) } diff --git a/x/stake/msg.go b/x/stake/msg.go index 0adff84d9..a4d47c768 100644 --- a/x/stake/msg.go +++ b/x/stake/msg.go @@ -1,10 +1,7 @@ package stake import ( - "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/wire" crypto "github.com/tendermint/go-crypto" ) @@ -20,12 +17,6 @@ const StakingToken = "steak" //Verify interface at compile time var _, _, _, _ sdk.Msg = &MsgDeclareCandidacy{}, &MsgEditCandidacy{}, &MsgDelegate{}, &MsgUnbond{} -var msgCdc = wire.NewCodec() - -func init() { - wire.RegisterCrypto(msgCdc) -} - //______________________________________________________________________ // MsgDeclareCandidacy - struct for unbonding transactions @@ -94,7 +85,7 @@ func (msg MsgEditCandidacy) GetSigners() []sdk.Address { return []sdk.Address{ms // get the bytes for the message signer to sign on func (msg MsgEditCandidacy) GetSignBytes() []byte { - b, err := json.Marshal(msg) + b, err := msgCdc.MarshalJSON(msg) if err != nil { panic(err) } @@ -136,7 +127,7 @@ func (msg MsgDelegate) GetSigners() []sdk.Address { return []sdk.Address{msg.Del // get the bytes for the message signer to sign on func (msg MsgDelegate) GetSignBytes() []byte { - b, err := json.Marshal(msg) + b, err := msgCdc.MarshalJSON(msg) if err != nil { panic(err) } @@ -183,7 +174,7 @@ func (msg MsgUnbond) GetSigners() []sdk.Address { return []sdk.Address{msg.Deleg // get the bytes for the message signer to sign on func (msg MsgUnbond) GetSignBytes() []byte { - b, err := json.Marshal(msg) + b, err := msgCdc.MarshalJSON(msg) if err != nil { panic(err) } diff --git a/x/stake/params.go b/x/stake/params.go index 32b8c0ae8..d1e623658 100644 --- a/x/stake/params.go +++ b/x/stake/params.go @@ -18,8 +18,8 @@ type Params struct { } func (p Params) equal(p2 Params) bool { - bz1 := cdcEmpty.MustMarshalBinary(&p) - bz2 := cdcEmpty.MustMarshalBinary(&p2) + bz1 := msgCdc.MustMarshalBinary(&p) + bz2 := msgCdc.MustMarshalBinary(&p2) return bytes.Equal(bz1, bz2) } diff --git a/x/stake/pool.go b/x/stake/pool.go index e2547b050..44cb24652 100644 --- a/x/stake/pool.go +++ b/x/stake/pool.go @@ -25,8 +25,8 @@ type Pool struct { } func (p Pool) equal(p2 Pool) bool { - bz1 := cdcEmpty.MustMarshalBinary(&p) - bz2 := cdcEmpty.MustMarshalBinary(&p2) + bz1 := msgCdc.MustMarshalBinary(&p) + bz2 := msgCdc.MustMarshalBinary(&p2) return bytes.Equal(bz1, bz2) } diff --git a/x/stake/wire.go b/x/stake/wire.go index 6e6e38260..b6df323c3 100644 --- a/x/stake/wire.go +++ b/x/stake/wire.go @@ -12,4 +12,8 @@ func RegisterWire(cdc *wire.Codec) { cdc.RegisterConcrete(MsgUnbond{}, "cosmos-sdk/MsgUnbond", nil) } -var cdcEmpty = wire.NewCodec() +var msgCdc = wire.NewCodec() + +func init() { + wire.RegisterCrypto(msgCdc) +}