/
expected_keepers.go
25 lines (21 loc) · 1.15 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
package incentive
import (
sdk "github.com/cosmos/cosmos-sdk/types"
leveragetypes "github.com/umee-network/umee/v5/x/leverage/types"
)
// BankKeeper defines the expected x/bank keeper interface.
type BankKeeper interface {
SendCoinsFromModuleToAccount(ctx sdk.Context, fromModule string, toAddr sdk.AccAddress, coins sdk.Coins) error
SendCoinsFromAccountToModule(ctx sdk.Context, fromAddr sdk.AccAddress, toModule string, coins sdk.Coins) error
SendCoinsFromModuleToModule(ctx sdk.Context, fromModule string, toModule string, coins sdk.Coins) error
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
}
// LeverageKeeper defines the expected x/leverage keeper interface.
type LeverageKeeper interface {
GetCollateral(ctx sdk.Context, borrowerAddr sdk.AccAddress, denom string) sdk.Coin
DonateCollateral(ctx sdk.Context, fromAddr sdk.AccAddress, uToken sdk.Coin) error
GetTokenSettings(ctx sdk.Context, denom string) (leveragetypes.Token, error)
// These are used for APY queries only
TotalTokenValue(ctx sdk.Context, coins sdk.Coins, mode leveragetypes.PriceMode) (sdk.Dec, error)
ExchangeUToken(ctx sdk.Context, uToken sdk.Coin) (sdk.Coin, error)
}