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 }