router -> dispatcher, get rid of sdk.Msg

This commit is contained in:
mossid 2018-03-13 19:39:06 +01:00
parent a9064c97c3
commit 2217aaf54f
3 changed files with 19 additions and 17 deletions

View File

@ -16,11 +16,13 @@ type IBCTransferPacket struct {
Coins sdk.Coins
}
// Implements sdk.Msg
type IBCTransferMsg struct {
IBCTransferPacket
DestChain string
}
// Implements sdk.Msg
type IBCReceiveMsg struct {
IBCTransferPacket
SrcChain string

View File

@ -4,7 +4,7 @@
## MVP2
IBC module will store its own router for handling custom incoming msgs. `IBCPush` and `IBCReceive` are made for inter-module communication
IBC module will store its own router for handling custom incoming msgs. `IBCPush` are made for inter-module communication. `IBCRegisterMsg` adds a handler in the router of the module.
### IBC Module
@ -17,25 +17,25 @@ type IBCTransferData struct {
Coins sdk.Coins
}
// Implements sdk.Msg
type IBCTransferMsg struct {
// Implements ibc.PacketData
type IBCTransferPacket struct {
IBCTransferData
}
// Implements sdk.Msg
type IBCReceiveMsg struct {
// Implements ibc.PacketData
type IBCReceivePacket struct {
IBCTransferData
}
type IBCPacket struct {
Msg IBCMsg
type Packet struct {
Data PacketData
SrcChain string
DestChain string
}
// Internal API
func NewHandler(router sdk.Router, ibcm IBCMapper) sdk.Handler
func NewHandler(dispatcher Dispatcher, ibcm IBCMapper) sdk.Handler
type IBCMapper struct {
ingressKey sdk.StoreKey // Source Chain ID => last income msg's sequence
@ -52,7 +52,7 @@ type EgressKey struct {
}
// Used by other modules
func (ibcm IBCMapper) PushPacket(ctx sdk.Context, dest string, packet IBCTransferPacket)
func (ibcm IBCMapper) PushPacket(ctx sdk.Context, dest string, data PacketData)
```
`egressKey` stores the outgoing `IBCTransfer`s as a list. Its getter takes an `EgressKey` and returns the length if `egressKey.Index == -1`, an element if `egressKey.Index > 0`.

View File

@ -15,18 +15,18 @@ type IBCTransferData struct {
Coins sdk.Coins
}
// Implements sdk.Msg
type IBCTransferMsg struct {
// Implements ibc.PacketData
type IBCTransferPacket struct {
IBCTransferData
}
// Implements sdk.Msg
type IBCReceiveMsg struct {
// Implements ibc.PacketData
type IBCReceivePacket struct {
IBCTransferData
}
type IBCPacket struct {
Msg IBCMsg
type Packet struct {
Data PacketData
SrcChain string
DestChain string
}
@ -49,7 +49,7 @@ type IBCUpdateMsg struct {
// Internal API
func NewHandler(router sdk.Router, ibcm IBCMapper) sdk.Handler
func NewHandler(dispatcher Dispatcher, ibcm IBCMapper) sdk.Handler
type IBCMapper struct {
ingressKey sdk.StoreKey // ChannelID => last income msg's sequence
@ -71,7 +71,7 @@ type HeaderKey struct {
}
// Used by other modules
func (ibcm IBCMapper) PushPacket(ctx sdk.Context, dest string, packet IBCTransferPacket)
func (ibcm IBCMapper) PushPacket(ctx sdk.Context, dest string, data PacketData)
```