--- Day changed Mon Nov 19 2018 01:10 < waxwing> belcher, i was just watching a couple of transactions i did from taker side, saw the 'already spent or blah blah' and then saw it hang. the debug level msgs are enough to see what's happening 01:11 < waxwing> yeah it's pretty bad, not a security issue but a potential DOS (i should probably have ninja-committed but meh), in practice up to now it probably just meant the occasional unnecessary failure 03:31 -!- viasil [~viasil@185.212.171.210] has quit [Ping timeout: 272 seconds] 03:32 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 03:37 -!- viasil [~viasil@185.212.171.210] has quit [Read error: Connection reset by peer] 03:42 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 03:48 -!- viasil [~viasil@185.212.171.210] has quit [Ping timeout: 268 seconds] 04:23 < waxwing> i'm probably just going to merge that directly, because i have tested it and i doubt anyone else will, plus it's very clear-cut. 04:25 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 04:26 -!- viasil [~viasil@185.212.171.210] has quit [Read error: Connection reset by peer] 04:28 < waxwing> Lightsword, \o/ re: coincurve. Although I should actually spend some time looking at it before getting too excited :) 04:30 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 04:59 < belcher> sounds good 05:10 -!- viasil [~viasil@185.212.171.210] has quit [Remote host closed the connection] 05:11 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 05:21 -!- viasil [~viasil@185.212.171.210] has quit [Remote host closed the connection] 05:46 -!- GitHub131 [GitHub131@gateway/service/github.com/x-xeqzqdhzsuodexjh] has joined #joinmarket 05:46 < GitHub131> [joinmarket-clientserver] AdamISZ pushed 2 new commits to master: https://git.io/fpCzY 05:46 < GitHub131> joinmarket-clientserver/master 8059532 Kristaps Kaupe: Better formatting for four digit tx index in wallet history output 05:46 < GitHub131> joinmarket-clientserver/master 529b315 AdamISZ: Merge #222: Better formatting for four digit tx index in wallet history output... 05:46 -!- GitHub131 [GitHub131@gateway/service/github.com/x-xeqzqdhzsuodexjh] has left #joinmarket [] 05:46 -!- GitHub44 [GitHub44@gateway/service/github.com/x-czepbwdxgdqxomzl] has joined #joinmarket 05:46 < GitHub44> [joinmarket-clientserver] AdamISZ closed pull request #222: Better formatting for four digit tx index in wallet history output (master...txindex) https://git.io/fpcaT 05:46 -!- GitHub44 [GitHub44@gateway/service/github.com/x-czepbwdxgdqxomzl] has left #joinmarket [] 05:47 -!- GitHub106 [GitHub106@gateway/service/github.com/x-ygmbhdwgokahbwgb] has joined #joinmarket 05:47 < GitHub106> [joinmarket-clientserver] AdamISZ pushed 1 new commit to master: https://git.io/fpCzZ 05:47 < GitHub106> joinmarket-clientserver/master 130150a AdamISZ: Merge #221: Remove utxos from proposed transaction if spent or invalid... 05:47 -!- GitHub106 [GitHub106@gateway/service/github.com/x-ygmbhdwgokahbwgb] has left #joinmarket [] 05:47 -!- GitHub192 [GitHub192@gateway/service/github.com/x-gqhmkxnfycojoeyo] has joined #joinmarket 05:47 < GitHub192> [joinmarket-clientserver] AdamISZ closed pull request #221: Remove utxos from proposed transaction if spent or invalid (master...ignore_spent_utxos) https://git.io/fpc2U 05:47 -!- GitHub192 [GitHub192@gateway/service/github.com/x-gqhmkxnfycojoeyo] has left #joinmarket [] 06:04 -!- viasil [~viasil@185.212.171.210] has joined #joinmarket 06:24 < waxwing> coincurve working out of the box so far on regtest (sendpayment and tumbler tests). and the diff is super-clean, so far i only see like 1 line of code i'm going to have to check more carefully. 06:24 < waxwing> do we know anything about the way it sources the libsecp backend Lightsword ? does it fall back to building at any point or just always grab a binary? 06:25 < waxwing> (i should clarify i'm working on my dev machine, yet to test an install on a fresh env) 06:25 < waxwing> i'm also going to have to test the PoDLE part carefully, because that's the most custom secp usage by far 08:54 < waxwing> Lightsword, did you understand the difference between PublicKey.combine_keys and PublicKey.combine in the coincurve lib? there is a tiny difference but unless i'm blind it's doing nearly the same thing. 08:55 < waxwing> well it's fine, it needn't bother us 09:17 -!- belcher_ [~user@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 09:35 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 09:49 < Lightsword> waxwing, from what understand combine_keys is designed to be used without first initializing a PublicKey() instance(since it’s a classmethod), while combine is designed to be used when updating an existing PublicKey() instance. 09:50 < waxwing> oh! didn't notice the classmethod diff, thanks 09:50 < Lightsword> waxwing, build wise it seems nearly identical to the previous secp256k1-py binding 09:51 < waxwing> ok, good to know 09:52 < Lightsword> waxwing, I’m surpised how easy it was to swap the libraries, I think it took me longer to fix the libgmp install in the tests than to actually do the conversion :P 09:52 < waxwing> yeah iirc libgmp is a bit of a monster, isn't it 09:53 < Lightsword> waxwing, was mostly that I had been looking at the wrong files in regards to where libraries get installed 09:53 < Lightsword> it’s a pretty common dependency but not usually a default 09:54 < waxwing> yeah this was way back, but i remember it was optional with libsecp. presumably still is. 09:57 < Lightsword> waxwing, yeah, that is a difference https://github.com/ofek/coincurve/blob/master/setup.py#L186 https://github.com/ludbb/secp256k1-py/blob/master/setup.py#L197-L201 10:00 < Lightsword> and it looks like the configure.ac for secp256k1 will autodetect the presence of libgmp 10:00 < Lightsword> https://github.com/bitcoin-core/secp256k1/blob/1e6f1f5ad5e7f1e3ef79313ec02023902bf8175c/configure.ac#L282-L306 10:01 < waxwing> yeah i agree with your comment, no need to require really. afaik it just makes it slightly faster. 10:07 < Lightsword> waxwing, https://github.com/ofek/coincurve/pull/32 10:13 -!- belcher_ [~user@unaffiliated/belcher] has joined #joinmarket 10:46 -!- rdymac [uid31665@gateway/web/irccloud.com/x-ubsxzqpzonsqouze] has quit [Quit: Connection closed for inactivity] 11:01 < Lightsword> waxwing, did you run tests with the context changes I made? 11:02 < waxwing> Lightsword, no but i'll do it now 11:04 < waxwing> why do you ask? 11:08 < waxwing> passes the test suite, but i guess we already knew that :) 11:12 < Lightsword> heh, was just wondering if the manual tests you were doing also worked 11:20 < waxwing> right, well i'll just fire off the basic one (the non-blocking tumbler case), it's no effort. 11:32 < waxwing> yeah i see no problems at this point. i'll probably do a couple more arcane tests before trying it live :) 11:33 < waxwing> main one like i said in the PR is, want to test it with the old style bots on the other side. although i doubt there'll be any issues. 11:33 < waxwing> we should also look at any corners of wallet functionality that might not yet be 100% covered by wallet tests. thinking weird stuff like importing keys for example. 11:34 < undeath> that is covered by tests :P 11:34 < waxwing> undeath, cool :) 11:34 < waxwing> undeath, are you an ack yet on 214? 11:34 < undeath> let me re-view 11:35 < waxwing> think it'd make sense to get 214, 219 and 220 through before doing 223. 11:35 < waxwing> i don't really remember the story on 202 and i'm completely putting off 205 for now :) 11:35 < undeath> well, I don't particualarly care about generic socks support 11:35 < undeath> it was merely a comment 11:35 < waxwing> ok. the note i copied though, does it not apply? 11:35 < waxwing> talked about unix-style 11:36 < undeath> it doesn't say anything about whether normal socks proxies are supported 11:36 < waxwing> ok. well if you don't care much, i'll merge it then. 11:36 < waxwing> i've been running it a while 11:36 < undeath> for tor itself there are no issues expected, that's all that matters 11:37 < waxwing> ah i see, yeah that makes sense. so it'd be somebody using a custom setup? 11:37 < undeath> exactly 11:40 -!- GitHub84 [GitHub84@gateway/service/github.com/x-btgaaxsgfuiqjdul] has joined #joinmarket 11:40 < GitHub84> [joinmarket-clientserver] AdamISZ closed pull request #214: Replace unmaintained txsocksx with txtorcon. (master...txtorcon) https://git.io/fpYTo 11:40 -!- GitHub84 [GitHub84@gateway/service/github.com/x-btgaaxsgfuiqjdul] has left #joinmarket [] 11:40 -!- GitHub139 [GitHub139@gateway/service/github.com/x-kvgdrumeiarixada] has joined #joinmarket 11:40 < GitHub139> [joinmarket-clientserver] AdamISZ pushed 3 new commits to master: https://git.io/fpWkI 11:40 < GitHub139> joinmarket-clientserver/master 637911d James Hilliard: Replace unmaintained txsocksx with txtorcon. 11:40 < GitHub139> joinmarket-clientserver/master 2313a8a James Hilliard: Pass ClientContextFactory to TorSocksEndpoint 11:40 < GitHub139> joinmarket-clientserver/master 94de843 AdamISZ: Merge #214: Replace unmaintained txsocksx with txtorcon.... 11:40 -!- GitHub139 [GitHub139@gateway/service/github.com/x-kvgdrumeiarixada] has left #joinmarket [] 11:43 < undeath> #220 looks good to me, too 11:55 -!- arubi_ [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 11:57 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Ping timeout: 256 seconds] 12:03 < undeath> i like that github now mentions force-pushes in PRs 12:03 < Lightsword> heh, yeah 12:04 < undeath> makes it much harder to accidentally miss some change 12:04 < Lightsword> I generally force push for pull requests since it makes rebasing much simpler than doing normal merges and keeps the history cleaner. 12:05 < undeath> absolutely 12:11 < Lightsword> python2 really needs to die…the encoding issues with it can be super annoying to deal with 12:12 < undeath> well, if you only use py2 it's not much of an issue, is it? 12:13 < Lightsword> ehhh, py2 strings are weird and error prone I find 12:13 < Lightsword> it’s mostly that you get weird edge cases 12:14 < undeath> i've only ever used py2 once, which was for my very first python script. Other than that, I early started using py3 and was cursing unported modules. 12:14 < Lightsword> at least nowadays pretty much every major module has been ported 12:14 < undeath> luckily, yeah 12:15 < undeath> took some time though 12:15 < Lightsword> twisted took a while though, it was so much work to port apparently that they originally planned to leave it py2 only 12:16 < undeath> I can imagine. They must have lots of str/bytes issues. 12:17 < Lightsword> twisted was too important to leave behind though so some companies like canonical funded the porting efforts since it was used by a lot of critical infrastructure 12:17 < undeath> if it was closed source they would probably still be using py2 in 10 years :D 12:17 < Lightsword> for new projects I use asyncio generally since the syntax is a little cleaner 12:18 < Lightsword> but twisted still has a number of features that don’t really have equivalents in asyncio 12:18 < undeath> i find asyncio a bit unintuitive at times 12:18 < undeath> it's very easy to use something wrong and end up with a deadlock in the async thread 12:18 < Lightsword> yeah, it has a pretty tough learning curve 12:19 < Lightsword> I pretty much avoid threads entirely when writing async code 12:19 < Lightsword> I think it should be possible to eliminate threads in joinmarket, but would require a bit of refactoring 12:20 < waxwing> Lightsword, don't think i follow? there are no threads now. or do you mean with asyncio? 12:21 < undeath> the daemon backend could probably do with a bit of refactoring anyway, thinking eg of the issue with connecting to multiple irc servers with one of them being unreachable 12:22 < Lightsword> waxwing, I see threads used here https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/aeb45412317be8ba5082db47164a9666dec9c2fb/jmdaemon/jmdaemon/message_channel.py#L5 12:22 < waxwing> yeah that's something that should have been fixed for a while, i think i mainly avoided it because it's kind of annoying having to decide when to time out trying. 12:23 < Lightsword> when using twisted I generally like to use https://twistedmatrix.com/documents/current/api/twisted.internet.defer.inlineCallbacks.html it’s roughly the same as await in python3 asyncio 12:23 < waxwing> i think the residual uses could be removed. you'll see there's only one thread in use now. it didn't use to be for a while. 12:23 < undeath> btw, what py3 version are we targetting for the porting? 12:23 < undeath> 3.6 seems ok to me 12:24 < Lightsword> probably 3.5 12:24 < Lightsword> since I think it’s default on ubuntu 16.04 still 12:25 < undeath> those old lts versions :/ 12:25 < Lightsword> mostly depends on if there’s any features we need from 3.6 12:25 < Lightsword> since we’re coming from python2 it shouldn’t be hard to support 3.5 12:25 < waxwing> actually twisted.amp puked with threading. it took me a long while to figure out that that was the cause. 12:26 < Lightsword> waxwing, yeah threads and python don’t mix well IMO 12:26 < undeath> there's probably a twisted way of doing threading 12:26 < undeath> well, threads and python are alright if you know what you're doing 12:26 < Lightsword> modern twisted code generally avoids threading by using inlineCallbacks I find 12:27 < waxwing> the original impl. was all threading, i dunno, it worked fine really, but for sure an async approach is probably the right one for something like this. 12:27 < undeath> you just need to keep the GIL in mind 12:27 < waxwing> again, i'm pretty sure there's only one thread here now :) 12:30 < Lightsword> yeah, guess that’s avoided mostly due to multiprocess architecture 12:30 < undeath> twisted is likely using threads under the hood 12:31 < belcher> i thought it used something like select() ? 12:31 < Lightsword> don’t think so(other than a few modules I think), it’s basically an eventloop 12:31 < undeath> oh, I see 12:31 < Lightsword> does #220 look ready to merge? 12:33 < undeath> lgtm 12:41 < Lightsword> waxwing, think you can go ahead and merge that? I’m trying to not have too many separate PR’s and branches since rebasing becomes tricky 12:46 -!- GitHub36 [GitHub36@gateway/service/github.com/x-cslnzrzbvnpnjfzk] has joined #joinmarket 12:46 < GitHub36> [joinmarket-clientserver] AdamISZ closed pull request #220: Python 3 style conversion (master...future) https://git.io/fpcsb 12:46 -!- GitHub36 [GitHub36@gateway/service/github.com/x-cslnzrzbvnpnjfzk] has left #joinmarket [] 12:46 -!- GitHub193 [GitHub193@gateway/service/github.com/x-onqxtnidvhfjlsun] has joined #joinmarket 12:46 < GitHub193> [joinmarket-clientserver] AdamISZ pushed 2 new commits to master: https://git.io/fpWYK 12:46 < GitHub193> joinmarket-clientserver/master c08b69b James Hilliard: Python 3 style conversion 12:46 < GitHub193> joinmarket-clientserver/master fdb0585 AdamISZ: Merge #220: Python 3 style conversion... 12:46 -!- GitHub193 [GitHub193@gateway/service/github.com/x-onqxtnidvhfjlsun] has left #joinmarket [] 12:52 < Lightsword> ok, rebased #223 on top of that now, does that one need a bit more review before merging? 12:54 < undeath> a few days of testing (what waxwing wants to do) won't hurt with that one 12:58 < Lightsword> kk, I should be able to try and do the jmbitcoin port on top of it 14:05 < waxwing> yes pls if anyone could test the PR that would be hugely appreciated (223). no reason to rush that. --- Log closed Mon Nov 19 14:38:05 2018 --- Log opened Mon Nov 19 14:38:17 2018 14:38 -!- kanzure_ [~kanzure@unaffiliated/kanzure] has joined #joinmarket 14:38 -!- Irssi: #joinmarket: Total of 46 nicks [1 ops, 0 halfops, 0 voices, 45 normal] 14:39 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has quit [Ping timeout: 268 seconds] 14:39 -!- viasil [~viasil@185.212.171.210] has quit [Ping timeout: 268 seconds] 14:39 -!- kanzure [~kanzure@unaffiliated/kanzure] has quit [Ping timeout: 268 seconds] 14:39 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Ping timeout: 268 seconds] 14:39 -!- bitbee [~bitbee@unaffiliated/cryptocat] has quit [Ping timeout: 268 seconds] 14:40 -!- bitbee [~bitbee@unaffiliated/cryptocat] has joined #joinmarket 14:41 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 14:44 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has joined #joinmarket 14:48 -!- Irssi: Join to #joinmarket was synced in 593 secs 15:51 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 16:14 -!- You're now known as kanzure 17:13 -!- AgoraRelay [~jmrelayfn@p5DE4A819.dip0.t-ipconnect.de] has quit [Ping timeout: 244 seconds] 17:26 -!- AgoraRelay [~jmrelayfn@p5DE4AD4F.dip0.t-ipconnect.de] has joined #joinmarket 17:37 -!- arubi_ [~ese168@gateway/tor-sasl/ese168] has quit [Remote host closed the connection] 17:37 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket