Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
b8271ab wallet2: check wallet compatibility with daemon's hard fork version (j-berman)
|
|
eca7f6a Fix segfault restoring encrypted multisig seed (j-berman)
f713c3c Require user ack multisig is experimental to restore (j-berman)
564a7a3 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
|
|
|
|
3987827 Fix shared_ptr cycle in test_epee_connection.test_lifetime (Lee Clagett)
|
|
959a3e6 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero)
a098504 wallet2: better test on whether to allow output import (moneromooo-monero)
c5579ac allow exporting outputs in chunks (moneromooo-monero)
1e912ec wallet2: fixes for export/import output flow (j-berman)
692f1d4 wallet2: do not assume imported outputs must be non empty (moneromooo-monero)
67b6d6a wallet2: prevent importing outputs in a hot wallet (moneromooo-monero)
d9fc666 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
|
|
- 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.
|
|
|
|
600de07 wallet_rpc_server: longer timeout for stop_mining (moneromooo-monero)
ac6db92 functional_tests: silence the cpu power test program (moneromooo-monero)
|
|
1fc60ca Publish submitted txs via zmq (j-berman)
|
|
a0df140 feat(trezor): add HF15 support, BP+ (Dusan Klinec)
|
|
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)
|
|
this will make it easier huge wallets to do so without hitting
random limits (eg, max string size in node).
|
|
- only allow offline wallets to import outputs
- don't import empty outputs
- export subaddress indexes when exporting outputs
|
|
|
|
it's very spammy and drowns the test output
|
|
a82fba4 address PR comments (j-berman)
3be1dbd connection: fix implementation (anon)
724ff21 connection: add segfault and deadlocks demo (anon)
|
|
key images
|
|
|
|
|
|
|
|
- BP+ support added for Trezor
- old Trezor firmware version support removed, code cleanup
|
|
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan)
a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
|
|
2dab31f Don't exclusively drop tor/i2p outgoing cxns in idle loop (j-berman)
|
|
|
|
|
|
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.
|
|
0226df9 More tests for view tags (SChernykh)
|
|
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
|
|
baee2c0 Preserve commitment format inside transactions (kayabaNerve)
|
|
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
|
|
P2Pool can create transactions with more than 128 outputs, which make output_index's varint larger than 1 byte. Added this test case.
|
|
have completed the multisig address
|
|
Update Makefile and LICENSE
|
|
5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
|
|
|
|
ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
|
|
|
|
|
|
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.
|
|
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
|
|
|
|
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")
|
|
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
|
|
0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
|
|
da9aa1f Copyright: Update to 2022 (mj-xmr)
|
|
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
|
|
|
|
|
|
* Remove `match_string()`, `match_number()`, and `match_word()`
* Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()`
* Adapt unit test for `match_number()` to `match_number2()`
* Adapt unit test for `match_string()` to `match_string2()`
Note: the unit tests were testing for the old version of the functions, and
the interfaces for these functions changed slightly, so I had to also edit
the tests.
As of writing, this PR has no merge conflicts with #8211
Additional changes during review:
* Explicitly set up is_[float/signed]_val to be changed before each call
* Structify the tests and fix uninitialized variables
|
|
e5000a9 Balance includes unconfirmed transfers to self (woodser)
|
|
|
|
|
|
c36ea26 fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order (koe)
|
|
e08abaa multisig key exchange update and refactor (koe)
|
|
|
|
|
|
haven't been reduced by the field order
|
|
|
|
avoids mining txes after a fork that are invalid by this fork's
rules, but were valid by the previous fork rules at the time
they were verified and added to the txpool.
|
|
9154883 node_server: fix race condition (anon)
8922f96 node_server: add race condition demo (anon)
|
|
5eaedb5 unit_tests: fix use after free in serialization test (moneromooo-monero)
|
|
|
|
|
|
|
|
573a025 core_tests: remove unused typedef, fix warning (selsta)
|
|
b2c59af EasyLogging++: new anti-UB test and propagating exception (mj-xmr)
|
|
|
|
|
|
9c8e3e8 unit_tests: fix broken tests (anon)
|
|
7354ffb p2p: remove blocked addresses/hosts from peerlist (moneromooo-monero)
|
|
|
|
|
|
boosted_tcp_server: check condition before sleep too
cryptonote_protocol_handler: each instance of BlockchainLMDB requires separate thread due to private thread local fields
|
|
|
|
CID 1446559
|
|
08e4497 Improve cryptonote (block and tx) binary read performance (Lee Clagett)
|
|
3450f4b Doc: funtional_tests add new mining env vars and how to use them (mj-xmr)
|
|
b40129e Warnings: unused var in core_tests:chaingen.h (mj-xmr)
|
|
|
|
cbd54ea cmake: set 3.5 as minimum version (selsta)
|
|
3cc4428 clang: fix -Wpessimizing-move warning (selsta)
|
|
451b5a5 clang: fix -Wrange-loop-analysis warnings (selsta)
|
|
|
|
|
|
|
|
MINING_SILENT and MINING_NO_MEASUREMENT env vars
|
|
|
|
679d055 Remove payload copy in all outgoing p2p messages (Lee Clagett)
|
|
|
|
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing
changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f.
|
|
73d3b00 unit_tests: fix boost 1.58 compatibility (anon)
|
|
23aae55 Remove payload copy in all outgoing p2p messages (Lee Clagett)
|
|
|
|
176cea0 Tests: Fix test node_server.bind_same_p2p_port from randomly crashing (mj-xmr)
|
|
53683d7 Warnings: fix ut/levin.cpp missing braces (mj-xmr)
|
|
f9b5b52 fix serialization being different on mac (moneromooo-monero)
|
|
|
|
Printing also available RAM. Add comprehensive description.
|
|
fe63256 cryptonote_protocol_handler: fix race condition (anon)
ded2f3a cryptonote_protocol_handler: add race condition demo (anon)
|
|
2935a0c async_protocol_handler_config: fix deadlock (anon)
c877705 async_protocol_handler_config: add deadlock demo (anon)
|
|
|
|
|
|
|
|
b5209a0 functional_tests: hide check_missing_rpc_methods behind requests check (moneromooo-monero)
|
|
249eae5 Allow byte_stream->byte_slice conversion to shrink unused buffer space (Lee Clagett)
|
|
19b2283 New add_aux_pow RPC to support merge mining (moneromooo-monero)
|
|
|
|
On Mac, size_t is a distinct type from uint64_t, and some
types (in wallet cache as well as cold/hot wallet transfer
data) use pairs/containers with size_t as fields. Mac would
save those as full size, while other platforms would save
them as varints. Might apply to other platforms where the
types are distinct.
There's a nasty hack for backward compatibility, which can
go after a couple forks.
|
|
|
|
|
|
1aecdcf Increase timeout for the mining test 4 times (to 240s) (mj-xmr)
|
|
bd12984 Remove copies from foreach loops (thanks to Clang) (Lee Clagett)
1572df9 Removing unused namespace alias (Lee Clagett)
|
|
a60d3d8 unit_tests: fix wipeable_string parse_hexstr test with latest gtest (xiphon)
|
|
85db173 Remove unused variables in monero codebase (Kevin Barbour)
|
|
df2f00f boosted_tcp_server: fix connection lifetime (anon)
3833624 boosted_tcp_server: add segfault demo (anon)
|
|
|
|
|
|
There are quite a few variables in the code that are no longer
(or perhaps never were) in use. These were discovered by enabling
compiler warnings for unused variables and cleaning them up.
In most cases where the unused variables were the result
of a function call the call was left but the variable
assignment removed, unless it was obvious that it was
a simple getter with no side effects.
|
|
|
|
|
|
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973196
|
|
|
|
|
|
|
|
|
|
41dfa96 Split fuzz tests during fuzz build (Nym Seddon)
|
|
0660db3 fuzz_tests: add a test for utf8canonical (moneromooo-monero)
|
|
927141bcc Command max_bytes moved from dynamic map to static switch (Lee Clagett)
|
|
Only build fuzz tests in a fuzz build, and don't build other tests.
Keeps fuzz compilers from instrumenting other tests, which are not fuzzed.
Resolves #7232
|
|
it'd trigger on reorgs
|
|
|
|
cf7e1571d protocol: reject claimed block hashes that already are in the chain (moneromooo-monero)
af0a25544 protocol: drop peers we can't download anything from in sync mode (moneromooo-monero)
|
|
|
|
|
|
61b6e4cc6 Add aggressive restrictions to pre-handshake p2p buffer limit (Lee Clagett)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d660f22ed protocol: drop origin IP if a block fails to verify in sync mode (moneromooo-monero)
|
|
7414e2bac Change epee binary output from std::stringstream to byte_stream (Lee Clagett)
|
|
08eb0949f Change to more efficient allocation strategy in byte_stream (Lee Clagett)
|
|
It would otherwise be possible for a peer to send bad blocks,
then disconnect and reconnect again, escaping bans
|
|
|
|
a9cd5d9 cryptonote_core: dandelion - use local height or median height if syncing (xiphon)
|
|
be84f67 Switch to Dandelion++ fluff mode if no out connections for stem mode (Lee Clagett)
|
|
8a282f6 Add RELINK_TARGETS, monero_add_target_no_relink and use monero_add_executable/monero_add_library where possible (mj-xmr) Add monero_add_minimal_executable and use in tests (mj-xmr)
|
|
db70af1 Unit Tests: Remove block reward upper bound size checks (TheCharlatan)
|
|
|
|
|
|
|
|
monero_add_executable/monero_add_library where possible (mj-xmr)
Add monero_add_minimal_executable and use in tests
This is done in order not to have to relink targets, when just an .so changed, but not its interface.
|
|
|
|
|
|
|
|
|
|
|
|
Tests running after being compiled with `make debug-test` failed with
```
[ FAILED ] block_reward_and_current_block_weight.fails_on_huge_median_size
[ FAILED ] block_reward_and_current_block_weight.fails_on_huge_block_weight
```
With the introduction of the patch in
https://github.com/monero-project/monero/commit/be82c40703d267184ee07bf7be71002122c86656#diff-1a57d4e6013984c420da98d1adde0eafL113
the assertions checking the weight of the median and current block
against a size limit were removed. Since the limit is now enforced by a
long divisor and a uint64_t type, checking in a separate test makes
little sense, so they are removed here.
|
|
6ee9f1260 fuzz_tests: fix build error in signature fuzz test (moneromooo-monero)
|
|
|
|
|
|
4e44306 enable CLSAG support for Trezor client (ph4r05)
|
|
d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero)
6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero)
9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
|
|
|
|
6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
|
|
Those would, if uncaught, exit run and leave the waiter to wait
indefinitely for the number of active jobs to reach 0
|
|
|
|
|
|
v13 enforces claiming the full block reward, so we need to keep
track of tx fees to add them to the coinbase
|
|
|
|
b641e0a2c Add clear method to byte_stream (Lee Clagett)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
They are allowed from v12, and MLSAGs are rejected from v13.
|
|
|
|
|
|
844fb4e94 enforce claiming maximum coinbase amount (moneromooo-monero)
|
|
7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
|
|
839e1f4ba functional_tests: add p2p functional tests (moneromooo-monero)
|
|
Tests tx/block propagation and reorgs
|
|
Claiming a slightly lesser amount does not yield the size gains
that were seen pre rct, so this closes a fingerprinting vector
|
|
|
|
This reverts commit 921dd8dde5d381052d0aa2936304a3541a230c55.
|
|
This reduces the attack surface for data that can come from
malicious sources (exported output and key images, multisig
transactions...) since the monero serialization is already
exposed to the outside, and the boost lib we were using had
a few known crashers.
For interoperability, a new load-deprecated-formats wallet
setting is added (off by default). This allows loading boost
format data if there is no alternative. It will likely go
at some point, along with the ability to load those.
Notably, the peer lists file still uses the boost serialization
code, as the data it stores is define in epee, while the new
serialization code is in monero, and migrating it was fairly
hairy. Since this file is local and not obtained from anyone
else, the marginal risk is minimal, but it could be migrated
later if needed.
Some tests and tools also do, this will stay as is for now.
|
|
85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
|
|
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
|
|
4e2377995 Change ZMQ-JSON txextra to hex and remove unnecessary base fields (Lee Clagett)
|
|
98c151ecb Optimize ZMQ-JSON vector reading; GetBlocksFast reads 24%+ faster (Lee Clagett)
60627c9f2 Switch to insitu parsing for ZMQ-JSON; GetBlocksFast reads 13%+ faster (Lee Clagett)
fe96e66eb Fix pruned tx for ZMQ's GetBlocksFast (Lee Clagett)
|
|
6f5411d30 tests: fix missing error on missing python entry point (moneromooo-monero)
c6dc2850c python-rpc: add missing sync_txpool python entry point (moneromooo-monero)
|
|
921dd8dde Use domain-separated ChaCha20 for in-memory key encryption (Sarang Noether)
|
|
a11ec4ac1 Support for supercop ASM in wallet, and benchmark for supercop (Lee Clagett)
|
|
6bfcd3101 Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. (Sarang Noether)
|