Commit Graph
8148 Commits
Author SHA1 Message Date
tobtoht cb0726eb24 Merge pull request #10374
c5be4dd crypto: STD-compliant shifting in sc_check() (jeffro256)
2026-03-31 09:38:08 +00:00
tobtoht c082e55558 Merge pull request #10375
8877526 crypto: fix chacha aliasing and alignment issues (jeffro256)
2026-03-31 09:35:05 +00:00
tobtoht d670812dd8 Merge pull request #10371
0bc4c23 fix: add missing <type_traits> include for std::is_same (Ocheretovich)
2026-03-31 09:33:53 +00:00
tobtoht a00cb24cbb Merge pull request #10372
247af5e cryptonote_core: try-catch in prepare same as cleanup (j-berman)
2026-03-28 19:48:28 +00:00
tobtoht 50da8bf8a5 Merge pull request #10186
0673c95 tx_memory_pool: speedup get_complement() for large requests (jeffro256)
2026-03-28 19:45:05 +00:00
tobtoht 12529e415f Merge pull request #10281
7a2ba64 wallet: add source info to describe_transfer RPC (jeffro256)
2026-03-28 19:42:24 +00:00
jeffro256 887752611a crypto: fix chacha aliasing and alignment issues 2026-03-21 23:30:48 -10:00
jeffro256 c5be4dda1c crypto: STD-compliant shifting in sc_check() 2026-03-21 22:34:01 -10:00
j-berman 247af5e8a3 cryptonote_core: try-catch in prepare same as cleanup 2026-03-18 23:02:33 -07:00
OcheretovichandGitHub 0bc4c23d1c fix: add missing <type_traits> include for std::is_same 2026-03-18 18:46:17 +02:00
tobtoht b9998fc9e1 Merge pull request #10330
2b9d216 cryptonote_core: remove Boost serialization for tx_source_entry (jeffro256)
2026-03-08 10:29:18 +00:00
tobtoht 1e3aaa4647 Merge pull request #10189
1bcca58 simplewallet: use passed decrypted payment ID from wallet2 for notifications (jeffro256)
2026-03-08 10:28:23 +00:00
tobtoht bff2a21e3b Merge pull request #9443
23e29a5 Add Socks v5 support to daemon and wallet (Lee *!* Clagett)
2026-03-08 10:27:05 +00:00
Lee *!* Clagett 23e29a5074 Add Socks v5 support to daemon and wallet 2026-03-06 17:08:49 -05:00
tobtoht ea9be68fb6 Merge pull request #10335
62a3214 windows_service: quote service executable path (selsta)
2026-03-01 11:28:00 +00:00
tobtoht 2404f1bc92 Merge pull request #10220
2eed71e cryptonote_basic: fix add_extra_nonce_to_tx_extra() length (jeffro256)
2026-03-01 11:27:03 +00:00
jeffro256 2eed71e575 cryptonote_basic: fix add_extra_nonce_to_tx_extra() length
Reviewed-by: selsta <selsta@sent.at>
Reviewed-by: SChernykh
2026-02-24 17:13:37 -06:00
selsta 62a3214d34 windows_service: quote service executable path 2026-02-24 16:08:45 +01:00
tobtoht 4efde0f4da Merge pull request #10320
4486925 Transition asio::deadline_timer to asio::steady_timer (Lee *!* Clagett)
2026-02-22 13:01:04 +00:00
tobtoht 3bfa59df91 Merge pull request #10161
e87eecf add getter for daemon proxy (woodser)
2026-02-22 12:59:32 +00:00
jeffro256 2b9d2161d3 cryptonote_core: remove Boost serialization for tx_source_entry 2026-02-22 02:22:03 -06:00
tobtoht 6f284e8779 Merge pull request #10319
f459bd6 src: update checkpoints to match v0.18.4.6 (selsta)
2026-02-18 22:20:45 +00:00
tobtoht 55abb977b2 Merge pull request #10312
c93c4fc Misc clang 21 fixes (jeffro256)
2026-02-18 22:18:09 +00:00
tobtoht ed30e9e88d Merge pull request #10316
80043b9 p2p: fix inverted ternary in peer list filter (selsta)
2026-02-18 22:16:55 +00:00
Lee *!* Clagett 44869250bd Transition asio::deadline_timer to asio::steady_timer 2026-02-17 11:28:57 -05:00
selsta f459bd655e src: update checkpoints to match v0.18.4.6 2026-02-13 18:23:07 +01:00
selsta 80043b928b p2p: fix inverted ternary in peer list filter 2026-02-13 18:09:02 +01:00
jeffro256 c93c4fc829 Misc clang 21 fixes
* Use -O3 and other flags instead of -Ofast
  - https://discourse.llvm.org/t/rfc-deprecate-ofast/78687
  - https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
