Documentation ¶
Index ¶
- Constants
- Variables
- func GetCryptoIDAddress(address string, coinType currency.Code) (float64, error)
- func GetRippleBalance(address string) (float64, error)
- func IsColdStorage(address string) (ret bool)
- func IsExchangeSupported(exchange, address string) (ret bool)
- func IsWhiteListed(address string) (ret bool)
- func StartPortfolioWatcher()
- type AccountInfo
- type Address
- type Base
- func (p *Base) AddAddress(address, description string, coinType currency.Code, balance float64) error
- func (p *Base) AddExchangeAddress(exchangeName string, coinType currency.Code, balance float64)
- func (p *Base) AddressExists(address string) bool
- func (p *Base) ExchangeAddressExists(exchangeName string, coinType currency.Code) bool
- func (p *Base) ExchangeExists(exchangeName string) bool
- func (p *Base) GetAddressBalance(address, description string, coinType currency.Code) (float64, bool)
- func (p *Base) GetExchangePortfolio() map[currency.Code]float64
- func (p *Base) GetPersonalPortfolio() map[currency.Code]float64
- func (p *Base) GetPortfolioByExchange(exchangeName string) map[currency.Code]float64
- func (p *Base) GetPortfolioGroupedCoin() map[currency.Code][]string
- func (p *Base) GetPortfolioSummary() Summary
- func (p *Base) RemoveAddress(address, description string, coinType currency.Code) error
- func (p *Base) RemoveExchangeAddress(exchangeName string, coinType currency.Code)
- func (p *Base) Seed(port Base)
- func (p *Base) UpdateAddressBalance(address string, amount float64)
- func (p *Base) UpdateExchangeAddressBalance(exchangeName string, coinType currency.Code, balance float64)
- func (p *Base) UpdatePortfolio(addresses []string, coinType currency.Code) error
- type Coin
- type EtherchainBalanceResponse
- type EthplorerResponse
- type ExchangeAccountCurrencyInfo
- type ExchangeAccountInfo
- type OfflineCoinSummary
- type OnlineCoinSummary
- type Summary
- type XRPScanAccount
Constants ¶
const ( // PortfolioAddressExchange is a label for an exchange address PortfolioAddressExchange = "Exchange" // PortfolioAddressPersonal is a label for a personal/offline address PortfolioAddressPersonal = "Personal" )
Variables ¶
var Verbose bool
Verbose allows for debug output when sending an http request
Functions ¶
func GetCryptoIDAddress ¶
GetCryptoIDAddress queries CryptoID for an address balance for a specified cryptocurrency
func GetRippleBalance ¶
GetRippleBalance returns the value for a ripple address
func IsColdStorage ¶
IsColdStorage checks if address is a cold storage wallet
func IsExchangeSupported ¶
IsExchangeSupported checks if exchange is supported by portfolio address
func IsWhiteListed ¶
IsWhiteListed checks if address is whitelisted for withdraw transfers
func StartPortfolioWatcher ¶
func StartPortfolioWatcher()
StartPortfolioWatcher observes the portfolio object
Types ¶
type AccountInfo ¶
type AccountInfo struct { Name string `json:"name"` Description string `json:"desc"` Account string `json:"account"` Domain string `json:"domain"` Twitter string `json:"twitter"` Verified bool `json:"verified"` }
AccountInfo is a XRPScan subtype for account associations
type Address ¶
type Address struct { Address string CoinType currency.Code Balance float64 Description string WhiteListed bool ColdStorage bool SupportedExchanges string }
Address sub type holding address information for portfolio
type Base ¶
type Base struct {
Addresses []Address `json:"addresses"`
}
Base holds the portfolio base addresses
var Portfolio Base
Portfolio is variable store holding an array of portfolioAddress
func (*Base) AddAddress ¶
func (p *Base) AddAddress(address, description string, coinType currency.Code, balance float64) error
AddAddress adds an address to the portfolio base
func (*Base) AddExchangeAddress ¶
AddExchangeAddress adds an exchange address to the portfolio base
func (*Base) AddressExists ¶
AddressExists checks to see if there is an address associated with the portfolio base
func (*Base) ExchangeAddressExists ¶
ExchangeAddressExists checks to see if there is an exchange address associated with the portfolio base
func (*Base) ExchangeExists ¶
ExchangeExists checks to see if an exchange exists in the portfolio base
func (*Base) GetAddressBalance ¶
func (p *Base) GetAddressBalance(address, description string, coinType currency.Code) (float64, bool)
GetAddressBalance acceses the portfolio base and returns the balance by passed in address, coin type and description
func (*Base) GetExchangePortfolio ¶
GetExchangePortfolio returns current portfolio base information
func (*Base) GetPersonalPortfolio ¶
GetPersonalPortfolio returns current portfolio base information
func (*Base) GetPortfolioByExchange ¶
GetPortfolioByExchange returns currency portfolio amount by exchange
func (*Base) GetPortfolioGroupedCoin ¶
GetPortfolioGroupedCoin returns portfolio base information grouped by coin
func (*Base) GetPortfolioSummary ¶
GetPortfolioSummary returns the complete portfolio summary, showing coin totals, offline and online summaries with their relative percentages.
func (*Base) RemoveAddress ¶
RemoveAddress removes an address when checked against the correct address and coinType
func (*Base) RemoveExchangeAddress ¶
RemoveExchangeAddress removes an exchange address from the portfolio.
func (*Base) UpdateAddressBalance ¶
UpdateAddressBalance updates the portfolio base balance
type Coin ¶
type Coin struct { Coin currency.Code `json:"coin"` Balance float64 `json:"balance"` Address string `json:"address,omitempty"` Percentage float64 `json:"percentage,omitempty"` }
Coin stores a coin type, balance, address and percentage relative to the total amount.
type EtherchainBalanceResponse ¶
type EtherchainBalanceResponse struct { Status int `json:"status"` Data []struct { Address string `json:"address"` Balance float64 `json:"balance"` Nonce interface{} `json:"nonce"` Code string `json:"code"` Name interface{} `json:"name"` Storage interface{} `json:"storage"` FirstSeen interface{} `json:"firstSeen"` } `json:"data"` }
EtherchainBalanceResponse holds JSON incoming and outgoing data for Etherchain
type EthplorerResponse ¶
type EthplorerResponse struct { Address string `json:"address"` ETH struct { Balance float64 `json:"balance"` TotalIn float64 `json:"totalIn"` TotalOut float64 `json:"totalOut"` } `json:"ETH"` CountTxs int `json:"countTxs"` ContractInfo struct { CreatorAddress string `json:"creatorAddress"` TransactionHash string `json:"transactionHash"` Timestamp int `json:"timestamp"` } `json:"contractInfo"` TokenInfo struct { Address string `json:"address"` Name string `json:"name"` Decimals int `json:"decimals"` Symbol string `json:"symbol"` TotalSupply string `json:"totalSupply"` Owner string `json:"owner"` LastUpdated int `json:"lastUpdated"` TotalIn int64 `json:"totalIn"` TotalOut int64 `json:"totalOut"` IssuancesCount int `json:"issuancesCount"` HoldersCount int `json:"holdersCount"` Image string `json:"image"` Description string `json:"description"` Price struct { Rate int `json:"rate"` Diff int `json:"diff"` Timestamp int64 `json:"ts"` Currency string `json:"currency"` } `json:"price"` } `json:"tokenInfo"` Error struct { Code int `json:"code"` Message string `json:"message"` } `json:"error"` }
EthplorerResponse holds JSON address data for Ethplorer
func GetEthereumBalance ¶
func GetEthereumBalance(address string) (EthplorerResponse, error)
GetEthereumBalance single or multiple address information as EtherchainBalanceResponse
type ExchangeAccountCurrencyInfo ¶
ExchangeAccountCurrencyInfo : Sub type to store currency name and value
type ExchangeAccountInfo ¶
type ExchangeAccountInfo struct { ExchangeName string Currencies []ExchangeAccountCurrencyInfo }
ExchangeAccountInfo : Generic type to hold each exchange's holdings in all enabled currencies
type OfflineCoinSummary ¶
type OfflineCoinSummary struct { Address string `json:"address"` Balance float64 `json:"balance"` Percentage float64 `json:"percentage,omitempty"` }
OfflineCoinSummary stores a coin types address, balance and percentage relative to the total amount.
type OnlineCoinSummary ¶
type OnlineCoinSummary struct { Balance float64 `json:"balance"` Percentage float64 `json:"percentage,omitempty"` }
OnlineCoinSummary stores a coin types balance and percentage relative to the total amount.
type Summary ¶
type Summary struct { Totals []Coin `json:"coin_totals"` Offline []Coin `json:"coins_offline"` OfflineSummary map[currency.Code][]OfflineCoinSummary `json:"offline_summary"` Online []Coin `json:"coins_online"` OnlineSummary map[string]map[currency.Code]OnlineCoinSummary `json:"online_summary"` }
Summary Stores the entire portfolio summary
type XRPScanAccount ¶
type XRPScanAccount struct { Sequence int `json:"sequence"` XRPBalance float64 `json:"xrpBalance,string"` OwnerCount int `json:"ownerCount"` PreviousAffectingTransactionID string `json:"previousAffectingTransactionID"` PreviousAffectingTransactionLedgerVersion int `json:"previousAffectingTransactionLedgerVersion"` Settings struct { RequireDestinationTag bool `json:"requireDestinationTag"` EmailHash string `json:"emailHash"` Domain string `json:"domain"` } `json:"settings"` Account string `json:"account"` Parent string `json:"parent"` InitialBalance float64 `json:"initial_balance"` Inception time.Time `json:"inception"` LedgerIndex int `json:"ledger_index"` TxHash string `json:"tx_hash"` AccountName AccountInfo `json:"accountName"` ParentName AccountInfo `json:"parentName"` Advisory interface{} `json:"advisory"` }
XRPScanAccount defines the return type for account data