Commit Graph
300 Commits
Author SHA1 Message Date
plowsofandsuch-gitea f2c3f8ce3e wallet_api: set m_password in the recovery creation paths
libwallet_api_tests: cover password retention on wallet recovery

(cherry picked from commit 3a0df2b80b1dadcfd1a0115bd4667c6fb73b5d33)
2026-10-04 18:50:21 -04:00
wowario 9f429cfc89 wownero skin pack 2025-09-19 21:01:45 +03:00
wowario de22caa968 cleanup old bp 2025-09-19 21:01:43 +03:00
jeffro256andj-berman 8f98dac4f0 wallet: deprecate wallet2::find_and_save_rings()
Rings for outgoing transactions are stored within the scanning code since the last hardfork,
so this code is largely unneccessary now.

Co-authored-by: j-berman <justinberman@protonmail.com>
2025-07-29 12:32:20 -05:00
tobtoht 5b045d70e0 Merge pull request #8617
e44e8b164 wallet: background sync with just the view key (j-berman)
2025-02-13 17:43:24 +00:00
jeffro256 65568d3a88 build: fix build with Boost 1.85 and remove instances of viewkey logging [RELEASE]
1. Use std::is_standard_layout and std::is_trivially_copyable instead of std::is_pod for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Removed reimplementation of std::hash for boost::uuids::uuid
3. Removed << operator overload for crypto::secret_key
4. Removed instances in code where private view key was dumped to the log in plaintext

Release version of #9450, containing C++14 modified assertions
2024-09-10 16:07:36 -05:00
j-berman e44e8b1640 wallet: background sync with just the view key
- When background syncing, the wallet wipes the spend key
from memory and processes all new transactions. The wallet saves
all receives, spends, and "plausible" spends of receives the
wallet does not know key images for.
- When background sync disabled, the wallet processes all
background synced txs and then clears the background sync cache.
- Adding "plausible" spends to the background sync cache ensures
that the wallet does not need to query the daemon to see if any
received outputs were spent while background sync was enabled.
This would harm privacy especially for users of 3rd party daemons.
- To enable the feature in the CLI wallet, the user can set
background-sync to reuse-wallet-password or
custom-background-password and the wallet automatically syncs in
the background when the wallet locks, then processes all
background synced txs when the wallet is unlocked.
- The custom-background-password option enables the user to
open a distinct background wallet that only has a view key saved
and can be opened/closed/synced separately from the main wallet.
When the main wallet opens, it processes the background wallet's
cache.
- To enable the feature in the RPC wallet, there is a new
`/setup_background_sync` endpoint.
- HW, multsig and view-only wallets cannot background sync.
2024-05-24 20:42:59 -07:00
jeffro256 dd47d03cf2 Enforce Tx unlock_time is Zero by Relay Rule [RELEASE]
Related to https://github.com/monero-project/research-lab/issues/78

Added a relay rule that enforces the `unlock_time` field is equal to 0 for non-coinbase transactions.

UIs changed:
* Removed `locked_transfer` and `locked_sweep_all` commands from `monero-wallet-cli`

APIs changed:
* Removed `unlock_time` parameters from `wallet2` transfer methods
* Wallet RPC transfer endpoints send error codes when requested unlock time is not 0
* Removed `unlock_time` parameters from `construct_tx*` cryptonote core functions

@tobtoht: undo rebase changes tx.dsts -> tx_dsts
2024-04-29 00:08:53 -05:00
j-berman 65e13dbef1 wallet2: fix rescanning tx via scan_tx
- Detach & re-process txs >= lowest scan height
- ensures that if a user calls scan_tx(tx1) after scanning tx2,
the wallet correctly processes tx1 and tx2
- if a user provides a tx with a height higher than the wallet's
last scanned height, the wallet will scan starting from that tx's
height
- scan_tx requires trusted daemon iff need to re-process existing
txs: in addition to querying a daemon for txids, if a user
provides a txid of a tx with height *lower* than any *already*
scanned txs in the wallet, then the wallet will also query the
daemon for all the *higher* txs as well. This is likely
unexpected behavior to a caller, and so to protect a caller from
revealing txid's to an untrusted daemon in an unexpected way,
require the daemon be trusted.
2023-03-13 12:57:43 -07:00
luigi1111 cce309512c Merge pull request #8615
85c9fe5 wallet2: fix create view-only wallet from existing wallet (j-berman)
2022-12-01 01:06:16 -06:00
j-berman 85c9fe515d wallet2: fix create view-only wallet from existing wallet 2022-10-18 13:47:50 -05:00
selsta 401dda5f10 wallet_api: take priority into account when estimating fee 2022-10-13 03:36:51 +02:00
luigi1111 0bef4265ac Merge pull request #8585
5ffa31c wallet2: fail to establish daemon cxn == 'Disconnected' cxn status (j-berman)
2022-09-26 14:57:58 -05:00
j-berman 5ffa31c48e wallet2: fail to establish daemon cxn == "Disconnected" cxn status 2022-09-21 20:12:16 -06:00
koe 1cd21bfba5 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:51:19 -05:00
j-berman 864a78ee5f wallet2: check wallet compatibility with daemon's hard fork version 2022-09-12 21:23:08 -06:00
moneromooo-monero 0cbf5571d3 allow exporting outputs in chunks
this will make it easier huge wallets to do so without hitting
random limits (eg, max string size in node).
2022-09-07 06:22:07 +00:00
luigi1111 969316685b Merge pull request #8371
16f8e04 Remove erraneous commas (Luke Parker)
da0715e Improve consistency between on_money_received and on_money_received_unconfirmed (Luke Parker)
2022-07-05 23:58:06 -05:00
Luke Parker 16f8e042b5 Remove erraneous commas 2022-06-01 19:38:42 -04:00
Luke Parker da0715e503 Improve consistency between on_money_received and on_money_received_unconfirmed
unconfirmed solely uses a - b, and received now accepts b so it can 
provide more detailed logs on what occurred (printing a - b, yet with a 
and b).
2022-06-01 18:20:11 -04:00
selsta de2f0d0102 wallet_api: add scanTransactions function 2022-05-26 03:51:31 +02:00
j-berman ea87b30f89 Add view tags to outputs to reduce wallet scanning time
Implements view tags as proposed by @UkoeHB in MRL issue
https://github.com/monero-project/research-lab/issues/73

