Documentation ¶
Index ¶
- Constants
- type APRCalcResult
- type AccumPoolStats
- type Candle
- type CandleBuilder
- type HistoryWriter
- type KnockoutLiquiditySeries
- type KnockoutPivotCands
- type KnockoutSaga
- type KnockoutSagaCross
- type KnockoutSagaTx
- type KnockoutSubplot
- type LiquidityBump
- func (b *LiquidityBump) IncrKOAsk(liqDelta float64, joinTick int)
- func (b *LiquidityBump) IncrKOBid(liqDelta float64, joinTick int)
- func (b *LiquidityBump) IncrLiquidity(liqDelta float64, time int)
- func (b *LiquidityBump) KnockoutAsk(time int) (float64, int)
- func (b *LiquidityBump) KnockoutBid(time int) (float64, int)
- type LiquidityCurve
- type LiquidityDelta
- type LiquidityDeltaHist
- type PoolTradingHistory
- type PositionLiquidity
- type PositionTracker
- type RunningCandle
Constants ¶
View Source
const MAX_APR_CAP = 10.0
View Source
const MIN_NUMERIC_STABLE_FLOW = 1000
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APRCalcResult ¶
type AccumPoolStats ¶
type AccumPoolStats struct { LatestTime int `json:"latestTime"` BaseTvl float64 `json:"baseTvl"` QuoteTvl float64 `json:"quoteTvl"` BaseVolume float64 `json:"baseVolume"` QuoteVolume float64 `json:"quoteVolume"` BaseFees float64 `json:"baseFees"` QuoteFees float64 `json:"quoteFees"` LastPriceSwap float64 `json:"lastPriceSwap"` LastPriceLiq float64 `json:"lastPriceLiq"` LastPriceIndic float64 `json:"lastPriceIndic"` FeeRate float64 `json:"feeRate"` }
func (*AccumPoolStats) Accumulate ¶
func (a *AccumPoolStats) Accumulate(e tables.AggEvent)
type Candle ¶
type Candle struct { PriceOpen float64 `json:"priceOpen"` PriceClose float64 `json:"priceClose"` MinPrice float64 `json:"minPrice"` MaxPrice float64 `json:"maxPrice"` VolumeBase float64 `json:"volumeBase"` VolumeQuote float64 `json:"volumeQuote"` TvlBase float64 `json:"tvlBase"` TvlQuote float64 `json:"tvlQuote"` FeeRateOpen float64 `json:"feeRateOpen"` FeeRateClose float64 `json:"feeRateClose"` Period int `json:"period"` Time int `json:"time"` }
type CandleBuilder ¶
type CandleBuilder struct {
// contains filtered or unexported fields
}
func NewCandleBuilder ¶
func NewCandleBuilder(startTime int, period int, open AccumPoolStats) *CandleBuilder
func (*CandleBuilder) Close ¶
func (c *CandleBuilder) Close(endTime int) []Candle
func (*CandleBuilder) Increment ¶
func (c *CandleBuilder) Increment(accum AccumPoolStats)
type HistoryWriter ¶
type HistoryWriter struct {
// contains filtered or unexported fields
}
func NewHistoryWriter ¶
func NewHistoryWriter(netCfg loader.NetworkConfig, commitFn func(types.PoolTxEvent)) *HistoryWriter
func (*HistoryWriter) CommitLiqChange ¶
func (h *HistoryWriter) CommitLiqChange(s tables.LiqChange)
func (*HistoryWriter) CommitSwap ¶
func (h *HistoryWriter) CommitSwap(s tables.Swap)
type KnockoutLiquiditySeries ¶
type KnockoutLiquiditySeries struct { Active PositionLiquidity KnockedOut map[int]*PositionLiquidity TimeFirstMint int }
func (*KnockoutLiquiditySeries) UpdateActiveLiq ¶
func (k *KnockoutLiquiditySeries) UpdateActiveLiq(liqQty big.Int)
func (*KnockoutLiquiditySeries) UpdatePostKOLiq ¶
func (k *KnockoutLiquiditySeries) UpdatePostKOLiq(pivotTime int, liqQty big.Int)
type KnockoutPivotCands ¶
type KnockoutPivotCands struct { PivotTime int User types.EthAddress }
type KnockoutSaga ¶
type KnockoutSaga struct {
// contains filtered or unexported fields
}
func NewKnockoutSaga ¶
func NewKnockoutSaga() *KnockoutSaga
func (*KnockoutSaga) ForUser ¶
func (k *KnockoutSaga) ForUser(user types.EthAddress) *KnockoutSubplot
func (*KnockoutSaga) UpdateCross ¶
func (k *KnockoutSaga) UpdateCross(l tables.KnockoutCross) []KnockoutPivotCands
type KnockoutSagaCross ¶
type KnockoutSagaTx ¶
type KnockoutSubplot ¶
type KnockoutSubplot struct { Liq KnockoutLiquiditySeries LatestTime int // contains filtered or unexported fields }
func (*KnockoutSubplot) GetCrossForPivotTime ¶
func (k *KnockoutSubplot) GetCrossForPivotTime(pivotTime int) (int, bool)
func (*KnockoutSubplot) IsActiveEmpty ¶
func (k *KnockoutSubplot) IsActiveEmpty() bool
func (*KnockoutSubplot) UpdateLiqChange ¶
func (k *KnockoutSubplot) UpdateLiqChange(l tables.LiqChange) ([]KnockoutPivotCands, bool)
type LiquidityBump ¶
type LiquidityBump struct { Tick int `json:"bumpTick"` LiquidityDelta float64 `json:"liquidityDelta"` KnockoutBidLiq float64 `json:"knockoutBidLiq"` KnockoutAskLiq float64 `json:"knockoutAskLiq"` KnockoutBidWidth int `json:"knockoutBidWidth"` KnockoutAskWidth int `json:"knockoutAskWidth"` LatestUpdateTime int `json:"latestUpdateTime"` }
func (*LiquidityBump) IncrKOAsk ¶
func (b *LiquidityBump) IncrKOAsk(liqDelta float64, joinTick int)
func (*LiquidityBump) IncrKOBid ¶
func (b *LiquidityBump) IncrKOBid(liqDelta float64, joinTick int)
func (*LiquidityBump) IncrLiquidity ¶
func (b *LiquidityBump) IncrLiquidity(liqDelta float64, time int)
func (*LiquidityBump) KnockoutAsk ¶
func (b *LiquidityBump) KnockoutAsk(time int) (float64, int)
func (*LiquidityBump) KnockoutBid ¶
func (b *LiquidityBump) KnockoutBid(time int) (float64, int)
type LiquidityCurve ¶
type LiquidityCurve struct { AmbientLiq float64 Bumps map[int]*LiquidityBump }
func NewLiquidityCurve ¶
func NewLiquidityCurve() *LiquidityCurve
func (*LiquidityCurve) UpdateLiqChange ¶
func (c *LiquidityCurve) UpdateLiqChange(l tables.LiqChange)
type LiquidityDelta ¶
type LiquidityDelta struct {
// contains filtered or unexported fields
}
type LiquidityDeltaHist ¶
type LiquidityDeltaHist struct {
// contains filtered or unexported fields
}
type PoolTradingHistory ¶
type PoolTradingHistory struct { StatsCounter AccumPoolStats TimeSnaps []AccumPoolStats }
func NewPoolTradingHistory ¶
func NewPoolTradingHistory() *PoolTradingHistory
func (*PoolTradingHistory) NextEvent ¶
func (h *PoolTradingHistory) NextEvent(r tables.AggEvent)
type PositionLiquidity ¶
type PositionLiquidity struct { AmbientLiq big.Int `json:"ambientLiq"` ConcLiq big.Int `json:"concLiq"` RewardLiq big.Int `json:"rewardLiq"` RefreshTime int64 `json:"liqRefreshTime"` }
func (*PositionLiquidity) IsConcentrated ¶
func (p *PositionLiquidity) IsConcentrated() bool
func (*PositionLiquidity) IsEmpty ¶
func (p *PositionLiquidity) IsEmpty() bool
type PositionTracker ¶
type PositionTracker struct { TimeFirstMint int `json:"timeFirstMint"` LatestUpdateTime int `json:"latestUpdateTime"` LastMintTx string `json:"lastMintTx"` FirstMintTx string `json:"firstMintTx"` PositionType string `json:"positionType"` PositionLiquidity // contains filtered or unexported fields }
func (*PositionTracker) CalcAPR ¶
func (p *PositionTracker) CalcAPR(loc types.PositionLocation) APRCalcResult
func (*PositionTracker) UpdateAmbient ¶
func (p *PositionTracker) UpdateAmbient(liq big.Int)
func (*PositionTracker) UpdatePosition ¶
func (p *PositionTracker) UpdatePosition(l tables.LiqChange)
func (*PositionTracker) UpdateRange ¶
func (p *PositionTracker) UpdateRange(liq big.Int, rewardsLiq big.Int)
type RunningCandle ¶
type RunningCandle struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.