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
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
8fc0cdb96f
wallet2: lower default for subaddress lookahead when restoring with hardware
2018-06-21 12:35:23 +09: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
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
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
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
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
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
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
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
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
Mikhail Mitkevichl
5bd7f760e9
import_multisig_info: fix sanity check crash in detach_blockchain
2018-04-21 23:25:01 +03: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
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
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
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
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
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
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
Leon Klingele
80d2f8007c
wallet2: Update function parameter documentation
...
This completes and fixes various parameters docs
2018-03-14 16:41:24 +01: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
Riccardo Spagni
a69c713f8e
Merge pull request #3398
...
c577abab
wallet: fix auto low priority so that it takes effect only when saved default is 0 (stoffu)
2018-03-14 16:18:15 +02:00