16:59:29
rbrunner7:monero.social:
Meeting in 1 hour
17:25:37
jberman:monero.social:
Likely won't be able to make today's meeting unfortunately. This week will work on audit coordination and getting beta ready
17:59:59
rbrunner7:monero.social:
Meeting time. Hello! https://github.com/monero-project/meta/issues/1344
18:00:24
sneedlewoods_xmr:matrix.org:
Hello
18:00:29
jpk68:matrix.org:
Hello
18:00:29
rbrunner7:monero.social:
From jberman about half an hour ago: "Likely won't be able to make today's meeting unfortunately. This week will work on audit coordination and getting beta ready"
18:01:43
rbrunner7:monero.social:
In last week's MRL meeting it basically was also only Rucknium and me :)
18:01:48
jeffro256:monero.social:
Howdy
18:02:38
rbrunner7:monero.social:
Alright, what is there to report from the last 2 weeks? Me: Checking wallets and wallet source code regarding Polyseed support. Slowly arriving somewhere.
18:03:27
jeffro256:monero.social:
Me: Cypherstack finished their carrot_core audit: https://github.com/cypherstack/carrot_core-audit/blob/main/carrot_core-audit.pdf. I finished with first round of review on beta scaling after talking with Artic and j-berman: https://github.com/seraphis-migration/monero/pull/282.
18:03:32
rbrunner7:monero.social:
Found out that the `monero_c` build process is a true marvel.
18:04:02
sneedlewoods_xmr:matrix.org:
still mainly working on wallet-rpc, counting `m_wallet` 144/354 (354 is the count on `master` branch)
18:04:35
jeffro256:monero.social:
Also me: gave a talk at Monerotopia and implemented RandomX V2 support in https://github.com/monero-project/monero/pull/10038
18:04:54
jeffro256:monero.social:
Talking with some auditors about upcoming FCMP++ integration audits
18:05:37
rbrunner7:monero.social:
A few words about Monerotopia? How was your talk received, live?
18:05:55
jpk68:matrix.org:
Your talk was good, Jeffro :)
18:06:00
jpk68:matrix.org:
I watched online
18:07:00
rbrunner7:monero.social:
Are the talks online already, linked from the Monerotopia website then?
18:07:33
intr:unredacted.org:
I don't know about a link from monerotopia but they are on twitter (cut into individual videos), and the entire livestreams are on youtube on the Monerotalk channel
18:07:57
rbrunner7:monero.social:
This maybe: https://monerotopia.com/monerotopia2026-virtual-conference/
18:08:05
sneedlewoods_xmr:matrix.org:
https://www.youtube.com/@MoneroTalk/streams
18:08:17
intr:unredacted.org:
and:
18:08:17
intr:unredacted.org:
https://x.com/XBTXMR/status/2022623288120250599
18:08:19
intr:unredacted.org:
https://xcancel.com/XBTXMR/status/2022623288120250599#m
18:08:35
jeffro256:monero.social:
Monerotopia was awesome, definitely recommended to anyone if they can make it. There was nowhere near the OVK doomerism in person as online ;)
18:08:59
rbrunner7:monero.social:
Good to hear!
18:09:37
jeffro256:monero.social:
Lots of great talks in the dome and out of the dome
18:10:05
jeffro256:monero.social:
Met the Cyperstack folks for the first and they're great too
18:10:22
rbrunner7:monero.social:
You mean their new people?
18:10:55
jeffro256:monero.social:
Any of them ;) Never met Diego in-person, nor Luke, nor Rigo, nor Josh, etc
18:11:24
jeffro256:monero.social:
nor Brandon
18:11:55
jeffro256:monero.social:
I guess I've met Sarang, who *used* to be at Cypherstack IIRC
18:12:05
rbrunner7:monero.social:
I see. Yeah, it's nice to finally meet people in the real world, after so many virtual contacts
18:13:05
rbrunner7:monero.social:
Alright, seems that's it about the reports. Do we have anything to discuss today beyond those?
18:14:11
sneedlewoods_xmr:matrix.org:
I noticed something in regards to exceptions in wallet-rpc
18:14:39
sneedlewoods_xmr:matrix.org:
in wallet-rpc we often have this pattern `try { m_wallet->some_method(); } catch (const std::exception &e) { handle_rpc_exception(std::current_exception); }` e.g. [here](https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/wallet_rpc_server.cpp#L2367-L2384), meaning the exception comes directly from `wallet2`. Now the Wallet API handles<clipped
18:14:39
sneedlewoods_xmr:matrix.org:
exceptions on it's own (by `setStatusError(error_msg)` if there was something to catch) and does not propagate them.
18:14:41
sneedlewoods_xmr:matrix.org:
For now I added a macro to wallet-rpc that I call after `m_wallet_impl->someMethod()` to keep the pattern: `THROW_WALLET_EXCEPTION_ON_API_ERROR(tools::error::wallet_internal_error)`
18:14:43
sneedlewoods_xmr:matrix.org:
But this way we lose control of `handle_rpc_exception()` [src](https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/wallet_rpc_server.cpp#L3809), most importantly the `er.code` for the response.
18:14:45
sneedlewoods_xmr:matrix.org:
Any suggestions are welcome.
18:15:56
sneedlewoods_xmr:matrix.org:
don't need an answer now, just wanted to get it out
18:17:34
rbrunner7:monero.social:
My first naive reaction is the question why still handling anything with exceptions in the RPC code? Are there other sources of exceptions than then Wallet API?
18:18:22
rbrunner7:monero.social:
Or better said, now that the Wallet API is no source of exceptions anymore, what is left?
18:18:26
sneedlewoods_xmr:matrix.org:
yes, a lot of arguments are getting pre validated
18:19:06
jeffro256:monero.social:
Ah I see, I think that I would break the pattern in wallet-rpc then if we plan to keep using the check-type API. Very few endpoints in the `wallet2_api` actually throw exceptions, right?
18:19:16
sneedlewoods_xmr:matrix.org:
I mean e.g. something like this https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/wallet_rpc_server.cpp#L651
18:19:52
sneedlewoods_xmr:matrix.org:
AFAIK if they throw exceptions, then the implementation is incorrect
18:20:46
rbrunner7:monero.social:
I would also strongly suspect that exceptions are not part of the API, so to say
18:21:10
jeffro256:monero.social:
Looking at the source, a lot of the multisig code throws exceptions, but that's all the exceptions that I can see which *originate* in the wallet2_api
18:21:32
jeffro256:monero.social:
So that feels like a mistake
18:24:06
jeffro256:monero.social:
So yeah if we plan to stay with the current `wallet2_api` exception handling, then it's RPC which hould be refactored
18:24:25
sneedlewoods_xmr:matrix.org:
if you are referring to [checkMultisigWalletReady()](https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/api/wallet.cpp#L120) that method is called inside a `try` block [src](https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/api/wallet.cpp#L1524)
18:24:44
rbrunner7:monero.social:
Your question basically is whether people also see your approach as the "least bad" that is possible while keeping the general exception centric approach, SNeedlewoods ?
18:24:56
jeffro256:monero.social:
If the `wallet2_api` exception handling isn't "rich" enough to keep the RPC API intact, then that information needs to be added to the `wallet2_api` exception handling
18:25:28
sneedlewoods_xmr:matrix.org:
Yes
18:25:45
rbrunner7:monero.social:
Don't remember right now, does the RCP interface give back detailed error info to the remote caller?
18:26:08
sneedlewoods_xmr:matrix.org:
An alternative I see (which I think is very bad) is to read the error messages in the wallet rpc and then throw according to the messages
18:26:17
rbrunner7:monero.social:
Or is it more a question of what goes into logs?
18:27:40
sneedlewoods_xmr:matrix.org:
The logs will change slightly, but that shouldn't be a big problem AFAICT. I'm more concerned about the error codes that get returned by failing RPC calls
18:28:47
jeffro256:monero.social:
https://github.com/monero-project/monero/blob/4efde0f4da05e908fd159b02a12dea3c46a6749a/src/wallet/wallet_rpc_server_error_codes.h
18:29:11
jeffro256:monero.social:
These errors code should absolutely retain their place in the API
18:29:39
jeffro256:monero.social:
And also their corresponding error messages, but to a much lesser extent IMO
18:29:48
sneedlewoods_xmr:matrix.org:
I will focus on this during this week
18:30:19
rbrunner7:monero.social:
Maybe there is some way to make codes available to callers that does not break the API? And then it's only question of translating Wallet API codes to RPC wallet codes.
18:32:01
rbrunner7:monero.social:
That stuff is too far away, have to check again
18:32:11
sneedlewoods_xmr:matrix.org:
Alright, thanks for the feedback
18:33:22
rbrunner7:monero.social:
Ok, looks like we can close the meeting here. Thanks everybody for attending, read you again next week!
18:33:43
sneedlewoods_xmr:matrix.org:
Thanks everyone, see you
18:38:40
jpk68:matrix.org:
Thanks
18:38:52
jpk68:matrix.org:
I'm just interested in contributing - if there's something I can help with, I'd be happy to
18:38:59
jpk68:matrix.org:
Sorry for sending late, haha
18:40:27
rbrunner7:monero.social:
Great! Are you already aware about this list? https://github.com/monero-project/monero/issues
18:40:40
jpk68:matrix.org:
Yes :)
18:40:54
jpk68:matrix.org:
I got a merged PR in the Monero repo a week or two ago
18:41:13
rbrunner7:monero.social:
Splendid.
18:42:22
rbrunner7:monero.social:
I think as soon as the FCMP++ stuff goes into broader use, e.g. with beta testnet, there will be a lot of work "at the fringes", beside what jeffro and jberman do as core devs
18:43:01
rbrunner7:monero.social:
And testing, of course. There can never be enough testing :)
18:44:41
jpk68:matrix.org:
For sure, thank you
18:45:08
jpk68:matrix.org:
Just posted in case there was anything wallet-specific recently
18:48:44
jeffro256:monero.social:
Please bully the Trezor and Ledger devs into responding to my emails
18:49:09
jeffro256:monero.social:
I'm trying to help them with the integration
18:51:09
rbrunner7:monero.social:
How long does this "game" already do on? Do they basically ghost you?
18:51:10
rbrunner7:monero.social:
*go on
18:52:19
jeffro256:monero.social:
Yeah, more or less. I'm sure they're actually busy but I have gotten zilch back
18:53:11
jpk68:matrix.org:
Unfortunately I have no connections there ;)
18:53:19
jpk68:matrix.org:
I wish I did
18:55:19
rbrunner7:monero.social:
I wonder when we reach the point where we can try to go public with this problem in our and their subreddits ... less directed, but a lot more eyeballs
18:56:03
rbrunner7:monero.social:
We could threaten them with making a million AI PRs if they don't react :)
18:59:38
jeffro256:monero.social:
https://matrix.monero.social/_matrix/media/v1/download/monero.social/iVxWkecrDmGvUPaYIxpiSSIz