@zlattice/lattice-js
Version:
Lattice blockchain TypeScript SDK with dual module support (CJS + ESM)
41 lines • 1.42 kB
TypeScript
import { LatestBlock } from "../common/types/index.js";
import { CacheConfig } from "../utils/index.js";
/**
* block cache interface
*/
export type BlockCache = {
/**
* put block
* @param chainId chain id
* @param address address
* @param block block
*/
putBlock(chainId: number, address: string, block: LatestBlock): Promise<void>;
/**
* get block
* @param chainId chain id
* @param address address
* @param fallback fallback
* @returns block
*/
getBlock(chainId: number, address: string, fallback: (chainId: number, address: string) => Promise<LatestBlock>): Promise<LatestBlock>;
};
/**
* block cache implementation
*/
declare class BlockCacheImpl implements BlockCache {
private cache;
private readonly daemonHashExpirationMs;
private daemonHashExpireAtMap;
/**
* constructor
* @param config cache config
* @param httpClient http client
* @param daemonHashExpirationSeconds daemon hash expiration seconds, default is 10 seconds
*/
constructor(config: CacheConfig, daemonHashExpirationSeconds?: number);
putBlock(chainId: number, address: string, block: LatestBlock): Promise<void>;
getBlock(chainId: number, address: string, fallback: (chainId: number, address: string) => Promise<LatestBlock>): Promise<LatestBlock>;
}
export { BlockCacheImpl };
//# sourceMappingURL=block_cache.d.ts.map