Commit Graph

1237 Commits

Author SHA1 Message Date
stoffu f36132a837 wallet cli/rpc: terminate execution with code 0 when --help or --version is given 2018-04-22 11:48:44 +09:00
Riccardo Spagni a3a617f35f Merge pull request #3576
f82c10dc WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time (stoffu)
2018-04-21 21:58:10 +02:00
Riccardo Spagni 03ff3be10e Merge pull request #3672
875c1cab wallet2: increase rpc timeout for get_output_distribution (moneromooo-monero)
70f23217 add top height to get_output_distribution, and cache it for rct (moneromooo-monero)
8c7363fb rpc: add missing perf timer for get_output_distribution (moneromooo-monero)
2018-04-21 21:54:08 +02:00
moneromooo-monero 875c1cabb9 wallet2: increase rpc timeout for get_output_distribution 2018-04-19 16:06:26 +01:00
moneromooo-monero 70f2321763 add top height to get_output_distribution, and cache it for rct
This should cache the vast majority of calls for long running wallets
2018-04-19 16:06:22 +01:00
stoffu b5d6c723e9 wallet2: store subaddress lookahead settings 2018-04-12 22:23:53 +09:00
cslashm 94b899db26 Use 'boost' mutex instead of 'std' mutex 2018-04-12 13:58:57 +02:00
cslashm 2c274e05fe Fix sub-address tx scan.
When additional keys was needed, the TX scan failed because the
derivation data was always recomputed with the main tx_key and not
the corresponding additional one.

Moreover this patch avoid perf decreasing when not using HW device.
2018-04-12 13:58:57 +02:00
Riccardo Spagni 5e08fd89ea Merge pull request #3549
73951cbd wallet2: request transactions in slices when scanning for known rings (moneromooo-monero)
25fe67e4 rpc: allow getting pruned blocks from gettransactions (moneromooo-monero)
2018-04-12 13:49:33 +02:00
Riccardo Spagni 14c870ee5f Merge pull request #3615
24acb66e wallet2: fix misc issues when the ringdb can't be initialized (moneromooo-monero)
2018-04-12 13:47:54 +02:00
Riccardo Spagni 3b8704b0fa Merge pull request #3555
0b26c4d5 wallet2: move segregation height to v7 (moneromooo-monero)
2018-04-12 13:47:39 +02:00
Riccardo Spagni 5d8439e310 Merge pull request #3534
eecfb57d wallet: warn if not using the default ring size (moneromooo-monero)
2018-04-12 13:47:20 +02:00
Riccardo Spagni 8703f1d80e Merge pull request #3516
1e0958c0 wallet: fix default mixin (4 -> 6) (sneurlax)
2018-04-12 13:46:18 +02:00
moneromooo-monero 24acb66eac wallet2: fix misc issues when the ringdb can't be initialized 2018-04-12 11:07:07 +01:00
Riccardo Spagni 5053f8f40b Merge pull request #3502
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
2018-04-12 11:14:43 +02:00
Riccardo Spagni 96b2fee721 Merge pull request #3536
c77d2bfa Add the possibility to export private view key for fast scan. (cslashm)
100b7bc1 Change mutex lock model to avoid dead lock and ensure locks are always released. (cslashm)
641dfc99 Automatic height setup when creating/restoring hw device. (cslashm)
2018-04-12 11:12:33 +02:00
Riccardo Spagni 1b4dc46129 Merge pull request #3473
eaa8bfe7 wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly The previous expression (stoffu)
0a619f78 wallet2: enable the mitigation only after the fork height (stoffu)
2018-04-12 11:05:31 +02:00
Riccardo Spagni ebb55f797b Merge pull request #3468
0098ed33 wallet2: fix for loading settings of key reuse mitigation (stoffu)
2018-04-12 11:00:47 +02:00
moneromooo-monero 73951cbd39 wallet2: request transactions in slices when scanning for known rings
This avoid massive memory consumption for huge wallets
2018-04-07 08:31:46 +01:00
moneromooo-monero 25fe67e4cf rpc: allow getting pruned blocks from gettransactions
and get them pruned in find_and_save_rings, since it does not need
the pruned data in the first place.

Also set decode_to_json to false where missing, we don't need this
either.
2018-04-07 08:29:11 +01:00
stoffu f82c10dc96 WalletManagerImpl: reuse existing connection to daemon instead of reconnectivng every time 2018-04-07 14:06:29 +09:00
moneromooo-monero 0b26c4d57c wallet2: move segregation height to v7
since people seem to really want to use things the wrong way.
2018-04-05 12:49:38 +01:00
cslashm c77d2bfaa0 Add the possibility to export private view key for fast scan.
On client startup the device asks for authorization to export the private view key.
If user agree, the client hold the private view key allowing a fast blockchain scan.
If the user does not agree, the blockchain scan is fully done via the device.
2018-03-31 18:00:33 +02:00
moneromooo-monero eecfb57df9 wallet: warn if not using the default ring size 2018-03-31 15:47:02 +01:00
sneurlax 1e0958c083 wallet: fix default mixin (4 -> 6) 2018-03-28 09:30:11 -07:00
moneromooo-monero 11c933e137 fix lambda compile error on openbsd 2018-03-27 14:48:36 +01:00
stoffu eaa8bfe7c0 wallet2: set from_height of GET_OUTPUT_DISTRIBUTION correctly
The previous expression

    req_t.from_height = X ? Y >= Z : 0;

