Commit graph

4045 commits

Author SHA1 Message Date
stoffu
7dfa5e9e6e
chacha: call prehashed version explicitly as generate_chacha_key_prehashed
hash: add prehashed version cn_slow_hash_prehashed
slow-hash: let cn_slow_hash take 4th parameter for deciding prehashed or not
slow-hash: add support for prehashed version for the other 3 platforms
2018-03-14 21:00:17 +09:00
stoffu
b2d23b189e
crypto: revert odd namespace changes made in #3303 2018-03-14 21:00:17 +09:00
stoffu
8705beaf51
keypair::generate: always require hw::device to avoid possible mistake 2018-03-14 21:00:16 +09:00
stoffu
27a196b126
device: untangle cyclic depenency
When #3303 was merged, a cyclic dependency chain was generated:

    libdevice <- libcncrypto <- libringct <- libdevice

This was because libdevice needs access to a set of basic crypto operations
implemented in libringct such as scalarmultBase(), while libringct also needs
access to abstracted crypto operations implemented in libdevice such as
ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct
into libringct_basic and libringct, where the basic crypto ops previously in
libringct are moved into libringct_basic. The cyclic dependency is now resolved
thanks to this separation:

    libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct

This eliminates the need for crypto_device.cpp and rctOps_device.cpp.

Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and
get_subaddress_secret_key() were previously implemented in libcryptonote_basic
(cryptonote_format_utils.cpp) and were then called from hw::core::device_default,
which is odd because libdevice is supposed to be independent of libcryptonote_basic.
Therefore, those functions were moved to device_default.cpp.
2018-03-14 21:00:15 +09:00
stoffu
c9b38b4765
device: made function prototypes consistent with pre-#3303 codebase 2018-03-14 21:00:06 +09:00
Riccardo Spagni
f2e8e8d23c
Merge pull request #3377
aa8bef0c fix error message typo in wallet2.cpp (cryptochangements34)
2018-03-14 13:38:50 +02:00
Riccardo Spagni
9a63fbcf83
Merge pull request #3371
84decbea core: add v7 for 1539500 on mainnet (moneromooo-monero)
2018-03-14 13:37:25 +02:00
Riccardo Spagni
3bc2537f5a
Merge pull request #3369
1979d53d wallet: fixes and tweaks to the save_watch_only command (moneromooo-monero)
2018-03-14 13:37:14 +02:00
Riccardo Spagni
0f2d6d40b4
Merge pull request #3360
1ff35fda Wallet API: make nettype non-defaulted to disambiguate from deprecated versions (and make libwallet_api_tests compilable) (stoffu)
2018-03-14 13:37:00 +02:00
Riccardo Spagni
2e074e2ae7
Merge pull request #3358
978663d4 Stagenet: successive forks up to v7 (stoffu)
2018-03-14 13:36:47 +02:00
Riccardo Spagni
117cf12509
Merge pull request #3355
0bbd521f libwallet_merged: added missing libdevice (stoffu)
2018-03-14 13:36:36 +02:00
Riccardo Spagni
33158f089d
Merge pull request #3354
ffe70b8f Make mixin optional with default for rpc transfer (cryptochangements34)
2018-03-14 13:36:25 +02:00
Riccardo Spagni
2dfb4f098e
Merge pull request #3353
73dd883d Ledger HW Bug fixes (Cédric)
2018-03-14 13:36:14 +02:00
Riccardo Spagni
cfc5a3d4d4
Merge pull request #3345
e0cda74a wallet2_api: add info/error/warning entry points (moneromooo-monero)
2018-03-14 13:35:53 +02:00
Riccardo Spagni
67978b78ce
Merge pull request #3337
91d97dd4 fuzz_tests: set small subaddress lookahead for speed (moneromooo-monero)
5f85cc7e wallet2: guard against overflowing of subaddress indices (moneromooo-monero)
2018-03-14 13:35:41 +02:00
Riccardo Spagni
3fed788603
Merge pull request #3315
649a1b7a wallet2 / simplewallet: Must opt-in to create '.address.txt' files for new wallets (Leon Klingele)
2018-03-14 13:35:11 +02:00
moneromooo-monero
5f85cc7e3d
wallet2: guard against overflowing of subaddress indices 2018-03-14 11:34:06 +00:00
stoffu
1d39b26556
wallet2: fix use_fork_rules() when querying version that is defined but not enabled yet 2018-03-14 19:02:21 +09:00
stoffu
c577abab61
wallet: fix auto low priority so that it takes effect only when saved default is 0 2018-03-14 18:33:43 +09:00
moneromooo-monero
523371c042
p2p: fix network ID being uninitialised when using exclusive peers 2018-03-13 11:20:49 +00:00
Cédric
73dd883d51 Ledger HW Bug fixes
Fix the way the REAL mode is handle:
  Let create_transactions_2 and create_transactions_from construct the vector of transactions.
  Then iterate on it and resign.
  We just need to add 'outs' list in the TX struct for that.

