Commit graph

1773 commits

Author SHA1 Message Date
stoffu
a2195b9b7f
crypto: replace rand<T>()%N idiom with unbiased rand_idx(N) 2019-04-04 22:38:19 +09:00
moneromooo-monero
15f27c80b9
wallet2: support multi out txes without change in sanity check 2019-04-03 20:58:21 +00:00
selsta
8bb253b0db
libwallet_merged: add missing net target 2019-04-02 21:22:51 +02:00
moneromooo-monero
0be5b2ee78
simplewallet: new unset_ring command
Useful when debugging, though not much for users
2019-04-02 14:18:07 +00:00
stoffu
d3018d0f0b
api/wallet: fix some wrong namespace 2019-04-02 10:11:49 +09:00
moneromooo-monero
c12b43cb5a
wallet: add number of blocks required for the balance to fully unlock 2019-04-01 19:31:19 +00:00
moneromooo-monero
3f1e9e84c0
wallet2: set confirmations to 0 for pool txes in proofs
It makes more sense than (uint64_t)-1, which is going to look
like very much confirmed when not checking in_pool
2019-04-01 19:31:10 +00:00
moneromooo-monero
36c037ec47
wallet_rpc_server: error out on getting the spend key from a hot wallet 2019-04-01 19:31:01 +00:00
moneromooo-monero
cd1eaff29e
wallet_rpc_server: always fill out subaddr_indices in get_transfers
It was not filled out for in and pool types
2019-04-01 19:30:27 +00:00
Riccardo Spagni
b6726aaa6c
Merge pull request #5319
f825055d wallet_rpc_server: error out on getting the spend key from a hot wallet (moneromooo-monero)
67aa4adc wallet_rpc_server: add a set_daemon RPC (moneromooo-monero)
705acbac wallet2: init some variables to default values if loading old wallets (moneromooo-monero)
f82bc29e wallet_rpc_server: always fill out subaddr_indices in get_transfers (moneromooo-monero)
01efdc6a wallet_rpc_server: set confirmations to 0 for pending/pool txes (moneromooo-monero)
2019-04-01 20:56:52 +02:00
moneromooo-monero
f825055d22
wallet_rpc_server: error out on getting the spend key from a hot wallet 2019-04-01 16:03:29 +00:00
moneromooo-monero
67aa4adcfc
wallet_rpc_server: add a set_daemon RPC 2019-04-01 16:03:25 +00:00
moneromooo-monero
705acbac4d
wallet2: init some variables to default values if loading old wallets 2019-04-01 16:03:23 +00:00
moneromooo-monero
f82bc29ec2
wallet_rpc_server: always fill out subaddr_indices in get_transfers
It was not filled out for in and pool types
2019-04-01 16:03:20 +00:00
moneromooo-monero
01efdc6a7e
wallet_rpc_server: set confirmations to 0 for pending/pool txes 2019-04-01 16:03:17 +00:00
Riccardo Spagni
286dec012d
Merge pull request #5333
18faa6da wallet: add freeze/thaw/frozen commands (moneromooo-monero)
2019-04-01 17:36:16 +02:00
Riccardo Spagni
b8ab510f23
Merge pull request #5332
7c440915 Add get_tx_proof support, needed for new sanity check (cslashm)
98fdcb2a Add support for V11 protocol with BulletProofV2 and short amount. New scheme key destination contrfol Fix dummy decryption in debug mode (cslashm)
3a981a33 Add application version compatibility check. (cslashm)
2019-04-01 17:35:12 +02:00
Riccardo Spagni
3b52940471
Merge pull request #5349
f1a3796a wallet2: fix tx sanity check change test for the sweep_all case (moneromooo-monero)
2019-04-01 17:34:43 +02:00
Riccardo Spagni
3b1fa543ca
Merge pull request #5329
023f2c77 wallet_rpc_server: remove mixin from transfer RPCs (moneromooo-monero)
2019-04-01 17:32:20 +02:00
Riccardo Spagni
8b57e33789
Merge pull request #5305
4500236f wallet2: make use_fork_rules handle chain heights lower than leeway (moneromooo-monero)
2019-04-01 17:26:23 +02:00
Riccardo Spagni
30a3a73609
Merge pull request #5303
0a6cb30d wallet: flush output cache upon reorg (moneromooo-monero)
2019-04-01 17:26:10 +02:00
Riccardo Spagni
94880540e7
Merge pull request #5302
23fb056a wallet_rpc_server: new auto_refresh RPC (moneromooo-monero)
2019-04-01 17:25:53 +02:00
Riccardo Spagni
b09f1bdb8f
Merge pull request #5299
4ee15655 wallet_rpc_server: fix buffer read overflow in string assignment (moneromooo-monero)
2019-04-01 17:24:33 +02:00
Riccardo Spagni
4a06b3ee62
Merge pull request #5298
8fd7452b wallet: move light wallet RPC out of core RPC (moneromooo-monero)
2019-04-01 17:24:13 +02:00
Riccardo Spagni
f13d38350a
Merge pull request #5297
a8b98a0b wallet: fix memory only wallets (moneromooo-monero)
2019-04-01 17:23:37 +02:00
Riccardo Spagni
6cb0a26d9d
Merge pull request #5292
328d291f wallet2: set seed language when creating from json (moneromooo-monero)
2019-04-01 17:22:22 +02:00
Riccardo Spagni
a6b798e72f
Merge pull request #5291
a52366c1 wallet2: fix generation from json when restore height is not set (moneromooo-monero)
2019-04-01 17:21:14 +02:00
cslashm
7c44091541 Add get_tx_proof support, needed for new sanity check
Enhance debug info
2019-03-28 18:26:15 +01:00
moneromooo-monero
050bb337d7
wallet2: factor the watchonly/multisig/etc fields on creation
There's half a dozen calls, and it's easy to miss some when
adding a new field.
2019-03-27 08:51:16 +00:00
moneromooo-monero
f1a3796a43
wallet2: fix tx sanity check change test for the sweep_all case 2019-03-25 22:41:22 +00:00
moneromooo-monero
d45b85e170
wallet2: skip derivation precalc for blocks we know we'll skip 2019-03-25 14:28:05 +00:00
moneromooo-monero
547a9708de
cryptonote: block parsing + hash calculation speedup
This saves a duplicate serialization step
2019-03-25 13:43:17 +00:00
moneromooo-monero
678262ab65
wallet_rpc_server: allow english/local language names in create_wallet
and return both in get_languages
2019-03-25 12:52:43 +00:00
moneromooo-monero
a8b98a0bd7
wallet: fix memory only wallets
at least when using restore_deterministic_wallet
2019-03-25 12:49:25 +00:00
Lee Clagett
7acfa9f3cc Added socks proxy (tor/i2pd/kovri) support to wallet 2019-03-25 01:35:13 +00:00
moneromooo-monero
cafa15b904
wallet2: set confirmations to 0 for pool txes in proofs
It makes more sense than (uint64_t)-1, which is going to look
like very much confirmed when not checking in_pool
2019-03-24 21:59:06 +00:00
Riccardo Spagni
4176a399de
Merge pull request #5282
f962449d wallet_rpc_server: include out subaddress indices in get_transfers (moneromooo-monero)
2019-03-24 19:37:07 +02:00
Riccardo Spagni
8cb4293e82
Merge pull request #5277
adf6d773 wallet: fix offline signing calling a daemon RPC (moneromooo-monero)
2019-03-24 19:35:39 +02:00
moneromooo-monero
16eda54b38
wallet: use original user address if we have a short payment id 2019-03-24 08:58:59 +00:00
moneromooo-monero
18faa6da0c
wallet: add freeze/thaw/frozen commands
These commands let one freeze outputs by key image, so they
do not appear in balance, nor are considered when creating
a transaction, etc

