github.com/status-im/status-go@v1.1.0/services/wallet/thirdparty/types.go (about)

     1  package thirdparty
     2  
     3  type HistoricalPrice struct {
     4  	Timestamp int64   `json:"time"`
     5  	Value     float64 `json:"close"`
     6  }
     7  
     8  type TokenMarketValues struct {
     9  	MKTCAP          float64 `json:"MKTCAP"`
    10  	HIGHDAY         float64 `json:"HIGHDAY"`
    11  	LOWDAY          float64 `json:"LOWDAY"`
    12  	CHANGEPCTHOUR   float64 `json:"CHANGEPCTHOUR"`
    13  	CHANGEPCTDAY    float64 `json:"CHANGEPCTDAY"`
    14  	CHANGEPCT24HOUR float64 `json:"CHANGEPCT24HOUR"`
    15  	CHANGE24HOUR    float64 `json:"CHANGE24HOUR"`
    16  }
    17  
    18  type TokenDetails struct {
    19  	ID                   string  `json:"Id"`
    20  	Name                 string  `json:"Name"`
    21  	Symbol               string  `json:"Symbol"`
    22  	Description          string  `json:"Description"`
    23  	TotalCoinsMined      float64 `json:"TotalCoinsMined"`
    24  	AssetLaunchDate      string  `json:"AssetLaunchDate"`
    25  	AssetWhitepaperURL   string  `json:"AssetWhitepaperUrl"`
    26  	AssetWebsiteURL      string  `json:"AssetWebsiteUrl"`
    27  	BuiltOn              string  `json:"BuiltOn"`
    28  	SmartContractAddress string  `json:"SmartContractAddress"`
    29  }
    30  
    31  type MarketDataProvider interface {
    32  	ID() string
    33  	FetchPrices(symbols []string, currencies []string) (map[string]map[string]float64, error)
    34  	FetchHistoricalDailyPrices(symbol string, currency string, limit int, allData bool, aggregate int) ([]HistoricalPrice, error)
    35  	FetchHistoricalHourlyPrices(symbol string, currency string, limit int, aggregate int) ([]HistoricalPrice, error)
    36  	FetchTokenMarketValues(symbols []string, currency string) (map[string]TokenMarketValues, error)
    37  	FetchTokenDetails(symbols []string) (map[string]TokenDetails, error)
    38  }
    39  
    40  type DataParsed struct {
    41  	Name      string            `json:"name"`
    42  	ID        string            `json:"id"`
    43  	Inputs    map[string]string `json:"inputs"`
    44  	Signature string            `json:"signature"`
    45  }
    46  
    47  type DecoderProvider interface {
    48  	Run(data string) (*DataParsed, error)
    49  }