UNPKG

@celo/contractkit

Version:

Celo's ContractKit to interact with Celo network

56 lines (55 loc) 2.69 kB
import { EpochManager } from '@celo/abis/web3/EpochManager'; import BigNumber from 'bignumber.js'; import { BaseWrapperForGoverning } from './BaseWrapperForGoverning'; export declare enum EpochProcessStatus { NotStarted = 0, Started = 1 } export interface EpochProcessState { status: EpochProcessStatus; perValidatorReward: BigNumber; totalRewardsVoter: BigNumber; totalRewardsCommunity: BigNumber; totalRewardsCarbonFund: BigNumber; } export interface EpochManagerConfig { currentEpochNumber: number; epochDuration: number; isTimeForNextEpoch: boolean; } /** * Contract handling epoch management. */ export declare class EpochManagerWrapper extends BaseWrapperForGoverning<EpochManager> { get _contract(): EpochManager; epochDuration: () => Promise<number>; firstKnownEpoch: () => Promise<number>; getCurrentEpochNumber: () => Promise<number>; getFirstBlockAtEpoch: (epoch: string | number) => Promise<number>; getLastBlockAtEpoch: (epoch: string | number) => Promise<number>; getEpochNumberOfBlock: (_blockNumber: string | number) => Promise<number>; processedGroups: (arg0: string) => Promise<string>; isOnEpochProcess: () => Promise<boolean>; isEpochProcessingStarted: () => Promise<boolean>; isIndividualProcessing: () => Promise<boolean>; isTimeForNextEpoch: () => Promise<boolean>; getElectedAccounts: () => Promise<string[]>; getElectedSigners: () => Promise<string[]>; getEpochProcessingStatus: () => Promise<EpochProcessState>; startNextEpochProcess: () => import("@celo/connect").CeloTransactionObject<void>; finishNextEpochProcess: (groups: string[], lessers: string[], greaters: string[]) => import("@celo/connect").CeloTransactionObject<void>; sendValidatorPayment: (validator: string) => import("@celo/connect").CeloTransactionObject<void>; setToProcessGroups: () => import("@celo/connect").CeloTransactionObject<void>; processGroups: (groups: string[], lessers: string[], greaters: string[]) => import("@celo/connect").CeloTransactionObject<void>; startNextEpochProcessTx: () => Promise<import("@celo/connect").CeloTransactionObject<void> | undefined>; finishNextEpochProcessTx: () => Promise<import("@celo/connect").CeloTransactionObject<void>>; processGroupsTx: () => Promise<import("@celo/connect").CeloTransactionObject<void>>; getLessersAndGreaters: (groups: string[]) => Promise<string[][]>; getEpochGroupsAndSorting: () => Promise<{ groups: string[]; lessers: string[]; greaters: string[]; }>; getConfig(): Promise<EpochManagerConfig>; } export type EpochManagerWrapperType = EpochManagerWrapper;