[bisq-network/bisq] InsufficientMoneyException: Insufficient money, missing 0.0000001 BTC (#4327)

James Cox notifications at github.com
Wed Jun 24 04:27:58 UTC 2020

I've been attempting to understand this some more:

* Why does this not happen more often?  The two times fee estimation is called, (before and after funding), all the parameters are identical.  If any parameters to fee estimation are changed, the transaction will change (transaction malleability), resulting in the chance of the fee estimation changing.

* Issue only occurs on the first offer after Bisq is started.  Because initially the dummy output address used by fee estimation
coincides with the funding address of the offer.  After funding, the address is marked used and a new dummy address is chosen for the second fee estimation pass.  This causes the scriptsigs to change and possibly become 1 byte longer, which requires a higher fee.  At that point you get the missing funds exception.

* But why only once after a restart?  Well it seems that the dummy address for fee estimation is colliding with the offer funding  address, first time only.  If they were different this problem would never happen.  So an alternate fix to #4266 would be to use a better dummy fee estimation address (maybe a hardcoded one) that has no risk of changing.

## Steps to reproduce the problem consistently:

- open a terminal showing the current bisq log messages, e.g. `tail -f ~/.local/share/Bisq/bisq.log`
- have two UTXOs in your bisq wallet: 0.016 and 0.001 BTC.  If wallet was empty it would use a hard-coded fee estimate instead.
- restart bisq
- create an offer to sell 0.01 BTC, any price e.g. spot, fees paid in BTC, and hit `Next Step`
- check in the log that the output addresses shown in the fee estimate **matches the trade wallet address shown on the funding screen**.  This only happens for the first executed offer.
- check in the log for `Fee estimation resulted in a tx size of 406 bytes`.  If it is 407 or 408 then cancel, go back, try again with a minimally larger amount, e.g. 0.0101 BTC.  (Each time you try with a different amount the fee estimation will change).
- fund the offer exact amount from external wallet
- click the red button `Review offer` and check the log again. `Fee estimation resulted in a tx size of 408 bytes` (or 407).  As long as it is higher than before it will error out upon confirming the offer.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200623/b1b6f306/attachment.html>

More information about the bisq-github mailing list