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.