From 829f0f32fcc92234318864b9536846e2f20cc022 Mon Sep 17 00:00:00 2001 From: mossid Date: Thu, 15 Mar 2018 13:49:18 +0100 Subject: [PATCH] Revert "in progress: wire -> json for now" This reverts commit 25f01a3e1240dcbdb0a195f75e0fedcdfa844e1f. --- x/ibc/commands/helpers.go | 9 ++++++--- x/ibc/commands/relay.go | 13 ++++++------- x/ibc/commands/root.go | 16 ---------------- x/ibc/commands/send.go | 17 ++++------------- x/ibc/mapper.go | 24 ++++++++++++------------ x/ibc/types.go | 34 ++++++++++------------------------ x/ibc/wire.go | 11 ----------- 7 files changed, 38 insertions(+), 86 deletions(-) delete mode 100644 x/ibc/commands/root.go delete mode 100644 x/ibc/wire.go diff --git a/x/ibc/commands/helpers.go b/x/ibc/commands/helpers.go index 590fb8b5d5..83ae76a90b 100644 --- a/x/ibc/commands/helpers.go +++ b/x/ibc/commands/helpers.go @@ -8,15 +8,17 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/keys" sdk "github.com/cosmos/cosmos-sdk/types" - wire "github.com/tendermint/go-amino" + wire "github.com/cosmos/cosmos-sdk/wire" ) -func buildTx(cdc *wire.Codec, msg sdk.Msg, name string) ([]byte, error) { +func buildTx(cdc *wire.Codec, msg sdk.Msg) ([]byte, error) { keybase, err := keys.GetKeyBase() if err != nil { return nil, err } + name := viper.GetString(client.FlagName) + bz := msg.GetSignBytes() buf := client.BufferStdin() prompt := fmt.Sprintf("Password to sign with '%s':", name) @@ -43,12 +45,13 @@ func buildTx(cdc *wire.Codec, msg sdk.Msg, name string) ([]byte, error) { return txBytes, nil } -func getAddress(name string) []byte { +func getAddress() []byte { keybase, err := keys.GetKeyBase() if err != nil { panic(err) } + name := viper.GetString(client.FlagName) info, err := keybase.Get(name) if err != nil { panic(err) diff --git a/x/ibc/commands/relay.go b/x/ibc/commands/relay.go index 2fe5cf0333..5d1cf76ca4 100644 --- a/x/ibc/commands/relay.go +++ b/x/ibc/commands/relay.go @@ -10,7 +10,7 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/builder" - wire "github.com/tendermint/go-amino" + wire "github.com/cosmos/cosmos-sdk/wire" "github.com/cosmos/cosmos-sdk/x/ibc" ) @@ -22,7 +22,9 @@ func IBCRelayCmd(cdc *wire.Codec) *cobra.Command { Use: "relay", Run: cmdr.runIBCRelay, } - cmd.Flags().String(client.FlagName, "", "Name of the key to sign") + cmd.Flags().String(flagTo, "", "Address to send coins") + cmd.Flags().String(flagAmount, "", "Amount of coins to send") + cmd.Flags().Int64(flagSequence, 0, "Sequence number to sign the tx") return cmd } @@ -62,16 +64,13 @@ func (c relayCommander) refine(bz []byte, sequence int64) []byte { if err := c.cdc.UnmarshalBinary(bz, &packet); err != nil { panic(err) } - - name := viper.GetString(client.FlagName) - - address := getAddress(name) + address := getAddress() msg := ibc.IBCReceiveMsg{ IBCPacket: packet, Relayer: address, Sequence: sequence, } - res, err := buildTx(c.cdc, msg, name) + res, err := buildTx(c.cdc, msg) if err != nil { panic(err) } diff --git a/x/ibc/commands/root.go b/x/ibc/commands/root.go deleted file mode 100644 index 0011f11f26..0000000000 --- a/x/ibc/commands/root.go +++ /dev/null @@ -1,16 +0,0 @@ -package commands - -import ( - "github.com/spf13/cobra" - - wire "github.com/tendermint/go-amino" -) - -func AddCommands(cmd *cobra.Command) { - cdc := wire.NewCodec() - - cmd.AddCommand( - IBCTransferCmd(cdc), - IBCRelayCmd(cdc), - ) -} diff --git a/x/ibc/commands/send.go b/x/ibc/commands/send.go index d6737219c2..ab4be359c5 100644 --- a/x/ibc/commands/send.go +++ b/x/ibc/commands/send.go @@ -11,7 +11,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/builder" sdk "github.com/cosmos/cosmos-sdk/types" - // wire "github.com/tendermint/go-amino" + wire "github.com/cosmos/cosmos-sdk/wire" "github.com/cosmos/cosmos-sdk/x/ibc" ) @@ -20,19 +20,12 @@ func IBCTransferCmd(cdc *wire.Codec) *cobra.Command { cmdr := sendCommander{cdc} cmd := &cobra.Command{ - Use: "transfer", + Use: "send", RunE: cmdr.runIBCTransfer, } cmd.Flags().String(flagTo, "", "Address to send coins") cmd.Flags().String(flagAmount, "", "Amount of coins to send") cmd.Flags().String(flagChain, "", "Destination chain to send coins") - viper.BindPFlag(flagTo, cmd.Flags().Lookup(flagTo)) - viper.BindPFlag(flagAmount, cmd.Flags().Lookup(flagAmount)) - viper.BindPFlag(flagChain, cmd.Flags().Lookup(flagChain)) - cmd.MarkFlagRequired(flagTo) - cmd.MarkFlagRequired(flagAmount) - cmd.MarkFlagRequired(flagChain) - return cmd } @@ -41,15 +34,13 @@ type sendCommander struct { } func (c sendCommander) runIBCTransfer(cmd *cobra.Command, args []string) error { - keyname := viper.GetString(client.FlagName) - - address := getAddress(keyname) + address := getAddress() msg, err := buildMsg(address) if err != nil { return err } - txBytes, err := buildTx(c.cdc, msg, keyname) + txBytes, err := buildTx(c.cdc, msg) if err != nil { return err } diff --git a/x/ibc/mapper.go b/x/ibc/mapper.go index d710c8c00c..e035823225 100644 --- a/x/ibc/mapper.go +++ b/x/ibc/mapper.go @@ -1,25 +1,25 @@ package ibc import ( - "encoding/json" "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - //wire "github.com/cosmos/cosmos-sdk/wire" + + wire "github.com/cosmos/cosmos-sdk/wire" ) type IBCMapper struct { ibcKey sdk.StoreKey - // cdc *wire.Codec + cdc *wire.Codec } func NewIBCMapper(ibcKey sdk.StoreKey) IBCMapper { - // cdc := wire.NewCodec() + cdc := wire.NewCodec() return IBCMapper{ ibcKey: ibcKey, - // cdc: cdc, + cdc: cdc, } } @@ -38,7 +38,7 @@ func EgressLengthKey(destChain string) []byte { func (ibcm IBCMapper) getEgressLength(store sdk.KVStore, destChain string) int64 { bz := store.Get(EgressLengthKey(destChain)) if bz == nil { - zero, err := json.Marshal(int64(0)) //ibcm.cdc.MarshalBinary(int64(0)) + zero, err := ibcm.cdc.MarshalBinary(int64(0)) if err != nil { panic(err) } @@ -46,7 +46,7 @@ func (ibcm IBCMapper) getEgressLength(store sdk.KVStore, destChain string) int64 return 0 } var res int64 - if err := json.Unmarshal(bz, &res); /*ibcm.cdc.UnmarshalBinary(bz, &res)*/ err != nil { + if err := ibcm.cdc.UnmarshalBinary(bz, &res); err != nil { panic(err) } return res @@ -56,7 +56,7 @@ func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64 store := ctx.KVStore(ibcm.ibcKey) bz := store.Get(IngressKey(srcChain)) if bz == nil { - zero, err := json.Marshal(int64(0)) //ibcm.cdc.MarshalBinary(int64(0)) + zero, err := ibcm.cdc.MarshalBinary(int64(0)) if err != nil { panic(err) } @@ -64,7 +64,7 @@ func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64 return 0 } var res int64 - if err := json.Unmarshal(bz, &res); /*ibcm.cdc.UnmarshalBinary(bz, &res)*/ err != nil { + if err := ibcm.cdc.UnmarshalBinary(bz, &res); err != nil { panic(err) } return res @@ -72,7 +72,7 @@ func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64 func (ibcm IBCMapper) SetIngressSequence(ctx sdk.Context, srcChain string, sequence int64) { store := ctx.KVStore(ibcm.ibcKey) - bz, err := json.Marshal(sequence) // ibcm.cdc.MarshalBinary(sequence) + bz, err := ibcm.cdc.MarshalBinary(sequence) if err != nil { panic(err) } @@ -82,12 +82,12 @@ func (ibcm IBCMapper) SetIngressSequence(ctx sdk.Context, srcChain string, seque func (ibcm IBCMapper) PushPacket(ctx sdk.Context, packet IBCPacket) { store := ctx.KVStore(ibcm.ibcKey) len := ibcm.getEgressLength(store, packet.DestChain) - packetbz, err := json.Marshal(packet) // ibcm.cdc.MarshalBinary(packet) + packetbz, err := ibcm.cdc.MarshalBinary(packet) if err != nil { panic(err) } store.Set(EgressKey(packet.DestChain, len), packetbz) - lenbz, err := json.Marshal(int64(len + 1)) // ibcm.cdc.MarshalBinary(int64(len + 1)) + lenbz, err := ibcm.cdc.MarshalBinary(int64(len + 1)) if err != nil { panic(err) } diff --git a/x/ibc/types.go b/x/ibc/types.go index e76d8f3a23..9156bd02a3 100644 --- a/x/ibc/types.go +++ b/x/ibc/types.go @@ -1,10 +1,9 @@ package ibc import ( - "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" - //wire "github.com/tendermint/go-amino" + + wire "github.com/cosmos/cosmos-sdk/wire" ) type IBCPacket struct { @@ -15,17 +14,16 @@ type IBCPacket struct { DestChain string } -/* func newCodec() *wire.Codec { return wire.NewCodec() } -*/ + type IBCTransferMsg struct { IBCPacket } func (msg IBCTransferMsg) Type() string { - return "ibc" + return "ibctransfer" } func (msg IBCTransferMsg) Get(key interface{}) interface{} { @@ -33,18 +31,12 @@ func (msg IBCTransferMsg) Get(key interface{}) interface{} { } func (msg IBCTransferMsg) GetSignBytes() []byte { - /* cdc := newCodec() - bz, err := cdc.MarshalBinary(msg.IBCPacket) - if err != nil { - panic(err) - } - return bz*/ - res, err := json.Marshal(msg) + cdc := newCodec() + bz, err := cdc.MarshalBinary(msg.IBCPacket) if err != nil { panic(err) } - - return res + return bz } func (msg IBCTransferMsg) ValidateBasic() sdk.Error { @@ -63,7 +55,7 @@ type IBCReceiveMsg struct { } func (msg IBCReceiveMsg) Type() string { - return "ibc" + return "ibcreceive" } func (msg IBCReceiveMsg) Get(key interface{}) interface{} { @@ -71,18 +63,12 @@ func (msg IBCReceiveMsg) Get(key interface{}) interface{} { } func (msg IBCReceiveMsg) GetSignBytes() []byte { - /*cdc := newCodec() + cdc := newCodec() bz, err := cdc.MarshalBinary(msg.IBCPacket) if err != nil { panic(err) } - return bz*/ - res, err := json.Marshal(msg) - if err != nil { - panic(err) - } - - return res + return bz } func (msg IBCReceiveMsg) ValidateBasic() sdk.Error { diff --git a/x/ibc/wire.go b/x/ibc/wire.go deleted file mode 100644 index ec11064573..0000000000 --- a/x/ibc/wire.go +++ /dev/null @@ -1,11 +0,0 @@ -package ibc - -import ( - wire "github.com/tendermint/go-amino" -) - -func RegisterWire(cdc *wire.Codec) { - cdc.RegisterConcrete(IBCTransferMsg{}, "cosmos-sdk/IBCTransferMsg", nil) - cdc.RegisterConcrete(IBCReceiveMsg{}, "cosmos-sdk/IBCReceiveMsg", nil) - cdc.RegisterConcrete(IBCPacket{}, "cosmos-sdk/IBCPacket", nil) -}