@sovryn-zero/lib-ethers
Version:
Sovryn Zero SDK Ethers-based implementation
48 lines • 1.73 kB
TypeScript
import { LiquityStoreState, LiquityStore } from "@sovryn-zero/lib-base";
import { ReadableEthersLiquity } from "./ReadableEthersLiquity";
import { EthersLiquityConnection } from "./EthersLiquityConnection";
/**
* Extra state added to {@link @sovryn-zero/lib-base#LiquityStoreState} by
* {@link BlockPolledLiquityStore}.
*
* @public
*/
export interface BlockPolledLiquityStoreExtraState {
/**
* Number of block that the store state was fetched from.
*
* @remarks
* May be undefined when the store state is fetched for the first time.
*/
blockTag?: number;
/**
* Timestamp of latest block (number of seconds since epoch).
*/
blockTimestamp: number;
}
/**
* The type of {@link BlockPolledLiquityStore}'s
* {@link @sovryn-zero/lib-base#LiquityStore.state | state}.
*
* @public
*/
export declare type BlockPolledLiquityStoreState = LiquityStoreState<BlockPolledLiquityStoreExtraState>;
/**
* Ethers-based {@link @sovryn-zero/lib-base#LiquityStore} that updates state whenever there's a new
* block.
*
* @public
*/
export declare class BlockPolledLiquityStore extends LiquityStore<BlockPolledLiquityStoreExtraState> {
readonly connection: EthersLiquityConnection;
private readonly _readable;
private readonly _provider;
constructor(readable: ReadableEthersLiquity);
private _getRiskiestTroveBeforeRedistribution;
private _get;
/** @internal @override */
protected _doStart(): () => void;
/** @internal @override */
protected _reduceExtra(oldState: BlockPolledLiquityStoreExtraState, stateUpdate: Partial<BlockPolledLiquityStoreExtraState>): BlockPolledLiquityStoreExtraState;
}
//# sourceMappingURL=BlockPolledLiquityStore.d.ts.map