import type { IEVaultAdapter } from "../../eVaultService.js"; import type { ProviderService } from "../../../../providerService/index.js"; import type { DeploymentService } from "../../../../deploymentService/index.js"; import { type Address } from "viem"; import { type IEVault } from "../../../../../entities/EVault.js"; import { type BuildQueryFn } from "../../../../../utils/buildQuery.js"; import type { EulerPlugin } from "../../../../../plugins/types.js"; import { type BatchSimulationAdapter } from "../../../../../plugins/batchSimulation.js"; import type { EVCBatchItem } from "../../../../executionService/executionServiceTypes.js"; import { type ServiceResult } from "../../../../../utils/entityDiagnostics.js"; export declare const perspectiveVerifiedArrayAbi: readonly [{ readonly type: "function"; readonly name: "verifiedArray"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly stateMutability: "view"; }]; /** EVC batch item reading a perspective's verified set, for lens batches. */ export declare const getPerspectiveVerifiedArrayBatchItem: (perspective: Address, onBehalfOfAccount: Address) => EVCBatchItem; export declare const getVaultInfoFullLensBatchItem: (vaultLensAddress: Address, vault: Address, onBehalfOfAccount: Address) => EVCBatchItem; export declare class EVaultOnchainAdapter implements IEVaultAdapter { private providerService; private deploymentService; private plugins; private batchSimulationAdapter?; constructor(providerService: ProviderService, deploymentService: DeploymentService, buildQuery?: BuildQueryFn); setProviderService(providerService: ProviderService): void; setPlugins(plugins: EulerPlugin[]): void; setBatchSimulationAdapter(adapter: BatchSimulationAdapter): void; queryEVaultInfoFull: (provider: ReturnType, vaultLensAddress: Address, vault: Address) => Promise<{ timestamp: bigint; vault: `0x${string}`; vaultName: string; vaultSymbol: string; vaultDecimals: bigint; asset: `0x${string}`; assetName: string; assetSymbol: string; assetDecimals: bigint; unitOfAccount: `0x${string}`; unitOfAccountName: string; unitOfAccountSymbol: string; unitOfAccountDecimals: bigint; totalShares: bigint; totalCash: bigint; totalBorrowed: bigint; totalAssets: bigint; accumulatedFeesShares: bigint; accumulatedFeesAssets: bigint; governorFeeReceiver: `0x${string}`; protocolFeeReceiver: `0x${string}`; protocolFeeShare: bigint; interestFee: bigint; hookedOperations: bigint; configFlags: bigint; supplyCap: bigint; borrowCap: bigint; maxLiquidationDiscount: bigint; liquidationCoolOffTime: bigint; dToken: `0x${string}`; oracle: `0x${string}`; interestRateModel: `0x${string}`; hookTarget: `0x${string}`; evc: `0x${string}`; protocolConfig: `0x${string}`; balanceTracker: `0x${string}`; permit2: `0x${string}`; creator: `0x${string}`; governorAdmin: `0x${string}`; irmInfo: { queryFailure: boolean; queryFailureReason: `0x${string}`; vault: `0x${string}`; interestRateModel: `0x${string}`; interestRateInfo: readonly { cash: bigint; borrows: bigint; borrowSPY: bigint; borrowAPY: bigint; supplyAPY: bigint; }[]; interestRateModelInfo: { interestRateModel: `0x${string}`; interestRateModelType: number; interestRateModelParams: `0x${string}`; }; }; collateralLTVInfo: readonly { collateral: `0x${string}`; borrowLTV: bigint; liquidationLTV: bigint; initialLiquidationLTV: bigint; targetTimestamp: bigint; rampDuration: bigint; }[]; liabilityPriceInfo: { queryFailure: boolean; queryFailureReason: `0x${string}`; timestamp: bigint; oracle: `0x${string}`; asset: `0x${string}`; unitOfAccount: `0x${string}`; amountIn: bigint; amountOutMid: bigint; amountOutBid: bigint; amountOutAsk: bigint; }; collateralPriceInfo: readonly { queryFailure: boolean; queryFailureReason: `0x${string}`; timestamp: bigint; oracle: `0x${string}`; asset: `0x${string}`; unitOfAccount: `0x${string}`; amountIn: bigint; amountOutMid: bigint; amountOutBid: bigint; amountOutAsk: bigint; }[]; oracleInfo: { oracle: `0x${string}`; name: string; oracleInfo: `0x${string}`; }; backupAssetPriceInfo: { queryFailure: boolean; queryFailureReason: `0x${string}`; timestamp: bigint; oracle: `0x${string}`; asset: `0x${string}`; unitOfAccount: `0x${string}`; amountIn: bigint; amountOutMid: bigint; amountOutBid: bigint; amountOutAsk: bigint; }; backupAssetOracleInfo: { oracle: `0x${string}`; name: string; oracleInfo: `0x${string}`; }; }>; setQueryEVaultInfoFull(fn: typeof this.queryEVaultInfoFull): void; queryEVaultVerifiedArray: (provider: ReturnType, perspective: Address) => Promise; setQueryEVaultVerifiedArray(fn: typeof this.queryEVaultVerifiedArray): void; /** * The escrow perspective's verified set, or `undefined` when the chain has * no perspective deployed or the read failed. Membership is the same answer * `fetchVerifiedVaultAddresses(chainId, [ESCROW])` returns, so a vault's * `isEscrow` never disagrees with the SDK's own escrow list. The SDK asks the * registry rather than deriving a verdict of its own, so it cannot contradict * another system reading the same registry. */ private fetchEscrowVerifiedSet; fetchVaults(chainId: number, vaults: Address[]): Promise>; private collectReadPrepend; fetchVerifiedVaultsAddresses(chainId: number, perspectives: Address[]): Promise; fetchAllVaults(chainId: number): Promise>; } //# sourceMappingURL=eVaultOnchainAdapter.d.ts.map