Fix default secret keys value when DEBUG_HWDEVICE mode is off
  The magic value (00...00 for view key and FF..FF for spend key) was not correctly set
  when DEBUG_HWDEVICE was off. Both was set to 00...00.

Add sub-address info in ABP map in order to correctly display destination sub-address on device

Fix DEBUG_HWDEVICE mode:
   - Fix compilation errors.
   - Fix control device init in ledger device.
   - Add more log.

Fix sub addr control

Fix debug Info
2018-03-12 10:43:06 +01:00
moneromooo-monero
9abeff5911
wallet2: handle no blocks returned in refresh to mean no new blocks
This is not a possible return from the daemon, but I want this in
now so all wallets handle this when the daemon starts doing so.
2018-03-11 21:16:15 +00:00
moneromooo-monero
ec41006cad
node_rpc_proxy: fix target height caching 2018-03-11 13:11:49 +00:00
moneromooo-monero
b63ea060de
simplewallet: do not call a RPC when displaying the prompt
Speeds up refresh when you have a lot of in/out transactions
2018-03-11 10:23:45 +00:00
Leon Klingele
649a1b7ae6
wallet2 / simplewallet: Must opt-in to create '.address.txt' files for new wallets
Previously, a file containing the unencrypted Monero address was
created by default in the wallet's directory. This file might pose
as a privacy risk. The creation of this file is now opt-in and can
be enabled by providing

    --create-address-file
