Commit Graph

1359 Commits

Author SHA1 Message Date
moneromooo-monero
2771a18e85
threadpool: allow leaf functions to run concurrently
Decrease the number of worker threads by one to account
for the fact the calling thread acts as a worker thread now
2018-06-26 22:15:22 +01:00
moneromooo-monero
2704624eae
wallet2: remove unneeded divisions 2018-06-26 22:15:20 +01:00
moneromooo-monero
5d3e70229e
wallet2: remove old blockchain size cache hack 2018-06-26 22:15:18 +01:00
moneromooo-monero
dcfd299239
wallet2: speedup refresh
key derivation and checking for incoming outputs are threaded
in batch before adding blocks to the local blockchain. Other
minor bits and bobs are also cached.
2018-06-26 22:15:16 +01:00
moneromooo-monero
f025ae9760
wallet2: avoid re-parsing blocks when refreshing in a loop 2018-06-26 22:15:12 +01:00
moneromooo-monero
41be339655
wallet2: avoid duplicate parsing of tx extra 2018-06-26 22:15:10 +01:00
moneromooo-monero
f7f1917ed4
wallet2: remove useless device locking 2018-06-26 22:14:35 +01:00
moneromooo-monero
ba8331ce41
wallet2: parse blocks in the RPC thread, not the processing thread
Processing typically is the bottleneck
2018-06-26 22:14:33 +01:00
moneromooo-monero
31a895e876
wallet2: simplify/speedup process_blocks 2018-06-26 22:14:31 +01:00
moneromooo-monero
57ea90285c
wallet: don't process miner tx if we're refreshing with no-coinbase 2018-06-26 22:14:26 +01:00
moneromooo-monero
ed2c81ed95
replace std::list with std::vector on some hot paths
also use reserve where appropriate
2018-06-26 22:14:21 +01:00
moneromooo-monero
6795bd0d4e
rpc: add option to skip coinbase info in get_blocks.bin 2018-06-26 22:14:16 +01:00
moneromooo-monero
a2b557fe5c
wallet2: use std::move on containers where appropriate 2018-06-26 22:14:14 +01:00
luigi1111
506be80601
Merge pull request #3955
d7a6b72 wallet2: fix bulletproof cold signing (moneromooo-monero)
2018-06-25 15:09:48 -05:00
luigi1111
26562e9f3c
Merge pull request #3941
bf26920 wallet2: fix get_approximate_blockchain_height for stagenet (stoffu)
2018-06-25 14:54:54 -05:00
moneromooo-monero
df9d50a8a4
wallet2: fix read buffer overflow in import_key_images 2018-06-23 09:22:20 +01:00
moneromooo-monero
3e46db97e5
rpc: add a non binary get_transaction_pool_hashes RPC 2018-06-21 09:02:42 +01:00
stoffu
46e90b7780
Wallet API: add support for wallet creation from hardware device 2018-06-21 12:36:27 +09:00
stoffu
8fc0cdb96f
wallet2: lower default for subaddress lookahead when restoring with hardware 2018-06-21 12:35:23 +09:00
stoffu
66df13a58b
wallet-rpc.getaddress: throw if index is out of bound 2018-06-21 10:49:03 +09:00
luigi1111
9a3712541e
Merge pull request #3939
62c8c07 wallet: do not log by default if we're not asked to log to console (moneromooo-monero)
2018-06-20 14:52:55 -05:00
luigi1111
51cdd76bbd
Merge pull request #3897
63d0ab0 mlog: --max-log-files to set the max number of rotated log files (stoffu)
2018-06-20 14:19:30 -05:00
moneromooo-monero
2a19697bd4
wallet2: fix double header in unsigned transfer file 2018-06-19 22:30:02 +01:00
luigi1111
896512b2b6
Merge pull request #3878
5a412b7 disable file size sanity check when loading the wallet cache (moneromooo-monero)
2018-06-19 12:57:59 -05:00
luigi1111
d841339b09
Merge pull request #3829
4764929 use deterministic viewkey if not supplied (cryptochangements34)
2018-06-19 12:43:10 -05:00
luigi1111
9226acca4b
Merge pull request #3804
89e51ec simple-wallet-cli: Add warnings about inaccurate balances to to watch-only wallet (jcktm)
2018-06-16 14:15:52 -05:00
luigi1111
4e7897e57c
Merge pull request #3780
9c2a7b4 wallet-rpc: watch-only and cold wallet features added (ph4r05)
2018-06-16 14:12:57 -05:00
luigi1111
e3012444fb
Merge pull request #3762
eb9f3a3 check_spend_proof (itssteven)
2018-06-16 14:10:11 -05:00
luigi1111
7af0b7fffc
Merge pull request #3735
4812c06 add .load() to make Boost 1.67 happy with its new is_integral check (Teutone)
2018-06-16 14:07:25 -05:00
Howard Chu
b85acb4cb8
Fix RPC crashes that didn't check for an open wallet 2018-06-15 20:18:41 +01:00
moneromooo-monero
bc443494f3
wallet2: fix out of sync account tag cache
This would cause crashes when trying to tag an account that was
just created
2018-06-15 20:18:12 +01:00
moneromooo-monero
8db23df581
wallet: on first refresh, start off with a quantized height
for privacy reasons, so an untrusted node can't easily track
wallets from IP address to IP address, etc. The granularity
is 1024 blocks, which is about a day and a half.
2018-06-13 22:44:27 +01:00
stoffu
63d0ab09b5
mlog: --max-log-files to set the max number of rotated log files 2018-06-13 12:44:27 +09:00
stoffu
798dfcfe79
wallet: allow unspendable unmixable outputs to be discarded 2018-06-13 11:56:40 +09:00
stoffu
0a5292c339
wallet2: use decoded amount when reporting repeated output key 2018-06-13 01:06:44 +09:00
stoffu
25c15dca5c
wallet2: use correct fee for split txes 2018-06-12 12:06:51 +09:00
stoffu
08b85a8e00
cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X 2018-06-11 20:17:02 +09:00
luigi1111
6884db7b31
Merge pull request #3599
8787fd8 WalletApi: publicMultisigSignerKey method (naughtyfox)
2018-06-08 14:45:46 -05:00
luigi1111
00635bd68b
Merge pull request #3598
b21bc00 Wallet: added methods to sign and verify arbitrary message with multisig public signer's key (libwallet & wallet api) (naughtyfox)
2018-06-08 14:40:06 -05:00
luigi1111
1af890287b
Merge pull request #3890
f80b157 wallet2: don't ask for pruned txes yet, we still parse the entire tx (moneromooo-monero)
2018-06-07 12:12:28 -05:00
moneromooo-monero
d7a6b72c15
wallet2: fix bulletproof cold signing
Cold signing was always using Borromean range proofs, causing
a larger tx, and an incorrect fee
2018-06-07 12:29:30 +01:00
stoffu
bf26920f27
wallet2: fix get_approximate_blockchain_height for stagenet 2018-06-06 20:33:01 +09:00
moneromooo-monero
62c8c07c47
wallet: do not log by default if we're not asked to log to console
This means monero-wallet-rpc still does, but the user level program
does not.
2018-06-06 10:15:13 +01:00
cryptochangements34
4764929ecb use deterministic viewkey if not supplied 2018-06-05 19:32:03 -04:00
Dusan Klinec
9c2a7b4638 wallet-rpc: watch-only and cold wallet features added
- unsigned_txset, signed_txset in transfer / submit_transfer / sign_transfer
- export_outputs, import_outputs

