-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mm: bot panics (trying to placeMultiTrade) #3130
Comments
I'm getting what seems like the same error on a vanilla decred v2.0.5 install:
My DCRDEX score keeps suffering because of this... |
Thanks .. may I know what coins you were trading when you hit the panic? .. I would like to reproduce on master first. |
I'm hitting this with DCR-BTC MM bot at the moment, and I also noticed a related log line:
followed by log line (since I added some code to bypass that
So |
Yes I saw your
I have not managed to panic yet on master -- @martonp any ideas on this one? |
This should be fixed by this PR: #3099. It's not part of the releases yet though. |
I've just rebased onto latest master (of https://github.com/decred/dcrdex repo), I can confirm that it does resolve panic but it doesn't really solve my problem of Bot not being able to place DCR-BTC trade, which I think is due to:
and the only way I can even see that "error" is due to me adding the following logging - https://github.com/norwnd/bison-lean/blob/faf1d782ce1e6aa1d8593dfb9e26b2e492c7df9a/client/mm/exchange_adaptor.go#L970-L973
which means:
update 1: when I enable
update 2: and when I've changed so, it seems there was some sort of parameters mismatch passed into btc.fundMultiSplitTx But either way, even though I haven't thought it all the way through, issuing split-transactions just to be able to place trade(s) seems like a huge waste and for some reason it's MM bot-specific requirement since I was able to place DCR-BTC trades manually just fine even before that split-transactions was made. update 3: encountering same "wallet unable to fund order" issue again with MM bot (but can place trades of arbitrary size manually just fine), I guess prices changed since yesterday and outputs of that split-transaction I mentioned above no longer fit some MM bot requirements ? Which means not only split-transactions are wasteful but they don't even work in all cases. |
update 4:
I guess my hunch was correct on this ^ since this work-around seemingly lets MM bot to keep placing DCR-BTC orders (with disabled and I still think MM bot should function to the best of its abilities without |
The dex protocol requires that each trade has proof of funds, and UTXOs cannot be reused between trades. If multi-split is disabled, and your wallet only has one UTXO, then only one placement can be made. The BTC wallet code expects that you have enough funds to place all of the placements in the Your work around is fine as long as you are running only one bot. I have a PR that's still work in progress that will allow you to manually specify the balance of a bot (#3081). You will be able to allocate the entire wallet balance to a bot if you like, which will be the equivalent of your workaround. |
Thanks for clarifying all that,
Isn't it better to have multi-split disabled by default (like with any other dangerous or semi-dangerous settings) ?
That would be my guess, glad to know there is a proper fix coming (I'll revert mine after that) |
I don't think this is a dangerous setting.. without it, the bot will generally not work properly. |
I guess it's subjective thing, for somebody (a user) who doesn't understand how/why this works the way it works (the trade-off between having it on/off) - when he starts MM bot and those split-transactions show up in his wallet (each spending 1$ of his money) for seemingly no reason ... it's not a good introduction to BTC market-making |
MM bot panic (note, I'm running my own fork at https://github.com/norwnd/dcrdex/commits/master - but this is probably relevant for thus upstream repo too):
I think
MultiTrade
func needs to be adjusted like this:there is a related "sanity-check" in MM code after
MultiTrade
is called (but it's always gonna pass withmaster
code version):not sure if all that ^ means there is a deeper underlying issue, but
panic
is certainly not a desired outcome.The text was updated successfully, but these errors were encountered: