Commit graph

920 commits

Author SHA1 Message Date
m2049r
bce474be7d
query backing device 2018-09-19 18:25:38 +02:00
Riccardo Spagni
08f0c60ffc
Merge pull request #4360
7a76354c wallet2: import_multisig forward refresh exception (naughtyfox)
2018-09-18 17:58:14 +02:00
Riccardo Spagni
b174527f1d
Merge pull request #4302
ba8dd347 api/wallet: properly disable key encryption (stoffu)
2018-09-18 17:31:35 +02:00
whythat
4ed30bab50
wallet: implement coin splitting for sweep_* 'outputs' option
Implemented strategy splits total amount into N equal parts,
where N is a specified number of outputs. If N > 1, dummy
change output is NOT created.

rebased by moneromooo
2018-09-18 11:02:03 +00:00
whythat
24f5239693
wallet: add 'outputs' option for sweep_* commands
'outputs' option allows to specify the number of
separate outputs of smaller denomination that will
be created by sweep operation.

rebased by moneromooo
2018-09-18 11:01:59 +00:00
stoffu
ba8dd3479d
api/wallet: properly disable key encryption 2018-09-17 22:15:29 +09:00
Dusan Klinec
f9b22a7b01
hw_device: support for multiple devices added [for review]
- device name is a new wallet property
- full device name is now a bit more structured so we can address particular device vendor + device path. Example: 'Ledger', 'Trezor:udp', 'Trezor:udp:127.0.0.1:21324', 'Trezor:bridge:usb01'. The part before ':' identifies HW device implementation, the optional part after ':' is device path to look for.
- new --hw-device parameter added to the wallet, can name the hardware device
- device reconnect added
2018-09-14 16:02:00 +02:00
Riccardo Spagni
d743994086
Merge pull request #4324
44259e56 wallet: ask-password can now ask without encrypting the secret spend key (moneromooo-monero)
2018-09-14 13:15:41 +02:00
moneromooo-monero
44259e560e
wallet: ask-password can now ask without encrypting the secret spend key 2018-09-14 11:14:21 +00:00
Riccardo Spagni
fd194aaa4d
Merge pull request #4347
df0e7c2f wallet2: fix secondary partially signed multisig txes (moneromooo-monero)
2018-09-14 13:06:38 +02:00
Riccardo Spagni
b182dc8262
Merge pull request #4336
5f8f5631 wallet2.get_reserve_proof: throw when specified amount is zero (stoffu)
2018-09-14 13:06:06 +02:00
Riccardo Spagni
dd2fc3afe3
Merge pull request #4332
20171746 wallet2: factor the creation of a new wallet keys file (moneromooo-monero)
be6acfd5 wallet2: factor new blockchain setup (moneromooo-monero)
2018-09-14 13:05:43 +02:00
Riccardo Spagni
1396b65bbc
Merge pull request #4331
88fbc4a5 wallet2: fill in v2 height for stagenet (moneromooo-monero)
2018-09-14 13:05:02 +02:00
Riccardo Spagni
239a7e10ff
Merge pull request #4253
be001326 remove obsolete daemon selection of fake outs and old tx construction (moneromooo-monero)
2018-09-14 12:54:25 +02:00
moneromooo-monero
be001326d1
remove obsolete daemon selection of fake outs and old tx construction 2018-09-14 10:51:45 +00:00
Riccardo Spagni
c74d9057f8
Merge pull request #4260
a54dbaee blockchain_blackball: add --force-chain-reaction-pass flag (moneromooo-monero)
44439c32 record blackballs as amount/offset, and add export ability (moneromooo-monero)
4bce935b blockchain_blackball: more optimizations (moneromooo-monero)
b66ba783 blockchain_blackball: do not process duplicate blockchains parts (moneromooo-monero)
639a3c01 blockchain_blackball: make it clear secondary passes are not incremental (moneromooo-monero)
eb8a51be blockchain_blackball: detect spent outputs by partial ring reuse (moneromooo-monero)
d6d276c6 blockchain_blackball: fix chain reaction phase in incremental mode (moneromooo-monero)
2b2a681b blockchain_blackball: avoid false positives for different amounts (moneromooo-monero)
80e4fef3 blockchain_blackball: set transaction looping txn to read only (moneromooo-monero)
4801d6b5 blockchain_blackball: add stats (moneromooo-monero)
846190fd blockchain_blackball: support pre-v2 databases (moneromooo-monero)
daa6cc7d blockchain_blackball: use LMDB for the cache (moneromooo-monero)
50cb370d ringdb: allow blackballing many outputs at once (moneromooo-monero)
2018-09-14 12:45:18 +02:00
Riccardo Spagni
438781afc4
Merge pull request #4221
62511df6 wallet2: fix refresh retry when a block/tx fails to parse (moneromooo-monero)
b219c24c wallet2: trim hash chain after fast refresh of hashes (moneromooo-monero)
5b6bcca3 wallet2: fix checking the wrong vector when adding hashes (moneromooo-monero)
2018-09-14 12:38:36 +02:00
moneromooo-monero
ac4f71c200
wallet2: bump testnet rollback to account for coming reorg 2018-09-11 13:38:35 +00:00
moneromooo-monero
a1359ad43c
Check inputs to addKeys are in range
Reported by QuarksLab.
2018-09-11 13:38:09 +00:00
moneromooo-monero
5ffb2ff9b7
v8: per byte fee, pad bulletproofs, fixed 11 ring size 2018-09-11 13:38:07 +00:00
moneromooo-monero
2a8fcb421b
Bulletproof aggregated verification and tests
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11 13:37:37 +00:00
moneromooo-monero
9ce9f8caf6
bulletproofs: add multi output bulletproofs to rct 2018-09-11 13:37:28 +00:00
naughtyfox
7a76354c8b wallet2: import_multisig forward refresh exception 2018-09-10 18:45:37 +03:00
moneromooo-monero
44439c3208
record blackballs as amount/offset, and add export ability 2018-09-10 09:04:18 +00:00
moneromooo-monero
50cb370d5b
ringdb: allow blackballing many outputs at once
It cuts down on txn commits, and speeds up blackballing substantially
2018-09-09 12:01:43 +00:00
moneromooo-monero
df0e7c2feb
wallet2: fix secondary partially signed multisig txes 2018-09-08 23:12:06 +00:00
luigi1111
77ed11e627
Merge pull request #4270
29dea03 epee: resize vectors where possible in serialization (moneromooo-monero)
76affd9 epee: some speedup in parsing (moneromooo-monero)
dc6c069 db_lmdb: speedup the get_output_distribution common case (moneromooo-monero)
76ac5a8 wallet2: ask for a binary output distribution, for speed (moneromooo-monero)
2018-09-04 13:19:58 -05:00
luigi1111
5f1bbe3bce
Merge pull request #4268
1f2409e Do memwipe for critical secret keys copied to rct::key (stoffu)
2018-09-04 13:16:04 -05:00
luigi1111
6d4d4ddb68
Merge pull request #4252
ac09cfa wallet2: remove obsolete pruned/unpruned case (moneromooo-monero)
2018-09-04 13:05:12 -05:00
stoffu
5f8f56315c
wallet2.get_reserve_proof: throw when specified amount is zero 2018-09-04 13:00:38 +09:00
moneromooo-monero
20171746de
wallet2: factor the creation of a new wallet keys file 2018-09-03 11:27:46 +00:00
moneromooo-monero
be6acfd5be
wallet2: factor new blockchain setup 2018-09-03 11:27:43 +00:00
moneromooo-monero
88fbc4a567
wallet2: fill in v2 height for stagenet 2018-09-03 11:26:28 +00:00
stoffu
8ca1215f25
wallet: store trusted-daemon flag in wallet2 2018-08-23 14:55:09 +09:00
luigi1111
1db7a29e12
Merge pull request #4247
10475ab node_rpc_proxy: fix fork earliest height caching [RYO backport] (fireice-uk)
2018-08-22 21:04:34 -05:00
luigi1111
6e8e4fb3b7
Merge pull request #4202
8439306 wallet2: do not divide by 0 on invalid daemon response (moneromooo-monero)
2018-08-22 20:42:20 -05:00
moneromooo-monero
62511df622
wallet2: fix refresh retry when a block/tx fails to parse
It would switch to a new set of blocks and fail, getting out of sync
with the hash chain in the process
2018-08-22 09:57:46 +00:00
moneromooo-monero
b219c24c3a
wallet2: trim hash chain after fast refresh of hashes
This ensures it can't end up filled with the actual placeholders
2018-08-22 09:57:42 +00:00
moneromooo-monero
5b6bcca32a
wallet2: fix checking the wrong vector when adding hashes
The two vectors should be the same size anyway, so add an assert
to catch any case where they aren't
2018-08-22 09:57:39 +00:00
moneromooo-monero
76ac5a8fbe
wallet2: ask for a binary output distribution, for speed 2018-08-19 15:58:25 +00:00
stoffu
1f2409e9e2
Do memwipe for critical secret keys copied to rct::key 2018-08-16 22:26:30 +09:00
moneromooo-monero
ab74dc277a
crypto: make secret_key automatically mlock 2018-08-16 11:57:49 +00:00
moneromooo-monero
e9ffa91257
store secret keys encrypted where possible
The secret spend key is kept encrypted in memory, and
decrypted on the fly when needed.

