55 lines
919 B
Go
55 lines
919 B
Go
package ibc
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
wire "github.com/cosmos/cosmos-sdk/wire"
|
|
)
|
|
|
|
type IBCPacket struct {
|
|
SrcAddr sdk.Address
|
|
DestAddr sdk.Address
|
|
Coins sdk.Coins
|
|
SrcChain string
|
|
DestChain string
|
|
}
|
|
|
|
func newCodec() *wire.Codec {
|
|
return wire.NewCodec()
|
|
}
|
|
|
|
type IBCTransferMsg struct {
|
|
IBCPacket
|
|
}
|
|
|
|
func (msg IBCTransferMsg) Type() string {
|
|
return "ibctransfer"
|
|
}
|
|
|
|
func (msg IBCTransferMsg) Get(key interface{}) interface{} {
|
|
return nil
|
|
}
|
|
|
|
func (msg IBCTransferMsg) GetSignBytes() []byte {
|
|
cdc := newCodec()
|
|
bz, err := cdc.MarshalBinary(msg)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return bz
|
|
}
|
|
|
|
func (msg IBCTransferMsg) ValidateBasic() sdk.Error {
|
|
return msg.Coins.ValidateBasic()
|
|
}
|
|
|
|
// x/bank/tx.go SendMsg.GetSigners()
|
|
func (msg IBCTransferMsg) GetSigners() []sdk.Address {
|
|
addrs := []sdk.Address{msg.SrcAddr}
|
|
}
|
|
|
|
type IBCReceiveMsg struct {
|
|
IBCPacket
|
|
Relayer sdk.Address
|
|
}
|