Commit graph

1944 commits

Author SHA1 Message Date
luigi1111
d0065f3063
Merge pull request #6302
dab604e wallet2_api: implement estimateTransactionFee (xiphon)
2020-03-31 15:12:48 -05:00
Alexander Blair
72262b348a
Merge pull request #6299
9c1f970b wallet2: remember daemon address overrides when loading a new wallet (moneromooo-monero)
2020-03-27 12:33:15 -07:00
Alexander Blair
5780594202
Merge pull request #6296
50e59cfa wallet2: reject zero keys in json input (moneromooo-monero)
2020-03-27 12:31:59 -07:00
Alexander Blair
8cb005b39c
Merge pull request #6289
ffe7165e wallet: reroll fake outs selection on local tx_sanity_check failure (xiphon)
2020-03-27 12:28:29 -07:00
Alexander Blair
5ba6eef272
Merge pull request #6288
0349347e ringdb: use a different iv for key and data in rings table (moneromooo-monero)
7b882087 simplewallet: reword mixin in user message in terms of ring size (moneromooo-monero)
f507a43a wallet2: do not remove known rings when a tx fails (moneromooo-monero)
2020-03-27 12:23:59 -07:00
Alexander Blair
d500bbe68f
Merge pull request #6268
a6c24412 wallet: fix exceptions getting the hash of a pruned tx (moneromooo-monero)
2020-03-12 01:02:31 -07:00
moneromooo-monero
9c1f970b82
wallet2: remember daemon address overrides when loading a new wallet 2020-03-07 18:09:31 +00:00
Alexander Blair
da617ac1b0
Merge pull request #6238
f717d593 wallet2: guard against race with multiple decrypt_keys users (moneromooo-monero)
2020-02-28 20:21:06 -08:00
Alexander Blair
5bd496e8ef
Merge pull request #6241
ae84ec90 wallet-cli/rpc: allow sweep_all to use outputs in all subaddresses within an account (stoffu)
2020-02-28 19:49:41 -08:00
Alexander Blair
a6cf4b09e7
Merge pull request #6235
5cbb17b9 wallet2: fix hang in wallet refresh (moneromooo-monero)
2020-02-28 19:48:41 -08:00
Alexander Blair
8606b1a14a
Merge pull request #6203
ef95a76d remove unused variable 'ptx' from on_describe_transfer() (woodser)
2020-02-28 19:34:41 -08:00
luigi1111
2de1137e60
Merge pull request #6194
316ab7b wallet2: better error when restoring a wallet with the wrong keys (moneromooo-monero)
2020-02-19 22:23:46 -05:00
luigi1111
22a0367398
Merge pull request #6190
096a9db Wallet: Distingush amounts for a single subaddress (tmoravec)
2020-02-19 22:22:36 -05:00
Alexander Blair
995f34b538
Merge pull request #6103
4b384003 wallet2: don't try to lock an empty filename (moneromooo-monero)
2020-02-06 00:33:18 -08:00
Alexander Blair
756f06cd83
Merge pull request #6102
b328de6b wallet_rpc_server: add tx weight in transfer commands responses (moneromooo-monero)
2020-02-06 00:32:47 -08:00
Alexander Blair
3b224bb99d
Merge pull request #6069
d64e5aa7 wallet: allow message sign/verify for subaddresses (moneromooo-monero)
2020-02-06 00:29:32 -08:00
Alexander Blair
25c1bd4714
Merge pull request #6035
b90c4bc3 rpc: error out from get_info if the proxied call errors out (moneromooo-monero)
fa16df99 make_test_signature: exit nicely on top level exception (moneromooo-monero)
054b2621 node_rpc_proxy: init some new rpc payment fields in invalidate (moneromooo-monero)
d0faae2a rpc: init a few missing client_info members (moneromooo-monero)
d56a483a rpc: do not propagate exceptions out of a dtor (moneromooo-monero)
3c849188 rpc: always set the update field in update on sucess (moneromooo-monero)
2020-02-06 00:26:13 -08:00
moneromooo-monero
dd8c6b1703
wallet: do not split integrated addresses in address book api 2020-01-26 00:03:53 +00:00
xiphon
dab604e010 wallet2_api: implement estimateTransactionFee 2020-01-25 05:34:51 +00:00
Alexander Blair
159c78758a
Merge pull request #6154
3b419333 wallet: don't issue node rpc proxy requests in '--offline' mode (xiphon)
2020-01-24 20:07:01 -08:00
Alexander Blair
beb815a81d
Merge pull request #6144
0e0351c4 wallet_rpc_server: add count parameter to create_address (Matt Smith)
2020-01-16 17:51:25 -08:00
moneromooo-monero
50e59cfada
wallet2: reject zero keys in json input
Because the user might do this for reasons unknown.
Values beyond l-1 will be reduced, so are accepted.