Both spend and view secret keys are kept encrypted in a JSON
field in the keys file. This avoids leaving the keys in
memory due to being manipulated by the JSON I/O API.
2018-08-16 11:57:43 +00:00
moneromooo-monero
ea37614efe
wallet: wipe seed from memory where appropriate 2018-08-16 09:17:52 +00:00
stoffu
a64f57fe42
wallet2: make --restricted-rpc available for wallet RPC only 2018-08-16 09:54:23 +09:00
luigi1111
e69e0e9e34
Merge pull request #4194
0f75717 wallet2: avoid using arbitrary random values when unknown (moneromooo-monero)
2018-08-15 17:56:23 -05:00
luigi1111
1c55a3756b
Merge pull request #4193
4520cfd wallet2: guard against bad outputs in import_outputs (moneromooo-monero)
2018-08-15 17:54:49 -05:00
luigi1111
8d2e454929
Merge pull request #4188
a3fe1c5 simplewallet: add set_tx_key for importing tx keys from 3rd party wallets (stoffu)
2018-08-15 17:47:05 -05:00
luigi1111
7aa2030cee
Merge pull request #4174
ff37bd0 wallet2: fix O(n^2) behaviour in import_key_images (moneromooo-monero)
2018-08-15 17:40:55 -05:00
luigi1111
564e9c3b5f
Merge pull request #4170
1c6cfd3 wallet-rpc: add get_address_index command (stoffu)
2018-08-15 17:35:49 -05:00
luigi1111
5e795ee7af
Merge pull request #4153
37f0799 wallet: distinguish coinbase from other txes in show_transfers (moneromooo-monero)
2018-08-15 17:23:56 -05:00
luigi1111
2a44c2defd
Merge pull request #4150
f2e65c6 wallet2: consider minimum fee when testing if balance is sufficient (stoffu)
2018-08-15 17:22:36 -05:00
luigi1111
017e07a035
Merge pull request #4103
bcab579 wallet: allow adjusting number of rounds for the key derivation function (stoffu)
2018-08-15 17:09:52 -05:00
luigi1111
4cde4cb946
Merge pull request #3528
34d4b79 wallet2: use a gamma distribution to pick fake outs (moneromooo-monero)
2018-08-15 17:00:32 -05:00
fireice-uk
10475ab23f node_rpc_proxy: fix fork earliest height caching [RYO backport]
xref https://github.com/ryo-currency/ryo-currency/pull/86
2018-08-13 22:16:17 +02:00
moneromooo-monero
ac09cfa6be
wallet2: remove obsolete pruned/unpruned case
All daemons will not support pruned blocks
2018-08-13 13:17:27 +00:00
stoffu
bcab579864
wallet: allow adjusting number of rounds for the key derivation function 2018-08-08 01:56:54 +09:00
moneromooo-monero
37f0799284
wallet: distinguish coinbase from other txes in show_transfers 2018-08-03 12:48:16 +00:00
moneromooo-monero
8439306212
wallet2: do not divide by 0 on invalid daemon response 2018-07-31 14:26:00 +00:00
stoffu
1c6cfd34f4
wallet-rpc: add get_address_index command 2018-07-31 21:36:12 +09:00
moneromooo-monero
0f757177fe
wallet2: avoid using arbitrary random values when unknown 2018-07-30 13:34:15 +01:00
moneromooo-monero
4520cfd978
wallet2: guard against bad outputs in import_outputs
also some minor speedup
2018-07-30 13:21:58 +01:00
stoffu
a3fe1c56ee
simplewallet: add set_tx_key for importing tx keys from 3rd party wallets 2018-07-30 20:50:05 +09:00
luigi1111
f739a3cbb8
Merge pull request #4109
2951436 wallet: warn when payment IDs are used (moneromooo-monero)
2018-07-27 14:27:47 -05:00
luigi1111
92b5d6c204
Merge pull request #4091
a4272de wallet2: unlock keys file before calling verify_password (needed for Windows) (stoffu)
2018-07-27 14:22:34 -05:00
moneromooo-monero
ff37bd00bc
wallet2: fix O(n^2) behaviour in import_key_images
That takes a lot of time for even not so large wallets
2018-07-24 14:34:19 +01:00
luigi1111
702a41034d
Merge pull request #4088
8c4db68 node_rpc_proxy: factor a few RPC calls using get_info (moneromooo-monero)
2018-07-19 14:15:16 -05:00
luigi1111
5c102c60dc
Merge pull request #4087
d6440ab wallet2: recover from index out of hashchain bounds error (moneromooo-monero)
2018-07-19 14:14:10 -05:00
luigi1111
be81a27fa4
Merge pull request #4071
d6d78f1 Allow fractional outputs to be ignored (stoffu)
2018-07-19 14:06:54 -05:00
luigi1111
9315e12d34
Merge pull request #4033
3e46db9 rpc: add a non binary get_transaction_pool_hashes RPC (moneromooo-monero)
2018-07-19 13:55:37 -05:00
stoffu
f2e65c6e50
wallet2: consider minimum fee when testing if balance is sufficient 2018-07-19 20:31:07 +09:00
moneromooo-monero
d6440ab319
wallet2: recover from index out of hashchain bounds error
This can happen when there's a very large reorg on the daemon
(ie, on testnet)
2018-07-16 23:13:56 +01:00
moneromooo-monero
2951436704
wallet: warn when payment IDs are used
Subaddresses are better for privacy
2018-07-12 19:37:29 +01:00
moneromooo-monero
fc39d3b23c
wallet2: ensure outputs are processed only once
This should be proof against any way one might get to multiple
processing, such as generating the same derivation from the
same pubkey, etc
2018-07-08 12:56:51 +01:00
moneromooo-monero
34d4b798d4
wallet2: use a gamma distribution to pick fake outs
as per "An Empirical Analysis of Linkability in the Monero
Blockchain", by Miller et al.
2018-07-03 18:10:48 +01:00
Riccardo Spagni
40f85f478e
Merge pull request #3985
58cceaad wallet2: fix double counting outs if the tx pubkey is duplicated (moneromooo-monero)
2018-07-03 15:51:41 +02:00
Riccardo Spagni
f449dbe8eb
Merge pull request #4041
df9d50a8 wallet2: fix read buffer overflow in import_key_images (moneromooo-monero)
2018-07-03 15:20:42 +02:00
Riccardo Spagni
97f5a130d6
Merge pull request #4028
2a19697b wallet2: fix double header in unsigned transfer file (moneromooo-monero)
2018-07-03 15:19:24 +02:00
Riccardo Spagni
27ca6ca594
Merge pull request #4004
bc443494 wallet2: fix out of sync account tag cache (moneromooo-monero)
2018-07-03 15:16:37 +02:00
moneromooo-monero
58cceaad71
wallet2: fix double counting outs if the tx pubkey is duplicated 2018-07-03 14:16:30 +01:00
stoffu
a4272de797
wallet2: unlock keys file before calling verify_password (needed for Windows)
Also added notes to WalletManager::verifyWalletPassword (which afaik seems unused
by anyone at the moment) regarding the need to unlock the keys file beforehand.
2018-07-03 18:07:20 +09:00
stoffu
d6d78f157b
Allow fractional outputs to be ignored 2018-07-03 18:04:31 +09:00
moneromooo-monero
8c4db68ff7
node_rpc_proxy: factor a few RPC calls using get_info
Takes advantage of caching
2018-07-02 17:59:44 +01:00
luigi1111
a9b83f5a6e
Merge pull request #4067
9a39b7d wallet2: fix build for windows (std::max again) (moneromooo-monero)
2018-06-27 21:28:34 -05:00
stoffu
3d623a86d1
wallet: prevent the same wallet file from being opened by multiple processes 2018-06-28 09:41:43 +09:00
moneromooo-monero
9a39b7dd7f
wallet2: fix build for windows (std::max again) 2018-06-28 00:47:48 +01:00
luigi1111
2329d2f4c8
Merge pull request #3907
dcbc17e wallet: include a suggested number of confirmations based on amount (moneromooo-monero)
2018-06-27 16:32:33 -05:00
luigi1111
8a27caeb22
Merge pull request #3998
8db23df wallet: on first refresh, start off with a quantized height (moneromooo-monero)
2018-06-27 16:30:38 -05:00
luigi1111
9453573581
Merge pull request #3995
0a5292c wallet2: use decoded amount when reporting repeated output key (stoffu)
2018-06-27 16:28:57 -05:00
luigi1111
c28a2b0d7d
Merge pull request #3992
25c15dc wallet2: use correct fee for split txes (stoffu)
2018-06-27 16:26:23 -05:00
luigi1111
5eb2e01216
Merge pull request #3991
798dfcf wallet: allow unspendable unmixable outputs to be discarded (stoffu)
2018-06-27 16:25:03 -05:00
luigi1111
3ad4ecd4ff
Merge pull request #3982
08b85a8 cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X (stoffu)
0cf80ba net_node: resolve host for node addresses given via command line flags (stoffu)
2018-06-27 15:38:23 -05:00
moneromooo-monero
dcbc17e97e
wallet: include a suggested number of confirmations based on amount
This is based on how much an attacking miner stands to lose in block
rewardy by mining a private chain which double spends a payment.
This is not foolproof, since mining is based on luck, and breaks
down as the attacking miner nears 50% of the network hash rate,
and the estimation is based on a constant block reward.
2018-06-27 21:38:21 +01:00
luigi1111
a844844cda
Merge pull request #3716
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
2018-06-27 15:33:01 -05:00
moneromooo-monero
0e4c7d0fae
wallet2: cache ringdb key while refreshing
Speeds up syncing with a lot of outgoing outputs as key generation
runs Cryptonight.
2018-06-26 22:15:38 +01:00
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