import { RWAOpenAccountRequirements } from "../../model/rwa.js"; import "../../model/index.js"; import { RequestableWithdrawal } from "./withdrawal-compressor/types.js"; import { Asset, CreditAccountData, CreditAccountTokensSlice, PermitResult } from "../base/types.js"; import { GetOpenAccountRequirementsProps } from "../market/rwa/types.js"; import "../market/rwa/index.js"; import { PriceUpdate } from "../market/pricefeeds/types.js"; import { PrepareUpdateQuotasProps } from "../market/credit/types.js"; import { RouterCASlice } from "../router/types.js"; import "../router/index.js"; import "../market/index.js"; import { MultiCall, RawTx } from "../types/transactions.js"; import { OnchainSDK } from "../OnchainSDK.js"; import "../types/index.js"; import { SDKConstruct } from "../base/SDKConstruct.js"; import "../base/index.js"; import { GetCreditAccountsOptions } from "./credit-account-compressor/types.js"; import "./credit-account-compressor/index.js"; import "./withdrawal-compressor/index.js"; import { AssembleCaOperationsProps, AssembleClaimDelayedCallsProps, AssembleCloseCreditAccountCallsProps, AssembleRepayCreditAccountCallsProps, AssembleStartDelayedWithdrawalCallsProps, ClaimFarmRewardsProps, GetApprovalAddressProps, ICreditAccountsService, OpenCAProps, PreviewDelayedWithdrawalProps, Rewards } from "./types.js"; import { AccountBotsService } from "./bots/AccountBotsService.js"; import "./bots/index.js"; import { Address } from "viem"; //#region src/onchain/accounts/CreditAccountsServiceV310.d.ts /** * Service for querying and operating on Gearbox credit accounts. * * Provides methods to fetch account data, build transactions for common operations * (open, close, liquidate, swap, manage collateral/debt/quotas), and generate * the price feed updates required by the credit facade. * * @see {@link ICreditAccountsService} **/ export declare class CreditAccountsServiceV310 extends SDKConstruct implements ICreditAccountsService { #private; /** * {@inheritDoc ICreditAccountsService.bots} **/ readonly bots: AccountBotsService; constructor(sdk: OnchainSDK); /** * {@inheritDoc ICreditAccountsService.getCreditAccountData} **/ getCreditAccountData(account: Address, blockNumber?: bigint): Promise | undefined>; /** * {@inheritDoc ICreditAccountsService.getCreditAccounts} **/ getCreditAccounts(options?: GetCreditAccountsOptions, blockNumber?: bigint): Promise>; /** * {@inheritDoc ICreditAccountsService.getBorrowerCreditAccounts} **/ getBorrowerCreditAccounts(borrower: Address, options?: GetCreditAccountsOptions, blockNumber?: bigint): Promise>>; /** * {@inheritDoc ICreditAccountsService.getRewards} **/ getRewards(creditAccount: Address): Promise>; /** * {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls} */ assembleCloseCreditAccountCalls({ creditAccount: ca, routerCalls, assetsToWithdraw, to }: AssembleCloseCreditAccountCallsProps): Promise>; /** * {@inheritDoc ICreditAccountsService.previewDelayedWithdrawal} **/ previewDelayedWithdrawal({ creditAccount, amount, token, withdrawalPhantomToken, intent }: PreviewDelayedWithdrawalProps): Promise; /** * {@inheritDoc ICreditAccountsService.assembleStartDelayedWithdrawalCalls} **/ assembleStartDelayedWithdrawalCalls({ creditFacade, preview }: AssembleStartDelayedWithdrawalCallsProps): Array; /** * {@inheritDoc ICreditAccountsService.assembleClaimDelayedCalls} **/ assembleClaimDelayedCalls({ creditFacade, claimableNow }: AssembleClaimDelayedCallsProps): Array; /** * {@inheritDoc ICreditAccountsService.getApprovalAddress} **/ getApprovalAddress(options: GetApprovalAddressProps): Promise
; /** * {@inheritDoc ICreditAccountsService.getOpenAccountRequirements} */ getOpenAccountRequirements(borrower: Address, creditManager: Address, props: GetOpenAccountRequirementsProps): Promise; /** * {@inheritDoc ICreditAccountsService.openCA} **/ openCA(props: OpenCAProps): Promise; /** * {@inheritDoc ICreditAccountsService.assembleRWAUnwrapCalls} */ assembleRWAUnwrapCalls(amount: bigint, creditManager: Address): Promise | undefined>; /** * {@inheritDoc ICreditAccountsService.assembleRWAWrapCalls} */ assembleRWAWrapCalls(amount: bigint, creditManager: Address): Promise | undefined>; /** * {@inheritDoc ICreditAccountsService.assembleRedeemDiffCalls} */ assembleRedeemDiffCalls(amount: bigint, creditManager: Address): Promise | undefined>; /** * {@inheritDoc ICreditAccountsService.assembleDepositDiffCalls} */ assembleDepositDiffCalls(amount: bigint, creditManager: Address): Promise | undefined>; /** * {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls} */ assembleRepayCreditAccountCalls({ collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls }: AssembleRepayCreditAccountCallsProps): Promise>; /** * {@inheritDoc ICreditAccountsService.claimFarmRewards} */ claimFarmRewards({ calls: externalCalls, creditAccount: ca, minQuota, averageQuota, tokensToClaim }: ClaimFarmRewardsProps): Promise; /** * Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute * {@inheritDoc ICreditAccountsService.getOnDemandPriceUpdates} **/ getOnDemandPriceUpdates(account: CreditAccountTokensSlice, ignoreReservePrices?: boolean): Promise; /** * {@inheritDoc ICreditAccountsService.prependPriceUpdates} */ prependPriceUpdates(creditManager: Address, calls: MultiCall[], creditAccount?: RouterCASlice, options?: { ignoreReservePrices?: boolean; }): Promise; /** * {@inheritDoc ICreditAccountsService.assembleCaOperations} */ assembleCaOperations({ operations, creditFacade }: AssembleCaOperationsProps): MultiCall[]; /** * {@inheritDoc ICreditAccountsService.executeCaUpdate} */ executeCaUpdate(creditAccount: RouterCASlice, calls: MultiCall[], options?: { ignoreReservePrices?: boolean; ethAmount?: bigint; }): Promise; /** * {@inheritDoc ICreditAccountsService.prepareUpdateQuotas} */ prepareUpdateQuotas(creditFacade: Address, props: PrepareUpdateQuotasProps): Array; /** * {@inheritDoc ICreditAccountsService.prepareWithdrawToken} */ prepareWithdrawToken(creditFacade: Address, token: Address, amount: bigint, to: Address): MultiCall; /** * {@inheritDoc ICreditAccountsService.prepareIncreaseDebt} */ prepareIncreaseDebt(creditFacade: Address, debt: bigint): MultiCall; /** * {@inheritDoc ICreditAccountsService.prepareChangeDebt} */ prepareChangeDebt(creditFacade: Address, change: bigint, isDecrease: boolean): MultiCall; /** * {@inheritDoc ICreditAccountsService.prepareAddCollateral} */ prepareAddCollateral(creditFacade: Address, assets: Array, permits: Record): Array; private get rewardCompressor(); } //#endregion