/// /// import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { FixableBeetStruct, DataEnumKeyAsKind, BeetStruct } from '@metaplex-foundation/beet'; type APYRecord = { Fixed: { apy: number; }; }; type APY = DataEnumKeyAsKind; type LoanTermsRecord = { Time: { start: BigNumber; duration: BigNumber; total_owed_lamports: BigNumber; }; }; type LoanTerms = DataEnumKeyAsKind; type OrderBookTypeRecord = { Collection: { collectionKey: PublicKey; }; NFTList: { collectionKey: PublicKey; }; }; type OrderBookType = DataEnumKeyAsKind; type LoanTermsSpecRecord = { Time: { duration: BigNumber; }; }; type LoanTermsSpec = DataEnumKeyAsKind; type BookLoanTermsRecord = { Fixed: { terms: LoanTermsSpec; }; LenderChooses: NonNullable; }; type BookLoanTerms = DataEnumKeyAsKind; export type OrderBook = { accountDiscriminator: number[]; version: number; orderBookType: OrderBookType; apy: APY; loanTerms: BookLoanTerms; feePermillicentage: number; feeAuthority: PublicKey; }; export declare const orderBookStruct: FixableBeetStruct>; export type NftList = { accountDiscriminator: number[]; version: number; collectionName: number[]; }; export declare const nftListStruct: FixableBeetStruct>; type LoanStateRecord = { Offer: { lenderWallet: PublicKey; termsSpec: LoanTermsSpec; offerTime: BigNumber; }; Taken: { nftCollateralMint: PublicKey; lenderNoteMint: PublicKey; borrowerNoteMint: PublicKey; apy: APY; terms: LoanTerms; isCollateralFrozen: number; }; }; type LoanState = DataEnumKeyAsKind; export type Loan = { accountDiscriminator: number[]; version: number; principalLamports: BigNumber; orderBook: PublicKey; valueTokenMint: PublicKey; escrowBumpSeed: number; loanState: LoanState; }; export declare const loanStruct: FixableBeetStruct>; export type EscrowPda = { accountDiscriminator: number[]; bump: number; }; export declare const escrowPdaStruct: FixableBeetStruct>; export type ProgramVersion = { accountDiscriminator: number[]; version: number; bump: number; updated: BigNumber; }; export declare const programVersionStruct: FixableBeetStruct>; export type TokenLendingPool = { accountDiscriminator: number[]; orderbook: PublicKey; lender: PublicKey; usdc_vault: PublicKey; collateral_vault: PublicKey; nonce: BigNumber; total_usdc_liquidity: BigNumber; available_usdc_liquidity: BigNumber; collateral_required_amount: BigNumber; total_usdc_interest: BigNumber; total_loan_count: BigNumber; active_loan_count: BigNumber; total_defaulted_loan_count: BigNumber; total_defaulted_usdc_amount: BigNumber; total_defaulted_collateral_amount: BigNumber; version: number; bump: number; padding: number[]; }; export declare const tokenLendingPoolStruct: BeetStruct>; export type TokenLendingOrderBook = { accountDiscriminator: number[]; fee_authority: PublicKey; loan_mint: PublicKey; collateral_mint: PublicKey; collateral_token_program: PublicKey; duration: BigNumber; min_liquidity: BigNumber; max_liquidity: BigNumber; apr: number; fee_permillicentage: number; collateral_decimals: number; version: number; bump: number; padding: number[]; }; export declare const tokenLendingOrderBookStruct: BeetStruct>; export type TokenLendingLoan = { accountDiscriminator: number[]; orderbook: PublicKey; borrower: PublicKey; pool: PublicKey; principal_usdc_amount: BigNumber; collateral_required_amount: BigNumber; start_ts: BigNumber; end_ts: BigNumber; apr: number; version: number; padding: number[]; }; export declare const tokenLendingLoanStruct: BeetStruct>; export {};