mirror of
https://github.com/basicswap/basicswap.git
synced 2025-11-05 18:38:09 +01:00
ui: Display count of locked UTXOs on wallet page.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (c) 2022-2023 tecnovert
|
||||
# Copyright (c) 2022-2024 tecnovert
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
@@ -10,7 +10,9 @@ import time
|
||||
|
||||
from urllib.request import urlopen
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.select import Select
|
||||
from util import get_driver
|
||||
from basicswap.util import dumpje
|
||||
|
||||
|
||||
def test_wallets(driver):
|
||||
@@ -72,6 +74,50 @@ def test_wallets(driver):
|
||||
e = elements[0]
|
||||
assert ('Withdrew 10 rtPART (plain to plain) to address' in e.text)
|
||||
|
||||
print('Locking UTXO')
|
||||
driver.get(base_url + '/rpc')
|
||||
el = driver.find_element(By.NAME, 'coin_type')
|
||||
for option in el.find_elements(By.TAG_NAME, 'option'):
|
||||
if option.text == 'Particl':
|
||||
option.click()
|
||||
break
|
||||
driver.find_element(By.NAME, 'cmd').send_keys('listunspent')
|
||||
driver.find_element(By.NAME, 'apply').click()
|
||||
time.sleep(1)
|
||||
|
||||
text_value = driver.find_element(By.NAME, 'result').text
|
||||
utxos = json.loads(text_value.split('\n', 1)[1])
|
||||
|
||||
lock_utxos = [{'txid': utxos[0]['txid'], 'vout': utxos[0]['vout']}]
|
||||
driver.find_element(By.NAME, 'cmd').send_keys('lockunspent false "{}"'.format(dumpje(lock_utxos)))
|
||||
driver.find_element(By.NAME, 'apply').click()
|
||||
|
||||
print('Check for locked UTXO count')
|
||||
driver.get(base_url + '/wallet/PART')
|
||||
found = False
|
||||
for i in range(5):
|
||||
try:
|
||||
el = driver.find_element(By.ID, 'locked_utxos')
|
||||
found = True
|
||||
break
|
||||
except Exception:
|
||||
continue
|
||||
driver.find_element(By.ID, 'refresh').click()
|
||||
time.sleep(2)
|
||||
found = True
|
||||
assert (found)
|
||||
driver.refresh()
|
||||
|
||||
print('Unlocking UTXO')
|
||||
driver.get(base_url + '/rpc')
|
||||
el = driver.find_element(By.NAME, 'coin_type')
|
||||
for option in el.find_elements(By.TAG_NAME, 'option'):
|
||||
if option.text == 'Particl':
|
||||
option.click()
|
||||
break
|
||||
driver.find_element(By.NAME, 'cmd').send_keys('lockunspent true "{}"'.format(dumpje(lock_utxos)))
|
||||
driver.find_element(By.NAME, 'apply').click()
|
||||
|
||||
print('Test Passed!')
|
||||
|
||||
|
||||
|
||||
@@ -182,6 +182,9 @@ class Test(BaseTest):
|
||||
sx_addr = read_json_api(1800, 'wallets/part/newstealthaddress')
|
||||
assert (callnoderpc(0, 'getaddressinfo', [sx_addr, ])['isstealthaddress'] is True)
|
||||
|
||||
rv = read_json_api(1800, 'wallets/part')
|
||||
assert ('locked_utxos' in rv)
|
||||
|
||||
def test_004_validateSwapType(self):
|
||||
logging.info('---------- Test validateSwapType')
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (c) 2020-2023 tecnovert
|
||||
# Copyright (c) 2020-2024 tecnovert
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
@@ -107,6 +107,7 @@ XMR_BASE_RPC_PORT = 21792
|
||||
XMR_BASE_ZMQ_PORT = 22792
|
||||
XMR_BASE_WALLET_RPC_PORT = 23792
|
||||
|
||||
signal_event = threading.Event() # Set if test was cancelled
|
||||
test_delay_event = threading.Event()
|
||||
RESET_TEST = make_boolean(os.getenv('RESET_TEST', 'true'))
|
||||
|
||||
@@ -255,6 +256,7 @@ def ltcCli(cmd, node_id=0):
|
||||
|
||||
def signal_handler(sig, frame):
|
||||
logging.info('signal {} detected.'.format(sig))
|
||||
signal_event.set()
|
||||
test_delay_event.set()
|
||||
|
||||
|
||||
@@ -336,6 +338,8 @@ class BaseTest(unittest.TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
if signal_event.is_set():
|
||||
raise ValueError('Test has been cancelled.')
|
||||
test_delay_event.clear()
|
||||
random.seed(time.time())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user