Documentation ¶
Index ¶
Constants ¶
const ( // DatabaseName is the InfluxDB database name to store trade events. DatabaseName = "trade_logs" // UnknownCountry is the special code for unknown country queries UnknownCountry = "UNKNOWN" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BurnFee ¶
type BurnFee struct { ReserveAddress ethereum.Address `json:"reserve_addr"` Amount *big.Int `json:"amount"` Index uint `json:"index"` // the index of event log in transaction receipt }
BurnFee represent burnFee event on KyberNetwork
type CountryStats ¶
type CountryStats struct { TotalETHVolume float64 `json:"total_eth_volume"` TotalUSDVolume float64 `json:"total_usd_volume"` TotalBurnFee float64 `json:"total_burn_fee"` TotalTrade uint64 `json:"total_trade"` UniqueAddresses uint64 `json:"unique_addresses"` KYCEDAddresses uint64 `json:"kyced_addresses"` NewUniqueAddresses uint64 `json:"new_unique_addresses"` USDPerTrade float64 `json:"usd_per_trade"` ETHPerTrade float64 `json:"eth_per_trade"` }
CountryStats stats for a country a day
type Heatmap ¶
type Heatmap struct { Country string `json:"country"` TotalETHValue float64 `json:"total_eth_value"` TotalTokenValue float64 `json:"total_token_value"` TotalFiatValue float64 `json:"total_fiat_value"` ToTalBurnFee float64 `json:"total_burn_fee"` TotalTrade int64 `json:"total_trade"` TotalUniqueAddresses int64 `json:"total_unique_addr"` TotalKYCUser int64 `json:"total_kyc_user"` }
Heatmap represent a country heatmap
type IntegrationVolume ¶
type IntegrationVolume struct { KyberSwapVolume float64 `json:"kyber_swap_volume"` NonKyberSwapVolume float64 `json:"non_kyber_swap_volume"` }
IntegrationVolume represent kyberSwap and non kyberswap volume
type TradeLog ¶
type TradeLog struct { Timestamp time.Time `json:"timestamp"` BlockNumber uint64 `json:"block_number"` TransactionHash ethereum.Hash `json:"tx_hash"` EtherReceivalSender ethereum.Address `json:"eth_receival_sender"` EtherReceivalAmount *big.Int `json:"eth_receival_amount"` UserAddress ethereum.Address `json:"user_addr"` SrcAddress ethereum.Address `json:"src_addr"` DestAddress ethereum.Address `json:"dst_addr"` SrcAmount *big.Int `json:"src_amount"` DestAmount *big.Int `json:"dst_amount"` FiatAmount float64 `json:"fiat_amount"` BurnFees []BurnFee `json:"burn_fees"` WalletFees []WalletFee `json:"wallet_fees"` IntegrationApp string `json:"integration_app"` IP string `json:"ip"` Country string `json:"country"` ETHUSDRate float64 `json:"-"` ETHUSDProvider string `json:"-"` UserName string `json:"user_name"` ProfileID int64 `json:"profile_id"` Index uint `json:"index"` // the index of event log in transaction receipt }
TradeLog represent trade event on KyberNetwork
func (TradeLog) IsKyberSwap ¶
IsKyberSwap determine if the tradelog is through KyberSwap
func (*TradeLog) MarshalJSON ¶
MarshalJSON implements custom JSON marshaler for TradeLog to format timestamp in unix millis instead of RFC3339.
type TradeSummary ¶
type TradeSummary struct { ETHVolume float64 `json:"eth_volume"` USDAmount float64 `json:"usd_volume"` TotalBurnFee float64 `json:"burn_fee"` TotalTrade uint64 `json:"total_trade"` UniqueAddresses uint64 `json:"unique_addresses"` KYCEDAddresses uint64 `json:"kyced_addresses"` NewUniqueAddresses uint64 `json:"new_unique_addresses"` USDPerTrade float64 `json:"usd_per_trade"` ETHPerTrade float64 `json:"eth_per_trade"` }
TradeSummary struct holds all the fields required for trade summary
type UserInfo ¶
type UserInfo struct { Addr string `json:"user_address"` ETHVolume float64 `json:"total_eth_volume"` USDVolume float64 `json:"total_usd_volume"` }
UserInfo represent trade stats of an address
type UserVolume ¶
type UserVolume struct { ETHAmount float64 `json:"eth_amount"` USDAmount float64 `json:"usd_amount"` }
UserVolume represent volume of an user from time to time
type VolumeStats ¶
type VolumeStats struct { ETHAmount float64 `json:"eth_amount"` USDAmount float64 `json:"usd_amount"` Volume float64 `json:"volume"` }
VolumeStats struct holds all the volume fields of volume in a specfic time
type WalletFee ¶
type WalletFee struct { ReserveAddress ethereum.Address `json:"reserve_addr"` WalletAddress ethereum.Address `json:"wallet_addr"` Amount *big.Int `json:"amount"` Index uint `json:"index"` // the index of event log in transaction receipt }
WalletFee represent feeToWallet event on KyberNetwork
type WalletStats ¶
type WalletStats struct { ETHVolume float64 `json:"eth_volume"` USDVolume float64 `json:"usd_volume"` BurnFee float64 `json:"burn_fee"` TotalTrade int64 `json:"total_trade"` UniqueAddresses int64 `json:"unique_addresses"` KYCEDAddresses int64 `json:"kyced_addresses"` NewUniqueAddresses int64 `json:"new_unique_addresses"` USDPerTrade float64 `json:"usd_per_trade"` ETHPerTrade float64 `json:"eth_per_trade"` }
WalletStats represent stat for a wallet address