UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

101 lines (100 loc) 5.22 kB
import { type Address, type DecodedAbiFunctionInputs, type DecodedAbiFunctionOutputs, type DelayedMessageExecution, type FullContractState, type ProviderRpcClient, type SendInternalParams } from 'everscale-inpage-provider'; import { type GaugeAbi } from '../../models/gauge/abi'; export interface GaugeRewardRound { accRewardPerShare: string; endTime: number; rewardPerSecond: string; startTime: number; } export interface GaugeDetails { initialized: boolean; lastExtraRewardRoundIdx: number[]; lastQubeRewardRoundIdx: number; lastRewardTime: number; lastAverageUpdateTime: number; lockBoostedSupply: string; maxBoost: number; maxLockTime: number; owner: Address; totalBoostedSupply: string; voteEscrow: Address; } export interface GaugeRewardDetails { extraRewardEnded: boolean[]; extraRewardRounds: GaugeRewardRound[][]; extraVestingPeriods: number[]; extraVestingRatios: number[]; qubeRewardRounds: GaugeRewardRound[]; qubeVestingPeriod: number; qubeVestingRatio: number; withdrawAllLockPeriod: number; } export interface GaugeTokenDetails { depositTokenData: DecodedAbiFunctionOutputs<typeof GaugeAbi, 'getTokenDetails'>['_depositTokenData']; extraTokenData: DecodedAbiFunctionOutputs<typeof GaugeAbi, 'getTokenDetails'>['_extraTokenData']; qubeTokenData: DecodedAbiFunctionOutputs<typeof GaugeAbi, 'getTokenDetails'>['_qubeTokenData']; } export interface GaugeSyncData { depositSupply: string; depositSupplyAverage: string; depositSupplyAveragePeriod: number; extraRewardRounds: GaugeRewardRound[][]; qubeRewardRounds: GaugeRewardRound[]; poolLastRewardTime: number; } export interface GaugeRewardData { extraRewardRounds: GaugeRewardRound[][]; extraSyncIdx: number[]; lastRewardTime: number; qubeRewardRounds: GaugeRewardRound[]; qubeSyncIdx: number; } export interface GaugeSupplyAverage { lastAverageUpdateTime: number; lockBoostedSupplyAverage: string; lockBoostedSupplyAveragePeriod: number; supplyAverage: string; supplyAveragePeriod: number; } export interface BoostedAmountParams { amount: string; lockTime: string | number; } export interface SetExtraFarmEndTimeParams { farmEndTimes: (string | number)[]; ids: string[]; meta: { callId: string | number; nonce: string | number; sendGasTo: Address | string; }; } export interface DecodedRewardDepositPayload { callId: string; correct: boolean; nonce: string; } export interface DecodedDepositPayload { callId: string; claim: boolean; correct: boolean; depositOwner: Address; lockTime: number; nonce: string; } export declare abstract class GaugeUtils { static setExtraFarmEndTime(connection: ProviderRpcClient, address: Address | string, params: SetExtraFarmEndTimeParams, args?: SendInternalParams): Promise<DelayedMessageExecution>; static calcSyncData(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeSyncData>; static calculateBoostedAmount(connection: ProviderRpcClient, gaugeAddress: Address | string, params: BoostedAmountParams, cachedState?: FullContractState): Promise<string>; static calculateRewardData(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeRewardData>; static calculateSupplyAverage(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeSupplyAverage>; static getDetails(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeDetails>; static getRewardDetails(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeRewardDetails>; static getTokenDetails(connection: ProviderRpcClient, gaugeAddress: Address | string, cachedState?: FullContractState): Promise<GaugeTokenDetails>; static getGaugeAccountAddress(connection: ProviderRpcClient, gaugeAddress: Address | string, userAddress: Address | string, cachedState?: FullContractState): Promise<Address>; static getVoteEscrowAccountAddress(connection: ProviderRpcClient, gaugeAddress: Address | string, userAddress: Address | string, cachedState?: FullContractState): Promise<Address>; static encodeDepositPayload(connection: ProviderRpcClient, gaugeAddress: Address | string, params: any, cachedState?: FullContractState): Promise<string>; static encodeRewardDepositPayload(connection: ProviderRpcClient, gaugeAddress: Address | string, params: any, cachedState?: FullContractState): Promise<string>; static decodeRewardDepositPayload(connection: ProviderRpcClient, gaugeAddress: Address | string, params: DecodedAbiFunctionInputs<typeof GaugeAbi, 'decodeRewardDepositPayload'>, cachedState?: FullContractState): Promise<DecodedRewardDepositPayload>; static decodeDepositPayload(connection: ProviderRpcClient, gaugeAddress: Address | string, params: DecodedAbiFunctionInputs<typeof GaugeAbi, 'decodeDepositPayload'>, cachedState?: FullContractState): Promise<DecodedDepositPayload>; }