/// import { _ChainInfo } from '@soul-wallet/chain-list/types'; import { NominationInfo, NominatorMetadata, StakingStatus, StakingType, UnstakingInfo } from '../../../../background/KoniTypes'; import { _SubstrateInflationParams } from '../../../../services/chain-service/constants'; import { ApiPromise } from '@polkadot/api'; import { BN } from '@polkadot/util'; export interface PalletNominationPoolsPoolMember { poolId: number; points: number; lasRecordedRewardCounter: number; unbondingEras: Record; } export interface PalletDappsStakingDappInfo { address: string; name: string; gitHubUrl: string; tags: string[]; url: string; imagesUrl: string[]; } export interface PalletDappsStakingUnlockingChunk { amount: number; unlockEra: number; } export interface PalletDappsStakingAccountLedger { locked: number; unbondingInfo: { unlockingChunks: PalletDappsStakingUnlockingChunk[]; }; } export interface BlockHeader { parentHash: string; number: number; stateRoot: string; extrinsicsRoot: string; } export interface ParachainStakingStakeOption { owner: string; amount: number; } export interface ParachainStakingCandidateMetadata { bond: string; delegationCount: number; totalCounted: string; lowestTopDelegationAmount: string; status: any | 'Active'; } export declare enum PalletParachainStakingRequestType { REVOKE = "revoke", DECREASE = "decrease", BOND_LESS = "bondLess" } export interface PalletParachainStakingDelegationRequestsScheduledRequest { delegator: string; whenExecutable: number; action: Record; } export interface PalletParachainStakingDelegationInfo { owner: string; amount: number; } export interface PalletParachainStakingDelegator { id: string; delegations: PalletParachainStakingDelegationInfo[]; total: number; lessTotal: number; status: number; } export interface PalletStakingExposureItem { who: string; value: number; } export interface PalletStakingExposure { total: number; own: number; others: PalletStakingExposureItem[]; } export interface PalletIdentityRegistration { judgements: any[]; deposit: number; info: { display: { Raw: string; }; web: { Raw: string; }; twitter: { Raw: string; }; riot: { Raw: string; }; }; } export interface ValidatorExtraInfo { commission: string; blocked: false; identity?: string; isVerified: boolean; } export interface Unlocking { remainingEras: BN; value: BN; } export interface TernoaStakingRewardsStakingRewardsData { sessionEraPayout: string; sessionExtraRewardPayout: string; } export declare function parsePoolStashAddress(api: ApiPromise, index: number, poolId: number, poolsPalletId: string): string; export declare function transformPoolName(input: string): string; export declare function parseIdentity(identityInfo: PalletIdentityRegistration | null): string | undefined; export declare function getInflationParams(networkKey: string): _SubstrateInflationParams; export declare function calcInflationUniformEraPayout(totalIssuance: BN, yearlyInflationInTokens: number): number; export declare function calcInflationRewardCurve(minInflation: number, stakedFraction: number, idealStake: number, idealInterest: number, falloff: number): number; export declare function calculateInflation(totalEraStake: BN, totalIssuance: BN, numAuctions: number, networkKey: string): number; export declare function calculateChainStakedReturn(inflation: number, totalEraStake: BN, totalIssuance: BN, networkKey: string): number; export declare function calculateAlephZeroValidatorReturn(chainStakedReturn: number, commission: number): number; export declare function calculateTernoaValidatorReturn(rewardPerValidator: number, validatorStake: number, commission: number): number; export declare function calculateValidatorStakedReturn(chainStakedReturn: number, totalValidatorStake: BN, avgStake: BN, commission: number): number; export declare function getCommission(commissionString: string): number; export interface InflationConfig { expect: { min: string; ideal: string; max: string; }; annual: { min: string; ideal: string; max: string; }; round: { min: string; ideal: string; max: string; }; } export declare function getParaCurrentInflation(totalStaked: number, inflationConfig: InflationConfig): number; export interface TuringOptimalCompoundFormat { period: string; apy: string; } export declare function isShowNominationByValidator(chain: string): 'showByValue' | 'showByValidator' | 'mixed'; export declare function getBondedValidators(nominations: NominationInfo[]): { nominationCount: number; bondedValidators: string[]; }; export declare function isUnstakeAll(selectedValidator: string, nominations: NominationInfo[], unstakeAmount: string): boolean; export declare enum StakingAction { STAKE = "STAKE", UNSTAKE = "UNSTAKE", WITHDRAW = "WITHDRAW", CLAIM_REWARD = "CLAIM_REWARD", CANCEL_UNSTAKE = "CANCEL_UNSTAKE" } export declare function getStakingAvailableActionsByChain(chain: string, type: StakingType): StakingAction[]; export declare function getStakingAvailableActionsByNominator(nominatorMetadata: NominatorMetadata, unclaimedReward?: string): StakingAction[]; export declare function isActionFromValidator(stakingType: StakingType, chain: string): boolean; export declare function getWithdrawalInfo(nominatorMetadata: NominatorMetadata): UnstakingInfo | undefined; export declare function getStakingStatusByNominations(bnTotalActiveStake: BN, nominationList: NominationInfo[]): StakingStatus; export declare function getValidatorLabel(chain: string): "dApp" | "Validator" | "Collator"; export declare const getMinStakeErrorMessage: (chainInfo: _ChainInfo, bnMinStake: BN) => string; export declare const getMaxValidatorErrorMessage: (chainInfo: _ChainInfo, max: number) => string; export declare const getExistUnstakeErrorMessage: (chain: string, isStakeMore?: boolean) => string;