Documentation ¶
Index ¶
- type AAVEMarket
- type AAVEProtocol
- type AAVEv2Protocol
- type BZXProtocol
- type BZXRate
- type BitfinexProtocol
- type BitfinexTickerIndex
- type BitfinexWSSConnection
- type Collateral
- type CompoundProtocol
- type CompoundRate
- type DDEXMarket
- type DDEXProtocol
- type DDai
- type DHARMAMArket
- type DYDXMarket
- type DYDXProtocol
- type DeFIHelper
- type DefiScraper
- type DharmaProtocol
- type ForTubeProtocol
- type ForTubeRate
- type LendingPool
- type MakerdaoProtocol
- type NuoProtocol
- type NuoRate
- type NuoResponse
- type Portfolio
- type RAYPortfolio
- type RAYProtocol
- type Reserve
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AAVEMarket ¶
type AAVEMarket struct { Data struct { Reserves []Reserve `json:"reserves"` } `json:"data"` }
type AAVEProtocol ¶
type AAVEProtocol struct {
// contains filtered or unexported fields
}
func NewAAVE ¶
func NewAAVE(scraper *DefiScraper, protocol dia.DefiProtocol) *AAVEProtocol
func (*AAVEProtocol) UpdateRate ¶
func (proto *AAVEProtocol) UpdateRate() error
func (*AAVEProtocol) UpdateState ¶
func (proto *AAVEProtocol) UpdateState() error
type AAVEv2Protocol ¶
type AAVEv2Protocol struct {
// contains filtered or unexported fields
}
func NewAAVEv2 ¶
func NewAAVEv2(scraper *DefiScraper, protocol dia.DefiProtocol) *AAVEv2Protocol
func (*AAVEv2Protocol) UpdateRate ¶
func (proto *AAVEv2Protocol) UpdateRate() error
func (*AAVEv2Protocol) UpdateState ¶
func (proto *AAVEv2Protocol) UpdateState() error
type BZXProtocol ¶
type BZXProtocol struct {
// contains filtered or unexported fields
}
func NewBZX ¶
func NewBZX(scraper *DefiScraper, protocol dia.DefiProtocol) *BZXProtocol
func (*BZXProtocol) UpdateRate ¶
func (proto *BZXProtocol) UpdateRate() error
func (*BZXProtocol) UpdateState ¶
func (proto *BZXProtocol) UpdateState() error
type BitfinexProtocol ¶
type BitfinexProtocol struct { WsConnections []*BitfinexWSSConnection // contains filtered or unexported fields }
func NewBitfinex ¶
func NewBitfinex(scraper *DefiScraper, protocol dia.DefiProtocol) *BitfinexProtocol
func (*BitfinexProtocol) UpdateRate ¶
func (proto *BitfinexProtocol) UpdateRate() error
func (*BitfinexProtocol) UpdateState ¶
func (proto *BitfinexProtocol) UpdateState() error
type BitfinexTickerIndex ¶
type BitfinexTickerIndex uint
const ( FRR BitfinexTickerIndex = iota BID BID_PERIOD BID_SIZE ASK ASK_PERIOD ASK_SIZE DAILY_CHANGE DAILY_CHANGE_RELATIVE LAST_PRICE VOLUME HIGH LOW FRR_AMOUNT_AVAILABLE )
Bitfinex response message indices
type BitfinexWSSConnection ¶
type BitfinexWSSConnection struct {
// contains filtered or unexported fields
}
type Collateral ¶
type Collateral struct {
// contains filtered or unexported fields
}
type CompoundProtocol ¶
type CompoundProtocol struct {
// contains filtered or unexported fields
}
func NewCompound ¶
func NewCompound(scraper *DefiScraper, protocol dia.DefiProtocol) *CompoundProtocol
func NewCreamFinance ¶
func NewCreamFinance(scraper *DefiScraper, protocol dia.DefiProtocol) *CompoundProtocol
func (*CompoundProtocol) UpdateRate ¶
func (proto *CompoundProtocol) UpdateRate() error
func (*CompoundProtocol) UpdateState ¶
func (proto *CompoundProtocol) UpdateState() error
type CompoundRate ¶
type DDEXMarket ¶
type DDEXMarket struct { Status int `json:"status"` Desc string `json:"desc"` Template string `json:"template"` Params interface{} `json:"params"` Data struct { LendingPoolStats []LendingPool `json:"lendingPoolStats"` } `json:"data"` }
type DDEXProtocol ¶
type DDEXProtocol struct {
// contains filtered or unexported fields
}
func NewDDEX ¶
func NewDDEX(scraper *DefiScraper, protocol dia.DefiProtocol) *DDEXProtocol
func (*DDEXProtocol) UpdateRate ¶
func (proto *DDEXProtocol) UpdateRate() error
func (*DDEXProtocol) UpdateState ¶
func (proto *DDEXProtocol) UpdateState() error
type DDai ¶
type DDai struct { ID string `json:"id"` LastUpdateTimestamp int `json:"lastUpdateTimestamp"` LiquidityRate string `json:"liquidityRate"` Name string `json:"name"` Price struct { ID string `json:"id"` } `json:"price"` StableBorrowRate string `json:"stableBorrowRate"` VariableBorrowRate string `json:"variableBorrowRate"` TotalSupply string `json:"totalSupply"` }
type DHARMAMArket ¶
type DHARMAMArket struct { Data struct { DDai []DDai `json:"dDai"` } `json:"data"` }
type DYDXMarket ¶
type DYDXMarket struct { ID int `json:"id"` Name string `json:"name"` Symbol string `json:"symbol"` SupplyIndex string `json:"supplyIndex"` BorrowIndex string `json:"borrowIndex"` SupplyInterestRateSeconds string `json:"supplyInterestRateSeconds"` BorrowInterestRateSeconds string `json:"borrowInterestRateSeconds"` TotalSupplyPar string `json:"totalSupplyPar"` TotalBorrowPar string `json:"totalBorrowPar"` LastIndexUpdateSeconds string `json:"lastIndexUpdateSeconds"` OraclePrice string `json:"oraclePrice"` CollateralRatio string `json:"collateralRatio"` MarginPremium string `json:"marginPremium"` SpreadPremium string `json:"spreadPremium"` CurrencyUUID string `json:"currencyUuid"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` DeletedAt interface{} `json:"deletedAt"` Currency struct { UUID string `json:"uuid"` Symbol string `json:"symbol"` ContractAddress string `json:"contractAddress"` Decimals int `json:"decimals"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` } `json:"currency"` TotalSupplyAPR string `json:"totalSupplyAPR"` TotalBorrowAPR string `json:"totalBorrowAPR"` TotalSupplyAPY string `json:"totalSupplyAPY"` TotalBorrowAPY string `json:"totalBorrowAPY"` TotalSupplyWei string `json:"totalSupplyWei"` TotalBorrowWei string `json:"totalBorrowWei"` }
type DYDXProtocol ¶
type DYDXProtocol struct {
// contains filtered or unexported fields
}
func NewDYDX ¶
func NewDYDX(scraper *DefiScraper, protocol dia.DefiProtocol) *DYDXProtocol
func (*DYDXProtocol) UpdateRate ¶
func (proto *DYDXProtocol) UpdateRate() error
func (*DYDXProtocol) UpdateState ¶
func (proto *DYDXProtocol) UpdateState() error
type DeFIHelper ¶
type DefiScraper ¶
type DefiScraper struct {
// contains filtered or unexported fields
}
func SpawnDefiScraper ¶
func SpawnDefiScraper(datastore models.Datastore, rateType string) *DefiScraper
SpawnDefiScraper returns a new DefiScraper initialized with default values. The instance is asynchronously scraping as soon as it is created.
func (*DefiScraper) Close ¶
func (s *DefiScraper) Close() error
Close closes any existing API connections
func (*DefiScraper) RateChannel ¶
func (s *DefiScraper) RateChannel() chan *dia.DefiRate
Channel returns a channel that can be used to receive rate information
func (*DefiScraper) StateChannel ¶
func (s *DefiScraper) StateChannel() chan *dia.DefiProtocolState
func (*DefiScraper) UpdateRates ¶
func (s *DefiScraper) UpdateRates(defiType string) error
UpdateRates calls the appropriate function corresponding to the rate type.
func (*DefiScraper) UpdateState ¶
func (s *DefiScraper) UpdateState(defiType string) error
type DharmaProtocol ¶
type DharmaProtocol struct {
// contains filtered or unexported fields
}
func NewDHARMA ¶
func NewDHARMA(scraper *DefiScraper, protocol dia.DefiProtocol) *DharmaProtocol
func (*DharmaProtocol) UpdateRate ¶
func (proto *DharmaProtocol) UpdateRate() error
func (*DharmaProtocol) UpdateState ¶
func (proto *DharmaProtocol) UpdateState() error
type ForTubeProtocol ¶
type ForTubeProtocol struct {
// contains filtered or unexported fields
}
func NewForTube ¶
func NewForTube(scraper *DefiScraper, protocol dia.DefiProtocol) *ForTubeProtocol
func (*ForTubeProtocol) UpdateRate ¶
func (proto *ForTubeProtocol) UpdateRate() error
func (*ForTubeProtocol) UpdateState ¶
func (proto *ForTubeProtocol) UpdateState() error
type ForTubeRate ¶
type LendingPool ¶
type LendingPool struct { ID int `json:"id"` BlockNumber int `json:"blockNumber"` DateTime time.Time `json:"dateTime"` AssetAddress string `json:"assetAddress"` Symbol string `json:"symbol"` BorrowRate string `json:"borrowRate"` SupplyRate string `json:"supplyRate"` TotalBorrowAmount string `json:"totalBorrowAmount"` TotalSupplyAmount string `json:"totalSupplyAmount"` UtilizationRate string `json:"utilizationRate"` Kind string `json:"kind"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` SevenDayAnnualizedRateOfReturn string `json:"7dayAnnualizedRateOfReturn"` InsuranceAmount string `json:"InsuranceAmount"` LoansOriginatedAmount string `json:"loansOriginatedAmount"` SupplyAddedAmount string `json:"supplyAddedAmount"` OraclePrice string `json:"oraclePrice"` }
type MakerdaoProtocol ¶
type MakerdaoProtocol struct {
// contains filtered or unexported fields
}
func NewMakerdao ¶
func NewMakerdao(scraper *DefiScraper, protocol dia.DefiProtocol) *MakerdaoProtocol
func (*MakerdaoProtocol) UpdateRate ¶
func (proto *MakerdaoProtocol) UpdateRate() error
func (*MakerdaoProtocol) UpdateState ¶
func (proto *MakerdaoProtocol) UpdateState() error
type NuoProtocol ¶
type NuoProtocol struct {
// contains filtered or unexported fields
}
func NewNuo ¶
func NewNuo(scraper *DefiScraper, protocol dia.DefiProtocol) *NuoProtocol
func (*NuoProtocol) UpdateRate ¶
func (proto *NuoProtocol) UpdateRate() error
func (*NuoProtocol) UpdateState ¶
func (proto *NuoProtocol) UpdateState() error
type NuoRate ¶
type NuoRate struct { Currency struct { ID int `json:"id"` Name string `json:"name"` ShortName string `json:"short_name"` ImageURL string `json:"image_url"` BaseAddress string `json:"base_address"` MaxTradeLeverage int `json:"max_trade_leverage"` TradeBuffer int `json:"trade_buffer"` DecimalCount int `json:"decimal_count"` } `json:"currency"` TotalBalance float64 `json:"total_balance"` TotalBalancePrimary float64 `json:"total_balance_primary"` ActualBalance float64 `json:"actual_balance"` ActualBalancePrimary float64 `json:"actual_balance_primary"` ActiveReserveCount string `json:"active_reserve_count"` Last365DReturn float64 `json:"last_365d_return"` Last30DReturnValue float64 `json:"last_30d_return_value"` Last30DReturnValuePrimary float64 `json:"last_30d_return_value_primary"` PotentialReturn float64 `json:"potential_return"` PotentialReturnPrimary float64 `json:"potential_return_primary"` LendRate float64 `json:"lend_rate"` ActiveLoanAmountSum float64 `json:"active_loan_amount_sum"` ActiveLoanAmountSumPrimary float64 `json:"active_loan_amount_sum_primary"` BorrowRate float64 `json:"borrow_rate"` }
type NuoResponse ¶
type Portfolio ¶
type Portfolio struct { ID string `json:"id"` LastUpdateTimestamp int `json:"lastUpdateTimestamp"` LiquidityRate string `json:"liquidityRate"` Name string `json:"name"` Price struct { ID string `json:"id"` } `json:"price"` StableBorrowRate string `json:"stableBorrowRate"` VariableBorrowRate string `json:"variableBorrowRate"` TotalLiquidity string `json:"totalLiquidity"` }
type RAYPortfolio ¶
type RAYPortfolio struct { Data struct { Portfolios []Portfolio `json:"portfolios"` } `json:"data"` }
type RAYProtocol ¶
type RAYProtocol struct {
// contains filtered or unexported fields
}
func NewRAY ¶
func NewRAY(scraper *DefiScraper, protocol dia.DefiProtocol) *RAYProtocol
func (*RAYProtocol) UpdateRate ¶
func (proto *RAYProtocol) UpdateRate() error
func (*RAYProtocol) UpdateState ¶
func (proto *RAYProtocol) UpdateState() error
type Reserve ¶
type Reserve struct { ID string `json:"id"` LastUpdateTimestamp int `json:"lastUpdateTimestamp"` LiquidityRate string `json:"liquidityRate"` Symbol string `json:"symbol"` AToken struct { UnderlyingAssetDecimals int `json:"underlyingAssetDecimals"` } Price struct { ID string `json:"id"` PriceInEth string `json:"priceInEth"` } `json:"price"` StableBorrowRate string `json:"stableBorrowRate"` VariableBorrowRate string `json:"variableBorrowRate"` TotalLiquidity string `json:"totalLiquidity"` Decimals int `json:decimals` }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.