/// /// import { BeetStruct, bignum } from '@metaplex-foundation/beet'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { WrappedI80F48 } from './common'; export declare enum OracleSetup { None = 0, PythEma = 1, SwitchboardV2 = 2 } export declare enum BankOperationalState { Paused = 0, Operational = 1, ReduceOnly = 2 } export declare enum RiskTier { Collateral = 0, Isolated = 1 } export type InterestRateConfig = { optimalUtilizationRate: WrappedI80F48; plateauInterestRate: WrappedI80F48; maxInterestRate: WrappedI80F48; insuranceFeeFixedApr: WrappedI80F48; insuranceIrFee: WrappedI80F48; protocolFixedFeeApr: WrappedI80F48; protocolIrFee: WrappedI80F48; padding: bignum[]; }; export declare const interestRateConfigStruct: BeetStruct>; export type BankConfig = { assetWeightInit: WrappedI80F48; assetWeightMaint: WrappedI80F48; liabilityWeightInit: WrappedI80F48; liabilityWeightMaint: WrappedI80F48; depositLimit: BigNumber; interestRateConfig: InterestRateConfig; operationalState: BankOperationalState; oracleSetup: OracleSetup; oracleKeys_1: PublicKey; oracleKeys_2: PublicKey; oracleKeys_3: PublicKey; oracleKeys_4: PublicKey; oracleKeys_5: PublicKey; auto_padding_0: number[]; borrowLimit: BigNumber; riskTier: RiskTier; assetTag: number; auto_padding_1: number[]; totalAssetValueInitLimit: BigNumber; padding: BigNumber[]; }; export declare const bankConfigStruct: BeetStruct>; export type Bank = { discriminator: number[]; mint: PublicKey; mintDecimals: number; group: PublicKey; auto_padding_0: number[]; assetShareValue: WrappedI80F48; liabilityShareValue: WrappedI80F48; liquidityVault: PublicKey; liquidityVaultBump: number; liquidityVaultAuthorityBump: number; insuranceVault: PublicKey; insuranceVaultBump: number; insuranceVaultAuthorityBump: number; auto_padding_1: PublicKey; collectedInsuranceFeesOutstanding: WrappedI80F48; feeVault: PublicKey; feeVaultBump: number; feeVaultAuthorityBump: number; auto_padding_2: number[]; collectedGroupFeesOutstanding: WrappedI80F48; totalLiabilityShares: WrappedI80F48; totalAssetShares: WrappedI80F48; lastUpdate: BigNumber; config: BankConfig; emissionsFlags: number; emissionsRate: number; emissionsMint: PublicKey; emissionsRemaining: WrappedI80F48; padding0: BigNumber[]; padding1: BigNumber[]; }; export declare const bankStruct: BeetStruct>;