Merge pull request #178 from tecnovert/wallets

Wallet blocks and depth spendable
This commit is contained in:
tecnovert 2024-11-29 21:01:54 +00:00 committed by GitHub
commit 744ad7988a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 35 additions and 16 deletions

View file

@ -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

View file

@ -8767,10 +8767,10 @@ 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 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
@ -10285,6 +10283,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

View file

@ -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

View file

@ -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"]

View file

@ -163,6 +163,12 @@
{% endif %}
</td>
</tr>
{% if w.wallet_blocks %}
<tr class="opacity-100 text-gray-500 dark:text-gray-100 hover:bg-coolGray-200 dark:hover:bg-gray-600">
<td class="py-3 px-6 bold">Wallet Blocks:</td>
<td class="py-3 px-6">{{ w.wallet_blocks }}{% if w.known_block_count %} / {{ w.known_block_count }}{% endif %}</td>
</tr>
{% endif %}
<tr class="opacity-100 text-gray-500 dark:text-gray-100 hover:bg-coolGray-200 dark:hover:bg-gray-600">
<td class="py-3 px-6 bold">Synced:</td>
<td class="py-3 px-6">{{ w.synced }}</td>
@ -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;

View file

@ -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)

View file

@ -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: