///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export declare enum BanxTokenStakeState {
None = 0,
Staked = 1,
Unstaked = 2
}
export type BanxTokenStake = {
accountDiscriminator: number[];
banxStakeState: BanxTokenStakeState;
user: PublicKey;
adventureSubscriptionsQuantity: BigNumber;
tokensStaked: BigNumber;
partnerPointsStaked: BigNumber;
playerPointsStaked: BigNumber;
banxNftsStakedQuantity: BigNumber;
stakedAt: BigNumber;
unstakedAt: BigNumber;
farmedAmount: BigNumber;
nftsStakedAt: BigNumber;
nftsUnstakedAt: BigNumber;
placeholderOne: PublicKey;
};
export declare enum Bondtradetransactionv2type {
None = 0,
Autocompound = 1,
Receivenftonliquidation = 2,
Autoreceivesol = 3,
Autocompoundandreceivenft = 4,
Autoreceiveandreceivenft = 5,
Autoreceiveandreceivespl = 6
}
export declare enum BondtradeTransactionv2State {
Notactive = 0,
Active = 1,
Perpetualactive = 2,
Perpetualrepaid = 3,
Perpetualliquidatedbyauction = 4,
Perpetualliquidatedbyclaim = 5,
Perpetualmanualterminating = 6,
Perpetualpartialrepaid = 7,
Perpetualrefinancerepaid = 8,
Perpetualrefinancedactive = 9,
Migrated = 10,
Perpetualborrowerlisting = 11,
Perpetuallenderlisting = 12,
Perpetualsellingloan = 13,
Perpetualsellinglisting = 14,
Perpetualsellinglistingclosed = 15,
Perpetualaddcollateralclosed = 16
}
export declare enum RedeemResult {
None = 0,
Directborrow = 1,
Reborrow = 2,
Instantrefinanced = 3,
Refinancedbyauction = 4,
Partialrepay = 5,
Directrepaid = 6,
Claimed = 7,
Addcollateral = 8
}
export declare enum LendingTokenType {
Nativesol = 0,
Usdc = 1,
Banxsol = 2
}
export declare enum RepayDestination {
None = 0,
Offer = 1,
Wallet = 2,
Vault = 3
}
export declare enum PairState {
Initializing = 0,
Onmarketvirtual = 1,
Onmarkettokenized = 2,
Frozen = 3,
Closed = 4,
Perpetualonmarket = 5,
Perpetualclosed = 6,
Perpetualbondingcurveonmarket = 7,
Perpetualmigrated = 8,
Perpetualbondingcurveclosed = 9,
Perpetuallisting = 10
}
export declare enum BondOfferBondingCurveType {
Linear = 0,
Exponential = 1,
Linearusdc = 2,
Exponentialusdc = 3,
Linearbanxsol = 4,
Exponentialbanxsol = 5
}
export type BondOfferBondingCurve = {
delta: BigNumber;
bondingType: BondOfferBondingCurveType;
};
export declare enum BondFeatures {
None = 0,
Autocompound = 1,
Receivenftonliquidation = 2,
Autoreceivesol = 3,
Autocompoundandreceivenft = 4,
Autoreceiveandreceivenft = 5,
Autoreceiveandreceivespl = 6
}
export type BondOfferValidation = {
loanToValueFilter: BigNumber;
collateralsPerToken: BigNumber;
maxReturnAmountFilter: BigNumber;
bondFeatures: BondFeatures;
};
export declare const banxTokenStakeStruct: BeetStruct>;
export type BondTradeTransactionv3 = {
accountDiscriminator: number[];
bondTradeTransactionState: BondtradeTransactionv2State;
bondOffer: PublicKey;
user: PublicKey;
amountOfBonds: BigNumber;
solAmount: BigNumber;
feeAmount: BigNumber;
bondTradeTransactionType: Bondtradetransactionv2type;
fbondTokenMint: PublicKey;
soldAt: BigNumber;
redeemedAt: BigNumber;
redeemResult: RedeemResult;
seller: PublicKey;
isDirectSell: boolean;
lendingToken: LendingTokenType;
currentRemainingLent: BigNumber;
interestSnapshot: BigNumber;
partialRepaySnapshot: BigNumber;
terminationStartedAt: BigNumber;
lenderOriginalLent: BigNumber;
lenderFullRepaidAmount: BigNumber;
borrowerOriginalLent: BigNumber;
borrowerFullRepaidAmount: BigNumber;
repayDestination: RepayDestination;
repaymentCallAmount: BigNumber;
terminationFreeze: BigNumber;
redeemResultNext: RedeemResult;
protocolInterestFee: number;
collateralAmountSnapshot: BigNumber;
placeholder1: number;
placeholder2: number;
placeholder3: number;
placeholder4: BigNumber;
placeholder5: BigNumber;
placeholder6: BigNumber;
placeholder7: PublicKey;
};
export declare const Bondtradetransactionv3Struct: BeetStruct>;
export type BondOfferv3 = {
accountDiscriminator: number[];
hadoMarket: PublicKey;
pairState: PairState;
bondingCurve: BondOfferBondingCurve;
baseSpotPrice: BigNumber;
mathCounter: BigNumber;
currentSpotPrice: BigNumber;
concentrationIndex: BigNumber;
bidCap: BigNumber;
bidSettlement: BigNumber;
edgeSettlement: BigNumber;
fundsSolOrTokenBalance: BigNumber;
buyOrdersQuantity: BigNumber;
lastTransactedAt: BigNumber;
assetReceiver: PublicKey;
validation: BondOfferValidation;
liquidationLtvBp: BigNumber;
offerLtvBp: BigNumber;
placeholder3: BigNumber;
placeholder4: BigNumber;
placeholder5: BigNumber;
placeholder6: BigNumber;
loanApr: BigNumber;
placeholder7: PublicKey;
};
export declare const bondOfferBondingCurveStruct: BeetStruct>;
export declare const bondOfferv3Struct: BeetStruct>;
export declare enum Fraktbondstate {
Initialized = 0,
Active = 1,
Repaid = 2,
Liquidating = 3,
Liquidated = 4,
Perpetualactive = 5,
Perpetualrepaid = 6,
Perpetualliquidatedbyauction = 7,
Perpetualliquidatedbyclaim = 8
}
export type Fraktbond = {
accountDiscriminator: number[];
fraktBondState: Fraktbondstate;
bondTradeTransactionsCounter: number;
borrowedAmount: BigNumber;
banxStake: PublicKey;
fraktMarket: PublicKey;
leverageBasePoints: BigNumber;
actualReturnedAmount: BigNumber;
terminatedCounter: number;
fbondTokenMint: PublicKey;
fbondTokenSupply: BigNumber;
activatedAt: BigNumber;
liquidatingAt: BigNumber;
fbondIssuer: PublicKey;
repaidOrLiquidatedAt: BigNumber;
currentPerpetualBorrowed: BigNumber;
lastTransactedAt: BigNumber;
refinanceAuctionStartedAt: BigNumber;
};
export declare const FraktbondStruct: BeetStruct>;
export type BanxPool = {
accountDiscriminator: number[];
};
export declare const banxPoolStruct: BeetStruct>;
export type BanxPoolMarketSettings = {
accountDiscriminator: number[];
};
export declare const banxPoolMarketSettingsStruct: BeetStruct>;
export declare enum BanxPoolUserDepositState {
None = 0,
Active = 1,
Closed = 2
}
export type BanxPoolUserDeposit = {
accountDiscriminator: number[];
userDepositState: BanxPoolUserDepositState;
banxPool: PublicKey;
user: PublicKey;
depositAmount: BigNumber;
depositedAt: BigNumber;
depositedAtCumulative: BigNumber;
requestedWithdrawAmount: BigNumber;
rewardsHarvested: BigNumber;
lastTransactedAt: BigNumber;
lossCumulative: BigNumber;
totalLossAmount: BigNumber;
placeholder1: BigNumber;
placeholder2: BigNumber;
placeholder3: BigNumber;
placeholder4: PublicKey;
};
export declare const banxPoolUserDepositStruct: BeetStruct>;