Bech32ify msg.GetSignBytes() for x/ibc
This commit is contained in:
parent
971e1489b2
commit
cbc6989ed6
|
@ -1,11 +1,20 @@
|
||||||
package ibc
|
package ibc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
"encoding/json"
|
||||||
|
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
wire "github.com/cosmos/cosmos-sdk/wire"
|
wire "github.com/cosmos/cosmos-sdk/wire"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
msgCdc *wire.Codec
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
msgCdc = wire.NewCodec()
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------
|
// ------------------------------
|
||||||
// IBCPacket
|
// IBCPacket
|
||||||
|
|
||||||
|
@ -32,6 +41,26 @@ func NewIBCPacket(srcAddr sdk.Address, destAddr sdk.Address, coins sdk.Coins,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p IBCPacket) GetSignBytes() []byte {
|
||||||
|
b, err := msgCdc.MarshalJSON(struct {
|
||||||
|
SrcAddr string
|
||||||
|
DestAddr string
|
||||||
|
Coins sdk.Coins
|
||||||
|
SrcChain string
|
||||||
|
DestChain string
|
||||||
|
}{
|
||||||
|
SrcAddr: sdk.MustBech32ifyAcc(p.SrcAddr),
|
||||||
|
DestAddr: sdk.MustBech32ifyAcc(p.DestAddr),
|
||||||
|
Coins: p.Coins,
|
||||||
|
SrcChain: p.SrcChain,
|
||||||
|
DestChain: p.DestChain,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// validator the ibc packey
|
// validator the ibc packey
|
||||||
func (ibcp IBCPacket) ValidateBasic() sdk.Error {
|
func (ibcp IBCPacket) ValidateBasic() sdk.Error {
|
||||||
if ibcp.SrcChain == ibcp.DestChain {
|
if ibcp.SrcChain == ibcp.DestChain {
|
||||||
|
@ -60,12 +89,7 @@ func (msg IBCTransferMsg) GetSigners() []sdk.Address { return []sdk.Address{msg.
|
||||||
|
|
||||||
// get the sign bytes for ibc transfer message
|
// get the sign bytes for ibc transfer message
|
||||||
func (msg IBCTransferMsg) GetSignBytes() []byte {
|
func (msg IBCTransferMsg) GetSignBytes() []byte {
|
||||||
cdc := wire.NewCodec()
|
return msg.IBCPacket.GetSignBytes()
|
||||||
bz, err := cdc.MarshalBinary(msg)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
return bz
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// validate ibc transfer message
|
// validate ibc transfer message
|
||||||
|
@ -94,10 +118,17 @@ func (msg IBCReceiveMsg) GetSigners() []sdk.Address { return []sdk.Address{msg.R
|
||||||
|
|
||||||
// get the sign bytes for ibc receive message
|
// get the sign bytes for ibc receive message
|
||||||
func (msg IBCReceiveMsg) GetSignBytes() []byte {
|
func (msg IBCReceiveMsg) GetSignBytes() []byte {
|
||||||
cdc := wire.NewCodec()
|
b, err := msgCdc.MarshalJSON(struct {
|
||||||
bz, err := cdc.MarshalBinary(msg)
|
IBCPacket json.RawMessage
|
||||||
|
Relayer string
|
||||||
|
Sequence int64
|
||||||
|
}{
|
||||||
|
IBCPacket: json.RawMessage(msg.IBCPacket.GetSignBytes()),
|
||||||
|
Relayer: sdk.MustBech32ifyAcc(msg.Relayer),
|
||||||
|
Sequence: msg.Sequence,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return bz
|
return b
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue