Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge feature/dev to development #408

Merged
merged 8 commits into from
Aug 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -1143,7 +1143,7 @@ func (a *App) ModuleAccountsPermissions() map[string][]string {
func (a *App) registerUpgradeHandlers() {
a.UpgradeKeeper.SetUpgradeHandler(
tv4_0_0.UpgradeName,
tv4_0_0.CreateUpgradeHandler(a.mm, a.configurator, a.VaultKeeper, a.LockerKeeper, a.CollectorKeeper, a.LiquidationKeeper),
tv4_0_0.CreateUpgradeHandler(a.mm, a.configurator, a.VaultKeeper, a.LockerKeeper, a.CollectorKeeper, a.LiquidationKeeper, a.Rewardskeeper),
)

// When a planned update height is reached, the old binary will panic
Expand Down
5 changes: 5 additions & 0 deletions app/upgrades/testnet/v4_0_0/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ import (
locker "github.com/comdex-official/comdex/x/locker"
lockerKeeper "github.com/comdex-official/comdex/x/locker/keeper"
lockertypes "github.com/comdex-official/comdex/x/locker/types"
rewards "github.com/comdex-official/comdex/x/rewards"
rewardsKeeper "github.com/comdex-official/comdex/x/rewards/keeper"
rewardstypes "github.com/comdex-official/comdex/x/rewards/types"
vault "github.com/comdex-official/comdex/x/vault"

vaultKeeper "github.com/comdex-official/comdex/x/vault/keeper"
Expand All @@ -28,13 +31,15 @@ func CreateUpgradeHandler(
lockerKeeper lockerKeeper.Keeper,
collectorKeeper collectorKeeper.Keeper,
liquidationKeeper liquidationKeeper.Keeper,
rewardsKeeper rewardsKeeper.Keeper,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
// This change is only for testnet upgrade
vault.InitGenesis(ctx, vaultKeeper, vaulttypes.DefaultGenesisState())
locker.InitGenesis(ctx, lockerKeeper, lockertypes.DefaultGenesisState())
collector.InitGenesis(ctx, collectorKeeper, collectortypes.DefaultGenesisState())
liquidation.InitGenesis(ctx, liquidationKeeper, liquidationtypes.DefaultGenesisState())
rewards.InitGenesis(ctx, rewardsKeeper, rewardstypes.DefaultGenesisState())
newVM, err := mm.RunMigrations(ctx, configurator, fromVM)

if err != nil {
Expand Down
43 changes: 42 additions & 1 deletion proto/comdex/rewards/v1beta1/genesis.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,51 @@ package comdex.rewards.v1beta1;

import "gogoproto/gogo.proto";
import "comdex/rewards/v1beta1/params.proto";
import "comdex/rewards/v1beta1/rewards.proto";
import "comdex/rewards/v1beta1/epochs.proto";
import "comdex/rewards/v1beta1/gauge.proto";

option go_package = "github.com/comdex-official/comdex/x/rewards/types";

// GenesisState defines the rewards module's genesis state.
message GenesisState {
Params params = 1 [(gogoproto.nullable) = false];
repeated Internal_rewards internal_rewards = 1 [
(gogoproto.moretags) = "yaml:\"internal_rewards\"",
(gogoproto.nullable) = false
];
repeated Locker_rewards_tracker locker_rewards_tracker = 2 [
(gogoproto.moretags) = "yaml:\"locker_rewards_tracker\"",
(gogoproto.nullable) = false
];
repeated Vault_interest_tracker vault_interest_tracker = 3 [
(gogoproto.moretags) = "yaml:\"vault_interest_tracker\"",
(gogoproto.nullable) = false
];
repeated Locker_external_rewards locker_external_rewards = 4 [
(gogoproto.moretags) = "yaml:\"locker_external_rewards\"",
(gogoproto.nullable) = false
];
repeated Vault_external_rewards vault_external_rewards = 5 [
(gogoproto.moretags) = "yaml:\"vault_external_rewards\"",
(gogoproto.nullable) = false
];
repeated uint64 appIDs = 6 [
(gogoproto.moretags) = "yaml:\"vault_external_rewards\""
];
repeated EpochInfo epochInfo = 7 [
(gogoproto.moretags) = "yaml:\"epochInfo\"",
(gogoproto.nullable) = false
];
repeated Gauge gauge = 8 [
(gogoproto.moretags) = "yaml:\"gauge\"",
(gogoproto.nullable) = false
];
repeated GaugeByTriggerDuration gaugeByTriggerDuration = 9 [
(gogoproto.moretags) = "yaml:\"gaugeByTriggerDuration\"",
(gogoproto.nullable) = false
];
Params params = 10 [
(gogoproto.moretags) = "yaml:\"params\"",
(gogoproto.nullable) = false
];
}
6 changes: 0 additions & 6 deletions proto/comdex/rewards/v1beta1/rewards.proto
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,6 @@ message Vault_external_rewards{
];
}

// message WhitelistedAppIdsVault{
// repeated uint64 whitelisted_app_mapping_ids_vaults = 1 [
// (gogoproto.moretags) = "yaml:\"whitelisted_app_mapping_ids_vaults\""
// ];
// }

message EpochTime{
uint64 id = 1 [
(gogoproto.moretags) = "yaml:\"id\""
Expand Down
44 changes: 0 additions & 44 deletions proto/comdex/vault/v1beta1/vault.proto
Original file line number Diff line number Diff line change
Expand Up @@ -57,30 +57,6 @@ message Vault {

}

//user_address is the key
// message UserVaultAssetMapping {
// string owner = 1 [
// (gogoproto.moretags) = "yaml:\"owner\""
// ];

// repeated VaultToAppMapping user_vault_app = 2 [
// (gogoproto.moretags) = "yaml:\"user_vault_app\""
// ];
// }

// message VaultToAppMapping {
// uint64 app_id = 1;
// repeated ExtendedPairToVaultMapping user_extended_pair_vault = 2 [
// (gogoproto.moretags) = "yaml:\"user_extended_pair_vault\""
// ];
// }
// message ExtendedPairToVaultMapping {
// uint64 extended_pair_id = 1;
// uint64 vault_id = 2 [
// (gogoproto.moretags) = "yaml:\"vault_id\""];

// }

message OwnerAppExtendedPairVaultMappingData {
string owner = 1 [
(gogoproto.moretags) = "yaml:\"owner\""
Expand All @@ -92,26 +68,6 @@ message OwnerAppExtendedPairVaultMappingData {

}


//app_id is the key
// message AppExtendedPairVaultMapping {
// uint64 app_id = 1 ;
// repeated ExtendedPairVaultMapping extended_pair_vaults = 2 [(gogoproto.moretags) = "yaml:\"extended_pair_vaults\""];
// }

// message ExtendedPairVaultMapping
// {
// uint64 extended_pair_id = 1 [(gogoproto.moretags) = "yaml:\"extended_pair_id\""];
// repeated uint64 vault_ids = 2 [(gogoproto.moretags) = "yaml:\"vault_ids\""];
// string token_minted_amount = 3[
// (gogoproto.moretags) = "yaml:\"token_minted_amount\"",
// (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
// (gogoproto.nullable) = false];
// string collateral_locked_amount = 4[(gogoproto.moretags) = "yaml:\"collateral_locked_amount\"",
// (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
// (gogoproto.nullable) = false];
// }

message AppExtendedPairVaultMappingData
{
uint64 app_id = 1 ;
Expand Down
3 changes: 1 addition & 2 deletions x/collector/keeper/collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"github.com/comdex-official/comdex/app/wasm/bindings"
auctiontypes "github.com/comdex-official/comdex/x/auction/types"
"github.com/comdex-official/comdex/x/collector/types"
collectortypes "github.com/comdex-official/comdex/x/collector/types"
lockertypes "github.com/comdex-official/comdex/x/locker/types"
rewardstypes "github.com/comdex-official/comdex/x/rewards/types"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand Down Expand Up @@ -786,7 +785,7 @@ func (k Keeper) LockerIterateRewards(ctx sdk.Context, collectorLsr sdk.Dec, coll
assetData, _ := k.GetAsset(ctx, assetID)
newrewards := rewards.TruncateInt()
if newrewards.GT(sdk.ZeroInt()) {
err = k.SendCoinFromModuleToModule(ctx, collectortypes.ModuleName, lockertypes.ModuleName, sdk.NewCoins(sdk.NewCoin(assetData.Denom, newrewards)))
err = k.SendCoinFromModuleToModule(ctx, types.ModuleName, lockertypes.ModuleName, sdk.NewCoins(sdk.NewCoin(assetData.Denom, newrewards)))
if err != nil {
continue
}
Expand Down
73 changes: 61 additions & 12 deletions x/rewards/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,68 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)

// InitGenesis initializes the capability module's state from a provided genesis
// state.
func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) {
// this line is used by starport scaffolding # genesis/module/init
k.SetParams(ctx, genState.Params)
}
func InitGenesis(ctx sdk.Context, k keeper.Keeper, state *types.GenesisState) {

// ExportGenesis returns the capability module's exported genesis.
func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
genesis := types.DefaultGenesis()
genesis.Params = k.GetParams(ctx)
var (
gaugeID uint64 = 0
)

k.SetParams(ctx, state.Params)

for _, item := range state.InternalRewards {
k.SetReward(ctx, item)
}

for _, item := range state.LockerRewardsTracker {
k.SetLockerRewardTracker(ctx, item)
}

for _, item := range state.VaultInterestTracker {
k.SetVaultInterestTracker(ctx, item)

}

for _, item := range state.LockerExternalRewards {
k.SetExternalRewardsLockers(ctx, item)
}

// this line is used by starport scaffolding # genesis/module/export
for _, item := range state.VaultExternalRewards {
k.SetExternalRewardVault(ctx, item)
}

return genesis
for _, item := range state.AppIDs {
k.SetAppByAppID(ctx, item)
}

for _, item := range state.EpochInfo {
k.SetEpochInfoByDuration(ctx, item)
}

for _, item := range state.Gauge {
if item.Id > gaugeID {
gaugeID = item.Id
}
k.SetGauge(ctx, item)
}

for _, item := range state.GaugeByTriggerDuration {
k.SetGaugeIdsByTriggerDuration(ctx, item)
}

k.SetGaugeID(ctx, gaugeID)
}

func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
return types.NewGenesisState(
k.GetRewards(ctx),
k.GetAllLockerRewardTracker(ctx),
k.GetAllVaultInterestTracker(ctx),
k.GetExternalRewardsLockers(ctx),
k.GetExternalRewardVaults(ctx),
k.GetAppIDs(ctx),
k.GetAllEpochInfos(ctx),
k.GetAllGauges(ctx),
k.GetAllGaugeIdsByTriggerDuration(ctx),
k.GetParams(ctx),
)
}
1 change: 0 additions & 1 deletion x/rewards/keeper/interest.go

This file was deleted.

44 changes: 44 additions & 0 deletions x/rewards/keeper/rewards.go
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,28 @@ func (k Keeper) GetLockerRewardTracker(ctx sdk.Context, id, appID uint64) (rewar
return rewards, true
}

func (k Keeper) GetAllLockerRewardTracker(ctx sdk.Context) (Lockrewards []types.LockerRewardsTracker) {
var (
store = k.Store(ctx)
iter = sdk.KVStorePrefixIterator(store, types.LockerRewardsTrackerKeyPrefix)
)

defer func(iter sdk.Iterator) {
err := iter.Close()
if err != nil {
return
}
}(iter)

for ; iter.Valid(); iter.Next() {
var rewards types.LockerRewardsTracker
k.cdc.MustUnmarshal(iter.Value(), &rewards)
Lockrewards = append(Lockrewards, rewards)
}

return Lockrewards
}

func (k Keeper) SetVaultInterestTracker(ctx sdk.Context, vault types.VaultInterestTracker) {
var (
store = k.Store(ctx)
Expand All @@ -476,6 +498,28 @@ func (k Keeper) GetVaultInterestTracker(ctx sdk.Context, id, appID uint64) (vaul
return vault, true
}

func (k Keeper) GetAllVaultInterestTracker(ctx sdk.Context) (Vaultrewards []types.VaultInterestTracker) {
var (
store = k.Store(ctx)
iter = sdk.KVStorePrefixIterator(store, types.VaultInterestTrackerKeyPrefix)
)

defer func(iter sdk.Iterator) {
err := iter.Close()
if err != nil {
return
}
}(iter)

for ; iter.Valid(); iter.Next() {
var rewards types.VaultInterestTracker
k.cdc.MustUnmarshal(iter.Value(), &rewards)
Vaultrewards = append(Vaultrewards, rewards)
}

return Vaultrewards
}

func (k Keeper) CalculateLockerRewards(ctx sdk.Context, appID, assetID, lockerID uint64, Depositor string, NetBalance sdk.Int, blockHeight int64, lockerBlockTime int64) error {

_, found := k.GetReward(ctx, appID, assetID)
Expand Down
19 changes: 19 additions & 0 deletions x/rewards/keeper/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,25 @@ func (k Keeper) GetGaugeIdsByTriggerDuration(ctx sdk.Context, triggerDuration ti
return gaugeIdsByTriggerDuration, true
}

func (k Keeper) GetAllGaugeIdsByTriggerDuration(ctx sdk.Context) (gaugeByTriggerDuration []types.GaugeByTriggerDuration) {
var (
store = k.Store(ctx)
iter = sdk.KVStorePrefixIterator(store, types.GaugeIdsByTriggerDurationKeyPrefix)
)
defer func(iter sdk.Iterator) {
err := iter.Close()
if err != nil {
return
}
}(iter)
for ; iter.Valid(); iter.Next() {
var gauge types.GaugeByTriggerDuration
k.cdc.MustUnmarshal(iter.Value(), &gauge)
gaugeByTriggerDuration = append(gaugeByTriggerDuration, gauge)
}
return gaugeByTriggerDuration
}

// GetAllGaugesByGaugeTypeID returns all the gauges with given gaugeTypeId.
func (k Keeper) GetAllGaugesByGaugeTypeID(ctx sdk.Context, gaugeTypeID uint64) (gauges []types.Gauge) {
var (
Expand Down
4 changes: 2 additions & 2 deletions x/rewards/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) {

// DefaultGenesis returns the capability module's default genesis state.
func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage {
return cdc.MustMarshalJSON(types.DefaultGenesis())
return cdc.MustMarshalJSON(types.DefaultGenesisState())
}

// ValidateGenesis performs genesis state validation for the capability module.
Expand Down Expand Up @@ -151,7 +151,7 @@ func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.Ra
// Initialize global index to index in genesis state
cdc.MustUnmarshalJSON(gs, &genState)

InitGenesis(ctx, am.keeper, genState)
InitGenesis(ctx, am.keeper, &genState)

return []abci.ValidatorUpdate{}
}
Expand Down
Loading