--- Day changed Sat Dec 01 2018 00:14 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 246 seconds] 00:20 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 01:17 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 250 seconds] 01:19 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 01:35 -!- GitHub36 [GitHub36@gateway/service/github.com/x-clgzwiqpgckkkhsz] has joined #joinmarket 01:35 < GitHub36> [joinmarket-clientserver] AdamISZ closed pull request #244: Fix test of daemon protocol (master...fix-daemon-test) https://git.io/fpoTv 01:35 -!- GitHub36 [GitHub36@gateway/service/github.com/x-clgzwiqpgckkkhsz] has left #joinmarket [] 03:16 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 04:28 < waxwing> Lightsword, i rebased it to latest master. everything still seems to be working on py2. 04:28 < waxwing> the edits are very minor, just two commits, the first one was something about hostid, the second one was just to make sure ping was fast enough to be included in test. 04:29 < waxwing> i don't really remember the first one but i think it was important for some reason to do with having multiple irc servers in the test (which we do) 04:36 -!- belcher [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 05:00 < undeath> waxwing: what exactly does test_commands.py test? Looking at jmbase/commands.py there doesn't seem to be anything much that could be tested 05:15 < waxwing> not sure, i mean the idea was to test that it functions correctly with our intended message types, but i guess that's not worth much; the obvious thing is that it tests whether bigstring (or now bigunicode) is actually functioning as intended with big messages. 05:16 < undeath> yeah, there is not really much to test other than the types, which isn't very useful for most things because it's mainly testing twisted code 05:16 < undeath> bigstring being the only exception 05:19 < undeath> a more useful test would probably be testing the commands + implementation in jmclient/jmdaemon, that will ensure they send/receive the data types that the commands expect 07:21 < waxwing> undeath, you were away yesterday, let me copy it: 07:21 < waxwing> undeath (not here but can always send again), i don't understand the logic of having this in taker_utils: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmclient/jmclient/taker_utils.py#L103-L115 07:21 < waxwing> isn't that code all something the wallet can take care of? and moreover, the maker also needs to do the same stuff, right. 07:24 < undeath> basically it is something the wallet does (see the call to wallet.sign_tx), but the data format has to be changed to what the wallet accepts 07:24 < undeath> ideally the Maker/Taker would be refactored to have the data in the way the wallet needs it 07:24 < undeath> because the way data is saved currently is rather crude 07:25 < undeath> and then the wallet of course doesn't know what inputs the caller intends to sign, hence it needs a list for such inputs 07:26 < undeath> you wouldn't want the wallet to figure this out by itself, because that can easily be exploited 07:27 < undeath> imagine sending a tx with inputs that you know or assume belong to a maker/taker and just have them sign it 07:27 < undeath> that would be quite the fun 07:34 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has quit [Remote host closed the connection] 07:35 < undeath> tl;dr it's mostly a data representation issue; it could be moved to the wallet but ideally it would be removed entirely after some refactoring 07:46 < undeath> waxwing: re raw_input, there is probably something in the futures lib 08:08 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 252 seconds] 08:15 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 10:09 -!- GitHub119 [GitHub119@gateway/service/github.com/x-gfjthindtyynumsc] has joined #joinmarket 10:09 < GitHub119> [joinmarket-clientserver] undeath opened pull request #245: add basic test case for JMMakerClientProtocol (master...test-twisted) https://git.io/fpoMf 10:09 -!- GitHub119 [GitHub119@gateway/service/github.com/x-gfjthindtyynumsc] has left #joinmarket [] 10:54 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 11:44 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has joined #joinmarket 12:41 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 244 seconds] 12:43 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 12:52 -!- so [~so@unaffiliated/so] has quit [Ping timeout: 246 seconds] 12:57 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 272 seconds] 13:14 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 13:20 -!- so [~so@unaffiliated/so] has joined #joinmarket 14:19 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 14:22 < Lightsword> waxwing, pushed fixes just now, I put them in a separate commit so they are easier to review 14:22 < waxwing> Lightsword, thanks 14:23 < waxwing> i hit another one but i'm struggling with it, i'm sure you'll get it quicker 14:23 < Lightsword> what is it? 14:23 < waxwing> 2018-12-01 23:01:35,232 [MainThread ] [INFO ] error : Invalid nacl pubkey: b'88f7a7b26f67791e95f0c327ee189eee3cea2529f60cfae4b0ffd89429b20e27' 14:23 < waxwing> 2018-12-01 23:01:35,233 [MainThread ] [DEBUG] >>privmsg on localhost6667: nick=J58xjXzoftwSiGEr cmd=error msg=Invalid nacl pubkey: b'88f7a7b26f67791e95f0c327ee189eee3cea2529f60cfae4b0ffd89429b20e27' 028227f22eecbe8d63d290b0821aec375e47dbed1ec6d9663b7fb6d91dffc0eda6 MEQCIESfARRTu4KCrO0Afg7Kw4rzkloksPmLq8vTfhYwBapnAiAMy1QxRFfYXjQbdaKhn2Z4gnlX/6j/2AYyMTVIUJrVlQ== 14:24 < waxwing> that's in on_order_fill in daemon_protocol. seems the type of the variable taker_pk is wrong. 14:24 < waxwing> but i'm confused 14:24 < Lightsword> how do you reproduce? 14:24 < undeath> the conversion to str/unicode is missing before sending it 14:25 < waxwing> yeah. i got confused though because it's but how do you convert it? i thought it's already unicode in py3. 14:26 < undeath> where is it sent? 14:26 < waxwing> reproduce: atm i'm running tumbler manually with ygrunner on the maker side. both sides on this pr branch, with py3. 14:26 < waxwing> with py2 as i've reported there were no problems with existing code. 14:27 < waxwing> undeath, i don't really understand the Q, sorry 14:28 < undeath> where does the taker send that data? 14:28 < undeath> in on_JM_OFFERS? 14:28 < waxwing> error here in case above wasn't clear: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/38f49496ac0cd86d6984f6059b9132275eb97768/jmdaemon/jmdaemon/daemon_protocol.py#L385-L390 14:29 < Lightsword> waxwing, what’s the message in the log for “Unable to set up cryptobox with counterparty”? 14:31 < waxwing> Lightsword, good Q, it didn't seem to come out. and i dont' know why because in regtest twisted logging is supposed to be enabled. 14:32 < waxwing> hmm looking at my output it seems the twisted logging is only enabled taker side, not maker side for some reason. 14:32 < waxwing> i'll just quickly switch it to a jm logging message so i can see it 14:34 < waxwing> Unable to set up cryptobox with counterparty: NaclError('Invalid hex',) 14:35 < undeath> i think the error is on the taker side 14:35 < waxwing> the unhexlify call fails, so this is like those other cases i think where it has to be unicode for that to work, is that right? 14:36 < Lightsword> yes 14:36 < undeath> there's a str(taker_pk) somewhere instead of a taker_pk.decode('ascii') 14:36 < Lightsword> trying to figure out where hexpk is created 14:36 < undeath> https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmclient/jmclient/client_protocol.py#L423 14:37 < undeath> one of those? 14:39 < waxwing> should be line 247 in daemon_protocol. 14:39 < Lightsword> this what is getting called? https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/7c6b4f13d6c31180d286f40332ab0064c85c829b/jmdaemon/jmdaemon/message_channel.py#L961 14:39 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/38f49496ac0cd86d6984f6059b9132275eb97768/jmdaemon/jmdaemon/daemon_protocol.py#L247 14:39 < waxwing> str() cast is there 14:40 < waxwing> that's what the Taker's daemon is setting up the !fill message, including that pubkey 14:40 < undeath> ah yes, that looks suspicious 14:40 < waxwing> but i don't know if that's what would change, it goes over the wire via amp after that. 14:40 < undeath> yes 14:40 < undeath> the problem is this 14:40 < waxwing> Lightsword, yes, that's where the maker picks up the fill message and runs with it. 14:40 < undeath> >>> str(b'uiae') 14:40 < undeath> "b'uiae'" 14:40 < waxwing> the callbacks percolate up from there 14:41 < Lightsword> I think str() implies unicode so that is fine I think 14:41 < waxwing> undeath, ah. that sounds very plausible, yes. 14:48 < waxwing> so can i change client_proto line 423 to be self.kp.hex_pk().decode('ascii') instead of str(self.kp.hex_pk())? 14:48 < waxwing> i'm confused about the right way to do this stuff so it works in py2 and 3 14:48 < Lightsword> trying to verify if that’s the proper place for that 14:48 < undeath> yes, that should do the trick 14:49 < waxwing> i just checked that it avoids that error. it does. now i move on to the next one, which looks very similar :) 14:51 < waxwing> this is the next one for those following along at home: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/38f49496ac0cd86d6984f6059b9132275eb97768/jmdaemon/jmdaemon/message_channel.py#L242 16:07 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 16:52 < Lightsword> pushed some more fixes 16:52 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Ping timeout: 268 seconds] 17:00 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 17:58 -!- AgoraRelay [~jmrelayfn@p5DE4A28F.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 18:12 -!- AgoraRelay [~jmrelayfn@p5DE4A907.dip0.t-ipconnect.de] has joined #joinmarket 20:52 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Quit: https://www.Quanto.ga/] 21:12 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket