/** * Wrap operations for liquidity manager. */ import type { EvmReadProvider, EvmWriteProvider } from "../../types/evm.js"; import { type FeeOverrides } from "../../utils/fees.js"; import type { LiquidityActionResult } from "./types.js"; /** * Parameters for `wrapWithLiquidityManager`. */ export interface WrapWithLiquidityManagerParams { /** Write provider used to sign and submit transactions. */ writeProvider: EvmWriteProvider; /** Optional read provider for reads and receipt polling. */ readProvider?: EvmReadProvider; /** Liquidity manager contract address. */ liquidityManagerAddress: string; /** Amount to wrap (bigint-like). */ amount: bigint | number | string; /** * Override underlying token address. If omitted, the underlying token is read from the liquidity manager. * @remarks Use this only if you know the manager configuration and want to avoid an extra RPC call. */ underlyingTokenAddress?: string; /** Recipient of the wrapped zERC20. Defaults to the wallet's account. */ recipient?: string; /** Optional fee overrides (e.g., gas, maxFeePerGas). */ feeOverrides?: FeeOverrides; } /** * Wrap underlying tokens into zERC20 via the liquidity manager. * @remarks * - For ERC-20 underlying tokens, this may submit an `approve` transaction if allowance is insufficient. * - For native underlying tokens, `value` is attached to the wrap transaction and no approval is needed. * @throws If `amount` is not positive. * @returns Transaction hash for the wrap, plus optional approval transaction hash. */ export declare function wrapWithLiquidityManager(params: WrapWithLiquidityManagerParams): Promise; //# sourceMappingURL=wrap.d.ts.map