Skip to content

Commit

Permalink
feat: tick init/deinit for CL (#7622)
Browse files Browse the repository at this point in the history
(cherry picked from commit ea2310a)

# Conflicts:
#	CHANGELOG.md
  • Loading branch information
p0mvn authored and mergify[bot] committed Feb 28, 2024
1 parent ec69975 commit 3e8ca61
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### State Compatible

* [#7590](https://github.com/osmosis-labs/osmosis/pull/7590) fix cwpool migration prop disallowing only one of code id or bytecode.
<<<<<<< HEAD
=======
* [#7582](https://github.com/osmosis-labs/osmosis/pull/7582) IAVL v1
* [#7622](https://github.com/osmosis-labs/osmosis/pull/7622) Create/remove tick events.
>>>>>>> ea2310a6 (feat: tick init/deinit for CL (#7622))
## v23.0.0

Expand Down
26 changes: 25 additions & 1 deletion x/concentrated-liquidity/tick.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,21 @@ func (k Keeper) makeInitialTickInfo(ctx sdk.Context, poolId uint64, tickIndex in
initialUptimeTrackers = append(initialUptimeTrackers, model.UptimeTracker{UptimeGrowthOutside: uptimeTrackerValue})
}

return model.TickInfo{LiquidityGross: osmomath.ZeroDec(), LiquidityNet: osmomath.ZeroDec(), SpreadRewardGrowthOppositeDirectionOfLastTraversal: initialSpreadRewardGrowthOppositeDirectionOfLastTraversal, UptimeTrackers: model.UptimeTrackers{List: initialUptimeTrackers}}, nil
uptimeTrackers := model.UptimeTrackers{List: initialUptimeTrackers}

// Emit init tick event
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.TypeEvtInitTick,
sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
sdk.NewAttribute(types.AttributeKeyPoolId, strconv.FormatUint(poolId, 10)),
sdk.NewAttribute(types.AttributeKeyTickIndex, strconv.FormatInt(tickIndex, 10)),
sdk.NewAttribute(types.AttributeKeySpreadRewardGrowthOppositeDirectionOfLastTraversal, initialSpreadRewardGrowthOppositeDirectionOfLastTraversal.String()),
sdk.NewAttribute(types.AttributeKeyUptimeGrowthOppositeDirectionOfLastTraversal, uptimeTrackers.String()),
),
})

return model.TickInfo{LiquidityGross: osmomath.ZeroDec(), LiquidityNet: osmomath.ZeroDec(), SpreadRewardGrowthOppositeDirectionOfLastTraversal: initialSpreadRewardGrowthOppositeDirectionOfLastTraversal, UptimeTrackers: uptimeTrackers}, nil
}

func (k Keeper) SetTickInfo(ctx sdk.Context, poolId uint64, tickIndex int64, tickInfo *model.TickInfo) {
Expand All @@ -167,6 +181,16 @@ func (k Keeper) RemoveTickInfo(ctx sdk.Context, poolId uint64, tickIndex int64)
store := ctx.KVStore(k.storeKey)
key := types.KeyTick(poolId, tickIndex)
store.Delete(key)

// Emit remove tick event
ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.TypeEvtRemoveTick,
sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
sdk.NewAttribute(types.AttributeKeyPoolId, strconv.FormatUint(poolId, 10)),
sdk.NewAttribute(types.AttributeKeyTickIndex, strconv.FormatInt(tickIndex, 10)),
),
})
}

func (k Keeper) GetAllInitializedTicksForPool(ctx sdk.Context, poolId uint64) ([]genesis.FullTick, error) {
Expand Down
2 changes: 2 additions & 0 deletions x/concentrated-liquidity/types/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ const (
TypeEvtMoveRewards = "move_rewards"
TypeEvtCrossTick = "cross_tick"
TypeEvtTransferPositions = "transfer_positions"
TypeEvtInitTick = "init_tick"
TypeEvtRemoveTick = "remove_tick"

AttributeValueCategory = ModuleName
AttributeKeyPositionId = "position_id"
Expand Down

0 comments on commit 3e8ca61

Please sign in to comment.