1542 Commits

Author SHA1 Message Date
jeffro256
b0bf49a65a
blockchain_db: add k-anonymity to txid fetching
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions
by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called
`get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can
ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical
chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits`
to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth.

Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-08-01 17:25:25 -05:00
jeffro256
45b52de28e
wallet-rpc: restore from multisig seed 2023-07-28 12:17:14 -05:00
luigi1111
d5c7d1743f
Merge pull request #8904
369a5a8 wallet: respect frozen key images in multisig wallets (jeffro256)
2023-07-06 21:37:58 -05:00
luigi1111
f44820b2fb
Merge pull request #8901
ea053b6 Update tests/hash/main.cpp (0xFFFC0000)
6bae913 Tests: Add blake2b Test Cases for hash testing. 	* Adding blake2b test function to src/tests/hash 	* New files for testvector. 	* Adding the test to CMakeLists.txt 	* Adding brief documentation for the test. (0xFFFC0000)
2023-07-06 21:35:36 -05:00
luigi1111
c34dc5b215
Merge pull request #8854
d9c7cd5 common: do not use DNS to determine if address is local (tobtoht)
2023-07-06 21:30:34 -05:00
tobtoht
d9c7cd5a89
common: do not use DNS to determine if address is local
Co-authored-by: j-berman <justinberman@protonmail.com>
2023-07-03 13:34:39 +02:00
jeffro256
ffbf9f4766
blockchain_and_pool: move to crytonote_core and enforce its usage 2023-07-01 07:12:53 -05:00
jeffro256
e8cac61f4b
core_rpc_server: return ID of submitted block 2023-06-30 15:31:35 -05:00
koe
16d17f6707 add crypto/generators for direct access to canonical fixed generators 2023-06-28 09:52:27 -05:00
luigi1111
e4e8edd9c9
Merge pull request #8870
eb94356 Add to_hex::buffer (Lee *!* Clagett)
2023-06-27 11:45:48 -05:00
luigi1111
6775a1b50f
Merge pull request #8858
25a803f tests: remove unused perl scripts (tobtoht)
2023-06-27 11:43:48 -05:00
luigi1111
29337714c4
Merge pull request #8857
f7deb7d tests: remove daemon_tests (tobtoht)
2023-06-27 11:43:19 -05:00
luigi1111
e752b609fc
Merge pull request #8660
2a7435e variant: add mutable unwrap and visitation (koe)
bc3cec4 add variant class with cleaner interface than boost::variant<> (koe)
2023-06-27 11:25:52 -05:00
luigi1111
feb7fa4986
Merge pull request #8659
5c505bd performance test framework updates: allow custom test parameters, better error reporting (koe)
2023-06-27 11:24:47 -05:00
j-berman
e6b86af931 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-06-15 02:21:29 -07:00
0xFFFC0000
ea053b6c61
Update tests/hash/main.cpp
Removing preprocessor macro and replacing it with constexpr.

Co-authored-by: Jeffro <jeffreyryan@tutanota.com>
2023-06-13 01:20:42 +03:30
jeffro256
369a5a8f9a wallet: respect frozen key images in multisig wallets
Before this change, if a multisig peer asked you to sign a transaction with a frozen enote, the wallet will do it without any error or warning. This change makes it
so that wallets will refuse to sign multisig transactions with frozen enotes.

Disclaimer: This PR was generously funded by @LocalMonero.
2023-06-12 16:47:28 -05:00
0xFFFC0000
6bae91304e Tests: Add blake2b Test Cases for hash testing.
* Adding blake2b test function to src/tests/hash
	* New files for testvector.
	* Adding the test to CMakeLists.txt
	* Adding brief documentation for the test.
