event_info.gno
1.05 Kb · 35 lines
1package staker
2
3import (
4 i256 "gno.land/p/gnoswap/int256"
5 u256 "gno.land/p/gnoswap/uint256"
6 "gno.land/p/gnoswap/utils"
7)
8
9type tickCrossEventInfo struct {
10 tickID int32
11 stakedLiquidityGross *u256.Uint
12 stakedLiquidityDelta *i256.Int
13 outsideAccumulation *u256.Uint
14}
15
16// Collect tick info for event
17// - t: Tick ID
18// - slg: Staked Liquidity Gross
19// - sld: Staked Liquidity Delta
20// - oa: Outside Accumulation
21func (t *tickCrossEventInfo) ToString() string {
22 return "{\"t\":" + utils.FormatInt(t.tickID) +
23 ",\"slg\":\"" + t.stakedLiquidityGross.ToString() + "\"" +
24 ",\"sld\":\"" + t.stakedLiquidityDelta.ToString() + "\"" +
25 ",\"oa\":\"" + t.outsideAccumulation.ToString() + "\"}"
26}
27
28func NewTickCrossEventInfo(tickID int32, stakedLiquidityGross *u256.Uint, stakedLiquidityDelta *i256.Int, outsideAccumulation *u256.Uint) *tickCrossEventInfo {
29 return &tickCrossEventInfo{
30 tickID: tickID,
31 stakedLiquidityGross: stakedLiquidityGross,
32 stakedLiquidityDelta: stakedLiquidityDelta,
33 outsideAccumulation: outsideAccumulation,
34 }
35}