Commit graph

218 commits

Author SHA1 Message Date
j-berman
e71c8bf190 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 23:11:58 -07:00
jeffro256
8e80585ef5
functional_tests: test HTTP digest auth
Test:
  1. Can't login to RPC server with --rpc-login enabled, but no auth provided
  2. Can access RPC server with correct login
  3. Can use internal HTTP client to access RPC server with correct login

With commit 0ae5c91e50 not reverted, we fail test 3.
2024-03-11 23:54:50 -05:00
jeffro256
b13c5f6669
wallet: feature: transfer amount with fee included
To transfer ~5 XMR to an address such that your balance drops by exactly 5 XMR, provide a `subtractfeefrom` flag to the `transfer` command. For example:

    transfer 76bDHojqFYiFCCYYtzTveJ8oFtmpNp3X1TgV2oKP7rHmZyFK1RvyE4r8vsJzf7SyNohMnbKT9wbcD3XUTgsZLX8LU5JBCfm 5 subtractfeefrom=all

If my walet balance was exactly 30 XMR before this transaction, it will be exactly 25 XMR afterwards and the destination address will receive slightly
less than 5 XMR. You can manually select which destinations fund the transaction fee and which ones do not by providing the destination index.
For example:

    transfer 75sr8AAr... 3 74M7W4eg... 4 7AbWqDZ6... 5 subtractfeefrom=0,2

This will drop your balance by exactly 12 XMR including fees and will spread the fee cost proportionally (3:5 ratio) over destinations with addresses
`75sr8AAr...` and `7AbWqDZ6...`, respectively.

Disclaimer: This feature was paid for by @LocalMonero.
2024-02-20 17:08:06 -06:00
luigi1111
39a698d22c
Merge pull request #9119
9690bfd gpg_keys: add 0xfffc0000 (0xFFFC0000)
2024-01-18 18:09:22 -05:00
9690bfda27
gpg_keys: add 0xfffc0000 2024-01-09 03:52:30 +03:30
tobtoht
deb8c79a97
gpg_keys: add tobtoht 2023-11-05 16:15:19 +01:00
luigi1111
d5da693866
Merge pull request #8958
b0bf49a blockchain_db: add k-anonymity to txid fetching (jeffro256)
2023-10-25 21:34:06 -04:00
luigi1111
3b67d5fc5b
Merge pull request #8914
45b52de wallet-rpc: restore from multisig seed (jeffro256)
2023-08-17 10:20:20 -05:00
jeffro256
b0bf49a65a
blockchain_db: add k-anonymity to txid fetching
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions
by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called
`get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can
ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical
chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits`
to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth.

Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-08-01 17:25:25 -05:00
jeffro256
45b52de28e
wallet-rpc: restore from multisig seed 2023-07-28 12:17:14 -05:00
luigi1111
d732cb3d3d
Merge pull request #8856
360a145 utils: remove munin_plugins (tobtoht)
2023-06-27 11:42:34 -05:00
luigi1111
b86a620b4d
Merge pull request #8855
bb83eb1 daemon: remove --fluffy-blocks (tobtoht)
2023-06-27 11:41:57 -05:00
tobtoht
360a14588f
utils: remove munin_plugins 2023-05-12 17:50:50 +02:00
tobtoht
bb83eb151a
daemon: remove --fluffy-blocks 2023-05-12 17:39:38 +02:00
tobtoht
6b8dfb8fb9
daemon: remove os-version 2023-05-10 23:15:03 +02:00
mj-xmr
5b4fea72cf Copyright: Update to 2023
Co-authored-by: plowsof <plowsof@protonmail.com>
extra files
2023-01-16 13:00:18 +01:00
moneromooo-monero
832173a490
gpg_keys: bump my key validity by another two years 2022-11-17 17:45:14 +00:00
luigi1111
e7d673e367
Merge pull request #8571
9274426 Keys: Update for expired 'rbrunner7' key, valid 2 years (rbrunner7)
2022-10-28 00:50:39 -04:00
luigi1111
0a10a4f870
Merge pull request #8329
4b0785f add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-26 14:46:06 -05:00
koe
4b0785f1c9 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:38:35 -05:00
rbrunner7
9274426183
Keys: Update for expired 'rbrunner7' key, valid 2 years 2022-09-16 15:05:04 +02:00
j-berman
b8271ab881 wallet2: check wallet compatibility with daemon's hard fork version 2022-09-12 21:24:24 -06:00
luigi1111
c89d06341a
Merge pull request #8513
959a3e6 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero)
a098504 wallet2: better test on whether to allow output import (moneromooo-monero)
c5579ac allow exporting outputs in chunks (moneromooo-monero)
1e912ec wallet2: fixes for export/import output flow (j-berman)
692f1d4 wallet2: do not assume imported outputs must be non empty (moneromooo-monero)
67b6d6a wallet2: prevent importing outputs in a hot wallet (moneromooo-monero)
d9fc666 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
2022-09-09 12:48:47 -05:00
luigi1111
ae6ec3913d
Merge pull request #8444
308e3fa gpg_keys: add jeffro256 key (Jeffrey Ryan)
2022-08-22 22:47:12 -05:00
luigi1111
ce80747c58
Merge pull request #8427
1fc60ca Publish submitted txs via zmq (j-berman)
2022-08-22 22:45:14 -05:00
moneromooo-monero
c5579ac236
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-08-18 06:53:41 +00:00
j-berman
1fc60cac58 Publish submitted txs via zmq 2022-07-21 11:36:00 -07:00
Jeffrey Ryan
308e3fa302 gpg_keys: add jeffro256 key 2022-07-18 12:55:43 -05:00
Leo Nerone
d486c0322f utils: add fish shell completions
Fish shell completions for monerod, monero-wallet-cli, and monero-wallet-rpc.
2022-06-30 19:38:49 -03:00
luigi1111
f96cf86532
Merge pull request #8328
2979474 disable multisig by default (moneromooo-monero)
2022-05-26 21:22:52 -05:00
moneromooo-monero
2979474221
disable multisig by default
There are vulnerabilities in multisig protocol if the parties do not
trust each other, and while there is a patch for it, it has not been
throroughly reviewed yet, so it is felt safer to disable multisig by
default for now.
If all parties in a multisig setup trust each other, then it is safe
to enable multisig.
2022-05-17 19:52:03 +00:00
selsta
af08c83e25
utils: delete outdated windows build script 2022-05-07 21:49:02 +02:00
luigi1111
0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
luigi1111
4cb3b422e1
Merge pull request #8170
14eb42d systemd: remove outdated torsocks example (selsta)
2022-03-18 16:30:25 -05: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
selsta
14eb42d12d
systemd: remove outdated torsocks example 2022-02-08 19:49:00 +01:00
Howard Chu
a4ebec9afb
Add python method 2021-11-21 01:24:10 +00:00
luigi1111
e7974926d5
Merge pull request #7808
7caab8d utils/health: separate Clang Tidy tests for C & C++ (mj-xmr)
2021-10-17 23:24:50 -05:00
SChernykh
dfee15eee1 RPC and ZeroMQ APIs to support p2pool
Adds the following:

