bisq/core
Steven Barclay 99165e7bd9
Check receiver address validity when calculating burn shares
Set the burn cap of a candidate to zero if he has an invalid receiver
address, that is, one that bitcoinj cannot parse. This prevents trade
failure when creating the DPT, by making such BM inactive and
distributing their share to the other BM. (Setting the burn cap to zero
is a little more robust than simply filtering out such candidates, as
'BurningManService' handles subsequent share redistribution better than
'(DelayedPayoutTx|BtcFee)ReceiverService'.)

While this case should normally never occur, due to UI validation of the
custom receiver address, there are at least two ways a BM could
invalidate his own receiver address if so inclined:

 1) He could simply bypass the UI validation;
 2) He could manually create a compensation issuance tx with a change
    address type unrecognised by bitcoinj, such as P2TR, as the address
    field is pulled straight from the RPC JSON by each full DAO node.

Thus, it is necessary to check both change and custom addresses.
2024-07-14 18:45:09 +02:00
..
.tx Update translations for v1.9.0 2022-04-28 13:12:59 +02:00
src Check receiver address validity when calculating burn shares 2024-07-14 18:45:09 +02:00
build.gradle core: Switch to 'bisq.javafx' Gradle Plugin 2023-08-04 13:27:55 +02:00
update_translations.sh