This is helpful when receiving an output from a suspected spy,
who might try to track your other outputs by seeing with what
other outputs it gets spent.

The frozen command may be used without parameters to list all
currently frozen outputs.
2019-03-22 09:19:24 +00:00
moneromooo-monero
023f2c7747
wallet_rpc_server: remove mixin from transfer RPCs
it's been a while, only use ring_size now
2019-03-21 14:47:39 +00:00
moneromooo-monero
adf6d7730f
wallet: fix offline signing calling a daemon RPC 2019-03-21 14:46:29 +00:00
moneromooo-monero
b05f10f82e
wallet2: sanity check new tx before sending
We generate and check tx proofs and verify the amounts in those
match what the original amounts were.
2019-03-21 13:03:45 +00:00
Riccardo Spagni
e0a05837ba
Merge pull request #5270
5ade7281 Wallet API: multisig_tx_set passing bug fixed (naughtyfox)
2019-03-21 14:51:41 +02:00
Riccardo Spagni
dcfd5a8892
Merge pull request #5266
576116d4 wallet: fix load failure if the mms isn't usable (moneromooo-monero)
2019-03-21 14:51:30 +02:00
Riccardo Spagni
30e823e7cd
Merge pull request #5248
3f6f90bb wallet2: do not use invalid keys as fake outs in rings (moneromooo-monero)
2019-03-21 14:46:58 +02:00
Riccardo Spagni
5e03bd06c1
Merge pull request #5235
c6a70af8 wallet2: key image import fixes (moneromooo-monero)
2019-03-21 14:45:58 +02:00
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
695d51a481
Merge pull request #5203
8b514645 add multisig tx sets to describe_transfer rpc endpoint (spoke0)
2019-03-19 10:59:42 +02: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
Riccardo Spagni
e1be617ea2
Merge pull request #5182
b674728d Better error when sending a tx with a too large extra field (moneromooo-monero)
2019-03-17 17:55:13 +02:00
Riccardo Spagni
761ef99e77
Merge pull request #5168
8630a028 wallet: fix payment ID decryption for construction data (Dusan Klinec)
2019-03-17 17:52:41 +02:00
Riccardo Spagni
6d5849d9bb
Merge pull request #5165
36451697 Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_key (Joel)
c17c8188 Remove code duplication (Joel)
acb14c10 Add generate_from_view_key RPC method (Joel)
7dd7a3b7 Add generate_from_keys RPC method (Joel)
2019-03-17 17:51:24 +02:00
Riccardo Spagni
4c91eb23a0
Merge pull request #5061
1f2930ce Update 2019 copyright (binaryFate)
2019-03-17 17:49:30 +02:00
moneromooo-monero
4500236f25
wallet2: make use_fork_rules handle chain heights lower than leeway 2019-03-17 14:22:50 +00:00
moneromooo-monero
0a6cb30d62
wallet: flush output cache upon reorg
Fixes output usage tracking
2019-03-17 10:34:07 +00:00
moneromooo-monero
23fb056a72
wallet_rpc_server: new auto_refresh RPC
It can enable/disable auto refresh, and set auto refresh period
2019-03-17 10:33:51 +00:00
Riccardo Spagni
03d1dbc2ad
Merge pull request #5280
aac4e2f5 wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprints (moneromooo-monero)
2019-03-16 14:05:30 +02:00
moneromooo-monero
4ee156556d
wallet_rpc_server: fix buffer read overflow in string assignment 2019-03-15 19:36:13 +00:00
moneromooo-monero
8fd7452b6e
wallet: move light wallet RPC out of core RPC
It's not nothing to do with it
2019-03-15 13:34:08 +00: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
moneromooo-monero
328d291fe4
wallet2: set seed language when creating from json 2019-03-15 00:16:50 +00:00
moneromooo-monero
a52366c1bf
wallet2: fix generation from json when restore height is not set
It was not recovering then, but creating a new random address
2019-03-14 23:41:41 +00:00
Riccardo Spagni
c88e992104
Merge pull request #4977
5ea17909 device/trezor: debugging features, trezor tests (Dusan Klinec)
2019-03-14 09:43:02 +02:00
moneromooo-monero
f962449d46
wallet_rpc_server: include out subaddress indices in get_transfers 2019-03-13 14:14:15 +00:00
moneromooo-monero
aac4e2f585
wallet_rpc_server: add missing --rpc-ssl-allowed-fingerprints 2019-03-13 12:59:44 +00:00
moneromooo-monero
bc61b5ca95
wallet2: don't store 0 amount outputs, they'll fail to be spent
It's better to just ignore them, the user does not really need
to know they're here. If the mask is wrong, they'll fail to be
used, and sweeping will fail as it tries to use it.

Reported by Josh Davis.
2019-03-12 18:42:30 +00:00
naughtyfox
5ade72818b Wallet API: multisig_tx_set passing bug fixed 2019-03-12 14:02:01 +03:00
moneromooo-monero
576116d415
wallet: fix load failure if the mms isn't usable 2019-03-11 16:11:48 +00:00
moneromooo-monero
3f6f90bb31
wallet2: do not use invalid keys as fake outs in rings 2019-03-07 15:49:13 +00:00
moneromooo-monero
c6a70af86a
wallet2: key image import fixes
- return the right output data when offset is not zero
- do not consider import failed if result height is zero
  (it can be 0 if unknown)
- select the right tx pubkey when using subaddresses (it's faster,
  and we might select the wrong one if we got an output using one
  of the additional tx keys)
- account for skipped outputs for spent/unspent balance info

"spent" is arguably wrong, since it will count spent change
multiple times as it goes through receive/spend cycles.
2019-03-05 22:41:44 +00:00
binaryFate
1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
Riccardo Spagni
5bbbe3902b
Merge pull request #4852
057c279c epee: add SSL support (Martijn Otto)
2019-03-05 16:21:30 +02:00
spoke0
8b51464516 add multisig tx sets to describe_transfer rpc endpoint 2019-03-05 14:42:43 +01:00
Martijn Otto
057c279cb4
epee: add SSL support
RPC connections now have optional tranparent SSL.

An optional private key and certificate file can be passed,
using the --{rpc,daemon}-ssl-private-key and
--{rpc,daemon}-ssl-certificate options. Those have as
argument a path to a PEM format private private key and
certificate, respectively.
If not given, a temporary self signed certificate will be used.

