Swaps in Progress update + various fixes. (#278)

* Swaps in Progress fixes.

* Fixes.

* Edit bid only in debug.

* Set edit button in debug_ui
This commit is contained in:
Gerlof van Ek
2025-03-10 22:06:10 +01:00
committed by GitHub
parent 6f14e24485
commit 7d5f7e0936
5 changed files with 36 additions and 26 deletions

View File

@@ -996,12 +996,16 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
"received", "received",
] ]
all_bids = [] all_bids = []
processed_bid_ids = set()
try: try:
received_bids = swap_client.listBids(filters=filters) received_bids = swap_client.listBids(filters=filters)
sent_bids = swap_client.listBids(sent=True, filters=filters) sent_bids = swap_client.listBids(sent=True, filters=filters)
for bid in received_bids + sent_bids: for bid in received_bids + sent_bids:
try: try:
bid_id_hex = bid[2].hex()
if bid_id_hex in processed_bid_ids:
continue
bid_state = strBidState(bid[5]) bid_state = strBidState(bid[5])
tx_state_a = strTxState(bid[7]) tx_state_a = strTxState(bid[7])
tx_state_b = strTxState(bid[8]) tx_state_b = strTxState(bid[8])
@@ -1011,7 +1015,7 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
if not offer: if not offer:
continue continue
swap_data = { swap_data = {
"bid_id": bid[2].hex(), "bid_id": bid_id_hex,
"offer_id": bid[3].hex(), "offer_id": bid[3].hex(),
"created_at": bid[0], "created_at": bid[0],
"bid_state": bid_state, "bid_state": bid_state,
@@ -1031,6 +1035,7 @@ def js_active(self, url_split, post_string, is_json) -> bytes:
}, },
} }
all_bids.append(swap_data) all_bids.append(swap_data)
processed_bid_ids.add(bid_id_hex)
except Exception: except Exception:
continue continue
except Exception: except Exception:

View File

