Commit Graph

1623 Commits

Author SHA1 Message Date
naughtyfox
219548f299 Sync hashchain bug fixed 2018-12-14 17:42:11 +03:00
Tadeas Moravec
611db08a00
Wallet: Initialize members without default ctor.
Found by Coverity (188336 in Anonimal's Coverity account).
2018-12-14 13:45:41 +00:00
rbrunner7
1ebcd7b9b0 MMS (Multisig Messaging System): Initial version 2018-12-12 21:49:20 +01:00
Riccardo Spagni
0b31baf6e4
Merge pull request #4839
d71f89e2 device/trezor: device/trezor: correct device initialization, status check (Dusan Klinec)
65b9bca7 device/trezor: python2 compatibility - bundle dependencies (Dusan Klinec)
9cf636af device/trezor: ask for KI sync on first refresh (Dusan Klinec)
d21dad70 device: enable to use multiple independent device wallets (Dusan Klinec)
318cc784 device/trezor: passphrase entry on host (Dusan Klinec)
2018-12-12 11:53:42 +02:00
moneromooo-monero
2d7b0236eb
wallet2: clear all payments on soft rescan_bc
They'll get duplicated otherwise
2018-12-08 10:39:54 +00:00
Dusan Klinec
9cf636af69
device/trezor: ask for KI sync on first refresh
When doing a first refresh on HW-token based wallet KI sync is required if money were received. Received money may indicate wallet was already used before the restore I.e., some transaction could have been already sent from the wallet. The spent UTXO would not be detected as spent which could lead to double spending errors on submitting a new transaction.

Thus if the wallet is HW-token based with the cold signing protocol and the first refresh detected received money the user is asked to perform the key image sync.
2018-12-04 18:38:17 +01:00
Dusan Klinec
d21dad70dd
device: enable to use multiple independent device wallets
- adds a new option `--hw-device-deriv-path` to the simple wallet. Enables to specify wallet derivation path / wallet code (path avoided so it can be misinterpreted as a file path).
- devices can use different derivation mechanisms. Trezor uses standard SLIP-10 mechanism with fixed SLIP-44 prefix for Monero
- Trezor: when empty, the default derivation mechanism is used with 44'/128'/0'. When entered the derivation path is 44'/128'/PATH.
- Trezor: the path is always taken as elements are hardened (1<<31 bit turned on)
2018-12-04 18:38:16 +01:00
Riccardo Spagni
81418cb281
Merge pull request #4894
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero)
1a0733e5 windows_service: fix memory leak (moneromooo-monero)
0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero)
5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero)
d4f50cb1 remove some unused code (moneromooo-monero)
61163971 a few minor (but easy) performance tweaks (moneromooo-monero)
30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04 17:33:19 +02:00
Riccardo Spagni
6e74aa9a6c
Merge pull request #4885
b5573fc2 wallet2: resume processing when tx extra is partially broken (stoffu)
2018-12-04 17:31:27 +02:00
Riccardo Spagni
1bebe99496
Merge pull request #4884
56e616e8 wallet2: add n_vouts to capture list (moneromooo-monero)
2018-12-04 17:31:15 +02:00
Riccardo Spagni
c00ac446fd
Merge pull request #4854
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04 17:08:42 +02:00
Riccardo Spagni
398f7076bb
Merge pull request #4853
2b3595d0 various: do not propagate exception through dtor (moneromooo-monero)
2018-12-04 17:07:51 +02:00
Riccardo Spagni
94288d7d1d
Merge pull request #4845
6732fc7f Fix issue 4793 - M/N multisig transaction signature (naughtyfox)
2018-12-04 17:06:04 +02:00
Dusan Klinec
318cc78457
device/trezor: passphrase entry on host
- simple device callback object added. Device can request passphrase/PIN entry via the callback or notify user some action is required
- callback is routed to wallet2, which routes the callback to i_wallet_callback so CLI or GUI wallets can support passphrase entry for HW tokens
- wallet: device open needs wallet callback first - passphrase protected device needs wallet callback so user can enter passphrase
2018-11-29 04:33:41 +01:00
Riccardo Spagni
58ce16d4d9
Merge pull request #4821
fc98f7a0 rpc: speedup get_outs.bin (moneromooo-monero)
2018-11-26 21:51:27 +02:00
moneromooo-monero
fc98f7a0a1
rpc: speedup get_outs.bin 2018-11-26 18:56:23 +00:00
Riccardo Spagni
eccb9b08c4
Merge pull request #4825
b9b307d1 rpc: speedup get_output_distribution (moneromooo-monero)
2018-11-26 20:28:02 +02:00
Riccardo Spagni
cc1ea0b651
Merge pull request #4816
1a4d1603 wallet2: remove redundant chacha key generation in store_keys (stoffu)
2018-11-26 20:25:39 +02:00
moneromooo-monero
aee7a4e364
wallet_rpc_server: do not use RPC data if the call failed
Found by codacy.com
2018-11-23 15:38:00 +00:00
moneromooo-monero
d4f50cb109
remove some unused code
Found by codacy.com
2018-11-23 15:37:36 +00:00
moneromooo-monero
611639710d
a few minor (but easy) performance tweaks
Found by codacy.com
2018-11-23 15:36:48 +00:00
stoffu
b5573fc231
wallet2: resume processing when tx extra is partially broken
Motivated by https://monero.stackexchange.com/questions/10483

