forked from crescent-network/crescent
/
expected_keepers.go
44 lines (38 loc) 路 2.25 KB
/
expected_keepers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
liquiditytypes "github.com/jesse-pinkman-cre/crescent/x/liquidity/types"
lpfarmtypes "github.com/jesse-pinkman-cre/crescent/x/lpfarm/types"
)
// AccountKeeper defines the expected interface needed for the module.
type AccountKeeper interface {
GetModuleAddress(name string) sdk.AccAddress
}
// BankKeeper defines the expected interface needed for the module.
type BankKeeper interface {
GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
GetSupply(ctx sdk.Context, denom string) sdk.Coin
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
InputOutputCoins(ctx sdk.Context, inputs []banktypes.Input, outputs []banktypes.Output) error
MintCoins(ctx sdk.Context, name 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
}
// LPFarmKeeper defines the expected interface needed for the module.
type LPFarmKeeper interface {
Farm(ctx sdk.Context, farmerAddr sdk.AccAddress, coin sdk.Coin) (withdrawnRewards sdk.Coins, err error)
Unfarm(ctx sdk.Context, farmerAddr sdk.AccAddress, coin sdk.Coin) (withdrawnRewards sdk.Coins, err error)
Harvest(ctx sdk.Context, farmerAddr sdk.AccAddress, denom string) (withdrawnRewards sdk.Coins, err error)
Rewards(ctx sdk.Context, farmerAddr sdk.AccAddress, denom string) sdk.DecCoins
GetFarm(ctx sdk.Context, denom string) (farm lpfarmtypes.Farm, found bool)
GetPosition(ctx sdk.Context, farmerAddr sdk.AccAddress, denom string) (position lpfarmtypes.Position, found bool)
}
// LiquidityKeeper defines the expected interface needed for the module.
type LiquidityKeeper interface {
GetPool(ctx sdk.Context, id uint64) (pool liquiditytypes.Pool, found bool)
Withdraw(ctx sdk.Context, msg *liquiditytypes.MsgWithdraw) (liquiditytypes.WithdrawRequest, error)
}