- "get_miner_data" to RPC API
- "json-miner-data" to ZeroMQ subscriber contexts

Both provide the necessary data to create a custom block template. They are used by p2pool.

Data provided:

- major fork version
- current height
- previous block id
- RandomX seed hash
- network difficulty
- median block weight
- coins mined by the network so far
- mineable mempool transactions
2021-09-11 15:15:07 +02:00
mj-xmr
7caab8dd74
utils/health: separate Clang Tidy tests for C & C++ 2021-07-27 11:17:27 +02:00
malinero
30c15a6ca8 Remove obsolete android dockerfiles 2021-07-09 01:05:18 +02:00
moneromooo-monero
b8b054c0f1
python-rpc: add missing python api for new freeze/thaw/frozen RPC 2021-06-11 07:00:27 +00:00
luigi1111
ea5c99f142
Merge pull request #7685
8c3c7b8 depends, docker: fix bintray links (selsta)
2021-05-12 15:32:16 -05:00
selsta
8c3c7b8109
depends, docker: fix bintray links 2021-04-27 09:55:32 +02:00
mj-xmr
eb272b12a3
Add mj-xmr GPG key 2021-04-17 06:48:39 +02:00
luigi1111
2cb31c42a8
Merge pull request #7391
7b51547 gpg_keys: add anon (anon)
2021-03-29 21:21:38 -04:00
moneromooo-monero
3bd3a44aac
python-rpc: add function for new scan_tx RPC 2021-03-20 17:40:46 +00:00
luigi1111
6776b70140
Merge pull request #7398
5984277 python-rpc: adapt urlparse for python3 (moneromooo-monero)
2021-03-20 01:43:50 -04:00