qt tx dialog: add checkbox "Download input data"

If checked, we download prev (parent) txs from the network, asynchronously.
This allows calculating the fee and showing "input addresses".

We could also SPV-verify the tx, to fill in missing tx_mined_status
(block height, blockhash, timestamp, short ids), but this is not done currently.
Note that there is no clean way to do this with electrum protocol 1.4:
`blockchain.transaction.get_merkle(tx_hash, height)` requires knowledge of the block height.

Loosely based on https://github.com/Electron-Cash/Electron-Cash/commit/6112fe0e51e48e9ceaaecf47a014e6f4a7b41703
This commit is contained in:
SomberNight
2023-03-12 00:19:39 +00:00
parent c79074c4d8
commit d83863cc52
5 changed files with 140 additions and 24 deletions
+2
View File
@@ -277,6 +277,7 @@ class TxWalletDetails(NamedTuple):
mempool_depth_bytes: Optional[int]
can_remove: bool # whether user should be allowed to delete tx
is_lightning_funding_tx: bool
is_related_to_wallet: bool
class Abstract_Wallet(ABC, Logger, EventListener):
@@ -862,6 +863,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
mempool_depth_bytes=exp_n,
can_remove=can_remove,
is_lightning_funding_tx=is_lightning_funding_tx,
is_related_to_wallet=is_relevant,
)
def get_tx_parents(self, txid) -> Dict: