1
0

Merge pull request #9927 from SomberNight/202506_gui_swapserver_pubkey

gui: "Choose Swap Provider" screen: show hex pubkey, and longer prefix
This commit is contained in:
ThomasV
2025-06-09 17:53:20 +02:00
committed by GitHub
3 changed files with 8 additions and 4 deletions

View File

@@ -93,12 +93,14 @@ ElDialog {
source: Qt.resolvedUrl('../../icons/network.png') source: Qt.resolvedUrl('../../icons/network.png')
} }
Label { Label {
text: qsTr('Npub') text: qsTr('Pubkey')
color: Material.accentColor color: Material.accentColor
} }
Label { Label {
Layout.fillWidth: true Layout.fillWidth: true
text: model.npub.substring(0,10) // only show the prefix of the pubkey for readability, but
// keep it long enough so that collisions are hard to brute-force:
text: model.server_pubkey.substring(0,32)
wrapMode: Text.Wrap wrapMode: Text.Wrap
} }
Label { Label {

View File

@@ -32,7 +32,8 @@ class QESwapServerNPubListModel(QAbstractListModel):
_logger = get_logger(__name__) _logger = get_logger(__name__)
# define listmodel rolemap # define listmodel rolemap
_ROLE_NAMES= ('npub', 'timestamp', 'percentage_fee', 'mining_fee', 'min_amount', 'max_forward_amount', 'max_reverse_amount') _ROLE_NAMES= ('npub', 'server_pubkey', 'timestamp', 'percentage_fee', 'mining_fee',
'min_amount', 'max_forward_amount', 'max_reverse_amount')
_ROLE_KEYS = range(Qt.ItemDataRole.UserRole, Qt.ItemDataRole.UserRole + len(_ROLE_NAMES)) _ROLE_KEYS = range(Qt.ItemDataRole.UserRole, Qt.ItemDataRole.UserRole + len(_ROLE_NAMES))
_ROLE_MAP = dict(zip(_ROLE_KEYS, [bytearray(x.encode()) for x in _ROLE_NAMES])) _ROLE_MAP = dict(zip(_ROLE_KEYS, [bytearray(x.encode()) for x in _ROLE_NAMES]))
@@ -69,6 +70,7 @@ class QESwapServerNPubListModel(QAbstractListModel):
def offer_to_model(self, x: 'SwapOffer'): def offer_to_model(self, x: 'SwapOffer'):
return { return {
'npub': x.server_npub, 'npub': x.server_npub,
'server_pubkey': x.server_pubkey,
'percentage_fee': x.pairs.percentage, 'percentage_fee': x.pairs.percentage,
'mining_fee': x.pairs.mining_fee, 'mining_fee': x.pairs.mining_fee,
'min_amount': x.pairs.min_amount, 'min_amount': x.pairs.min_amount,

View File

@@ -443,7 +443,7 @@ class SwapServerDialog(WindowModalDialog, QtEventListener):
fee = f"{x.pairs.percentage}% + {x.pairs.mining_fee} sats" fee = f"{x.pairs.percentage}% + {x.pairs.mining_fee} sats"
max_forward = self.window.format_amount(x.pairs.max_forward) + ' ' + self.window.base_unit() max_forward = self.window.format_amount(x.pairs.max_forward) + ' ' + self.window.base_unit()
max_reverse = self.window.format_amount(x.pairs.max_reverse) + ' ' + self.window.base_unit() max_reverse = self.window.format_amount(x.pairs.max_reverse) + ' ' + self.window.base_unit()
item = QTreeWidgetItem([x.server_pubkey[0:10], fee, max_forward, max_reverse, last_seen]) item = QTreeWidgetItem([x.server_pubkey, fee, max_forward, max_reverse, last_seen])
item.setData(0, ROLE_NPUB, x.server_npub) item.setData(0, ROLE_NPUB, x.server_npub)
items.append(item) items.append(item)
self.servers_list.insertTopLevelItems(0, items) self.servers_list.insertTopLevelItems(0, items)