@@ -12,6 +12,16 @@ func (k Keeper) IncentiveEnabled(ctx sdk.Context) bool {
12
12
return k .GetParams (ctx ).Enabled && ! k .bankKeeper .SpendableCoins (ctx , authtypes .NewModuleAddress (types .ModuleName )).IsZero ()
13
13
}
14
14
15
+ // DepositIncentiveEnabled returns true if the incentive is enabled for deposit, false otherwise
16
+ func (k Keeper ) DepositIncentiveEnabled (ctx sdk.Context ) bool {
17
+ return k .IncentiveEnabled (ctx ) && k .RewardPerDeposit (ctx ).IsPositive () && k .bankKeeper .GetBalance (ctx , authtypes .NewModuleAddress (types .ModuleName ), k .DepositRewardDenom (ctx )).IsPositive ()
18
+ }
19
+
20
+ // WithdrawIncentiveEnabled returns true if the incentive is enabled for withdrawal, false otherwise
21
+ func (k Keeper ) WithdrawIncentiveEnabled (ctx sdk.Context ) bool {
22
+ return k .IncentiveEnabled (ctx ) && k .RewardPerWithdraw (ctx ).IsPositive () && k .bankKeeper .GetBalance (ctx , authtypes .NewModuleAddress (types .ModuleName ), k .WithdrawRewardDenom (ctx )).IsPositive ()
23
+ }
24
+
15
25
// RewardPerDeposit returns the reward amount for each deposit
16
26
func (k Keeper ) RewardPerDeposit (ctx sdk.Context ) sdk.Coin {
17
27
return k .GetParams (ctx ).RewardPerDeposit
@@ -21,3 +31,13 @@ func (k Keeper) RewardPerDeposit(ctx sdk.Context) sdk.Coin {
21
31
func (k Keeper ) RewardPerWithdraw (ctx sdk.Context ) sdk.Coin {
22
32
return k .GetParams (ctx ).RewardPerWithdraw
23
33
}
34
+
35
+ // DepositRewardDenom returns the denom for deposit reward
36
+ func (k Keeper ) DepositRewardDenom (ctx sdk.Context ) string {
37
+ return k .GetParams (ctx ).RewardPerDeposit .Denom
38
+ }
39
+
40
+ // WithdrawRewardDenom returns the denom for withdrawal reward
41
+ func (k Keeper ) WithdrawRewardDenom (ctx sdk.Context ) string {
42
+ return k .GetParams (ctx ).RewardPerWithdraw .Denom
43
+ }
0 commit comments