UNPKG

@meterio/flex-framework

Version:

A library implements Meter Flex interface

43 lines (42 loc) 2.22 kB
/// <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; }