Some exchanges appear to have customized the wallet software
in an inappropriate way, making the tx extra field partially
unreadable. PR #3716 changed the wallet behavior disallowing
such partially valid tx extra.

An example tx reported by the user is
e87c675a85f34ecac58a8846613d25062f1813e1023c552b705afad32b972c38
where the normal tx pubkey appears again with the aditional
tx pubkeys tag `04` which is inappropriate.
2018-11-22 14:51:35 +09:00
moneromooo-monero
56e616e855
wallet2: add n_vouts to capture list 2018-11-22 01:45:45 +00:00
naughtyfox
6732fc7fde Fix issue 4793 - M/N multisig transaction signature 2018-11-20 16:50:41 +03:00
moneromooo-monero
b9b307d11a
rpc: speedup get_output_distribution
and decrease the amount of data carried around
2018-11-20 10:11:25 +00:00
Riccardo Spagni
056abf980e
Merge pull request #4801
7ae36e91 wallet_rpc_server: account for watch-only/non-deterministic/multisig when querying seed (stoffu)
2018-11-16 11:13:09 +02:00
Riccardo Spagni
f9c60736b8
Merge pull request #4794
e198b06e Fix: out_of_hashchain_bounds_error in refresh (Hasan Pekdemir)
2018-11-16 11:10:20 +02:00
Riccardo Spagni
9aff9a5372
Merge pull request #4790
177a9d76 wallet: warn if lockable memory limit is too low (moneromooo-monero)
2018-11-16 11:08:07 +02:00
Riccardo Spagni
20bf9b93dd
Merge pull request #4789
0afdb00b wallet2: fix print_ring printing double entries for transactions (moneromooo-monero)
2018-11-16 11:07:40 +02:00
Riccardo Spagni
c8cc65f30a
Merge pull request #4788
8f3963d2 wallet2: demote a few uninteresting recurring logs to TRACE (moneromooo-monero)
2018-11-16 11:07:21 +02:00
Riccardo Spagni
4561119846
Merge pull request #4784
1c04c21d wallet_rpc_server: include additional tx keys in sign_transfer response (stoffu)
2018-11-16 11:05:31 +02:00
Riccardo Spagni
95d96d139d
Merge pull request #4764
1598f01c wallet2: use padded bulletproofs for multisig signing (stoffu)
2018-11-16 10:58:29 +02:00
Martijn Otto
bd98e99c80
Removed a lot of unnecessary includes 2018-11-15 17:29:34 +01:00
moneromooo-monero
2b3595d0fe
various: do not propagate exception through dtor
Coverity 189689, 189690, 189692, 189695
2018-11-15 15:53:21 +00:00
Riccardo Spagni
33ad6fb4c1
Merge pull request #4761
6e1282b6 wallet2: fix off by one in output picking (moneromooo-monero)
2018-11-14 21:34:51 +02:00
Riccardo Spagni
59e8a4c306
Merge pull request #4753
157054b8 hardfork: initialize current_fork_index in ctor (moneromooo-monero)
2362baf7 network_throttle: initialize m_last_sample_time in ctor (moneromooo-monero)
d9400f69 serializtion: add missing mainnet and stagenet fields for 0mq (moneromooo-monero)
cbe0122b wallet2: initialize amount to 0 in tx_scan_info_t ctor (moneromooo-monero)
2018-11-14 21:33:02 +02:00
Riccardo Spagni
dd42b642ee
Merge pull request #4746
f3019efe wallet-rpc: add on_restore_deterministic RPC call. (Hasan Pekdemir)
2018-11-14 21:31:08 +02:00
Riccardo Spagni
8534f71eed
Merge pull request #4814
840bf155 build: fix Ubuntu 16.04 (GCC 5.4.0) compilation (xiphon)
2018-11-07 15:02:56 +02:00
stoffu
ba2055a220
api/wallet: fix compile errors made in #4720 2018-11-07 15:12:24 +09:00
stoffu
1a4d160311
wallet2: remove redundant chacha key generation in store_keys 2018-11-07 10:47:10 +09:00
xiphon
840bf155a0 build: fix Ubuntu 16.04 (GCC 5.4.0) compilation 2018-11-06 21:45:00 +00:00
Riccardo Spagni
a9e03ebc6a
Merge pull request #4809
1fd017cf Fix build of monero-gui by adding device_trezor to wallet_merged (buricl)
2018-11-06 21:35:08 +02:00
Riccardo Spagni
a369a13928
Merge pull request #4743
9335d5a2 wallet2: save ring in the ringdb once a tx is created (moneromooo-monero)
2018-11-06 21:33:22 +02:00
Riccardo Spagni
d210d6fb45
Merge pull request #4738
107f3398 wallet2: fix ring reuse breaking when using histogram (moneromooo-monero)
2018-11-06 21:31:32 +02:00
Riccardo Spagni
164ba3ef1c
Merge pull request #4731
f26ce08c wallet: add a non destructive blockchain rescan (moneromooo-monero)
2018-11-06 21:30:12 +02:00
Riccardo Spagni
b789f7e10d
Merge pull request #4729
e86af52e wallet2: rewrite keys file in a safer manner (Nathan Dorfman)
2018-11-06 15:09:45 +02:00
Riccardo Spagni
1667d41064
Merge pull request #4728
1f35de23 simplewallet: display locked/unlocked state in show_transfers (moneromooo-monero)
2018-11-06 14:54:17 +02:00
buricl
1fd017cf77 Fix build of monero-gui by adding device_trezor to wallet_merged 2018-11-06 00:17:22 +01:00
moneromooo-monero
6e1282b600
wallet2: fix off by one in output picking
and take into account wallet level minimum spend age
2018-11-05 20:13:00 +00:00
stoffu
7ae36e91f6
wallet_rpc_server: account for watch-only/non-deterministic/multisig when querying seed
Followup on #4653
2018-11-05 12:13:15 +09:00
moneromooo-monero
8d71b2b1b3
wallet2: only export necessary outputs and key images
and disable annoying test that requires ridiculous amounts
of skullduggery every time some format changes
2018-11-04 22:27:01 +00:00
moneromooo-monero
769ae42a7b
wallet2: faster output and key image import/export 2018-11-04 22:26:59 +00:00
Riccardo Spagni
7e2483e1d5
Merge pull request #4702
70877b1d wallet2/create_transactions_2: removed obsolete '/ 1024' on min_fee calc (Paul Shapiro)
2018-11-04 20:47:25 +02:00
Riccardo Spagni
ae919a1e15
Merge pull request #4691
7f0dd094 wallet2: sanity check rct output distribution from the daemon (moneromooo-monero)
2018-11-04 20:45:59 +02:00
Riccardo Spagni
0c7086bf7f
Merge pull request #4687
6097472a Update ZMQ fee estimate and add ZMQ output distribution (Lee Clagett)
2018-11-04 20:44:49 +02:00
Riccardo Spagni
d394c50f7b
Merge pull request #4686
cf646e3a wallet2/create_transactions_2: removed extraneous shuffle before sort of unused_*_indices_per_subaddr (Paul Shapiro)
2018-11-04 20:44:27 +02:00
Riccardo Spagni
9cf0e67978
Merge pull request #4685
76681b9b wallet2/create_transactions_2: fixed typo in try_tx=true's estimate_fee args (Paul Shapiro)
2018-11-04 20:44:00 +02:00
Hasan Pekdemir
e198b06e7a Fix: out_of_hashchain_bounds_error in refresh
15:43 < hahsun> Im on stagenet and I suddenly get this exception: 2018-11-04 14:42:52.416 [RPC0] ERROR wallet.wallet2 src/wallet/wallet2.cpp:2070 !m_blockchain.is_in_bounds(current_index). THROW EXCEPTION: error::out_of_hashchain_bounds_error
16:01 <+moneromooo> OK, possibly because the blckchain is always seeded with the genesis block hash...
16:02 <+moneromooo> So that case should be allowed, assuming it doesn't break the code around it.
16:05 <+moneromooo> OK if stop_height == size || (size==1 && stop_heigt ==0)
16:05 <+moneromooo> Throw if not that.
16:06 < hahsun> k
2018-11-04 17:07:30 +01:00
moneromooo-monero
177a9d76f9
wallet: warn if lockable memory limit is too low 2018-11-03 20:09:28 +00:00
moneromooo-monero
f26ce08c8a
wallet: add a non destructive blockchain rescan 2018-11-03 15:04:37 +00:00
moneromooo-monero
8f3963d200
wallet2: demote a few uninteresting recurring logs to TRACE 2018-11-03 11:51:03 +00:00
moneromooo-monero
0afdb00b9d
wallet2: fix print_ring printing double entries for transactions
When a tx gets from unconfirmed to conirmed, the rings for that
transaction were being added twice
2018-11-03 11:50:38 +00:00
Dusan Klinec
29ffb6bba8
device/trezor: trezor support added 2018-11-02 21:36:39 +01:00
stoffu
1c04c21d6e
wallet_rpc_server: include additional tx keys in sign_transfer response
Followup on #4552
2018-11-02 21:42:02 +09:00
Riccardo Spagni
3ceeac50da
Merge pull request #4653
ade369f9 Add RPC error code for non-deterministic wallet (Michał Sałaban)
2018-11-01 22:33:20 +02:00
stoffu
1598f01caf
wallet2: use padded bulletproofs for multisig signing
Analogous to #4540
2018-10-31 20:01:25 +09:00
Hasan Pekdemir
f3019efe1b wallet-rpc: add on_restore_deterministic RPC call. 2018-10-29 18:19:42 +01:00
moneromooo-monero
cbe0122bf1
wallet2: initialize amount to 0 in tx_scan_info_t ctor
It seems the more prudent thing to do here. It will not catch
attempts to use that value before it is initialized when using
ASAN or valgrind, but in a case where it does, it will have
smaller repercussions.

