--- Day changed Fri Mar 15 2019 00:06 -!- cohibaa [~CohibAA@gateway/tor-sasl/cohibaa] has quit [Quit: cohibaa] 00:08 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 250 seconds] 00:30 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 02:11 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 03:10 < takinbo> is it possible to do a payjoin and a coinjoin in the same transaction? 03:17 < undeath> technically yes, but not implemented afaik 06:30 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 252 seconds] 07:12 -!- puddinpop [~puddinpop@unaffiliated/puddinpop] has joined #joinmarket 07:15 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 07:43 < takinbo> great. thanks undeath 07:45 < waxwing> takinbo, yeah good idea really, and precisely because it doesn't make sense :) (i.e. the idea was to have payjoin be indistinguishable from ordinary non-coinjoin payments) 07:45 < takinbo> ah, yes. definitely. 07:54 < undeath> it gives a whole new level to coinjoin's subset sum problem 09:06 < waxwing> undeath, i'm a bit confused why the storage has an entry for 'utxo' currently (inserted by the utxomanager), is it always empty (as it seems to be in my active wallet)? 09:12 < undeath> the utxomanager is initialized on wallet creation but not actually stored 09:19 < undeath> utxomanager.save() is implemented but not called. (this was removed, there was a discussion in the pr iirc) 09:20 < waxwing> thanks, i'll keep reading 09:20 < undeath> or maybe it was just discussed here 09:26 < waxwing> undeath, heh, maybe, i just checked #104 it wasn't there anyway. 09:26 < waxwing> can you outline what you do remember, in terms of reasoning around this? 09:27 < waxwing> the reason it comes up, in case it isn't obvious, is i've been writing some code to allow a user to disable a utxo, but obviously it'll need to be persisted. 09:27 < undeath> it was removed because we always sync and syncing is bound to be more accurate 09:27 < waxwing> rather ignorantly i was adding it as feature to the utxo manager before realising that it isn't persisted at all, heh. 09:27 < waxwing> right 09:28 < undeath> technically it wouldn't break anything to save the utxomanager and simply clearing the data upon syncing 09:29 < waxwing> yes, it's that now we have a different use-case for it. i'm calling it 'metadata' on the utxos with the idea that we might have other stuff to associate with utxos later (obvious one being labels) 09:30 < waxwing> but anyway, i have to keep reading, i often find there's some aspect of the logic of the program that completely escapes me if i haven't read it for a few months :) 09:32 < waxwing> like specifically right now, why is the maker/yieldgenerator code not calling add_new_utxo(_) when a transaction arrives? 09:33 < undeath> you mean add_utxo()? 09:34 < waxwing> wallet.add_new_utxo(_) 09:34 < waxwing> sorry with an 's', utxos 09:35 < undeath> ah 09:35 < waxwing> cf https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmclient/jmclient/taker_utils.py#L256-L257 09:36 < waxwing> this is what the tumbler does between transactions to update its utxo-set 09:36 < undeath> yeah, I see 09:36 < undeath> good question 09:36 < undeath> but things seem to work, so somehow it has to work 09:37 < waxwing> remove_old_utxos is called in the jmclient.client_protocol.JMMakerClientProtocol.(some function about unconfirm update) 09:37 < waxwing> unconfirm_callback 09:40 < waxwing> undeath, ah ok i remembered/saw it 09:41 < waxwing> we don't re-apply the new utxos until they're confirmed. 09:41 < undeath> how is it done? 09:41 < waxwing> in the confirm_callback it calls sync_unspent 09:41 < waxwing> which does call add_utxo (s) 09:41 < undeath> heh 09:41 < waxwing> so the thing i can't remember is why we do it differently in tumbler. i guess because it's non-parallel it's safe to do it "in ram" so to speak. 09:42 < undeath> sync_unspend sounds like a pretty expensive call (not having looked at the code) 09:43 < waxwing> yes, there's probably some interesting questions there. if volume were very high it could be an issue. obv it's the safest, though. 09:44 < waxwing> so any thoughts on persisting 'utxo_metadata', basically, in the utxomanager. we could have it save to disk but then as currently, wipe the actual utxo list and get from sync. 09:47 < belcher> sync_unspent() probably calls the RPC listunspent which is quite cheap 09:48 < belcher> waxwing maybe save information that says "if this utxo exists, then mark is unspendable" 09:48 -!- devachandra [~devachand@vmi179228.contaboserver.net] has quit [Quit: devachandra] 09:48 < waxwing> belcher, yup i think that code is unchanged from when you wrote it :) still has that timing check which of course is funny. 09:49 < waxwing> belcher, yes, i agree (if your point is: we can mark it as unspendable and don't really need to track if it's since been spent) 09:49 < belcher> the timing check was part of like 20 things i tried to make yieldgenerators more stable back then 09:50 < waxwing> hmm i just noticed we have that literal_eval in that function for the arguments. can you crash bitcoind with rpc arguments? :) 09:50 < waxwing> i mean it's just crashing your own node, but still :) 09:51 < belcher> i wonder why literal eval was chosen rather than just minconfirm, since i think the point of that code is to allow unconfirmed utxos to be seen/spent 09:52 < waxwing> well but adlai gave in the comments 3 or 4 possible settings i think. it's not just 0/not 0 eh. 09:53 < belcher> ok 09:55 < waxwing> but, prob i think you're right. a minimum single number is probably enough (i guess almost nobody pays attention to it except it being 0 or not) 10:00 < belcher> its not great safety issue since its only exposed to the user and most people will leave the default 10:02 < waxwing> no indeed, not really an issue, agreed. 10:14 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 245 seconds] 10:28 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 12:23 -!- kristapsk [~neonz@62.63.157.78] has quit [Quit: Leaving] 14:35 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.4] 15:32 -!- belcher_ [~user@unaffiliated/belcher] has quit [Ping timeout: 245 seconds] 15:42 -!- lnostdal [~lnostdal@77.70.119.51] has quit [Quit: https://www.Quanto.ga/ -- Immutable state trading system in Clojure] 15:43 -!- belcher_ [~user@unaffiliated/belcher] has joined #joinmarket 15:51 -!- lnostdal [~lnostdal@77.70.119.51] has joined #joinmarket 18:56 -!- AgoraRelay [~jmrelayfn@p5DE4ABEA.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 19:09 -!- AgoraRelay [~jmrelayfn@p54866F4E.dip0.t-ipconnect.de] has joined #joinmarket