/// /// /// import { PublicKey } from '@solana/web3.js'; import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet'; import BigNumber from 'bignumber.js'; export type Price = { value: BigNumber; exp: BigNumber; }; export declare const priceStruct: BeetStruct>; export type CollateralInfo = { mint: PublicKey; lowerHeuristic: BigNumber; upperHeuristic: BigNumber; expHeuristic: BigNumber; maxTwapDivergenceBps: BigNumber; scopePriceIdTwap: BigNumber; scopePriceChain: number[]; name: number[]; maxAgePriceSeconds: BigNumber; maxAgeTwapSeconds: BigNumber; maxIgnorableAmountAsReward: BigNumber; disabled: number; padding0: number[]; padding: BigNumber[]; }; export declare const collateralInfoStruct: BeetStruct>; export type CollateralInfos = { infos: CollateralInfo[]; }; export declare const collateralInfosStruct: FixableBeetStruct>; export type ScopeChainAccount = { chainArray: number[][]; }; export declare const scopeChainAccountStruct: FixableBeetStruct>; export type TermsSignature = { signature: number[]; }; export declare const termsSignatureStruct: BeetStruct>; export type WithdrawalCaps = { configCapacity: BigNumber; currentTotal: BigNumber; lastIntervalStartTimestamp: BigNumber; configIntervalLengthSeconds: BigNumber; }; export declare const withdrawalCapsStruct: BeetStruct>; export type KaminoRewardInfo = { decimals: BigNumber; rewardVault: PublicKey; rewardMint: PublicKey; rewardCollateralId: BigNumber; lastIssuanceTs: BigNumber; rewardPerSecond: BigNumber; amountUncollected: BigNumber; amountIssuedCumulative: BigNumber; amountAvailable: BigNumber; }; export declare const kaminoRewardInfoStruct: BeetStruct>; export type RebalanceRaw = { params: number[]; state: number[]; referencePriceType: number; }; export declare const rebalanceRawStruct: BeetStruct>; export type WhirlpoolStrategy = { buffer: Buffer; adminAuthority: PublicKey; globalConfig: PublicKey; baseVaultAuthority: PublicKey; baseVaultAuthorityBump: BigNumber; pool: PublicKey; poolTokenVaultA: PublicKey; poolTokenVaultB: PublicKey; tickArrayLower: PublicKey; tickArrayUpper: PublicKey; position: PublicKey; positionMint: PublicKey; positionMetadata: PublicKey; positionTokenAccount: PublicKey; tokenAVault: PublicKey; tokenBVault: PublicKey; tokenAVaultAuthority: PublicKey; tokenBVaultAuthority: PublicKey; tokenAVaultAuthorityBump: BigNumber; tokenBVaultAuthorityBump: BigNumber; tokenAMint: PublicKey; tokenBMint: PublicKey; tokenAMintDecimals: BigNumber; tokenBMintDecimals: BigNumber; tokenAAmounts: BigNumber; tokenBAmounts: BigNumber; tokenACollateralId: BigNumber; tokenBCollateralId: BigNumber; scopePrices: PublicKey; scopeProgram: PublicKey; sharesMint: PublicKey; sharesMintDecimals: BigNumber; sharesMintAuthority: PublicKey; sharesMintAuthorityBump: BigNumber; sharesIssued: BigNumber; status: BigNumber; reward0Amount: BigNumber; reward0Vault: PublicKey; reward0CollateralId: BigNumber; reward0Decimals: BigNumber; reward1Amount: BigNumber; reward1Vault: PublicKey; reward1CollateralId: BigNumber; reward1Decimals: BigNumber; reward2Amount: BigNumber; reward2Vault: PublicKey; reward2CollateralId: BigNumber; reward2Decimals: BigNumber; depositCapUsd: BigNumber; feesACumulative: BigNumber; feesBCumulative: BigNumber; reward0AmountCumulative: BigNumber; reward1AmountCumulative: BigNumber; reward2AmountCumulative: BigNumber; depositCapUsdPerIxn: BigNumber; withdrawalCapA: WithdrawalCaps; withdrawalCapB: WithdrawalCaps; maxPriceDeviationBps: BigNumber; swapVaultMaxSlippageBps: BigNumber; swapVaultMaxSlippageFromReferenceBps: BigNumber; strategyType: BigNumber; depositFee: BigNumber; withdrawFee: BigNumber; feesFee: BigNumber; reward0Fee: BigNumber; reward1Fee: BigNumber; reward2Fee: BigNumber; positionTimestamp: BigNumber; kaminoRewards: KaminoRewardInfo[]; strategyDex: BigNumber; raydiumProtocolPositionOrBaseVaultAuthority: PublicKey; allowDepositWithoutInvest: BigNumber; raydiumPoolConfigOrBaseVaultAuthority: PublicKey; depositBlocked: number; creationStatus: number; investBlocked: number; shareCalculationMethod: number; withdrawBlocked: number; reservedFlag2: number; localAdminBlocked: number; flashVaultSwapAllowed: number; referenceSwapPriceA: Price; referenceSwapPriceB: Price; isCommunity: number; rebalanceType: number; padding0: number[]; rebalanceRaw: RebalanceRaw; padding1: number[]; tokenAFeesFromRewardsCumulative: BigNumber; tokenBFeesFromRewardsCumulative: BigNumber; strategyLookupTable: PublicKey; padding3: BigNumber[]; padding4: BigNumber[]; padding5: BigNumber[]; padding6: BigNumber[]; }; export declare const whirlpoolStrategyStruct: BeetStruct>; export type ProtocolPositionState = { buffer: Buffer; bump: number; poolId: PublicKey; tickLowerIndex: BigNumber; tickUpperIndex: BigNumber; liquidity: BigNumber; feeGrowthInside0LastX64: BigNumber; feeGrowthInside1LastX64: BigNumber; tokenFeesOwed0: BigNumber; tokenFeesOwed1: BigNumber; rewardGrowthInside: BigNumber[]; padding: BigNumber[]; }; export declare const protocolPositionStateStruct: BeetStruct>; export type UserState = { buffer: Buffer; userId: BigNumber; farmState: PublicKey; owner: PublicKey; legacyStake: BigNumber; rewardsTallyScaled: BigNumber[]; rewardsIssuedUnclaimed: BigNumber[]; lastClaimTs: BigNumber[]; activeStakeScaled: BigNumber; pendingDepositStakeScaled: BigNumber; pendingDepositStakeTs: BigNumber; pendingWithdrawalUnstakeScaled: BigNumber; pendingWithdrawalUnstakeTs: BigNumber; bump: BigNumber; delegatee: PublicKey; lastStakeTs: BigNumber; padding: BigNumber[]; }; export declare const userStateStruct: BeetStruct>; export type TokenInfo = { mint: PublicKey; decimals: BigNumber; padding: BigNumber[]; }; export declare const tokenInfoStruct: BeetStruct>; export type RewardPerTimeUnitPoint = { tsStart: BigNumber; rewardPerTimeUnit: BigNumber; }; export declare const rewardPerTimeUnitPointStruct: BeetStruct; export type RewardScheduleCurve = { points: RewardPerTimeUnitPoint[]; }; export declare const rewardScheduleCurveStruct: BeetStruct>; export type RewardInfo = { token: TokenInfo; rewardsVault: PublicKey; rewardsAvailable: BigNumber; rewardScheduleCurve: RewardScheduleCurve; minClaimDurationSeconds: BigNumber; lastIssuanceTs: BigNumber; rewardsIssuedUnclaimed: BigNumber; rewardsIssuedCumulative: BigNumber; rewardPerShareScaled: BigNumber; placeholder0: BigNumber; rewardType: number; rewardsPerSecondDecimals: number; padding0: number[]; padding1: BigNumber[]; }; export declare const rewardInfoStruct: BeetStruct>; export type FarmState = { buffer: Buffer; farmAdmin: PublicKey; globalConfig: PublicKey; token: TokenInfo; rewardInfos: RewardInfo[]; numRewardTokens: BigNumber; numUsers: BigNumber; totalStakedAmount: BigNumber; farmVault: PublicKey; farmVaultsAuthority: PublicKey; farmVaultsAuthorityBump: BigNumber; delegateAuthority: PublicKey; timeUnit: number; padding0: number[]; withdrawAuthority: PublicKey; depositWarmupPeriod: BigNumber; withdrawalCooldownPeriod: BigNumber; totalActiveStakeScaled: BigNumber; totalPendingStakeScaled: BigNumber; totalPendingAmount: BigNumber; slashedAmountCurrent: BigNumber; slashedAmountCumulative: BigNumber; slashedAmountSpillAddress: PublicKey; lockingMode: BigNumber; lockingStartTimestamp: BigNumber; lockingDuration: BigNumber; lockingEarlyWithdrawalPenaltyBps: BigNumber; depositCapAmount: BigNumber; scopePrices: PublicKey; scopeOraclePriceId: BigNumber; scopeOracleMaxAge: BigNumber; pendingFarmAdmin: PublicKey; strategyId: PublicKey; padding: BigNumber[]; }; export declare const farmStateStruct: BeetStruct>; export type VaultAllocation = { reserve: PublicKey; ctokenVault: PublicKey; targetAllocationWeight: BigNumber; tokenAllocationCap: BigNumber; ctokenVaultBump: BigNumber; configPadding: BigNumber[]; ctokenAllocation: BigNumber; lastInvestSlot: BigNumber; tokenTargetAllocationSf: BigNumber; statePadding: BigNumber[]; }; export declare const vaultAllocationStruct: BeetStruct>; export type VaultState = { accountDiscriminator: number[]; vaultAdminAuthority: PublicKey; baseVaultAuthority: PublicKey; baseVaultAuthorityBump: BigNumber; tokenMint: PublicKey; tokenMintDecimals: BigNumber; tokenVault: PublicKey; tokenProgram: PublicKey; sharesMint: PublicKey; sharesMintDecimals: BigNumber; tokenAvailable: BigNumber; sharesIssued: BigNumber; availableCrankFunds: BigNumber; padding0: BigNumber; performanceFeeBps: BigNumber; managementFeeBps: BigNumber; lastFeeChargeTimestamp: BigNumber; prevAumSf: BigNumber; pendingFeesSf: BigNumber; vaultAllocationStrategy: VaultAllocation[]; padding1: BigNumber[]; minDepositAmount: BigNumber; minWithdrawAmount: BigNumber; minInvestAmount: BigNumber; minInvestDelaySlots: BigNumber; crankFundFeePerReserve: BigNumber; pendingAdmin: PublicKey; cumulativeEarnedInterestSf: BigNumber; cumulativeMgmtFeesSf: BigNumber; cumulativePerfFeesSf: BigNumber; name: number[]; vaultLookupTable: PublicKey; vaultFarm: PublicKey; creationTimestamp: BigNumber; padding2: BigNumber; allocationAdmin: PublicKey; padding3: BigNumber[]; }; export declare const vaultStateStruct: BeetStruct>;