@meterio/flex-framework
Version:
A library implements Meter Flex interface
43 lines (42 loc) • 2.22 kB
TypeScript
/// <reference types="@meterio/flex" />
export declare class Cache {
private readonly irreversible;
private readonly window;
private candidatesUpdatedHeight;
private candidates;
private bucketsUpdatedHeight;
private buckets;
private stakeholdersUpdatedHeight;
private stakeholders;
private jailedsUpdatedHeight;
private jaileds;
private auctionUpdatedHeight;
private auction;
private auctionSummariesUpdatedHeight;
private auctionSummaries;
handleNewBlock(head: Flex.Meter.Status['head'], bloom?: {
bits: string;
k: number;
}, block?: Flex.Meter.Block): void;
getBlock(revision: string | number, fetch: () => Promise<Flex.Meter.Block | null>): Promise<Flex.Meter.Block | null>;
getCandidates(fetch: () => Promise<Flex.Meter.Candidate[]>): Promise<Flex.Meter.Candidate[]>;
getJaileds(fetch: () => Promise<Flex.Meter.Jailed[]>): Promise<Flex.Meter.Jailed[]>;
getBuckets(fetch: () => Promise<Flex.Meter.Bucket[]>): Promise<Flex.Meter.Bucket[]>;
getStakeholders(fetch: () => Promise<Flex.Meter.Stakeholder[]>): Promise<Flex.Meter.Stakeholder[]>;
getAuction(fetch: () => Promise<Flex.Meter.Auction>): Promise<Flex.Meter.Auction>;
getAuctionSummaries(fetch: () => Promise<Flex.Meter.AuctionSummary[]>): Promise<Flex.Meter.AuctionSummary[]>;
getTx(txid: string, fetch: () => Promise<Flex.Meter.Transaction | null>): Promise<Flex.Meter.Transaction | null>;
getReceipt(txid: string, fetch: () => Promise<Flex.Meter.Receipt | null>): Promise<Flex.Meter.Receipt | null>;
getAccount(addr: string, revision: string, fetch: () => Promise<Flex.Meter.Account>): Promise<Flex.Meter.Account>;
/**
* get cached entry which is tied to a batch of addresses
* @param key the cache key
* @param revision block id where cache bound to
* @param fetch to fetch value when cache missing
* @param ties array of tied addresses, as the gist to invalidate cache key. undefined means the key is always
* invalidated on different revision.
*/
getTied(key: string, revision: string, fetch: () => Promise<any>, ties?: string[]): Promise<any>;
private findSlot;
private isIrreversible;
}