JoinMarket-Org / joinmarket-clientserver

Bitcoin CoinJoin implementation with incentive structure to convince people to take part
GNU General Public License v3.0
699 stars 173 forks source link

"Maker refuses to continue on receipt of tx" — "not a good tx, reason=wrong change" #1709

Closed whitslack closed 1 week ago

whitslack commented 1 month ago

Saw this CoinJoin failure in my yield-generator log:

[MainThread  ] [INFO ]  not a good tx, reason=wrong change, i expect …
[MainThread  ] [INFO ]  Maker refuses to continue on receipt of tx

When I look at the transaction details that were logged just before the lines above and I find my change output, I see that my actual change amount was slightly greater than the amount I expected. Apparently I refused extra money.

Looking at the source, the maker refuses to participate if the actual change amount is not exactly equal to the expected change amount. Is that strictness necessary for safety? Couldn't it allow an actual amount that is greater than the expected amount?

https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/f4c2b1b86857762e1ca2fa6442bceb347523efda/src/jmclient/maker.py#L237-L239

kristapsk commented 1 month ago

This makes sense, maker should accept more money if taker offers it.

whitslack commented 1 month ago

@kristapsk: Do you want me to submit a pull request for this change, or is someone already working on it?

kristapsk commented 1 month ago

@kristapsk: Do you want me to submit a pull request for this change, or is someone already working on it?

Feel free to do it, don't think anybody is working on it.