Squashed commits:
[f4d9f3d4] wallet-rpc: do_not_relay removed from submit_transfer
[5b16a86f] wallet-rpc: review-fix - method signature changes, renaming
[b7fbb10a] wallet-rpc: naming fixes (unsigned vs signed), consts renamed
[8c7d2727] wallet-rpc: sign_transfer added
[481d024a] wallet2: sign_tx splitted to work with strings and structs, more granular
[2a474db9] wallet-rpc: wallet2::load_unsigned_tx split to load from str, file
[b1e3a018] wallet-rpc: review fix, load_tx_from_str variable rename
[1f6373be] wallet-rpc: review fix: save_tx_to_{str,file}
[2a08eafc] wallet-rpc: review comments fixes
- redundant this removed from wallet2.cpp
- load_tx_from_str, load_tx_from_file
[43498052] wallet-rpc: submit_transfer added
[9c45d1ad] wallet-rpc: watch_only check, return unsigned_txset
[62831396] wallet2: added string variants to load_tx, save_tx

- analogously to save_multisig_tx
- required for monero-wallet-rpc to support watch-only wallet
2018-06-03 13:21:00 +02:00
luigi1111
503d2693fd
Merge pull request #3640
f36132a wallet cli/rpc: terminate execution with code 0 when --help or --version is given (stoffu)
2018-05-31 14:44:54 -05:00
luigi1111
3ee6a1b706
Merge pull request #3635
c1bda09 wallet_rpc_server: add a get_version RPC (moneromooo-monero)
2018-05-31 14:43:18 -05:00
luigi1111
b6eb7484d1
Merge pull request #3592
90a16b1 crypto: fix initialization order issue with random mutex (moneromooo-monero)
6a61f52 unit_tests: add ringdb unit tests (moneromooo-monero)
2018-05-31 14:41:17 -05:00
luigi1111
3a373c3d3a
Merge pull request #3489
47fdb74 WalletApi: getMultisigInfo entry for gui wallets... (naughtyfox)
47fdb74 Refactored: work with wallet api statuses to make setting and getting operations atomic along with error strings (naughtyfox)
2018-05-31 14:34:34 -05:00
moneromooo-monero
f80b1571c6
wallet2: don't ask for pruned txes yet, we still parse the entire tx 2018-05-31 16:46:58 +01:00
stoffu
0da5d37bf3
wallet: fix shared ring db path 2018-05-31 08:16:45 +09:00
luigi1111
5b189ce2a8
Merge pull request #3405
80d2f80 wallet2: Update function parameter documentation (leonklingele)
2018-05-29 12:52:43 -05:00
moneromooo-monero
5a412b7a3f
disable file size sanity check when loading the wallet cache 2018-05-28 14:58:22 +01:00
Riccardo Spagni
709658d166
Merge pull request #3832
cb9c7972 Fix output shuffling for multisig (stoffu)
2018-05-21 20:57:52 +02:00
Riccardo Spagni
d6cefbd1b8
Merge pull request #3745
b13bddc3 Wallet API: allow log path to be non-default & console output to be configurable (stoffu)
2018-05-21 20:56:20 +02:00
stoffu
cb9c7972b6
Fix output shuffling for multisig 2018-05-20 09:38:41 +09:00
jcktm
89e51ecd38 simple-wallet-cli: Add warnings about inaccurate balances to to watch-only wallet 2018-05-15 15:28:42 +10:00
moneromooo-monero
a58d9738c9
wallet2: consider 6 outputs or less to be unmixable from v7 2018-05-10 21:19:33 +01:00
itssteven
eb9f3a3294
check_spend_proof
My intention is to mitigate #3761 by returning "bad signature", rather than throwing an error, as the error is triggered inappropriately in the case of checking a different txid than the one used to create the signature, which causes issues for monerophp: https://github.com/monero-integrations/monerophp/issues/72 & my temp fix: https://github.com/monero-integrations/monerophp/pull/74
2018-05-06 17:42:27 +01:00
Teutone
4812c062c5 add .load() to make Boost 1.67 happy with its new is_integral check 2018-05-05 21:44:28 +02:00
stoffu
b13bddc3c9
Wallet API: allow log path to be non-default & console output to be configurable 2018-05-04 10:21:25 +09:00
Riccardo Spagni
93e76e14a2
Merge pull request #3685
ffeeefde speedup get_output_histogram for all amounts when min_count > 0 (moneromooo-monero)
2dae0f20 wallet2: add missing parameters to get_output_histogram (moneromooo-monero)
2018-04-28 16:56:22 +02:00
Riccardo Spagni
35299644b2
Merge pull request #3650
5bd7f760 import_multisig_info: fix sanity check crash in detach_blockchain (Mikhail Mitkevichl)
2018-04-28 16:54:37 +02:00
naughtyfox
b21bc00704 Wallet: added methods to sign and verify arbitrary message with multisig public signer's key (libwallet & wallet api) 2018-04-25 17:55:54 +03:00
moneromooo-monero
2dae0f203a
wallet2: add missing parameters to get_output_histogram 2018-04-23 10:54:25 +01:00
stoffu
f36132a837
wallet cli/rpc: terminate execution with code 0 when --help or --version is given 2018-04-22 11:48:44 +09:00
Mikhail Mitkevichl
5bd7f760e9 import_multisig_info: fix sanity check crash in detach_blockchain 2018-04-21 23:25:01 +03: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
moneromooo-monero
c1bda097c1
wallet_rpc_server: add a get_version RPC 2018-04-14 13:34:05 +01:00
naughtyfox
8787fd899b WalletApi: publicMultisigSignerKey method 2018-04-13 13:15:20 +03: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
6a61f520e2
unit_tests: add ringdb unit tests 2018-04-11 11:43:39 +01: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
naughtyfox
5a96056600 WalletApi: getMultisigInfo entry for gui wallets
WalletApi: makeMultisig call introduced

WalletApi: finalizeMultisig call introduced

WalletApi: new calls exportMultisigImages and importMultisigImages

WalletApi: method to return multisig wallet creation state

WalletApi: create multisig transaction, sign multisig transaction, commit transaction and get multisig data are added

WalletApi: identation and style fixes
2018-03-28 18:22:13 +03:00
naughtyfox
47fdb74273 Refactored: work with wallet api statuses to make setting and getting operations atomic along with error strings
WalletApi: added method statusWithErrorString to atomically retrieve error with error string
2018-03-28 16:11:16 +03: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