2018-03-10 16:28:23 +01:00
cryptochangements34
aa8bef0cb3 fix error message typo in wallet2.cpp 2018-03-09 17:22:26 -05:00
stoffu
978663d461
Stagenet: successive forks up to v7 2018-03-09 13:59:11 +09:00
Riccardo Spagni
e9f41e405f
Merge pull request #3368
38657fd0 Bump min ring size from 5 to 7 from v7 (moneromooo-monero)
2018-03-08 18:47:41 +02:00
Riccardo Spagni
546e380cab
Merge pull request #3370
04a0cc89 slow-hash: fix uint64 type typo (moneromooo-monero)
2018-03-08 18:44:47 +02:00
Riccardo Spagni
3a12f2588a
Merge pull request #3365
55a65f32 Wallet API: corrected testnet/mainnet ordering (stoffu)
2018-03-08 18:44:18 +02:00
Riccardo Spagni
f4cf613e34
Merge pull request #3362
49c70962 device: remove dependency on readline (stoffu)
2018-03-08 18:43:37 +02:00
Riccardo Spagni
220cb62ca4
Merge pull request #3357
557a6fb6 cn_deserialize: link with device and ringct (moneromooo-monero)
2018-03-08 18:43:20 +02:00
Riccardo Spagni
60c8544e77
Merge pull request #3347
9a6be3da wallet_manager: fixed typo deviuce/device.hpp (stoffu)
2018-03-08 18:42:24 +02:00
moneromooo-monero
c3e23b2dce
ringct: 17% improvement in Borromean signature verification 2018-03-08 00:41:54 +00:00
moneromooo-monero
84decbea48
core: add v7 for 1539500 on mainnet 2018-03-07 17:19:50 +00:00
moneromooo-monero
1979d53d78
wallet: fixes and tweaks to the save_watch_only command
- save the new keys file as FOO-watchonly.keys, not FOO.keys-watchonly
- catch any exception (eg, I/O errors) and error out
- print the new keys filename in simplewallet
2018-03-07 14:24:14 +00:00
moneromooo-monero
38657fd0e9
Bump min ring size from 5 to 7 from v7 2018-03-07 13:19:04 +00:00
moneromooo-monero
04a0cc89cf
slow-hash: fix uint64 type typo 2018-03-07 09:48:58 +00:00
stoffu
55a65f3269
Wallet API: corrected testnet/mainnet ordering 2018-03-07 13:56:17 +09:00
stoffu
49c70962ee
device: remove dependency on readline 2018-03-07 07:42:28 +09:00
stoffu
1ff35fda7c
Wallet API: make nettype non-defaulted to disambiguate from deprecated versions (and make libwallet_api_tests compilable) 2018-03-06 21:14:52 +09:00
moneromooo-monero
557a6fb6ea
cn_deserialize: link with device and ringct 2018-03-05 20:52:18 +00:00
Lee Clagett
e136bc6b8a
tweaks to the monerov1 cryptonight algorithm 2018-03-05 18:18:45 +00:00
SChernykh
d58c9ec99c
slow-hash: optimized version 2018-03-05 18:18:43 +00:00
moneromooo-monero
608fd6f14a
Monero Cryptonight variants, and add one for v7
This is the first variant of many, with the intent to improve
Monero's resistance to ASICs and encourage mining decentralization.
2018-03-05 18:18:39 +00:00
stoffu
0bbd521fa2
libwallet_merged: added missing libdevice 2018-03-06 02:36:37 +09:00
cryptochangements34
ffe70b8f61
Make mixin optional with default for rpc transfer 2018-03-05 12:27:22 -05:00
Riccardo Spagni
a21c927d7d
Merge pull request #3298
f2bb8085 Fix #3297 use the password_prompter helper (Howard Chu)
2018-03-05 19:17:51 +02:00
Riccardo Spagni
0c2b25204e
Merge pull request #3312
399120dd simplewallet: set seed language when restoring from english-old seed (stoffu)
2018-03-05 19:16:52 +02:00
Riccardo Spagni
237f0179b7
Merge pull request #3313
43026822 Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows (rbrunner7)
2018-03-05 19:15:54 +02:00
Riccardo Spagni
baf640887d
Merge pull request #3343
3d452367 allow using ring size instead of mixin for rpc transfer (cryptochangements34)
2018-03-05 19:14:03 +02:00
Riccardo Spagni
98acbe83fc
Merge pull request #3348
c95dddd2 remove unused function keyImageV (h908714124)
2018-03-05 19:13:52 +02:00
Riccardo Spagni
05f0762dc5
Merge pull request #3346
25ea307d Fix invalid device unique_ptr cast (MoroccanMalinois)
2018-03-05 19:13:40 +02:00
Riccardo Spagni
9841a452e5
Merge pull request #3338
51219457 core: fix sending to the source address with a short payment id (moneromooo-monero)
2018-03-05 19:13:28 +02:00
Riccardo Spagni
61ac5b0471
Merge pull request #3332
6b40ea93 simplewallet: fix print_ring_members printing wrong heights (moneromooo-monero)
2018-03-05 19:12:59 +02:00
Riccardo Spagni
5b25cbb5a7
Merge pull request #3314
71bff546 wallet api: when restoring from EnglishOld, set language to English (stoffu)
2018-03-05 19:12:24 +02:00
Riccardo Spagni
abcdb7b5c4
Merge pull request #3308
6f8779d2 blockchain: fix random sync failures (moneromooo-monero)
2018-03-05 19:12:05 +02:00
Riccardo Spagni
0e5c006207
Merge pull request #3307
223d7d0c db_lmdb: fix free space reporting (moneromooo-monero)
2018-03-05 19:11:52 +02:00
Riccardo Spagni
5950d356b6
Merge pull request #3301
34a2a085 rctSigs - loop invariant code removed from the loop (Dusan Klinec)
2018-03-05 19:11:35 +02:00
Riccardo Spagni
4f93f74528
Merge pull request #3277
0e7ad2e2 Wallet API: generalize 'bool testnet' to 'NetworkType nettype' (stoffu)
af773211 Stagenet (stoffu)
cc9a0bee command_line: allow args to depend on more than one args (stoffu)
55f8d917 command_line::get_arg: remove 'required' for dependent args as they're always optional (stoffu)
450306a0 command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 (stoffu)
9f9e095a Use `genesis_tx` parameter in `generate_genesis_block`. #3261 (Jean Pierre Dudey)
2018-03-05 19:11:20 +02:00
Riccardo Spagni
033ead4bad
Merge pull request #3273
f3b74e75 Fix refresh height estimation (Howard Chu)
2018-03-05 19:11:07 +02:00
Riccardo Spagni
b54587d7b3
Merge pull request #3259
6d900a40 removed systemd private tempdir (ston1th)
496055d1 monerod: do not log to tmpdir in daemon mode (ston1th)
2018-03-05 19:10:51 +02:00
Edward Betts
fbcc91c2a4 Correct spelling mistakes. 2018-03-05 17:00:40 +00:00
cryptochangements34
3d452367b0 allow using ring size instead of mixin for rpc transfer 2018-03-05 10:10:35 -05:00
stoffu
0e7ad2e2c9
Wallet API: generalize 'bool testnet' to 'NetworkType nettype' 2018-03-05 23:59:16 +09:00
h908714124
c95dddd2d2 remove unused function keyImageV 2018-03-05 09:21:44 +01:00
stoffu
9a6be3da25
wallet_manager: fixed typo deviuce/device.hpp 2018-03-05 11:57:30 +09:00
stoffu
af773211cb
Stagenet 2018-03-05 11:55:05 +09:00
stoffu
cc9a0bee04
command_line: allow args to depend on more than one args 2018-03-05 11:19:08 +09:00
stoffu
55f8d917fd
command_line::get_arg: remove 'required' for dependent args as they're always optional 2018-03-05 11:19:06 +09:00
stoffu
450306a01c
command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 2018-03-05 11:19:04 +09:00
Jean Pierre Dudey
9f9e095a8c
Use genesis_tx parameter in generate_genesis_block. #3261
* src/cryptnote_config.h: The constant `config::testnet::GENESIS_TX` was
changed to be the same as `config::GENESIS_TX` (the mainnet's transaction)
because the mainnet's transaction was being used for both networks.

* src/cryptonote_core/cryptonote_tx_utils.cpp: The `generate_genesis_block` function
was ignoring the  `genesis_tx` parameter, and instead it was using the `config::GENESIS_TX`
constant. That's why the testnet genesis transaction was changed. Also five lines of unused
code were removed.

Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-03-05 11:19:01 +09:00
MoroccanMalinois
25ea307d67
Fix invalid device unique_ptr cast 2018-03-04 18:56:48 +00:00
moneromooo-monero
e0cda74ace
wallet2_api: add info/error/warning entry points 2018-03-04 18:07:30 +00:00
cslashm
e745c1e38d Code modifications to integrate Ledger HW device into monero-wallet-cli.
The basic approach it to delegate all sensitive data (master key, secret
ephemeral key, key derivation, ....) and related operations to the device.
As device has low memory, it does not keep itself the values
(except for view/spend keys) but once computed there are encrypted (with AES
are equivalent) and return back to monero-wallet-cli. When they need to be
manipulated by the device, they are decrypted on receive.

Moreover, using the client for storing the value in encrypted form limits
the modification in the client code. Those values are transfered from one
C-structure to another one as previously.

The code modification has been done with the wishes to be open to any
other hardware wallet. To achieve that a C++ class hw::Device has been
introduced. Two initial implementations are provided: the "default", which
remaps all calls to initial Monero code, and  the "Ledger", which delegates
all calls to Ledger device.
2018-03-04 12:54:53 +01:00
moneromooo-monero
51219457b1
core: fix sending to the source address with a short payment id
It would fail to send, thinking it needs a destination address,
since the destination matches the change address in this case.
2018-03-02 23:27:57 +00:00
moneromooo-monero
6b40ea937a
simplewallet: fix print_ring_members printing wrong heights
And also use uint64_t instead of int for heights where appropriate
2018-03-02 00:25:16 +00:00
stoffu
71bff546d3
wallet api: when restoring from EnglishOld, set language to English 2018-02-25 22:04:36 +09:00
rbrunner7
430268224d Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows 2018-02-25 12:57:58 +01:00
stoffu
399120ddad
simplewallet: set seed language when restoring from english-old seed 2018-02-25 12:44:10 +09:00
ston1th
496055d128 monerod: do not log to tmpdir in daemon mode
The logging to /tmp/bitmonero.daemon.stdout.stderr caused segfaults
if the /tmp mount was full (#2851).
Now the daemon is only logging to /tmp/bitmonero.daemon.stdout.stderr
in the debug builds.
2018-02-23 21:27:14 +01:00
moneromooo-monero
6f8779d282
blockchain: fix random sync failures
When a block is added as part of a chunk (when syncing historical
blocks), a block may end up already in the blockchain if it was
added to the queue before being added to the chain (though it's
not clear how that could happen, but it's an implementation detail)
and thus may not be added to the chain when add_block is called.
This would cause m_blocks_txs_check to not be cleared, causing it
to get out of sync at next call, and thus wrongfully reject the
next block.
2018-02-23 19:47:17 +00:00
moneromooo-monero
223d7d0c7a
db_lmdb: fix free space reporting
reported by Brad Richards
2018-02-23 09:06:10 +00:00
Dusan Klinec
34a2a08530 rctSigs - loop invariant code removed from the loop 2018-02-21 16:35:06 +01:00
Riccardo Spagni
2ac3da1251
Merge pull request #3256
df5273de wallet2: fix auto_low_priority field name typo on load (moneromooo-monero)
2018-02-20 17:53:38 +02:00
Riccardo Spagni
0d530bd04e
Merge pull request #3295
6514f0ed db_lmdb: fix return code mixup in for_all_* (moneromooo-monero)
2018-02-20 17:49:16 +02:00
Riccardo Spagni
46903ec26a
Merge pull request #3294
fd57e13a simplewallet: typo in generate-from-multisig-keys (stoffu)
2018-02-20 17:49:05 +02:00
Riccardo Spagni
21335e5c6b
Merge pull request #3293
4a78a99f cryptonote_core: change wording of fork warning message (moneromooo-monero)
2018-02-20 17:48:54 +02:00
Riccardo Spagni
299af8e43e
Merge pull request #3290
1d28c0d8 p2p: restore m_testnet assignment lost during rebase (whythat)
2018-02-20 17:48:29 +02:00
Riccardo Spagni
ea9ddcac7f
Merge pull request #3288
10f78f63 p2p: need libcryptonote_core due to arg_testnet_on being used (stoffu)
2018-02-20 17:48:05 +02:00
Riccardo Spagni
fc57e0ef2d
Merge pull request #3263
d4e728c9 simplewallet: reword donate command message for clarity (Serhack)
2018-02-20 17:47:42 +02:00
Riccardo Spagni
c9aa9370f9
Merge pull request #3260
b2d4bb9b Remove `voting_version` parameter documentation. (Jean Pierre Dudey)
2018-02-20 17:47:31 +02:00
Riccardo Spagni
4e9de94565
Merge pull request #3257
da25757b simplewallet: do nothing in on_skip_transaction (wallet2 already logs warnings) (stoffu)
2018-02-20 17:47:20 +02:00
Riccardo Spagni
ff36fd93fd
Merge pull request #3255
3962bcb2 Closes #2886: really ignore battery checking (Timothy D. Prime)
2018-02-20 17:47:03 +02:00
Riccardo Spagni
cfa3af4078
Merge pull request #3247
89ad162a wallet2: remove unused m_subaddresses_inv (moneromooo-monero)
f2c4c399 wallet2: speed up subaddress generation (by about a third) (moneromooo-monero)
2018-02-20 17:46:40 +02:00
Riccardo Spagni
6920fdaf4f
Merge pull request #3246
3c33e131 wallet2: don't store invalid key image when watch-only (stoffu)
0133b348 wallet2: don't throw when spent amount is inconsistent (stoffu)
2018-02-20 17:46:29 +02:00
Riccardo Spagni
0fc5eec9cd
Merge pull request #3235
6866ed46 Add default value to max_height, otherwise it's 0 (Michał Sałaban)
2018-02-20 17:46:00 +02:00
Howard Chu
f2bb8085ec
Fix #3297 use the password_prompter helper 2018-02-20 02:25:20 +00:00
moneromooo-monero
6514f0ed7b
db_lmdb: fix return code mixup in for_all_* 2018-02-19 14:55:58 +00:00
stoffu
fd57e13a84
simplewallet: typo in generate-from-multisig-keys 2018-02-19 09:51:30 +09:00