At tx construction, the sender adds a 1-byte view tag to each
output. The view tag is derived from the sender-receiver
shared secret. When scanning for outputs, the receiver can
check the view tag for a match, in order to reduce scanning
time. When the view tag does not match, the wallet avoids the
more expensive EC operations when deriving the output public
key using the shared secret.
2022-04-18 00:49:53 -07:00
moneromooo-monero b030f20751 Fee changes from ArticMine
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf

with a change to use 1.7 instead of 2.0 for the max long term increase rate
2022-04-10 18:13:34 +00:00
luigi1111 0eb1b570b6 Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero a0d80b1f95 plug bulletproofs plus into consensus 2022-04-05 18:50:17 +00:00
mj-xmr da9aa1f7f8 Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
luigi1111 5eaa4434e8 Merge pull request #7877
e08abaa multisig key exchange update and refactor (koe)
2022-03-02 18:51:54 -05:00
koe e08abaa43f multisig key exchange update and refactor 2022-02-22 16:37:42 -06:00
mj-xmr eed7e79c04 UB: Not calling virtual method in destructor of WalletImpl 2021-09-07 14:24:53 +02:00
tobtoht a9aaa47abb wallet_api: add make_uri 2021-08-19 15:35:37 +02:00
rating89usandrating89us a3d2b71ee9 wallet_api: expose offline mode status 2021-07-19 00:30:36 +02:00
luigi1111 3c8c8e5a5b Merge pull request #7761
8ef51dc wallet_api: fix typo in exportKeyImages (selsta)
2021-07-10 17:59:56 -04:00
luigi1111 c53e22c40a Merge pull request #7748
bbeb555 wallet_api: getPassword (tobtoht)
2021-07-10 17:57:39 -04:00
tobtoht bbeb555f00 wallet_api: getPassword 2021-07-05 02:49:27 +02:00
tobtoht 8a67724218 wallet_api: get bytes sent/received 2021-06-24 21:32:03 +02:00
luigi1111 4f08d52dfa Merge pull request #7750
8e0b8dd wallet/api: remove Bitmonero namespace alias (selsta)
2021-06-24 14:12:37 -05:00
luigi1111 99aa45fd34 Merge pull request #7746
1aa1850 wallet_api: signMessage: add sign with subaddress (tobtoht)
2021-06-24 14:06:13 -05:00
luigi1111 7c3629a5ee Merge pull request #7742
f174a8f wallet_api: reconnectDevice (tobtoht)
2021-06-24 14:05:35 -05:00
selsta 8ef51dc546 wallet_api: fix typo in exportKeyImages 2021-06-23 20:44:13 +02:00
selsta 8e0b8ddb96 wallet/api: remove Bitmonero namespace alias 2021-06-08 23:29:41 +02:00
tobtoht 1aa1850ba5 wallet_api: signMessage: add sign with subaddress 2021-06-04 18:16:10 +02:00
tobtoht f174a8f05f wallet_api: reconnectDevice 2021-06-04 15:24:53 +02:00
tobtoht 6914d5b914 wallet_api: move adjust_mixin call within try block 2021-06-04 13:41:10 +02:00
luigi1111 e505ffef5f Merge pull request #7677
445a9d8 wallet_api: import / export output function (tobtoht)
2021-05-12 16:53:27 -05:00
luigi1111 9bba3f4767 Merge pull request #7651
c8ff1d4 monero-wallet-cli: improve error message when tx amount is zero (Elliot Wirrick)
2021-04-22 01:35:20 -04:00
tobtohtandselsta 445a9d8ba3 wallet_api: import / export output function 2021-04-22 04:26:17 +02:00
luigi1111 13418dbb98 Merge pull request #7648
25e8254 expose set_offline to wallet api (benevanoff)
2021-04-16 12:51:22 -05:00
luigi1111 2218e23e84 Merge pull request #7002
673c6d2 Reduce compilation time of epee/portable_storage_template_helper.h (mj-xmr)
2021-04-16 12:43:42 -05:00
Elliot Wirrick c8ff1d4d23 monero-wallet-cli: improve error message when tx amount is zero 2021-04-07 10:10:16 -04:00
benevanoff 25e82545f3 expose set_offline to wallet api 2021-04-05 13:41:04 -05:00