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}})
start
Start block as a natural number in decimal-base (default: 0).end
End block as a natural number in decimal-base.address
“0x”- prefixed Ethereum address of where an event log originates from.topics
Array containing up to three 32 byte long “0x”-prefixed topic hashes related to the event or an array of arrays containing such values.blockspan
The distance betweenfromBlock
andtoBlock
in decimal-base (default: 1).includeTimestamp
Flag to include the block timestamp asblock.timestamp
in the result object.
Transformer module
function onLine({args: {topics = [], address, inputs}, state: {line}})
line
Is an argument defined by@attestate/crawler
internally. It is a line within the strategy’sinput.path
file.address
“0x”- prefixed Ethereum address of where an event log originates from.topics
Array containing up to three 32 byte long “0x”-prefixed topic hashes related to the event or an array of arrays containing such values.inputs
When 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}})
line
Is an argument defined by@attestate/crawler
internally. It is a line within the strategy’sinput.path
file.
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}})
line
Is an argument defined by@attestate/crawler
internally. It is a line within the strategy’sinput.path
file.
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
.