ui: New offer, when 'Lock Rate' is set rate must update if it's empty.

Remove invalid coins from coin from list.
2024-05-20_merge
tecnovert 3 years ago
parent 001e9976aa
commit 81e9924654
No known key found for this signature in database
GPG Key ID: 8ED6D8750C4E3F93
  1. 19
      basicswap/http_server.py
  2. 2
      basicswap/templates/offer_confirm.html
  3. 4
      basicswap/templates/offer_new_1.html
  4. 2
      basicswap/templates/offer_new_2.html
  5. 2
      basicswap/templates/offers.html

@ -63,6 +63,8 @@ from .ui import (
env = Environment(loader=PackageLoader('basicswap', 'templates'))
env.filters['formatts'] = format_timestamp
invalid_coins_from = (Coins.XMR, Coins.PART_ANON)
def value_or_none(v):
if v == -1 or v == '-1':
@ -78,16 +80,23 @@ def getCoinName(c):
return chainparams[c]['name'].capitalize()
def listAvailableCoins(swap_client, with_variants=True):
def listAvailableCoins(swap_client, with_variants=True, split_from=False):
coins_from = []
coins = []
for k, v in swap_client.coin_clients.items():
if k not in chainparams:
continue
if v['connection_type'] == 'rpc':
coins.append((int(k), getCoinName(k)))
if split_from and k not in invalid_coins_from:
coins_from.append(coins[-1])
if with_variants and k == Coins.PART:
coins.append((int(Coins.PART_ANON), getCoinName(Coins.PART_ANON)))
coins.append((int(Coins.PART_BLIND), getCoinName(Coins.PART_BLIND)))
for v in (Coins.PART_ANON, Coins.PART_BLIND):
coins.append((int(v), getCoinName(v)))
if split_from and v not in invalid_coins_from:
coins_from.append(coins[-1])
if split_from:
return coins_from, coins
return coins
@ -731,11 +740,13 @@ class HttpHandler(BaseHTTPRequestHandler):
else:
template = env.get_template('offer_new_1.html')
coins_from, coins_to = listAvailableCoins(swap_client, split_from=True)
return bytes(template.render(
title=self.server.title,
h2=self.server.title,
messages=messages,
coins=listAvailableCoins(swap_client),
coins_from=coins_from,
coins=coins_to,
addrs=swap_client.listSmsgAddresses('offer_send_from'),
addrs_to=swap_client.listSmsgAddresses('offer_send_to'),
data=page_data,

@ -23,7 +23,7 @@
<tr class="padded_row"><td class="bold">Coin From</td><td>
<select name="coin_from_" disabled><option value="-1">-- Select Coin --</option>
{% for c in coins %}
{% for c in coins_from %}
<option{% if data.coin_from==c[0] %} selected{% endif %} value="{{ c[0] }}">{{ c[1] }}</option>
{% endfor %}
</select>

@ -23,7 +23,7 @@
<tr><td>Coin From</td><td>
<select id="coin_from" name="coin_from" onchange="set_rate('coin_from');"><option value="-1">-- Select Coin --</option>
{% for c in coins %}
{% for c in coins_from %}
<option{% if data.coin_from==c[0] %} selected{% endif %} value="{{ c[0] }}">{{ c[1] }}</option>
{% endfor %}
</select>
@ -102,7 +102,7 @@ function set_rate(value_changed) {
const amt_from = document.getElementById('amt_from').value;
const amt_to = document.getElementById('amt_to').value;
const rate = document.getElementById('rate').value;
const lock_rate = document.getElementById('rate_lock').checked;
const lock_rate = rate == '' ? false : document.getElementById('rate_lock').checked;
if (coin_from == '-1' || coin_to == '-1') {
return;

@ -23,7 +23,7 @@
<tr class="padded_row"><td class="bold">Coin From</td><td>
<select name="coin_from_" disabled><option value="-1">-- Select Coin --</option>
{% for c in coins %}
{% for c in coins_from %}
<option{% if data.coin_from==c[0] %} selected{% endif %} value="{{ c[0] }}">{{ c[1] }}</option>
{% endfor %}
</select>

@ -12,7 +12,7 @@
<table>
<tr><td>Coin From</td><td>
<select name="coin_from"><option value="-1"{% if filters.coin_from==-1 %} selected{% endif %}>-- Any Coin --</option>
{% for c in coins %}
{% for c in coins_from %}
<option value="{{ c[0] }}"{% if filters.coin_from==c[0] %} selected{% endif %}>{{ c[1] }}</option>
{% endfor %}
</select>

Loading…
Cancel
Save