/// /// /// import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; export type PricingParams = { maxInitialLeverage: number; maxLeverage: number; maxPositionLockedUsd: BigNumber; maxCumulativeShortPositionSizeUsd: BigNumber; }; export declare const pricingParamsStruct: BeetStruct>; export type Fees = { swapIn: number; swapOut: number; stableSwapIn: number; stableSwapOut: number; addLiquidity: number; removeLiquidity: number; closePosition: number; liquidation: number; feeMax: number; padding: number[]; padding2: BigNumber; }; export declare const feesStruct: BeetStruct>; export type BorrowRateParams = { maxHourlyBorrowInterestRate: BigNumber; }; export declare const borrowRateParamsStruct: BeetStruct>; export type FeesStats = { swapUsd: BigNumber; addLiquidityUsd: BigNumber; removeLiquidityUsd: BigNumber; closePositionUsd: BigNumber; liquidationUsd: BigNumber; borrowUsd: BigNumber; }; export declare const feesStatsStruct: BeetStruct>; export type Assets = { collateral: BigNumber; owned: BigNumber; locked: BigNumber; }; export declare const assetsStruct: BeetStruct>; export type VolumeStats = { swapUsd: BigNumber; addLiquidityUsd: BigNumber; removeLiquidityUsd: BigNumber; openPositionUsd: BigNumber; closePositionUsd: BigNumber; liquidationUsd: BigNumber; }; export declare const volumeStatsStruct: BeetStruct>; export type TradeStats = { profitUsd: BigNumber; lossUsd: BigNumber; oiLongUsd: BigNumber; oiShortUsd: BigNumber; }; export declare const tradeStatsStruct: BeetStruct>; export type U128Split = { high: BigNumber; low: BigNumber; }; export declare const u128SplitStruct: BeetStruct>; export type StableLockedAmountStat = { custody: PublicKey; lockedAmount: BigNumber; padding: number[]; }; export declare const StableLockedAmountStatStruct: BeetStruct>; export type PositionsAccounting = { openPositions: BigNumber; sizeUsd: BigNumber; borrowSizeUsd: BigNumber; lockedAmount: BigNumber; weightedPrice: U128Split; totalQuantity: U128Split; cumulativeInterestUsd: BigNumber; padding: number[]; cumulativeInterestSnapshot: U128Split; exitFeeUsd: BigNumber; stableLockedAmount: StableLockedAmountStat[]; }; export declare const positionsAccountingStruct: FixableBeetStruct>; export type BorrowRateState = { currentRate: BigNumber; lastUpdate: BigNumber; cumulativeInterest: U128Split; }; export declare const borrowRateStateStruct: BeetStruct>; export type Custody = { buffer: Buffer; bump: number; tokenAccountBump: number; allowTrade: number; allowSwap: number; decimals: number; isStable: number; padding: number[]; pool: PublicKey; mint: PublicKey; tokenAccount: PublicKey; oracle: PublicKey; tradeOracle: PublicKey; pricing: PricingParams; fees: Fees; borrowRate: BorrowRateParams; collectedFees: FeesStats; volumeStats: VolumeStats; tradeStats: TradeStats; assets: Assets; longPositions: PositionsAccounting; shortPositions: PositionsAccounting; borrowRateState: BorrowRateState; }; export declare const custodyStruct: FixableBeetStruct>; export type Position = { buffer: Buffer; bump: number; side: number; takeProfitThreadIsSet: number; stopLossThreadIsSet: number; padding: number[]; owner: PublicKey; pool: PublicKey; custody: PublicKey; collateralCustody: PublicKey; openTime: BigNumber; updateTime: BigNumber; price: BigNumber; sizeUsd: BigNumber; borrowSizeUsd: BigNumber; collateralUsd: BigNumber; unrealizedLossUsd: BigNumber; cumulativeInterestSnapshot: U128Split; lockedAmount: BigNumber; collateralAmount: BigNumber; exitFeeUsd: BigNumber; liquidationFeeUsd: BigNumber; takeProfitThreadId: BigNumber; takeProfitLimitPrice: BigNumber; stopLossThreadId: BigNumber; stopLossLimitPrice: BigNumber; stopLossClosePositionPrice: BigNumber; }; export declare const positionStruct: BeetStruct>; export type LockedStake = { amount: BigNumber; stakeTime: BigNumber; claimTime: BigNumber; endTime: BigNumber; lockDuration: BigNumber; rewardMultiplier: number; lmRewardMultiplier: number; voteMultiplier: number; padding: number[]; amountWithRewardMultiplier: BigNumber; amountWithLmRewardMultiplier: BigNumber; resolved: number; padding2: number[]; stakeResolutionThreadId: BigNumber; earlyExit: number; padding3: number[]; earlyExitFee: BigNumber; isGenesis: number; padding4: number[]; genesisClaimTime: BigNumber; }; export declare const lockedStakeStruct: BeetStruct>; export type LiquidStake = { amount: BigNumber; stakeTime: BigNumber; claimTime: BigNumber; overlapTime: BigNumber; overlapAmount: BigNumber; }; export declare const liquidStakeStruct: BeetStruct>; export type Pool = { buffer: number; padding: Buffer; bump: number; lpTokenBump: number; nbStableCustody: number; initialized: number; allowTrade: number; allowSwap: number; liquidityState: number; registeredCustodyCount: number; name: Buffer; custodies: PublicKey[]; padding1: number[]; whitelistedSwapper: PublicKey; ratios: Buffer; padding2: number[]; aumUsdHigh: BigNumber; aumUsdLow: BigNumber; }; export declare const poolStruct: FixableBeetStruct>; export type UserStaking = { bump: number; threadAuthorityBump: number; padding: number[]; stakesClaimCronThreadId: BigNumber; liquidStake: LiquidStake; lockedStakes: LockedStake[]; }; export declare const userStakingStruct: FixableBeetStruct>;