From 037851a002fc6bfc09230290e39f8c084f0c27e7 Mon Sep 17 00:00:00 2001 From: tecnovert Date: Fri, 29 Nov 2024 12:30:36 +0200 Subject: [PATCH 1/3] ui: Add wallet_blocks to XMR wallet page. --- .github/workflows/ci.yml | 10 +++++----- basicswap/basicswap.py | 3 +++ basicswap/interface/xmr.py | 1 + basicswap/templates/wallet.html | 10 ++++++++-- basicswap/ui/page_wallet.py | 3 +++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0061673..6be7e1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ concurrency: env: BIN_DIR: /tmp/cached_bin - TEST_RELOAD_PATH: /tmp/test_basicswap1 + TEST_RELOAD_PATH: /tmp/test_basicswap jobs: ci: @@ -46,8 +46,8 @@ jobs: cache-name: cache-cores CACHE_KEY: $(printf $(python bin/basicswap-prepare.py --version --withcoins=bitcoin) | sha256sum | head -c 64) with: - path: "$BIN_DIR" - key: "$CACHE_KEY" + path: $BIN_DIR + key: $CACHE_KEY - if: ${{ steps.cache-yarn.outputs.cache-hit != 'true' }} name: Running basicswap-prepare @@ -57,6 +57,6 @@ jobs: run: | export PYTHONPATH=$(pwd) export TEST_PATH=${TEST_RELOAD_PATH} - mkdir -p ${TEST_RELOAD_PATH}/bin - cp -r $BIN_DIR/* ${TEST_RELOAD_PATH}/bin/ + mkdir -p ${TEST_PATH}/bin + cp -r $BIN_DIR/* ${TEST_PATH}/bin/ pytest tests/basicswap/extended/test_encrypted_xmr_reload.py diff --git a/basicswap/basicswap.py b/basicswap/basicswap.py index d327513..bbfb414 100644 --- a/basicswap/basicswap.py +++ b/basicswap/basicswap.py @@ -10285,6 +10285,9 @@ class BasicSwap(BaseApp): "locked": walletinfo["locked"], } + if "wallet_blocks" in walletinfo: + rv["wallet_blocks"] = walletinfo["wallet_blocks"] + if "immature_balance" in walletinfo: rv["immature"] = ci.format_amount( walletinfo["immature_balance"], conv_int=True diff --git a/basicswap/interface/xmr.py b/basicswap/interface/xmr.py index 1b0dfc5..bf5c21f 100644 --- a/basicswap/interface/xmr.py +++ b/basicswap/interface/xmr.py @@ -292,6 +292,7 @@ class XMRInterface(CoinInterface): rv = {} balance_info = self.rpc_wallet("get_balance") + rv["wallet_blocks"] = self.rpc_wallet("get_height")["height"] rv["balance"] = self.format_amount(balance_info["unlocked_balance"]) rv["unconfirmed_balance"] = self.format_amount( balance_info["balance"] - balance_info["unlocked_balance"] diff --git a/basicswap/templates/wallet.html b/basicswap/templates/wallet.html index aca5281..05943fc 100644 --- a/basicswap/templates/wallet.html +++ b/basicswap/templates/wallet.html @@ -163,6 +163,12 @@ {% endif %} + {% if w.wallet_blocks %} + + Wallet Blocks: + {{ w.wallet_blocks }}{% if w.known_block_count %} / {{ w.known_block_count }}{% endif %} + + {% endif %} Synced: {{ w.synced }} @@ -471,9 +477,9 @@ function copyAndShowMessage(elementId) { const addressElement = document.getElementById(elementId); if (!addressElement) return; const addressText = addressElement.innerText.trim(); - + if (addressText === 'Copied to clipboard') return; - + copyToClipboard(addressText); addressElement.innerText = 'Copied to clipboard'; const originalWidth = addressElement.offsetWidth; diff --git a/basicswap/ui/page_wallet.py b/basicswap/ui/page_wallet.py index e7e1c02..8efca8c 100644 --- a/basicswap/ui/page_wallet.py +++ b/basicswap/ui/page_wallet.py @@ -38,6 +38,9 @@ def format_wallet_data(swap_client, ci, w): "havedata": True, } + if "wallet_blocks" in w: + wf["wallet_blocks"] = w["wallet_blocks"] + if w.get("bootstrapping", False) is True: wf["bootstrapping"] = True if "known_block_count" in w: From 4942f23de62e4738b4783a18a24f83dfb0ae685d Mon Sep 17 00:00:00 2001 From: tecnovert Date: Fri, 29 Nov 2024 12:44:21 +0200 Subject: [PATCH 2/3] Show depth spendable when lock tx B confirming. --- basicswap/basicswap.py | 6 ++---- basicswap/bin/prepare.py | 4 +++- basicswap/ui/page_offers.py | 12 +++++++++--- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/basicswap/basicswap.py b/basicswap/basicswap.py index bbfb414..d52fb75 100644 --- a/basicswap/basicswap.py +++ b/basicswap/basicswap.py @@ -8770,7 +8770,7 @@ class BasicSwap(BaseApp): lock_tx_depth = (chain_height - bid.xmr_b_lock_tx.chain_height) + 1 if lock_tx_depth < ci_to.depth_spendable(): raise TemporaryError( - f"Chain B lock tx depth {lock_tx_depth} < required for spending." + f"Chain B lock tx still confirming {lock_tx_depth} / {ci_to.depth_spendable()}." ) if TxTypes.BCH_MERCY in bid.txns: @@ -8857,9 +8857,7 @@ class BasicSwap(BaseApp): ): delay = self.get_delay_retry_seconds() self.log.info( - "Retrying sending adaptor-sig swap chain B spend tx for bid %s in %d seconds", - bid_id.hex(), - delay, + f"Retrying sending adaptor-sig swap chain B spend tx for bid {bid_id.hex()} in {delay} seconds" ) self.createActionInSession( delay, ActionTypes.REDEEM_XMR_SWAP_LOCK_TX_B, bid_id, cursor diff --git a/basicswap/bin/prepare.py b/basicswap/bin/prepare.py index f1909d9..2cbe01e 100644 --- a/basicswap/bin/prepare.py +++ b/basicswap/bin/prepare.py @@ -1520,7 +1520,9 @@ def printVersion(with_coins): if len(with_coins) < 1: return print("Core versions:") - with_coins_changed: bool = False if len(with_coins) == 1 and "particl" in with_coins else True + with_coins_changed: bool = ( + False if len(with_coins) == 1 and "particl" in with_coins else True + ) for coin, version in known_coins.items(): if with_coins_changed and coin not in with_coins: continue diff --git a/basicswap/ui/page_offers.py b/basicswap/ui/page_offers.py index 3d4620d..f89f4d6 100644 --- a/basicswap/ui/page_offers.py +++ b/basicswap/ui/page_offers.py @@ -163,7 +163,9 @@ def parseOfferFormData(swap_client, form_data, page_data, options={}): if swap_client.debug: page_data["amt_var"] = True if have_data_entry(form_data, "amt_var") else False parsed_data["amt_var"] = page_data["amt_var"] - page_data["rate_var"] = True if have_data_entry(form_data, "rate_var") else False + page_data["rate_var"] = ( + True if have_data_entry(form_data, "rate_var") else False + ) parsed_data["rate_var"] = page_data["rate_var"] else: page_data["amt_var"] = True @@ -634,7 +636,11 @@ def page_offer(self, url_split, post_string): swap_client.editOffer(offer_id, change_data) elif b"newbid" in form_data: show_bid_form = True - elif b"sendbid" in form_data and b"confirm" in form_data and b"formid" in form_data: + elif ( + b"sendbid" in form_data + and b"confirm" in form_data + and b"formid" in form_data + ): try: addr_from = form_data[b"addr_from"][0].decode("utf-8") extend_data["nb_addr_from"] = addr_from @@ -719,7 +725,7 @@ def page_offer(self, url_split, post_string): "active_ind": offer.active_ind, "swap_type": strSwapDesc(offer.swap_type), "reverse": reverse_bid, - "form_id": get_data_entry_or(form_data, "formid", "") if form_data else "" + "form_id": get_data_entry_or(form_data, "formid", "") if form_data else "", } data.update(extend_data) From 56cd6da556f289e53f6e5d3d7227cf26fdf5c13f Mon Sep 17 00:00:00 2001 From: tecnovert Date: Fri, 29 Nov 2024 18:54:09 +0000 Subject: [PATCH 3/3] Update basicswap/basicswap.py Co-authored-by: nahuhh <50635951+nahuhh@users.noreply.github.com> --- basicswap/basicswap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basicswap/basicswap.py b/basicswap/basicswap.py index d52fb75..2367f04 100644 --- a/basicswap/basicswap.py +++ b/basicswap/basicswap.py @@ -8767,7 +8767,7 @@ class BasicSwap(BaseApp): try: chain_height = ci_to.getChainHeight() - lock_tx_depth = (chain_height - bid.xmr_b_lock_tx.chain_height) + 1 + lock_tx_depth = (chain_height - bid.xmr_b_lock_tx.chain_height) if lock_tx_depth < ci_to.depth_spendable(): raise TemporaryError( f"Chain B lock tx still confirming {lock_tx_depth} / {ci_to.depth_spendable()}."