# ISO-4217 Currency Support This document explains ISO-4217 currency support and XAU triangulation. ## Overview The ISOCurrencyManager supports all ISO-4217 currencies with XAU triangulation for conversions. ## Supported Currencies All major currencies are supported: - USD (US Dollar) - EUR (Euro) - GBP (British Pound) - JPY (Japanese Yen) - CNY (Chinese Yuan) - And all other ISO-4217 currencies ## Registration Register a currency: ```solidity isoCurrencyManager.registerCurrency( "USD", // Currency code usdtAddress, // Token address (or address(0) if not tokenized) 2000e18 // XAU rate: 1 oz XAU = 2000 USD ); ``` ## Conversion Convert between currencies via XAU: ```solidity uint256 eurAmount = isoCurrencyManager.convertViaXAU( "USD", // From currency "EUR", // To currency 2000e18 // Amount ); ``` ## XAU Triangulation All conversions go through XAU: 1. Convert source currency to XAU 2. Convert XAU to target currency This ensures consistent pricing across all currency pairs. ## Tokenized vs Non-Tokenized - **Tokenized**: Currency has on-chain token representation (e.g., USDT for USD) - **Non-Tokenized**: Currency exists only as a code (e.g., EUR without on-chain token) Both types are supported and can be converted via XAU triangulation.