@@ -255,12 +255,12 @@ Si vous souhaitez tester la dé-sérialisation du JSON en object, voici un exemp
```
## Ajoutons des fonctionnalités
* la méthode `void buy(Currency currencyToBy, double amount, Currency currencyUsedToBy)` permet d'acheter avec des `currencyUsedToBy` la monnaie `currencyToBy`, l'achat se fait selon le taux de change au moment de l'achat et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `̀currencyUsedToBy`
* la méthode `void buy(Currency CurrencyToBuy, double amount, Currency currencyUsedToBy)` permet d'acheter avec des `currencyUsedToBy` la monnaie `CurrencyToBuy`, l'achat se fait selon le taux de change au moment de l'achat et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `̀currencyUsedToBy`
* la méthode `void sell(Currency currencyToSell, double amount, Currency currencyTarget)` permet de vendre des `currencyToSell` en `currencyTarget`, la vente se fait selon le taux de change au moment de la vente et la banque prend 0,2% du montant en frais de transaction. Attention, il n'est pas possible de faire l'achat s'il n'y a pas suffisamment de `̀currencyToSell`
* la méthode `void withdraw(double amount, Currency currency)` permet de retirer du portefeuille `amount` de `currency` pour les mettre sur un compte en banque. La banque ne supporte pour l'instant que les comptes en euro. La banque prend 2% du montant en frais de transaction.
* la méthode `void deposit(double amount, Currency currency)` permet d'ajouter `amount` de `currency`dans le portefeuille. C'est la seule transaction gratuite.
* la méthode `String[] history(LocaDate start, LocalDate end)` permet de lister sous forme de tableau de `String` toutes les transactions entre `start` et `end`. Une ligne de transaction est de la forme `Date au format ISO 8601 | Type d'opération | Montant | Devise source format ISO | Devise cible format ISO | Taux de change (source vers cible)`.
* la méthode `void order(Currency currencyToBy, double amount, Currency currencyUsedToBy, double lowerRateLimit, double upperRateLimit)` permet de lancer un ordre d'achat qui va scruter les taux de changes toutes les minutes pour n'acheter que si le taux est compris entre `lowerRateLimit` et `upperRateLimit`. La méthode s'arrête dès que la transaction a pu être réalisée.
* la méthode `void order(Currency CurrencyToBuy, double amount, Currency currencyUsedToBy, double lowerRateLimit, double upperRateLimit)` permet de lancer un ordre d'achat qui va scruter les taux de changes toutes les minutes pour n'acheter que si le taux est compris entre `lowerRateLimit` et `upperRateLimit`. La méthode s'arrête dès que la transaction a pu être réalisée.