--- Day changed Fri Sep 28 2018 01:08 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 03:04 -!- maxxam [~maxxam@infra.isplevel.pro] has joined #joinmarket 03:05 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.2] 03:05 < maxxam> I have a bit of a problem 03:06 < maxxam> it looks like doing `python wallet-tool.py -m 5 wallet.jmdat changemixdepth` corrupted the wallet 03:06 < maxxam> now both wallet-tool.py and tumbler.py produce the errors 03:06 < maxxam> assert self.max_mixdepth >= 0 03:06 < maxxam> AssertionError 03:07 < maxxam> (from joinmarket-clientserver/jmvenv/local/lib/python2.7/site-packages/jmclient/wallet.py", line 223, in __init__ ) 03:07 < maxxam> the reason I ran `changemixdepth` is a tumble failed midway through, so I ran `tumbler.py -m 1` 03:08 < maxxam> this produced the message 03:08 < maxxam> Your wallet does not contain the required number of mixdepths: 5 03:08 < maxxam> Increase using this command: `python wallet-tool.py -m 5 (yourwalletname) changemixdepth 03:08 < maxxam> any ideas? or do I get to import the wallet seed into a regular wallet, and sweep the balances into a new one? 03:34 < waxwing> maxxam, ok so the first part makes sense 03:34 < waxwing> if you run with -m 1 and everything else default, it can complain of insufficient mixdepths. but then you ran changemixdepth and after that it always fails the assertion? 03:34 < maxxam> Correct 03:35 < waxwing> ok will take a look 03:35 < waxwing> maxxam, i guess i don't need to ask, but you are on master right 03:36 < waxwing> 897837299f2f6ee0cfc30632f4653a4e4f84e3cd 03:36 < maxxam> I installed with `git clone https://github.com/JoinMarket-Org/joinmarket-clientserver.git` … and did nothing else 03:37 < maxxam> $ git branch 03:37 < maxxam> * master 03:37 < waxwing> yeah but that depends when :) you can run `git log` you should see the top line is that ^ commit hash (it will be) 03:37 < maxxam> $ git log 03:37 < maxxam> commit 897837299f2f6ee0cfc30632f4653a4e4f84e3cd 03:39 < maxxam> (while I’m here, I want to point out that running joinmarket on my macos laptop via electrum-server failed entirely — could not do any coinjoins — and running it on an ubuntu server via electrum-server also failed, so I had to set up a bitcoin core fullnode to get it to do even a single coinjoin.) 03:41 < waxwing> you can't run the yield generator with electrum-server; that's strongly kind of warned somewhere in the readme. 03:42 < maxxam> I haven’t tried doing any yield generation at all, just taker transactions 03:42 < waxwing> ok, thanks, it doesn't surprise me. there are two issues: (1) it's a lot of work to get that really functional, and nobody else is interested in doing it (2) almost everybody tells me i shouldn't even provide that service, they even get quite annoyed at me, and they're far from wrong. 03:43 < maxxam> what service? 03:43 < waxwing> so i worked on it because i felt it's useful as an emergency backup, but i'm not inclined to keep working on it 03:43 < maxxam> electrum-server? 03:43 < waxwing> the service of having code that allows you to run joinmarket with electrum server backends, yeah 03:43 < maxxam> aha 03:44 < waxwing> it's really terrible for privacy. i personally think it's a nice thing to have it, but it requires work. i also think that people should work on other solutions. 03:44 < waxwing> a shame you couldn't even get one transaction to work, but you should be clear: are you talking about the flakiness of connecting to electrum, or having transactions being blocked by counterparties? 03:45 < waxwing> i haven't even tried to do txs with it for many months; i have used it to run ob-watcher though (no privacy issue there) 03:45 < waxwing> anyway, i will look at this bug, that's a separate issue. 03:46 < waxwing> maxxam, what arguments do you pass to wallet-tool? just want to make sure i'm looking in the right place. 03:46 < maxxam> so while those people are technically correct, for someone who wants to „try this joinmarket thing“ before spending any significant time on it, electrum-server (or blockr or whatever) is basically mandatory (unless you have a full node already)… and anyone sane is going to want it to work „the easy way“ before spending days setting up for maximum anonymity… AND the number of users is probably inversely proportional to the SQUARE of the 03:46 < maxxam> „work needed to get it running“ and the more users you have the greater the anonymity set / etc 03:46 < maxxam> this was probably electrum flakiness 03:47 < waxwing> mainnet i assume, and wallet-tool with Core backend right, and the exact args please? 03:47 < maxxam> it’s been A WHILE since I did that, I had to set up a new server and wait for bitcoind to sync before continuing (guess what most people won’t do?) 03:47 < maxxam> `python wallet-tool.py wallet.jmdat` 03:47 < waxwing> Core? mainnet? 03:48 < maxxam> yes, now 03:48 < waxwing> got it, will look 03:53 < waxwing> maxxam, had you changed the number of mixdepths before doing `python tumbler.py -m 1 wallet.jmdat ...` ? 03:54 < maxxam> yes 03:54 < maxxam> sorry, no 03:54 < maxxam> commands: 03:54 < maxxam> 94 python tumbler.py -m 1 wallet.jmdat x x x 03:54 < maxxam> 95 python wallet-tool.py -m 5 wallet.jmdat changemixdepth 03:54 < maxxam> 96 python tumbler.py -m 1 wallet.jmdat x x x 03:55 < waxwing> yes, thanks. i'm just trying to reproduce the initial error message, (you need to use changemixdepth, etc.) by using -m 1 or -m 2 and finding that i can't, which surprised me. but no worries, thanks for info. 03:59 < waxwing> sorry, yes i can, was on wrong commit 04:02 < waxwing> maxxam, ok so there's a weird mixture here 04:02 < waxwing> 1, there's a trivial bug, which is that it should have told you to do '6' for changemixdepth not '5' 04:02 < waxwing> 2, however, with that change (or actually without it) i can't reproduce the second part of your situation 04:03 < waxwing> i.e., i do: `python tumbler.py -m 1 walletname...` and i get the 'change mixdepth instruction' (but with the error as caveated above, which i will fix) 04:03 < waxwing> but then, when i run `python wallet-tool.py walletname` i don't get the assertion error, and nor with tumbler. 04:04 < waxwing> that assertion error is *very* weird, because if you look at the line above it, it asserts that self.max_mixdepth is not None, so it's not un-set, but it's also not an integer >=0 ?! how can it have been set to a non-integer or negative value? 04:04 -!- maxxam [~maxxam@infra.isplevel.pro] has quit [Ping timeout: 244 seconds] 04:04 < waxwing> like i say i'm not seeing that. and yet we're on the same commit .... very confusing situation. 04:07 < waxwing> maxxam, given the above, i'm going to need a stack trace i think, just in case there's something we're overlooking in how the error shows itself. 04:07 < waxwing> because i can't reproduce it. i'll fix the 5->6 right now. 04:07 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 04:07 < waxwing> maxxam, did you just drop out? i can post again if so 04:07 < maxxam> yes I did 04:07 < maxxam> sorry, please do 04:08 < waxwing> i'll PM it to avoid spam 04:10 < maxxam> so by stack trace you mean the full traceback? 04:11 < maxxam> here: https://pastebin.com/BPatmaqL 04:14 < waxwing> yes, thank you, that's clear. so it's not None but it's not >= 0? Thing is I don't think it can be negative, since i tried doing that on the command line and unsurprisingly it's disallowed 04:14 < maxxam> is there a way to dump the unencrypted wallet? that might reveal any corruption 04:15 < waxwing> i don't think the issue's corruption here, although we could do that. we just need to know what the wallet thinks its max_mixdepth value is; truly bizarre 04:15 < waxwing> it'll be easy to recover by hacking away that check and then resetting it to a sensible value. 04:15 < waxwing> for now i want to know what the heck that value is (basically it's storage.data[b'max_mixdepth'] or similar; going from memory 04:15 < maxxam> I would consider a bizarre max_mixdepth to be corruption :) 04:16 < waxwing> sure :) it won't be difficult, just a hassle 04:16 < maxxam> anyway, wallet-tool.py —help doesn’t suggest any way of dumping the thing 04:16 < waxwing> can we put a print("MMD is: ", self.max_mixdepth) before the assert 04:17 < waxwing> oh; you'll need to make any edit in jmvenv/lib/python2.7/site-packages/jmclient/jmclient/wallet.py or similar - unless you installed in dev mode which i'm guessing you didn't 04:17 < waxwing> sorry i missed a 'local' : /home/x/joinmarket-clientserver/jmvenv/local/lib/python2.7/site-packages/jmclient/wallet.py 04:17 < maxxam> whoa, vi doesn’t find the file 04:17 < maxxam> "/home/x/joinmarket-clientserver/jmvenv/local/lib/python2.7/site-packages/jmclient/wallet.py" [New DIRECTORY] 0,0-1 All 04:18 < waxwing> well .. that's a head-scratcher 04:18 < maxxam> right, never mind, forgot I redacted the username 04:18 < waxwing> heh 04:19 < waxwing> best i could come up with was that you'd entered something weird in the command line call with `changemaxmixdepth` but i don't see how it works .. string value? negative value? 04:19 < waxwing> but even if you did, it would still be a flaw in the code, since a user error should not lead to wallet being inaccessible! 04:20 < maxxam> code is now 04:20 < maxxam> assert self.max_mixdepth is not None 04:20 < maxxam> print("MMD is: ", self.max_mixdepth) 04:20 < maxxam> assert self.max_mixdepth >= 0 04:20 < waxwing> yeah that should do it 04:20 < maxxam> and I *definitely* didn’t do that, I sent you the exact commands (copied from the `history` command out) 04:21 < waxwing> yeah i couldn't make it work anyway; actually tried it with quotes and with negative numbers, nope 04:22 < maxxam> $ python wallet-tool.py wallet.jmdat 04:22 < maxxam> Enter wallet decryption passphrase: 04:22 < maxxam> MMD is: -1 04:22 < maxxam> Traceback (most recent call last): 04:22 < maxxam> ... 04:23 < waxwing> thanks 04:26 < waxwing> while i try to cogitate on that, you can comment out that assert line and run `python wallet-tool.py -m 6 walletname changemixdepth` , then after you can remove the comment (#) 04:31 < waxwing> ah! (lunchtime now but want to write this down): with -m default value (0), i think it might set maxmixdepth to -1 (before the fix i just pushed, that is) 04:31 < maxxam> File "/home/muh/joinmarket-clientserver/jmvenv/local/lib/python2.7/site-packages/jmclient/wallet.py", line 1250, in _get_bip32_export_path 04:31 < maxxam> assert 0 <= mixdepth <= self.max_mixdepth 04:31 < maxxam> AssertionError 04:32 < waxwing> umm not exactly (what i just said: i just pushed a fix to an error message, not the code!) 04:32 < maxxam> sorry, this was after commenting out the assert statement on line 223... 04:33 < maxxam> now I’ll also comment out line 1250 04:33 < waxwing> is this on doing the call with `changemixdepth`? 04:33 < maxxam> note this is from running `python wallet-tool.py -m 6 wallet.jmdat changemixdepth` 04:33 < maxxam> yes 04:34 < maxxam> $ python wallet-tool.py -m 6 wallet.jmdat changemixdepth 04:34 < maxxam> Enter wallet decryption passphrase: 04:34 < maxxam> MMD is: -1 04:34 < maxxam> Maximum mixdepth successfully updated. 04:35 < maxxam> hmm... 04:35 < maxxam> $ python wallet-tool.py wallet.jmdat 04:35 < maxxam> Enter wallet decryption passphrase: 04:35 < maxxam> MMD is: -1 04:35 < maxxam> JM wallet 04:35 < maxxam> Total balance: 0.00000000 04:35 < waxwing> ok i would have held off on commenting out that second assert, but hopefully it should be fine (worst can happen is the wallet file gets confused and has to be recreated) 04:35 < maxxam> looks like the MMD was NOT updated 04:36 < waxwing> yeah i'm not sure yet what the consequences are. i have to remember what the reason is we have to do get_path when we're only updating the maxmixdepth parameter. commenting out that second assert may just have led to silent failure of .. something 04:36 < waxwing> and i also still don't know why you had maxmixdepth -1 in the first place, however i'd be willing to bet the idea i had above ^ is connected somehow. 04:38 < maxxam> well, these are the exact commands I used (as previously posted)… https://pastebin.com/JhjL3J0R 04:44 < waxwing> maxxam, so as i said, lunchtime :) not going to solve this immediately. you can just use recover if you need to get the coins immediately, specify a new wallet file name. 04:45 < waxwing> and no, as of now, i don't see how you got -1 for mmd at any step. make sure to put back those asserts. 04:47 < maxxam> I’ll do that, thanks 05:14 -!- maxxam [~maxxam@116.66.197.134] has quit [Quit: maxxam] 05:15 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 05:18 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 05:27 -!- maxxam [~maxxam@116.66.197.134] has quit [Ping timeout: 252 seconds] 05:46 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 05:56 < waxwing> undeath, ping 05:57 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 05:57 < undeath> waxwing: pong 05:57 -!- maxxam [~maxxam@116.66.197.134] has quit [Client Quit] 05:57 < waxwing> ok, i think you weren't here for today's bug report, so i can paste it to you in DM so you get the full context 05:57 < undeath> yep, I wasn't 06:00 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 06:00 -!- maxxam [~maxxam@116.66.197.134] has quit [Client Quit] 06:12 < waxwing> yes as per discussion with undeath (now lunch is over!) indeed we agree: (1) the -m value was somehow zero, which resulted in the -1 setting (2) this can be trivially fixed for now (3) we don't see a way that can logically happen given the commands in the pastebin, so, small mystery there, (4) undeath is planning to alter the maxmixdepth functionality, but may be a while before he gets to it 06:14 < waxwing> to be clear by (2) i mean i'll add a line or two of code to make sure that accidentally setting it to a negative value is disallowed; no more than that. 06:31 < waxwing> done (btw we are still +r right? dare I?) 06:31 -!- mode/#joinmarket [+o waxwing] by ChanServ 06:31 -!- mode/#joinmarket [-r] by waxwing 06:31 -!- mode/#joinmarket [-o waxwing] by ChanServ 06:31 < undeath> leave +r 06:31 < undeath> the spamming got even more intense the past days 06:31 < waxwing> ok. 06:32 -!- mode/#joinmarket [+o waxwing] by ChanServ 06:32 -!- mode/#joinmarket [+r] by waxwing 06:32 -!- mode/#joinmarket [-o waxwing] by ChanServ 06:32 < waxwing> huh so it's long term, i thought kids went back to school in september :) 06:32 < undeath> apparently botnets are too cheap 06:45 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 06:53 < maxxam> waxwing: so, I just generated a new wallet using the recovery phrase from my old wallet 06:53 < maxxam> and something rather interesting appeared, because I didn’t comment out the debugging MMD is line... 06:53 < maxxam> MMD is: 4 06:54 < waxwing> yeah that's to be expected, that number is the default (corresp to 5 mixdepths) 06:54 < maxxam> aha 06:56 < maxxam> other question… the failed tumbler transaction left me with the balance of the wallet split between level 0 and level 1 internal addresses 06:56 < maxxam> is there any way to resume the tumble so it consumes all the available balance on both level 1 and level 0? 06:57 < waxwing> maxxam, if you didn't alter anything in TUMBLE.schedule you can re-run the tumbler with the exact same parameters you started with, using --restart 06:57 < waxwing> there's a tumbler guide in the repo under docs/ 06:58 < maxxam> that’s different from the wiki page guide? 06:58 < waxwing> generally speaking the new design of the code makes it very hard to reach a case where it just stops, but where that does happen, you can restart. 06:59 < waxwing> it's different, the whole redesign of the code added several features to make it more robust, at least in theory. sometimes there are big waits/delays though 06:59 < waxwing> also it can certainly stop if you run out of commitments. 06:59 < maxxam> yeah, in my case it said „client giving up“ or something 06:59 < maxxam> it seemed to think the commitments had been previously spent or not yet confirmed 07:00 < maxxam> I started with 3 inputs, maybe not enough? 07:00 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/tumblerguide.md 07:00 < waxwing> yeah it's a reasonable chance that that caused it to give up. i might have to grep the error messages to see for sure. 07:01 < waxwing> 3 inputs ought to be enough, but it's harder right now due to blocking bots. earlier in the summer i was keen to merge a change which would make the percentage effect of those bots much less, but we got sidetracked and also, somewhat, am still waiting for comments/thoughts on it. 07:01 < maxxam> yeah, looking at that now 07:02 < belcher> i think +r is the reason the relays to cgan and agora dont work anymore 07:02 < maxxam> what is the recommended minimum number of inputs then? is the transaction size an issue? 07:02 < waxwing> see https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/166 (but otoh maybe don't; it opened up cans of worms which will have to be addressed) 07:02 < maxxam> blocking bots? 07:03 < maxxam> (I started with 0.003 BTC spread evenly over 3 inputs, maybe too little?) 07:03 < waxwing> transaction size is not an issue; number of inputs recommended was 3 although more wouldn't hurt much; it is also possible to add external utxos but that's fiddly and shouldn't be necessary) 07:03 < waxwing> ah yes. i forgot that. that's much too low for it to actually work. 07:04 < waxwing> that's one of the more common reasons people find they can't get JM to work actually; i think to do, say, 1 simple coinjoin as a test, you can just about get away with that low of a number. but for tumbler, certainly that won't work. 07:05 < waxwing> belcher, were you here when i kicked one of those bots? 07:05 < belcher> no 07:05 < waxwing> it was sending out a very fast wave of rather unpleasant spam 07:05 < belcher> one of the relay bots? 07:05 < maxxam> ok, so what is a logical minimum size for tumbling? 07:05 < belcher> oh right 07:05 < waxwing> yeah, i forget which one it was though 07:05 < waxwing> was like a month ago maybe. few weeks. 07:05 < belcher> yeah i guess those bots dont really provide a mechanism for moderating except if ops also sit in those channels 07:06 < belcher> btw for future you can +b a nick and not kick it, it has the effect of muting it 07:06 < waxwing> maxxam, i'd say 0.1, maybe 0.05; but be careful to set the parameter for minimum coinjoin size. 07:06 < waxwing> it needs to be at least about 500k imo. 07:06 < waxwing> belcher, i did ask about the right thing to do, but nobody answered 07:07 < waxwing> but thank, i'll remember +b in future 07:07 < belcher> its no big deal really 07:07 < belcher> all this time i thought it was the +r :P 07:07 < maxxam> waxwing: where is the parameter for minimum coinjoin size 07:07 < maxxam> ? 07:07 < belcher> -x i think 07:07 < waxwing> yeah i actually completely forgot i'd done it 07:07 < waxwing> maxxam, sec 07:07 < belcher> its in tumbler.py --help for sure 07:08 < waxwing> it's -s 07:08 < waxwing> yeah true belcher that's the better answer to the Q :) 07:08 < waxwing> but otoh there are quite a lot 07:08 < maxxam> (also, if „that's one of the more common reasons people find they can't get JM to work“, then consider adding it to the documentation… to which I should add, 0.1 BTC is quite a bit for a test transaction) 07:09 < waxwing> yeah tumbler is difficult to test because it takes random fractions of the total 07:09 < maxxam> I see 07:09 < waxwing> so you might think like 0.01 or 0.005 is reasonable, but you'll be doing txs with small fractions of that. put a floor under with -s 07:10 < belcher> when we made those defaults the price of bitcoin was much lower, i wonder if its worth changing the defaults not 07:10 < belcher> now* 07:10 < waxwing> we've already bumped down some defaults 07:11 < maxxam> right, let me call up my friend the bear whale so he can drive the price down… 07:11 < waxwing> maxxam, do a git pull btw, if you haven't, before you try again. we still don't know what caused that. 07:11 < waxwing> and at least with that change, it's impossible for it to happen again. 07:12 < maxxam> so what’s a reasonable size for —mincjamount? 50.000? 10.000? 07:12 < maxxam> err, 50,000 / 10,000 07:12 < Sentineo> seems my wallet.json got corrupt, any way to recover it except for new creation based on seed words? 07:12 < waxwing> it's hard to say, look at the liquidity in the ob 07:12 < waxwing> Sentineo, are you on master 07:12 < Sentineo> yes 07:13 < waxwing> ok there's been a change, in the readme i think, you need to convert to the new wallet file format 07:13 < Sentineo> I tried that, but it did not like it 07:13 < Sentineo> it was reporting the wallet has an error before pulling new master 07:14 < waxwing> i can't find it in the README, undeath didn't we put a note in the README? 07:14 < waxwing> Sentineo, what error? were you running a specific version, or otherwise which commit? 07:14 < waxwing> hmm today is bug reporting today :) 07:15 < Sentineo> there was a disk failure though, so I do not think it might have been a bug on your side. I had to redownload the whole blockchain as everything that was opened at the time the server crashed got corrupted 07:15 < Sentineo> even init :) 07:16 < waxwing> oh. well, i guess just recreate from seed then with `recover` 07:16 < waxwing> but .. if you had to redownload blockchain, you'll need to rescan after recovering. 07:16 < waxwing> all this is assuming your file is actually corrupt, of course 07:16 < waxwing> if you open the wallet.json, does it look normal? (should be json format if old version) 07:16 < Sentineo> will see, have a backup of it 07:16 < Sentineo> hm ok, let me try 07:17 < Sentineo> yeah, it looks json-ish 07:17 < waxwing> alternatively, if it's not corrupt, but you re-downloaded the blockchain then .. i think you need to rescan? oh, hold on, maybe not, if your wallet.dat for bitcoin was OK? 07:17 < Sentineo> it did not report any problems with the wallet.dat file though 07:17 < waxwing> actually i don't know why but that always confuses me .. rescanning writes where? the blockchain files or the wallet.dat? 07:18 < Sentineo> I think the wallet 07:18 < Sentineo> hm I can try a rescan there, we shall see 07:19 < waxwing> maxxam, fwiw i very much doubt a mincjamount less than 100k will work (as in get actual liquidity from bots who will do coinjoins with you), but i could be wrong 07:19 < maxxam> well it says the default is 100k 07:19 < waxwing> well i guess if you try to sync (old version of JM) and it asks you to rescan and you actually rescan, it should work. Or also with new version, for that matter. 07:19 < maxxam> -s MINCJAMOUNT, --mincjamount=MINCJAMOUNT 07:19 < maxxam> minimum coinjoin amount in transaction in satoshi, 07:19 < maxxam> default 100k 07:20 < waxwing> maxxam, yes i may be slightly biased by what i usually do when testing, where the bot fees are somewhat higher, only even slightly accurate info you can get is by looking at the orderbook for the minsizes on offer. 07:20 < belcher> waxwing rescan writes into wallet.dat 07:21 < waxwing> belcher, thanks, right, so if wallet.dat was not corrupted i *guess* you wouldn't need, but proof of pudding is in the eating i guess. 07:21 < belcher> in theory, thats right 07:21 < waxwing> maxxam, e.g. my bot right now uses a minsize nearer to 1M than 100K, but it depends as i say on what fees they use (in a less than obvious way) 07:21 < belcher> wallet.dat also contains the blockchain tip its sync'd up to 07:21 < belcher> so if you load an old one core knows how far behind it is, and it will rescan a little bit 07:22 < Sentineo> so when I try to open the wallet is says it can not, and: If this wallet is in the old json format you need to convert it using the conversion scriptat `scripts/convert_old_wallet.py` 07:22 < maxxam> waxwing: well, http://joinmarket.io/ only shows 20 orders, but I’m pretty sure when I was running it there were more than that 07:22 < waxwing> yeah if you're on master, it will 07:22 < Sentineo> when I run that script it says invalid pass, but the pass is ok for sure 07:22 < waxwing> maxxam, use https://joinmarket.me/ob/ 07:23 < waxwing> or just run ob-watcher.py yourself 07:23 < waxwing> it's under scripts/obwatch/ 07:23 < waxwing> Sentineo, so if you checkout an earlier version (e.g. checkout v0.3.5), can you load it then? 07:23 < Sentineo> let me try 07:24 < Sentineo> nope I can not waxwing 07:25 < Sentineo> at least with 3.5, I will try an older one as well 07:25 < waxwing> shouldn't make any difference. i mean unless it's pre-segwit? 07:25 < waxwing> that's a different algo 07:25 < maxxam> waxwing: thanks. for a join to go thru, is one counterparty (with a minimum order of e.g 0.0005) enough or does it need to find 3 or more counterparties with that minimum order (or smaller) to work? 07:26 < waxwing> maxxam, i wouldn't try. if you're trying to get the coins out, just use -N 0 to send as a normal tx (no coinjoin) 07:26 < waxwing> the few bots that have very small minsizes are either misconfigured or maliciously failing to complete. (mostly) 07:27 < Sentineo> no it is segwit 07:27 < maxxam> waxwing: well, I want to use this eventually, but not until I’ve made it work with a sum too small to care about if it goes poof in a cloud of segfault 07:27 < Sentineo> and it does not work with 3.3 nor 3.4 07:27 < waxwing> Sentineo, ok, so what's the error? 07:27 < waxwing> incorrect password? 07:28 < Sentineo> Exception: Failed to open wallet at 'wallets/wallet.json': not a valid joinmarket wallet. 07:28 < Sentineo> when I try to open it 07:29 < Sentineo> if I try to convert it, than incorrect pass 07:29 < waxwing> maxxam, can't help really; if you want to try less than the offered amounts (the real ones, let's say). amounts in the 10s of 1000s were always between problematic and impossible, system isn't set up for that. 07:30 < maxxam> waxwing: well, then, what is a reasonable minimum for a test? 07:30 < waxwing> Sentineo, "failed to open wallet", hmm that's weird. is that before or after password prompt (i could check, but) 07:30 < Sentineo> before 07:31 < waxwing> maxxam, well i might do a test of a schedule like in the example schedule for testnet, just a couple of joins with maybe 0.005-0.01 and with tx_fees in joinmarket.cfg set at something like 1500 so the fees will be very low (but still OK today) and use -N between 5 and 10 with minimum_makers (in config) left at default of 2. 07:32 < waxwing> Sentineo, can you PM me the output? it does almost sound like file corruption, doesn't it 07:34 < waxwing> maxxam, about schedules you can read https://github.com/JoinMarket-Org/joinmarket-clientserver/tree/master/scripts#sendpaymentpy or, if you prefer, do tumbler, maybe 0.1 and going through 3 mixdepths is fine, you could try with 0.03 maybe and maybe just use 3 mixdepths (-M 3) to keep it smaller. just some possible thoughts. 07:35 < maxxam> waxwing: ok, thanks. so for the tumbler 0.1 is the minimum reasonable? 07:36 < waxwing> well as i said you can try lower. might need some encouragement. and remember --restart 07:37 < maxxam> thanks! I will give it a go tomorrow 07:47 < waxwing> .. and another one falls to the wallets/ path error ( Sentineo 's error was that). this will be changed soon-ish (to ~/.joinmarket) 07:48 < waxwing> did it in coinswapcs like a year ago :) 07:55 < waxwing> sorry it wasn't really that; it was that I'd forgot you needed the full path: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/wallet-upgrade.md 07:55 < waxwing> so a reminder to undeath (lost amid backscroll somewhat), this should have been linked in README 07:55 < waxwing> or maybe it is and i missed it 07:58 -!- maxxam [~maxxam@116.66.197.134] has quit [Quit: maxxam] 08:06 < waxwing> arubi, ping: is it --develop to run the install script in developer mode? 08:07 < waxwing> i'm starting to think we should almost make it default, since users sometimes want to switch versions. debatable i guess. 08:09 < arubi> yea waxwing, `./install.sh --develop` will install in developer mode 08:09 < waxwing> yeah just checked, thanks for confirm 08:10 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 08:10 -!- maxxam [~maxxam@116.66.197.134] has quit [Client Quit] 08:12 < waxwing> arubi, it's a bit of a mess tbh, like here a user had a very weird behaviour with the most recent version, so i advised checking out v0.3.5 to compare, but ofc it doesnt work unless they go back and re-install in developer mode. 08:12 < waxwing> but meh, we already knew this. 08:13 < arubi> hm wait, maybe I'm not following 08:14 < arubi> a user has an issue, wants to test a different version, surely they have to reinstall, even if they were using --develop to beginwith ? 08:15 < waxwing> well they can just do a git checkout of another commit if they want to test, if they're in develop mode, right? 08:17 < arubi> maybe. I guess if all filenames stayed the same, not moved\removed\new files added 08:17 < Sentineo> and develop mode fails btw with this: https://pastebin.com/gdHJu9UA 08:18 < arubi> Sentineo, try with --no-gpg-validation 08:18 < arubi> tbh maybe I'm wrong and develop would work across git pull\checkouts 08:19 < Sentineo> ok, we will see 08:19 < waxwing> arubi, if youre just testing the delta on different JM code it should be fine. there are cases where it might not be i guess. 08:20 < waxwing> well my fault at least in that i didn't notice immediately that changing the version was pointless Sentineo , sorry about that! 08:21 < waxwing> that's the problem with having your own custom development set up. it's fine for getting stuff done quickly but then you forget that other people don't have it ... 08:22 < arubi> well, if --develop is to be the default, it should be enough to change the line "pip install ${develop_build:+-e} . || return 1" to "pip install -e . || return 1" 08:23 < Sentineo> no problem, so it was successful now 08:23 < arubi> well kinda, it would make --develop the only option to install 08:27 < Sentineo> ok it works with old version 08:27 < Sentineo> checkout v0.3.5 and it works fine 08:27 < waxwing> same password works in old version? 08:27 < Sentineo> yes 08:27 < waxwing> and doesn't with convert_old_wallet? and you used full path? 08:28 < waxwing> well i guess you'd have to have got the path right else it wouldn't get that far 08:29 < Sentineo> yeah the path was fine, it read the pass (prompted for it) and said it is incorrect? 08:29 < Sentineo> well it asked :) not said 08:30 < Sentineo> could be that other binaries were perhaps corrupt? 08:30 < Sentineo> I will try a new fresh install not with develop 08:32 < Sentineo> will look at it later, have to go 08:32 < waxwing> i wouldn't do that, won't make a difference 08:32 * Sentineo afk 08:33 < waxwing> the interesting thing in the paste is that the *Exception* is 'wrong password' 08:33 < waxwing> specifically, this line: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/scripts/convert_old_wallet.py#L114 08:34 < waxwing> is printing out: "Error: Wrong password." 08:35 < waxwing> ah, it's from this line: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/scripts/convert_old_wallet.py#L36 08:35 < waxwing> so it's to do with the mnemonic extension i believe? 08:40 < belcher> no i think thats the wallet file encryption password 08:40 < belcher> well, the extension is encrypted with the password 08:41 < belcher> so.. yes its to do with the mnemonic extension, looks like its using that to detect whether the wallet password was correct 08:43 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 08:46 < waxwing> yeah could be either line 36 or 38. anyway for Sentineo the only sensible thing to do right now is just recover into the new version. 08:47 < waxwing> belcher, might it be a case of where we've inadvertently made it so that wallets created before that change will not be loadable in the new version? ping undeath also. 08:50 < waxwing> hmm no that doesn't really sound right at all, does it. well, one way or another, something interesting is going on, since the wallet loads correctly in 0.3.5 and does not convert. 09:11 < waxwing> i can do bold text here? oh. 09:15 -!- maxxam [~maxxam@116.66.197.134] has quit [Ping timeout: 252 seconds] 09:32 < belcher> looks bold to me 09:32 < belcher> theres some rfc defining how you do bold and italics in iirc somewhere 10:00 < undeath> I haven't tried converting a wallet with mnemonic extension, there might be a bug 10:00 < undeath> and no, the upgrade guide is not linked in readme. I assumed it will be linked in the upgrade notes eventually 10:02 < waxwing> undeath, yeah about readme, that's right, i remember now. problem is new version is taking time and quite a lot of people are trying it. oh well. there are more important issues. 10:12 < undeath> waxwing: can you share the exception trace? 10:25 < undeath> that code is literally copied from the original wallet.py https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/v0.3.5/jmclient/jmclient/wallet.py#L284 10:27 < undeath> oh, I see the issue 10:28 < undeath> the original implementation is appending 8 hex-encoded checksum bytes to the binary key 10:28 < undeath> *binary mnemonic extension 12:03 < Sentineo> so it looks like a repairable thing, or a backward incompatibility was intrudoced unintentionaly? 12:04 < waxwing> Sentineo, just a bug really. 12:05 < waxwing> Sentineo, and yes repairable, undeath already made a PR 12:05 < Sentineo> ok I will keep the json file to try out then 12:05 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/194 12:05 < waxwing> yes good thanks 12:07 < Sentineo> hm forgot how I can do a clone of that PR, I used it with bitcoin before with an RPC bug 12:08 < waxwing> "git fetch Upstream pull/1044/head:pr1044-from-someone" <-- duckduckgo reminds me :) (i always forget that one too) 12:08 < waxwing> and then don't forget to checkout that new branch after 12:09 < waxwing> oh also don't forget to make sure you're on latest commit first, i changed it earlier 12:09 < Sentineo> ok 12:14 < Sentineo> ah it works! 12:15 < waxwing> Sentineo, thanks for checking 12:17 < Sentineo> btw what is the reason for the format change, I see this is binary now 12:21 < Sentineo> waxwing: btw I saw the same error message when calling wallet-tool.py. I mean it is calling the conversion script and that one fails. Is it the behavior you want, or the conversion should have been successfull? I caleld the script manually to the full parth. 12:22 < waxwing> Sentineo, the wallet-tool script doesn't call the conversion script. you probably thought so because of the way the error message came out. 12:22 < waxwing> it just errors and then tells you to run the conversion script 12:22 < Sentineo> ah ok 12:22 < Sentineo> yes, the error looks like that specific call fails 12:22 < waxwing> yeah it's an accident of formatting in traceback 12:24 < Sentineo> ok, got me confused. Not using python, so bad at reading traces of it :) I see javascript traces all day :) 12:37 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Ping timeout: 252 seconds] 12:41 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 13:15 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Quit: https://www.Quanto.ga/] 13:42 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 13:51 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Remote host closed the connection] 13:51 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 14:41 -!- belcher_ [~user@unaffiliated/belcher] has quit [Disconnected by services] 14:41 -!- belcher_ [~belcher@unaffiliated/belcher] has joined #joinmarket 14:41 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 14:43 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 268 seconds] 15:53 -!- belcher_ [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 16:02 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.2] 21:08 -!- maxxam [~maxxam@116.66.197.134] has joined #joinmarket 21:35 -!- maxxam [~maxxam@116.66.197.134] has quit [Ping timeout: 245 seconds] 21:45 -!- Cory [~Cory@unaffiliated/cory] has quit [Ping timeout: 246 seconds] 22:52 -!- Cory [~Cory@unaffiliated/cory] has joined #joinmarket