11const extractorV1 = require ( '@0x-event-extractor/extractor-v1' ) ;
22const extractorV2 = require ( '@0x-event-extractor/extractor-v2' ) ;
33const extractorV3 = require ( '@0x-event-extractor/extractor-v3' ) ;
4- const signale = require ( 'signale' ) ;
54
5+ const { getLogger } = require ( '../util/logging' ) ;
66const BlockRange = require ( '../model/block-range' ) ;
77const Event = require ( '../model/event' ) ;
88const getCurrentBlock = require ( '../ethereum/get-current-block' ) ;
99const getNextBlockRange = require ( '../events/get-next-block-range' ) ;
10- const withTimer = require ( '../util/with-timer' ) ;
1110const withTransaction = require ( '../util/with-transaction' ) ;
1211
1312const extractEventsForProtocol = async ( protocolVersion , extractorConfig ) => {
1413 // Scope all logging for the job to the specified protocol version
15- const logger = signale . scope ( `extract events v${ protocolVersion } ` ) ;
14+ const logger = getLogger ( `extract events v${ protocolVersion } ` ) ;
1615
1716 // Determine which blocks we should fetch log entries from
1817 const { currentBlock, fetchLogEntries, getEventData } = extractorConfig ;
18+
19+ logger . info ( `current block is ${ currentBlock } ` ) ;
20+
1921 const nextBlockRange = await getNextBlockRange ( {
2022 currentBlock,
2123 protocolVersion,
2224 } ) ;
2325
24- logger . info ( `current block is ${ currentBlock } ` ) ;
25-
2626 if ( nextBlockRange === null ) {
2727 logger . info ( 'no more blocks to process' ) ;
2828 return ;
2929 }
3030
3131 const { fromBlock, toBlock } = nextBlockRange ;
3232
33- logger . info ( `next block range is ${ fromBlock } to ${ toBlock } ` ) ;
33+ logger . info ( `fetching events from block range ${ fromBlock } to ${ toBlock } ` ) ;
3434
35- const logEntries = await withTimer ( logger , `fetch entries` , ( ) =>
36- fetchLogEntries ( fromBlock , toBlock ) ,
37- ) ;
35+ const logEntries = await fetchLogEntries ( fromBlock , toBlock ) ;
3836
3937 if ( logEntries . length === 0 ) {
40- logger . info ( `no entries were found` ) ;
38+ logger . info ( `no events found in block range ${ fromBlock } to ${ toBlock } ` ) ;
4139 } else {
42- logger . info ( `${ logEntries . length } entries were found` ) ;
40+ logger . info (
41+ `${ logEntries . length } events found in block range ${ fromBlock } to ${ toBlock } ` ,
42+ ) ;
4343 }
4444
4545 // Persistence operations are wrapped in a transaction to ensure consistency
@@ -55,34 +55,34 @@ const extractEventsForProtocol = async (protocolVersion, extractorConfig) => {
5555 type : logEntry . event ,
5656 } ) ) ;
5757
58- await withTimer ( logger , `persist ${ events . length } events` , async ( ) => {
59- await Event . insertMany ( events , { session } ) ;
60- } ) ;
58+ await Event . insertMany ( events , { session } ) ;
6159 }
6260
6361 // Log details of the queried block range so that we know where
6462 // to start from in the next iteration.
65- await withTimer ( logger , 'log queried block range' , async ( ) => {
66- await BlockRange . findOneAndUpdate (
67- { fromBlock, protocolVersion, toBlock } ,
68- {
69- $set : {
70- date : new Date ( ) ,
71- events : logEntries . length ,
72- fromBlock,
73- protocolVersion,
74- toBlock,
75- } ,
76- } ,
77- {
78- upsert : true ,
79- new : true ,
80- runValidators : true ,
81- session,
63+ await BlockRange . findOneAndUpdate (
64+ { fromBlock, protocolVersion, toBlock } ,
65+ {
66+ $set : {
67+ date : new Date ( ) ,
68+ events : logEntries . length ,
69+ fromBlock,
70+ protocolVersion,
71+ toBlock,
8272 } ,
83- ) ;
84- } ) ;
73+ } ,
74+ {
75+ upsert : true ,
76+ new : true ,
77+ runValidators : true ,
78+ session,
79+ } ,
80+ ) ;
8581 } ) ;
82+
83+ if ( logEntries . length > 0 ) {
84+ logger . info ( `persisted ${ logEntries . length } events to database` ) ;
85+ }
8686} ;
8787
8888const extractEvents = async ( ) => {
0 commit comments