/** * Adapter Helper Functions * * Functions to support deposits with alternative tokens through swap adapters, * wrapper contracts, and Paraswap integration. */ import type { BaseContract, Signer, Wallet } from 'ethers'; import type { IAddress } from '../../types'; import type { IVaultAdapterConfig } from '../../types/vaults'; /** * Get quote from Paraswap for token swap */ export declare function getParaswapQuote({ srcToken, destToken, amount, network, srcDecimals, destDecimals, }: { srcToken: string; destToken: string; amount: string; network: string; srcDecimals: number; destDecimals: number; }): Promise; /** * Fetch a Paraswap price quote and return the pool-adapter contract for a * Paraswap-bridge (`bridgeId === 2`) vault. * * @deprecated No longer used by the SDK. It never built the Paraswap swap * calldata (the quote is fetched and discarded, and the returned contract * carries no transaction data), so it cannot produce a valid * `swapAndDeposit` call. `vaultDeposit` now rejects the Paraswap adapter * route up front; use `swapRouterDeposit` for any-token deposits. Kept * exported for back-compat only and will be removed in the next major. * * @param params.signer - Signer used to bind the returned contract. * @param params.srcToken - Token being deposited. * @param params.srcDecimals - Decimals of `srcToken`. * @param params.destToken - Vault underlying asset. * @param params.destDecimals - Decimals of `destToken`. * @param params.amount - Raw (wei-style) amount of `srcToken`. * @param params.network - Chain id as a string, for the Paraswap API. * @param params.adapterConfig - Adapter config carrying `wrapperAddress`. * @param params.userAddress - Depositor address (unused). * @returns The pool-adapter contract bound to `signer`. * @throws Error when Paraswap returns no price route. */ export declare function buildSwapAndDepositTransaction({ signer, srcToken, srcDecimals, destToken, destDecimals, amount, network, adapterConfig, userAddress, }: { signer: Signer | Wallet; srcToken: IAddress; srcDecimals: number; destToken: IAddress; destDecimals: number; amount: string; network: string; adapterConfig: IVaultAdapterConfig; userAddress: IAddress; }): Promise; /** * Build native/wrapped token deposit transaction */ export declare function buildNativeDepositTransaction({ signer, srcToken, amount, poolName, adapterConfig, userAddress, }: { signer: Signer | Wallet; srcToken: IAddress; amount: string; poolName?: string; adapterConfig: IVaultAdapterConfig; userAddress: IAddress; }): Promise<{ contract: BaseContract; functionName: string; args: any[]; value?: bigint; }>; /** * Preview adapter deposit output */ export declare function previewAdapterDeposit({ signer, vaultAddress, srcToken, srcAmount, srcDecimals, destToken, destDecimals, adapterConfig, chainId, }: { signer: Signer | Wallet; vaultAddress: IAddress; srcToken: IAddress; srcAmount: string; srcDecimals: number; destToken: IAddress; destDecimals: number; adapterConfig: IVaultAdapterConfig; chainId: number; }): Promise;