gui: show heir/willexecutor addresses and decoded OP_RETURN in will detail
WillWidget now renders, for every will transaction in the Will Details window: - each heir's receiving address (or the decoded OP_RETURN payload text when the heir is an OP_RETURN recipient) - the will-executor's payout address Test: test_will_widget_shows_addresses_and_decodes_opreturn in tests/test_import_will_details.py.
This commit is contained in:
@@ -171,6 +171,50 @@ def test_will_widget_explicit_will():
|
||||
assert w2.will is live
|
||||
|
||||
|
||||
# ------------------------------------------------------------------ #
|
||||
# WillWidget shows heir/willexecutor addresses and decodes OP_RETURN
|
||||
# ------------------------------------------------------------------ #
|
||||
|
||||
def test_will_widget_shows_addresses_and_decodes_opreturn():
|
||||
from PyQt6.QtWidgets import QLabel
|
||||
|
||||
from bal.core.will import WillItem
|
||||
from bal.gui.qt.widgets import WillWidget
|
||||
|
||||
op_hex = "68656c6c6f" # "hello" in hex
|
||||
heirs = {
|
||||
"bob": ["bc1qtestaddr", 1_000_000, 1000, 500_000],
|
||||
"msg": [f"OP_RETURN:{op_hex}", 0, 1000, 0],
|
||||
}
|
||||
wi = WillItem(
|
||||
_make_willitem_dict(
|
||||
heirs=heirs,
|
||||
willexecutor={
|
||||
"url": "https://exec.example",
|
||||
"address": "bc1qexecaddr",
|
||||
"base_fee": 200_000,
|
||||
},
|
||||
)
|
||||
)
|
||||
wi._id = "w0"
|
||||
fake_parent = SimpleNamespace(
|
||||
decimal_point=8,
|
||||
base_unit_name="BTC",
|
||||
bal_window=SimpleNamespace(
|
||||
willitems={},
|
||||
bal_plugin=SimpleNamespace(
|
||||
_hide_replaced=False, _hide_invalidated=False
|
||||
),
|
||||
show_transaction=lambda *a, **k: None,
|
||||
),
|
||||
)
|
||||
w = WillWidget(parent=fake_parent, will={"w0": wi})
|
||||
texts = [lbl.text() for lbl in w.findChildren(QLabel)]
|
||||
assert any("bc1qtestaddr" in t for t in texts), texts
|
||||
assert any("OP_RETURN: hello" in t for t in texts), texts
|
||||
assert any("bc1qexecaddr" in t for t in texts), texts
|
||||
|
||||
|
||||
# ------------------------------------------------------------------ #
|
||||
# WillDetailDialog external-will mode
|
||||
# ------------------------------------------------------------------ #
|
||||
|
||||
Reference in New Issue
Block a user