Commit Graph

195 Commits

Author SHA1 Message Date
Riccardo Spagni
48e3a341f8
Merge pull request #5211
c9b13fbb tests/trezor: HF9 and HF10 tests (Dusan Klinec)
a1fd1d49 device/trezor: HF10 support added, wallet::API (Dusan Klinec)
d74d26f2 crypto: hmac_keccak added (Dusan Klinec)
2019-03-21 14:44:04 +02:00
Dusan Klinec
a1fd1d499c
device/trezor: HF10 support added, wallet::API
- import only key images generated by cold signing process
- wallet_api: trezor methods added
- wallet: button request code added
- const added to methods
- wallet2::get_tx_key_device() tries to decrypt stored tx private keys using the device.
- simplewallet supports get_tx_key and get_tx_proof on hw device using the get_tx_key feature
- live refresh enables refresh with trezor i.e. computing key images on the fly. More convenient and efficient for users.
- device: has_ki_live_refresh added
- a thread is watching whether live refresh is being computed, if not for 30 seconds, it terminates the live refresh process - switches Trezor state
2019-03-20 21:11:02 +01:00
Riccardo Spagni
38dcd975f2
Merge pull request #4889
f42263eb wallet: adds rescan_bc option with preserving key images (Dusan Klinec)
2019-03-19 10:55:45 +02:00
Dusan Klinec
f42263ebb6
wallet: adds rescan_bc option with preserving key images
- enables to perform rescan_spent / ki sync with untrusted daemon. Spent check status involves RPC calls which require trusted daemon status as it leaks information. The new call performs soft reset while preserving key images thus a sequence: refresh, ki sync / import, rescan_bc keep_ki will correctly perform spent checking without need for trusted daemon.

- useful to detect spent outputs with untrusted daemon on watch_only / multisig / hw-cold wallets after expensive key image sync.

- cli: rescan_bc keep_ki
2019-03-15 12:55:29 +01:00
binaryFate
1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
moneromooo-monero
1ef79b430f
simplewallet: disable long payment ids by default
unless --long-payment-id-support is used
2019-01-16 20:06:04 +00:00
Riccardo Spagni
f8a10bcc07
Merge pull request #5009
5e10dee3 simplewallet: fix show_transfers colouring, and add red for failed (moneromooo-monero)
2019-01-16 21:30:52 +02:00
Riccardo Spagni
cb996d15c5
Merge pull request #4981
60b35c91 Add --restore-date param (Howard Chu)
2019-01-16 19:05:31 +02:00
moneromooo-monero
db3f2a91fa
wallet: optionally keep track of owned outputs uses 2018-12-31 23:57:51 +00:00
moneromooo-monero
5e10dee3ea
simplewallet: fix show_transfers colouring, and add red for failed
Also add the type back, as it was somehow weirdly split into
two different fields, one being a union...
2018-12-23 15:15:55 +00:00
Howard Chu
60b35c91b9
Add --restore-date param
Estimate restore height from given date
Check date format early, error out early if invalid
2018-12-14 19:11:35 +00:00
rbrunner7
1ebcd7b9b0 MMS (Multisig Messaging System): Initial version 2018-12-12 21:49:20 +01: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
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
sachaaaaa
a93571410e Add new command "export_transfers" to save transfers to csv 2018-11-12 12:03:11 +11: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
moneromooo-monero
f26ce08c8a
wallet: add a non destructive blockchain rescan 2018-11-03 15:04:37 +00:00
Dusan Klinec
29ffb6bba8
device/trezor: trezor support added 2018-11-02 21:36:39 +01:00
naughtyfox
9f3963e823 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
2018-10-01 19:16:56 +03:00
Riccardo Spagni
37a306370d
Merge pull request #4388
05edc969 simplewallet: remove obsolete transfer_original command (moneromooo-monero)
2018-09-21 20:44:19 +02:00
moneromooo-monero
05edc969c0
simplewallet: remove obsolete transfer_original command 2018-09-16 14:29:41 +00: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
stoffu
8ca1215f25
wallet: store trusted-daemon flag in wallet2 2018-08-23 14:55:09 +09: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
luigi1111
41e583b0a2
Merge pull request #4195
f13c7a8 simplewallet: make sure wallet config is stored right after creation (stoffu)
2018-08-15 17:58:24 -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
stoffu
a3fe1c56ee
simplewallet: add set_tx_key for importing tx keys from 3rd party wallets 2018-07-30 20:50:05 +09:00
stoffu
f13c7a8263
simplewallet: make sure wallet config is stored right after creation 2018-07-30 20:39:05 +09:00
jcktm
ed7825dc0c monero-wallet-cli: added locked_sweep_all command 2018-07-23 10:35:58 +10:00
stoffu
d6d78f157b
Allow fractional outputs to be ignored 2018-07-03 18:04:31 +09:00
luigi1111
c4907d24cb
Merge pull request #3477
3f5fb6f simplewallet: add --untrusted-daemon option (moneromooo-monero)
2018-05-29 13:01:50 -05:00
moneromooo-monero
51b511be4c
simplewallet: add version command 2018-04-13 18:47:33 +01:00
moneromooo-monero
3f5fb6fe6d
simplewallet: add --untrusted-daemon option 2018-03-22 14:20:55 +00:00
Riccardo Spagni
df91d7bcbd
Merge pull request #3426
8ea3c4d5 simplewallet: new --use-english-language-names flag (moneromooo-monero)
2018-03-18 15:58:12 +02:00
moneromooo-monero
8ea3c4d544
simplewallet: new --use-english-language-names flag
On some Windows systems, displaying language names in their own
languages freezes the display.
2018-03-17 22:46:41 +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
stoffu
b86f1e5dad Add command line option allowing to restrict the default sub-address lookahead in order to avoid
so looooong time of set-up when creating a HW based wallet.
2018-03-16 18:00:28 +01: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
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
stoffu
a7266d6d7b
wallet2+cli+rpc: eliminate redundant m_http_client from cli/rpc and delegate calls to wallet2 2018-03-15 22:01:51 +09: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
Riccardo Spagni
6ed314854c
Merge pull request #3188
fbc0a6dd Bugfix : Missing i18n import in simplewallet (Neozaru)
2018-01-27 18:21:55 -08:00
stoffu
30c44bce06
wallet: automatically use low priority if safe (no backlog & recent blocks not full) 2018-01-28 11:04:52 +09:00
Riccardo Spagni
e1ba5b95c1
Merge pull request #3118
ca336c62 simplewallet: check file overwrite when exporting stuff (stoffu)
2018-01-27 17:24:34 -08:00
xmr-eric
18216f19dd Update 2018 copyright 2018-01-26 10:03:20 -05:00
Neozaru
fbc0a6dd23 Bugfix : Missing i18n import in simplewallet 2018-01-26 13:58:49 +01:00
stoffu
ca336c62e3
simplewallet: check file overwrite when exporting stuff 2018-01-26 10:57:13 +09:00