Commit Graph

1393 Commits

Author SHA1 Message Date
j-berman
65e13dbef1 wallet2: fix rescanning tx via scan_tx
- Detach & re-process txs >= lowest scan height
- ensures that if a user calls scan_tx(tx1) after scanning tx2,
the wallet correctly processes tx1 and tx2
- if a user provides a tx with a height higher than the wallet's
last scanned height, the wallet will scan starting from that tx's
height
- scan_tx requires trusted daemon iff need to re-process existing
txs: in addition to querying a daemon for txids, if a user
provides a txid of a tx with height *lower* than any *already*
scanned txs in the wallet, then the wallet will also query the
daemon for all the *higher* txs as well. This is likely
unexpected behavior to a caller, and so to protect a caller from
revealing txid's to an untrusted daemon in an unexpected way,
require the daemon be trusted.
2023-03-13 12:57:43 -07:00
luigi1111
153819fc4c
Merge pull request #8649
2c24322 DNSResolver: fix not handling hostnames without dot characters [release] (Jeffrey Ryan)
2023-01-11 11:41:56 -05:00
luigi1111
cbc5cf43f2
Merge pull request #8644
38d4811 p2p: fix exclusive node DNS resolution for certain hosts [release] (Jeffrey Ryan)
2023-01-11 11:40:13 -05:00
Jeffrey Ryan
2c2432245f DNSResolver: fix not handling hostnames without dot characters [release]
Unrelated, but similar code-wise to #8643. There is a check in `DNSResolver` which automatically fails to resolve hostnames which do not contain the `.` character. This PR removes that check.
2022-11-21 21:16:16 -06:00
Jeffrey Ryan
38d4811c89 p2p: fix exclusive node DNS resolution for certain hosts [release]
Fixes #8633. The function `append_net_address` did not parse hostname + port addresses (e.g. `bar:29080`) correctly if the hostname did not contain a `'.'` character.

@vtnerd comments 1

clear up 2nd conditional statement
2022-11-17 18:57:04 -06:00
Lee Clagett
1bb5d25e31 Fix dandelion++ fluff/stem bug with local txes 2022-10-25 16:01:09 -04:00
luigi1111
1f27fdf6a5
Merge pull request #8588
802c4bb Move update_checkpoints() to a later stage (SChernykh)
2022-09-26 15:00:59 -05:00
luigi1111
a7b0c93c7d
Merge pull request #8582
1cd21bf add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-26 14:55:28 -05:00
SChernykh
802c4bb0e4 Move update_checkpoints() to a later stage
update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking.
2022-09-22 13:06:39 +02:00
koe
1cd21bfba5 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:51:19 -05:00
SChernykh
6adf03cdc5 Second thread pool for IO 2022-09-20 10:22:12 +02:00
luigi1111
7cbae6ca98
Merge pull request #8545
12e7c41 Merge pull request #5 from j-berman/restore-msig-encrypted-seed (Justin Berman)
848a0c0 Fix segfault restoring encrypted multisig seed (j-berman)
401f5d9 Require user ack multisig is experimental to restore (j-berman)
fc8a5d6 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
2022-09-15 16:25:22 -05:00
j-berman
864a78ee5f wallet2: check wallet compatibility with daemon's hard fork version 2022-09-12 21:23:08 -06:00
moneromooo-monero
1d3657afb5
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-09-07 06:22:31 +00:00
moneromooo-monero
0cbf5571d3
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-09-07 06:22:07 +00:00
j-berman
b03d7091f7
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-09-06 17:20:23 -06:00
j-berman
fc8a5d68f1 multisig: fix #8537 seed restore (suggestions by @UkoeHB)
- spend secret key is no longer the sum of multisig key shares;
no need to check that is the case upon restore.
- restoring a multisig wallet from multisig info means that the
wallet must have already completed all setup rounds. Upon restore,
set the number of rounds completed accordingly.
2022-09-01 16:25:28 -07:00
luigi1111
72490ca04f
Merge pull request #8483
6075be9 feat(trezor): add HF15 support, BP+ (Dusan Klinec)
2022-08-07 21:35:01 -05:00
Dusan Klinec
6075be9cc8
feat(trezor): add HF15 support, BP+
- BP+ support added for Trezor
- old Trezor firmware version support removed, code cleanup
2022-08-05 14:27:16 +02:00
j-berman
8cc3c9af4d Publish submitted txs via zmq 2022-07-21 11:53:31 -07:00
luigi1111
9df069f4ce
Merge pull request #8426
a82fba4 address PR comments (j-berman)
3be1dbd connection: fix implementation (anon)
724ff21 connection: add segfault and deadlocks demo (anon)
2022-07-15 11:25:11 -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
j-berman
a82fba4b7b address PR comments 2022-07-08 15:10:03 -07:00
anon
724ff21447 connection: add segfault and deadlocks demo 2022-07-05 22:31:26 -07:00
anon
c7b2944f89 multisig: fix critical vulnerabilities in signing 2022-06-30 12:56:40 -05:00
luigi1111
9750e1fa10
Merge pull request #8340
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan)
a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
2022-05-26 21:26:42 -05:00
luigi1111
f9d789d68c
Merge pull request #8330
2dab31f Don't exclusively drop tor/i2p outgoing cxns in idle loop (j-berman)
2022-05-26 21:23:38 -05:00
j-berman
2dab31f62f Don't exclusively drop tor/i2p outgoing cxns in idle loop 2022-05-18 09:54:21 -07:00
Jeffrey Ryan
08080df2d9
unit_tests: add more sha256sum test cases 2022-05-18 01:34:20 +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
c76e33bc44
Merge pull request #8304
0226df9 More tests for view tags (SChernykh)
2022-05-10 16:57:23 -05:00
luigi1111
d58ea37a8d
Merge pull request #8302
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
2022-05-10 16:56:39 -05: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
SChernykh
0226df9fae More tests for view tags
P2Pool can create transactions with more than 128 outputs, which make output_index's varint larger than 1 byte. Added this test case.
2022-04-29 22:53:59 +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
Akrit
41da2fe6f3 Update copyright to 2022 for Hardfork files
Update Makefile and LICENSE
2022-04-29 11:12:36 +02: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
baee2c06ec
Preserve commitment format inside transactions 2022-04-21 18:58:47 -04:00
luigi1111
96758a7d05
Merge pull request #8061
ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
2022-04-19 22:14:03 -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
Jeffrey
40f02f9d73 Add Include statements 2022-04-18 09:55:20 -05: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
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
moneromooo-monero
9f786f0550
epee: allow copying a rolling_median_t object 2022-04-10 18:13:31 +00:00
reemuru
6abe3fee19
tests: integrated_address: remove missing payment id assertion
The integrated address functional test fails in the workflows due
to an assertion for missing payment id that is no longer needed.
Remove the assertion and update the assertion count.

Fixes 7dcfccb: ("wallet_rpc_server: fix make_integrated_address with no payment id")
2022-04-06 06:49:01 -05:00
luigi1111
c11385591e
Merge pull request #8228
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
2022-04-06 00:22:23 -04:00
luigi1111
04e490c8da
Merge pull request #8205
0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
2022-04-06 00:11:14 -04:00
luigi1111
0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero
4c94cfecfc
store outPk/8 in the tx for speed
It avoids dividing by 8 when deserializing a tx, which is a slow
operation, and multiplies by 8 when verifying and extracing the
amount, which is much faster as well as less frequent
2022-04-05 18:50:22 +00:00