1234567891011121314151617181920212223242526272829303132333435 |
- import fs from 'fs';
- import path from 'path';
- import { logger, SNIPE_LIST_REFRESH_INTERVAL } from '../helpers';
- export class SnipeListCache {
- private snipeList: string[] = [];
- private fileLocation = path.join(__dirname, '../snipe-list.txt');
- 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(this.fileLocation, '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}`);
- }
- }
- }
|