forces the parameter to take the value of either 0 or 1.
2018-03-22 20:02:25 +09:00
stoffu 0a619f789b wallet2: enable the mitigation only after the fork height 2018-03-22 20:02:14 +09:00
stoffu 0098ed338c wallet2: fix for loading settings of key reuse mitigation 2018-03-22 12:10:46 +09:00
moneromooo-monero 5730049178 wallet: catch exceptions dealing with ringdb and warn 2018-03-21 14:29:49 +00:00
moneromooo-monero 1e393f4bb7 wallet: make the segregation height settable
via user setting first, then DNS TXT record, hardcoded fallback
2018-03-17 14:56:31 +00:00
Riccardo Spagni 5cd36e48bf Merge pull request #3421
9732a37e wallet_rpc_server: add sweep_unmixable as alias for sweep_dust (moneromooo-monero)
2018-03-17 16:52:46 +02:00
moneromooo-monero 9732a37e9a wallet_rpc_server: add sweep_unmixable as alias for sweep_dust 2018-03-17 11:22:58 +00:00
stoffu b86f1e5dad Add command line option allowing to restrict the default sub-address lookahead in order to avoid
so looooong time of set-up when creating a HW based wallet.
2018-03-16 18:00:28 +01:00
Riccardo Spagni 0f27fc57ac Merge pull request #3336
57c0b1ed Fix typos in various files (Dimitris Apostolou)
2018-03-16 18:08:07 +02:00
moneromooo-monero eac3a11ed3 wallet: more user friendly print_ring
It can now take a txid (to display rings for all its inputs),
and will print rings in a format that set_ring understands
2018-03-16 12:07:45 +00:00
moneromooo-monero 798535149d wallet2_api: add key reuse mitigations API 2018-03-16 12:07:42 +00:00
moneromooo-monero b057a21d56 wallet2_api: add ring api 2018-03-16 10:33:05 +00:00
moneromooo-monero d32ef7b0f2 ringdb: factor ring addition code 2018-03-16 10:33:02 +00:00
moneromooo-monero a7da8208f5 wallet2_api: add blackball api 2018-03-16 10:32:59 +00:00
moneromooo-monero 504428ab4a ringdb: use the genesis block as a db name
This will avoid careless forkers polluting the shared database
even if they make their own chain. They'll then automatically
start using another subdb, and any key-reusing fork of those
forks will reuse their subdbs.
2018-03-16 10:32:54 +00:00
moneromooo-monero b09e5181cc wallet: add a set_ring command
This is so one can set rings for spent key images in case the
attackers don't merge the ring matching patch set.
2018-03-16 10:32:51 +00:00
moneromooo-monero db10dd6d83 wallet: make ringdb an object with database state 2018-03-16 10:32:42 +00:00
moneromooo-monero d29ea0455a wallet: add an output blackball list to avoid using those in rings 2018-03-16 10:32:37 +00:00
moneromooo-monero 18eaf19489 wallet: key reuse mitigation options
If a pre-fork output is spent on both Monero and attack chain,
any post-fork output can be deduced to be a fake output, thereby
decreasing the effective ring size.

The segregate-per-fork-outputs option, on by default, allows
selecting only pre-fork outputs in this case, so that the same
ring can be used when spending it on the other side, which does
not decrease the effective ring size.

This is intended to be SET when intending to spend Monero on the
attack fork, and to be UNSET if not intending to spend Monero
on the attack fork (since it leaks the fact that the output being
spent is pre-fork).

If the user is not certain yet whether they will spend pre-fork
outputs on a key reusing fork, the key-reuse-mitigation2 option
should be SET instead.

If you use this option and intend to spend Monero on both forks,
then spend real Monero first.
2018-03-16 10:32:34 +00:00
moneromooo-monero 5f146873c5 wallet: add shared ring database
This maps key images to rings, so that different forks can reuse
the rings by key image. This avoids revealing the real inputs like
would happen if two forks spent the same outputs with different
rings. This database is meant to be shared with all Monero forks
which don't bother making a new chain, putting users' privacy at
risk in the process. It is placed in a shared data directory by
default ($HOME/.shared-ringdb on UNIX like systems). You may
use --shared-ringdb-dir to override this location, and should
then do so for all Monero forks for them to share the database.
2018-03-16 10:32:29 +00:00
moneromooo-monero 41f727ce42 add RPC to get a histogram of outputs of a given amount 2018-03-16 10:32:26 +00:00
Dimitris Apostolou 57c0b1ed9f Fix typos in various files 2018-03-15 18:25:38 +02:00
stoffu a7266d6d7b wallet2+cli+rpc: eliminate redundant m_http_client from cli/rpc and delegate calls to wallet2 2018-03-15 22:01:51 +09:00
stoffu 71d186566e replace invoke_http_json("/json_rpc",...) with invoke_http_json_rpc("/json_rpc",methodname,...) to reduce boilerplate 2018-03-14 23:23:59 +09:00