51 lines
2.3 KiB
Go
51 lines
2.3 KiB
Go
package types
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/cosmos/cosmos-sdk/x/auth/types"
|
|
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
|
|
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
|
|
connectiontypes "github.com/cosmos/cosmos-sdk/x/ibc/03-connection/types"
|
|
channelexported "github.com/cosmos/cosmos-sdk/x/ibc/04-channel/exported"
|
|
channeltypes "github.com/cosmos/cosmos-sdk/x/ibc/04-channel/types"
|
|
)
|
|
|
|
// AccountKeeper defines the contract required for account APIs.
|
|
type AccountKeeper interface {
|
|
GetModuleAddress(name string) sdk.AccAddress
|
|
GetModuleAccount(ctx sdk.Context, name string) types.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 channeltypes.Channel, found bool)
|
|
GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool)
|
|
SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet channelexported.PacketI) error
|
|
PacketExecuted(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet channelexported.PacketI, acknowledgement []byte) error
|
|
ChanCloseInit(ctx sdk.Context, portID, channelID string, chanCap *capabilitytypes.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 connectiontypes.ConnectionEnd, found bool)
|
|
}
|
|
|
|
// PortKeeper defines the expected IBC port keeper
|
|
type PortKeeper interface {
|
|
BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability
|
|
}
|