Skip to content

Conversation

@rafael-xmr
Copy link

@rafael-xmr rafael-xmr commented Nov 6, 2025

Note

Add Monero subaddress listing (with received/tx counts), creation, and labeling, wired through FFI, Tauri commands/events, Redux, and a new UI modal/button.

  • Monero Core (FFI/Bindings):
    • Expose subaddress APIs in monero-sys (numSubaddresses, getSubaddressLabel, addSubaddress, setSubaddressLabel).
    • Add transaction helpers for subaddress account/indices.
    • Implement SubaddressSummary and wallet methods to compute summaries per account (address, label, received, tx_count) and create/update subaddresses.
  • Backend API / Commands:
    • New requests/commands: get_monero_subaddresses, create_monero_subaddress, set_monero_subaddress_label (wired in src-tauri/src/commands.rs).
    • Emit MoneroWalletUpdate::SubaddressesUpdate with current summaries.
  • Frontend (GUI):
    • New SubaddressesModal to list subaddresses, copy addresses, show received/tx count, create new subaddress, and edit labels.
    • Add "Subaddresses" action button in WalletActionButtons.
    • Redux: add subaddresses to wallet state and setSubaddresses action; handle SubaddressesUpdate in background.ts.
    • RPC helpers for fetching/creating/updating subaddresses in renderer/rpc.ts.

Written by Cursor Bugbot for commit d893570. This will update automatically on new commits. Configure here.

@binarybaron
Copy link

very cool! I'll review this ASAP

@binarybaron
Copy link

Compilations fails with this error on my machine:

/Users/_/Development/eigenwallet/wallet/target/debug/build/monero-sys-c81930dca039ffc4/out/cxxbridge/sources/monero-sys/src/bridge.rs.cc:1031:10: error: cannot initialize a variable of type 'bool (*)(::Monero::Wallet &, ::std::uint32_t, const ::std::string &)' (aka 'bool (*)(Monero::Wallet &, unsigned int, const basic_string<char> &)') with an lvalue of type 'bool (Wallet *, uint32_t, const std::string &)' (aka 'bool (Monero::Wallet *, unsigned int, const basic_string<char> &)'): type mismatch at 1st parameter ('::Monero::Wallet &' (aka 'Monero::Wallet &') vs 'Wallet *')
 1031 |   bool (*addSubaddress$)(::Monero::Wallet &, ::std::uint32_t, ::std::string const &) = ::Monero::addSubaddress;
      |          ^                                                                             ~~~~~~~~~~~~~~~~~~~~~~~
/Users/_/Development/eigenwallet/wallet/target/debug/build/monero-sys-c81930dca039ffc4/out/cxxbridge/sources/monero-sys/src/bridge.rs.cc:1043:10: error: cannot initialize a variable of type 'bool (*)(::Monero::Wallet &, ::std::uint32_t, ::std::uint32_t, const ::std::string &)' (aka 'bool (*)(Monero::Wallet &, unsigned int, unsigned int, const basic_string<char> &)') with an lvalue of type 'bool (Wallet *, uint32_t, uint32_t, const std::string &)' (aka 'bool (Monero::Wallet *, unsigned int, unsigned int, const basic_string<char> &)'): type mismatch at 1st parameter ('::Monero::Wallet &' (aka 'Monero::Wallet &') vs 'Wallet *')
 1043 |   bool (*setSubaddressLabel$)(::Monero::Wallet &, ::std::uint32_t, ::std::uint32_t, ::std::string const &) = ::Monero::setSubaddressLabel;
      |          ^                                                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 warnings and 2 errors generated.

@binarybaron
Copy link

bugbot run

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no bugs!


Copy link

@binarybaron binarybaron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some more comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants