Skip to content

Conversation

@Einliterflasche
Copy link

@Einliterflasche Einliterflasche commented Oct 15, 2025

Note

Expose per-output Monero transaction keys via FFI and return them from TxReceipt, update harness/swap to use them (incl. subaddress tip), add new monero transfer-proof tests, and wire into CI.

  • monero-sys (core/FFI/API):
    • Add Monero patch exposing PendingTransaction::txKeys(...) and plumb through C++ bridge to Rust as Vec<TxKey { txid, address, key }>.
    • Change TxReceipt to return per-output tx keys as HashMap<Address, PrivateKey>; update publish/validation to require single txid and keys for all specified outputs (incl. subaddresses).
    • Expose WalletHandle::address(...), make check_tx_status public, tweak logging filters.
  • monero-harness:
    • Re-export Cli; add new_with_sync_specified(..., background_synced); add check_tx_key; minor sync/balance handling.
  • swap:
    • Use new tx_keys map (select key for lock address); support developer tip to a subaddress; add happy_path_alice_developer_tip_subaddress test.
  • New crate: monero-tests:
    • Add integration tests for transfer proofs (transfers, transfers_wrong_key) using harness; verify correct and incorrect tx keys.
  • CI/Tooling:
    • CI runs new monero-tests and added swap subaddress test; justfile adds undo-monero-changes.
  • Misc:
    • Minor dependency version bumps (e.g., tauri) and lockfile updates.

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

cursor[bot]

This comment was marked as outdated.

This is annoying because it's increasing the diff size when I really
just want to extract the changes into a patch.
…tput.

Caviat: we currently skip all outputs that belong to the primary address.
This means we won't have a tx key when sending to our own main address or
for change outputs. Transactions which try anyway will fail in the rust
verification step.
@Einliterflasche
Copy link
Author

bugbot run

@cursor
Copy link

cursor bot commented Oct 24, 2025

Skipping Bugbot: Bugbot is disabled for this repository

@binarybaron
Copy link

bugbot run

@Einliterflasche
Copy link
Author

Einliterflasche commented Oct 24, 2025

happy_path_alice_developer_tip_subaddress passes now. I think we can merge after finishing the other tests

cursor[bot]

This comment was marked as outdated.

@binarybaron
Copy link

whats blocking this from being merged?

Maybe we can get a Monero developer to review our C++ patch?

@binarybaron
Copy link

@SNeedlewoods Would you be interested in looking over our C++ patch here?

@binarybaron
Copy link

@jeffro256 thanks for the review!

have you had a chance to look at the monero-sys/patches/eigenwallet_0003_pending_transaction_tx_keys.patch C++ patch? This is what we are most unsure about and where we are afraid to make mistakes.

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.

comments

@binarybaron
Copy link

bugbot run

@Einliterflasche Einliterflasche force-pushed the fix/monero-sys-multiple-tx-keys branch from a8056f1 to 37af555 Compare November 9, 2025 16:33
@Einliterflasche
Copy link
Author

The remaining failing ci checks (failed build on for windows, some integration tests) aren't cause by this PR: the tests were already failing beforehand and the windows build seems to be a temporary sourceforge problem. Merging this now.

@Einliterflasche Einliterflasche merged commit 5247781 into master Nov 9, 2025
41 of 53 checks passed
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.

5 participants