vault balance tracking

This commit is contained in:
Tim Olson
2023-10-30 18:46:20 -04:00
parent 6631542434
commit 06b7a1d2b6
3 changed files with 40 additions and 29 deletions

View File

@@ -1,6 +1,9 @@
import {createClient} from "redis";
export const redis = createClient({url: process.env.DEXORDER_REDIS_URL || 'redis://localhost:6379'})
export const redis = createClient({
url: process.env.DEXORDER_REDIS_URL || 'redis://localhost:6379',
returnBuffers: false,
})
redis.on('error', (err) => console.log('Redis Client Error', err));
await redis.connect();
@@ -28,7 +31,8 @@ export class CacheDict {
}
async get(chain, key) {
return await redis.hGet(`${chain}|${this.series}`, key)
const result = await redis.hGet(`${chain}|${this.series}`, key)
return result === null ? null : '' + result
}
async contains(chain, key) {
@@ -37,6 +41,21 @@ export class CacheDict {
}
export class CacheDictObject {
constructor(series) {
this.series = series
}
async get(chain, key) {
return await redis.json.get(`${chain}|${this.series}`, key)
}
async contains(chain, key) {
return await redis.json.get(`${chain}|${this.series}`, key) !== null
}
}
export class CacheObject {
constructor(series) {
this.series = series
@@ -57,5 +76,5 @@ async function latestBlock(chain) {
}
export const vaults = new CacheDict('v')
export const vaultTokens = new CacheDict('vt')
export const vaultBalances = new CacheDict('vb')
export const prices = new CacheDict('p')