vtnerd 2025 Q3 Proposal
3-Months full-time software development on monero components in 2025 q3
What
Work primarily on monerod
, wallet
, monero-lws
, and lwsf
. Some of the work to be attempted or investigated:
- Code reviews of monero core PRs
- monerod/monero-lws bug fixes and HackerOne mitigations as they arrive
- Keep existing PRs up-to-date:
- New Serialization routine
- Change from raw pointers to weak_ptrs in levin code
- Socks v5
- P2P SSL Support
- Updating levin callbacks to C++14 moves
- Find (possible) memory leak in weak_ptr PR
- Complete work necessary to merge DANE/TLSA in wallet2/epee.
- Adding trust-on-first-use support to wallet2
- Add msgpack support to monerod-ZMQ (requires merging of new serialization system)
-
monero-lws
work:- Add support for new draft/PR of
/import_wallet_request
with lookahead - Determine a “push” interface for LWS clients (instead of existing poll interface)
- Update LWS spec and implementation to support new "carrot" features (view-balance key, etc)
- Update LWS backend to work with fcmp++ experimental branch
- Add a "scale" factor to remote scanning load balancing - send more accounts to systems with faster single thread performance
- Add 64-bit ed25519 code for faster arm64 scanning. Latest "Supercop" has unverified neon implementation.
- Provide official LWS docker-image
- Provide pre-built binaries
- (Unlikely) - reproducible builds so community members can verify+sign the binary hashes
- Add support for new draft/PR of
-
lwsf
(LWSF-frontend) work:- Fix subaddress handling:
- New wallets will have zero lookahead, as the frontend should know about every subaddress
- Imported wallets will use the draft/PR lookahead spec
- Complete remainder of functions, EXCEPT for multisig and a few other non-critical functions.
- The remainder of work is primarily support for hardware devices
- Better support for handling (dropping) "dust" outputs during "sweeps"
- Integrate with
monero_c
project
- Fix subaddress handling:
There is intentionally more work than time allows - to ensure there is always something to work on in the proposal.
Who
Lee Clagett (vtnerd). I've had six CCS, proposals (last one), and one Magic Grant.
Some of my biggest features in monero core repo are Dandelion++, adding supercop ASM speedups to wallet code, ZeroMQ Pub Support for new blocks and transactions, and SSL support to p2p.
Most recently I've created lwsf
- a client library for the LWS protocol that implements the monero-gui
C++ interface. This will hopefully enable more light-wallet implementations, and may make MyMonero implementation easier too.
I've also made a functional LWS wallet scanner under CCS/Magic - which now has a MyMonero compatible REST API (now fully non-blocking to support more responses per thread), admin REST API, LMDB storage, subaddress support, webhook/zmq/rmq publishing (new receives, spends, and accounts), multi-machine scanning with (primitive) load-balancing, and an untrusted daemon mode that verifies PoW is valid (whereas normal wallets trust monerod
responses entirely).
Proposal
Work on the various tasks outlined above for 40 hours/week over the next 3 months after potential funding. I already use time-tracking software for work; if the hours dip in a given month unexpectedly, the update/milestone will be at the completion of the hours listed above.
The funds were calculated with 65 USD/hour with ~314.00 USD/XMR which is the 14-day exponential moving average on Kraken through 2025/06/30.