Documentation
¶
Index ¶
- Constants
- func DeriveLiquidityFromConcFlow(baseFlow float64, quoteFlow float64, bidTick int, askTick int) float64
- func DeriveTokensFromAmbLiquidity(liquidity float64, price float64) (baseTokens *big.Int, quoteTokens *big.Int)
- func DeriveTokensFromConcLiquidity(liquidity float64, bidTick int, askTick int, price float64) (baseTokens *big.Int, quoteTokens *big.Int)
- type APRCalcResult
- type AccumPoolStats
- type Candle
- type CandleBuilder
- type HistoryWriter
- type KnockoutLiquiditySeries
- type KnockoutPivotCands
- type KnockoutSaga
- type KnockoutSagaCross
- type KnockoutSagaTx
- type KnockoutSubplot
- func (k *KnockoutSubplot) AppendBurn(burn KnockoutSagaTx)
- func (k *KnockoutSubplot) AppendMint(mint KnockoutSagaTx)
- func (k *KnockoutSubplot) GetCrossForPivotTime(pivotTime int) (int, bool)
- func (k *KnockoutSubplot) IsActiveEmpty() bool
- func (k *KnockoutSubplot) Time() int
- func (k *KnockoutSubplot) UpdateLiqChange(l tables.LiqChange) ([]KnockoutPivotCands, bool)
- 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
- func (p *PositionTracker) CalcAPR(loc types.PositionLocation) APRCalcResult
- func (p *PositionTracker) Time() int
- func (p *PositionTracker) UpdateAmbient(liq big.Int)
- func (p *PositionTracker) UpdatePosition(l tables.LiqChange)
- func (p *PositionTracker) UpdateRange(liq big.Int, rewardsLiq big.Int)
- func (p *PositionTracker) UpdateRangeRewards(rewardsLiq big.Int)
- 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 ¶
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 // contains filtered or unexported fields }
func (*KnockoutLiquiditySeries) GetActiveLiq ¶
func (k *KnockoutLiquiditySeries) GetActiveLiq() (activeLiq *big.Int)
func (*KnockoutLiquiditySeries) UpdateActiveLiq ¶
func (k *KnockoutLiquiditySeries) UpdateActiveLiq(liqQty big.Int, refreshTime int64)
func (*KnockoutLiquiditySeries) UpdatePostKOLiq ¶
func (k *KnockoutLiquiditySeries) UpdatePostKOLiq(pivotTime int, liqQty big.Int, refreshTime int64)
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.LiqChange) []KnockoutPivotCands
type KnockoutSagaCross ¶
type KnockoutSagaTx ¶
type KnockoutSubplot ¶
type KnockoutSubplot struct { Mints []KnockoutSagaTx Burns []KnockoutSagaTx Liq KnockoutLiquiditySeries LatestUpdateTime int // contains filtered or unexported fields }
func (*KnockoutSubplot) AppendBurn ¶
func (k *KnockoutSubplot) AppendBurn(burn KnockoutSagaTx)
func (*KnockoutSubplot) AppendMint ¶
func (k *KnockoutSubplot) AppendMint(mint KnockoutSagaTx)
func (*KnockoutSubplot) GetCrossForPivotTime ¶
func (k *KnockoutSubplot) GetCrossForPivotTime(pivotTime int) (int, bool)
func (*KnockoutSubplot) IsActiveEmpty ¶
func (k *KnockoutSubplot) IsActiveEmpty() bool
func (*KnockoutSubplot) Time ¶
func (k *KnockoutSubplot) Time() int
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 LiquidityDeltaHist ¶
type LiquidityDeltaHist struct {
Hist []LiquidityDelta `json:"hist"`
}
type PoolTradingHistory ¶
type PoolTradingHistory struct { StatsCounter AccumPoolStats TimeSnaps []AccumPoolStats }
func NewPoolTradingHistory ¶
func NewPoolTradingHistory() *PoolTradingHistory
func (*PoolTradingHistory) Len ¶
func (h *PoolTradingHistory) Len() int
func (*PoolTradingHistory) NextEvent ¶
func (h *PoolTradingHistory) NextEvent(r tables.AggEvent)
func (*PoolTradingHistory) SetInitPrice ¶
func (h *PoolTradingHistory) SetInitPrice(price float64)
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 tables.PosType `json:"positionType"` PositionLiquidity LiqHist LiquidityDeltaHist `json:"-"` }
func (*PositionTracker) CalcAPR ¶
func (p *PositionTracker) CalcAPR(loc types.PositionLocation) APRCalcResult
func (*PositionTracker) Time ¶
func (p *PositionTracker) Time() int
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)
func (*PositionTracker) UpdateRangeRewards ¶
func (p *PositionTracker) UpdateRangeRewards(rewardsLiq big.Int)
type RunningCandle ¶
type RunningCandle struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.