--- Day changed Fri Jul 20 2018 00:30 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has quit [Ping timeout: 276 seconds] 00:31 -!- rdymac__ [uid31665@gateway/web/irccloud.com/x-sfobaprhzehbphig] has joined #joinmarket 00:32 -!- rdymac [uid31665@gateway/web/irccloud.com/x-mtilfrlowrdzgtki] has quit [Ping timeout: 276 seconds] 00:32 -!- rdymac__ is now known as rdymac 01:59 -!- belcher_ is now known as beIcher 02:38 -!- undeath [~undeath@unaffiliated/undeath] has joined #joinmarket 07:13 < waxwing> spent some time looking at the new PSBT thing that's been merged (BIP174). it'll be something we can add to this project, as and when, basically just a standardized serialization for partially signed transactions. 07:14 < waxwing> because we don't use multisig it seems like the workflow's pretty simple; even, unchanged; taker would be 'creator', makers would be 'signer', then taker would be combiner/finalizer, something like that. 07:14 < waxwing> not even sure it's actually helpful for us to do, except in the obvious sense of standardization. the format isn't really compact, so it doesn't have that advantage. 07:33 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has joined #joinmarket 07:51 < waxwing> undeath, i'm probably just being dumb but re: https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/166/files#diff-be3c70591463c831ee6895e8c7f780ccR219 07:51 < waxwing> oh .. sorry i got it, cancel the question i was going to ask :) 07:51 < undeath> :) 07:51 < undeath> wouldn't dare to assume you are dumb! :) 07:52 < waxwing> to keep me up to date, is there currently a form of behaviour coming out of the PR that doesn't make sense to you? 07:52 < waxwing> (i'm reading through the diff now) 07:52 < undeath> the one thing mentioned by AlexCato 07:53 < undeath> I don't know if that still happens after the last commit, I made a small change in an area that concerns code that would cause the bug 07:53 < undeath> but I can neither see how it could have happened with the initial commit, nor how the behaviour would have changed now 07:56 < undeath> currently that code is (again) in the same state as the master branch 07:56 < undeath> https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/166/commits/4446537509f0c694195c80c986856b231068fb3a#diff-be3c70591463c831ee6895e8c7f780ccR248 07:56 < undeath> this is the relevant code part 07:58 < waxwing> sorry what am i looking at there? the one line highlighted (dict((v[0]...... ? 07:58 < undeath> that, including the for … sorted() loop 07:59 < undeath> the if check was removed in the latest commit but I don't see that actually chaning the behavour 08:01 < undeath> to me the behaviour described by AlexCato seems only possible if the orderbook changed 08:01 < undeath> *offerbook 08:05 < waxwing> ok, i'm at least up to speed with what the claimed erroneous behaviour is. i'll try to check if i can see a way that's possible. 08:05 < AgoraRelay> [agora-irc/AlexCato] busy currently, but will test the changes probably later tonight. Thanks for the quick updates, undeath! 08:05 < waxwing> (you seem to be already convinced it isn't) 08:06 < undeath> thank you, AlexCato :) 08:06 < waxwing> undeath, re: the optionparser changes, thanks for doing the "merge" of the two, i think part of why i was lazy about it is, there is little reason to completely distinguish a sendpayment and tumbler function; sendpayment already supports a multi-join schedule; they should just be folded together. but, meh, it's a lot of work. 08:07 < undeath> they in fact don't seem to have that many options in common 08:08 < waxwing> well fair enough. tumbler has loads of options. 08:08 < waxwing> alexcato, when you found that strange behaviour, did you check the txfee contribution? 08:08 < waxwing> i mean, check whether it changed the ordering of which was cheapest 08:11 < waxwing> also if it's still crashing when you pick 'n', i should address that. time for mainnet testing i guess. 08:12 < waxwing> (i guess what i said above about txfee contrib is irrelevant, otherwise i'm not sure what's going on) 08:17 -!- barfbaby [a2d82ec3@gateway/web/freenode/ip.162.216.46.195] has joined #joinmarket 08:18 < barfbaby> Hello all, I've successfully facilitated a tumble. Now the coins are spread out across multiple internal and external wallets. Do I need to combine those? 08:20 < undeath> you should make sure not to combine coins in different mixdepths, else you're going to render the cjs useless 08:20 < undeath> if you have coins in lower mixdepths than you need you have to cj them again 08:21 < waxwing> if you mean you finished a tumbler run barfbaby , then why are the coins in external/internal addresses in the JM wallet? they should all have gone to the destinations outside the joinmarket wallet that you specified. 08:21 < waxwing> maybe you used "destination address"es that were still inside the joinmarket wallet, is that it? 08:22 < waxwing> alexcato, undeath yes, to confirm, i screwed up the behaviour when the user chooses "no" to "accept these offers?", i'll have to push a fix for that. sorry about that ... 08:22 < AgoraRelay> [agora-irc/AlexCato] @waxwing 08:22 < waxwing> at least it's just ugly (crash message) rather than actually having any functional impact. 08:23 < AgoraRelay> [agora-irc/AlexCato] yes, txfee was negligible in both cases 08:23 < AgoraRelay> [agora-irc/AlexCato] and the cjfee difference was huge (1000 sat vs. 300000 sat). 08:23 < waxwing> it wasn't a sweep? (just to get the data exactly right) 08:24 < AgoraRelay> [agora-irc/AlexCato] it might have been, i've tested with sweeps and non-sweeps 08:25 < AgoraRelay> [agora-irc/AlexCato] if thats important, i'll remember that for tonight's testing 08:25 < undeath> I think with sweeps that might actually happen 08:25 < undeath> it doesn't seem to uniqe maker offers 08:26 < waxwing> sweeps are damn tricky 08:26 < undeath> why do they need different handling than normal cjs? 08:26 < waxwing> i remember way back, there was a case where it would completely fail to find a set if the liquidity in the pit was low. it may still be true. 08:27 < waxwing> i wrote a long explanation of the problem in a joinmarket/ Issue, let me see if i can find it 08:27 < waxwing> https://github.com/JoinMarket-Org/joinmarket/issues/356 08:27 < undeath> thanks 08:28 < waxwing> note "it filters the orders based on minsize (not maxsize, understood: because we don't yet know the cj_amount)" 08:28 < AgoraRelay> [agora-irc/AlexCato] the maker i found the error with is one of those 7.49 btc makers which tons of overlapping offers 08:28 < AgoraRelay> [agora-irc/AlexCato] might only be an issue then anyways 08:28 < waxwing> useful data, thanks 08:29 < undeath> was that changed later on, or is total_input_value not the cj amount for sweeps? 08:29 < waxwing> total input value is not the coinjoin amount, can't be right, must pay cj and btc fees 08:29 < undeath> ah 08:30 < waxwing> sweeps are tricky because you don't know the cj amount until everything's set 08:30 < waxwing> everything being counterparties 08:30 < undeath> I see 08:31 < waxwing> i doubt i'll achieve more than fixing that "choose n" bug above today, but this finding from alexcato is interesting. 08:38 < barfbaby> To clarify, I was facilitating someone else's tumble running a YG 08:38 < barfbaby> I had coins in two wallets at depth 0 and 1 09:09 < barfbaby> I now have coins in 2 internal wallets at depth 0 and 1 external and 1 internal at depth 1 09:27 < waxwing> 2 internal wallets at depth 0? you mean, you have coins in two addresses at depth 0? 09:27 < waxwing> and this is after running the tumbler? they should all have moved out of depth 0 09:52 < waxwing> oh sorry, you're running a yieldgenerator? 09:52 < waxwing> in that case, the coins can be anywhere and everywhere, basically. they will move between the mixdepths in a somewhat random (at least, difficult to predict) manner. 09:53 < waxwing> over time they are likely to spread out over the 5 mixdepths (0..4). when coinjoins happen, they send the output (equal sized coinjoin outputs) to the *internal* branch of the "next" mixdepth, usually. 09:54 < waxwing> (although it can be coded differently, that's the default behaviour, as i recall. 09:54 < waxwing> coins will only be in the "external" branches (of any mixdepth) when you deposit them there yourself. that's the main purpose of the external branch, for deposits. 09:55 < waxwing> barfbaby, ^ 10:08 < barfbaby> So perhaps the coins in the external wallet are coins I sent there and just never moved? The rest of the internal wallets seem normal? 10:13 < waxwing> barfbaby, that should be the case, yes. 10:14 < waxwing> over time you will see more and more coins in "internal" in different branches. 10:14 < waxwing> i mean, different mixdepths. 10:14 < waxwing> you might want to open the config file (joinmarket.cfg) and set the selection algo to "greedy". it keeps the "fragmentation" lower. actually we should make that the default. 10:15 < waxwing> sorry it's called "merge_algorithm" in the file 10:45 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Excess Flood] 10:46 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 10:57 -!- undeath [~undeath@unaffiliated/undeath] has quit [Quit: WeeChat 2.1] 11:10 -!- GitHub92 [GitHub92@gateway/service/github.com/x-hzoutympoofxsvsv] has joined #joinmarket 11:10 < GitHub92> [joinmarket-clientserver] AdamISZ pushed 1 new commit to master: https://git.io/fNCdl 11:10 < GitHub92> joinmarket-clientserver/master f1e3476 AdamISZ: Fix bug: user rejects offers resulted in crash... 11:10 -!- GitHub92 [GitHub92@gateway/service/github.com/x-hzoutympoofxsvsv] has left #joinmarket [] 11:12 -!- grubles [~grubles@unaffiliated/grubles] has quit [Quit: brb] 11:15 < barfbaby> Thanks for the information! 11:17 -!- grubles [~grubles@unaffiliated/grubles] has joined #joinmarket 12:56 -!- undeath [~undeath@unaffiliated/undeath] has joined #joinmarket 12:59 -!- undeath [~undeath@unaffiliated/undeath] has quit [Read error: Connection reset by peer] 13:01 -!- undeath [~undeath@unaffiliated/undeath] has joined #joinmarket 13:16 -!- barfbaby [a2d82ec3@gateway/web/freenode/ip.162.216.46.195] has quit [Ping timeout: 252 seconds] 13:31 -!- M1 [~Michail@michail.com] has quit [Quit: ZNC - http://znc.in] 13:40 -!- M1 [~Michail@michail.com] has joined #joinmarket 14:11 < waxwing> alexcato just popping out, but: sweep specific: see the above references about choosing based on minsize first. if the minsize is different maybe ..? 14:17 < AgoraRelay> [agora-irc/AlexCato] yes, the minsize is different in for the maker in question. Has 5+ orders, all different (but overlapping) offer sizes, differnt minsize each time 14:17 < AgoraRelay> [agora-irc/AlexCato] but the lowest minsize offer is actually a cheaper one than the one which has been selected for the join 14:18 < AgoraRelay> [agora-irc/AlexCato] ah, no. 14:18 < AgoraRelay> [agora-irc/AlexCato] My bad. Lowst minsize offer is the selected one 14:18 < AgoraRelay> [agora-irc/AlexCato] the expensive one 14:18 < AgoraRelay> [agora-irc/AlexCato] maybe whoever wrote that bot found the bug and tried to extract higher CJ fees from it 14:23 < AgoraRelay> [agora-irc/AlexCato] btw, the fix for cancelling the sendpayment works. Crashes no more. 14:26 < AgoraRelay> [agora-irc/AlexCato] ^ waxwing 15:00 -!- viasil [~viasil@134.19.180.167] has quit [Ping timeout: 268 seconds] 15:02 -!- viasil [~viasil@134.19.180.167] has joined #joinmarket 15:18 < waxwing> not sure if i'd call it a bug 15:19 < waxwing> in the context of weighted_order_choose it's a probabilistic advantage, but to fix it requires addressing what i described in #356 15:19 < waxwing> in the context of random under a maximum i'd agree it's a bug 15:23 < undeath> couldn't you at least remove offers by calculating with the total input and picking the cheapest fees offer of each maker? 15:23 < undeath> sure there are still edge cases but in general that should work 15:24 < undeath> and the edge cases will depend on the amount, so it's no easy to exploit 15:34 -!- undeath [~undeath@unaffiliated/undeath] has quit [Quit: WeeChat 2.1] 16:55 -!- StopAndDecrypt [~StopAndDe@unaffiliated/stopanddecrypt] has joined #joinmarket 17:20 -!- AgoraRelay [~jmrelayfn@p5DE4AE6E.dip0.t-ipconnect.de] has quit [Ping timeout: 256 seconds] 17:31 -!- AgoraRelay [~jmrelayfn@p5DE4AF85.dip0.t-ipconnect.de] has joined #joinmarket 19:01 -!- qubenix_ [~qubenix@173.199.80.131] has joined #joinmarket 19:02 -!- qubenix [~qubenix@173.199.80.131] has quit [Ping timeout: 240 seconds] 20:52 -!- qubenix_ is now known as qubenix