51 lines
2.3 KiB
Go
51 lines
2.3 KiB
Go
package types
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
authexported "github.com/cosmos/cosmos-sdk/x/auth/exported"
|
|
"github.com/cosmos/cosmos-sdk/x/capability"
|
|
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
|
|
connection "github.com/cosmos/cosmos-sdk/x/ibc/03-connection"
|
|
channel "github.com/cosmos/cosmos-sdk/x/ibc/04-channel"
|
|
channelexported "github.com/cosmos/cosmos-sdk/x/ibc/04-channel/exported"
|
|
)
|
|
|
|
// AccountKeeper defines the contract required for account APIs.
|
|
type AccountKeeper interface {
|
|
GetModuleAddress(name string) sdk.AccAddress
|
|
GetModuleAccount(ctx sdk.Context, name string) authexported.ModuleAccountI
|
|
}
|
|
|
|
// BankKeeper defines the expected bank keeper
|
|
type BankKeeper interface {
|
|
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
|
|
MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
|
|
BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
|
|
SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
|
|
SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
|
|
}
|
|
|
|
// ChannelKeeper defines the expected IBC channel keeper
|
|
type ChannelKeeper interface {
|
|
GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channel.Channel, found bool)
|
|
GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool)
|
|
SendPacket(ctx sdk.Context, channelCap *capability.Capability, packet channelexported.PacketI) error
|
|
PacketExecuted(ctx sdk.Context, chanCap *capability.Capability, packet channelexported.PacketI, acknowledgement []byte) error
|
|
ChanCloseInit(ctx sdk.Context, portID, channelID string, chanCap *capability.Capability) error
|
|
}
|
|
|
|
// ClientKeeper defines the expected IBC client keeper
|
|
type ClientKeeper interface {
|
|
GetClientConsensusState(ctx sdk.Context, clientID string) (connection clientexported.ConsensusState, found bool)
|
|
}
|
|
|
|
// ConnectionKeeper defines the expected IBC connection keeper
|
|
type ConnectionKeeper interface {
|
|
GetConnection(ctx sdk.Context, connectionID string) (connection connection.ConnectionEnd, found bool)
|
|
}
|
|
|
|
// PortKeeper defines the expected IBC port keeper
|
|
type PortKeeper interface {
|
|
BindPort(ctx sdk.Context, portID string) *capability.Capability
|
|
}
|