pool.cache.ts 659 B

1234567891011121314151617181920
  1. import { LiquidityStateV4 } from '@raydium-io/raydium-sdk';
  2. import { logger } from '../helpers';
  3. export class PoolCache {
  4. private readonly keys: Map<string, { id: string; state: LiquidityStateV4 }> = new Map<
  5. string,
  6. { id: string; state: LiquidityStateV4 }
  7. >();
  8. public save(id: string, state: LiquidityStateV4) {
  9. if (!this.keys.has(state.baseMint.toString())) {
  10. logger.trace(`Caching new pool for mint: ${state.baseMint.toString()}`);
  11. this.keys.set(state.baseMint.toString(), { id, state });
  12. }
  13. }
  14. public async get(mint: string): Promise<{ id: string; state: LiquidityStateV4 }> {
  15. return this.keys.get(mint)!;
  16. }
  17. }