12345678910111213141516171819202122232425262728293031323334 |
- import fs from 'fs';
- import path from 'path';
- import { logger, SNIPE_LIST_REFRESH_INTERVAL } from '../helpers';
- export class SnipeListCache {
- private snipeList: string[] = [];
- constructor() {
- setInterval(this.loadSnipeList, SNIPE_LIST_REFRESH_INTERVAL);
- }
- public init() {
- this.loadSnipeList();
- }
- public isInList(mint: string) {
- return this.snipeList.includes(mint);
- }
- private loadSnipeList() {
- logger.trace('Refreshing snipe list...');
- const count = this.snipeList.length;
- const data = fs.readFileSync(path.join(__dirname, 'snipe-list.txt'), 'utf-8');
- this.snipeList = data
- .split('\n')
- .map((a) => a.trim())
- .filter((a) => a);
- if (this.snipeList.length != count) {
- logger.info(`Loaded snipe list: ${this.snipeList.length}`);
- }
- }
- }
|