-
boned4ddy
ah okay that makes sense
-
boned4ddy
thanks
-
boned4ddy
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??
-
boned4ddy
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`
-
boned4ddy
does making an integrated address *always* use account index 0?
-
selsta
integrated addresses always use 0,0 index
-
selsta
account 0 address 0
-
boned4ddy
good to know, thanks
-
boned4ddy
so whats the point of specifying the "standard address" when creating an integrated address if it always uses 0,0 index
-
selsta
which function are you talking about specifically?
-
boned4ddy
-
selsta
it’s optional
-
selsta
it can also be used to convert generic address + payment_id -> integrated address
-
boned4ddy
okay then i think i might be encountering a bug because i can send payments to integrated addresses, and then when i do `payments <payment_id>` from monero-wallet-cli it doesnt show me any payments
-
selsta
does the payment show up when you do show_transfers?
-
boned4ddy
you can see it on xmrchain
-
boned4ddy
-
selsta
does it show up if you enter `show_transfers`?
-
boned4ddy
yes
-
boned4ddy
-
boned4ddy
output from the `payments` command that is
-
selsta
yea could be a bug, I’m not familiar with the payments command
-
selsta
it interprets it as a long payment ID
-
boned4ddy
yea it shows a padded payment id so this definitely seems like a bug
-
boned4ddy
what is the best place to file a bug report
-
selsta
-
selsta
vtnerd_: opened an issue on the monero-lws repo, still having build issues
-
iDunk
selsta: Does something like this happen on Mac ?
paste.debian.net/hidden/01ad1743
-
selsta
-
iDunk
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.
-
iDunk
Ah, got the paste now.
-
iDunk
It builds here after shifting some vars around
paste.debian.net/hidden/54860971
-
grydz
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:
github.com/monero-project/monero/bl…/master/src/ringct/rctSigs.cpp#L939
-
grydz
-
iDunk
selsta: does this make any difference (L9) ?
paste.debian.net/hidden/5dfb2a3b
-
selsta
iDunk: that works, thanks
-
iDunk
Yw
-
selsta
now it says `Could not find LIB_PATH using the following names: unbound`
-
selsta
most likely due to it searching for vendored unbound
-
moneromooo
Where in that paste is the relevant trace ?
-
iDunk
I use vendored unbound. I'll try installing libunbound-dev.
-
moneromooo
verRctCLSAGSimple shold be run in the daemon, not the wallet.
-
moneromooo
Or are you running it in the wallet for sanity checking ?
-
grydz
Sure but using gdb I'm able to see that the return value is false.
-
grydz
here is the error on the daemon: verRctMGSimple/verRctCLSAGSimple failed for input 0
-
moneromooo
And the daemon is still accepting the tx ?
-
grydz
No: tx used wrong inputs, rejected
-
moneromooo
Oh. Phew.
-
moneromooo
So what's the problem then ?
-
moneromooo
Just that you generate bad txes ?
-
sarang
Are the correct input commitments and offsets being passed into the function as expected?
-
sarang
If they are wrong, the function will (correctly) fail to verify
-
sarang
If they are correct, then something else is afoot
-
grydz
Can't figure out how it would have been verified when I was doing the hardfork manually on stagenet...
-
sarang
Wait, so it verified before?
-
sarang
I might be misunderstanding the exact circumstances here
-
moneromooo
What I did before to debug that kind of thing is run verification right after generating the proof, and logging the inputs and outputs.
-
grydz
Before testnet hardfork occured, I was working with my own daemon on stagenet with hardfork v13.
-
moneromooo
That verification will almost certanly succeed. THen also log in the daemon, see what inputs are different.
-
grydz
Where in the code would you do that?
-
sarang
Yeah, if it verified before, some inputs must be different
-
sarang
Of course, if you're running on a different chain, the inputs _will_ be different and it won't verify on another chain...
-
sarang
if that's the situation here
-
moneromooo
Right after: rv.p.CLSAGs[i] = proveRctCLSAGSimple...
-
sarang
(inputs are looked up by an index)
-
selsta
-
grydz
sarang, sure but the part of the code related to HW is doing anything related to those indexes
-
selsta
probably clang / gcc differences
-
grydz
moneromooo, good idea!
-
iDunk
Could be. It builds here with and without vendored unbound.
-
grydz
(*is not doing anything related to those indexes)
-
sarang
OK, so in that case it's probably worthwhile as moneromooo said to see what inputs to the verifier are different
-
sarang
They must be, or else something is very wrong with the universe...
-
sarang
If the input commitments are different (or the offsets), then that's the problem
-
sarang
not the verifier
-
sarang
(I would be surprised if the verifier logic were flawed at this point)
-
grydz
I'm pretty sure it's not the verifier ;)
-
rusty_nick
Hi, was there any attempt to port monero-cpp to rust?
-
sarang
grydz: any news?
-
moneromooo
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.
-
moneromooo
Might not be very useful when comparing with a HW wallet though, you might not be able to get at these intermediate values...
-
sarang
I'd think a good starting place is to see what output commitments and offsets are being passed in
-
sarang
If it's not getting the right non-signature inputs, the verifier will fail
-
grydz
not yet, idk why I never enter in verRctCLSAGSimple() while doing a transfer in monero-wallet-cli...
-
grydz
It seems I need to compile again, I'm not able to put a breakpoint on my modification :(
-
grydz
I also tried to use `sweep_single()` on different key images
-
grydz
just in case.
-
grydz
*sweep_single command
-
grydz
Ok great! Adding this line:
-
grydz
bool b = verRctCLSAGSimple(full_message, rv.p.CLSAGs[i], rv.mixRing[i], pseudoOuts[i]);
-
grydz
-
grydz
result in returning false
-
moneromooo
Do tests pass ?
-
grydz
Haven't run any test yet.
-
sarang
OK, so that confirms the verifier fails, which was expected I guess
-
moneromooo
I did not expect it.
-
sarang
?
-
sarang
grydz had already indicated the verifier was failing
-
moneromooo
OK. Fine. I did expect the verifier to fail right after the generator :)
-
moneromooo
not*
-
grydz
But in my logs: ASSERT EQ OK: clsag_sign: s: 9aa5f4654c1dc2beead602ed7e790b827411e3648150ca7a2c64c1307ac15e02
-
sarang
Oh I see what you mean
-
sarang
It's failing _immediately_
-
moneromooo
Maybe bad keys (or not in the main subgroup) are fed to the generator.
-
grydz
It means at least that clsag_sign() using HW is the same as in the software implementation?
-
moneromooo
Or unmoduloed scalars.
-
moneromooo
I do not understand that question.
-
grydz
-
grydz
I'm trying to compare values outputed by the software implementation device_default with the one in device_ledger
-
grydz
I guess it would help to see if a scalar is unmoduled