import { GateMultipartFile } from '../../lib/multipartUtil.js'; export type { GateMultipartFile } from '../../lib/multipartUtil.js'; /**========================================================================================================================== * OTC * ========================================================================================================================== */ export interface CreateOTCQuoteReq { side: 'PAY' | 'GET'; pay_coin: string; get_coin: string; pay_amount?: string; get_amount?: string; create_quote_token?: string; promotion_code?: string; } export interface CreateOTCFiatOrderReq { type: 'BUY' | 'SELL'; side: string; crypto_currency: string; fiat_currency: string; crypto_amount: string; fiat_amount: string; promotion_code?: string; quote_token: string; /** From GET /otc/bank/list; default card has is_default=1 */ bank_id: string; receive_type?: string; } export interface CreateOTCStablecoinOrderReq { pay_coin: string; get_coin: string; pay_amount: string; get_amount: string; side: string; quote_token: string; promotion_code?: string; } export interface MarkOTCOrderAsPaidReq { order_id: string; client_order_id?: string; payment_receipt_file_key: string; payment_receipt?: string; } export interface CancelOTCOrderReq { order_id: string; } export interface GetOTCFiatOrderListReq { type?: 'BUY' | 'SELL'; fiat_currency?: string; crypto_currency?: string; start_time?: string; end_time?: string; status?: string; pn?: string; ps?: string; } export interface GetOTCStablecoinOrderListReq { page_size?: string; page_number?: string; coin_name?: string; start_time?: string; end_time?: string; status?: string; } export interface GetOTCFiatOrderDetailReq { order_id: string; } export interface OTCBankIdReq { bank_id: string; } export interface GetOTCBankSupplementChecklistReq { bank_id: string; } export interface CreateOTCBankReq { bank_account_name: string; bank_name: string; bank_country: string; bank_address: string; iban: string; swift: string; remittance_line_number?: string; agent_bank_name?: string; agent_bank_swift?: string; documentation_file?: GateMultipartFile; documentation_file_key?: string; file_type?: string; } export interface SubmitOTCBankPersonalSupplementReq { bank_id: string; id_document_front: GateMultipartFile; id_document_back: GateMultipartFile; address_proof: GateMultipartFile; } export interface SubmitOTCBankEnterpriseSupplementReq { bank_id: string; certificate: GateMultipartFile; share_holders: GateMultipartFile; passport: GateMultipartFile; share_holding_structure: GateMultipartFile; uid?: string; funds_statement?: GateMultipartFile; additional?: GateMultipartFile; } export interface CreateOTCUploadPreUploadReq { content_type: string; scene: 'general' | 'bank' | 'assessment' | 'credit'; }