import { Address, NumberAsString, Token } from '../../types'; export type PoolState = { tin: bigint; tout: bigint; rate: bigint; daiBalance: bigint; gemBalance: bigint; }; export type LitePsmData = { psmAddress: Address; gemDecimals: number; toll: string; isApproved?: boolean; }; export type PoolConfig = { gem: Token; pocketAddress: Address; psmAddress: Address; identifier: string; }; export type DexParams = { dai: Token; usds: Token; usdsPsmAddress: Address; vatAddress: Address; pools: PoolConfig[]; }; export type LitePsmParams = [ srcToken: Address, destToken: Address, fromAmount: NumberAsString, toAmount: NumberAsString, toll: NumberAsString, to18ConversionFactor: NumberAsString, exchange: Address, gemJoinAddress: Address, metadata: string, beneficiaryDirectionApproveFlag: NumberAsString ]; export type LitePsmDirectPayload = [params: LitePsmParams, permit: string];