logs

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2021 License: AGPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoLogs         = errors.New("no logs available for transforming")
	ErrNoTransformers = errors.New("no event transformers configured in the log delegator")
)
View Source
var (
	StartInterval         BlockIdentifier = "start"
	EndInterval           BlockIdentifier = "end"
	ErrNoUncheckedHeaders                 = errors.New("no unchecked headers available for log fetching")
	ErrNoWatchedAddresses                 = errors.New("no watched addresses configured in the log extractor")
	HeaderChunkSize       int64           = 1000
)

Functions

func ChunkRanges added in v0.1.0

func ChunkRanges(startingBlock, endingBlock, interval int64) ([]map[BlockIdentifier]int64, error)

Types

type BlockIdentifier added in v0.1.0

type BlockIdentifier string

type ILogDelegator

type ILogDelegator interface {
	AddTransformer(t event.ITransformer)
	DelegateLogs(limit int) error
}

type ILogExtractor

type ILogExtractor interface {
	AddTransformerConfig(config event.TransformerConfig) error
	BackFillLogs(endingBlock int64) error
	ExtractLogs(recheckHeaders constants.TransformerExecution) error
}

type LogDelegator

type LogDelegator struct {
	Chunker       chunker.Chunker
	LogRepository datastore.EventLogRepository
	Transformers  []event.ITransformer
}

func NewLogDelegator added in v0.1.0

func NewLogDelegator(db *postgres.DB) *LogDelegator

func (*LogDelegator) AddTransformer

func (delegator *LogDelegator) AddTransformer(t event.ITransformer)

func (*LogDelegator) DelegateLogs

func (delegator *LogDelegator) DelegateLogs(limit int) error

type LogExtractor

type LogExtractor struct {
	Addresses                []common.Address
	CheckedHeadersRepository datastore.CheckedHeadersRepository
	CheckedLogsRepository    datastore.CheckedLogsRepository
	Fetcher                  fetcher.ILogFetcher
	HeaderRepository         datastore.HeaderRepository
	LogRepository            datastore.EventLogRepository
	StartingBlock            *int64
	EndingBlock              *int64
	Syncer                   transactions.ITransactionsSyncer
	Topics                   []common.Hash
	Throttler                utils.ThrottlerFuncWithArg

	RecheckHeaderCap int64
	// contains filtered or unexported fields
}

func NewLogExtractor added in v0.1.0

func (*LogExtractor) AddTransformerConfig

func (extractor *LogExtractor) AddTransformerConfig(config event.TransformerConfig) error

AddTransformerConfig adds additional logs to extract

func (LogExtractor) BackFillLogs added in v0.1.0

func (extractor LogExtractor) BackFillLogs(endingBlock int64) error

BackFillLogs fetches and persists watched logs from provided range of headers

func (LogExtractor) ExtractLogs

func (extractor LogExtractor) ExtractLogs(recheckHeaders constants.TransformerExecution) error

ExtractLogs fetches and persists watched logs from unchecked headers

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL