-
Notifications
You must be signed in to change notification settings - Fork 0
/
manageData.ts
39 lines (32 loc) · 1.14 KB
/
manageData.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import fs from 'fs';
import { EventsData } from './constants';
import { startblock } from './constants'
export function readEvents() {
let eventsData: EventsData = {};
if (fs.existsSync('events.json')) {
eventsData = JSON.parse(fs.readFileSync('events.json', 'utf8')) as EventsData;
}
return eventsData;
}
export function getLastEventBlockNumber(): number {
try {
const eventsData = JSON.parse(fs.readFileSync('events.json', 'utf8'));
const lastEventKey = Object.keys(eventsData).pop();
console.log(`Last event key: ${lastEventKey}`);
if (lastEventKey !== undefined) {
console.log(`Last event block number: ${eventsData[lastEventKey]?.blockNumber ?? 'undefined'}`);
}
if (lastEventKey) {
return eventsData[lastEventKey].blockNumber;
} else {
console.error("No events found in events.json");
return startblock;
}
} catch (error) {
console.error("Error reading or parsing events.json:", error);
return startblock;
}
}
export function cleanEvents() {
fs.writeFileSync('events.json', '{}');
}