get-exchange-detailed-info.rst (2219B)
1 .. ts:op:: getExchangeDetailedInfo 2 :read-only: 3 4 Get detailed information about an exchange, including a timeline 5 for the fees charged by the exchange. 6 7 **Request:** 8 9 The request arguments must be a `GetExchangeDetailedInfoRequest` 10 object. 11 12 **Response:** 13 14 On success, the result is an `ExchangeDetailedResponse` object. 15 16 **Expected errors:** 17 18 The caller can handle the following errors inline: 19 ``WALLET_EXCHANGE_ENTRY_NOT_FOUND``. 20 21 **Details:** 22 23 The ``denomFees``, ``transferFees`` and ``globalFees`` of the 24 result are timelines: each `FeeDescription` covers the time range 25 from ``from`` to ``until`` during which the fee applies. 26 27 .. ts:def:: GetExchangeDetailedInfoRequest 28 29 interface GetExchangeDetailedInfoRequest { 30 exchangeBaseUrl: string; 31 } 32 33 .. ts:def:: ExchangeDetailedResponse 34 35 interface ExchangeDetailedResponse { 36 exchange: ExchangeFullDetails; 37 } 38 39 .. ts:def:: ExchangeFullDetails 40 41 interface ExchangeFullDetails { 42 exchangeBaseUrl: string; 43 44 currency: string; 45 46 paytoUris: string[]; 47 48 auditors: ExchangeAuditor[]; 49 50 wireInfo: WireInfo; 51 52 denomFees: DenomOperationMap<FeeDescription[]>; 53 54 transferFees: Record<string, FeeDescription[]>; 55 56 globalFees: FeeDescription[]; 57 } 58 59 .. ts:def:: DenomOperation 60 61 type DenomOperation = "deposit" | "withdraw" | "refresh" | "refund"; 62 63 .. ts:def:: DenomOperationMap 64 65 type DenomOperationMap<T> = { [op in DenomOperation]: T }; 66 67 .. ts:def:: FeeDescription 68 69 interface FeeDescription { 70 group: string; 71 72 from: AbsoluteTime; 73 74 until: AbsoluteTime; 75 76 fee?: AmountString; 77 } 78 79 .. ts:def:: WireInfo 80 81 interface WireInfo { 82 feesForType: WireFeeMap; 83 84 accounts: ExchangeWireAccount[]; 85 } 86 87 .. ts:def:: WireFeeMap 88 89 type WireFeeMap = { [wireMethod: string]: WireFee[] }; 90 91 .. ts:def:: WireFee 92 93 // Wire fee for one wire method 94 interface WireFee { 95 // Fee for wire transfers. 96 wireFee: AmountString; 97 98 // Fees to close and refund a reserve. 99 closingFee: AmountString; 100 101 // Start date of the fee. 102 startStamp: TalerProtocolTimestamp; 103 104 // End date of the fee. 105 endStamp: TalerProtocolTimestamp; 106 107 // Signature made by the exchange master key. 108 sig: string; 109 }