Reported by who-biz.
2020-01-16 19:58:21 +00:00
xiphon
ffe7165ebf wallet: reroll fake outs selection on local tx_sanity_check failure 2020-01-14 22:56:23 +00:00
Alexander Blair
e49a055e89
Merge pull request #6112
7c1d31b0 build: fix IOS, build blockchain_db and rpc, skip wallet_rpc_server (xiphon)
2020-01-11 18:10:44 -08:00
Alexander Blair
d024695772
Merge pull request #6105
0de8a0d3 wallet_rpc_server: new estimate_tx_size_and_weight RPC (moneromooo-monero)
2020-01-11 18:04:49 -08:00
Tadeas Moravec
096a9dbdf9
Wallet: Distingush amounts for a single subaddress
Adding a new `amounts` field ot the output of `get_transfers` RPC
method. This field specifies individual payments made to a single
subaddress in a single transaction, e.g., made by this command:

    transfer <addr1> <amount1> <addr1> <amount2>
2020-01-11 11:48:27 +01:00
moneromooo-monero
0349347e6d
ringdb: use a different iv for key and data in rings table
This is technically a record encrypted in two pieces,
so the iv needs to be different.
Some backward compatibility is added to read data written
by existing code, but new data is written with the new code.
2020-01-09 17:32:21 +00:00
moneromooo-monero
f507a43a23
wallet2: do not remove known rings when a tx fails
Even if it fails, the ring composition is known to a potential
adversary, and so we should reuse the same ring next time
2020-01-09 17:32:21 +00:00
moneromooo-monero
d64e5aa719
wallet: allow message sign/verify for subaddresses 2019-12-31 08:44:36 +00:00
moneromooo-monero
a6c24412e5
wallet: fix exceptions getting the hash of a pruned tx 2019-12-30 15:14:57 +00:00
moneromooo-monero
f717d5936c
wallet2: guard against race with multiple decrypt_keys users
If more than one thread wants to make sure of the spend secret key,
then we decrypt on the first caller and reencrypt on the last caller,
otherwise we could use an invalid secret key.
2019-12-17 01:38:29 +00:00
stoffu
ae84ec90c8
wallet-cli/rpc: allow sweep_all to use outputs in all subaddresses within an account 2019-12-16 21:10:11 +09:00
moneromooo-monero
5cbb17b946
wallet2: fix hang in wallet refresh
If the hashes received would move the current blockchain past the
stop point, the short history would not be updated, since we do
not expect another loop, but the daemon might return earlier hashes,
causing the end index to not be enough to reach the threshold and
this require another loop, which will download the same hashes and
cause an infinite loop.
2019-12-14 16:24:04 +00:00
luigi1111
b4e1dc83d2
Merge pull request #6057
3b8dcc2 wallet2: make keys unlocker reentrant (moneromooo-monero)
2019-12-12 13:49:58 -06:00
woodser
ef95a76d0d remove unused variable 'ptx' from on_describe_transfer() 2019-12-01 13:07:26 -05:00
moneromooo-monero
316ab7b56e
wallet2: better error when restoring a wallet with the wrong keys 2019-11-28 18:22:29 +00:00
moneromooo-monero
054b2621b1
node_rpc_proxy: init some new rpc payment fields in invalidate
The cache time would take care of these, but it's cleaner that way

