Documentation ¶
Overview ¶
Package eth is a generated protocol buffer package.
It is generated from these files:
bchain/coins/eth/ethtx.proto
It has these top-level messages:
ProtoCompleteTransaction
Index ¶
- Constants
- Variables
- func EIP55Address(addrDesc bchain.AddressDescriptor) string
- func EIP55AddressFromAddress(address string) string
- func GetHeightFromTx(tx *bchain.Tx) (uint32, error)
- func GetSignatureFromData(data string) uint32
- func GetStringFromMap(p string, params map[string]interface{}) (string, bool)
- func NewEthereumRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error)
- func PackInternalTransactionError(e string) string
- func ParseErrorFromOutput(output string) string
- func ParseInputData(signatures *[]bchain.FourByteSignature, data string) *bchain.EthereumParsedInputData
- func UnpackInternalTransactionError(data []byte) string
- type Configuration
- type EthereumClient
- func (c *EthereumClient) BalanceAt(ctx context.Context, addrDesc bchain.AddressDescriptor, blockNumber *big.Int) (*big.Int, error)
- func (c *EthereumClient) EstimateGas(ctx context.Context, msg interface{}) (uint64, error)
- func (c *EthereumClient) HeaderByNumber(ctx context.Context, number *big.Int) (bchain.EVMHeader, error)
- func (c *EthereumClient) NonceAt(ctx context.Context, addrDesc bchain.AddressDescriptor, blockNumber *big.Int) (uint64, error)
- type EthereumClientSubscription
- type EthereumHash
- type EthereumHeader
- type EthereumNewBlock
- type EthereumNewTx
- type EthereumParser
- func (p *EthereumParser) EthereumTypeGetTokenTransfersFromTx(tx *bchain.Tx) (bchain.TokenTransfers, error)
- func (p *EthereumParser) FormatAddressAlias(address string, name string) string
- func (p *EthereumParser) GetAddrDescFromAddress(address string) (bchain.AddressDescriptor, error)
- func (p *EthereumParser) GetAddrDescFromVout(output *bchain.Vout) (bchain.AddressDescriptor, error)
- func (p *EthereumParser) GetAddressesFromAddrDesc(addrDesc bchain.AddressDescriptor) ([]string, bool, error)
- func (p *EthereumParser) GetChainType() bchain.ChainType
- func (p *EthereumParser) GetScriptFromAddrDesc(addrDesc bchain.AddressDescriptor) ([]byte, error)
- func (p *EthereumParser) PackBlockHash(hash string) ([]byte, error)
- func (p *EthereumParser) PackTx(tx *bchain.Tx, height uint32, blockTime int64) ([]byte, error)
- func (p *EthereumParser) PackTxid(txid string) ([]byte, error)
- func (p *EthereumParser) PackedTxidLen() int
- func (p *EthereumParser) UnpackBlockHash(buf []byte) (string, error)
- func (p *EthereumParser) UnpackTx(buf []byte) (*bchain.Tx, uint32, error)
- func (p *EthereumParser) UnpackTxid(buf []byte) (string, error)
- type EthereumRPC
- func (b *EthereumRPC) CreateMempool(chain bchain.BlockChain) (bchain.Mempool, error)
- func (b *EthereumRPC) EstimateFee(blocks int) (big.Int, error)
- func (b *EthereumRPC) EstimateSmartFee(blocks int, conservative bool) (big.Int, error)
- func (b *EthereumRPC) EthereumTypeEstimateGas(params map[string]interface{}) (uint64, error)
- func (b *EthereumRPC) EthereumTypeGetBalance(addrDesc bchain.AddressDescriptor) (*big.Int, error)
- func (b *EthereumRPC) EthereumTypeGetErc20ContractBalance(addrDesc, contractDesc bchain.AddressDescriptor) (*big.Int, error)
- func (b *EthereumRPC) EthereumTypeGetNonce(addrDesc bchain.AddressDescriptor) (uint64, error)
- func (b *EthereumRPC) GetBestBlockHash() (string, error)
- func (b *EthereumRPC) GetBestBlockHeight() (uint32, error)
- func (b *EthereumRPC) GetBlock(hash string, height uint32) (*bchain.Block, error)
- func (b *EthereumRPC) GetBlockHash(height uint32) (string, error)
- func (b *EthereumRPC) GetBlockHeader(hash string) (*bchain.BlockHeader, error)
- func (b *EthereumRPC) GetBlockInfo(hash string) (*bchain.BlockInfo, error)
- func (b *EthereumRPC) GetChainInfo() (*bchain.ChainInfo, error)
- func (b *EthereumRPC) GetChainParser() bchain.BlockChainParser
- func (b *EthereumRPC) GetCoinName() string
- func (b *EthereumRPC) GetContractInfo(contractDesc bchain.AddressDescriptor) (*bchain.ContractInfo, error)
- func (b *EthereumRPC) GetMempoolTransactions() ([]string, error)
- func (b *EthereumRPC) GetSubversion() string
- func (b *EthereumRPC) GetTokenURI(contractDesc bchain.AddressDescriptor, tokenID *big.Int) (string, error)
- func (b *EthereumRPC) GetTransaction(txid string) (*bchain.Tx, error)
- func (b *EthereumRPC) GetTransactionForMempool(txid string) (*bchain.Tx, error)
- func (b *EthereumRPC) GetTransactionSpecific(tx *bchain.Tx) (json.RawMessage, error)
- func (b *EthereumRPC) Initialize() error
- func (b *EthereumRPC) InitializeMempool(addrDescForOutpoint bchain.AddrDescForOutpointFunc, ...) error
- func (b *EthereumRPC) SendRawTransaction(hex string) (string, error)
- func (b *EthereumRPC) Shutdown(ctx context.Context) error
- func (b *EthereumRPC) UpdateBestHeader(h bchain.EVMHeader)
- type EthereumRPCClient
- type EthereumTxData
- type Network
- type ProtoCompleteTransaction
- func (*ProtoCompleteTransaction) Descriptor() ([]byte, []int)
- func (m *ProtoCompleteTransaction) GetBlockNumber() uint32
- func (m *ProtoCompleteTransaction) GetBlockTime() uint64
- func (m *ProtoCompleteTransaction) GetReceipt() *ProtoCompleteTransaction_ReceiptType
- func (m *ProtoCompleteTransaction) GetTx() *ProtoCompleteTransaction_TxType
- func (*ProtoCompleteTransaction) ProtoMessage()
- func (m *ProtoCompleteTransaction) Reset()
- func (m *ProtoCompleteTransaction) String() string
- type ProtoCompleteTransaction_ReceiptType
- func (*ProtoCompleteTransaction_ReceiptType) Descriptor() ([]byte, []int)
- func (m *ProtoCompleteTransaction_ReceiptType) GetGasUsed() []byte
- func (m *ProtoCompleteTransaction_ReceiptType) GetLog() []*ProtoCompleteTransaction_ReceiptType_LogType
- func (m *ProtoCompleteTransaction_ReceiptType) GetStatus() []byte
- func (*ProtoCompleteTransaction_ReceiptType) ProtoMessage()
- func (m *ProtoCompleteTransaction_ReceiptType) Reset()
- func (m *ProtoCompleteTransaction_ReceiptType) String() string
- type ProtoCompleteTransaction_ReceiptType_LogType
- func (*ProtoCompleteTransaction_ReceiptType_LogType) Descriptor() ([]byte, []int)
- func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetAddress() []byte
- func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetData() []byte
- func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetTopics() [][]byte
- func (*ProtoCompleteTransaction_ReceiptType_LogType) ProtoMessage()
- func (m *ProtoCompleteTransaction_ReceiptType_LogType) Reset()
- func (m *ProtoCompleteTransaction_ReceiptType_LogType) String() string
- type ProtoCompleteTransaction_TxType
- func (*ProtoCompleteTransaction_TxType) Descriptor() ([]byte, []int)
- func (m *ProtoCompleteTransaction_TxType) GetAccountNonce() uint64
- func (m *ProtoCompleteTransaction_TxType) GetFrom() []byte
- func (m *ProtoCompleteTransaction_TxType) GetGasLimit() uint64
- func (m *ProtoCompleteTransaction_TxType) GetGasPrice() []byte
- func (m *ProtoCompleteTransaction_TxType) GetHash() []byte
- func (m *ProtoCompleteTransaction_TxType) GetPayload() []byte
- func (m *ProtoCompleteTransaction_TxType) GetTo() []byte
- func (m *ProtoCompleteTransaction_TxType) GetTransactionIndex() uint32
- func (m *ProtoCompleteTransaction_TxType) GetValue() []byte
- func (*ProtoCompleteTransaction_TxType) ProtoMessage()
- func (m *ProtoCompleteTransaction_TxType) Reset()
- func (m *ProtoCompleteTransaction_TxType) String() string
- type TxStatus
Constants ¶
const ( TxStatusUnknown = TxStatus(iota - 2) TxStatusPending TxStatusFailure TxStatusOK )
statuses of transaction
const ErrorTy byte = 255
const EtherAmountDecimalPoint = 18
EtherAmountDecimalPoint defines number of decimal points in Ether amounts
const EthereumTypeAddressDescriptorLen = 20
EthereumTypeAddressDescriptorLen - the AddressDescriptor of EthereumType has fixed length
const EthereumTypeTxidLen = 32
EthereumTypeTxidLen - the length of Txid
Variables ¶
var ProcessInternalTransactions bool
ProcessInternalTransactions specifies if internal transactions are processed
Functions ¶
func EIP55Address ¶ added in v0.3.2
func EIP55Address(addrDesc bchain.AddressDescriptor) string
EIP55Address returns an EIP55-compliant hex string representation of the address
func EIP55AddressFromAddress ¶ added in v0.3.2
EIP55AddressFromAddress returns an EIP55-compliant hex string representation of the address
func GetHeightFromTx ¶ added in v0.2.0
GetHeightFromTx returns ethereum specific data from bchain.Tx
func GetSignatureFromData ¶ added in v0.4.0
func GetStringFromMap ¶ added in v0.4.0
GetStringFromMap attempts to return the value for a specific key in a map as a string if valid, otherwise returns an empty string with false indicating there was no key found, or the value was not a string
func NewEthereumRPC ¶
func NewEthereumRPC(config json.RawMessage, pushHandler func(bchain.NotificationType)) (bchain.BlockChain, error)
NewEthereumRPC returns new EthRPC instance.
func PackInternalTransactionError ¶ added in v0.4.0
PackInternalTransactionError packs common error messages to single byte to save DB space
func ParseErrorFromOutput ¶ added in v0.4.0
ParseErrorFromOutput takes output field from internal transaction data and extracts an error message from it the output must have errorOutputSignature to be parsed
func ParseInputData ¶ added in v0.4.0
func ParseInputData(signatures *[]bchain.FourByteSignature, data string) *bchain.EthereumParsedInputData
ParseInputData tries to parse transaction input data from known FourByteSignatures as there may be multiple signatures for the same four bytes, it tries to match the input to the known parameters it does not parse tuples for now
func UnpackInternalTransactionError ¶ added in v0.4.0
UnpackInternalTransactionError unpacks common error messages packed by PackInternalTransactionError
Types ¶
type Configuration ¶
type Configuration struct { CoinName string `json:"coin_name"` CoinShortcut string `json:"coin_shortcut"` RPCURL string `json:"rpc_url"` RPCTimeout int `json:"rpc_timeout"` BlockAddressesToKeep int `json:"block_addresses_to_keep"` AddressAliases bool `json:"address_aliases,omitempty"` MempoolTxTimeoutHours int `json:"mempoolTxTimeoutHours"` QueryBackendOnMempoolResync bool `json:"queryBackendOnMempoolResync"` ProcessInternalTransactions bool `json:"processInternalTransactions"` ProcessZeroInternalTransactions bool `json:"processZeroInternalTransactions"` ConsensusNodeVersionURL string `json:"consensusNodeVersion"` }
Configuration represents json config file
type EthereumClient ¶ added in v0.4.0
EthereumClient wraps a client to implement the EVMClient interface
func (*EthereumClient) BalanceAt ¶ added in v0.4.0
func (c *EthereumClient) BalanceAt(ctx context.Context, addrDesc bchain.AddressDescriptor, blockNumber *big.Int) (*big.Int, error)
BalanceAt returns the balance for the given account at a specific block, or latest known block if no block number is provided
func (*EthereumClient) EstimateGas ¶ added in v0.4.0
func (c *EthereumClient) EstimateGas(ctx context.Context, msg interface{}) (uint64, error)
EstimateGas returns the current estimated gas cost for executing a transaction
func (*EthereumClient) HeaderByNumber ¶ added in v0.4.0
func (c *EthereumClient) HeaderByNumber(ctx context.Context, number *big.Int) (bchain.EVMHeader, error)
HeaderByNumber returns a block header that implements the EVMHeader interface
type EthereumClientSubscription ¶ added in v0.4.0
type EthereumClientSubscription struct {
*rpc.ClientSubscription
}
EthereumClientSubscription wraps a client subcription to implement the EVMClientSubscription interface
type EthereumHash ¶ added in v0.4.0
EthereumHash wraps a transaction hash to implement the EVMHash interface
type EthereumHeader ¶ added in v0.4.0
EthereumHeader wraps a block header to implement the EVMHeader interface
func (*EthereumHeader) Difficulty ¶ added in v0.4.0
func (h *EthereumHeader) Difficulty() *big.Int
Difficulty returns the block difficulty
func (*EthereumHeader) Hash ¶ added in v0.4.0
func (h *EthereumHeader) Hash() string
Hash returns the block hash as a hex string
func (*EthereumHeader) Number ¶ added in v0.4.0
func (h *EthereumHeader) Number() *big.Int
Number returns the block number
type EthereumNewBlock ¶ added in v0.4.0
type EthereumNewBlock struct {
// contains filtered or unexported fields
}
EthereumNewBlock wraps a block header channel to implement the EVMNewBlockSubscriber interface
func (*EthereumNewBlock) Channel ¶ added in v0.4.0
func (s *EthereumNewBlock) Channel() interface{}
Channel returns the underlying channel as an empty interface
func (*EthereumNewBlock) Close ¶ added in v0.4.0
func (s *EthereumNewBlock) Close()
Close the underlying channel
type EthereumNewTx ¶ added in v0.4.0
type EthereumNewTx struct {
// contains filtered or unexported fields
}
EthereumNewTx wraps a transaction hash channel to implement the EVMNewTxSubscriber interface
func (*EthereumNewTx) Channel ¶ added in v0.4.0
func (s *EthereumNewTx) Channel() interface{}
Channel returns the underlying channel as an empty interface
func (*EthereumNewTx) Close ¶ added in v0.4.0
func (s *EthereumNewTx) Close()
Close the underlying channel
type EthereumParser ¶
type EthereumParser struct {
*bchain.BaseParser
}
EthereumParser handle
func NewEthereumParser ¶
func NewEthereumParser(b int, addressAliases bool) *EthereumParser
NewEthereumParser returns new EthereumParser instance
func (*EthereumParser) EthereumTypeGetTokenTransfersFromTx ¶ added in v0.4.0
func (p *EthereumParser) EthereumTypeGetTokenTransfersFromTx(tx *bchain.Tx) (bchain.TokenTransfers, error)
EthereumTypeGetTokenTransfersFromTx returns contract transfers from bchain.Tx
func (*EthereumParser) FormatAddressAlias ¶ added in v0.4.0
func (p *EthereumParser) FormatAddressAlias(address string, name string) string
FormatAddressAlias adds .eth to a name alias
func (*EthereumParser) GetAddrDescFromAddress ¶ added in v0.1.0
func (p *EthereumParser) GetAddrDescFromAddress(address string) (bchain.AddressDescriptor, error)
GetAddrDescFromAddress returns internal address representation of given address
func (*EthereumParser) GetAddrDescFromVout ¶ added in v0.1.0
func (p *EthereumParser) GetAddrDescFromVout(output *bchain.Vout) (bchain.AddressDescriptor, error)
GetAddrDescFromVout returns internal address representation of given transaction output
func (*EthereumParser) GetAddressesFromAddrDesc ¶ added in v0.1.0
func (p *EthereumParser) GetAddressesFromAddrDesc(addrDesc bchain.AddressDescriptor) ([]string, bool, error)
GetAddressesFromAddrDesc returns addresses for given address descriptor with flag if the addresses are searchable
func (*EthereumParser) GetChainType ¶ added in v0.2.0
func (p *EthereumParser) GetChainType() bchain.ChainType
GetChainType returns EthereumType
func (*EthereumParser) GetScriptFromAddrDesc ¶ added in v0.1.0
func (p *EthereumParser) GetScriptFromAddrDesc(addrDesc bchain.AddressDescriptor) ([]byte, error)
GetScriptFromAddrDesc returns output script for given address descriptor
func (*EthereumParser) PackBlockHash ¶
func (p *EthereumParser) PackBlockHash(hash string) ([]byte, error)
PackBlockHash packs block hash to byte array
func (*EthereumParser) PackTx ¶
PackTx packs transaction to byte array completeTransaction.InternalData are not packed, they are stored in a different table
func (*EthereumParser) PackTxid ¶
func (p *EthereumParser) PackTxid(txid string) ([]byte, error)
PackTxid packs txid to byte array
func (*EthereumParser) PackedTxidLen ¶
func (p *EthereumParser) PackedTxidLen() int
PackedTxidLen returns length in bytes of packed txid
func (*EthereumParser) UnpackBlockHash ¶
func (p *EthereumParser) UnpackBlockHash(buf []byte) (string, error)
UnpackBlockHash unpacks byte array to block hash
func (*EthereumParser) UnpackTxid ¶
func (p *EthereumParser) UnpackTxid(buf []byte) (string, error)
UnpackTxid unpacks byte array to txid
type EthereumRPC ¶
type EthereumRPC struct { *bchain.BaseChain Client bchain.EVMClient RPC bchain.EVMRPCClient MainNetChainID Network Timeout time.Duration Parser *EthereumParser PushHandler func(bchain.NotificationType) OpenRPC func(string) (bchain.EVMRPCClient, bchain.EVMClient, error) Mempool *bchain.MempoolEthereumType NewBlock bchain.EVMNewBlockSubscriber NewTx bchain.EVMNewTxSubscriber ChainConfig *Configuration // contains filtered or unexported fields }
EthereumRPC is an interface to JSON-RPC eth service.
func (*EthereumRPC) CreateMempool ¶ added in v0.2.2
func (b *EthereumRPC) CreateMempool(chain bchain.BlockChain) (bchain.Mempool, error)
CreateMempool creates mempool if not already created, however does not initialize it
func (*EthereumRPC) EstimateFee ¶
func (b *EthereumRPC) EstimateFee(blocks int) (big.Int, error)
EstimateFee returns fee estimation
func (*EthereumRPC) EstimateSmartFee ¶
EstimateSmartFee returns fee estimation
func (*EthereumRPC) EthereumTypeEstimateGas ¶ added in v0.2.0
func (b *EthereumRPC) EthereumTypeEstimateGas(params map[string]interface{}) (uint64, error)
EthereumTypeEstimateGas returns estimation of gas consumption for given transaction parameters
func (*EthereumRPC) EthereumTypeGetBalance ¶ added in v0.2.0
func (b *EthereumRPC) EthereumTypeGetBalance(addrDesc bchain.AddressDescriptor) (*big.Int, error)
EthereumTypeGetBalance returns current balance of an address
func (*EthereumRPC) EthereumTypeGetErc20ContractBalance ¶ added in v0.2.0
func (b *EthereumRPC) EthereumTypeGetErc20ContractBalance(addrDesc, contractDesc bchain.AddressDescriptor) (*big.Int, error)
EthereumTypeGetErc20ContractBalance returns balance of ERC20 contract for given address
func (*EthereumRPC) EthereumTypeGetNonce ¶ added in v0.2.0
func (b *EthereumRPC) EthereumTypeGetNonce(addrDesc bchain.AddressDescriptor) (uint64, error)
EthereumTypeGetNonce returns current balance of an address
func (*EthereumRPC) GetBestBlockHash ¶
func (b *EthereumRPC) GetBestBlockHash() (string, error)
GetBestBlockHash returns hash of the tip of the best-block-chain
func (*EthereumRPC) GetBestBlockHeight ¶
func (b *EthereumRPC) GetBestBlockHeight() (uint32, error)
GetBestBlockHeight returns height of the tip of the best-block-chain
func (*EthereumRPC) GetBlock ¶
GetBlock returns block with given hash or height, hash has precedence if both passed
func (*EthereumRPC) GetBlockHash ¶
func (b *EthereumRPC) GetBlockHash(height uint32) (string, error)
GetBlockHash returns hash of block in best-block-chain at given height
func (*EthereumRPC) GetBlockHeader ¶
func (b *EthereumRPC) GetBlockHeader(hash string) (*bchain.BlockHeader, error)
GetBlockHeader returns header of block with given hash
func (*EthereumRPC) GetBlockInfo ¶ added in v0.1.0
func (b *EthereumRPC) GetBlockInfo(hash string) (*bchain.BlockInfo, error)
GetBlockInfo returns extended header (more info than in bchain.BlockHeader) with a list of txids
func (*EthereumRPC) GetChainInfo ¶ added in v0.1.0
func (b *EthereumRPC) GetChainInfo() (*bchain.ChainInfo, error)
GetChainInfo returns information about the connected backend
func (*EthereumRPC) GetChainParser ¶
func (b *EthereumRPC) GetChainParser() bchain.BlockChainParser
GetChainParser returns ethereum BlockChainParser
func (*EthereumRPC) GetCoinName ¶
func (b *EthereumRPC) GetCoinName() string
GetCoinName returns coin name
func (*EthereumRPC) GetContractInfo ¶ added in v0.4.0
func (b *EthereumRPC) GetContractInfo(contractDesc bchain.AddressDescriptor) (*bchain.ContractInfo, error)
GetContractInfo returns information about a contract
func (*EthereumRPC) GetMempoolTransactions ¶
func (b *EthereumRPC) GetMempoolTransactions() ([]string, error)
GetMempoolTransactions returns transactions in mempool
func (*EthereumRPC) GetSubversion ¶
func (b *EthereumRPC) GetSubversion() string
GetSubversion returns empty string, ethereum does not have subversion
func (*EthereumRPC) GetTokenURI ¶ added in v0.4.0
func (b *EthereumRPC) GetTokenURI(contractDesc bchain.AddressDescriptor, tokenID *big.Int) (string, error)
GetContractInfo returns URI of non fungible or multi token defined by token id
func (*EthereumRPC) GetTransaction ¶
func (b *EthereumRPC) GetTransaction(txid string) (*bchain.Tx, error)
GetTransaction returns a transaction by the transaction ID.
func (*EthereumRPC) GetTransactionForMempool ¶
func (b *EthereumRPC) GetTransactionForMempool(txid string) (*bchain.Tx, error)
GetTransactionForMempool returns a transaction by the transaction ID. It could be optimized for mempool, i.e. without block time and confirmations
func (*EthereumRPC) GetTransactionSpecific ¶ added in v0.1.1
func (b *EthereumRPC) GetTransactionSpecific(tx *bchain.Tx) (json.RawMessage, error)
GetTransactionSpecific returns json as returned by backend, with all coin specific data
func (*EthereumRPC) Initialize ¶
func (b *EthereumRPC) Initialize() error
Initialize initializes ethereum rpc interface
func (*EthereumRPC) InitializeMempool ¶ added in v0.2.2
func (b *EthereumRPC) InitializeMempool(addrDescForOutpoint bchain.AddrDescForOutpointFunc, onNewTxAddr bchain.OnNewTxAddrFunc, onNewTx bchain.OnNewTxFunc) error
InitializeMempool creates subscriptions to newHeads and newPendingTransactions
func (*EthereumRPC) SendRawTransaction ¶
func (b *EthereumRPC) SendRawTransaction(hex string) (string, error)
SendRawTransaction sends raw transaction
func (*EthereumRPC) Shutdown ¶
func (b *EthereumRPC) Shutdown(ctx context.Context) error
Shutdown cleans up rpc interface to ethereum
func (*EthereumRPC) UpdateBestHeader ¶ added in v0.4.0
func (b *EthereumRPC) UpdateBestHeader(h bchain.EVMHeader)
UpdateBestHeader keeps track of the latest block header confirmed on chain
type EthereumRPCClient ¶ added in v0.4.0
EthereumRPCClient wraps an rpc client to implement the EVMRPCClient interface
func (*EthereumRPCClient) EthSubscribe ¶ added in v0.4.0
func (c *EthereumRPCClient) EthSubscribe(ctx context.Context, channel interface{}, args ...interface{}) (bchain.EVMClientSubscription, error)
EthSubscribe subscribes to events and returns a client subscription that implements the EVMClientSubscription interface
type EthereumTxData ¶ added in v0.2.0
type EthereumTxData struct { Status TxStatus `json:"status"` // 1 OK, 0 Fail, -1 pending, -2 unknown Nonce uint64 `json:"nonce"` GasLimit *big.Int `json:"gaslimit"` GasUsed *big.Int `json:"gasused"` GasPrice *big.Int `json:"gasprice"` Data string `json:"data"` }
EthereumTxData contains ethereum specific transaction data
func GetEthereumTxData ¶ added in v0.2.0
func GetEthereumTxData(tx *bchain.Tx) *EthereumTxData
GetEthereumTxData returns EthereumTxData from bchain.Tx
func GetEthereumTxDataFromSpecificData ¶ added in v0.3.4
func GetEthereumTxDataFromSpecificData(coinSpecificData interface{}) *EthereumTxData
GetEthereumTxDataFromSpecificData returns EthereumTxData from coinSpecificData
type Network ¶ added in v0.4.0
type Network uint32
Network type specifies the type of ethereum network
type ProtoCompleteTransaction ¶ added in v0.2.0
type ProtoCompleteTransaction struct { BlockNumber uint32 `protobuf:"varint,1,opt,name=BlockNumber" json:"BlockNumber,omitempty"` BlockTime uint64 `protobuf:"varint,2,opt,name=BlockTime" json:"BlockTime,omitempty"` Tx *ProtoCompleteTransaction_TxType `protobuf:"bytes,3,opt,name=Tx" json:"Tx,omitempty"` Receipt *ProtoCompleteTransaction_ReceiptType `protobuf:"bytes,4,opt,name=Receipt" json:"Receipt,omitempty"` }
func (*ProtoCompleteTransaction) Descriptor ¶ added in v0.2.0
func (*ProtoCompleteTransaction) Descriptor() ([]byte, []int)
func (*ProtoCompleteTransaction) GetBlockNumber ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) GetBlockNumber() uint32
func (*ProtoCompleteTransaction) GetBlockTime ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) GetBlockTime() uint64
func (*ProtoCompleteTransaction) GetReceipt ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) GetReceipt() *ProtoCompleteTransaction_ReceiptType
func (*ProtoCompleteTransaction) GetTx ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) GetTx() *ProtoCompleteTransaction_TxType
func (*ProtoCompleteTransaction) ProtoMessage ¶ added in v0.2.0
func (*ProtoCompleteTransaction) ProtoMessage()
func (*ProtoCompleteTransaction) Reset ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) Reset()
func (*ProtoCompleteTransaction) String ¶ added in v0.2.0
func (m *ProtoCompleteTransaction) String() string
type ProtoCompleteTransaction_ReceiptType ¶ added in v0.2.0
type ProtoCompleteTransaction_ReceiptType struct { GasUsed []byte `protobuf:"bytes,1,opt,name=GasUsed,proto3" json:"GasUsed,omitempty"` Status []byte `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"` Log []*ProtoCompleteTransaction_ReceiptType_LogType `protobuf:"bytes,3,rep,name=Log" json:"Log,omitempty"` }
func (*ProtoCompleteTransaction_ReceiptType) Descriptor ¶ added in v0.2.0
func (*ProtoCompleteTransaction_ReceiptType) Descriptor() ([]byte, []int)
func (*ProtoCompleteTransaction_ReceiptType) GetGasUsed ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType) GetGasUsed() []byte
func (*ProtoCompleteTransaction_ReceiptType) GetLog ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType) GetLog() []*ProtoCompleteTransaction_ReceiptType_LogType
func (*ProtoCompleteTransaction_ReceiptType) GetStatus ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType) GetStatus() []byte
func (*ProtoCompleteTransaction_ReceiptType) ProtoMessage ¶ added in v0.2.0
func (*ProtoCompleteTransaction_ReceiptType) ProtoMessage()
func (*ProtoCompleteTransaction_ReceiptType) Reset ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType) Reset()
func (*ProtoCompleteTransaction_ReceiptType) String ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType) String() string
type ProtoCompleteTransaction_ReceiptType_LogType ¶ added in v0.2.0
type ProtoCompleteTransaction_ReceiptType_LogType struct { Address []byte `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"` Topics [][]byte `protobuf:"bytes,3,rep,name=Topics,proto3" json:"Topics,omitempty"` }
func (*ProtoCompleteTransaction_ReceiptType_LogType) Descriptor ¶ added in v0.2.0
func (*ProtoCompleteTransaction_ReceiptType_LogType) Descriptor() ([]byte, []int)
func (*ProtoCompleteTransaction_ReceiptType_LogType) GetAddress ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetAddress() []byte
func (*ProtoCompleteTransaction_ReceiptType_LogType) GetData ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetData() []byte
func (*ProtoCompleteTransaction_ReceiptType_LogType) GetTopics ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType_LogType) GetTopics() [][]byte
func (*ProtoCompleteTransaction_ReceiptType_LogType) ProtoMessage ¶ added in v0.2.0
func (*ProtoCompleteTransaction_ReceiptType_LogType) ProtoMessage()
func (*ProtoCompleteTransaction_ReceiptType_LogType) Reset ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType_LogType) Reset()
func (*ProtoCompleteTransaction_ReceiptType_LogType) String ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_ReceiptType_LogType) String() string
type ProtoCompleteTransaction_TxType ¶ added in v0.2.0
type ProtoCompleteTransaction_TxType struct { AccountNonce uint64 `protobuf:"varint,1,opt,name=AccountNonce" json:"AccountNonce,omitempty"` GasPrice []byte `protobuf:"bytes,2,opt,name=GasPrice,proto3" json:"GasPrice,omitempty"` GasLimit uint64 `protobuf:"varint,3,opt,name=GasLimit" json:"GasLimit,omitempty"` Value []byte `protobuf:"bytes,4,opt,name=Value,proto3" json:"Value,omitempty"` Payload []byte `protobuf:"bytes,5,opt,name=Payload,proto3" json:"Payload,omitempty"` Hash []byte `protobuf:"bytes,6,opt,name=Hash,proto3" json:"Hash,omitempty"` To []byte `protobuf:"bytes,7,opt,name=To,proto3" json:"To,omitempty"` From []byte `protobuf:"bytes,8,opt,name=From,proto3" json:"From,omitempty"` TransactionIndex uint32 `protobuf:"varint,9,opt,name=TransactionIndex" json:"TransactionIndex,omitempty"` }
func (*ProtoCompleteTransaction_TxType) Descriptor ¶ added in v0.2.0
func (*ProtoCompleteTransaction_TxType) Descriptor() ([]byte, []int)
func (*ProtoCompleteTransaction_TxType) GetAccountNonce ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetAccountNonce() uint64
func (*ProtoCompleteTransaction_TxType) GetFrom ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetFrom() []byte
func (*ProtoCompleteTransaction_TxType) GetGasLimit ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetGasLimit() uint64
func (*ProtoCompleteTransaction_TxType) GetGasPrice ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetGasPrice() []byte
func (*ProtoCompleteTransaction_TxType) GetHash ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetHash() []byte
func (*ProtoCompleteTransaction_TxType) GetPayload ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetPayload() []byte
func (*ProtoCompleteTransaction_TxType) GetTo ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetTo() []byte
func (*ProtoCompleteTransaction_TxType) GetTransactionIndex ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetTransactionIndex() uint32
func (*ProtoCompleteTransaction_TxType) GetValue ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) GetValue() []byte
func (*ProtoCompleteTransaction_TxType) ProtoMessage ¶ added in v0.2.0
func (*ProtoCompleteTransaction_TxType) ProtoMessage()
func (*ProtoCompleteTransaction_TxType) Reset ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) Reset()
func (*ProtoCompleteTransaction_TxType) String ¶ added in v0.2.0
func (m *ProtoCompleteTransaction_TxType) String() string