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