442 Commits

Author SHA1 Message Date
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
luigi1111
60e9426ef2
Merge pull request #8566
65e13db wallet2: fix rescanning tx via scan_tx (j-berman)
2023-06-27 11:20:25 -05:00
tobtoht
f983ac7780
fix missing <cstdint> includes 2023-05-08 19:29:54 +02: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
luigi1111
a092b943d5
Merge pull request #8249
a14fdf8 Remove /include (Jeffrey)
2022-04-25 10:20:10 -05: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
Jeffrey
a14fdf8d5a Remove /include
* `IWallet.h` hasn't been touched since 2014, and has been replaced by `src/wallet/api/wallet2_api.h`
* `INode.h` is in a similar situation with `src/p2p/net_node.h`
2022-04-09 23:47:02 -05: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
tobtoht
47e7a43270
wallet_api: enable set_strict_default_file_permissions 2021-10-22 05:40:23 +02: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
luigi1111
cb08466394
Merge pull request #7802
a3d2b71 wallet_api: expose offline mode status (rating89us)
2021-08-11 22:33:38 -04:00
rating89us
a3d2b71ee9 wallet_api: expose offline mode status 2021-07-19 00:30:36 +02:00
anon
fe76d7dee7
cmake: fix undefined symbols and multiple definitions 2021-07-13 08:00:20 +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
0a9d218044
Merge pull request #7749
e63c110 wallet_api: address_book: don't lose pid on setDescription (tobtoht)
2021-06-24 14:11:45 -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
e63c1107c0 wallet_api: address_book: don't lose pid on setDescription 2021-06-08 15:20:48 +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