Documentation
¶
Index ¶
- func ReadResponse[T EtherscanResponse](content bytes.Buffer) (T, error)
- type AccountBalance
- type BlockRewards
- type ContractSource
- type ERC1155Transfer
- type ERC20Transfer
- type ERC721Transfer
- type EtherscanResponse
- type EtherscanTx
- type ExecutionStatus
- type GasPrices
- type InternalTx
- type LatestPrice
- type Log
- type MinedBlock
- type NormalTx
- type StatusReponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadResponse ¶
func ReadResponse[T EtherscanResponse](content bytes.Buffer) (T, error)
Types ¶
type AccountBalance ¶
type AccountBalance struct { Account string `json:"account"` Balance *types.BigInt `json:"balance"` }
AccountBalance account and its balance in pair
type BlockRewards ¶
type BlockRewards struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` BlockMiner string `json:"blockMiner"` BlockReward *types.BigInt `json:"blockReward"` Uncles []struct { Miner string `json:"miner"` UnclePosition int `json:"unclePosition,string"` BlockReward *types.BigInt `json:"blockreward"` } `json:"uncles"` UncleInclusionReward *types.BigInt `json:"uncleInclusionReward"` }
BlockRewards holds info from query for block and uncle rewards
type ContractSource ¶
type ContractSource struct { SourceCode string `json:"SourceCode"` ABI string `json:"ABI"` ContractName string `json:"ContractName"` CompilerVersion string `json:"CompilerVersion"` OptimizationUsed int `json:"OptimizationUsed,string"` Runs int `json:"Runs,string"` ConstructorArguments string `json:"ConstructorArguments"` EVMVersion string `json:"EVMVersion"` Library string `json:"Library"` LicenseType string `json:"LicenseType"` Proxy string `json:"Proxy"` Implementation string `json:"Implementation"` SwarmSource string `json:"SwarmSource"` }
ContractSource holds info from query for contract source code
type ERC1155Transfer ¶
type ERC1155Transfer struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` Hash string `json:"hash"` //Nonce int `json:"nonce,string"` BlockHash string `json:"blockHash"` From string `json:"from"` ContractAddress string `json:"contractAddress"` To string `json:"to"` //TokenID *BigInt `json:"tokenID"` TokenName string `json:"tokenName"` TokenSymbol string `json:"tokenSymbol"` //TokenDecimal int `json:"tokenDecimal,string"` //TokenValue int `json:"tokenValue,string"` //TransactionIndex int `json:"transactionIndex,string"` //Gas int `json:"gas,string"` //GasPrice *BigInt `json:"gasPrice"` //GasUsed int `json:"gasUsed,string"` //CumulativeGasUsed int `json:"cumulativeGasUsed,string"` Input string `json:"input"` }
ERC1155Transfer holds info from ERC1155 token transfer event query
func (ERC1155Transfer) GetBlockNumber ¶
func (tx ERC1155Transfer) GetBlockNumber() int
func (ERC1155Transfer) GetHash ¶
func (tx ERC1155Transfer) GetHash() string
type ERC20Transfer ¶
type ERC20Transfer struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` Hash string `json:"hash"` Nonce int `json:"nonce,string"` BlockHash string `json:"blockHash"` From string `json:"from"` ContractAddress string `json:"contractAddress"` To string `json:"to"` Value *types.BigInt `json:"value"` TokenName string `json:"tokenName"` TokenSymbol string `json:"tokenSymbol"` TokenDecimal int `json:"tokenDecimal,string"` TransactionIndex int `json:"transactionIndex,string"` Gas int `json:"gas,string"` GasPrice *types.BigInt `json:"gasPrice"` GasUsed int `json:"gasUsed,string"` CumulativeGasUsed int `json:"cumulativeGasUsed,string"` Input string `json:"input"` Confirmations int `json:"confirmations,string"` }
ERC20Transfer holds info from ERC20 token transfer event query
func (ERC20Transfer) GetBlockNumber ¶
func (tx ERC20Transfer) GetBlockNumber() int
func (ERC20Transfer) GetHash ¶
func (tx ERC20Transfer) GetHash() string
type ERC721Transfer ¶
type ERC721Transfer struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` Hash string `json:"hash"` Nonce int `json:"nonce,string"` BlockHash string `json:"blockHash"` From string `json:"from"` ContractAddress string `json:"contractAddress"` To string `json:"to"` TokenID *types.BigInt `json:"tokenID"` TokenName string `json:"tokenName"` TokenSymbol string `json:"tokenSymbol"` TokenDecimal int `json:"tokenDecimal,string"` TransactionIndex int `json:"transactionIndex,string"` Gas int `json:"gas,string"` GasPrice *types.BigInt `json:"gasPrice"` GasUsed int `json:"gasUsed,string"` CumulativeGasUsed int `json:"cumulativeGasUsed,string"` Input string `json:"input"` Confirmations int `json:"confirmations,string"` }
ERC721Transfer holds info from ERC721 token transfer event query
func (ERC721Transfer) GetBlockNumber ¶
func (tx ERC721Transfer) GetBlockNumber() int
func (ERC721Transfer) GetHash ¶
func (tx ERC721Transfer) GetHash() string
type EtherscanResponse ¶
type EtherscanResponse interface { AccountBalance | []AccountBalance | NormalTx | []NormalTx | InternalTx | []InternalTx | ERC20Transfer | []ERC20Transfer | ERC721Transfer | []ERC721Transfer | ERC1155Transfer | []ERC1155Transfer | MinedBlock | []MinedBlock | ContractSource | []ContractSource | ExecutionStatus | []ExecutionStatus | BlockRewards | []BlockRewards | LatestPrice | []LatestPrice | Log | []Log | GasPrices | []GasPrices | StatusReponse | []StatusReponse | types.BigInt | []types.BigInt | types.Time | string }
type EtherscanTx ¶
EtherscanTx represents
type ExecutionStatus ¶
type ExecutionStatus struct { // 0 = pass, 1 = error IsError int `json:"isError,string"` ErrDescription string `json:"errDescription"` }
ExecutionStatus holds info from query for transaction execution status
type GasPrices ¶
type GasPrices struct { LastBlock int SafeGasPrice float64 ProposeGasPrice float64 FastGasPrice float64 SuggestBaseFeeInGwei float64 `json:"suggestBaseFee"` GasUsedRatio []float64 `json:"gasUsedRatio"` }
GasPrices holds info for Gas Oracle queries Gas Prices are returned in Gwei
func (*GasPrices) UnmarshalJSON ¶
type InternalTx ¶
type InternalTx struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` Hash string `json:"hash"` From string `json:"from"` To string `json:"to"` Value *types.BigInt `json:"value"` ContractAddress string `json:"contractAddress"` Input string `json:"input"` Type string `json:"type"` Gas int `json:"gas,string"` GasUsed int `json:"gasUsed,string"` TraceID string `json:"traceId"` IsError int `json:"isError,string"` ErrCode string `json:"errCode"` }
InternalTx holds info from internal tx query
func (InternalTx) GetBlockNumber ¶
func (tx InternalTx) GetBlockNumber() int
func (InternalTx) GetHash ¶
func (tx InternalTx) GetHash() string
type LatestPrice ¶
type LatestPrice struct { ETHBTC float64 `json:"ethbtc,string"` ETHBTCTimestamp types.Time `json:"ethbtc_timestamp"` ETHUSD float64 `json:"ethusd,string"` ETHUSDTimestamp types.Time `json:"ethusd_timestamp"` }
LatestPrice holds info from query for latest ether price
type MinedBlock ¶
type MinedBlock struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` BlockReward *types.BigInt `json:"blockReward"` }
MinedBlock holds info from query for mined block by address
type NormalTx ¶
type NormalTx struct { BlockNumber int `json:"blockNumber,string"` TimeStamp types.Time `json:"timeStamp"` Hash string `json:"hash"` Nonce int `json:"nonce,string"` BlockHash string `json:"blockHash"` TransactionIndex int `json:"transactionIndex,string"` From string `json:"from"` To string `json:"to"` Value *types.BigInt `json:"value"` Gas int `json:"gas,string"` GasPrice *types.BigInt `json:"gasPrice"` IsError int `json:"isError,string"` TxReceiptStatus string `json:"txreceipt_status"` Input string `json:"input"` ContractAddress string `json:"contractAddress"` CumulativeGasUsed int `json:"cumulativeGasUsed,string"` GasUsed int `json:"gasUsed,string"` Confirmations int `json:"confirmations,string"` }
NormalTx holds info from normal tx query
func (NormalTx) GetBlockNumber ¶
type StatusReponse ¶
type StatusReponse struct {
Status string `json:"status"`
}