///
///
///
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
import { BeetStruct } from '@metaplex-foundation/beet';
export type FarmAccount = {
state: BigNumber;
nonce: BigNumber;
owner: PublicKey;
poolLpTokenAccount: PublicKey;
lastBlock: BigNumber;
poolRewardTokenAccount: PublicKey;
totalReward: BigNumber;
perBlock: BigNumber;
perShare: BigNumber;
poolRewardTokenAccountB?: PublicKey;
totalRewardB?: BigNumber;
perBlockB?: BigNumber;
perShareB?: BigNumber;
};
export type FarmAccountV3 = FarmAccount & {
feeOwner: PublicKey;
feeY: BigNumber;
feeX: BigNumber;
};
export declare const farmAccountV3Struct: BeetStruct>;
export type FarmAccountV4 = FarmAccount & {
option: number;
unknown: Buffer;
poolRewardTokenAccountB: PublicKey;
totalRewardB: BigNumber;
perShareB: BigNumber;
perBlockB: BigNumber;
};
export declare const farmAccountV4Struct: BeetStruct>;
export type FarmAccountV5 = FarmAccountV4;
export declare const farmAccountV5Struct: BeetStruct>;
export type FarmAccountV6RewardInfo = {
rewardState: BigNumber;
rewardOpenTime: BigNumber;
rewardEndTime: BigNumber;
rewardLastUpdateTime: BigNumber;
totalReward: BigNumber;
totalRewardEmissioned: BigNumber;
rewardClaimed: BigNumber;
rewardPerSecond: BigNumber;
accRewardPerShare: BigNumber;
rewardVault: PublicKey;
rewardMint: PublicKey;
rewardSender: PublicKey;
padding: BigNumber[];
};
export declare const farmAccountV6RewardInfoStruct: BeetStruct>;
export type FarmAccountV6 = {
padding_1: BigNumber;
state: BigNumber;
nonce: BigNumber;
validRewardTokenNum: BigNumber;
rewardMultiplier: BigNumber;
rewardPeriodMax: BigNumber;
rewardPeriodMin: BigNumber;
rewardPeriodExtend: BigNumber;
lpMint: PublicKey;
lpVault: PublicKey;
rewardInfos: FarmAccountV6RewardInfo[];
creator: PublicKey;
padding_2: PublicKey;
padding_3: BigNumber[];
};
export declare const farmAccountV6Struct: BeetStruct>;
export type UserFarmAccount = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
rewardDebtB?: BigNumber;
};
export type UserFarmAccountV3 = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
};
export declare const userFarmAccountV3Struct: BeetStruct>;
export type UserFarmAccountV4 = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
rewardDebtB: BigNumber;
};
export declare const userFarmAccountV4Struct: BeetStruct>;
export type UserFarmAccountV5 = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
rewardDebtB: BigNumber;
padding: BigNumber[];
};
export declare const userFarmAccountV5Struct: BeetStruct>;
export type UserFarmAccountV31 = {
state: BigNumber;
poolId: PublicKey;
stakerOwner: PublicKey;
depositBalance: BigNumber;
rewardDebt: BigNumber;
padding: BigNumber[];
};
export declare const userFarmAccountV31Struct: BeetStruct>;
export type UserFarmAccountV61 = {
padding_1: BigNumber;
state: BigNumber;
id: PublicKey;
owner: PublicKey;
deposited: BigNumber;
rewardDebts: BigNumber[];
padding_2: BigNumber[];
};
export declare const userFarmAccountV61Struct: BeetStruct>;