import type { AbiParameter, Address } from "viem"; import type { BaseContractStateHuman } from "../../sdk/types/state-human.js"; import type { LegacyAdapterOperation } from "./legacyAdapterOperations.js"; export type VersionedAbi = Record; export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::SECURITIZE_ONRAMP" | "ADAPTER::SECURITIZE_REDEMPTION" | "ADAPTER::SECURITIZE_SWAP" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADER_JOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2"; export declare enum AdapterType { ACCOUNT_MIGRATOR = "ACCOUNT_MIGRATOR", BALANCER_V3_ROUTER = "BALANCER_V3_ROUTER", BALANCER_V3_WRAPPER = "BALANCER_V3_WRAPPER", BALANCER_VAULT = "BALANCER_VAULT", CAMELOT_V3_ROUTER = "CAMELOT_V3_ROUTER", CURVE_STABLE_NG = "CURVE_STABLE_NG", CURVE_V1_2ASSETS = "CURVE_V1_2ASSETS", CURVE_V1_3ASSETS = "CURVE_V1_3ASSETS", CURVE_V1_4ASSETS = "CURVE_V1_4ASSETS", CURVE_V1_STECRV_POOL = "CURVE_V1_STECRV_POOL", CURVE_V1_WRAPPER = "CURVE_V1_WRAPPER", CVX_V1_BASE_REWARD_POOL = "CVX_V1_BASE_REWARD_POOL", CVX_V1_BOOSTER = "CVX_V1_BOOSTER", DAI_USDS_EXCHANGE = "DAI_USDS_EXCHANGE", EQUALIZER_ROUTER = "EQUALIZER_ROUTER", ERC4626_VAULT = "ERC4626_VAULT", ERC4626_VAULT_REFERRAL = "ERC4626_VAULT_REFERRAL", FLUID_DEX = "FLUID_DEX", INFINIFI_GATEWAY = "INFINIFI_GATEWAY", INFINIFI_UNWINDING = "INFINIFI_UNWINDING", INFRARED_VAULT = "INFRARED_VAULT", KELP_DEPOSIT_POOL = "KELP_DEPOSIT_POOL", KELP_WITHDRAWAL = "KELP_WITHDRAWAL", KODIAK_ISLAND_GATEWAY = "KODIAK_ISLAND_GATEWAY", LIDO_V1 = "LIDO_V1", LIDO_WSTETH_V1 = "LIDO_WSTETH_V1", MELLOW_CLAIMER = "MELLOW_CLAIMER", MELLOW_DVV = "MELLOW_DVV", MELLOW_ERC4626_VAULT = "MELLOW_ERC4626_VAULT", MELLOW_LRT_VAULT = "MELLOW_LRT_VAULT", MELLOW_WRAPPER = "MELLOW_WRAPPER", MELLOW_DEPOSIT_QUEUE = "MELLOW_DEPOSIT_QUEUE", MELLOW_REDEEM_QUEUE = "MELLOW_REDEEM_QUEUE", MIDAS_ISSUANCE_VAULT = "MIDAS_ISSUANCE_VAULT", MIDAS_REDEMPTION_VAULT = "MIDAS_REDEMPTION_VAULT", PENDLE_ROUTER = "PENDLE_ROUTER", SECURITIZE_ONRAMP = "SECURITIZE_ONRAMP", SECURITIZE_REDEMPTION = "SECURITIZE_REDEMPTION", SECURITIZE_SWAP = "SECURITIZE_SWAP", STAKING_REWARDS = "STAKING_REWARDS", TRADER_JOE_ROUTER = "TRADER_JOE_ROUTER", UNISWAP_V2_ROUTER = "UNISWAP_V2_ROUTER", UNISWAP_V3_ROUTER = "UNISWAP_V3_ROUTER", UNISWAP_V4_GATEWAY = "UNISWAP_V4_GATEWAY", UPSHIFT_VAULT = "UPSHIFT_VAULT", VELODROME_V2_ROUTER = "VELODROME_V2_ROUTER", YEARN_V2 = "YEARN_V2" } export interface AdapterContractStateHuman extends BaseContractStateHuman { creditManager?: string; targetContract?: string; } /** * A single ERC-20 Transfer event captured between Execute boundaries. */ export interface TokenTransfer { token: Address; amount: bigint; from: Address; to: Address; } /** * Parsed adapter operation to display in credit account transactions history */ export interface AdapterOperation { operation: "Execute"; /** * Address of Gearbox Adapter contract */ adapter: Address; /** * Address of protocol contract (targetContract of adapter contract) */ protocol: Address; /** * Namespaced adapter type * E.g. "ADAPTER::FLUID_DEX" */ adapterType: string; /** * Adapter contract version */ version: number; /** * Label of protocol contract (NOT adapter contract) */ label?: string; /** * Function name of adapter contract */ adapterFunctionName: string; /** * Arguments of adapter contract */ adapterArgs: Record; /** * Function name protocol called by adapter */ protocolFunctionName: string; /** * Arguments of protocol called by adapter */ protocolArgs: Record; /** * ERC20 transfer to and from credit account made during adapter call */ transfers: TokenTransfer[]; legacy: LegacyAdapterOperation; }