@@ -575,14 +575,13 @@ const createSwapTableRow = async (swap) => {
</div> </div>
</div> </div>
</td> </td>
<!-- You Send Column -->
<!-- You Receive Column -->
<td class="py-0"> <td class="py-0">
<div class="py-3 px-4 text-left"> <div class="py-3 px-4 text-left">
<div class="items-center monospace"> <div class="items-center monospace">
<div class="pr-2"> <div class="text-sm font-semibold">${toAmount.toFixed(8)}</div>
<div class="text-sm font-semibold">${fromAmount.toFixed(8)}</div> <div class="text-sm text-gray-500 dark:text-gray-400">${toSymbol}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${fromSymbol}</div>
</div>
</div> </div>
</div> </div>
</td> </td>
@@ -593,8 +592,8 @@ const createSwapTableRow = async (swap) => {
<div class="flex items-center justify-center"> <div class="flex items-center justify-center">
<span class="inline-flex mr-3 align-middle items-center justify-center w-18 h-20 rounded"> <span class="inline-flex mr-3 align-middle items-center justify-center w-18 h-20 rounded">
<img class="h-12" <img class="h-12"
src="/static/images/coins/${swap.coin_from.replace(' ', '-')}.png" src="/static/images/coins/${swap.coin_to.replace(' ', '-')}.png"
alt="${swap.coin_from}" alt="${swap.coin_to}"
onerror="this.src='/static/images/coins/default.png'"> onerror="this.src='/static/images/coins/default.png'">
</span> </span>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
@@ -602,20 +601,22 @@ const createSwapTableRow = async (swap) => {
</svg> </svg>
<span class="inline-flex ml-3 align-middle items-center justify-center w-18 h-20 rounded"> <span class="inline-flex ml-3 align-middle items-center justify-center w-18 h-20 rounded">
<img class="h-12" <img class="h-12"
src="/static/images/coins/${swap.coin_to.replace(' ', '-')}.png" src="/static/images/coins/${swap.coin_from.replace(' ', '-')}.png"
alt="${swap.coin_to}" alt="${swap.coin_from}"
onerror="this.src='/static/images/coins/default.png'"> onerror="this.src='/static/images/coins/default.png'">
</span> </span>
</div> </div>
</div> </div>
</td> </td>
<!-- You Receive Column --> <!-- You Send Column -->
<td class="py-0"> <td class="py-0">
<div class="py-3 px-4 text-right"> <div class="py-3 px-4 text-right">
<div class="items-center monospace"> <div class="items-center monospace">
<div class="text-sm font-semibold">${toAmount.toFixed(8)}</div> <div>
<div class="text-sm text-gray-500 dark:text-gray-400">${toSymbol}</div> <div class="text-sm font-semibold">${fromAmount.toFixed(8)}</div>
<div class="text-sm text-gray-500 dark:text-gray-400">${fromSymbol}</div>
</div>
</div> </div>
</div> </div>
</td> </td>

View File

@@ -42,21 +42,21 @@
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Details</span> <span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Details</span>
</div> </div>
</th> </th>
<th class="p-0"> <th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-left"> <div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-left">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">You Send</span>
</div>
</th>
<th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-center">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Swap</span>
</div>
</th>
<th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-right">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">You Receive</span> <span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">You Receive</span>
</div> </div>
</th> </th>
<th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-center">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Swap</span>
</div>
</th>
<th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-right">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">You Send</span>
</div>
</th>
<th class="p-0"> <th class="p-0">
<div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-center"> <div class="py-3 px-4 bg-coolGray-200 dark:bg-gray-600 text-center">
<span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Status</span> <span class="text-sm text-gray-600 dark:text-gray-300 font-semibold">Status</span>

View File

@@ -532,10 +532,12 @@
<button name="show_txns" type="submit" value="Show More Info" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md shadow-button focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Show More Info </button> <button name="show_txns" type="submit" value="Show More Info" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md shadow-button focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Show More Info </button>
</div> </div>
{% endif %} {% endif %}
{% if debug_ui_mode == true %}
<div class="w-full md:w-auto p-1.5"> <div class="w-full md:w-auto p-1.5">
<button name="edit_bid" type="submit" value="Edit Bid" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md shadow-button focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Edit Bid</button> <button name="edit_bid" type="submit" value="Edit Bid" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md shadow-button focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Edit Bid</button>
</div> </div>
{% endif %} {% endif %}
{% endif %}
{% if data.can_abandon == true and not edit_bid %} {% if data.can_abandon == true and not edit_bid %}
<div class="w-full md:w-auto p-1.5"> <div class="w-full md:w-auto p-1.5">
<button name="abandon_bid" type="submit" value="Abandon Bid" onclick="return confirmPopup();" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-white hover:text-red border border-red-500 hover:border-red-500 hover:bg-red-600 bg-red-500 rounded-md shadow-button focus:ring-0 focus:outline-none">Abandon Bid</button> <button name="abandon_bid" type="submit" value="Abandon Bid" onclick="return confirmPopup();" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-white hover:text-red border border-red-500 hover:border-red-500 hover:bg-red-600 bg-red-500 rounded-md shadow-button focus:ring-0 focus:outline-none">Abandon Bid</button>
@@ -569,4 +571,4 @@
</div> </div>
{% include 'footer.html' %} {% include 'footer.html' %}
</body> </body>
</html> </html>

View File

@@ -808,10 +808,12 @@
<button name="show_txns" type="submit" value="Show More Info" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Show More Info </button> <button name="show_txns" type="submit" value="Show More Info" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Show More Info </button>
</div> </div>
{% endif %} {% endif %}
{% if debug_ui_mode == true %}
<div class="w-full md:w-auto p-1.5"> <div class="w-full md:w-auto p-1.5">
<button name="edit_bid" type="submit" value="Edit Bid" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Edit Bid</button> <button name="edit_bid" type="submit" value="Edit Bid" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-coolGray-500 hover:text-coolGray-600 border border-coolGray-200 hover:border-coolGray-300 bg-white rounded-md focus:ring-0 focus:outline-none dark:text-white dark:hover:text-white dark:bg-gray-600 dark:hover:bg-gray-700 dark:border-gray-600 dark:hover:border-gray-600">Edit Bid</button>
</div> </div>
{% endif %} {% endif %}
{% endif %}
{% if data.can_abandon == true %} {% if data.can_abandon == true %}
<div class="w-full md:w-auto p-1.5"> <div class="w-full md:w-auto p-1.5">
<button name="abandon_bid" type="submit" value="Abandon Bid" onclick="return confirmPopup();" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-white hover:text-red border border-red-500 hover:border-red-500 hover:bg-red-600 bg-red-500 rounded-md focus:ring-0 focus:outline-none">Abandon Bid</button> <button name="abandon_bid" type="submit" value="Abandon Bid" onclick="return confirmPopup();" class="flex flex-wrap justify-center w-full px-4 py-2.5 font-medium text-sm text-white hover:text-red border border-red-500 hover:border-red-500 hover:bg-red-600 bg-red-500 rounded-md focus:ring-0 focus:outline-none">Abandon Bid</button>