Documentation
¶
Overview ¶
Package eth implements the Ethereum protocol.
nolint
Package eth is a generated GoMock package.
Index ¶
- Constants
- Variables
- func EthPeersContainsID(ethPeers []*ethPeer, id string) bool
- type AdminAPI
- type BadBlockArgs
- type Config
- type DebugAPI
- func (api *DebugAPI) AccountRange(blockNrOrHash rpc.BlockNumberOrHash, start hexutil.Bytes, maxResults int, ...) (state.Dump, error)
- func (api *DebugAPI) DumpBlock(blockNr rpc.BlockNumber) (state.Dump, error)
- func (api *DebugAPI) ExecutionWitness(bn rpc.BlockNumber) (*stateless.ExtWitness, error)
- func (api *DebugAPI) ExecutionWitnessByHash(hash common.Hash) (*stateless.ExtWitness, error)
- func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error)
- func (api *DebugAPI) GetBadBlocks(ctx context.Context) ([]*BadBlockArgs, error)
- func (api *DebugAPI) GetModifiedAccountsByHash(startHash common.Hash, endHash *common.Hash) ([]common.Address, error)
- func (api *DebugAPI) GetModifiedAccountsByNumber(startNum uint64, endNum *uint64) ([]common.Address, error)
- func (api *DebugAPI) GetTrieFlushInterval() (string, error)
- func (api *DebugAPI) Preimage(ctx context.Context, hash common.Hash) (hexutil.Bytes, error)
- func (api *DebugAPI) SetTrieFlushInterval(interval string) error
- func (api *DebugAPI) StateSize(blockHashOrNumber *rpc.BlockNumberOrHash) (interface{}, error)
- func (api *DebugAPI) StorageRangeAt(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash, txIndex int, ...) (StorageRangeResult, error)
- type EthAPIBackend
- func (b *EthAPIBackend) AcceptPreconfTxs() bool
- func (b *EthAPIBackend) AcceptPrivateTxs() bool
- func (b *EthAPIBackend) AccountManager() *accounts.Manager
- func (b *EthAPIBackend) BlobBaseFee(ctx context.Context) *big.Int
- func (b *EthAPIBackend) BlockByHash(ctx context.Context, hash common.Hash) (*types.Block, error)
- func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Block, error)
- func (b *EthAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Block, error)
- func (b *EthAPIBackend) ChainConfig() *params.ChainConfig
- func (b *EthAPIBackend) ChainDb() ethdb.Database
- func (b *EthAPIBackend) CheckPreconfStatus(hash common.Hash) (bool, error)
- func (b *EthAPIBackend) CurrentBlock() *types.Header
- func (b *EthAPIBackend) CurrentHeader() *types.Header
- func (b *EthAPIBackend) CurrentSafeBlock() *types.Header
- func (b *EthAPIBackend) CurrentView() *filtermaps.ChainView
- func (b *EthAPIBackend) Engine() consensus.Engine
- func (b *EthAPIBackend) Etherbase() (common.Address, error)
- func (b *EthAPIBackend) ExtRPCEnabled() bool
- func (b *EthAPIBackend) FeeHistory(ctx context.Context, blockCount uint64, lastBlock rpc.BlockNumber, ...) (firstBlock *big.Int, reward [][]*big.Int, baseFee []*big.Int, ...)
- func (b *EthAPIBackend) GetBody(ctx context.Context, hash common.Hash, number rpc.BlockNumber) (*types.Body, error)
- func (b *EthAPIBackend) GetBorBlockLogs(ctx context.Context, hash common.Hash) ([]*types.Log, error)
- func (b *EthAPIBackend) GetBorBlockReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error)
- func (b *EthAPIBackend) GetBorBlockTransaction(ctx context.Context, hash common.Hash) (*types.Transaction, common.Hash, uint64, uint64, error)
- func (b *EthAPIBackend) GetBorBlockTransactionWithBlockHash(ctx context.Context, txHash common.Hash, blockHash common.Hash) (*types.Transaction, common.Hash, uint64, uint64, error)
- func (b *EthAPIBackend) GetCanonicalReceipt(tx *types.Transaction, blockHash common.Hash, blockNumber, blockIndex uint64) (*types.Receipt, error)
- func (b *EthAPIBackend) GetCanonicalTransaction(txHash common.Hash) (bool, *types.Transaction, common.Hash, uint64, uint64)
- func (b *EthAPIBackend) GetEVM(_ context.Context, state *state.StateDB, header *types.Header, ...) *vm.EVM
- func (b *EthAPIBackend) GetFinalizedBlockNumber(_ context.Context) (uint64, error)
- func (b *EthAPIBackend) GetLogs(ctx context.Context, hash common.Hash, number uint64) ([][]*types.Log, error)
- func (b *EthAPIBackend) GetPoolNonce(ctx context.Context, addr common.Address) (uint64, error)
- func (b *EthAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
- func (b *EthAPIBackend) GetPoolTransactions() (types.Transactions, error)
- func (b *EthAPIBackend) GetReceipts(ctx context.Context, hash common.Hash) (types.Receipts, error)
- func (b *EthAPIBackend) GetRootHash(_ context.Context, starBlockNr uint64, endBlockNr uint64) (string, error)
- func (b *EthAPIBackend) GetTd(ctx context.Context, hash common.Hash) *big.Int
- func (b *EthAPIBackend) GetTdByNumber(ctx context.Context, blockNr rpc.BlockNumber) *big.Int
- func (b *EthAPIBackend) GetTransaction(txHash common.Hash) (bool, *types.Transaction, common.Hash, uint64, uint64)
- func (b *EthAPIBackend) GetVoteOnHash(ctx context.Context, _ uint64, endBlockNr uint64, hash string, ...) (bool, error)
- func (b *EthAPIBackend) GetWhitelistedCheckpoint() (bool, uint64, common.Hash)
- func (b *EthAPIBackend) GetWhitelistedMilestone() (bool, uint64, common.Hash)
- func (b *EthAPIBackend) GetWitnesses(ctx context.Context, originBlock uint64, totalBlocks uint64) ([]*stateless.Witness, error)
- func (b *EthAPIBackend) GetWork() ([4]string, error)
- func (b *EthAPIBackend) Hashrate() (uint64, error)
- func (b *EthAPIBackend) HeaderByHash(ctx context.Context, hash common.Hash) (*types.Header, error)
- func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error)
- func (b *EthAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Header, error)
- func (b *EthAPIBackend) HistoryPruningCutoff() uint64
- func (b *EthAPIBackend) IsParallelImportActive() bool
- func (b *EthAPIBackend) Miner() *miner.Miner
- func (b *EthAPIBackend) Mining() (bool, error)
- func (b *EthAPIBackend) NewMatcherBackend() filtermaps.MatcherBackend
- func (b *EthAPIBackend) PeerStats() interface{}
- func (b *EthAPIBackend) Pending() (*types.Block, types.Receipts, *state.StateDB)
- func (b *EthAPIBackend) PreconfEnabled() bool
- func (b *EthAPIBackend) PrivateTxEnabled() bool
- func (b *EthAPIBackend) ProtocolVersion() uint
- func (b *EthAPIBackend) PurgePrivateTx(hash common.Hash)
- func (b *EthAPIBackend) PurgeWhitelistedCheckpoint()
- func (b *EthAPIBackend) PurgeWhitelistedMilestone()
- func (b *EthAPIBackend) RPCEVMTimeout() time.Duration
- func (b *EthAPIBackend) RPCGasCap() uint64
- func (b *EthAPIBackend) RPCRpcReturnDataLimit() uint64
- func (b *EthAPIBackend) RPCTxFeeCap() float64
- func (b *EthAPIBackend) RPCTxSyncDefaultTimeout() time.Duration
- func (b *EthAPIBackend) RPCTxSyncMaxTimeout() time.Duration
- func (b *EthAPIBackend) RecordPrivateTx(hash common.Hash)
- func (b *EthAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
- func (b *EthAPIBackend) SetHead(number uint64)
- func (b *EthAPIBackend) StartMining() error
- func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.Header, error)
- func (b *EthAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.Header, error)
- func (b *EthAPIBackend) StateAtBlock(ctx context.Context, block *types.Block, reexec uint64, base *state.StateDB, ...) (*state.StateDB, tracers.StateReleaseFunc, error)
- func (b *EthAPIBackend) StateAtTransaction(ctx context.Context, block *types.Block, txIndex int, reexec uint64) (*types.Transaction, vm.BlockContext, *state.StateDB, tracers.StateReleaseFunc, ...)
- func (b *EthAPIBackend) Stats() (runnable int, blocked int)
- func (b *EthAPIBackend) StoreWitness(ctx context.Context, blockhash common.Hash, witness *stateless.Witness) error
- func (b *EthAPIBackend) SubmitHashrate(_ hexutil.Uint64, _ common.Hash) (bool, error)
- func (b *EthAPIBackend) SubmitPrivateTx(tx *types.Transaction) error
- func (b *EthAPIBackend) SubmitTxForPreconf(tx *types.Transaction) error
- func (b *EthAPIBackend) SubmitWork(_ types.BlockNonce, _, _ common.Hash) (bool, error)
- func (b *EthAPIBackend) SubscribeChain2HeadEvent(ch chan<- core.Chain2HeadEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *EthAPIBackend) SubscribeNewTxsEvent(ch chan<- core.NewTxsEvent) event.Subscription
- func (b *EthAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
- func (b *EthAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
- func (b *EthAPIBackend) SubscribeStateSyncEvent(ch chan<- core.StateSyncEvent) event.Subscription
- func (b *EthAPIBackend) SuggestGasTipCap(ctx context.Context) (*big.Int, error)
- func (b *EthAPIBackend) SyncProgress(ctx context.Context) ethereum.SyncProgress
- func (b *EthAPIBackend) TxIndexDone() bool
- func (b *EthAPIBackend) TxPool() *txpool.TxPool
- func (b *EthAPIBackend) TxPoolContent() (map[common.Address][]*types.Transaction, ...)
- func (b *EthAPIBackend) TxPoolContentFrom(addr common.Address) ([]*types.Transaction, []*types.Transaction)
- func (b *EthAPIBackend) TxStatus(hash common.Hash) txpool.TxStatus
- func (b *EthAPIBackend) UnprotectedAllowed() bool
- func (b *EthAPIBackend) WitnessByHash(ctx context.Context, hash common.Hash) (*stateless.Witness, error)
- func (b *EthAPIBackend) WitnessByNumber(ctx context.Context, number rpc.BlockNumber) (*stateless.Witness, error)
- func (b *EthAPIBackend) WitnessByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*stateless.Witness, error)
- type Ethereum
- func (s *Ethereum) APIs() []rpc.API
- func (s *Ethereum) AccountManager() *accounts.Manager
- func (s *Ethereum) ArchiveMode() bool
- func (s *Ethereum) BlobTxPool() *blobpool.BlobPool
- func (s *Ethereum) BlockChain() *core.BlockChain
- func (s *Ethereum) ChainDb() ethdb.Database
- func (s *Ethereum) Downloader() *downloader.Downloader
- func (s *Ethereum) Engine() consensus.Engine
- func (s *Ethereum) Etherbase() (eb common.Address, err error)
- func (s *Ethereum) IsListening() bool
- func (s *Ethereum) IsMining() bool
- func (s *Ethereum) Miner() *miner.Miner
- func (s *Ethereum) PeerCount() int
- func (s *Ethereum) Protocols() []p2p.Protocol
- func (s *Ethereum) PublicBlockChainAPI() *ethapi.BlockChainAPI
- func (s *Ethereum) ResetWithGenesisBlock(gb *types.Block)
- func (s *Ethereum) SetAuthorized(authorized bool)
- func (s *Ethereum) SetBlockchain(blockchain *core.BlockChain)
- func (s *Ethereum) SetEtherbase(etherbase common.Address)
- func (s *Ethereum) SetSynced()
- func (s *Ethereum) Start() error
- func (s *Ethereum) StartMining() error
- func (s *Ethereum) Stop() error
- func (s *Ethereum) StopMining()
- func (s *Ethereum) SyncMode() downloader.SyncMode
- func (s *Ethereum) Synced() bool
- func (s *Ethereum) TxPool() *txpool.TxPool
- type EthereumAPI
- type MinerAPI
- type MockWitnessPeer
- func (m *MockWitnessPeer) AddKnownWitness(hash common.Hash)
- func (m *MockWitnessPeer) AsyncSendNewWitness(witness *stateless.Witness)
- func (m *MockWitnessPeer) AsyncSendNewWitnessHash(hash common.Hash, number uint64)
- func (m *MockWitnessPeer) Close()
- func (m *MockWitnessPeer) EXPECT() *MockWitnessPeerMockRecorder
- func (m *MockWitnessPeer) ID() string
- func (m *MockWitnessPeer) KnownWitnessContainsHash(hash common.Hash) bool
- func (m *MockWitnessPeer) KnownWitnesses() *wit.KnownCache
- func (m *MockWitnessPeer) KnownWitnessesContains(witness *stateless.Witness) bool
- func (m *MockWitnessPeer) KnownWitnessesCount() int
- func (m *MockWitnessPeer) Log() log.Logger
- func (m *MockWitnessPeer) ReplyWitness(requestID uint64, response *wit.WitnessPacketResponse) error
- func (m *MockWitnessPeer) RequestWitness(witnessPages []wit.WitnessPageRequest, sink chan *wit.Response) (*wit.Request, error)
- func (m *MockWitnessPeer) RequestWitnessMetadata(hashes []common.Hash, sink chan *wit.Response) (*wit.Request, error)
- func (m *MockWitnessPeer) Version() uint
- type MockWitnessPeerMockRecorder
- func (mr *MockWitnessPeerMockRecorder) AddKnownWitness(hash interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitness(witness interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitnessHash(hash, number interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) Close() *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) ID() *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) KnownWitnessContainsHash(hash interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) KnownWitnesses() *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) KnownWitnessesContains(witness interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) KnownWitnessesCount() *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) Log() *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) ReplyWitness(requestID, response interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) RequestWitness(witnessPages, sink interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) RequestWitnessMetadata(hashes, sink interface{}) *gomock.Call
- func (mr *MockWitnessPeerMockRecorder) Version() *gomock.Call
- type PeerStats
- type StorageRangeResult
- type WitnessPeer
Constants ¶
const ( PageSize = 15 * 1024 * 1024 // 15 MB MaximumCachedWitnessOnARequest = 200 * 1024 * 1024 // 200 MB, the maximum amount of memory a request can demand while getting witness MaximumResponseSize = 16 * 1024 * 1024 // 16 MB, helps to fast fail check )
const ( DefaultPagesRequestPerWitness = 1 DefaultConcurrentRequestsPerPeer = 5 DefaultConcurrentResponsesHandled = 10 DefaultMaxPagesRequestRetries = 2 )
const AccountRangeMaxResults = 256
AccountRangeMaxResults is the maximum number of results to be returned per call
Variables ¶
var ( ErrNotBorConsensus = errors.New("not bor consensus was given") ErrBorConsensusWithoutHeimdall = errors.New("bor consensus without heimdall") )
var MilestoneWhitelistedDelayTimer = metrics.NewRegisteredTimer("chain/milestone/whitelisteddelay", nil)
Functions ¶
func EthPeersContainsID ¶
Types ¶
type AdminAPI ¶
type AdminAPI struct {
// contains filtered or unexported fields
}
AdminAPI is the collection of Ethereum full node related APIs for node administration.
func NewAdminAPI ¶
NewAdminAPI creates a new instance of AdminAPI.
func (*AdminAPI) ExportChain ¶
ExportChain exports the current blockchain into a local file, or a range of blocks if first and last are non-nil.
type BadBlockArgs ¶
type BadBlockArgs struct {
Hash common.Hash `json:"hash"`
Block map[string]interface{} `json:"block"`
RLP string `json:"rlp"`
}
BadBlockArgs represents the entries in the list returned when bad blocks are queried.
type Config ¶
Config contains the configuration options of the ETH protocol. Deprecated: use ethconfig.Config instead.
type DebugAPI ¶
type DebugAPI struct {
// contains filtered or unexported fields
}
DebugAPI is the collection of Ethereum full node APIs for debugging the protocol.
func NewDebugAPI ¶
NewDebugAPI creates a new DebugAPI instance.
func (*DebugAPI) AccountRange ¶
func (api *DebugAPI) AccountRange(blockNrOrHash rpc.BlockNumberOrHash, start hexutil.Bytes, maxResults int, nocode, nostorage, incompletes bool) (state.Dump, error)
AccountRange enumerates all accounts in the given block and start point in paging request
func (*DebugAPI) ExecutionWitness ¶
func (api *DebugAPI) ExecutionWitness(bn rpc.BlockNumber) (*stateless.ExtWitness, error)
func (*DebugAPI) ExecutionWitnessByHash ¶
func (*DebugAPI) GetAccessibleState ¶
func (api *DebugAPI) GetAccessibleState(from, to rpc.BlockNumber) (uint64, error)
GetAccessibleState returns the first number where the node has accessible state on disk. Note this being the post-state of that block and the pre-state of the next block. The (from, to) parameters are the sequence of blocks to search, which can go either forwards or backwards
func (*DebugAPI) GetBadBlocks ¶
func (api *DebugAPI) GetBadBlocks(ctx context.Context) ([]*BadBlockArgs, error)
GetBadBlocks returns a list of the last 'bad blocks' that the client has seen on the network and returns them as a JSON list of block hashes.
func (*DebugAPI) GetModifiedAccountsByHash ¶
func (api *DebugAPI) GetModifiedAccountsByHash(startHash common.Hash, endHash *common.Hash) ([]common.Address, error)
GetModifiedAccountsByHash returns all accounts that have changed between the two blocks specified. A change is defined as a difference in nonce, balance, code hash, or storage hash.
With one parameter, returns the list of accounts modified in the specified block.
func (*DebugAPI) GetModifiedAccountsByNumber ¶
func (api *DebugAPI) GetModifiedAccountsByNumber(startNum uint64, endNum *uint64) ([]common.Address, error)
GetModifiedAccountsByNumber returns all accounts that have changed between the two blocks specified. A change is defined as a difference in nonce, balance, code hash, or storage hash.
With one parameter, returns the list of accounts modified in the specified block.
func (*DebugAPI) GetTrieFlushInterval ¶
GetTrieFlushInterval gets the current value of in-memory trie flush interval
func (*DebugAPI) Preimage ¶
Preimage is a debug API function that returns the preimage for a sha3 hash, if known.
func (*DebugAPI) SetTrieFlushInterval ¶
SetTrieFlushInterval configures how often in-memory tries are persisted to disk. The value is in terms of block processing time, not wall clock. If the value is shorter than the block generation time, or even 0 or negative, the node will flush trie after processing each block (effectively archive mode).
func (*DebugAPI) StateSize ¶
func (api *DebugAPI) StateSize(blockHashOrNumber *rpc.BlockNumberOrHash) (interface{}, error)
StateSize returns the current state size statistics from the state size tracker. Returns an error if the state size tracker is not initialized or if stats are not ready.
func (*DebugAPI) StorageRangeAt ¶
func (api *DebugAPI) StorageRangeAt(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash, txIndex int, contractAddress common.Address, keyStart hexutil.Bytes, maxResult int) (StorageRangeResult, error)
StorageRangeAt returns the storage at the given block height and transaction index.
type EthAPIBackend ¶
type EthAPIBackend struct {
// contains filtered or unexported fields
}
EthAPIBackend implements ethapi.Backend and tracers.Backend for full nodes
func (*EthAPIBackend) AcceptPreconfTxs ¶
func (b *EthAPIBackend) AcceptPreconfTxs() bool
Preconf / Private tx related API for block producers
func (*EthAPIBackend) AcceptPrivateTxs ¶
func (b *EthAPIBackend) AcceptPrivateTxs() bool
func (*EthAPIBackend) AccountManager ¶
func (b *EthAPIBackend) AccountManager() *accounts.Manager
func (*EthAPIBackend) BlobBaseFee ¶
func (b *EthAPIBackend) BlobBaseFee(ctx context.Context) *big.Int
func (*EthAPIBackend) BlockByHash ¶
func (*EthAPIBackend) BlockByNumber ¶
func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Block, error)
func (*EthAPIBackend) BlockByNumberOrHash ¶
func (b *EthAPIBackend) BlockByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Block, error)
func (*EthAPIBackend) ChainConfig ¶
func (b *EthAPIBackend) ChainConfig() *params.ChainConfig
ChainConfig returns the active chain configuration.
func (*EthAPIBackend) ChainDb ¶
func (b *EthAPIBackend) ChainDb() ethdb.Database
func (*EthAPIBackend) CheckPreconfStatus ¶
func (b *EthAPIBackend) CheckPreconfStatus(hash common.Hash) (bool, error)
func (*EthAPIBackend) CurrentBlock ¶
func (b *EthAPIBackend) CurrentBlock() *types.Header
func (*EthAPIBackend) CurrentHeader ¶
func (b *EthAPIBackend) CurrentHeader() *types.Header
func (*EthAPIBackend) CurrentSafeBlock ¶
func (b *EthAPIBackend) CurrentSafeBlock() *types.Header
func (*EthAPIBackend) CurrentView ¶
func (b *EthAPIBackend) CurrentView() *filtermaps.ChainView
func (*EthAPIBackend) Engine ¶
func (b *EthAPIBackend) Engine() consensus.Engine
func (*EthAPIBackend) Etherbase ¶
func (b *EthAPIBackend) Etherbase() (common.Address, error)
Etherbase returns the address that mining rewards will be sent to.
func (*EthAPIBackend) ExtRPCEnabled ¶
func (b *EthAPIBackend) ExtRPCEnabled() bool
func (*EthAPIBackend) FeeHistory ¶
func (*EthAPIBackend) GetBody ¶
func (b *EthAPIBackend) GetBody(ctx context.Context, hash common.Hash, number rpc.BlockNumber) (*types.Body, error)
GetBody returns body of a block. It does not resolve special block numbers.
func (*EthAPIBackend) GetBorBlockLogs ¶
func (b *EthAPIBackend) GetBorBlockLogs(ctx context.Context, hash common.Hash) ([]*types.Log, error)
GetBorBlockLogs returns bor block logs
func (*EthAPIBackend) GetBorBlockReceipt ¶
func (b *EthAPIBackend) GetBorBlockReceipt(ctx context.Context, hash common.Hash) (*types.Receipt, error)
GetBorBlockReceipt returns bor block receipt
func (*EthAPIBackend) GetBorBlockTransaction ¶
func (b *EthAPIBackend) GetBorBlockTransaction(ctx context.Context, hash common.Hash) (*types.Transaction, common.Hash, uint64, uint64, error)
GetBorBlockTransaction returns bor block tx
func (*EthAPIBackend) GetBorBlockTransactionWithBlockHash ¶
func (*EthAPIBackend) GetCanonicalReceipt ¶
func (b *EthAPIBackend) GetCanonicalReceipt(tx *types.Transaction, blockHash common.Hash, blockNumber, blockIndex uint64) (*types.Receipt, error)
func (*EthAPIBackend) GetCanonicalTransaction ¶
func (b *EthAPIBackend) GetCanonicalTransaction(txHash common.Hash) (bool, *types.Transaction, common.Hash, uint64, uint64)
GetCanonicalTransaction retrieves the lookup along with the transaction itself associate with the given transaction hash.
A null will be returned if the transaction is not found. The transaction is not existent from the node's perspective. This can be due to the transaction indexer not being finished. The caller must explicitly check the indexer progress.
Notably, only the transaction in the canonical chain is visible.
func (*EthAPIBackend) GetFinalizedBlockNumber ¶
func (b *EthAPIBackend) GetFinalizedBlockNumber(_ context.Context) (uint64, error)
func (*EthAPIBackend) GetPoolNonce ¶
func (*EthAPIBackend) GetPoolTransaction ¶
func (b *EthAPIBackend) GetPoolTransaction(hash common.Hash) *types.Transaction
func (*EthAPIBackend) GetPoolTransactions ¶
func (b *EthAPIBackend) GetPoolTransactions() (types.Transactions, error)
func (*EthAPIBackend) GetReceipts ¶
func (*EthAPIBackend) GetRootHash ¶
func (b *EthAPIBackend) GetRootHash(_ context.Context, starBlockNr uint64, endBlockNr uint64) (string, error)
GetRootHash returns root hash for given start and end block
func (*EthAPIBackend) GetTdByNumber ¶
func (b *EthAPIBackend) GetTdByNumber(ctx context.Context, blockNr rpc.BlockNumber) *big.Int
func (*EthAPIBackend) GetTransaction ¶
func (b *EthAPIBackend) GetTransaction(txHash common.Hash) (bool, *types.Transaction, common.Hash, uint64, uint64)
GetTransaction retrieves the lookup along with the transaction itself associate with the given transaction hash.
A null will be returned if the transaction is not found. The transaction is not existent from the node's perspective. This can be due to the transaction indexer not being finished. The caller must explicitly check the indexer progress.
func (*EthAPIBackend) GetVoteOnHash ¶
func (b *EthAPIBackend) GetVoteOnHash(ctx context.Context, _ uint64, endBlockNr uint64, hash string, milestoneId string) (bool, error)
GetVoteOnHash returns the vote on hash
func (*EthAPIBackend) GetWhitelistedCheckpoint ¶
func (b *EthAPIBackend) GetWhitelistedCheckpoint() (bool, uint64, common.Hash)
func (*EthAPIBackend) GetWhitelistedMilestone ¶
func (b *EthAPIBackend) GetWhitelistedMilestone() (bool, uint64, common.Hash)
func (*EthAPIBackend) GetWitnesses ¶
func (*EthAPIBackend) GetWork ¶
func (b *EthAPIBackend) GetWork() ([4]string, error)
GetWork returns a work package for external miners.
func (*EthAPIBackend) Hashrate ¶
func (b *EthAPIBackend) Hashrate() (uint64, error)
Hashrate returns the POW hashrate.
func (*EthAPIBackend) HeaderByHash ¶
func (*EthAPIBackend) HeaderByNumber ¶
func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error)
func (*EthAPIBackend) HeaderByNumberOrHash ¶
func (b *EthAPIBackend) HeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*types.Header, error)
func (*EthAPIBackend) HistoryPruningCutoff ¶
func (b *EthAPIBackend) HistoryPruningCutoff() uint64
func (*EthAPIBackend) IsParallelImportActive ¶
func (b *EthAPIBackend) IsParallelImportActive() bool
func (*EthAPIBackend) Miner ¶
func (b *EthAPIBackend) Miner() *miner.Miner
func (*EthAPIBackend) Mining ¶
func (b *EthAPIBackend) Mining() (bool, error)
Mining returns an indication if this node is currently mining.
func (*EthAPIBackend) NewMatcherBackend ¶
func (b *EthAPIBackend) NewMatcherBackend() filtermaps.MatcherBackend
func (*EthAPIBackend) PeerStats ¶
func (b *EthAPIBackend) PeerStats() interface{}
func (*EthAPIBackend) PreconfEnabled ¶
func (b *EthAPIBackend) PreconfEnabled() bool
Preconf / Private tx related API for relay
func (*EthAPIBackend) PrivateTxEnabled ¶
func (b *EthAPIBackend) PrivateTxEnabled() bool
func (*EthAPIBackend) ProtocolVersion ¶
func (b *EthAPIBackend) ProtocolVersion() uint
ProtocolVersion returns the current Ethereum protocol version.
func (*EthAPIBackend) PurgePrivateTx ¶
func (b *EthAPIBackend) PurgePrivateTx(hash common.Hash)
func (*EthAPIBackend) PurgeWhitelistedCheckpoint ¶
func (b *EthAPIBackend) PurgeWhitelistedCheckpoint()
func (*EthAPIBackend) PurgeWhitelistedMilestone ¶
func (b *EthAPIBackend) PurgeWhitelistedMilestone()
func (*EthAPIBackend) RPCEVMTimeout ¶
func (b *EthAPIBackend) RPCEVMTimeout() time.Duration
func (*EthAPIBackend) RPCGasCap ¶
func (b *EthAPIBackend) RPCGasCap() uint64
func (*EthAPIBackend) RPCRpcReturnDataLimit ¶
func (b *EthAPIBackend) RPCRpcReturnDataLimit() uint64
func (*EthAPIBackend) RPCTxFeeCap ¶
func (b *EthAPIBackend) RPCTxFeeCap() float64
func (*EthAPIBackend) RPCTxSyncDefaultTimeout ¶
func (b *EthAPIBackend) RPCTxSyncDefaultTimeout() time.Duration
func (*EthAPIBackend) RPCTxSyncMaxTimeout ¶
func (b *EthAPIBackend) RPCTxSyncMaxTimeout() time.Duration
func (*EthAPIBackend) RecordPrivateTx ¶
func (b *EthAPIBackend) RecordPrivateTx(hash common.Hash)
func (*EthAPIBackend) SendTx ¶
func (b *EthAPIBackend) SendTx(ctx context.Context, signedTx *types.Transaction) error
func (*EthAPIBackend) SetHead ¶
func (b *EthAPIBackend) SetHead(number uint64)
func (*EthAPIBackend) StartMining ¶
func (b *EthAPIBackend) StartMining() error
func (*EthAPIBackend) StateAndHeaderByNumber ¶
func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.Header, error)
func (*EthAPIBackend) StateAndHeaderByNumberOrHash ¶
func (b *EthAPIBackend) StateAndHeaderByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*state.StateDB, *types.Header, error)
func (*EthAPIBackend) StateAtBlock ¶
func (*EthAPIBackend) StateAtTransaction ¶
func (b *EthAPIBackend) StateAtTransaction(ctx context.Context, block *types.Block, txIndex int, reexec uint64) (*types.Transaction, vm.BlockContext, *state.StateDB, tracers.StateReleaseFunc, error)
func (*EthAPIBackend) Stats ¶
func (b *EthAPIBackend) Stats() (runnable int, blocked int)
func (*EthAPIBackend) StoreWitness ¶
func (*EthAPIBackend) SubmitHashrate ¶
SubmitHashrate can be used for remote miners to submit their hash rate.
func (*EthAPIBackend) SubmitPrivateTx ¶
func (b *EthAPIBackend) SubmitPrivateTx(tx *types.Transaction) error
func (*EthAPIBackend) SubmitTxForPreconf ¶
func (b *EthAPIBackend) SubmitTxForPreconf(tx *types.Transaction) error
func (*EthAPIBackend) SubmitWork ¶
func (b *EthAPIBackend) SubmitWork(_ types.BlockNonce, _, _ common.Hash) (bool, error)
SubmitWork can be used by external miner to submit their POW solution.
func (*EthAPIBackend) SubscribeChain2HeadEvent ¶
func (b *EthAPIBackend) SubscribeChain2HeadEvent(ch chan<- core.Chain2HeadEvent) event.Subscription
SubscribeChain2HeadEvent subscribes to reorg/head/fork event
func (*EthAPIBackend) SubscribeChainEvent ¶
func (b *EthAPIBackend) SubscribeChainEvent(ch chan<- core.ChainEvent) event.Subscription
func (*EthAPIBackend) SubscribeChainHeadEvent ¶
func (b *EthAPIBackend) SubscribeChainHeadEvent(ch chan<- core.ChainHeadEvent) event.Subscription
func (*EthAPIBackend) SubscribeLogsEvent ¶
func (b *EthAPIBackend) SubscribeLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*EthAPIBackend) SubscribeNewTxsEvent ¶
func (b *EthAPIBackend) SubscribeNewTxsEvent(ch chan<- core.NewTxsEvent) event.Subscription
func (*EthAPIBackend) SubscribePendingLogsEvent ¶
func (b *EthAPIBackend) SubscribePendingLogsEvent(ch chan<- []*types.Log) event.Subscription
func (*EthAPIBackend) SubscribeRemovedLogsEvent ¶
func (b *EthAPIBackend) SubscribeRemovedLogsEvent(ch chan<- core.RemovedLogsEvent) event.Subscription
func (*EthAPIBackend) SubscribeStateSyncEvent ¶
func (b *EthAPIBackend) SubscribeStateSyncEvent(ch chan<- core.StateSyncEvent) event.Subscription
SubscribeStateSyncEvent subscribes to state sync event
func (*EthAPIBackend) SuggestGasTipCap ¶
func (*EthAPIBackend) SyncProgress ¶
func (b *EthAPIBackend) SyncProgress(ctx context.Context) ethereum.SyncProgress
func (*EthAPIBackend) TxIndexDone ¶
func (b *EthAPIBackend) TxIndexDone() bool
TxIndexDone returns true if the transaction indexer has finished indexing.
func (*EthAPIBackend) TxPool ¶
func (b *EthAPIBackend) TxPool() *txpool.TxPool
func (*EthAPIBackend) TxPoolContent ¶
func (b *EthAPIBackend) TxPoolContent() (map[common.Address][]*types.Transaction, map[common.Address][]*types.Transaction)
func (*EthAPIBackend) TxPoolContentFrom ¶
func (b *EthAPIBackend) TxPoolContentFrom(addr common.Address) ([]*types.Transaction, []*types.Transaction)
func (*EthAPIBackend) UnprotectedAllowed ¶
func (b *EthAPIBackend) UnprotectedAllowed() bool
func (*EthAPIBackend) WitnessByHash ¶
func (*EthAPIBackend) WitnessByNumber ¶
func (b *EthAPIBackend) WitnessByNumber(ctx context.Context, number rpc.BlockNumber) (*stateless.Witness, error)
func (*EthAPIBackend) WitnessByNumberOrHash ¶
func (b *EthAPIBackend) WitnessByNumberOrHash(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (*stateless.Witness, error)
type Ethereum ¶
type Ethereum struct {
APIBackend *EthAPIBackend
// contains filtered or unexported fields
}
Ethereum implements the Ethereum full node service.
func New ¶
New creates a new Ethereum object (including the initialisation of the common Ethereum object), whose lifecycle will be managed by the provided node.
func (*Ethereum) APIs ¶
APIs return the collection of RPC services the ethereum package offers. NOTE, some of these services probably need to be moved to somewhere else.
func (*Ethereum) AccountManager ¶
func (*Ethereum) ArchiveMode ¶
func (*Ethereum) BlobTxPool ¶
func (*Ethereum) BlockChain ¶
func (s *Ethereum) BlockChain() *core.BlockChain
func (*Ethereum) Downloader ¶
func (s *Ethereum) Downloader() *downloader.Downloader
func (*Ethereum) IsListening ¶
func (*Ethereum) Protocols ¶
Protocols returns all the currently configured network protocols to start.
func (*Ethereum) PublicBlockChainAPI ¶
func (s *Ethereum) PublicBlockChainAPI() *ethapi.BlockChainAPI
func (*Ethereum) ResetWithGenesisBlock ¶
func (*Ethereum) SetAuthorized ¶
SetAuthorized sets the authorized bool variable denoting that consensus has been authorized while creation
func (*Ethereum) SetBlockchain ¶
func (s *Ethereum) SetBlockchain(blockchain *core.BlockChain)
SetBlockchain set blockchain while testing
func (*Ethereum) SetEtherbase ¶
SetEtherbase sets the mining reward address.
func (*Ethereum) Start ¶
Start implements node.Lifecycle, starting all internal goroutines needed by the Ethereum protocol implementation.
func (*Ethereum) StartMining ¶
StartMining starts the miner with the given number of CPU threads. If mining is already running, this method adjust the number of threads allowed to use and updates the minimum price required by the transaction pool.
func (*Ethereum) Stop ¶
Stop implements node.Lifecycle, terminating all internal goroutines used by the Ethereum protocol.
func (*Ethereum) StopMining ¶
func (s *Ethereum) StopMining()
StopMining terminates the miner, both at the consensus engine level as well as at the block creation level.
func (*Ethereum) SyncMode ¶
func (s *Ethereum) SyncMode() downloader.SyncMode
SyncMode retrieves the current sync mode, either explicitly set, or derived from the chain status.
type EthereumAPI ¶
type EthereumAPI struct {
// contains filtered or unexported fields
}
EthereumAPI provides an API to access Ethereum full node-related information.
func NewEthereumAPI ¶
func NewEthereumAPI(e *Ethereum) *EthereumAPI
NewEthereumAPI creates a new Ethereum protocol API for full nodes.
func (*EthereumAPI) Coinbase ¶
func (api *EthereumAPI) Coinbase() (common.Address, error)
Coinbase is the address that mining rewards will be sent to (alias for Etherbase).
func (*EthereumAPI) Etherbase ¶
func (api *EthereumAPI) Etherbase() (common.Address, error)
Etherbase is the address that mining rewards will be sent to.
func (*EthereumAPI) Hashrate ¶
func (api *EthereumAPI) Hashrate() hexutil.Uint64
Hashrate returns the POW hashrate.
func (*EthereumAPI) Mining ¶
func (api *EthereumAPI) Mining() bool
Mining returns an indication if this node is currently mining.
type MinerAPI ¶
type MinerAPI struct {
// contains filtered or unexported fields
}
MinerAPI provides an API to control the miner.
func NewMinerAPI ¶
NewMinerAPI creates a new MinerAPI instance.
func (*MinerAPI) SetExtra ¶
SetExtra sets the extra data string that is included when this miner mines a block.
func (*MinerAPI) SetGasLimit ¶
SetGasLimit sets the gaslimit to target towards during mining.
type MockWitnessPeer ¶
type MockWitnessPeer struct {
// contains filtered or unexported fields
}
MockWitnessPeer is a mock of WitnessPeer interface.
func NewMockWitnessPeer ¶
func NewMockWitnessPeer(ctrl *gomock.Controller) *MockWitnessPeer
NewMockWitnessPeer creates a new mock instance.
func (*MockWitnessPeer) AddKnownWitness ¶
func (m *MockWitnessPeer) AddKnownWitness(hash common.Hash)
AddKnownWitness mocks base method.
func (*MockWitnessPeer) AsyncSendNewWitness ¶
func (m *MockWitnessPeer) AsyncSendNewWitness(witness *stateless.Witness)
AsyncSendNewWitness mocks base method.
func (*MockWitnessPeer) AsyncSendNewWitnessHash ¶
func (m *MockWitnessPeer) AsyncSendNewWitnessHash(hash common.Hash, number uint64)
AsyncSendNewWitnessHash mocks base method.
func (*MockWitnessPeer) EXPECT ¶
func (m *MockWitnessPeer) EXPECT() *MockWitnessPeerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockWitnessPeer) KnownWitnessContainsHash ¶
func (m *MockWitnessPeer) KnownWitnessContainsHash(hash common.Hash) bool
KnownWitnessContainsHash mocks base method.
func (*MockWitnessPeer) KnownWitnesses ¶
func (m *MockWitnessPeer) KnownWitnesses() *wit.KnownCache
KnownWitnesses mocks base method.
func (*MockWitnessPeer) KnownWitnessesContains ¶
func (m *MockWitnessPeer) KnownWitnessesContains(witness *stateless.Witness) bool
KnownWitnessesContains mocks base method.
func (*MockWitnessPeer) KnownWitnessesCount ¶
func (m *MockWitnessPeer) KnownWitnessesCount() int
KnownWitnessesCount mocks base method.
func (*MockWitnessPeer) ReplyWitness ¶
func (m *MockWitnessPeer) ReplyWitness(requestID uint64, response *wit.WitnessPacketResponse) error
ReplyWitness mocks base method.
func (*MockWitnessPeer) RequestWitness ¶
func (m *MockWitnessPeer) RequestWitness(witnessPages []wit.WitnessPageRequest, sink chan *wit.Response) (*wit.Request, error)
RequestWitness mocks base method.
func (*MockWitnessPeer) RequestWitnessMetadata ¶
func (m *MockWitnessPeer) RequestWitnessMetadata(hashes []common.Hash, sink chan *wit.Response) (*wit.Request, error)
RequestWitnessMetadata mocks base method.
func (*MockWitnessPeer) Version ¶
func (m *MockWitnessPeer) Version() uint
Version mocks base method.
type MockWitnessPeerMockRecorder ¶
type MockWitnessPeerMockRecorder struct {
// contains filtered or unexported fields
}
MockWitnessPeerMockRecorder is the mock recorder for MockWitnessPeer.
func (*MockWitnessPeerMockRecorder) AddKnownWitness ¶
func (mr *MockWitnessPeerMockRecorder) AddKnownWitness(hash interface{}) *gomock.Call
AddKnownWitness indicates an expected call of AddKnownWitness.
func (*MockWitnessPeerMockRecorder) AsyncSendNewWitness ¶
func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitness(witness interface{}) *gomock.Call
AsyncSendNewWitness indicates an expected call of AsyncSendNewWitness.
func (*MockWitnessPeerMockRecorder) AsyncSendNewWitnessHash ¶
func (mr *MockWitnessPeerMockRecorder) AsyncSendNewWitnessHash(hash, number interface{}) *gomock.Call
AsyncSendNewWitnessHash indicates an expected call of AsyncSendNewWitnessHash.
func (*MockWitnessPeerMockRecorder) Close ¶
func (mr *MockWitnessPeerMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockWitnessPeerMockRecorder) ID ¶
func (mr *MockWitnessPeerMockRecorder) ID() *gomock.Call
ID indicates an expected call of ID.
func (*MockWitnessPeerMockRecorder) KnownWitnessContainsHash ¶
func (mr *MockWitnessPeerMockRecorder) KnownWitnessContainsHash(hash interface{}) *gomock.Call
KnownWitnessContainsHash indicates an expected call of KnownWitnessContainsHash.
func (*MockWitnessPeerMockRecorder) KnownWitnesses ¶
func (mr *MockWitnessPeerMockRecorder) KnownWitnesses() *gomock.Call
KnownWitnesses indicates an expected call of KnownWitnesses.
func (*MockWitnessPeerMockRecorder) KnownWitnessesContains ¶
func (mr *MockWitnessPeerMockRecorder) KnownWitnessesContains(witness interface{}) *gomock.Call
KnownWitnessesContains indicates an expected call of KnownWitnessesContains.
func (*MockWitnessPeerMockRecorder) KnownWitnessesCount ¶
func (mr *MockWitnessPeerMockRecorder) KnownWitnessesCount() *gomock.Call
KnownWitnessesCount indicates an expected call of KnownWitnessesCount.
func (*MockWitnessPeerMockRecorder) Log ¶
func (mr *MockWitnessPeerMockRecorder) Log() *gomock.Call
Log indicates an expected call of Log.
func (*MockWitnessPeerMockRecorder) ReplyWitness ¶
func (mr *MockWitnessPeerMockRecorder) ReplyWitness(requestID, response interface{}) *gomock.Call
ReplyWitness indicates an expected call of ReplyWitness.
func (*MockWitnessPeerMockRecorder) RequestWitness ¶
func (mr *MockWitnessPeerMockRecorder) RequestWitness(witnessPages, sink interface{}) *gomock.Call
RequestWitness indicates an expected call of RequestWitness.
func (*MockWitnessPeerMockRecorder) RequestWitnessMetadata ¶
func (mr *MockWitnessPeerMockRecorder) RequestWitnessMetadata(hashes, sink interface{}) *gomock.Call
RequestWitnessMetadata indicates an expected call of RequestWitnessMetadata.
func (*MockWitnessPeerMockRecorder) Version ¶
func (mr *MockWitnessPeerMockRecorder) Version() *gomock.Call
Version indicates an expected call of Version.
type PeerStats ¶
type PeerStats struct {
Enode string `json:"enode"` // Node URL
ID string `json:"id"` // Unique node identifier
Name string `json:"name"` // Name of the node, including client type, version, OS, custom data
Hash string `json:"hash"` // Head hash of the peer
Number uint64 `json:"number"` // Head number of the peer
Td uint64 `json:"td"` // Total difficulty of the peer
}
PeerStats represents a short summary of the information known about a connected peer. Specifically, it contains details about the head hash and total difficulty of a peer which makes it a bit different from the PeerInfo.
type StorageRangeResult ¶
type StorageRangeResult struct {
Storage storageMap `json:"storage"`
NextKey *common.Hash `json:"nextKey"` // nil if Storage includes the last key in the trie.
}
StorageRangeResult is the result of a debug_storageRangeAt API call.
type WitnessPeer ¶
type WitnessPeer interface {
// the method ethPeer.RequestWitnesses invokes
AsyncSendNewWitness(witness *stateless.Witness)
AsyncSendNewWitnessHash(hash common.Hash, number uint64)
RequestWitness(witnessPages []wit.WitnessPageRequest, sink chan *wit.Response) (*wit.Request, error)
RequestWitnessMetadata(hashes []common.Hash, sink chan *wit.Response) (*wit.Request, error)
Close()
ID() string
Version() uint
Log() log.Logger
KnownWitnesses() *wit.KnownCache
AddKnownWitness(hash common.Hash)
KnownWitnessesCount() int
KnownWitnessesContains(witness *stateless.Witness) bool
KnownWitnessContainsHash(hash common.Hash) bool
ReplyWitness(requestID uint64, response *wit.WitnessPacketResponse) error
}
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package catalyst implements the temporary eth1/eth2 RPC integration.
|
Package catalyst implements the temporary eth1/eth2 RPC integration. |
|
Package downloader contains the manual full chain synchronisation.
|
Package downloader contains the manual full chain synchronisation. |
|
Package ethconfig contains the configuration of the ETH and LES protocols.
|
Package ethconfig contains the configuration of the ETH and LES protocols. |
|
Package fetcher contains the announcement based header, blocks or transaction synchronisation.
|
Package fetcher contains the announcement based header, blocks or transaction synchronisation. |
|
Package filters is a generated GoMock package.
|
Package filters is a generated GoMock package. |
|
protocols
|
|
|
js/internal/tracers
Package tracers contains the actual JavaScript tracer assets.
|
Package tracers contains the actual JavaScript tracer assets. |