///
///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export type MarketInfo = {
vaultSyAmount: BigNumber;
vaultPtAmount: BigNumber;
vaultYtAmount: BigNumber;
vaultLpAmount: BigNumber;
volume: BigNumber;
feeTrade: BigNumber;
feePlatform: BigNumber;
feeTradeVolume: BigNumber;
feePlatformVolume: BigNumber;
infoTemp1: BigNumber;
infoTemp2: BigNumber;
infoTemp3: BigNumber;
infoTemp4: BigNumber;
};
export declare const marketInfoStruct: BeetStruct>;
export type MarketConfig = {
priceBase: BigNumber;
startTime: BigNumber;
startPrice: BigNumber;
startEpoch: BigNumber;
startLpValue: BigNumber;
endTime: BigNumber;
marketEndPrice: BigNumber;
marketApy: BigNumber;
updateSkipTime: BigNumber;
lastUpdateEpoch: BigNumber;
marketSolPrice: BigNumber;
lastUpdateTime: BigNumber;
marketConfig1: BigNumber;
marketConfig2: BigNumber;
marketConfig3: BigNumber;
marketConfig4: BigNumber;
marketConfig5: BigNumber;
marketConfig6: BigNumber;
marketConfig7: BigNumber;
};
export declare const marketConfigStruct: BeetStruct>;
export type Freeze = {
market: number;
mint: number;
redeem: number;
trade: number;
deposi: number;
withdr: number;
};
export declare const freezeStruct: BeetStruct>;
export type Fees = {
feeDenominator: BigNumber;
tradeFeeNumerator: BigNumber;
platformFeeNumerator: BigNumber;
yieldFeeNumerator: BigNumber;
feeNumerator1: BigNumber;
feeNumerator2: BigNumber;
};
export declare const feesStruct: BeetStruct>;
export type PoolConfig = {
fees: Fees;
configDenominator: BigNumber;
leverage: BigNumber;
poolConfig8: BigNumber;
poolConfig9: BigNumber;
spreadReduce: BigNumber;
feeTimeExp: BigNumber;
depositCapPt: BigNumber;
poolConfig1: BigNumber;
poolConfig2: BigNumber;
poolConfig3: BigNumber;
poolConfig4: BigNumber;
poolConfig5: BigNumber;
poolConfig6: BigNumber;
poolConfig7: BigNumber;
};
export declare const poolConfigStruct: BeetStruct>;
export type Market = {
buffer: Buffer;
bumpSeed: number;
freeze: Freeze;
marketSigner: PublicKey;
tokenProgram: PublicKey;
marketInfo: MarketInfo;
marketConfig: MarketConfig;
poolConfig: PoolConfig;
oracleAccount: PublicKey;
tokenSyMintAddress: PublicKey;
tokenPtMintAddress: PublicKey;
tokenYtMintAddress: PublicKey;
tokenLpMintAddress: PublicKey;
poolPtTokenAccount: PublicKey;
poolYtTokenAccount: PublicKey;
vaultSyTokenAccount: PublicKey;
vaultPtTokenAccount: PublicKey;
vaultYtTokenAccount: PublicKey;
vaultLpTokenAccount: PublicKey;
feeLpTokenAccount: PublicKey;
marketAddress1: PublicKey;
marketAddress2: PublicKey;
marketAddress3: PublicKey;
marketAddress4: PublicKey;
marketAddress5: PublicKey;
marketAddress6: PublicKey;
marketAddress7: PublicKey;
};
export declare const marketStruct: BeetStruct>;
export type TradeInfo = {
volume: BigNumber;
tradeInfo1: BigNumber;
tradeInfo2: BigNumber;
tradeInfo3: BigNumber;
tradeInfo4: BigNumber;
tradeInfo5: BigNumber;
};
export declare const tradeInfoStruct: BeetStruct>;
export type StakeInfo = {
stakePtAmount: BigNumber;
stakePtTime: BigNumber;
stakePtPriceSy: BigNumber;
stakePtPricePt: BigNumber;
stakeYtAmount: BigNumber;
stakeYtTime: BigNumber;
stakeYtPriceSy: BigNumber;
stakeYtPriceYt: BigNumber;
stakeLpAmount: BigNumber;
stakeLpTime: BigNumber;
stakeLpPriceSy: BigNumber;
staleInfo1: BigNumber;
staleInfo2: BigNumber;
staleInfo3: BigNumber;
staleInfo4: BigNumber;
staleInfo5: BigNumber;
};
export declare const stakeInfoStruct: BeetStruct>;
export type SandglassAccount = {
buffer: Buffer;
bumpSeed: number;
marketAccount: PublicKey;
userAddress: PublicKey;
tradeInfo: TradeInfo;
stakeInfo: StakeInfo;
sandglassAddress1: PublicKey;
sandglassAddress2: PublicKey;
sandglassAddress3: PublicKey;
sandglassAddress4: PublicKey;
sandglassAddress5: PublicKey;
};
export declare const sandglassAccountStruct: BeetStruct>;