* Find libunwind library based on C++ compiler type, not C compiler type
* In stack_trace.cpp, pass stream modifiers to `std::stringstream` first, then send string to log
* In stack_trace.cpp, remove dead code related to `stack_trace_log` path
* Remove `virtual` method attributues from `final` class `cryptonote::core`
* Remove unused `this` capture in cryptonote protocol handler
* Remove unused variable `bad` in net node
* Use `std::make_unsigned` instead of `boost::make_unsigned`
  - https://github.com/boostorg/type_traits/issues/171
  - https://github.com/boostorg/type_traits/issues/202
  - https://github.com/boostorg/type_traits/pull/199
* Cleanup `include`s in pair serialization
* Test convergence b/t `std::make_unsigned` and `boost::make_unsigned`

Fixes compilation and silences warnings on:
clang version 21.1.6
Linux 6.18.8-3-cachyos
2026-02-09 09:42:32 -07:00
Navid Rahimiandnahuhh 508b6ee8fb src: dynamic span, to calculate span limit dynamically
Co-authored-by: nahuhh
    - jberman review
    - cryptonote_protocol: don't arbitrarily download 1000 blocks ahead
    - further restrict `proceed` to require `queue_proceed` in all cases.
      ensure queue_proceed is true if we need the next block, even if we
      already exceed the span and size limits

cryptonote_protocol: improved logging + const usage in span downloader
2026-02-04 08:54:23 +00:00
tobtoht 20ef991839 Merge pull request #9494
2a1a489 src: dynamic block sync size Co-authored-by: nahuhh (0xFFFC0000)
2026-02-03 21:25:04 +00:00
tobtoht 5d6ee4276d Merge pull request #10139
e658151 wallet_rpc_server: add HTTP body size limit (root)
2026-02-03 19:54:20 +00:00
tobtoht d380a6ac85 Merge pull request #10290
494a214 Enable IPv6 support for ZMQ server (jpk68)
2026-02-03 19:48:31 +00:00
tobtoht 3c7a0027e6 Merge pull request #10283
98e550e multisig: fix kex failure in monero-gen-trusted-multisig (0xFFFC0000)
2026-02-03 18:59:11 +00:00
tobtoht 087b97773a Merge pull request #10285
b90f455 blockchain_db: remove {add/get}_max_block_size() (jeffro256)
2026-02-03 18:56:49 +00:00
jeffro256 6a99c22cbc rpc: return error gracefully on cryptonight v1 check 2026-01-31 10:14:05 -06:00
tobtoht 74dd968cd9 Merge pull request #10039
488bf71 cryptonote_basic: add overload for get_block_longhash() (jeffro256)
2026-01-29 15:43:22 +00:00
jpk68 494a2145d1 Enable IPv6 support for ZMQ server 2026-01-24 20:24:09 -05:00
jeffro256 b90f455e6b blockchain_db: remove {add/get}_max_block_size() 2026-01-21 11:49:46 -06:00
0xFFFC0000 98e550e854 multisig: fix kex failure in monero-gen-trusted-multisig 2026-01-21 13:47:20 +00:00
tobtoht f65b286455 Merge pull request #10272
3f964fc blockchain_db/rpc: faster is_key_image_spent (jeffro256)
2026-01-17 03:41:46 +00:00
tobtoht 24742771dc Merge pull request #10273
2d978db common: fix `apply_permutation()` for `std::vector<bool>` (jeffro256)
2026-01-17 03:39:07 +00:00
jeffro256 7a2ba648f4 wallet: add source info to describe_transfer RPC 2026-01-15 12:44:54 -06:00
rootandOblivionsage e6581519dd wallet_rpc_server: add HTTP body size limit
Set m_max_content_length to MAX_RPC_CONTENT_LENGTH (1MB) to match
the protection already implemented in core_rpc_server. This prevents
memory exhaustion attacks via unlimited HTTP request sizes.
2026-01-15 17:14:26 +01:00
binaryFate 11be390610 Remove .no moneropulse domain from codebase 2026-01-12 11:49:46 +01:00
tobtoht ab2ea4763a Merge pull request #10166
a863bf7 BlockchainDB: rm `skip_coinbase` in `get_blocks_from()` (jeffro256)
2026-01-09 16:08:54 +00:00
jeffro256 3f964fcdb5 blockchain_db/rpc: faster is_key_image_spent
Does the following to speedup the `/is_key_image_spent` RPC endpoint:
  - Reads all on-chain key images in one LMDB read transacion
  - Uses `cryptonote_core::are_key_images_spent_in_pool()` instead of `cryptonote_core::get_pool_transactions_and_spent_keys_info()` for pool querying. This only does a LMDB read per key image if in the pool.
  - Filters known on-chain spent key images before querying for key images spent in pool

