Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

event_info.gno

1.70 Kb · 48 lines
 1package staker
 2
 3import (
 4	i256 "gno.land/p/gnoswap/int256/v1"
 5	u256 "gno.land/p/gnoswap/uint256/v1"
 6	"gno.land/p/gnoswap/utils/v1"
 7)
 8
 9type tickCrossEventInfo struct {
10	tickID               int32
11	stakedLiquidityGross *u256.Uint
12	stakedLiquidityDelta *i256.Int
13	outsideAccumulation  *u256.Uint
14}
15
16// ToString serializes tick-cross information as a compact JSON object for event emission.
17// - t: Tick ID
18// - slg: Staked Liquidity Gross
19// - sld: Staked Liquidity Delta
20// - oa: Outside Accumulation
21//
22// Returns:
23//   - json: JSON object string containing the tick ID and the three encoded liquidity/accumulation values.
24func (t *tickCrossEventInfo) ToString() string {
25	return "{\"t\":" + utils.FormatInt(t.tickID) +
26		",\"slg\":\"" + t.stakedLiquidityGross.ToString() + "\"" +
27		",\"sld\":\"" + t.stakedLiquidityDelta.ToString() + "\"" +
28		",\"oa\":\"" + t.outsideAccumulation.ToString() + "\"}"
29}
30
31// NewTickCrossEventInfo captures the values emitted when a swap crosses a tick.
32//
33// Parameters:
34//   - tickID: Tick index crossed during the swap.
35//   - stakedLiquidityGross: Total staked liquidity at the crossed tick.
36//   - stakedLiquidityDelta: Net staked liquidity change applied at the crossed tick.
37//   - outsideAccumulation: Reward-ratio accumulation outside the crossed tick.
38//
39// Returns:
40//   - info: Event payload containing the supplied tick-cross values.
41func NewTickCrossEventInfo(tickID int32, stakedLiquidityGross *u256.Uint, stakedLiquidityDelta *i256.Int, outsideAccumulation *u256.Uint) *tickCrossEventInfo {
42	return &tickCrossEventInfo{
43		tickID:               tickID,
44		stakedLiquidityGross: stakedLiquidityGross,
45		stakedLiquidityDelta: stakedLiquidityDelta,
46		outsideAccumulation:  outsideAccumulation,
47	}
48}