Contents

getExchangeDetailedInforead-only#

Get detailed information about an exchange, including a timeline for the fees charged by the exchange.

Request:

The request arguments must be a GetExchangeDetailedInfoRequest object.

Response:

On success, the result is an ExchangeDetailedResponse object.

Expected errors:

The caller can handle the following errors inline: WALLET_EXCHANGE_ENTRY_NOT_FOUND.

Details:

The denomFees, transferFees and globalFees of the result are timelines: each FeeDescription covers the time range from from to until during which the fee applies.

interface GetExchangeDetailedInfoRequest {
  exchangeBaseUrl: string;
}
interface ExchangeDetailedResponse {
  exchange: ExchangeFullDetails;
}
interface ExchangeFullDetails {
  exchangeBaseUrl: string;

  currency: string;

  paytoUris: string[];

  auditors: ExchangeAuditor[];

  wireInfo: WireInfo;

  denomFees: DenomOperationMap<FeeDescription[]>;

  transferFees: Record<string, FeeDescription[]>;

  globalFees: FeeDescription[];
}
type DenomOperation = "deposit" | "withdraw" | "refresh" | "refund";
type DenomOperationMap<T> = { [op in DenomOperation]: T };
interface FeeDescription {
  group: string;

  from: AbsoluteTime;

  until: AbsoluteTime;

  fee?: AmountString;
}
interface WireInfo {
  feesForType: WireFeeMap;

  accounts: ExchangeWireAccount[];
}
type WireFeeMap = { [wireMethod: string]: WireFee[] };
// Wire fee for one wire method
interface WireFee {
  // Fee for wire transfers.
  wireFee: AmountString;

  // Fees to close and refund a reserve.
  closingFee: AmountString;

  // Start date of the fee.
  startStamp: TalerProtocolTimestamp;

  // End date of the fee.
  endStamp: TalerProtocolTimestamp;

  // Signature made by the exchange master key.
  sig: string;
}