Catch division by zero.

This commit is contained in:
James Cole
2023-12-29 09:05:44 +01:00
parent bdba786322
commit 0d7fd36c38

View File

@@ -289,6 +289,7 @@ class ExchangeRateConverter
private function fallback(TransactionCurrency $from, TransactionCurrency $to, Carbon $date): void private function fallback(TransactionCurrency $from, TransactionCurrency $to, Carbon $date): void
{ {
$fallback = $this->getRate($from, $to, $date); $fallback = $this->getRate($from, $to, $date);
$fallback = 0 === bccomp('0', $fallback) ? '1' : $fallback;
$this->fallback[$from->id][$to->id] = $fallback; $this->fallback[$from->id][$to->id] = $fallback;
$this->fallback[$to->id][$from->id] = bcdiv('1', $fallback); $this->fallback[$to->id][$from->id] = bcdiv('1', $fallback);
Log::debug(sprintf('Fallback rate %s > %s = %s', $from->code, $to->code, $fallback)); Log::debug(sprintf('Fallback rate %s > %s = %s', $from->code, $to->code, $fallback));