Skip to content

Commit

Permalink
Merge pull request lavanet#1064 from lavanet/CNS-pool-migrator
Browse files Browse the repository at this point in the history
CNS: Pool migrator
  • Loading branch information
Yaroms authored Dec 25, 2023
2 parents 1d2d071 + d4022cc commit 6d4c5f5
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 82 deletions.
5 changes: 2 additions & 3 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@ var Upgrades = []upgrades.Upgrade{
upgrades.Upgrade_0_31_0,
upgrades.Upgrade_0_31_1,
upgrades.Upgrade_0_32_0,
upgrades.Upgrade_0_33_0,
}

// this line is used by starport scaffolding # stargate/wasm/app/enabledProposals
Expand Down Expand Up @@ -238,10 +237,10 @@ var (
govtypes.ModuleName: {authtypes.Burner},
ibctransfertypes.ModuleName: {authtypes.Burner},
subscriptionmoduletypes.ModuleName: {authtypes.Burner, authtypes.Staking},
string(rewardsmoduletypes.ValidatorsRewardsAllocationPoolName): {authtypes.Burner, authtypes.Staking},
string(rewardsmoduletypes.ValidatorsRewardsAllocationPoolName): {authtypes.Minter, authtypes.Staking},
string(rewardsmoduletypes.ValidatorsRewardsDistributionPoolName): {authtypes.Burner, authtypes.Staking},
string(rewardsmoduletypes.ProviderRewardsDistributionPool): {authtypes.Burner, authtypes.Staking},
string(rewardsmoduletypes.ProvidersRewardsAllocationPool): {authtypes.Burner, authtypes.Staking},
string(rewardsmoduletypes.ProvidersRewardsAllocationPool): {authtypes.Minter, authtypes.Staking},
// this line is used by starport scaffolding # stargate/app/maccPerms
}
)
Expand Down
2 changes: 1 addition & 1 deletion app/upgrades/empty_upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ var Upgrade_0_31_1 = Upgrade{

var Upgrade_0_32_0 = Upgrade{
UpgradeName: "v0.32.0",
CreateUpgradeHandler: defaultUpgradeHandler,
CreateUpgradeHandler: v0_32_0_UpgradeHandler,
StoreUpgrades: store.StoreUpgrades{
Added: []string{rewardstypes.StoreKey},
Deleted: []string{minttypes.StoreKey},
Expand Down
69 changes: 69 additions & 0 deletions app/upgrades/upgrade_0_32_0.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package upgrades

import (
"fmt"
"time"

sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/bank/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
"github.com/lavanet/lava/app/keepers"
dualstakingtypes "github.com/lavanet/lava/x/dualstaking/types"
rewardstypes "github.com/lavanet/lava/x/rewards/types"
)

func v0_32_0_UpgradeHandler(
m *module.Manager,
c module.Configurator,
bapm BaseAppParamManager,
lk *keepers.LavaKeepers,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
// rewards pool
totalSupply, err := lk.BankKeeper.TotalSupply(ctx, &types.QueryTotalSupplyRequest{})
if err != nil {
return nil, err
}
allocate := totalSupply.Supply.QuoInt(sdk.NewIntFromUint64(33))
err = lk.BankKeeper.MintCoins(ctx, string(rewardstypes.ValidatorsRewardsAllocationPoolName), allocate)
if err != nil {
return nil, err
}
err = lk.BankKeeper.MintCoins(ctx, string(rewardstypes.ProvidersRewardsAllocationPool), allocate)
if err != nil {
return nil, err
}

rewards := lk.DualstakingKeeper.GetAllDelegatorReward(ctx)
for _, reward := range rewards {
lk.DualstakingKeeper.RemoveDelegatorReward(ctx, dualstakingtypes.DelegationKey(reward.Provider, reward.Delegator, reward.ChainId))
}
rewards = lk.DualstakingKeeper.GetAllDelegatorReward(ctx)
if len(rewards) != 0 {
return nil, fmt.Errorf("v0.32.0 UpgradeHandler: did not delete all rewards")
}

// expedited proposal
// deposit
params := lk.GovKeeper.GetParams(ctx)
params.ExpeditedMinDeposit = append(params.ExpeditedMinDeposit, params.MinDeposit[0].AddAmount(sdk.NewIntFromUint64(1000)))

// tally
params.ExpeditedThreshold = "0.75"

// voting
seconds := params.VotingPeriod.Nanoseconds()
duration := time.Duration(seconds/10) * time.Nanosecond
params.ExpeditedVotingPeriod = &duration

if err = params.ValidateBasic(); err != nil {
return nil, err
}

if err := lk.GovKeeper.SetParams(ctx, params); err != nil {
return nil, err
}
return m.RunMigrations(ctx, c, vm)
}
}
78 changes: 0 additions & 78 deletions app/upgrades/upgrade_0_33_0.go

This file was deleted.

3 changes: 3 additions & 0 deletions x/rewards/keeper/rewards.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ func (k Keeper) refillDistributionPool(ctx sdk.Context, monthsLeft uint64, alloc
func (k Keeper) BlocksToNextTimerExpiry(ctx sdk.Context) int64 {
timeToNextTimerExpiry := k.TimeToNextTimerExpiry(ctx)
blockCreationTime := int64(k.downtimeKeeper.GetParams(ctx).DowntimeDuration.Seconds())
if blockCreationTime == 0 {
return 30
}
blocksToNextTimerExpiry := types.BlocksToTimerExpirySlackFactor.MulInt64(timeToNextTimerExpiry).QuoInt64(blockCreationTime).Ceil().TruncateInt64()
if blocksToNextTimerExpiry < 2 {
return 2
Expand Down
6 changes: 6 additions & 0 deletions x/subscription/keeper/adjustment.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ func (k Keeper) AppendAdjustment(ctx sdk.Context, consumer string, provider stri
adjustment.TotalUsage += totalConsumerUsage
adjustment.AdjustedUsage += totalConsumerUsage
} else {
if usageWithThisProvider == 0 || maxRewardsBoost == 0 {
return
}
// totalConsumerUsage < uint64(maxRewardsBoost)*usageWithThisProvider
adjustment.TotalUsage += totalConsumerUsage
// epoch adjustment is (1/maxRewardsBoost * totalConsumerUsage/usageWithThisProvider) * totalConsumerUsage
Expand Down Expand Up @@ -166,6 +169,9 @@ func (k Keeper) GetAdjustmentFactorProvider(ctx sdk.Context, adjustments []types
totalUsage := providerUsage[provider].total
totalAdjustedUsage := providerUsage[provider].adjusted
// indexes may repeat but we only need to handle each provider once
if totalUsage == 0 {
continue
}
providerAdjustment[provider] = sdk.NewDec(totalAdjustedUsage).QuoInt64(totalUsage)
}
}
Expand Down

0 comments on commit 6d4c5f5

Please sign in to comment.