Documentation
¶
Index ¶
- Constants
- type Block
- type EthClient
- func (c *EthClient) Accounts() ([]string, error)
- func (c *EthClient) AwaitTransaction(ctx context.Context, txHash string) (*Receipt, error)
- func (c *EthClient) BlockNumber() (uint64, error)
- func (c *EthClient) GasPrice() (string, error)
- func (c *EthClient) GetBlockByNumber(height string) (*Block, error)
- func (c *EthClient) GetLogs(filter *Filter) ([]*EthLog, error)
- func (c *EthClient) GetTransactionByHash(txHash string) (*web3.Transaction, error)
- func (c *EthClient) GetTransactionCount(address crypto.Address) (string, error)
- func (c *EthClient) GetTransactionReceipt(txHash string) (*Receipt, error)
- func (c *EthClient) NetVersion() (string, error)
- func (c *EthClient) SendRawTransaction(txHex string) (string, error)
- func (c *EthClient) SendTransaction(tx *EthSendTransactionParam) (string, error)
- func (c *EthClient) Syncing() (bool, error)
- func (c *EthClient) Web3ClientVersion() (string, error)
- type EthFilter
- type EthLog
- type EthSendTransactionParam
- type Filter
- type Receipt
- type TransactClient
- func (cli *TransactClient) CallTxSync(ctx context.Context, tx *payload.CallTx, opts ...grpc.CallOption) (*exec.TxExecution, error)
- func (cli *TransactClient) GetChainID() (string, error)
- func (cli *TransactClient) GetGasPrice() (uint64, error)
- func (cli *TransactClient) GetTransactionCount(address crypto.Address) (uint64, error)
- func (cli *TransactClient) SendRawTransaction(tx *payload.CallTx, signer acm.AddressableSigner) (string, error)
- func (cli *TransactClient) SendTransaction(tx *payload.CallTx) (string, error)
- func (cli *TransactClient) WithAccounts(signers ...acm.AddressableSigner) *TransactClient
Constants ¶
View Source
const ( EthGetLogsMethod = "eth_getLogs" EthSyncingMethod = "eth_syncing" EthBlockNumberMethod = "eth_blockNumber" EthSendTransactionMethod = "eth_sendTransaction" EthSendRawTransactionMethod = "eth_sendRawTransaction" EthGetTransactionCountMethod = "eth_getTransactionCount" EthAccountsMethod = "eth_accounts" EthGetBlockByNumberMethod = "eth_getBlockByNumber" EthGetTransactionByHashMethod = "eth_getTransactionByHash" EthGetTransactionReceiptMethod = "eth_getTransactionReceipt" EthGasPriceMethod = "eth_gasPrice" NetVersionMethod = "net_version" Web3ClientVersionMethod = "web3_clientVersion" )
View Source
const BasicGasLimit = 21000
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶ added in v0.31.1
type Block struct {
// Hex representation of a Keccak 256 hash
Sha3Uncles string `json:"sha3Uncles"`
// Hex representation of a Keccak 256 hash
TransactionsRoot string `json:"transactionsRoot"`
// Hex representation of a Keccak 256 hash
ParentHash string `json:"parentHash"`
// The address of the beneficiary to whom the mining rewards were given or null when its the pending block
Miner string `json:"miner"`
// Integer of the difficulty for this block
Difficulty string `json:"difficulty"`
// The total used gas by all transactions in this block
GasUsed string `json:"gasUsed"`
// The unix timestamp for when the block was collated
Timestamp string `json:"timestamp"`
// Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter
Transactions []string `json:"transactions"`
// The block number or null when its the pending block
Number string `json:"number"`
// The block hash or null when its the pending block
Hash string `json:"hash"`
// Array of uncle hashes
Uncles []string `json:"uncles"`
// Hex representation of a Keccak 256 hash
ReceiptsRoot string `json:"receiptsRoot"`
// The 'extra data' field of this block
ExtraData string `json:"extraData"`
// Hex representation of a Keccak 256 hash
StateRoot string `json:"stateRoot"`
// Integer of the total difficulty of the chain until this block
TotalDifficulty string `json:"totalDifficulty"`
// Integer the size of this block in bytes
Size string `json:"size"`
// The maximum gas allowed in this block
GasLimit string `json:"gasLimit"`
// Randomly selected number to satisfy the proof-of-work or null when its the pending block
Nonce string `json:"nonce"`
// The bloom filter for the logs of the block or null when its the pending block
LogsBloom string `json:"logsBloom"`
}
type EthClient ¶ added in v0.31.1
func NewEthClient ¶ added in v0.31.1
func (*EthClient) AwaitTransaction ¶ added in v0.31.1
Wait for a transaction to be mined/confirmed
func (*EthClient) BlockNumber ¶ added in v0.31.1
func (*EthClient) GetBlockByNumber ¶ added in v0.31.1
func (*EthClient) GetTransactionByHash ¶ added in v0.31.1
func (c *EthClient) GetTransactionByHash(txHash string) (*web3.Transaction, error)
func (*EthClient) GetTransactionCount ¶ added in v0.31.1
func (*EthClient) GetTransactionReceipt ¶ added in v0.31.1
func (*EthClient) NetVersion ¶ added in v0.31.1
AKA ChainID
func (*EthClient) SendRawTransaction ¶ added in v0.31.1
func (*EthClient) SendTransaction ¶ added in v0.31.1
func (c *EthClient) SendTransaction(tx *EthSendTransactionParam) (string, error)
func (*EthClient) Web3ClientVersion ¶ added in v0.31.1
type EthFilter ¶
type EthFilter struct {
// The hex representation of the block's height
FromBlock string `json:"fromBlock,omitempty"`
// The hex representation of the block's height
ToBlock string `json:"toBlock,omitempty"`
// Yes this is JSON address since allowed to be singular
Addresses []string `json:"address,omitempty"`
// Array of 32 Bytes DATA topics. Topics are order-dependent. Each topic can also be an array of DATA with 'or' options
Topics []string `json:"topics,omitempty"`
}
Duplicated here to allow for arrays of addresses
type EthLog ¶
type EthLog struct {
Topics []string `json:"topics"`
// Hex representation of a Keccak 256 hash
TransactionHash string `json:"transactionHash"`
// Sender of the transaction
Address string `json:"address"`
// The hex representation of the Keccak 256 of the RLP encoded block
BlockHash string `json:"blockHash"`
// The hex representation of the block's height
BlockNumber string `json:"blockNumber"`
// Hex representation of a variable length byte array
Data string `json:"data"`
// Hex representation of the integer
LogIndex string `json:"logIndex"`
// Hex representation of the integer
TransactionIndex string `json:"transactionIndex"`
}
type EthSendTransactionParam ¶
type EthSendTransactionParam struct {
// Address of the sender
From string `json:"from"`
// address of the receiver. null when its a contract creation transaction
To string `json:"to,omitempty"`
// The data field sent with the transaction
Gas string `json:"gas,omitempty"`
// The gas price willing to be paid by the sender in Wei
GasPrice string `json:"gasPrice,omitempty"`
// The gas limit provided by the sender in Wei
Value string `json:"value,omitempty"`
// Hex representation of a Keccak 256 hash
Data string `json:"data"`
// A number only to be used once
Nonce string `json:"nonce,omitempty"`
}
This is wrong in web3/types.go
type Receipt ¶
type Receipt struct {
// The hex representation of the block's height
BlockNumber string `json:"blockNumber"`
// Hex representation of the integer
CumulativeGasUsed string `json:"cumulativeGasUsed"`
// Hex representation of the integer
GasUsed string `json:"gasUsed"`
// An array of all the logs triggered during the transaction
Logs []EthLog `json:"logs"`
// A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series
TransactionIndex string `json:"transactionIndex"`
// Whether or not the transaction threw an error.
Status string `json:"status"`
// The hex representation of the Keccak 256 of the RLP encoded block
BlockHash string `json:"blockHash"`
// The contract address created, if the transaction was a contract creation, otherwise null
ContractAddress string `json:"contractAddress"`
// The sender of the transaction
From string `json:"from"`
// A 2048 bit bloom filter from the logs of the transaction. Each log sets 3 bits though taking the low-order 11 bits of each of the first three pairs of bytes in a Keccak 256 hash of the log's byte series
LogsBloom string `json:"logsBloom"`
// Destination address of the transaction
To string `json:"to"`
// Hex representation of a Keccak 256 hash
TransactionHash string `json:"transactionHash"`
}
type TransactClient ¶
type TransactClient struct {
// contains filtered or unexported fields
}
Provides a partial implementation of the GRPC-generated TransactClient suitable for testing Vent on Ethereum
func NewTransactClient ¶
func NewTransactClient(client ethClient) *TransactClient
func (*TransactClient) CallTxSync ¶
func (cli *TransactClient) CallTxSync(ctx context.Context, tx *payload.CallTx, opts ...grpc.CallOption) (*exec.TxExecution, error)
func (*TransactClient) GetChainID ¶
func (cli *TransactClient) GetChainID() (string, error)
func (*TransactClient) GetGasPrice ¶
func (cli *TransactClient) GetGasPrice() (uint64, error)
func (*TransactClient) GetTransactionCount ¶
func (cli *TransactClient) GetTransactionCount(address crypto.Address) (uint64, error)
func (*TransactClient) SendRawTransaction ¶
func (cli *TransactClient) SendRawTransaction(tx *payload.CallTx, signer acm.AddressableSigner) (string, error)
func (*TransactClient) SendTransaction ¶
func (cli *TransactClient) SendTransaction(tx *payload.CallTx) (string, error)
func (*TransactClient) WithAccounts ¶
func (cli *TransactClient) WithAccounts(signers ...acm.AddressableSigner) *TransactClient
Click to show internal directories.
Click to hide internal directories.