Commit graph

2243 commits

Author SHA1 Message Date
moneromooo-monero
a0985044d9
wallet2: better test on whether to allow output import
Being offline is not a good enough heuristic, so we keep track
of whether the wallet ever refreshed from a daemon, which is a
lot better, and probably the best we can do without manual user
designation (which would break existing cold wallet setups till
the user designates those wallets)
2022-08-18 19:29:03 +00:00
moneromooo-monero
c5579ac236
allow exporting outputs in chunks
this will make it easier huge wallets to do so without hitting
random limits (eg, max string size in node).
2022-08-18 06:53:41 +00:00
j-berman
1e912ecd8a
wallet2: fixes for export/import output flow
- only allow offline wallets to import outputs
- don't import empty outputs
- export subaddress indexes when exporting outputs
2022-08-16 14:22:42 +00:00
moneromooo-monero
692f1d4e3d
wallet2: do not assume imported outputs must be non empty 2022-08-16 14:22:33 +00:00
moneromooo-monero
67b6d6ae2c
wallet2: prevent importing outputs in a hot wallet 2022-08-16 14:22:33 +00:00
moneromooo-monero
d9fc666db8
wallet2: fix missing subaddress indices in "light" exported outputs 2022-08-16 14:22:24 +00:00
luigi1111
070c3d6b0f
Merge pull request #8433
db8181a wallet2: force using output distribution for ringct outs (tobtoht)
2022-07-14 22:15:27 -04:00
luigi1111
02cbccc529
Merge pull request #8432
edcc094 derive multisig tx secret keys from an entropy source plus the tx inputs' key images (koe)
2022-07-14 22:14:41 -04:00
luigi1111
d912444a4a
Merge pull request #7986
5770265 wallet2: keep around transaction prefix for confirmed transfers (tobtoht)
2022-07-14 12:54:39 -04:00
koe
edcc094558 derive multisig tx secret keys from an entropy source plus the tx inputs' key images 2022-07-13 12:40:34 -05:00
luigi1111
cfdee9ba69
Merge pull request #8421
bd1e7c5 wallet2: prevent crash when reading tx w/fewer outputs than expected (j-berman)
2022-07-13 00:39:54 -04:00
luigi1111
6fed8c2d9f
Merge pull request #8149
c7b2944 multisig: fix critical vulnerabilities in signing (anon)
2022-07-13 00:38:29 -04:00
luigi1111
4476c35fc8
Merge pull request #8408
09a597b wallet2: don't use DNS to obtain segregation heights (tobtoht)
2022-07-06 00:01:59 -05:00
luigi1111
cea2498e95
Merge pull request #8404
50ccc7e wallet2: remove obsolete rpc version check (tobtoht)
2022-07-06 00:01:29 -05:00
luigi1111
7a118f08f4
Merge pull request #8394
4278a3a cryptonote_basic: catch crypto api errors (moneromooo-monero)
2022-07-06 00:00:24 -05:00
luigi1111
45a44aa45f
Merge pull request #8388
04c0da2 Chunk /gettransactions to avoid hitting restricted RPC limit (tobtoht)
2022-07-05 23:58:46 -05:00
luigi1111
969316685b
Merge pull request #8371
16f8e04 Remove erraneous commas (Luke Parker)
da0715e Improve consistency between on_money_received and on_money_received_unconfirmed (Luke Parker)
2022-07-05 23:58:06 -05:00
j-berman
bd1e7c5635 wallet2: prevent crash when reading tx w/fewer outputs than expected 2022-07-05 21:39:59 -07:00
luigi1111
82cde936c3
Merge pull request #8356
de2f0d0 wallet_api: add scanTransactions function (selsta)
2022-07-03 17:26:35 -05:00
anon
c7b2944f89 multisig: fix critical vulnerabilities in signing 2022-06-30 12:56:40 -05:00
tobtoht
09a597ba28
wallet2: don't use DNS to obtain segregation heights 2022-06-28 23:12:03 +02:00
tobtoht
04c0da2986
Chunk /gettransactions to avoid hitting restricted RPC limit 2022-06-27 21:23:56 +02:00
tobtoht
db8181adf8
wallet2: force using output distribution for ringct outs
Co-authored-by: j-berman <justinberman@protonmail.com>
2022-06-25 13:06:11 +02:00
tobtoht
50ccc7e726
wallet2: remove obsolete rpc version check 2022-06-24 21:58:07 +02:00
moneromooo-monero
4278a3a7e3
cryptonote_basic: catch crypto api errors 2022-06-20 22:17:57 +00:00
Luke Parker
16f8e042b5
Remove erraneous commas 2022-06-01 19:38:42 -04:00
Luke Parker
da0715e503
Improve consistency between on_money_received and on_money_received_unconfirmed
unconfirmed solely uses a - b, and received now accepts b so it can 
provide more detailed logs on what occurred (printing a - b, yet with a 
and b).
2022-06-01 18:20:11 -04:00
luigi1111
1ff2b02064
Merge pull request #8331
fde7c96 wallet2: fix spurious reorg detection with untrusted nodes (moneromooo-monero)
2022-05-26 21:24:38 -05:00
luigi1111
f96cf86532
Merge pull request #8328
2979474 disable multisig by default (moneromooo-monero)
2022-05-26 21:22:52 -05:00
selsta
de2f0d0102
wallet_api: add scanTransactions function 2022-05-26 03:51:31 +02:00
moneromooo-monero
2979474221
disable multisig by default
There are vulnerabilities in multisig protocol if the parties do not
trust each other, and while there is a patch for it, it has not been
throroughly reviewed yet, so it is felt safer to disable multisig by
default for now.
If all parties in a multisig setup trust each other, then it is safe
to enable multisig.
2022-05-17 19:52:03 +00:00
luigi1111
5b9724b03d
Merge pull request #8308
f63f7dc wallet2: fix a couple unused variable warnings (selsta)
2022-05-16 13:51:18 -05:00
moneromooo-monero
fde7c96b5c
wallet2: fix spurious reorg detection with untrusted nodes
When forced to deal with an untrusted node, a wallet will quantize
its current height to disguise the real height to the adversary, to
try and minimize the daemon's ability to distinguish returning
wallets.
Daemons will thus return more blocks than the wallet needs, starting
from earlier in the chain. These extra blocks will be disregarded
by the wallet, which had already scanned them.
However, for the purposes of reorg size detection, the wallet assumes
all blocks the daemon sends are different, which is only correct if
the wallet hasn't been coy, which is only the case for trusted
daemons (which you should use). This causes an issue when the size
of this "fake reorg" is above the sanity check threshold at which
the wallet refuses a reorg.
To fix this, the reorg size check is moved later on, when the reorg
is about to actually happen, after the wallet has checked which
blocks are actually different from the ones it expects.
2022-05-15 11:57:37 +00:00
moneromooo-monero
df2e680825
wallet2: speedup large tx construction: reserve vector memory
2.8 seconds -> 2.6 seconds on a test case
2022-05-13 17:43:22 +00:00
Crypto City
38cdf01c64
wallet2: speedup large tx construction: batch ringdb lookups
3.3 seconds -> 2.8 seconds on a test case
2022-05-13 17:43:22 +00:00
Crypto City
2b95178897
wallet2: speedup large tx construction: batch ringdb updates
5.2 seconds -> 4.1 seconds on a test case
2022-05-13 17:43:20 +00:00
moneromooo-monero
c9cf0b78f8
wallet2: speedup large tx construction: cache public key validity
5.9 second -> 5.2 seconds on a test case
2022-05-13 17:43:16 +00:00
luigi1111
436ca13722
Merge pull request #8277
baee2c0 Preserve commitment format inside transactions (kayabaNerve)
2022-05-10 16:49:13 -05:00
luigi1111
c1625a8928
Merge pull request #8220
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
2022-05-10 16:41:02 -05:00
selsta
f63f7dc7e2
wallet2: fix a couple unused variable warnings 2022-05-02 21:28:40 +02:00
koe
0d6ecb1136 multisig: add post-kex verification round to check that all participants have completed the multisig address 2022-04-29 14:04:59 -05:00
luigi1111
a092b943d5
Merge pull request #8249
a14fdf8 Remove /include (Jeffrey)
2022-04-25 10:20:10 -05:00
luigi1111
e13244ea9c
Merge pull request #8178
5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
2022-04-25 10:18:26 -05:00
Luke Parker
baee2c06ec
Preserve commitment format inside transactions 2022-04-21 18:58:47 -04:00
luigi1111
9f814edbd7
Merge pull request #8254
9df7179 wallet2: use BP+ for cold signing (moneromooo-monero)
2022-04-19 22:21:21 -05:00
j-berman
5d388eb74d Bump ring size to 16 for v15 & remove set default in wallet cli 2022-04-18 14:36:28 -07:00
j-berman
ea87b30f89 Add view tags to outputs to reduce wallet scanning time
Implements view tags as proposed by @UkoeHB in MRL issue
https://github.com/monero-project/research-lab/issues/73

At tx construction, the sender adds a 1-byte view tag to each
output. The view tag is derived from the sender-receiver
shared secret. When scanning for outputs, the receiver can
check the view tag for a match, in order to reduce scanning
time. When the view tag does not match, the wallet avoids the
more expensive EC operations when deriving the output public
key using the shared secret.
2022-04-18 00:49:53 -07:00
moneromooo-monero
9df7179aaf
wallet2: use BP+ for cold signing
reported by ukoehb
2022-04-10 21:03:09 +00:00
moneromooo-monero
b030f20751
Fee changes from ArticMine
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf

with a change to use 1.7 instead of 2.0 for the max long term increase rate
2022-04-10 18:13:34 +00:00
Jeffrey
a14fdf8d5a Remove /include
* `IWallet.h` hasn't been touched since 2014, and has been replaced by `src/wallet/api/wallet2_api.h`
* `INode.h` is in a similar situation with `src/p2p/net_node.h`
2022-04-09 23:47:02 -05:00