refactor: Move getTicker() to coin interface.

This commit is contained in:
tecnovert 2021-02-16 01:20:24 +02:00
parent 6516c6d138
commit a5dcd9f77d
No known key found for this signature in database
GPG key ID: 8ED6D8750C4E3F93
6 changed files with 13 additions and 17 deletions

View file

@ -35,6 +35,7 @@ class BaseApp:
self.chain = chain
self.settings = settings
self.coin_clients = {}
self.coin_interfaces = {}
self.mxDB = threading.RLock()
self.debug = self.settings.get('debug', False)
self._network = None
@ -91,14 +92,6 @@ class BaseApp:
return c
raise ValueError('Unknown coin: {}'.format(coin_name))
def getTicker(self, coin_type):
ticker = chainparams[coin_type]['ticker']
if self.chain == 'testnet':
ticker = 't' + ticker
if self.chain == 'regtest':
ticker = 'rt' + ticker
return ticker
def encodeSegwitP2WSH(self, coin_type, p2wsh):
return segwit_addr.encode(chainparams[coin_type][self.chain]['hrp'], 0, p2wsh[2:])

View file

@ -1430,9 +1430,9 @@ class BasicSwap(BaseApp):
return est_fee
def withdrawCoin(self, coin_type, value, addr_to, subfee):
self.log.info('withdrawCoin %s %s to %s %s', value, self.getTicker(coin_type), addr_to, ' subfee' if subfee else '')
ci = self.ci(coin_type)
self.log.info('withdrawCoin %s %s to %s %s', value, ci.ticker(), addr_to, ' subfee' if subfee else '')
txid = ci.withdrawCoin(value, addr_to, subfee)
self.log.debug('In txn: {}'.format(txid))
return txid

View file

@ -205,8 +205,9 @@ chainparams = {
class CoinInterface:
def __init__(self):
def __init__(self, network):
self.setDefaults()
self._network = network
def setDefaults(self):
self._unknown_wallet_seed = True
@ -223,7 +224,12 @@ class CoinInterface:
return chainparams[self.coin_type()]['name'].capitalize()
def ticker(self):
return chainparams[self.coin_type()]['ticker']
ticker = chainparams[self.coin_type()]['ticker']
if self._network == 'testnet':
ticker = 't' + ticker
elif self._network == 'regtest':
ticker = 'rt' + ticker
return ticker
def min_amount(self):
return chainparams[self.coin_type()][self._network]['min_amount']

View file

@ -14,7 +14,6 @@ class Explorer():
self.coin_type = coin_type
self.base_url = base_url
self.log = self.swapclient.log
self.coin_settings = self.swapclient.coin_clients[self.coin_type]
def readURL(self, url):
self.log.debug('Explorer url: {}'.format(url))

View file

@ -152,10 +152,9 @@ class BTCInterface(CoinInterface):
return lock_value & SEQUENCE_LOCKTIME_MASK
def __init__(self, coin_settings, network, swap_client=None):
super().__init__()
super().__init__(network)
rpc_host = coin_settings.get('rpchost', '127.0.0.1')
self.rpc_callback = make_rpc_func(coin_settings['rpcport'], coin_settings['rpcauth'], host=rpc_host)
self._network = network
self.blocks_confirmed = coin_settings['blocks_confirmed']
self.setConfTarget(coin_settings['conf_target'])
self._sc = swap_client

View file

@ -59,12 +59,11 @@ class XMRInterface(CoinInterface):
return 32
def __init__(self, coin_settings, network, swap_client=None):
super().__init__()
super().__init__(network)
self.rpc_cb = make_xmr_rpc_func(coin_settings['rpcport'], host=coin_settings.get('rpchost', '127.0.0.1'))
self.rpc_cb2 = make_xmr_rpc2_func(coin_settings['rpcport'], host=coin_settings.get('rpchost', '127.0.0.1')) # non-json endpoint
self.rpc_wallet_cb = make_xmr_wallet_rpc_func(coin_settings['walletrpcport'], coin_settings['walletrpcauth'])
self._network = network
self.blocks_confirmed = coin_settings['blocks_confirmed']
self._restore_height = coin_settings.get('restore_height', 0)
self.setFeePriority(coin_settings.get('fee_priority', 0))