--- Day changed Wed Nov 14 2018 01:06 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 05:13 < waxwing> hmm, we have a nondeterministic failure in the schedule test again. i said this last week and have completely forgot what i said about it :) 05:16 -!- mode/#joinmarket [+o waxwing] by ChanServ 05:16 -!- waxwing changed the topic of #joinmarket to: Welcome to JoinMarket: Increase Fungibility and Subsidise Your Fees | https://github.com/Joinmarket-Org/joinmarket-clientserver | @joinmarket r/joinmarket | Live View: https://joinmarket.me/ob | Latest release 0.4.1 | Also on ssl 6dvj6v5imhny3anf.onion:6697 #joinmarket 05:16 -!- mode/#joinmarket [-o waxwing] by ChanServ 05:19 < waxwing> belcher, do you have ops on cgan#joinmarket-pit? if so please update to latest version 0.4.1 05:19 < waxwing> i don't 05:19 < waxwing> in fact i seem to have even lost my nick registration there 05:20 < belcher> yes i do 05:21 < belcher> the topic right now is: 05:21 < belcher> JoinMarket open outcry pit. /r/joinmarket Discussion in #joinmarket | 0 5 LATEST RELEASE v0.2.3. Useful new features. Update ASAP, and do not use pre-0.2.0! https://bitcointalk.org/index.php?topic=919116.msg16714124#msg16714124 05:21 < belcher> does joinmarket-clientserver use the /topic alerts thing anymore? 05:22 < belcher> oh looks like it does 05:22 -!- GitHub192 [GitHub192@gateway/service/github.com/x-caoxgssjkzaowwvu] has joined #joinmarket 05:22 < GitHub192> [joinmarket-clientserver] AdamISZ closed pull request #216: Replace deprecated py.test syntax with pytest. (master...pytest-syntax) https://git.io/fpOMV 05:22 -!- GitHub192 [GitHub192@gateway/service/github.com/x-caoxgssjkzaowwvu] has left #joinmarket [] 05:22 -!- GitHub85 [GitHub85@gateway/service/github.com/x-grtvanvbetsjghuk] has joined #joinmarket 05:22 < GitHub85> [joinmarket-clientserver] AdamISZ pushed 2 new commits to master: https://git.io/fp3IN 05:22 < GitHub85> joinmarket-clientserver/master 089f75c James Hilliard: Replace deprecated py.test syntax with pytest. 05:22 < GitHub85> joinmarket-clientserver/master 1fd9176 AdamISZ: Merge #216: Replace deprecated py.test syntax with pytest.... 05:22 -!- GitHub85 [GitHub85@gateway/service/github.com/x-grtvanvbetsjghuk] has left #joinmarket [] 05:22 < belcher> JM_VERSION = 5 05:23 < belcher> so theres no way to send an alert to old versions without sending an alert to everyone 05:23 < waxwing> belcher, the 5 is the protocol version 05:23 < waxwing> talking about the software version 05:24 < belcher> the software version isnt mentioned in the topic 05:24 < waxwing> it says latest release v0.2.3 and don't use < 0.2.0 05:24 < belcher> ok i see what you mean 05:25 < waxwing> let's say latest 0.4.1 and leave it at that. technically it doesn't matter if people use say 0.3.5 but 0.4.0 has the *potential* of a clearnet leak which is pretty bad. 05:25 < belcher> ok 05:25 < waxwing> oh that's a thought; i should just delete that release now. 05:26 < belcher> old releases can be useful for bug testing 05:26 < belcher> but i guess people can always do git reset 05:26 < waxwing> yeah, for now i'll put a big capital letters warning at the top of it 05:26 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Remote host closed the connection] 05:26 < belcher> iv changed the topic 05:27 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 05:27 < waxwing> cheers 05:27 < belcher> the /topic alerts thing is badly designed in hindsight :p a better way might have been to use digital signatures and look for regular irc messages, so alert-giving is protected by private keys rather than who has op in the channel 05:28 < waxwing> yes that's true 05:29 < waxwing> damn i really should have made it clearer that that bug was only there in 0.4.0 and for about 16 days in master. 05:29 < waxwing> the way i wrote it it sounds like Tor was totally borked all along :) and even for those 16 days it'd only happen if you fiddled with the config 05:34 < belcher> maybe slight exaggeration is good if it makes more people update 05:38 < waxwing> i did clarify to the guy on reddit who, naturally, asked about it. 05:38 < waxwing> also the exact timing of it is implied by the release notes but only if you read in detail. anyway nbd now. 05:42 < waxwing> Lightsword, i wonder if that txtorcon TorSocksEndpoint method was there all along, i have a vague memory of briefly looking at the library 1 year ago and not finding the method i needed to replace the effect of txsocksx 05:42 < waxwing> or, more likely, i just didn't see/understand it right 05:42 < waxwing> also undeath 's question looks interesting, but i might have to educate myself a bit more on this stuff. certainly on this lib anyway. 05:42 < waxwing> i do hope you're right, though, this is a super-easy diff if so. 06:40 < waxwing> lol https://github.com/meejah/txtorcon/blob/8e75f83607cee77dd7e9752d8b7e950e490f2cb9/txtorcon/socks.py#L717-L718 06:42 < belcher> hehe 06:48 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 06:59 < waxwing> Lightsword, looks like the onion+tls connection to cgan is not working, seems like it connects and immediately boots 07:13 < waxwing> (while the agora, which is a non-tls-using onion connection, works) 07:44 < waxwing> i think it might be to do with this: in the existing version, we pass a ClientContextFactory() to the TLSWrapEndpoint (using txsocksx) 07:44 < waxwing> and that passes that particular context object to the TLSMemoryBIOFactory 07:45 < waxwing> if you don't specify the context, I think you end up getting one where the TrustRoot is the default platform trust root. 07:45 < waxwing> well, i could expand more on this but it may well be completely wrong so I'll do some more testing :) 07:54 < waxwing> *if* what i'm describing there is relevant (i'm currently doubtful), this commit may be important; what i get from pip is apparently older than this commit: https://github.com/meejah/txtorcon/commit/db0e03fd59305e055f6a234f25ac54ff4bb20420 07:57 < waxwing> ah, doh, it's not older, mixed up two different computers :) 08:08 < waxwing> cool, seems to have fixed it. i'll try to write up in detail on the PR 08:21 < waxwing> done 09:43 -!- belcher_ [~user@unaffiliated/belcher] has quit [Ping timeout: 240 seconds] 12:06 -!- stoner19 [stoner19@gateway/vpn/privateinternetaccess/stoner19] has quit [Quit: Keep on keepin' on...] 12:30 -!- stoner19 [~stoner19@unaffiliated/stoner19] has joined #joinmarket 13:05 -!- d3spwn [~Jimmy@a83-161-157-200.adsl.xs4all.nl] has quit [Quit: Lost terminal] 13:10 < Lightsword> waxwing, seems to be working now for me 13:16 < waxwing> you mean before or after my edit Lightsword ? 13:17 < Lightsword> after, well I tweaked your edit slightly 13:18 < waxwing> ah ok. well it's good to get another independent check of the behaviour, cool. i'm still a bit dubious about it though. 13:18 < waxwing> i think i might enable more logging tomorrow to check exactly what's happening. 13:29 < Lightsword> waxwing, btw I’m planning to pull in the https://python-future.org/ library so that I can convert python2 only code to universal python2/3 code 13:48 < waxwing> Lightsword, ah ok. one thing i realised when trawling through this is, all the bitcoin stuff (jmbitcoin) needs quite a lot of work/overhaul. there's various ways it could be reworked. it would probably make sense to largely redo it on a different stack. 13:49 < waxwing> i'd be loth to give up the binding to libsecp and change it to something using an openssl backend though (as i believe python-bitcoinlib still is? was kinda hoping someone else woudl address that at in the last couple of years) we talked about using the coincurve binding to libsecp at one point. 13:51 < Lightsword> waxwing, I think the stack overall can be fairly easially converted to universal python 13:51 < waxwing> ok. sounds good :) 13:52 < Lightsword> using the universal python method I find works best since you can incrementally test things 13:53 < Lightsword> basically you convert one component at a time to universal python style and run full tests against python2 test suite 13:53 < Lightsword> then eventually start testing against both python2 and python3, and after that you can drop python2 support 13:54 < Lightsword> that’s pretty much the only straightforward way I’ve found that larger python projects can be converted 13:56 < Lightsword> waxwing, do you know of any other python2 only external dependencies that need to be removed? 13:58 < waxwing> Lightsword, txsocksx was the only one i encountered, i *think*. 13:59 < waxwing> i know undeath paid attention to python3 in his new wallet stuff, so there's that. 14:01 < Lightsword> waxwing, yeah I was making test runs with the python-future code converter and noticed some was partially converted to universal style already, I guess focusing on converting jmbitcoin first might make sense then? 14:03 < waxwing> yes i think so. the jmbase module is (currently) trivial. 14:03 < Lightsword> waxwing, do you have a preference in regards to how I split up the conversions? I generally try and do a round of “safe” conversions first which are generally the ones that require minimal review although they may still have large diffs. 14:03 < waxwing> but that reminds me, an aspect of the code that's rather unfortunate is the use of 'amp', which i chose because it allowed asynchronous 2-way, but it seems way under-used / supported, i wonder if anyone else is using it at all ... 14:04 < waxwing> splitting up into sections sounds good. 14:04 < Lightsword> waxwing, AFAIK twisted(and protocols like AMP) are basically fully functional under python3 so I don’t think that’s a problem 14:07 < Lightsword> waxwing, twisted is a fairly stable library with a good trackrecord in regards to not making breaking changes and AMP is one of the standard protocols there, although adding WAMP(https://wamp-proto.org/) support may be nice for remote application integration 14:10 < Lightsword> waxwing, jmbase is essentially a dependency of the other components right? it’s easiest if I convert following the dependency tree as much as possible so trying to see which order I should do all that in 14:18 < waxwing> Lightsword, jmdaemon and jmclient require jmbase 14:19 < waxwing> jmclient and jmdaemon both require jmbitcoin as currently used (i actually wanted to remove the dependency from jmdaemon but didn't manage) 14:19 < waxwing> it was possible to swap out jmbitcoin with another bitcoin backend as i was doing it for the electrum plugin, but i've abandoned that so now it's like that: jmbitcoin and jmbase are independent base requirements 14:20 < waxwing> and then the other two can exist separately on top 14:20 < waxwing> make sense? 14:21 < waxwing> oh no hang on, i think jmdaemon can exist separately. see setupall.py that shows the different installation options. 14:21 < waxwing> ah yeah i remember now, did a little dance to make sure jmdaemon was completely isolated from jmbitcoin. that was kind of a key architectural goal. 14:23 < waxwing> also please ignore jmclient/btc.py ; that was part of the setup for the electrum plugin, as i say, i've abandoned it. i'll probably push a commit to delete it. 14:32 < Lightsword> waxwing, what’s the reason for removing the electrum plugin? it seems like it could be useful as a way for running multiple joinmarket instances from a single server(since otherwise you have to rescan when adding wallets right?) 14:35 < Lightsword> waxwing, what’s the correct way for running a subset of the tests btw? so that I can try and test small areas under python3 after doing their conversions 15:06 -!- GitHub91 [GitHub91@gateway/service/github.com/x-rofgwnoylbbypeqv] has joined #joinmarket 15:06 < GitHub91> [joinmarket-clientserver] jameshilliard opened pull request #217: Add miniircd.tar.gz to gitignore. (master...gitignore-miniircd) https://git.io/fp3jF 15:06 -!- GitHub91 [GitHub91@gateway/service/github.com/x-rofgwnoylbbypeqv] has left #joinmarket [] 15:34 < waxwing> Lightsword, just run it with that test file as an argument ... pytest (stuff) test/ygrunner.py for example 15:34 < waxwing> you can also use -k to specify a test function name. and -s to show output on stdout 15:35 < waxwing> re: electrum plugin, kind of a long story, wanted to make it easy to use but that wasn't very possible, plus although a lot of people expressed interest, didn't get much testing. and i guess other stuff. 15:53 < Lightsword> waxwing, I’m going to do a first round which will span packages to convert the import styles to universal, since that’s causing lots of breakage when I try and run any tests on python3 16:40 -!- belcher_ [~user@unaffiliated/belcher] has joined #joinmarket 17:04 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Read error: Connection reset by peer] 17:08 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 17:19 -!- AgoraRelay [~jmrelayfn@p5DE4AAA5.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 17:31 -!- AgoraRelay [~jmrelayfn@p5DE4A2CC.dip0.t-ipconnect.de] has joined #joinmarket 17:45 -!- instagibbs [~instagibb@pool-100-15-135-248.washdc.fios.verizon.net] has quit [Ping timeout: 244 seconds] 18:04 -!- belcher_ [~user@unaffiliated/belcher] has quit [Ping timeout: 240 seconds] 18:22 -!- instagibbs [~instagibb@pool-100-15-135-248.washdc.fios.verizon.net] has joined #joinmarket 18:42 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Ping timeout: 268 seconds] 20:22 -!- instagibbs [~instagibb@pool-100-15-135-248.washdc.fios.verizon.net] has quit [Ping timeout: 245 seconds] 20:31 -!- instagibbs [~instagibb@pool-100-15-135-248.washdc.fios.verizon.net] has joined #joinmarket 21:55 -!- d3spwn [~Jimmy@a83-161-157-200.adsl.xs4all.nl] has joined #joinmarket 21:59 -!- takinbo [sid19838@gateway/web/irccloud.com/x-snnfdfgetuueqddr] has quit [Ping timeout: 250 seconds] 22:00 -!- takinbo [sid19838@gateway/web/irccloud.com/x-sxwvmjzjbwbrpiva] has joined #joinmarket 22:36 -!- belcher_ [~user@unaffiliated/belcher] has joined #joinmarket 23:32 -!- x_decimal [~decimal@41.190.14.130] has joined #joinmarket 23:46 -!- x_decimal [~decimal@41.190.14.130] has quit [Quit: Leaving]