 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
- type EthClient
- type HeaderTraversal
- type Metricer
- type MockEthClient
- func (m *MockEthClient) BlockHeaderByHash(hash common.Hash) (*types.Header, error)
- func (m *MockEthClient) BlockHeaderByNumber(number *big.Int) (*types.Header, error)
- func (m *MockEthClient) BlockHeadersByRange(from, to *big.Int) ([]types.Header, error)
- func (m *MockEthClient) FilterLogs(query ethereum.FilterQuery) ([]types.Log, error)
- func (m *MockEthClient) StorageHash(address common.Address, blockNumber *big.Int) (common.Hash, error)
- func (m *MockEthClient) TxByHash(hash common.Hash) (*types.Transaction, error)
 
- type RPC
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var ( ErrHeaderTraversalAheadOfProvider = errors.New("the HeaderTraversal's internal state is ahead of the provider") ErrHeaderTraversalAndProviderMismatchedState = errors.New("the HeaderTraversal and provider have diverged in state") )
      View Source
      
  
var (
	MetricsNamespace = "rpc"
)
    Functions ¶
This section is empty.
Types ¶
type EthClient ¶
type EthClient interface {
	BlockHeaderByNumber(*big.Int) (*types.Header, error)
	BlockHeaderByHash(common.Hash) (*types.Header, error)
	BlockHeadersByRange(*big.Int, *big.Int) ([]types.Header, error)
	TxByHash(common.Hash) (*types.Transaction, error)
	StorageHash(common.Address, *big.Int) (common.Hash, error)
	FilterLogs(ethereum.FilterQuery) ([]types.Log, error)
}
    type HeaderTraversal ¶
type HeaderTraversal struct {
	// contains filtered or unexported fields
}
    func NewHeaderTraversal ¶
func NewHeaderTraversal(ethClient EthClient, fromHeader *types.Header, confDepth *big.Int) *HeaderTraversal
NewHeaderTraversal instantiates a new instance of HeaderTraversal against the supplied rpc client. The HeaderTraversal will start fetching blocks starting from the supplied header unless nil, indicating genesis.
func (*HeaderTraversal) LastHeader ¶ added in v1.1.6
func (f *HeaderTraversal) LastHeader() *types.Header
LastHeader returns the last header that was fetched by the HeaderTraversal This is useful for testing the state of the HeaderTraversal
func (*HeaderTraversal) NextFinalizedHeaders ¶
func (f *HeaderTraversal) NextFinalizedHeaders(maxSize uint64) ([]types.Header, error)
NextFinalizedHeaders retrives the next set of headers that have been marked as finalized by the connected client, bounded by the supplied size
type Metricer ¶ added in v1.1.6
type Metricer interface {
	RecordRPCClientRequest(method string) func(err error)
	RecordRPCClientBatchRequest(b []rpc.BatchElem) func(err error)
}
    func NewMetrics ¶ added in v1.1.6
func NewMetrics(registry *prometheus.Registry, subsystem string) Metricer
type MockEthClient ¶ added in v1.1.6
func (*MockEthClient) BlockHeaderByHash ¶ added in v1.1.6
func (*MockEthClient) BlockHeaderByNumber ¶ added in v1.1.6
func (*MockEthClient) BlockHeadersByRange ¶ added in v1.1.6
func (*MockEthClient) FilterLogs ¶ added in v1.1.6
func (m *MockEthClient) FilterLogs(query ethereum.FilterQuery) ([]types.Log, error)
func (*MockEthClient) StorageHash ¶ added in v1.1.6
func (*MockEthClient) TxByHash ¶ added in v1.1.6
func (m *MockEthClient) TxByHash(hash common.Hash) (*types.Transaction, error)
 Click to show internal directories. 
   Click to hide internal directories.