import { OptimalRate } from '@paraswap/core'; /** * Declarative spec for a manufactured fallback test route. * * Every scenario is a SELL route along `path`. Each hop is priced live (per * split slice) with a real AMM; the hop/member marked `fabricated` becomes a * `Native` swapExchange with an always-reverting quote carrying the real * priced quote as its revertable fallback. */ export type HopSpec = { split?: number[]; fabricatedMemberIndex?: number; pricingDexes?: (string | undefined)[]; fallbackPricingDex?: string; }; export type RouteSpec = { percent: number; path: string[]; hops: HopSpec[]; }; export type ScenarioSpec = { name: string; description: string; amount: string; path?: string[]; hops?: HopSpec[]; routes?: RouteSpec[]; slippageBps?: number; expectGroup?: boolean; expectSuccess?: boolean; }; export type GeneratedRoute = { name: string; description: string; network: number; generatedAt: string; slippageBps: number; expectGroup: boolean; expectSuccess: boolean; priceRoute: OptimalRate; }; export type GeneratedRoutesFile = { _readme: string; routes: GeneratedRoute[]; };