client-aftermath-ts-sdk
Version:
Client Aftermath TypeScript SDK
80 lines • 3.34 kB
TypeScript
import { Apr, Balance, CallerConfig, CoinType, CoinsToDecimals, CoinsToPrice, ObjectId, SuiAddress, Timestamp } from "../../types";
import { Caller } from "../../general/utils/caller";
import { ApiFarmsGrantOneTimeAdminCapBody, FarmOwnerOrOneTimeAdminCap, FarmsMultiplier, FarmsStakingPoolObject, FarmsStakingPoolRewardCoin } from "./farmsTypes";
import { AftermathApi } from "../../general/providers";
export declare class FarmsStakingPool extends Caller {
stakingPool: FarmsStakingPoolObject;
private readonly Provider?;
constructor(stakingPool: FarmsStakingPoolObject, config?: CallerConfig, Provider?: AftermathApi | undefined);
getTVL(): Promise<number>;
getRewardsTVL(): Promise<number>;
rewardCoinTypes: () => CoinType[];
nonZeroRewardCoinTypes: () => CoinType[];
rewardCoin: (inputs: {
coinType: CoinType;
}) => FarmsStakingPoolRewardCoin;
maxLockDurationMs: () => number;
emitRewards: () => void;
calcApr: (inputs: {
coinType: CoinType;
price: number;
decimals: number;
tvlUsd: number;
}) => Apr;
calcTotalApr: (inputs: {
coinsToPrice: CoinsToPrice;
coinsToDecimals: CoinsToDecimals;
tvlUsd: number;
}) => Apr;
calcMultiplier: (inputs: {
lockDurationMs: number;
}) => FarmsMultiplier;
getStakeTransaction(inputs: {
stakeAmount: Balance;
lockDurationMs: Timestamp;
walletAddress: SuiAddress;
isSponsoredTx?: boolean;
}): Promise<import("@mysten/sui/transactions").Transaction>;
getHarvestRewardsTransaction(inputs: {
stakedPositionIds: ObjectId[];
walletAddress: SuiAddress;
}): Promise<import("@mysten/sui/transactions").Transaction>;
getIncreaseRewardsEmissionsTransaction(inputs: {
ownerCapId: ObjectId;
rewards: {
rewardCoinType: CoinType;
emissionScheduleMs: Timestamp;
emissionRate: bigint;
}[];
walletAddress: SuiAddress;
}): Promise<import("@mysten/sui/transactions").Transaction>;
getUpdateMinStakeAmountTransaction(inputs: {
ownerCapId: ObjectId;
minStakeAmount: bigint;
walletAddress: SuiAddress;
}): Promise<import("@mysten/sui/transactions").Transaction>;
getGrantOneTimeAdminCapTransaction(inputs: ApiFarmsGrantOneTimeAdminCapBody): import("@mysten/sui/transactions").Transaction;
getInitializeRewardTransaction(inputs: {
rewardAmount: Balance;
emissionScheduleMs: Timestamp;
emissionRate: bigint;
emissionDelayTimestampMs: Timestamp;
rewardCoinType: CoinType;
walletAddress: SuiAddress;
isSponsoredTx?: boolean;
} & FarmOwnerOrOneTimeAdminCap): Promise<import("@mysten/sui/transactions").Transaction>;
getTopUpRewardsTransaction(inputs: {
rewards: {
rewardAmount: Balance;
rewardCoinType: CoinType;
}[];
walletAddress: SuiAddress;
isSponsoredTx?: boolean;
} & FarmOwnerOrOneTimeAdminCap): Promise<import("@mysten/sui/transactions").Transaction>;
private increaseRewardsAccumulatedPerShare;
private rewardsRemaining;
private calcRewardsToEmit;
private calcRewardsEmittedFromTimeTmToTn;
private useProvider;
}
//# sourceMappingURL=farmsStakingPool.d.ts.map