-
Notifications
You must be signed in to change notification settings - Fork 558
/
gov.go
31 lines (26 loc) · 1.41 KB
/
gov.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
package concentrated_liquidity
import (
sdk "github.com/cosmos/cosmos-sdk/types"
clmodel "github.com/osmosis-labs/osmosis/v15/x/concentrated-liquidity/model"
"github.com/osmosis-labs/osmosis/v15/x/concentrated-liquidity/types"
poolmanagertypes "github.com/osmosis-labs/osmosis/v15/x/poolmanager/types"
)
func handleCreateConcentratedLiquidityPoolsProposal(ctx sdk.Context, k Keeper, p *types.CreateConcentratedLiquidityPoolsProposal) error {
return k.HandleCreateConcentratedLiquidityPoolsProposal(ctx, p)
}
func (k Keeper) HandleCreateConcentratedLiquidityPoolsProposal(ctx sdk.Context, p *types.CreateConcentratedLiquidityPoolsProposal) error {
poolmanagerModuleAcc := k.accountKeeper.GetModuleAccount(ctx, poolmanagertypes.ModuleName)
poolCreatorAddress := poolmanagerModuleAcc.GetAddress()
for _, record := range p.PoolRecords {
createPoolMsg := clmodel.NewMsgCreateConcentratedPool(poolCreatorAddress, record.Denom0, record.Denom1, record.TickSpacing, record.SpreadFactor)
_, err := k.poolmanagerKeeper.CreateConcentratedPoolAsPoolManager(ctx, createPoolMsg)
if err != nil {
return err
}
}
return nil
}
// HandleTickSpacingDecreaseProposal handles a tick spacing decrease proposal to the corresponding keeper method.
func (k Keeper) HandleTickSpacingDecreaseProposal(ctx sdk.Context, p *types.TickSpacingDecreaseProposal) error {
return k.DecreaseConcentratedPoolTickSpacing(ctx, p.PoolIdToTickSpacingRecords)
}