import {createClient} from "redis"; export const redis = createClient({url: process.env.DEXORDER_REDIS_URL || 'redis://localhost:6379'}) redis.on('error', (err) => console.log('Redis Client Error', err)); await redis.connect(); export class CacheSet { constructor(series) { this.series = series } async contains(chain, key) { const series = `${chain}|${this.series}`; const result = await redis.sIsMember(series, key) console.log('contains', series, key, result) return result } } export class CacheDict { constructor(series) { this.series = series } async get(chain, key) { return await redis.hGet(`${chain}|${this.series}`, key) } async contains(chain, key) { return await redis.hExists(`${chain}|${this.series}`, key) } } export class CacheObject { constructor(series) { this.series = series } async get(chain) { return await redis.json.get(`${chain}|${this.series}`) } } const blockCaches = { '1338': new CacheObject('1338|latest_block'), '42161': new CacheObject('42161|latest_block'), } async function latestBlock(chain) { return await blockCaches[chain].get() } export const vaults = new CacheDict('v') export const vaultTokens = new CacheDict('vt') export const prices = new CacheDict('p')