Documentation
¶
Index ¶
- Variables
- type Address
- type Dex
- type DexAPI
- type DexEvent
- type DexPosition
- type DexTicker
- type DexTrade
- type Farm
- type FarmAPI
- type FarmEvent
- type FarmPosition
- type LendingAPI
- type LendingEvent
- type LendingPool
- type LendingPosition
- type OpHash
- type PoolAddress
- type Query
- type Token
- type TokenAddress
- type Z
Constants ¶
This section is empty.
Variables ¶
View Source
var ( AddressTypeContract = tezos.AddressTypeContract ParseAddress = tezos.ParseAddress NewAddress = tezos.NewAddress )
Functions ¶
This section is empty.
Types ¶
type Dex ¶
type Dex struct {
Id uint64 `json:"id"`
Contract string `json:"contract"`
PairId int `json:"pair_id"`
Creator string `json:"creator"`
Name string `json:"name"`
Entity string `json:"entity"`
Pair string `json:"pair"`
NumTokens int `json:"num_tokens"`
TokenA *Token `json:"token_a"`
TokenB *Token `json:"token_b"`
TokenLP *Token `json:"token_lp"`
FirstBlock int64 `json:"first_block"`
FirstTime time.Time `json:"first_time"`
Tags []string `json:"tags"`
SupplyA Z `json:"supply_a"`
SupplyB Z `json:"supply_b"`
SupplyLP Z `json:"supply_lp"`
LastChangeBlock int64 `json:"last_change_block"`
LastChangeTime time.Time `json:"last_change_time"`
LastTradeTime time.Time `json:"last_trade_time"`
NumTrades int `json:"num_trades"`
FeesBps float64 `json:"fees_bps,string"`
Price float64 `json:"price,string"`
PriceUSD float64 `json:"price_usd,string"`
LiquidityUSD float64 `json:"liquidity_usd,string"`
NumCurrentLPs int `json:"num_lps"`
NumTotalLPs int `json:"num_total_lps"`
NumTotalUsers int `json:"num_total_users"`
}
func (Dex) Address ¶
func (p Dex) Address() PoolAddress
type DexAPI ¶
type DexAPI interface {
GetDex(context.Context, PoolAddress) (*Dex, error)
GetTicker(context.Context, PoolAddress) (*DexTicker, error)
ListPoolEvents(context.Context, PoolAddress, Query) ([]*DexEvent, error)
ListPoolTrades(context.Context, PoolAddress, Query) ([]*DexTrade, error)
ListPoolPositions(context.Context, PoolAddress, Query) ([]*DexPosition, error)
// firehose
ListDex(context.Context, Query) ([]*Dex, error)
ListTickers(context.Context, Query) ([]*DexTicker, error)
ListEvents(context.Context, Query) ([]*DexEvent, error)
ListTrades(context.Context, Query) ([]*DexTrade, error)
ListPositions(context.Context, Query) ([]*DexPosition, error)
}
type DexEvent ¶
type DexEvent struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PairId int `json:"pair_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Pair string `json:"pair"`
Type string `json:"event_type"`
VolumeA Z `json:"volume_a"`
VolumeB Z `json:"volume_b"`
VolumeLP Z `json:"volume_lp"`
DecimalsA int `json:"decimals_a"`
DecimalsB int `json:"decimals_b"`
DecimalsLP int `json:"decimals_lp"`
SupplyA Z `json:"supply_a"`
SupplyB Z `json:"supply_b"`
SupplyLP Z `json:"supply_lp"`
ValueUSD float64 `json:"value_usd,string"`
Signer Address `json:"signer"`
Sender Address `json:"sender"`
Receiver Address `json:"receiver"`
Router Address `json:"router"`
TxHash OpHash `json:"tx_hash"`
TxFee int64 `json:"tx_fee,string"`
Block int64 `json:"block"`
Time time.Time `json:"time"`
}
type DexPosition ¶
type DexPosition struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PairId int `json:"pair_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Pair string `json:"pair"`
Owner Address `json:"owner"`
DecimalsA int `json:"decimals_a"`
DecimalsB int `json:"decimals_b"`
DecimalsLP int `json:"decimals_lp"`
ValueA Z `json:"value_a"`
ValueB Z `json:"value_b"`
DepositedA Z `json:"deposited_a"`
DepositedB Z `json:"deposited_b"`
WithdrawnA Z `json:"withdrawn_a"`
WithdrawnB Z `json:"withdrawn_b"`
IsClosed bool `json:"is_closed"`
OpenBlock int64 `json:"open_block"`
OpenTime time.Time `json:"open_time"`
CloseBlock int64 `json:"close_block,omitempty"`
CloseTime *time.Time `json:"close_time,omitempty"`
PositionValueUSD float64 `json:"position_value_usd,string"`
OpenValueUSD float64 `json:"open_value_usd,string"`
CloseValueUSD float64 `json:"close_value_usd,string"`
FeeIncomeUSD float64 `json:"fee_income_usd,string"`
FeeIncomeBps float64 `json:"fee_income_bps,string"`
ProfitLossUSD float64 `json:"pnl_usd,string"`
ProfitLossBps float64 `json:"pnl_bps,string"`
}
type DexTicker ¶
type DexTicker struct {
Id uint64 `json:"id"`
Pair string `json:"pair"`
Pool PoolAddress `json:"pool"`
Name string `json:"name"`
Entity string `json:"entity"`
PriceChange float64 `json:"price_change,string"`
PriceChangeBps float64 `json:"price_change_bps,string"`
AskPrice float64 `json:"ask_price,string"`
WeightedAvgPrice float64 `json:"weighted_avg_price,string"`
LastPrice float64 `json:"last_price,string"`
LastQty float64 `json:"last_qty,string"`
LastTradeTime time.Time `json:"last_trade_time"`
BaseVolume float64 `json:"base_volume,string"`
QuoteVolume float64 `json:"quote_volume,string"`
OpenPrice float64 `json:"open_price,string"`
HighPrice float64 `json:"high_price,string"`
LowPrice float64 `json:"low_price,string"`
OpenTime time.Time `json:"open_time"`
CloseTime time.Time `json:"close_time"`
NumTrades int `json:"num_trades"`
LiquidityUSD string `json:"liquidity_usd"`
PriceUSD string `json:"price_usd"`
}
type DexTrade ¶
type DexTrade struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PairId int `json:"pair_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Pair string `json:"pair"`
Counter int64 `json:"counter"`
Side string `json:"side"`
BaseVolume Z `json:"base_volume"`
BaseSymbol string `json:"base_symbol"`
BaseDecimals int `json:"base_decimals"`
QuoteVolume Z `json:"quote_volume"`
QuoteSymbol string `json:"quote_symbol"`
QuoteDecimals int `json:"quote_decimals"`
LpFee Z `json:"lp_fee"`
LpFeeBps float64 `json:"lp_fee_bps,string"`
LpFeeSymbol string `json:"lp_fee_symbol"`
LpFeeDecimals int `json:"lp_fee_decimals"`
DevFee Z `json:"dev_fee"`
DevFeeBps float64 `json:"dev_fee_bps,string"`
DevFeeSymbol string `json:"dev_fee_symbol"`
DevFeeDecimals int `json:"dev_fee_decimals"`
RefFee Z `json:"referral_fee"`
RefFeeBps float64 `json:"referral_fee_bps,string"`
RefFeeSymbol string `json:"referral_fee_symbol"`
RefFeeDecimals int `json:"referral_fee_decimals"`
IncFee Z `json:"incentive_fee"`
IncFeeBps float64 `json:"incentive_fee_bps,string"`
IncFeeSymbol string `json:"incentive_fee_symbol"`
IncFeeDecimals int `json:"incentive_fee_decimals"`
Burn Z `json:"burn"`
BurnBps float64 `json:"burn_bps,string"`
BurnSymbol string `json:"burn_symbol"`
BurnDecimals int `json:"burn_decimals"`
PriceSymbol string `json:"price_symbol"`
PriceDecimals int `json:"price_decimals"`
PriceNet float64 `json:"price_net,string"` // including fees
PriceGross float64 `json:"price_gross,string"` // excluding fees
PriceBefore float64 `json:"price_before,string"` // marginal price before execution
PriceAfter float64 `json:"price_after,string"` // marginal price after execution
Delta float64 `json:"price_delta_bps,string"` // price delta (in basispoints) between mid price and execution price
Impact float64 `json:"price_impact_bps,string"` // price impact (in basispoints) between mid price and next mid price
Signer string `json:"signer"`
Sender string `json:"sender"`
Receiver string `json:"receiver"`
Router string `json:"router"`
IsWash bool `json:"is_wash_trade"`
TxHash string `json:"tx_hash"`
TxFee int64 `json:"tx_fee,string"`
TxFeeSymbol string `json:"tx_fee_symbol"`
TxFeeDecimals int `json:"tx_fee_decimals"`
Block int64 `json:"block"`
Time time.Time `json:"time"`
PriceUSD float64 `json:"price_usd,string"`
FeesUSD float64 `json:"fees_usd,string"`
VolumeUSD float64 `json:"volume_usd,string"`
}
type Farm ¶
type Farm struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Creator Address `json:"creator"`
Name string `json:"name"`
Entity string `json:"entity"`
StakeToken *Token `json:"stake_token"`
RewardToken *Token `json:"reward_token"`
FirstBlock int64 `json:"first_block"`
FirstTime time.Time `json:"first_time"`
Tags []string `json:"tags"`
TotalStake Z `json:"total_stake"`
RemainingRewards Z `json:"remaining_rewards"`
NumPositions int `json:"num_positions"`
StartTime *time.Time `json:"start_time,omitempty"`
EndTime *time.Time `json:"end_time,omitempty"`
StakeValueUSD float64 `json:"stake_value_usd,string"`
RewardsValueUSD float64 `json:"rewards_value_usd,string"`
}
func (Farm) Address ¶
func (p Farm) Address() PoolAddress
type FarmAPI ¶
type FarmAPI interface {
GetFarm(context.Context, PoolAddress) (*Farm, error)
ListPoolEvents(context.Context, PoolAddress, Query) ([]*FarmEvent, error)
ListFarmPoolPositions(context.Context, PoolAddress, Query) ([]*FarmPosition, error)
// firehose
ListFarms(context.Context, Query) ([]*Farm, error)
ListEvents(context.Context, Query) ([]*FarmEvent, error)
ListPositions(context.Context, Query) ([]*FarmPosition, error)
}
func NewFarmAPI ¶
type FarmEvent ¶
type FarmEvent struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Type string `json:"event_type"`
StakeToken TokenAddress `json:"stake_token"`
RewardToken TokenAddress `json:"reward_token"`
StakeSymbol string `json:"stake_symbol"`
RewardSymbol string `json:"reward_symbol"`
StakeDecimals int `json:"stake_decimals"`
RewardDecimals int `json:"reward_decimals"`
Volume Z `json:"volume"`
Reward Z `json:"reward"`
Fee Z `json:"fee"`
FeeBps float64 `json:"fee_bps,string"`
StakeId int64 `json:"stake_id"`
StakeSupply Z `json:"stake_supply"`
RewardSupply Z `json:"reward_supply"`
Signer Address `json:"signer"`
Sender Address `json:"sender"`
Receiver Address `json:"receiver"`
TxHash OpHash `json:"tx_hash"`
TxFee int64 `json:"tx_fee,string"`
Block int64 `json:"block"`
Time time.Time `json:"time"`
}
type FarmPosition ¶
type FarmPosition struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Owner Address `json:"owner"`
StakeToken TokenAddress `json:"stake_token"`
RewardToken TokenAddress `json:"reward_token"`
StakeSymbol string `json:"stake_symbol"`
RewardSymbol string `json:"reward_symbol"`
StakeDecimals int `json:"stake_decimals"`
RewardDecimals int `json:"reward_decimals"`
TotalStake Z `json:"total_stake"`
StakeId int64 `json:"stake_id"`
Stake Z `json:"stake_balance"`
Deposited Z `json:"stake_deposited"`
Withdrawn Z `json:"stake_withdrawn"`
Claimed Z `json:"rewards_claimed"`
Pending Z `json:"rewards_pending"`
IsClosed bool `json:"is_closed"`
OpenBlock int64 `json:"open_block"`
OpenTime time.Time `json:"open_time"`
CloseBlock int64 `json:"close_block,omitempty"`
CloseTime *time.Time `json:"close_time,omitempty"`
ValueUSD float64 `json:"value_usd,string"`
PendingUSD float64 `json:"pending_usd,string"`
ClaimedUSD float64 `json:"claimed_usd,string"`
}
type LendingAPI ¶
type LendingAPI interface {
GetPool(context.Context, PoolAddress) (*LendingPool, error)
ListPoolEvents(context.Context, PoolAddress, Query) ([]*LendingEvent, error)
ListPoolPositions(context.Context, PoolAddress, Query) ([]*LendingPosition, error)
// firehose
ListPools(context.Context, Query) ([]*LendingPool, error)
ListEvents(context.Context, Query) ([]*LendingEvent, error)
ListPositions(context.Context, Query) ([]*LendingPosition, error)
}
func NewLendingAPI ¶
func NewLendingAPI(c *client.Client) LendingAPI
type LendingEvent ¶
type LendingEvent struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Type string `json:"event_type"`
DebtToken TokenAddress `json:"debt_token"`
CollateralToken TokenAddress `json:"collateral_token"`
DebtDecimals int `json:"debt_decimals"`
CollateralDecimals int `json:"collateral_decimals"`
DebtSymbol string `json:"debt_symbol"`
CollateralSymbol string `json:"collateral_symbol"`
Owner Address `json:"owner"`
StakeId int64 `json:"stake_id"`
Volume Z `json:"volume"`
Debt Z `json:"debt"`
Collateral Z `json:"collateral"`
Fee Z `json:"fee"`
Interest Z `json:"interest"`
Signer Address `json:"signer"`
Sender Address `json:"sender"`
Receiver Address `json:"receiver"`
TxHash OpHash `json:"tx_hash"`
TxFee int64 `json:"tx_fee,string"`
Block int64 `json:"block"`
Time time.Time `json:"time"`
}
type LendingPool ¶
type LendingPool struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Creator Address `json:"creator"`
Name string `json:"name"`
Entity string `json:"entity"`
DebtToken *Token `json:"debt_token"`
CollateralToken *Token `json:"collateral_token"`
FirstBlock int64 `json:"first_block"`
FirstTime time.Time `json:"first_time"`
Tags []string `json:"tags"`
TotalCollateral Z `json:"total_collateral"`
TotalDebt Z `json:"total_debt"`
NumDeposits int `json:"num_deposits"`
NumBorrows int `json:"num_borrows"`
CollateralValueUSD float64 `json:"collateral_value_usd,string"`
DebtValueUSD float64 `json:"debt_value_usd,string"`
}
func (LendingPool) Address ¶
func (p LendingPool) Address() PoolAddress
type LendingPosition ¶
type LendingPosition struct {
Id uint64 `json:"id"`
Contract Address `json:"contract"`
PoolId int `json:"pool_id"`
Name string `json:"name"`
Entity string `json:"entity"`
Owner Address `json:"owner"`
StakeId int64 `json:"stake_id"`
DebtToken TokenAddress `json:"debt_token"`
CollateralToken TokenAddress `json:"collateral_token"`
DebtDecimals int `json:"debt_decimals"`
CollateralDecimals int `json:"collateral_decimals"`
DebtSymbol string `json:"debt_symbol"`
CollateralSymbol string `json:"collateral_symbol"`
Balance Z `json:"balance"`
Deposited Z `json:"deposited"`
Withdrawn Z `json:"withdrawn"`
Borrowed Z `json:"borrowed"`
Repaid Z `json:"repaid"`
Liquidated Z `json:"liquidated"`
Sent Z `json:"sent"`
Received Z `json:"received"`
InterestEarned Z `json:"interest_earned"`
InterestPaid Z `json:"interest_paid"`
InterestPending Z `json:"interest_pending"`
IsClosed bool `json:"is_closed"`
OpenBlock int64 `json:"open_block"`
OpenTime time.Time `json:"open_time"`
CloseBlock int64 `json:"close_block,omitempty"`
CloseTime *time.Time `json:"close_time,omitempty"`
PositionUSD float64 `json:"position_value_usd,string"`
InterestUSD float64 `json:"interest_pending_usd,string"`
}
type PoolAddress ¶
PoolAddress represents a specialized address that consists of a smart contract KT1 address and a numeric pool id.
func MustParsePoolAddress ¶
func MustParsePoolAddress(s string) PoolAddress
func NewPoolAddress ¶
func NewPoolAddress(contract Address, id int) (a PoolAddress)
func ParsePoolAddress ¶
func ParsePoolAddress(s string) (PoolAddress, error)
func (PoolAddress) Clone ¶
func (a PoolAddress) Clone() PoolAddress
func (PoolAddress) Contract ¶
func (a PoolAddress) Contract() Address
func (PoolAddress) Equal ¶
func (a PoolAddress) Equal(b PoolAddress) bool
func (PoolAddress) PoolId ¶
func (a PoolAddress) PoolId() int
func (PoolAddress) String ¶
func (a PoolAddress) String() string
func (*PoolAddress) UnmarshalText ¶
func (a *PoolAddress) UnmarshalText(data []byte) error
type TokenAddress ¶ added in v0.17.3
Click to show internal directories.
Click to hide internal directories.