So it seems appropriate in this particular case.

Coverity 182498
2018-10-29 16:22:55 +00:00
Nathan Dorfman
e86af52e2f wallet2: rewrite keys file in a safer manner 2018-10-28 09:58:54 -06:00
moneromooo-monero
9335d5a297
wallet2: save ring in the ringdb once a tx is created
Even if it is never relayed, it ensures a daemon supplying
fake outs on demand will never be asked for a set with the
real input being the only intersecting member (only a problem
with people who trust their privacy to some stranger's node,
but it seems to be a massively common thing, even in Monero)
2018-10-27 17:59:56 +00:00
moneromooo-monero
107f33985d
wallet2: fix ring reuse breaking when using histogram 2018-10-27 14:35:00 +00:00
Riccardo Spagni
fc06c5daf8
Merge pull request #4617
3ffbec15 rpc: init m_rpc_version in Message ctor (moneromooo-monero)
bfa2dce1 rpc: remove unused ctors (moneromooo-monero)
7cc39845 account: init creation timestamp to 0 (moneromooo-monero)
32123789 wallet2: initialize some scalar fields in ctor where appropriate (moneromooo-monero)
4eca42b2 blockchain_db: initialize m_hardfork in ctor just in case (moneromooo-monero)
2018-10-26 22:39:00 +02:00
Riccardo Spagni
148d14164e
Merge pull request #4615
a7960542 WalletAPI: rescanBlockchain, rescanBlockchainAsync (mmitkevich)
2018-10-26 22:38:41 +02:00
Riccardo Spagni
c761bee764
Merge pull request #4561
04ddf02e Return appropriate RPC error code when key image signature check fails (Michał Sałaban)
2018-10-26 22:33:35 +02:00
Riccardo Spagni
169e6e9074
Merge pull request #4552
67e76aa0 wallet_rpc_server: optionally return tx keys in sign_transfer (moneromooo-monero)
2018-10-26 22:32:34 +02:00
Riccardo Spagni
659cf52a61
Merge pull request #4539
977fc1bc wallet_rpc_server: add describe_transfer RPC (moneromooo-monero)
2018-10-26 22:20:57 +02:00
moneromooo-monero
1f35de2300
simplewallet: display locked/unlocked state in show_transfers
it doesn't display the details, which are already displayed
in show_transfer
2018-10-25 23:02:42 +00:00
Lee Clagett
6097472a19 Update ZMQ fee estimate and add ZMQ output distribution 2018-10-23 23:46:31 -04:00
moneromooo-monero
61f83316b3
wallet2: extend fake out picks away from the gamma pick
in order to unbias selection from blocks with few txes
2018-10-23 09:06:47 +00:00
Paul Shapiro
70877b1d91 wallet2/create_transactions_2: removed obsolete '/ 1024' on min_fee calc 2018-10-22 18:51:45 -05:00
moneromooo-monero
7f0dd094e7
wallet2: sanity check rct output distribution from the daemon 2018-10-22 14:01:46 +00:00
Paul Shapiro
76681b9bda wallet2/create_transactions_2: fixed typo in try_tx=true's estimate_fee args 2018-10-21 12:44:22 -05:00
Paul Shapiro
cf646e3afe wallet2/create_transactions_2: removed extraneous shuffle before sort of unused_*_indices_per_subaddr 2018-10-21 12:43:31 -05:00
Riccardo Spagni
ed4b953bb7
Merge pull request #4518
92a0827e wallet2: make fake out selection messages less spammy (moneromooo-monero)
2018-10-20 20:39:36 +02:00
Michał Sałaban
ade369f96f Add RPC error code for non-deterministic wallet 2018-10-18 23:14:06 +02:00
moneromooo-monero
99cd6f961a
Rename "blackball" for clarity
Apparently some people seem to think it's a censorship list...
2018-10-18 18:45:45 +00:00
Riccardo Spagni
c5be5ca6b4
Merge pull request #4623
99d45a95 wallet_rpc_server: fix change_wallet_password RPC (moneromooo-monero)
2018-10-16 18:23:30 +02:00
moneromooo-monero
99d45a9578
wallet_rpc_server: fix change_wallet_password RPC 2018-10-16 15:19:05 +00:00
moneromooo-monero
0cdd4b074e
wallet2_api: fix generating new wallet in the GUI
It was creating a new wallet without a password first (this should
be fixed), then not changing the password correctly
2018-10-16 14:46:17 +00:00
moneromooo-monero
3212378912
wallet2: initialize some scalar fields in ctor where appropriate
Coverity 188336
2018-10-16 11:58:48 +00:00
mmitkevich
a7960542a9 WalletAPI: rescanBlockchain, rescanBlockchainAsync 2018-10-16 14:58:22 +03:00
Riccardo Spagni
544413de8f
Merge pull request #4577
d886b97f SOFTWARE is the default wallet device (m2049r)
2018-10-15 13:31:29 +02:00
m2049r
d886b97fe2
SOFTWARE is the default wallet device 2018-10-13 09:25:49 +02:00
moneromooo-monero
e736964a0c
Remove epee header dependency on cryptonote_core 2018-10-12 17:16:44 +00:00
Michał Sałaban
04ddf02e3a Return appropriate RPC error code when key image signature check fails 2018-10-11 18:12:17 +02:00
moneromooo-monero
67e76aa06c
wallet_rpc_server: optionally return tx keys in sign_transfer 2018-10-10 15:55:35 +00:00
moneromooo-monero
92a0827eea
wallet2: make fake out selection messages less spammy 2018-10-09 21:46:33 +00:00
moneromooo-monero
8833aec083
wallet2: fix cold signing using non padded bulletproofs
This code was deciding which bulletproof configuration to use
based on ptx which weren't created yet.
2018-10-09 14:32:38 +00:00
moneromooo-monero
977fc1bceb
wallet_rpc_server: add describe_transfer RPC
for unsigned tx sets using a view only wallet
2018-10-09 10:47:32 +00:00
Riccardo Spagni
e19652df51
Merge pull request #4036
9acf42d3 Multisig M/N functionality core tests added (naughtyfox)
9f3963e8 Arbitrary M/N multisig schemes: * support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation (naughtyfox)
2018-10-07 19:57:26 +02:00