Files
solana-sniper-bot/cache/snipe-list.cache.ts
Filip Dunder 4fcf5165d5 tsc & prettier
2024-04-30 10:54:57 -03:00

36 lines
832 B
TypeScript

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}`);
}
}
}