diff --git a/electrum_gui/android/console.py b/electrum_gui/android/console.py index bc90bbf5097f..e0643caf4458 100755 --- a/electrum_gui/android/console.py +++ b/electrum_gui/android/console.py @@ -2,6 +2,7 @@ import asyncio import copy +import decimal import itertools import json import logging @@ -1377,6 +1378,18 @@ def get_exchange_currency(self, type, amount): text = self.format_amount((int(Decimal(amount) / Decimal(rate) * COIN))) return text + @api.api_entry(force_version=api.Version.V2) + def get_exchange_rate(self, chain_code: str, token_id: Optional[str] = None) -> decimal.Decimal: + chain_info = coin_manager.get_chain_info(chain_code) + if token_id is None: + coin_code = chain_info.chain_code # Main coin use chain_code + elif token_id == "fee": + coin_code = chain_info.fee_coin + else: + coin_code = coin_manager.get_coin_by_token_address(chain_code, token_id).code + + return price_manager.get_last_price(coin_code, self.ccy) + def _set_base_uint(self, base_unit): """ Set base unit for(BTC/mBTC/bits/sat), for btc only