00:00:24 ah okay that makes sense 00:00:25 thanks 00:12:29 so one thing im confused about is how to check the incoming balance of of integrated address. Im guessing you first split the integrated address, and then you have the actual address that has the funds in it. upon which you would call `GetBalance` and then filter through every sub address until you get the one you want?? 00:13:11 given that when you create the integrated address you can specify the standard address, how would you know which account index to lookup whne calling `GetBalance` 00:13:37 does making an integrated address *always* use account index 0? 00:13:53 integrated addresses always use 0,0 index 00:13:59 account 0 address 0 00:14:02 good to know, thanks 00:15:27 so whats the point of specifying the "standard address" when creating an integrated address if it always uses 0,0 index 00:16:37 which function are you talking about specifically? 00:17:43 https://www.getmonero.org/resources/developer-guides/wallet-rpc.html#make_integrated_address 00:18:05 it’s optional 00:18:39 it can also be used to convert generic address + payment_id -> integrated address 00:26:07 okay then i think i might be encountering a bug because i can send payments to integrated addresses, and then when i do `payments ` from monero-wallet-cli it doesnt show me any payments 00:26:38 does the payment show up when you do show_transfers? 00:27:16 you can see it on xmrchain 00:27:16 https://testnet.xmrchain.net/search?value=5fa93c5c40e9841fe0982cecf921a1a187a89ca2e32a9d2feffb9912e5a5f174 00:27:39 does it show up if you enter `show_transfers`? 00:29:30 yes 00:30:16 heres the output https://gist.github.com/bonedaddy/6cecad4166d5305e6687268d848f0c0a 00:30:33 output from the `payments` command that is 00:43:47 yea could be a bug, I’m not familiar with the payments command 00:43:55 it interprets it as a long payment ID 00:45:32 yea it shows a padded payment id so this definitely seems like a bug 00:45:41 what is the best place to file a bug report 00:46:41 https://github.com/monero-project/monero/issues/new 12:43:22 vtnerd_: opened an issue on the monero-lws repo, still having build issues 13:03:51 selsta: Does something like this happen on Mac ? https://paste.debian.net/hidden/01ad1743/ 13:11:42 iDunk https://www.irccloud.com/pastebin/Q9nBb4ho/ 13:14:50 I get an "Error fetching paste". Anyway, I must have built release-static. cmake configures fine after rebuilding monero. monero-lws fails linking though, with several libs involved, but I don't have time to investigate right now. 13:15:06 Ah, got the paste now. 13:33:03 It builds here after shifting some vars around https://paste.debian.net/hidden/54860971/ 13:45:40 Hello everyone, I'm still investigating why CLSAG signature is not verified by the testnet node using a Ledger Nano. The function verRctCLSAGSimple() return false because c != c1 but no exception is raised: https://github.com/monero-project/monero/blob/master/src/ringct/rctSigs.cpp#L939 13:46:08 Here are the logs of the CLI in debug mode: https://gist.github.com/grydz/a29dd23daca66694b8e227ca181f6e4c 13:48:52 selsta: does this make any difference (L9) ? https://paste.debian.net/hidden/5dfb2a3b/ 13:50:20 iDunk: that works, thanks 13:50:26 Yw 13:50:33 now it says `Could not find LIB_PATH using the following names: unbound` 13:50:39 most likely due to it searching for vendored unbound 13:50:40 Where in that paste is the relevant trace ? 13:51:17 I use vendored unbound. I'll try installing libunbound-dev. 13:52:26 verRctCLSAGSimple shold be run in the daemon, not the wallet. 13:52:37 Or are you running it in the wallet for sanity checking ? 13:53:47 Sure but using gdb I'm able to see that the return value is false. 13:55:04 here is the error on the daemon: verRctMGSimple/verRctCLSAGSimple failed for input 0 13:55:26 And the daemon is still accepting the tx ? 13:55:42 No: tx used wrong inputs, rejected 13:56:01 Oh. Phew. 13:56:19 So what's the problem then ? 13:56:33 Just that you generate bad txes ? 13:56:41 Are the correct input commitments and offsets being passed into the function as expected? 13:56:49 If they are wrong, the function will (correctly) fail to verify 13:56:57 If they are correct, then something else is afoot 14:00:11 Can't figure out how it would have been verified when I was doing the hardfork manually on stagenet... 14:02:06 Wait, so it verified before? 14:02:12 I might be misunderstanding the exact circumstances here 14:02:49 What I did before to debug that kind of thing is run verification right after generating the proof, and logging the inputs and outputs. 14:03:17 Before testnet hardfork occured, I was working with my own daemon on stagenet with hardfork v13. 14:03:22 That verification will almost certanly succeed. THen also log in the daemon, see what inputs are different. 14:07:03 Where in the code would you do that? 14:07:13 Yeah, if it verified before, some inputs must be different 14:07:45 Of course, if you're running on a different chain, the inputs _will_ be different and it won't verify on another chain... 14:07:48 if that's the situation here 14:08:00 Right after: rv.p.CLSAGs[i] = proveRctCLSAGSimple... 14:08:08 (inputs are looked up by an index) 14:15:43 iDunk: with vendored unbound: https://paste.debian.net/hidden/4677dbac/ 14:15:55 sarang, sure but the part of the code related to HW is doing anything related to those indexes 14:16:22 probably clang / gcc differences 14:16:30 moneromooo, good idea! 14:19:38 Could be. It builds here with and without vendored unbound. 14:20:25 (*is not doing anything related to those indexes) 14:21:33 OK, so in that case it's probably worthwhile as moneromooo said to see what inputs to the verifier are different 14:21:44 They must be, or else something is very wrong with the universe... 14:21:58 If the input commitments are different (or the offsets), then that's the problem 14:22:02 not the verifier 14:22:11 (I would be surprised if the verifier logic were flawed at this point) 14:23:14 I'm pretty sure it's not the verifier ;) 16:31:54 Hi, was there any attempt to port monero-cpp to rust? 16:38:45 grydz: any news? 16:39:51 Anohter trick I used is to set all the random keys to identity. Helps when comparing two implementations to see where the various steps start dirverging. 16:40:22 Might not be very useful when comparing with a HW wallet though, you might not be able to get at these intermediate values... 16:41:52 I'd think a good starting place is to see what output commitments and offsets are being passed in 16:42:10 If it's not getting the right non-signature inputs, the verifier will fail 16:55:56 not yet, idk why I never enter in verRctCLSAGSimple() while doing a transfer in monero-wallet-cli... 16:56:28 It seems I need to compile again, I'm not able to put a breakpoint on my modification :( 16:57:15 I also tried to use `sweep_single()` on different key images 16:57:17 just in case. 16:57:43 *sweep_single command 17:23:12 Ok great! Adding this line: 17:23:14 bool b = verRctCLSAGSimple(full_message, rv.p.CLSAGs[i], rv.mixRing[i], pseudoOuts[i]); 17:24:09 after this line: https://github.com/monero-project/monero/blob/master/src/ringct/rctSigs.cpp#L1229 17:24:53 result in returning false 17:26:44 Do tests pass ? 17:28:26 Haven't run any test yet. 17:37:29 OK, so that confirms the verifier fails, which was expected I guess 17:37:44 I did not expect it. 17:37:59 ? 17:38:07 grydz had already indicated the verifier was failing 17:38:34 OK. Fine. I did expect the verifier to fail right after the generator :) 17:38:37 not* 17:39:46 But in my logs: ASSERT EQ OK: clsag_sign: s: 9aa5f4654c1dc2beead602ed7e790b827411e3648150ca7a2c64c1307ac15e02 17:40:28 Oh I see what you mean 17:40:33 It's failing _immediately_ 17:41:33 Maybe bad keys (or not in the main subgroup) are fed to the generator. 17:41:38 It means at least that clsag_sign() using HW is the same as in the software implementation? 17:41:59 Or unmoduloed scalars. 17:42:26 I do not understand that question. 17:42:40 https://github.com/monero-project/monero/blob/master/src/device/device_ledger.cpp#L2271 17:47:49 I'm trying to compare values outputed by the software implementation device_default with the one in device_ledger 17:57:04 I guess it would help to see if a scalar is unmoduled