import { AlunaAccountEnum } from '../enums/AlunaAccountEnum'; import { AlunaOrderTypesEnum } from '../enums/AlunaOrderTypesEnum'; import { AlunaWalletEnum } from '../enums/AlunaWalletEnum'; import { IAlunaSettingsSchema } from './IAlunaSettingsSchema'; export interface IAlunaExchangeSchema { id: string; name: string; signupUrl: string; connectApiUrl: string; rateLimitingPerMinute: { perApiKey: number; perIp: number; }; features: { offersPositionId?: boolean; offersOrderEditing?: boolean; }; accounts: IAlunaExchangeAccountSpecsSchema[]; settings: IAlunaSettingsSchema; } export interface IAlunaExchangeAccountSpecsSchema { type: AlunaAccountEnum; supported: boolean; implemented?: boolean; wallet: AlunaWalletEnum; orderTypes: IAlunaExchangeOrderSpecsSchema[]; } export interface IAlunaExchangeOrderSpecsSchema { type: AlunaOrderTypesEnum; supported: true; implemented: boolean; } export interface IAlunaExchangeOrderOptionsSchema { rate?: number; amount?: number; limitRate?: number; leverage?: number; }