SSL can be enabled or disabled using --{rpc}-ssl, which
accepts autodetect (default), disabled or enabled.

Access can be restricted to particular certificates using the
--rpc-ssl-allowed-certificates, which takes a list of
paths to PEM encoded certificates. This can allow a wallet to
connect to only the daemon they think they're connected to,
by forcing SSL and listing the paths to the known good
certificates.

To generate long term certificates:

openssl genrsa -out /tmp/KEY 4096
openssl req -new -key /tmp/KEY -out /tmp/REQ
openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT

/tmp/KEY is the private key, and /tmp/CERT is the certificate,
both in PEM format. /tmp/REQ can be removed. Adjust the last
command to set expiration date, etc, as needed. It doesn't
make a whole lot of sense for monero anyway, since most servers
will run with one time temporary self signed certificates anyway.

SSL support is transparent, so all communication is done on the
existing ports, with SSL autodetection. This means you can start
using an SSL daemon now, but you should not enforce SSL yet or
nothing will talk to you.
2019-03-05 14:16:08 +01:00
Dusan Klinec
5ea17909ca
device/trezor: debugging features, trezor tests 2019-03-05 14:02:45 +01:00
moneromooo-monero
c4851024ce
wallet_rpc_server: avoid repeated string allocations when parsing 2019-03-05 11:58:22 +00:00
moneromooo-monero
b747e836c8
wallet2: don't calculate prefix hash when we don't need it 2019-03-05 10:28:55 +00:00
moneromooo-monero
23abe60705
check load_t_from_json return values 2019-03-04 22:38:06 +00:00
moneromooo-monero
e396146aee
default initialize rpc structures 2019-03-04 22:38:03 +00:00
moneromooo-monero
ef93b0995c
various: remove unused variables 2019-03-04 22:24:49 +00:00
Riccardo Spagni
2f7108f9d7
Merge pull request #5156
3d2772a0 wallet-rpc: get balance for all accounts and subaddresses (stoffu)
2019-03-04 21:33:07 +02:00
Riccardo Spagni
6984a4d69c
Merge pull request #5154
8a1ff079 wallet-rpc: get transfers for all accounts and subaddresses (Jethro Grassie)
2019-03-04 21:32:42 +02:00
Riccardo Spagni
27db0e3bb9
Merge pull request #5141
5c81a9f1 wallet_rpc_server: add a validate_address RPC (moneromooo-monero)
2019-03-04 21:30:45 +02:00
Riccardo Spagni
66014706bb
Merge pull request #5131
d2c95ab9 Don't decrypt keys in view only wallets in wallet_keys_unlocker (Doyle)
2019-03-04 21:28:09 +02:00
Riccardo Spagni
b0d326bf2a
Merge pull request #5084
9d58749b wallet2: fix hashchain going out of sync on refresh error (moneromooo-monero)
2019-03-04 21:19:12 +02:00
Riccardo Spagni
46fd181cca
Merge pull request #4054
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04 21:17:21 +02:00
Riccardo Spagni
de6d6c0e29
Merge pull request #5217
fa2fbc39 wallet2: fix mishandling rct outputs in coinbase tx (moneromooo-monero)
2019-03-04 17:15:06 +02:00
moneromooo-monero
a17da7202b
Print the reason why a notification spec failed to parse 2019-03-04 11:48:46 +00:00
moneromooo-monero
fa2fbc3917
wallet2: fix mishandling rct outputs in coinbase tx
Reported by cutcoin
2019-03-03 18:55:12 +00:00
Joel
364516975a Simplify RPC endpoint, emoving second RPC endpoint generate_from_view_key 2019-03-02 23:14:35 +01:00
moneromooo-monero
b674728dfa
Better error when sending a tx with a too large extra field 2019-02-22 11:45:32 +00:00
Joel
c17c81881b Remove code duplication 2019-02-21 15:49:32 +01:00
stoffu
3d2772a0d6
wallet-rpc: get balance for all accounts and subaddresses 2019-02-20 14:23:36 +09:00
Dusan Klinec
8630a028f2
wallet: fix payment ID decryption for construction data 2019-02-20 03:55:35 +01:00
Joel
acb14c1079 Add generate_from_view_key RPC method 2019-02-19 14:30:35 +01:00
Joel
7dd7a3b791 Add generate_from_keys RPC method 2019-02-19 14:13:01 +01:00
Jethro Grassie
8a1ff079ea
wallet-rpc: get transfers for all accounts and subaddresses 2019-02-17 22:21:45 -05:00
moneromooo-monero
5c81a9f1a1
wallet_rpc_server: add a validate_address RPC 2019-02-14 21:01:11 +00:00