Skip to content

refactor(incentives, poolincentives): change incentivized duration for NoLock gauges from incentivized epoch duration to zero #6616

Open
@p0mvn

Description

@p0mvn

Background

The current decision of having a non-zero incentivized duration for NoLock gauges is confusing. The reason is that these durations also refer to lockable durations. By design, NoLock gauges are not associated with the lock

Therefore, it would be best to set their incentivized duration to zero.

Comment from @czarcas7ic that is attached for more context:

Getting further confused, the comment here says we create a byDuration link when we create a noLock gauge for CL pools, and that duration is the one that is used in distrRecords. In reality it looks like we just point the epoch duration to a noLock gauge ID and use it for the store. Why do we do this? Why cant we just use the duration of zero? I guess its just confusing that we use a noLock gauge in the first place if we need to reference it with a duration anyway? Any explanation would be very much appreciated and from there I can hopefully explain it better in in-line comments

// Although the pool id <> gauge "NoLock" link is created in CreateGauge,
// we create an additional "ByDuration" link here for tracking
// internal incentive "NoLock" gauges
if err := k.SetPoolGaugeIdInternalIncentive(ctx, poolId, incentivesEpochDuration, gaugeId); err != nil {

Suggested Design

Evaluate the requirements for changing the incentivized duration from incentives epoch duration to zero.
Draft a proposal with the plans going forward.

Acceptance Criteria

  • Drafted proposal / Summary of this issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Needs Triage 🔍

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions