Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Transformer ¶
type Transformer struct {
// Database interfaces
FilterRepository datastore.FilterRepository // Log filters repo; accepts filters generated by Contract.GenerateFilters()
WatchedEventRepository datastore.WatchedEventRepository // Watched event log views, created by the log filters
TransformedEventRepository repository.EventRepository // Holds transformed watched event log data
// Pre-processing interfaces
Parser parser.Parser // Parses events and methods out of contract abi fetched using contract address
Retriever retriever.BlockRetriever // Retrieves first block for contract and current block height
// Processing interfaces
Converter converter.ConverterInterface // Converts watched event logs into custom log
Poller poller.Poller // Polls methods using contract's token holder addresses and persists them using method datastore
// Store contract configuration information
Config config.ContractConfig
// Store contract info as mapping to contract address
Contracts map[string]*contract.Contract
// Latest block in the block repository
LastBlock int64
}
Requires a fully synced vDB and a running eth node (or infura)
func NewTransformer ¶
func NewTransformer(con config.ContractConfig, BC core.BlockChain, DB *postgres.DB) *Transformer
Transformer takes in config for blockchain, database, and network id
func (*Transformer) Execute ¶
func (tr *Transformer) Execute() error
Iterates through stored, initialized contract objects Iterates through contract's event filters, grabbing watched event logs Uses converter to convert logs into custom log type Persists converted logs into custom postgres tables Calls selected methods, using token holder address generated during event log conversion
func (*Transformer) GetConfig ¶
func (tr *Transformer) GetConfig() config.ContractConfig
func (*Transformer) Init ¶
func (tr *Transformer) Init() error
Use after creating and setting transformer Loops over all of the addr => filter sets Uses parser to pull event info from abi Use this info to generate event filters
Click to show internal directories.
Click to hide internal directories.