Coverity 205412
2019-11-27 19:52:37 +00:00
Matt Smith
0e0351c456 wallet_rpc_server: add count parameter to create_address 2019-11-22 12:00:01 +00:00
xiphon
3b41933335 wallet: don't issue node rpc proxy requests in '--offline' mode 2019-11-19 03:26:42 +00:00
luigi1111
df9843212a
Merge pull request #6135
09f59ec wallet: set non-empty error string on connection failure (xiphon)
2019-11-16 11:00:33 -06:00
xiphon
09f59eccad wallet: set non-empty error string on connection failure 2019-11-14 19:49:57 +00:00
xiphon
7c1d31b0a1 build: fix IOS, build blockchain_db and rpc, skip wallet_rpc_server 2019-11-09 14:21:22 +00:00
moneromooo-monero
0de8a0d37d
wallet_rpc_server: new estimate_tx_size_and_weight RPC 2019-11-06 15:18:21 +00:00
moneromooo-monero
4b38400336
wallet2: don't try to lock an empty filename 2019-11-05 15:33:01 +00:00
moneromooo-monero
b328de6b7a
wallet_rpc_server: add tx weight in transfer commands responses 2019-11-05 14:25:06 +00:00
moneromooo-monero
27457a2268
wallet2: fix pool txes not being flushed when mined 2019-11-04 19:32:48 +00:00
moneromooo-monero
e108330248
wallet: reuse cached height when set after refresh
Refreshing sets cached height, which is otherwise got by calling
get_info. Since get_info is called upon needing to display a prompt
after a command has finished, it can be used to determine how much
time a given command took to run if the cache timeout lapses while
the command runs. Refreshing caches the height as a side effect, so
get_info will never be called as a result of displaying a prompt
after refreshing (and potentially leaking how much time it took to
process a set of transactions, therefore leaking whether we got
some monero in them).
2019-11-01 18:59:41 +00:00
moneromooo-monero
5956beaa15
wallet2: fix is_synced checking target height, not height
Target height would be appropriate for the daemon, which syncs
off other daemons, but the wallet syncs off the daemon it's
connected to, and its target is the daemon's current height.
2019-11-01 18:59:39 +00:00
moneromooo-monero
fd35e2304a
wallet: fix another facet of "did I get some monero" information leak
We get new pool txes before processing any tx, pool or not.
This ensures that if we're asked for a password, this does not
cause a measurable delay in the txpool query after the last
block query.
2019-11-01 18:59:38 +00:00
moneromooo-monero
d5472bd87b
wallet2: do not send an unnecessary last getblocks.bin call on refresh
The "everything refreshed" state was detected when a refresh call did
not return any new blocks. This can be detected without that extra
"empty" call by comparing the claimed node height to the height of
the last block retrieved. Doing this avoids that last call, saves
some bandwidth, and makes the common refresh case use only one call
rather than two.

As a side effect, it prevents an information leak reported by
Tramèr et al: if the wallet retrieves a set of blocks which includes
an output sent to the refreshing wallet, the wallet will prompt the
user for the password to decode the amount and calculate the key
image for the new output, and this will delay subsequent calls to
getblocks.bin, allowing a passive adversary to note the delay and
deduce when the wallet receives at least one output.

This can still happen if the wallet downloads more than 1000 blocks,
since this will be split in several calls, but then the most the
adversary can tell is which 1000 block section the user received
some monero (the adversary can estimate the heights of the blocks
by calculating how many "large" transfers are done, which will be
sections of blocks, the last of which will usually be below 1000,
but the size of the data should allow the actual number of blocks
sent to be determined fairly accurately).

This timing trick still be used via the subsequent scan for incoming
txes in the txpool, which will be fixed later.
2019-11-01 18:59:37 +00:00