// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /** * @title IISOCurrencyManager * @notice Interface for ISO-4217 Currency Manager */ interface IISOCurrencyManager { function registerCurrency(string memory currencyCode, address tokenAddress, uint256 xauRate) external returns (bool); function convertViaXAU(string memory fromCurrency, string memory toCurrency, uint256 amount) external view returns (uint256 targetAmount); function getCurrencyRate(string memory fromCurrency, string memory toCurrency) external view returns (uint256 rate); function getAllSupportedCurrencies() external view returns (string[] memory); function getCurrencyAddress(string memory currencyCode) external view returns (address); }