UNPKG

@mihalex/farms-sdk-tests

Version:
66 lines (65 loc) 5.94 kB
import { BN, Idl, Program } from "@coral-xyz/anchor"; import { Connection, PublicKey, Signer, TransactionInstruction, TransactionSignature } from "@solana/web3.js"; import { UserFarm } from "./models"; import { FarmState } from "./rpc_client/accounts"; import Decimal from "decimal.js"; import { Keypair } from "@solana/web3.js"; import { GlobalConfigOptionKind, FarmConfigOptionKind } from "./rpc_client/types/index"; import { FarmAndKey, UserAndKey } from "./models"; export declare const farmsId: PublicKey; export declare class Farms { private readonly _connection; private readonly _provider; private readonly _farmsProgram; private readonly _farmsProgramId; constructor(connection: Connection); getConnection(): Connection; getProgramID(): PublicKey; getProgram(): Program<Idl>; getAllUserStatesForUser(user: PublicKey): Promise<Array<UserAndKey>>; getAllUserStates(): Promise<UserAndKey[]>; getFarmsForMint(mint: PublicKey): Promise<Array<FarmAndKey>>; getAllFarmStates(): Promise<FarmAndKey[]>; getAllFarmStatesByPubkeys(keys: string[]): Promise<FarmAndKey[]>; getStakedAmountForMintForFarm(mint: PublicKey, farm: PublicKey): Promise<Decimal>; getStakedAmountForMint(mint: PublicKey): Promise<Decimal>; getUserStateKeyForUserForFarm(user: PublicKey, farm: PublicKey): Promise<Array<PublicKey>>; getAllFarmsForUser(user: PublicKey): Promise<Map<string, UserFarm>>; executeTransaction(ix: TransactionInstruction[], signer: Keypair, extraSigners?: Signer[]): Promise<TransactionSignature>; createNewUserIx(user: PublicKey, farm: PublicKey): Promise<TransactionInstruction>; createNewUser(user: Keypair, farm: PublicKey): Promise<TransactionSignature>; stakeIx(user: PublicKey, farm: PublicKey, amountLamports: Decimal, stakeTokenMint: PublicKey): Promise<TransactionInstruction>; stake(user: Keypair, farm: PublicKey, amountLamports: Decimal, stakeTokenMint: PublicKey): Promise<TransactionSignature>; unstakeIx(user: PublicKey, farm: PublicKey, amountLamports: string): Promise<TransactionInstruction>; unstake(user: Keypair, farm: PublicKey, sharesAmount: string): Promise<TransactionSignature>; withdrawUnstakedDepositIx(user: PublicKey, userState: PublicKey, farmState: PublicKey, stakeTokenMint: PublicKey): Promise<TransactionInstruction>; withdrawUnstakedDeposit(user: Keypair, farmState: PublicKey, tokenMint: PublicKey, userState: PublicKey): Promise<TransactionSignature>; claimForUserForFarmRewardIx(user: PublicKey, farm: PublicKey, rewardMint: PublicKey, rewardIndex?: number): Promise<TransactionInstruction[]>; claimForUserForFarmReward(user: Keypair, farm: PublicKey, rewardMint: PublicKey, rewardIndex?: number): Promise<TransactionSignature>; claimForUserForFarmAllRewardsIx(user: PublicKey, farm: PublicKey): Promise<Array<TransactionInstruction>>; claimForUserForFarmAllRewards(user: Keypair, farm: PublicKey): Promise<Array<TransactionSignature>>; transferOwnershipIx(user: PublicKey, userState: PublicKey, newUser: PublicKey): Promise<TransactionInstruction>; transferOwnership(user: Keypair, userState: PublicKey, newUser: PublicKey): Promise<TransactionSignature>; transferOwnershipAllUserStatesIx(user: PublicKey, newUser: PublicKey): Promise<Array<TransactionInstruction>>; transferOwnershipAllUserStates(user: Keypair, newUser: PublicKey): Promise<Array<TransactionSignature>>; createFarmIx(admin: PublicKey, farm: Keypair, globalConfig: PublicKey, stakeTokenMint: PublicKey): Promise<TransactionInstruction[]>; createFarm(admin: Keypair, globalConfig: PublicKey, farm: Keypair, mint: PublicKey): Promise<TransactionSignature>; addRewardToFarmIx(admin: PublicKey, globalConfig: PublicKey, farm: PublicKey, mint: PublicKey): Promise<TransactionInstruction>; addRewardToFarm(admin: Keypair, globalConfig: PublicKey, farm: PublicKey, mint: PublicKey): Promise<TransactionSignature>; addRewardAmountToFarmIx(admin: PublicKey, farm: PublicKey, mint: PublicKey, amount: Decimal): Promise<TransactionInstruction>; addRewardAmountToFarm(admin: Keypair, farm: PublicKey, mint: PublicKey, amount: Decimal): Promise<TransactionSignature>; updateRewardToFarmIx(admin: PublicKey, farm: PublicKey, mint: PublicKey, mode: FarmConfigOptionKind, value: number): Promise<TransactionInstruction>; updateRewardToFarm(admin: Keypair, farm: PublicKey, mint: PublicKey, mode: FarmConfigOptionKind, value: number): Promise<TransactionSignature>; refreshFarmIx(farm: PublicKey): Promise<TransactionInstruction>; refreshFarm(payer: Keypair, farm: PublicKey): Promise<TransactionSignature>; refreshUserIx(userState: PublicKey, farmState: PublicKey): Promise<TransactionInstruction>; refreshUser(payer: Keypair, userState: PublicKey, farmState: PublicKey): Promise<TransactionSignature>; createGlobalConfigIxs(admin: PublicKey, globalConfig: Keypair): Promise<TransactionInstruction[]>; createGlobalConfig(admin: Keypair, globalConfig: Keypair): Promise<TransactionSignature>; updateGlobalConfigIx(admin: PublicKey, globalConfig: PublicKey, mode: GlobalConfigOptionKind, flagValue: string, flagValueType: string): Promise<TransactionInstruction>; updateGlobalConfig(admin: Keypair, globalConfig: PublicKey, mode: GlobalConfigOptionKind, flagValue: string, flagValueType: string): Promise<TransactionSignature>; withdrawTreasuryIx(admin: PublicKey, globalConfig: PublicKey, rewardMint: PublicKey, amount: BN, withdrawAta?: PublicKey): Promise<TransactionInstruction>; withdrawTreasury(admin: Keypair, globalConfig: PublicKey, rewardMint: PublicKey, amount: BN, withdrawAta?: PublicKey): Promise<TransactionSignature>; } export declare function getCurrentTimeUnit(conn: Connection, farm: FarmState): Promise<Decimal>; export declare function getCurrentRps(conn: Connection, farm: FarmState, rewardIndex: number): Promise<number>;