This RPC endpoint was causing major daemon slowdowns in the Carrot/FCMP++ Alpha Stressnet when using the `rescan_spent` command, especially for large wallets.
The effect was much worse if the mempool was full.
2026-01-07 00:49:44 -06:00
jeffro256 2d978db016 common: fix apply_permutation() for std::vector<bool> 2026-01-05 18:51:01 -06:00
tobtoht 4286fbe6cd Merge pull request #10157
022fb8e unit_tests: @j-berman unit tests for #10157 (jeffro256)
40eb828 cryptonote_core: cache input verification results directly in mempool (jeffro256)
2026-01-03 11:31:27 +00:00
jeffro256 40eb82873e cryptonote_core: cache input verification results directly in mempool
This replaces `ver_rct_non_semantics_simple_cached()` with an API that offloads
the responsibility of tracking input verification successes to the caller. The
main caller of this function in the codebase, `cryptonote::Blockchain()` instead
keeps track of the verification results for transaction in the mempool by
storing a "verification ID" in the mempool metadata table (with `txpool_tx_meta_t`).
This has several benefits, including:

* When the mempool is large (>8192 txs), we no longer experience cache misses and unnecessarily re-verify ring signatures. This greatly improves block propagation time for FCMP++ blocks under load
* For the same reason, reorg handling can be sped up by storing verification IDs of transactions popped from the chain
* Speeds up re-validating every mempool transaction on fork change (monerod revalidates the whole tx-pool on HFs #10142)
* Caches results for every single type of Monero transaction, not just latest RCT type
* Cache persists over a node restart
* Uses 512KiB less RAM (8192*2*32B)
* No additional storage or DB migration required since `txpool_tx_meta_t` already had padding allocated
* Moves more verification logic out of `cryptonote::Blockchain`

Furthermore, this opens the door to future multi-threaded block verification
speed-ups. Right now, transactions' input proof verification is limited to one
transaction at a time. However, one can imagine a scenario with verification IDs
where input proofs are optimistically multi-threaded in advance of block
processing. Then, even though ring member fetching and verification is
single-threaded inside of `cryptonote::Blockchain::check_tx_inputs()`, the
single thread can skip the CPU-intensive cryptographic code if the verification
ID allows it.

Also changes the default log category in `tx_verification_utils.cpp` from "blockchain" to "verify".
2026-01-02 15:47:19 -06:00
tobtoht 02357fe53f Merge pull request #10263
5905589 src: update checkpoints to match v0.18.4.5 (selsta)
2025-12-29 22:42:09 +00:00