Documentation ¶
Index ¶
- func AssembleChain33Tx(etx *etypes.Transaction, sig, pubkey []byte, cfg *ctypes.Chain33Config) *ctypes.Transaction
- func CaculateRealV(v *big.Int, chainID uint64, txTyppe uint8) (byte, error)
- func CreateBloom(receipts []*Receipt) etypes.Bloom
- func TxDetailsToEthReceipts(txDetails *ctypes.TransactionDetails, blockHash common.Hash, ...) (txs Transactions, receipts []*Receipt, err error)
- func TxsToEthTxs(blockHash common.Hash, blockNum int64, ctxs []*ctypes.Transaction, ...) (txs []interface{}, fee int64, err error)
- type Block
- type CallMsg
- type EthProto
- type EvmLog
- type Filter
- type FilterQuery
- type Header
- type Network
- type Peer
- type Ports
- type Protocols
- type Receipt
- type Transaction
- type Transactions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssembleChain33Tx ¶ added in v1.67.4
func AssembleChain33Tx(etx *etypes.Transaction, sig, pubkey []byte, cfg *ctypes.Chain33Config) *ctypes.Transaction
AssembleChain33Tx 通过eth tx 组装chain33 tx 全部走evm 通道
func CaculateRealV ¶ added in v1.67.4
CaculateRealV return v
func CreateBloom ¶ added in v1.67.4
CreateBloom creates a bloom filter out of the give Receipts (+Logs)
func TxDetailsToEthReceipts ¶ added in v1.67.4
func TxDetailsToEthReceipts(txDetails *ctypes.TransactionDetails, blockHash common.Hash, cfg *ctypes.Chain33Config) (txs Transactions, receipts []*Receipt, err error)
TxDetailsToEthReceipts chain33 txdetails transfer to eth tx receipts
func TxsToEthTxs ¶
func TxsToEthTxs(blockHash common.Hash, blockNum int64, ctxs []*ctypes.Transaction, cfg *ctypes.Chain33Config, full bool) (txs []interface{}, fee int64, err error)
TxsToEthTxs chain33 txs format transfer to eth txs format
Types ¶
type Block ¶
type Block struct { *Header Uncles []*Header `json:"uncles"` Transactions interface{} `json:"transactions"` Hash string `json:"hash"` }
Block ETH 交易结构体
func BlockDetailToEthBlock ¶
func BlockDetailToEthBlock(details *types.BlockDetails, cfg *types.Chain33Config, full bool) (*Block, error)
BlockDetailToEthBlock chain33 blockdetails transfer to eth block format
type CallMsg ¶
type CallMsg struct { From string `json:"from"` To string `json:"to"` Gas *hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` Value *hexutil.Big `json:"value"` Nonce *hexutil.Uint64 `json:"nonce"` // We accept "data" and "input" for backwards-compatibility reasons. "input" is the // newer name and should be preferred by clients. Data *hexutil.Bytes `json:"data"` }
CallMsg eth api param
type EthProto ¶
type EthProto struct { Difficulty uint32 `json:"difficulty,omitempty"` Head string `json:"head,omitempty"` Version string `json:"version,omitempty"` NetworkID int `json:"network,omitempty"` }
EthProto eth proto
type EvmLog ¶
type EvmLog struct { Address common.Address `json:"address"` Topics []common.Hash `json:"topics"` Data hexutil.Bytes `json:"data"` BlockNumber hexutil.Uint64 `json:"blockNumber"` TxHash common.Hash `json:"transactionHash"` TxIndex hexutil.Uint `json:"transactionIndex"` BlockHash common.Hash `json:"blockHash"` Index hexutil.Uint `json:"logIndex"` Removed bool `json:"removed"` }
EvmLog evm log
type Filter ¶ added in v1.67.5
type Filter struct {
// contains filtered or unexported fields
}
Filter 过滤器
func NewFilter ¶ added in v1.67.5
func NewFilter(gcli ctypes.Chain33Client, cfg *ctypes.Chain33Config, option *FilterQuery) (*Filter, error)
NewFilter 创建filter 对象
func (*Filter) FilterBlockDetail ¶ added in v1.67.5
FilterBlockDetail 根据blockhash 过滤evmlog
func (*Filter) FilterEvmTxLogs ¶ added in v1.67.5
func (f *Filter) FilterEvmTxLogs(logs *ctypes.EVMTxLogPerBlk) (evmlogs []*EvmLog)
FilterEvmTxLogs 过滤EVMTxLogPerBlk
type FilterQuery ¶ added in v1.67.5
type FilterQuery struct { Address interface{} `json:"address,omitempty"` Topics []interface{} `json:"topics,omitempty"` BlockHash *common.Hash // used by eth_getLogs, return logs only from block with this hash FromBlock string `json:"fromBlock,omitempty"` // beginning of the queried range, nil means genesis block ToBlock string `json:"toBlock,omitempty"` }
FilterQuery ... logs Subscription
type Header ¶
type Header struct { ParentHash common.Hash `json:"parentHash" gencodec:"required"` UncleHash common.Hash `json:"sha3Uncles" gencodec:"required"` Coinbase common.Address `json:"miner" gencodec:"required"` Root common.Hash `json:"stateRoot" gencodec:"required"` TxHash common.Hash `json:"transactionsRoot" gencodec:"required"` ReceiptHash common.Hash `json:"receiptsRoot" gencodec:"required"` Bloom types.Bloom `json:"logsBloom" gencodec:"required"` Difficulty *hexutil.Big `json:"difficulty" gencodec:"required"` Number *hexutil.Big `json:"number" gencodec:"required"` GasLimit hexutil.Uint64 `json:"gasLimit" gencodec:"required"` GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"` Time hexutil.Uint64 `json:"timestamp" gencodec:"required"` Extra hexutil.Bytes `json:"extraData" gencodec:"required"` MixDigest common.Hash `json:"mixHash"` Nonce types.BlockNonce `json:"nonce"` //BaseFee *hexutil.Big `json:"baseFeePerGas" rlp:"optional"` Hash common.Hash `json:"hash"` }
Header block header
type Network ¶
type Network struct { LocalAddress string `json:"localAddress,omitempty"` RemoteAddress string `json:"remoteAddress,omitempty"` }
Network network info
type Peer ¶
type Peer struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` NetWork *Network `json:"netWork,omitempty"` Protocols *Protocols `json:"protocols,omitempty"` Self bool `json:"self,omitempty"` Ports *Ports `json:"ports,omitempty"` Encode string `json:"encode,omitempty"` ListenAddr string `json:"listenAddr,omitempty"` }
Peer peer info
type Ports ¶
type Ports struct { Discovery int32 `json:"discovery,omitempty"` Listener int32 `json:"listener,omitempty"` }
Ports ...
type Protocols ¶
type Protocols struct {
EthProto *EthProto `json:"eth,omitempty"`
}
Protocols peer protocols
type Receipt ¶
type Receipt struct { Type hexutil.Uint64 `json:"type"` Status hexutil.Uint64 `json:"status"` CumulativeGasUsed hexutil.Uint64 `json:"cumulativeGasUsed" gencodec:"required"` Bloom types.Bloom `json:"logsBloom" gencodec:"required"` Logs []*EvmLog `json:"logs" gencodec:"required"` TxHash common.Hash `json:"transactionHash" gencodec:"required"` ContractAddress *common.Address `json:"contractAddress"` GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"` BlockHash common.Hash `json:"blockHash,omitempty"` BlockNumber *hexutil.Big `json:"blockNumber,omitempty"` TransactionIndex hexutil.Uint `json:"transactionIndex"` From *common.Address `json:"from"` }
Receipt tx Receipt
type Transaction ¶
type Transaction struct { BlockHash *common.Hash `json:"blockHash"` BlockNumber *hexutil.Big `json:"blockNumber"` From common.Address `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` GasFeeCap *hexutil.Big `json:"maxFeePerGas,omitempty"` GasTipCap *hexutil.Big `json:"maxPriorityFeePerGas,omitempty"` Hash common.Hash `json:"hash"` Input hexutil.Bytes `json:"input"` Nonce hexutil.Uint64 `json:"nonce"` To *common.Address `json:"to"` TransactionIndex *hexutil.Uint64 `json:"transactionIndex"` Value *hexutil.Big `json:"value"` Type hexutil.Uint64 `json:"type"` Accesses *types.AccessList `json:"accessList,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` V *hexutil.Big `json:"v"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` }
Transaction represents a transaction that will serialize to the RPC representation of a transaction