/// /// import { PublicKey } from '@solana/web3.js'; import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet'; import BigNumber from 'bignumber.js'; export type StakePool = { accountDiscriminator: number[]; stakeTokenMint: PublicKey; stakedTokens: BigNumber; stakedNotes: BigNumber; withdrawingTokens: BigNumber; increaseNoteRatePerSecond: BigNumber; maxMultipleOfNote: BigNumber; }; export declare const stakePoolStruct: BeetStruct>; export type StakeAccount = { accountDiscriminator: number[]; owner: PublicKey; notes: BigNumber; stakedTokens: BigNumber; stakedNotes: BigNumber; withdrawingTokens: BigNumber; timeOfWithdrawApply: BigNumber; claimableReward: BigNumber; lastUpdateNoteTime: BigNumber; lastDistributedAndNoteRate: BigNumber; }; export declare const stakeAccountStruct: BeetStruct>; export type InterestRateData = { utilizationRate: number; kValue: number; bValue: number; }; export declare const interestRateDataStruct: BeetStruct>; export type LendingPool = { accountDiscriminator: number[]; nxMarket: PublicKey; tokenMint: PublicKey; borrowTokens: BigNumber; borrowNotes: BigNumber; depositTokens: BigNumber; depositNotes: BigNumber; depositInterest: BigNumber; borrowInterest: BigNumber; protocolFee: BigNumber; accruedUntil: BigNumber; utilizationFlag: number; interestRateConfigs: InterestRateData[]; }; export declare const lendingPoolStruct: BeetStruct>; export type SolayerPool = { accountDiscriminator: number[]; nxMarket: PublicKey; lrtMint: PublicKey; amount: BigNumber; totalNxSolayerPoints: BigNumber; lastUpdateTime: BigNumber; }; export declare const solayerPoolStruct: BeetStruct>; export type LendingAccount = { accountDiscriminator: number[]; nxMarket: PublicKey; owner: PublicKey; depositNotes: BigNumber; depositTokens: BigNumber; lastNoteRate: BigNumber; totalReward: BigNumber; }; export declare const lendingAccountStruct: BeetStruct>; export type VSolPositionDetail = { collateralMint: PublicKey; borrowMint: PublicKey; leverageMint: PublicKey; collateralNote: BigNumber; collateralTokens: BigNumber; borrowNote: BigNumber; borrowTokens: BigNumber; leverageNote: BigNumber; leverageTokens: BigNumber; leverageMultiples: BigNumber; lastPointsAndLeverageNotesRate: BigNumber; pointReward: BigNumber; }; export declare const vSolPositionDetailStruct: BeetStruct>; export type SwapTemp = { beforeAmount: BigNumber; expected: BigNumber; }; export declare const swapTempStruct: BeetStruct>; export type VSolPosition = { accountDiscriminator: number[]; nxMarket: PublicKey; owner: PublicKey; positions: VSolPositionDetail[]; swapTemp: SwapTemp; }; export declare const vSolPositionStruct: FixableBeetStruct>; export type PositionDetail = { collateralMint: PublicKey; borrowMint: PublicKey; leverageMint: PublicKey; collateralNote: BigNumber; collateralTokens: BigNumber; borrowNote: BigNumber; borrowTokens: BigNumber; leverageNote: BigNumber; leverageTokens: BigNumber; liquidationFlag: BigNumber; leverageMultiples: BigNumber; positionType: PositionType; }; export declare enum PositionType { Normal = 0, Solayer = 1, Fragmetric = 2 } export declare const positionDetailStruct: BeetStruct>; export type FragmetricPosition = { accountDiscriminator: number[]; nxMarket: PublicKey; owner: PublicKey; positions: PositionDetail[]; }; export declare const fragmetricPositionStruct: FixableBeetStruct>; export type FragmetricUser = { accountDiscriminator: number[]; nxMarket: PublicKey; owner: PublicKey; receiptToken: PublicKey; amount: BigNumber; nxFragmetricPoints: BigNumber; lastUpdateTime: BigNumber; }; export declare const fragmetricUserStruct: FixableBeetStruct>; export type FragmetricPool = { accountDiscriminator: number[]; nxMarket: PublicKey; receiptToken: PublicKey; amount: BigNumber; totalNxFragmetricPoints: BigNumber; lastUpdateTime: BigNumber; padding: BigNumber[]; }; export declare const fragmetricPoolStruct: FixableBeetStruct>; export type StakePoolWithdrawal = { stakeAccount: PublicKey; solAmount: BigNumber; }; export declare const stakePoolWithdrawalStruct: BeetStruct>; export type SolayerUser = { accountDiscriminator: number[]; nxMarket: PublicKey; lrtMint: PublicKey; amount: BigNumber; nxSolayerPoints: BigNumber; lastUpdateTime: BigNumber; withdrawals: StakePoolWithdrawal[][]; }; export declare const solayerUserStruct: FixableBeetStruct>; export type CollateralDetail = { tokenMint: PublicKey; depositNote: BigNumber; depositToken: BigNumber; marketValue: BigNumber; }; export declare const collateralDetailStruct: BeetStruct>; export type LoanDetail = { tokenMint: PublicKey; loanNote: BigNumber; loanToken: BigNumber; loanValue: BigNumber; }; export declare const loanDetailStruct: BeetStruct>; export type MarginAccount = { accountDiscriminator: number[]; leveragefi: PublicKey; owner: PublicKey; deposits: CollateralDetail[]; loans: LoanDetail[]; leverage: BigNumber; jlpNotes: BigNumber; activeLoan: PublicKey; }; export declare const marginAccountStruct: FixableBeetStruct>; export type MarginPool = { accountDiscriminator: number[]; leveragefi: PublicKey; vault: PublicKey; feeDestination: PublicKey; poolAuthority: PublicKey; tokenMint: PublicKey; tokenPriceOracle: PublicKey; borrowedTokens: BigNumber; depositTokens: BigNumber; depositNotes: BigNumber; loanNotes: BigNumber; depositInterest: BigNumber; loanInterest: BigNumber; protocolFee: BigNumber; accruedUntil: BigNumber; utilizationFlag: number; }; export declare const marginPoolStruct: BeetStruct>;