2023-06-12 08:29:35 +03:30
Lee *!* Clagett
eb943562cb Add to_hex::buffer 2023-05-22 13:36:05 -04:00
tobtoht
25a803f31e
tests: remove unused perl scripts 2023-05-12 22:07:25 +02:00
tobtoht
f7deb7d7ae
tests: remove daemon_tests 2023-05-12 21:24:55 +02:00
tobtoht
6ff87ef89f
net: tor_address: remove support for v2 onion addresses 2023-05-12 17:09:54 +02:00
luigi1111
0d9e790311
Merge pull request #8802
eb0e405 gamma picker: relax constructor requirements and test for selecting outputs from first spendable block (jeffro256)
2023-04-25 11:26:20 -04:00
luigi1111
df2eb0da0a
Merge pull request #8796
7a4a03d wallet2: do not commit transactions more than once (moneromooo-monero)
2023-04-25 11:24:15 -04:00
luigi1111
9bf06ea75d
Merge pull request #8698
5b4fea7 Copyright: Update to 2023 (mj-xmr)
2023-04-25 11:12:56 -04:00
jeffro256
eb0e4052b7 gamma picker: relax constructor requirements and test for selecting outputs from first spendable block 2023-04-02 20:06:09 -05:00
moneromooo-monero
7a4a03d9d3
wallet2: do not commit transactions more than once
Fixes #8793
2023-03-21 21:05:53 +00:00
Jeffrey Ryan
7159f92a57 verRctNonSemanticsSimpleCached: fix fragility 2023-03-17 18:45:35 -05:00
koe
8d94d08816 replace 'multisig()' with 'get_multisig_status()' using multisig_account_status and including '.kex_is_done' member 2023-02-28 12:54:40 -06:00
koe
2a7435e026 variant: add mutable unwrap and visitation 2023-02-12 13:00:53 -06:00
koe
bc3cec4634 add variant class with cleaner interface than boost::variant<> 2023-01-30 22:03:35 -06:00
mj-xmr
5b4fea72cf Copyright: Update to 2023
Co-authored-by: plowsof <plowsof@protonmail.com>
extra files
2023-01-16 13:00:18 +01:00
luigi1111
75d80d431a
Merge pull request #8686
7a3a593 common: move boost_serialization_helper.h out and cleanup includes (Jeffrey Ryan)
2023-01-11 12:13:48 -05:00
luigi1111
9489586add
Merge pull request #8648
8687da6 common: DNSResolver can handle hostnames without dot characters (Jeffrey Ryan)
2023-01-11 11:41:11 -05:00
luigi1111
b363eebd52
Merge pull request #8643
faaf2af p2p: fix exclusive node DNS resolution for certain hosts (Jeffrey Ryan)
2023-01-11 11:39:42 -05:00
Jeffrey Ryan
7a3a593a77 common: move boost_serialization_helper.h out and cleanup includes 2022-12-22 12:18:02 -06:00
koe
5c505bda29 performance test framework updates: allow custom test parameters, better error reporting 2022-12-01 17:07:52 -06:00
luigi1111
7275a4d23b
Merge pull request #8627
a7bf3af Fix dandelion++ fluff/stem bug with local txes (Lee Clagett)
2022-12-01 01:10:20 -06:00
luigi1111
2f168da7f7
Merge pull request #8618
1114e7e fix(trezor-tests): fix trezor tests build, fix integrated addr test (Dusan Klinec)
2022-12-01 01:08:53 -06:00
luigi1111
12489c69cb
Merge pull request #8572
50b7492 unit_tests: suppress memwipe unit warning (Jeffrey Ryan)
2022-12-01 01:01:34 -06:00
Jeffrey Ryan
8687da6276 common: DNSResolver can handle hostnames without dot characters
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 15:54:23 -06:00
Jeffrey Ryan
faaf2af43b p2p: fix exclusive node DNS resolution for certain hosts
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:55:09 -06:00
Dusan Klinec
1114e7eed7
fix(trezor-tests): fix trezor tests build, fix integrated addr test
- fix integrated address test, it was not testing integrated address suport
- fix trezor test build as dependent classes were changed
- add a friend test class for Monero::WalletImpl to support wallet api tests
When using wallet_api in tests, synthetic chain is used. Without being able to set `allow_mismatched_daemon_version` in the underlying wallet, we are not able to use a synthetic chain with the tests
2022-11-17 12:12:23 +01:00
Lee Clagett
a7bf3aff2c Fix dandelion++ fluff/stem bug with local txes 2022-10-25 16:09:55 -04:00
luigi1111
fc907a9570
Merge pull request #8587
8e7c7af Move update_checkpoints() to a later stage (SChernykh)
2022-09-26 15:00:35 -05:00
luigi1111
239d210a18
Merge pull request #8576
28f25c0 Second thread pool for IO (SChernykh)
2022-09-26 14:50:56 -05:00
luigi1111
0a10a4f870
Merge pull request #8329
4b0785f add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-26 14:46:06 -05:00
SChernykh
8e7c7af05f 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:04:50 +02:00
koe
4b0785f1c9 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:38:35 -05:00
SChernykh
28f25c0dbc Second thread pool for IO 2022-09-20 09:59:58 +02:00