09:52:15 .merges 09:52:15 -xmr-pr- 6600 6613 6660 6690 6693 6731 6739 6746 6752 6753 6757 6760 6761 6762 6763 6766 6767 6771 10:08:04 .merges 10:08:05 -xmr-pr- 6600 6693 6739 6757 6760 6761 6762 6763 6766 6767 6771 12:46:15 -xmr-pr- selsta opened pull request #6783: repo: update "sponsor" link 12:46:15 -xmr-pr- > https://github.com/monero-project/monero/pull/6783 13:06:51 Any objection to switching testnet to v13 on, say, sunday ? 13:07:18 snipa will merge the clsag PR next, then I don't think there's anything consensus to change. 13:08:35 sounds good 13:08:46 grydz: anything need to be changed with Ledger Monero-side code? 13:09:18 IIRC the Trezor folks expected one Trezor-specific PR on the Monero codebase after the CLSAG merge 13:10:09 OK, we'll wait then. 13:15:43 sarang, I need this patch at least: https://gist.github.com/grydz/dc34efb7e3cd6f91189bf27c2ce62b0b 13:18:04 (Just updated the gist, I removed the modification for v13) 13:18:16 What about next weekend? Or would that be too late 13:21:50 For us, the later the better... 13:25:22 Still debugging why I get a correct CLSAG sig at the end but can't pass the sanity check 13:26:45 Once CLSAG is merged, I'll let the Trezor team know 13:29:04 One thing which helped me debug this is to set all randomness to 0, then give the same inputs with and without changes, and see where it starts diverging. 13:29:21 So you'd do that once with your code and once with the upstream code. 13:31:47 .merges 13:31:47 -xmr-pr- 6600 6693 6739 6757 13:39:32 Is there an easy way to do that? Or should I tweak functions like skGen()? 13:40:07 That's the easy way. 13:40:42 I suppose you can hack the PRNG in random.c too, but that might zero randomness you'd want... not sure. 13:41:31 Alright, thanks! 14:08:47 Would there be an issue with updating testnet even if some Ledger / Trezor changes are missing? 14:09:14 Once Ledger / Trezor has PRed their fixes they can be merged. 14:09:35 Testnet participants will have to compile from source (or use inofficial bins) anyway. 14:09:57 Depends if they change consensus code. I expect they won't, but you never know, it might be our bug :) 14:10:37 Right but if there is a bug like this we have to rollback testnet anyway? 14:10:37 not sure 14:10:52 If it already switched, yes. 14:15:09 My understanding is the Trezor PR will not alter consensus 14:15:23 I can't speak to Ledger 14:16:07 ^ grydz ? 14:19:47 Do you think my patch could be integrated in the PR? 14:19:56 This is just simples fixes. 14:20:17 In that way, we could also use testnet for debugging. 14:21:32 (patch here: https://gist.github.com/grydz/dc34efb7e3cd6f91189bf27c2ce62b0b) 14:23:47 What is this value it does not encrypt now ? 14:24:24 Also you removed bounds checking. Is that on purpose ? 14:53:57 moneromooo, the value z was not created on the HW, we can't encrypt it. 14:55:05 It's derived from the private view key (which was exported). 14:55:44 If it doesn't leak info, and the bounds checking is restored (unless it was redundant), then the patch looks ok to me. 14:56:02 What bound checks? 14:56:06 On the Monero app? 14:56:22 Writing to buffer_send. 15:01:09 Do you mean sending &this->buffer_recv[offset] instead? 15:03:07 I admit I don't know much of the ledger code, but AFAICT &this->buffer_recv[offset] is unrelated ? 15:03:37 recv is ledger to wallet2, send is wallet2 to ledger, right ? 15:04:07 Yes. 15:05:44 Well, it's not what I meant, and I don't see the relevance of your comment so I might be missing somthing. 15:06:05 I just meant you removed the bounds checking code on the send buffer, and this looks dangerous at first glance. 15:06:17 Bounds chekcing being checking you don't write after the buffer. 15:06:36 It might be that other code already checks this, in which case it'd be fine. 15:08:37 (My comment was not relevant at all I just don't see where I removed a bound check!) 15:08:55 - this->send_secret(z.bytes, offset); 15:08:56 + memmove(this->buffer_send+offset, z.bytes, 32); 15:08:56 Is this when I replaced send_secret() with memmove? 15:08:59 Ok! 15:09:03 send_secret has: 15:09:09 I see now. 15:11:45 moneromooo: please rebase 6111 15:12:18 .merge+ 6769 15:12:18 Added 15:16:15 -xmr-pr- vdo opened issue #6784: Error building RandomX in a RPi 15:16:15 -xmr-pr- > https://github.com/monero-project/monero/issues/6784 15:56:37 selsta: done 16:55:57 Hi, how can I get transaction inputs from monerod rpc call? I am using get_transaction_pool rpc method call but I can not find there inputs, there are no input (previous output) address in response json 16:59:05 hyc: sech1: could you review the "core: fix mining from a block that's not the current top" commit in PR 6111? 17:07:09 will try to get to it soon 17:07:32 looks a bit more involved than I can spare right now 17:08:24 thanks 17:21:03 I did a quick look and it looks ok on the surface, but I don't know if it actually works as intended. I assume it's covered by tests? 17:21:25 It is. The tests are the reason I needed this. 17:27:34 https://www.irccloud.com/pastebin/8WgOhtnZ/ 17:27:40 I get this but I might be invoking it incorrectly 17:30:08 That usually means the daemon died or hanged. 17:30:08 mining test passes 17:33:03 it happens every time, any logs that would be useful? 17:42:15 I'll try here first. Maybe the two patches don't agree with each other. 18:24:16 it passed on github ci and also on the mac mini, seems like to only happen on my system 18:31:15 * moneromooo helpfully raises the corner of the carpet and waits expectantly 18:37:31 rip daemon 18:38:24 .merge- 6757 18:38:25 Removed 18:59:17 moneromooo: that delay was due to core::update_checkpoints() within core::handle_incoming_block(). After added --disable-dns-checkpoints unknown delay stays within 100ms. 18:59:55 Oh really. I did not remember this being synchronous. 19:00:05 Worth removing, IIRC it's on a timer. 19:00:46 (and on another thread) 19:00:59 Thanks for finding it 19:01:11 Yeah, it would be helpful. I've disabled it at all as a workaround. 19:01:37 What's about reported delay, Are there any places for optimizations? 19:02:19 Verification could be parallel. IIRC atm it's per tx. 19:02:44 So you typically get 2 threads (one per output) to verify rct IIRC. 19:03:12 Nothing else big comes to mind atm. 19:03:26 Oh, switching the blockchain lock to a rw lock. 19:03:32 But that's a big change. 19:03:41 6739 (CSlag) merged. 19:03:46 Thank you moo. :D 19:03:48 ty 19:04:19 There might also be some redundancy in tx checking in txpool. 19:04:39 .merges 19:04:39 -xmr-pr- 6600 6693 6739 6769 19:04:40 Erring on the side of caution. 19:07:20 Snipa: 6600 can be merged too I think 19:07:24 the others are still 19:07:30 not fully clear 19:10:11 6600 needs a rebase, same reason 6739 did. 13's going to have a bunch of lockouts it looks like. 19:10:16 Was just looking it over. 19:22:27 Verification of all inputs/outputs of block transactions can be trated as N indepedent tasks or they can be dependent on each other? 19:23:00 sarang: please rebase #6600 19:31:41 moneromooo: This task to make transaction verification as fast as possible with more threads was postponed due to high complexity or low priority? 19:31:56 Do you expect it should be simple to speed up it with more threads? 19:49:28 Anyone willing to redo 5686? OP seems MIA 19:49:32 If not, I suppose we should close the PR 21:08:18 It depends which parts of txes. Range proofs can be done as parallel as you want (and indeed they currently are). Other things are harder. Some things can only be done in parallel if they only depend on old enough data (ie, you're not trying to verify A and B in parallel when B depends on A). 21:08:41 Faster verification is not postponed, which would imply it is scheduled to be done. 21:09:03 As so many things, it's diminishing returns. 21:09:39 So, at a first approximation, it's now less simple to speed up more than it was, and for less gain. 21:10:31 I guess I can rebase that, seems simple enough. 21:23:27 Is it easy to find an example of v12+ block with inner dependencies between transaction? 21:24:58 There won't be deps within a block. Usually at most 10 blocks away, though you might find just one block away, a wallet does this IIRC. 21:25:11 I don't have an example though. 21:25:48 1064ms has been spent on block 2173586 here. Does this block has inner dependencies between txs or any other obstacle that prevent fully parallel txs verification? 21:25:58 block have * 21:26:00 moneromooo: aren’t 10 blocks a consensus rule now? 21:26:24 Can't recall. Either v12 or v13. 21:26:38 It's v12 now. 21:26:44 ah true but when syncing it will still happen for older blocsks? 21:26:54 I mean for when the 10 block rule gets enforced. 21:27:00 yes 21:28:11 It would be enough for mining to optimize v12+ verifications 21:29:19 Can you describe all known obstacles to verify v12+ txs in parallel? 21:35:29 selsta: rebased, CI in progress 21:36:58 A couple are lock contention (would be fixed by the rw lock I mentioned) and dependencies between txes in a span (doesn't apply when you get txes when mining though). 21:37:34 Also, having to add code to do so, which might not be worth the gains. 21:38:37 One thing that might be a fairly easy win: 21:38:56 When a tx is received, mining gets paused, the tx gets verified, mining resumes. 21:39:21 A very early step in tx verification is PoW verification, which is comparatively lengthy, and not parallelizable. 21:39:48 But it could be done without the blockchain lock, so you can still mine (for not much if the block ends up valid though). 21:41:04 Otherwise I'd have to look at the code for a while to see what can still be parallized. Again, I've done some, and the Pareto principle applies. 21:44:19 I'm about mining with separate application connected via rpc to monerod. Inner miner isn't my target. 21:45:18 Then the miner presumably submits only blocks which meet the right difficulty, so... very seldom, right ? 21:45:59 In which case, you should not care much about parallelism. it'd just take about the same amount of CPU time, just on the same core rather than several. 21:46:12 Is that not the case ? 21:47:01 Oh. I suppose you might be after the latency when your miner finds a block at the same time a tx is verifying. 21:47:15 Very seldom but still annoying I guess. 21:47:36 In those cases, chances are your block is an orphan anyway. 21:47:58 (assuming I'm not missing your point) 21:48:43 The aim is to reduce time between events p2p_received_fluffy_block and block_accepted (job propogation delay). 21:49:04 Ah, so I did miss your point. 21:49:18 It's for your own block. Fair enough. Then you do want parallel indeed... 21:50:41 I suppose you can already skip PoW validatrion, on account of having submitted a block because you found a nonce that matches. 21:51:30 I suppose you could indeed relay the block at once, before calling handle_.... 21:51:53 Assuming it's from a block template that same daemon created. 22:04:46 hmm core tests failed for the CLSAG PR 22:06:14 multisig functional tests also failed 22:06:18 I should... avoid making tests... 22:06:26 moneromooo: can you take a look? https://github.com/monero-project/monero/runs/1038290819 (... -> View raw logs) 22:07:15 gen_bp_tx_valid_2, gen_bp_tx_valid_3, gen_bp_tx_valid_16, gen_bp_txs_valid_2_and_2, gen_bp_txs_valid_2_and_3_and_2_and_4 22:07:18 sounds serious :P 22:08:54 Not really. It's the "doesn't use full reward" change. 22:16:41 moneromoo: Isn't a language with static typing all the testing you need? It tests the pieces fit together! 22:17:28 Jokes aside, it is nice to hear there's not a major problem here. Really keeping an eye on this new hard fork :)