Reference
Extractor module
// NOTE: address and topics can be used to filter events at the Ethereum node
// level.
function init({ args: {start = 0, end, address, topics, blockspan = 1}})
startStart block as a natural number in decimal-base (default: 0).endEnd block as a natural number in decimal-base.address“0x”- prefixed Ethereum address of where an event log originates from.topicsArray containing up to three 32 byte long “0x”-prefixed topic hashes related to the event or an array of arrays containing such values.blockspanThe distance betweenfromBlockandtoBlockin decimal-base (default: 1).
Transformer module
function onLine({args: {topics = [], address, inputs}, state: {line}})
lineIs an argument defined by@attestate/crawlerinternally. It is a line within the strategy’sinput.pathfile.address“0x”- prefixed Ethereum address of where an event log originates from.topicsArray containing up to three 32 byte long “0x”-prefixed topic hashes related to the event or an array of arrays containing such values.inputsWhen defined, it replaces the event log’s “data” property with a parsed event log using web3-eth-abi@1.4.0’s decodeLog.
Loader module
function* order({state: {line}})
lineIs an argument defined by@attestate/crawlerinternally. It is a line within the strategy’sinput.pathfile.
order is a JavaScript generator function.
As the key, it concatenates serialized blockNumber and transactionIndex to
generate an identifier which defines a total order among transactionHash``es.
``value is the transactionHash.
function* direct({state: {line}})
lineIs an argument defined by@attestate/crawlerinternally. It is a line within the strategy’sinput.pathfile.
direct is a JavaScript generator function.
As the key, it defines the transactionHash to generate an identifier
which lets us directly access the log through value.