moneromooo-monero
5ffb2ff9b7
v8: per byte fee, pad bulletproofs, fixed 11 ring size
2018-09-11 13:38:07 +00:00
moneromooo-monero
9ce9f8caf6
bulletproofs: add multi output bulletproofs to rct
2018-09-11 13:37:28 +00:00
moneromooo-monero
44439c3208
record blackballs as amount/offset, and add export ability
2018-09-10 09:04:18 +00: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
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
stoffu
a64f57fe42
wallet2: make --restricted-rpc available for wallet RPC only
2018-08-16 09:54:23 +09: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
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
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
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
stoffu
1c6cfd34f4
wallet-rpc: add get_address_index command
2018-07-31 21:36:12 +09: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
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
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
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
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
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
stoffu
3d623a86d1
wallet: prevent the same wallet file from being opened by multiple processes
2018-06-28 09:41:43 +09: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
5eb2e01216
Merge pull request #3991
...
798dfcf
wallet: allow unspendable unmixable outputs to be discarded (stoffu)
2018-06-27 16:25:03 -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
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
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
ed2c81ed95
replace std::list with std::vector on some hot paths
...
also use reserve where appropriate
2018-06-26 22:14:21 +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
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
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
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
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
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
luigi1111
5b189ce2a8
Merge pull request #3405
...
80d2f80
wallet2: Update function parameter documentation (leonklingele)
2018-05-29 12:52:43 -05:00
jcktm
89e51ecd38
simple-wallet-cli: Add warnings about inaccurate balances to to watch-only wallet
2018-05-15 15:28:42 +10: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
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
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
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
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
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
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
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
Leon Klingele
80d2f8007c
wallet2: Update function parameter documentation
...
This completes and fixes various parameters docs
2018-03-14 16:41:24 +01: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
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
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
stoffu
af773211cb
Stagenet
2018-03-05 11:55:05 +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
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
moneromooo-monero
89ad162a3f
wallet2: remove unused m_subaddresses_inv
2018-02-16 17:13:09 +00:00
moneromooo-monero
f2c4c39971
wallet2: speed up subaddress generation (by about a third)
2018-02-16 17:13:06 +00:00
Riccardo Spagni
82599ef0e3
Merge pull request #3175
...
3be98036
wallet-cli: Do not ask for scan_from_height if it explicitly is set to zero. (Maximilian Lupke)
2018-02-16 14:19:24 +01:00
stoffu
30c44bce06
wallet: automatically use low priority if safe (no backlog & recent blocks not full)
2018-01-28 11:04:52 +09:00
moneromooo-monero
2f5a9b6bb3
wallet2: split estimate_backlog to allow for raw fee levels
2018-01-28 10:52:16 +09:00
Riccardo Spagni
5603d5aaea
Merge pull request #3141
...
3160a930
wallet2: remove {set|get}_default_decimal_point and use the same funcs under cryptonote:: instead (stoffu)
7d1088d3
wallet2: make scan_output const and omit keys arg (stoffu)
bc1ee2c2
wallet2: make member functions const when possible (stoffu)
2018-01-27 17:25:15 -08: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
Riccardo Spagni
73a19e0b06
Merge pull request #3113
...
ffc2e570
wallet rpc: show fees when querying incoming transfers (stoffu)
2018-01-27 17:24:15 -08:00
xmr-eric
18216f19dd
Update 2018 copyright
2018-01-26 10:03:20 -05:00
stoffu
3160a93027
wallet2: remove {set|get}_default_decimal_point and use the same funcs under cryptonote:: instead
2018-01-26 10:59:32 +09:00
stoffu
7d1088d337
wallet2: make scan_output const and omit keys arg
2018-01-26 10:59:31 +09:00
stoffu
bc1ee2c2ee
wallet2: make member functions const when possible
2018-01-26 10:59:30 +09:00
stoffu
ffc2e5705d
wallet rpc: show fees when querying incoming transfers
2018-01-26 10:58:23 +09:00
stoffu
ca336c62e3
simplewallet: check file overwrite when exporting stuff
2018-01-26 10:57:13 +09:00
Maximilian Lupke
3be98036e7
wallet-cli: Do not ask for scan_from_height if it explicitly is set to zero.
...
Fixes #3080
2018-01-24 18:01:08 +01:00
stoffu
6d40a92026
Reserve proof
2018-01-10 20:37:18 +09:00
Riccardo Spagni
eb617be8f4
Merge pull request #2960
...
5cbcf0aa
wallet: support for multisig seeds (moneromooo-monero)
2018-01-02 00:29:36 +02:00
moneromooo-monero
1e5491e942
Add a chacha20 variant to go with chacha8
2017-12-25 19:28:03 +00:00
moneromooo-monero
5cbcf0aa25
wallet: support for multisig seeds
...
They are hex rather than words, because they are a lot longer
than "normal" seeds, as they have to embed a lot more information
2017-12-20 10:22:29 +00:00
stoffu
6b5bd129b4
Account tagging
2017-12-18 10:21:47 +09:00
moneromooo-monero
98db7ee467
wallet: factor multisig info parsing
2017-12-17 16:12:44 +00:00
moneromooo-monero
31a97e761e
wallet: use raw encrypted data in multisig import/export RPC
2017-12-17 16:12:41 +00:00
moneromooo-monero
2fa707d1a5
wallet: add multisig sign/submit RPC
2017-12-17 16:12:35 +00:00
moneromooo-monero
a36c261d7a
wallet2: fix slow multisig unit tests with subaddress patch
...
While there, move the wallet2 ctor to the cpp file as it's a huge
amount of init list now, and remove an unused one.
2017-12-17 16:12:30 +00:00
moneromooo-monero
fa5697127f
make multisig work with subaddresses
...
Thanks to kenshi84 for help getting this work
2017-12-17 16:12:27 +00:00
moneromooo-monero
265290388b
wallet: guard against partly initialized multisig wallet
2017-12-17 16:12:18 +00:00
moneromooo-monero
66e34e85b1
add multisig core test and factor multisig building blocks
2017-12-17 16:12:15 +00:00
moneromooo-monero
f4eda44ce3
N-1/N multisig
2017-12-17 16:12:12 +00:00
moneromooo-monero
cd64c7990c
multisig address generation RPC
2017-12-17 16:12:09 +00:00