Add initial flexpool tests
Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
parent
14aa8a6d59
commit
9eddc6953c
4 changed files with 137 additions and 17 deletions
|
@ -30,22 +30,20 @@ class Handler:
|
|||
return miner.raw_balance
|
||||
|
||||
def _watch_miner_payments(self, miner, last_transaction=None):
|
||||
if miner.last_transaction and miner.last_transaction.txid != last_transaction:
|
||||
logger.debug('watching miner payments')
|
||||
# send notifications for recent payements only
|
||||
for transaction in miner.transactions[MAX_NOTIFICATIONS_COUNT:]:
|
||||
if not last_transaction or transaction.txid > last_transaction:
|
||||
logger.info(f'new payment {transaction.txid}')
|
||||
if self.notifier:
|
||||
logger.debug('sending payment notification')
|
||||
arguments = {'pool': self.pool_name, 'address': miner.address, 'txid': transaction.txid,
|
||||
'amount': transaction.amount, 'amount_fiat': transaction.amount_fiat,
|
||||
'time': transaction.time, 'duration': transaction.duration}
|
||||
try:
|
||||
self.notifier.notify_payment(**arguments)
|
||||
logger.info('payment notification sent')
|
||||
except Exception as err:
|
||||
logger.error('failed to send notification')
|
||||
logger.exception(err)
|
||||
logger.debug('watching miner payments')
|
||||
if miner.last_transaction and (not last_transaction or miner.last_transaction.txid != last_transaction):
|
||||
# send notifications for last payment only
|
||||
logger.info(f'new payment {miner.last_transaction.txid}')
|
||||
if self.notifier:
|
||||
logger.debug('sending payment notification')
|
||||
arguments = {'pool': self.pool_name, 'address': miner.address, 'txid': miner.last_transaction.txid,
|
||||
'amount': miner.last_transaction.amount, 'amount_fiat': miner.last_transaction.amount_fiat,
|
||||
'time': miner.last_transaction.time, 'duration': miner.last_transaction.duration}
|
||||
try:
|
||||
self.notifier.notify_payment(**arguments)
|
||||
logger.info('payment notification sent')
|
||||
except Exception as err:
|
||||
logger.error('failed to send notification')
|
||||
logger.exception(err)
|
||||
if miner.last_transaction and miner.last_transaction.txid:
|
||||
return miner.last_transaction.txid
|
||||
|
|
|
@ -40,6 +40,7 @@ class Miner:
|
|||
miner = flexpoolapi.miner(address)
|
||||
self.raw_balance = miner.balance()
|
||||
self.balance = convert_weis(self.raw_balance)
|
||||
self.balance_fiat = None
|
||||
if exchange_rate and currency:
|
||||
self.balance_fiat = convert_fiat(amount=self.raw_balance, exchange_rate=exchange_rate, currency=currency)
|
||||
payout_threshold = self.get_payout_threshold(miner)
|
||||
|
|
Reference in a new issue