Revert "in progress: wire -> json for now"
This reverts commit 25f01a3e12
.
This commit is contained in:
parent
a8b343a333
commit
829f0f32fc
|
@ -8,15 +8,17 @@ import (
|
||||||
"github.com/cosmos/cosmos-sdk/client"
|
"github.com/cosmos/cosmos-sdk/client"
|
||||||
"github.com/cosmos/cosmos-sdk/client/keys"
|
"github.com/cosmos/cosmos-sdk/client/keys"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
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()
|
keybase, err := keys.GetKeyBase()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
name := viper.GetString(client.FlagName)
|
||||||
|
|
||||||
bz := msg.GetSignBytes()
|
bz := msg.GetSignBytes()
|
||||||
buf := client.BufferStdin()
|
buf := client.BufferStdin()
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
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
|
return txBytes, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getAddress(name string) []byte {
|
func getAddress() []byte {
|
||||||
keybase, err := keys.GetKeyBase()
|
keybase, err := keys.GetKeyBase()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
name := viper.GetString(client.FlagName)
|
||||||
info, err := keybase.Get(name)
|
info, err := keybase.Get(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"github.com/cosmos/cosmos-sdk/client"
|
"github.com/cosmos/cosmos-sdk/client"
|
||||||
"github.com/cosmos/cosmos-sdk/client/builder"
|
"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"
|
"github.com/cosmos/cosmos-sdk/x/ibc"
|
||||||
)
|
)
|
||||||
|
@ -22,7 +22,9 @@ func IBCRelayCmd(cdc *wire.Codec) *cobra.Command {
|
||||||
Use: "relay",
|
Use: "relay",
|
||||||
Run: cmdr.runIBCRelay,
|
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
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,16 +64,13 @@ func (c relayCommander) refine(bz []byte, sequence int64) []byte {
|
||||||
if err := c.cdc.UnmarshalBinary(bz, &packet); err != nil {
|
if err := c.cdc.UnmarshalBinary(bz, &packet); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
address := getAddress()
|
||||||
name := viper.GetString(client.FlagName)
|
|
||||||
|
|
||||||
address := getAddress(name)
|
|
||||||
msg := ibc.IBCReceiveMsg{
|
msg := ibc.IBCReceiveMsg{
|
||||||
IBCPacket: packet,
|
IBCPacket: packet,
|
||||||
Relayer: address,
|
Relayer: address,
|
||||||
Sequence: sequence,
|
Sequence: sequence,
|
||||||
}
|
}
|
||||||
res, err := buildTx(c.cdc, msg, name)
|
res, err := buildTx(c.cdc, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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),
|
|
||||||
)
|
|
||||||
}
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
"github.com/cosmos/cosmos-sdk/client/builder"
|
"github.com/cosmos/cosmos-sdk/client/builder"
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
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"
|
"github.com/cosmos/cosmos-sdk/x/ibc"
|
||||||
)
|
)
|
||||||
|
@ -20,19 +20,12 @@ func IBCTransferCmd(cdc *wire.Codec) *cobra.Command {
|
||||||
cmdr := sendCommander{cdc}
|
cmdr := sendCommander{cdc}
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "transfer",
|
Use: "send",
|
||||||
RunE: cmdr.runIBCTransfer,
|
RunE: cmdr.runIBCTransfer,
|
||||||
}
|
}
|
||||||
cmd.Flags().String(flagTo, "", "Address to send coins")
|
cmd.Flags().String(flagTo, "", "Address to send coins")
|
||||||
cmd.Flags().String(flagAmount, "", "Amount of coins to send")
|
cmd.Flags().String(flagAmount, "", "Amount of coins to send")
|
||||||
cmd.Flags().String(flagChain, "", "Destination chain to send coins")
|
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
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,15 +34,13 @@ type sendCommander struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c sendCommander) runIBCTransfer(cmd *cobra.Command, args []string) error {
|
func (c sendCommander) runIBCTransfer(cmd *cobra.Command, args []string) error {
|
||||||
keyname := viper.GetString(client.FlagName)
|
address := getAddress()
|
||||||
|
|
||||||
address := getAddress(keyname)
|
|
||||||
msg, err := buildMsg(address)
|
msg, err := buildMsg(address)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
txBytes, err := buildTx(c.cdc, msg, keyname)
|
txBytes, err := buildTx(c.cdc, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
package ibc
|
package ibc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
//wire "github.com/cosmos/cosmos-sdk/wire"
|
|
||||||
|
wire "github.com/cosmos/cosmos-sdk/wire"
|
||||||
)
|
)
|
||||||
|
|
||||||
type IBCMapper struct {
|
type IBCMapper struct {
|
||||||
ibcKey sdk.StoreKey
|
ibcKey sdk.StoreKey
|
||||||
|
|
||||||
// cdc *wire.Codec
|
cdc *wire.Codec
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewIBCMapper(ibcKey sdk.StoreKey) IBCMapper {
|
func NewIBCMapper(ibcKey sdk.StoreKey) IBCMapper {
|
||||||
// cdc := wire.NewCodec()
|
cdc := wire.NewCodec()
|
||||||
|
|
||||||
return IBCMapper{
|
return IBCMapper{
|
||||||
ibcKey: ibcKey,
|
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 {
|
func (ibcm IBCMapper) getEgressLength(store sdk.KVStore, destChain string) int64 {
|
||||||
bz := store.Get(EgressLengthKey(destChain))
|
bz := store.Get(EgressLengthKey(destChain))
|
||||||
if bz == nil {
|
if bz == nil {
|
||||||
zero, err := json.Marshal(int64(0)) //ibcm.cdc.MarshalBinary(int64(0))
|
zero, err := ibcm.cdc.MarshalBinary(int64(0))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ func (ibcm IBCMapper) getEgressLength(store sdk.KVStore, destChain string) int64
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
var res int64
|
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)
|
panic(err)
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
|
@ -56,7 +56,7 @@ func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64
|
||||||
store := ctx.KVStore(ibcm.ibcKey)
|
store := ctx.KVStore(ibcm.ibcKey)
|
||||||
bz := store.Get(IngressKey(srcChain))
|
bz := store.Get(IngressKey(srcChain))
|
||||||
if bz == nil {
|
if bz == nil {
|
||||||
zero, err := json.Marshal(int64(0)) //ibcm.cdc.MarshalBinary(int64(0))
|
zero, err := ibcm.cdc.MarshalBinary(int64(0))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ func (ibcm IBCMapper) GetIngressSequence(ctx sdk.Context, srcChain string) int64
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
var res int64
|
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)
|
panic(err)
|
||||||
}
|
}
|
||||||
return res
|
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) {
|
func (ibcm IBCMapper) SetIngressSequence(ctx sdk.Context, srcChain string, sequence int64) {
|
||||||
store := ctx.KVStore(ibcm.ibcKey)
|
store := ctx.KVStore(ibcm.ibcKey)
|
||||||
bz, err := json.Marshal(sequence) // ibcm.cdc.MarshalBinary(sequence)
|
bz, err := ibcm.cdc.MarshalBinary(sequence)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
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) {
|
func (ibcm IBCMapper) PushPacket(ctx sdk.Context, packet IBCPacket) {
|
||||||
store := ctx.KVStore(ibcm.ibcKey)
|
store := ctx.KVStore(ibcm.ibcKey)
|
||||||
len := ibcm.getEgressLength(store, packet.DestChain)
|
len := ibcm.getEgressLength(store, packet.DestChain)
|
||||||
packetbz, err := json.Marshal(packet) // ibcm.cdc.MarshalBinary(packet)
|
packetbz, err := ibcm.cdc.MarshalBinary(packet)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
store.Set(EgressKey(packet.DestChain, len), packetbz)
|
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 {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
package ibc
|
package ibc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
//wire "github.com/tendermint/go-amino"
|
|
||||||
|
wire "github.com/cosmos/cosmos-sdk/wire"
|
||||||
)
|
)
|
||||||
|
|
||||||
type IBCPacket struct {
|
type IBCPacket struct {
|
||||||
|
@ -15,17 +14,16 @@ type IBCPacket struct {
|
||||||
DestChain string
|
DestChain string
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
func newCodec() *wire.Codec {
|
func newCodec() *wire.Codec {
|
||||||
return wire.NewCodec()
|
return wire.NewCodec()
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
type IBCTransferMsg struct {
|
type IBCTransferMsg struct {
|
||||||
IBCPacket
|
IBCPacket
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCTransferMsg) Type() string {
|
func (msg IBCTransferMsg) Type() string {
|
||||||
return "ibc"
|
return "ibctransfer"
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCTransferMsg) Get(key interface{}) interface{} {
|
func (msg IBCTransferMsg) Get(key interface{}) interface{} {
|
||||||
|
@ -33,18 +31,12 @@ func (msg IBCTransferMsg) Get(key interface{}) interface{} {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCTransferMsg) GetSignBytes() []byte {
|
func (msg IBCTransferMsg) GetSignBytes() []byte {
|
||||||
/* cdc := newCodec()
|
cdc := newCodec()
|
||||||
bz, err := cdc.MarshalBinary(msg.IBCPacket)
|
bz, err := cdc.MarshalBinary(msg.IBCPacket)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return bz*/
|
return bz
|
||||||
res, err := json.Marshal(msg)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCTransferMsg) ValidateBasic() sdk.Error {
|
func (msg IBCTransferMsg) ValidateBasic() sdk.Error {
|
||||||
|
@ -63,7 +55,7 @@ type IBCReceiveMsg struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCReceiveMsg) Type() string {
|
func (msg IBCReceiveMsg) Type() string {
|
||||||
return "ibc"
|
return "ibcreceive"
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCReceiveMsg) Get(key interface{}) interface{} {
|
func (msg IBCReceiveMsg) Get(key interface{}) interface{} {
|
||||||
|
@ -71,18 +63,12 @@ func (msg IBCReceiveMsg) Get(key interface{}) interface{} {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCReceiveMsg) GetSignBytes() []byte {
|
func (msg IBCReceiveMsg) GetSignBytes() []byte {
|
||||||
/*cdc := newCodec()
|
cdc := newCodec()
|
||||||
bz, err := cdc.MarshalBinary(msg.IBCPacket)
|
bz, err := cdc.MarshalBinary(msg.IBCPacket)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return bz*/
|
return bz
|
||||||
res, err := json.Marshal(msg)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg IBCReceiveMsg) ValidateBasic() sdk.Error {
|
func (msg IBCReceiveMsg) ValidateBasic() sdk.Error {
|
||||||
|
|
|
@ -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)
|
|
||||||
}
|
|
Loading…
Reference in New Issue