Commit Graph
7779 Commits
Author SHA1 Message Date
selstaandjwinterm 21b51550e5 wallet2: remove deprecated txs_as_hex
also add missing underflow check

(cherry picked from commit 54abe12f94abe5c0ca2e8ae63e3fea2d8cd41c9a)
2026-05-05 18:20:53 -04:00
j-bermanandjwinterm b15d060d19 tx_pool: notify txpool event when stem bumps to fluff
(cherry picked from commit 7d5e4842a4876d1b9a60ceddd412c3e168770036)
2026-05-05 18:20:53 -04:00
selstaandjwinterm 07ab9bf66c zmq: add more missing restricted rpc checks
(cherry picked from commit 6e51bdcd8ef233814d81c2b953fa82f13cbbd442)
2026-05-05 18:20:53 -04:00
Lee Clagettandjwinterm d420c943c1 Fix ZMQ-PUB reporting of mempool txes that were initially in stem phase
(cherry picked from commit 73f1eaaed6defa6fc25fc7e74b51679e365cb7e5)
2026-05-05 18:20:53 -04:00
jeffro256andjwinterm 49983ee687 blockchain_utilities: fix --data-dir option
(cherry picked from commit 8a20fd2bc84d74917381fb50362b4d1a385256bd)
2026-05-05 18:20:53 -04:00
j-bermanandjwinterm 22818719d4 cryptonote_protocol: cleanup_handle_incoming_blocks on scope exit
(cherry picked from commit ac96d8ad3709dee5c375642c3cd8f3b8348bb0cc)
2026-05-05 18:20:53 -04:00
j-bermanandjwinterm da44d4ea4c cryptonote_basic: pruned hash return bool
(cherry picked from commit 874c771975257c82e275c17af72899b301a63d5f)
2026-05-05 18:20:53 -04:00
j-bermanandjwinterm ef41a9677c connection: try-catch handles
(cherry picked from commit 14e333217e968416a521568ed2ef4868bb162b26)
2026-05-05 18:20:53 -04:00
selstaandjwinterm 93db6154d4 wallet_rpc_server: restrict relay_tx
(cherry picked from commit 3703ec1833c3814290db7615fec2314f57ba5b8b)
2026-05-05 18:20:53 -04:00
selstaandjwinterm ffff77fe50 wallet_rpc_server: fix ssl_allowed_fingerprints hex parsing
(cherry picked from commit b635e675e699f87d0d028f6f3f6e6a2ea2c05104)
2026-05-05 18:20:53 -04:00
selstaandjwinterm af6a55c941 wallet2: add parse multisig tx sanity checks
(cherry picked from commit 2094d38c86bab8ab23bb5ddfb5cd7ce3a7957a63)
2026-05-05 18:20:53 -04:00
selstaandjwinterm ad1fb36b38 zmq: add missing restricted rpc check
(cherry picked from commit e6ce535b24c48104fb1cfebc1ae03686afe820f2)
2026-05-05 18:20:53 -04:00
Lee *!* Clagettandjwinterm c7227454e8 Add Socks v5 support to daemon and wallet
(cherry picked from commit 23e29a5074)
(cherry picked from commit ce5437f0677966c15d2946bc7c068975aa6bfd83)
2026-05-05 18:20:53 -04:00
Jeetrajandjwinterm 8d298b8d77 p2p: isolate regtest from mainnet bootstrap state
(cherry picked from commit 1d2ae2138a85dd93bc8a0d2c55513c5b5ba4658f)
2026-05-05 18:20:53 -04:00
hinto.janaiandjwinterm a5b524a030 rpc: restrict add_aux_pow
(cherry picked from commit 644a73867fd43420dccfe22a6cb421ac1aee7c54)
2026-05-05 18:20:53 -04:00
woodserandjwinterm 4cbc74bed0 multisig: add flag to skip refresh after multisig import
(cherry picked from commit 7b1e9ca29801d1e380291371e40c8c37ac43d18d)
2026-05-05 18:20:53 -04:00
SNeedlewoodsandjwinterm a92498563d fix: return early in sensitive methods for --restricted-rpc
(cherry picked from commit e1adf396da598581f2587d8fb55a166e2f3a1190)
2026-05-05 18:20:52 -04:00
selstaandjwinterm 33b967d231 wallet2: fix background wallet detection in verify_password()
(cherry picked from commit e7b121ac17d6e0c3bb6f17911ae9ab18132b3c67)
2026-05-05 18:20:52 -04:00
Lee *!* Clagettandjwinterm b965f61b18 Fix DNS resolve UB
(cherry picked from commit 8260f71818bf7a5a60c471792118b85fa42c8c7a)
2026-05-05 18:20:52 -04:00
j-bermanandjwinterm e69533337b p2p: fix hanging shutdown
(cherry picked from commit 7bc2d5a42e8462f2a04f71bd59111a863fa9a6d8)
2026-05-05 18:20:52 -04:00
selstaandjwinterm 907d6dd58d zmq: add restricted rpc mode
(cherry picked from commit 7f2cfe9294ec1fa7bece2a8069114c1b6985650f)
2026-05-05 18:20:52 -04:00
jeffro256andjwinterm 77cd1986ac daemon: warn user on specifiying ZMQ args with --no-zmq
Resolves https://github.com/monero-project/monero/issues/9127

(cherry picked from commit dd0fb6c7552330a088033b0cfba0ba570bbbfd15)
2026-05-05 18:19:54 -04:00
jeffro256andjwinterm a55faa8cfd wallet: add source info to describe_transfer RPC
(cherry picked from commit 7a4825b062d0af3fb6e7cb6e8641e1b9da715544)
2026-05-05 18:19:54 -04:00
jeffro256andjwinterm 32f0faf2e6 tx_memory_pool: speedup get_complement() for large requests
Changes complexity from M*N to (2*N+M)*log2(M). The FCMP++ stressnet recently hit mempool sizes of ~55k txs.
If the requesting node's mempool is populated, this results in an average of (55000*55000)/2
(about 1.5 billion) comparisons for the responding node. Under this commit, this would be reduced to
(55000+55000)*log2(55000) comparisons (about 2.6 million), a 99.83% reduction.

(cherry picked from commit 0761024b349048ebf79dbfe71caab11826833464)
2026-05-05 18:19:54 -04:00
j-bermanandjwinterm 1c3773373e cryptonote_core: try-catch in prepare same as cleanup
(cherry picked from commit f9d089a3e45338bfbb5abf88733b15718438a576)
2026-05-05 18:19:53 -04:00
jeffro256andjwinterm e1b8e51ea7 cryptonote_basic: fix add_extra_nonce_to_tx_extra() length
Missing unit tests.

(cherry picked from commit 1e6a55109f4434b166a35a26123d7a4370a507b7)
2026-05-05 18:19:53 -04:00
selstaandjwinterm 4636e3416f windows_service: quote service executable path
(cherry picked from commit 53121587562af1abef3680060c240068a1ff2c97)
2026-05-05 18:19:53 -04:00
selstaandjwinterm 8ac909841b p2p: fix inverted ternary in peer list filter
(cherry picked from commit 54edc176d59133a1e279c4066b16983a41aba56c)
2026-05-05 18:19:53 -04:00
0xFFFC0000andjwinterm 787dacd872 multisig: fix kex failure in monero-gen-trusted-multisig
(cherry picked from commit d4d67c48dc8b5aba2f3421d8113c314ca7584374)
2026-05-05 18:19:53 -04:00
Lee *!* Clagettandjwinterm f1b948dcc5 Tweak command_line::add_arg for clang 21
(cherry picked from commit 482daa7445f89acbe74f7a37023e4b89d17a97f0)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm 0d9df28884 wallet2: fix edge case where tx's ki's remain marked unspent
If a tx is marked as failed (because it never shows up in the
daemon's pool), its key images get reset back to unspent so they
can be used in future txs.

If the tx re-enters the daemon's pool (e.g. it's removed from the
pool and then relayed back), then the wallet incorrectly maintains
that the tx's key images are unspent.

This change ensures the wallet re-marks the tx's key images as
spent if the tx re-appears in the node's pool.

(cherry picked from commit c147e2dfe2cecb241735e5e625b4cc31009a2b6e)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm 06fed93f74 p2p: fix race causing dropped connections during sync
Without this commit:
1) read height from DB
2) add block to chain in separate thread
3) read chain for block id's and request them from peer
4) ERR in handle_response_chain_entry, peer's first block is the
one that was added to the chain, which has block idx=height from
step 1.

This commit reads the chain for height and highest block id's
in one go while holding the m_blockchain_lock to avoid the race.

(cherry picked from commit d8d3cf97300480b9d3942c667978dd4860b76feb)
2026-05-05 18:19:53 -04:00
tobtohtandjwinterm 4f77b38ac2 ledger: add nano gen5 id
(cherry picked from commit 15fc1c840c30f31b6fca3cdbe2fa981530ed1c2a)
2026-05-05 18:19:53 -04:00
Catandjwinterm 183c5e2ef6 simplewallet: edit desc. text for transfer
(cherry picked from commit ba163d38cbcfd89a2b359ae29c233406788907dd)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm d26e1fbf09 Daemon: relay empty fluffy block on found block
(cherry picked from commit 4e4e3439c9ce5c2adc297fe8b66e69ef0848438c)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm bb3fbddb62 tx pool: only increment m_txpool_weight for newly added pool txs
Otherwise we can end up double counting txs towards the weight,
which can over-state the pool weight. E.g. relay tx to node in
stem phase, add its weight to pool weight, then receive tx
from another node, then bump the pool weight again. That double
counts the tx towards the pool weight.

If the weight exceeds the max, the node will "prune" txs from the
pool. Thus, over-counting is probably a cause of, but perhaps
not the only cause of:
https://github.com/seraphis-migration/monero/issues/148

(cherry picked from commit 90dad18bfbe3275142e2f3fe33017cd65486a20f)
2026-05-05 18:19:53 -04:00
tobtohtandjwinterm 6579225cc5 ledger: throw on secret view key export rejection
(cherry picked from commit 26cf4f914134fa0808ca539e2d0e7d17aac125e1)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm 7551a0dc04 Fix logging deadlock
(cherry picked from commit a83a46d60059a063ec953ba15f4cdcc2b3874440)
2026-05-05 18:19:53 -04:00
0xFFFC0000andjwinterm 68a1c63c73 cryptonote_protocol: accurate next_needed_height when there is an overlap
(cherry picked from commit dafecd0addb171751efd31fea417d36da84e5efe)
2026-05-05 18:19:53 -04:00
woodserandjwinterm 70235e19ff add getter for daemon proxy
(cherry picked from commit 48252dd6a9f21757e130dc93d9e47e650163381b)
2026-05-05 18:19:53 -04:00
j-bermanandjwinterm 0ea75b1e3e wallet: identify spends in pool when scanning
- Make sure to mark identified spends in the pool as spends. The
wallet might not know these have been spent if it wasn't the wallet
that relayed the tx to the daemon, or the wallet was cleared via
rescan_bc.
- Make sure to add spends to m_unconfirmed_txs if not present.
- Make sure to process the entire pool again if refreshing for
the first time. The wallet fetches pool and blocks at the same
time. The wallet scans blocks first, then pool. If the wallet
identifies received outputs in the chain, then it may have spent
those received outputs in the pool. So we make sure to re-process
the entire pool again after scanning the chain for the first time.
- Multisig wallets that know about spent key images can now detect
spend txs in the pool. Update tests for that.

(cherry picked from commit 9239d36691bfe94dda12cc925903fed5e761fbe3)
2026-05-05 18:19:53 -04:00
j-bermanandwowario cfd2a69624 wallet2: warn instead of throw when RingDB doesn't include spend
A reorg can end up causing an output's position in the chain to
move. Since the wallet doesn't update the RingDB on reorg, it
may refer to the output's stale position in the chain.

This seems a reasonable solution rather than introducing complex
logic to update the stale ring member's value on rerog, since
RingDB can be deprecated with FCMP++.
2025-10-10 08:49:03 +03:00
jeffro256andwowario 2e1fdd9f48 cryptonote_basic: remove redundant call to get_transaction_hash() in overload
Issue noticed by DataHoarder.
2025-10-10 08:48:06 +03:00
j-bermanandwowario 48e34c2336 Cleaner validation (faster and saner) 2025-10-10 08:47:44 +03:00
j-bermanandwowario 4bfb5acd8f Daemon RPC: fix on_getblockhash error return on too high height 2025-10-10 08:47:20 +03:00
j-bermanandwowario 28e8844d3d Daemon RPC: add max_block_count field to /getblocks.bin 2025-09-29 06:25:45 +03:00
nahuhhandwowario 4f10510f68 simplewallet: batch address creation limit to match rpc 2025-09-29 06:25:14 +03:00
WeebDataHoarderandwowario 7a5cc4afb9 Send ZMQ miner notifications after txpool additions
Bug was introduced in c069c04ede, before this txpool additions were not notified on block addition

When receiving blocks with previously unknown conditions, miner data was sent first, but txpool add events for already-added transactions in previous block were sent afterward. Miners would then include already-mined transactions in their new templates due to receiving the mistimed txpool add event.

The fix is to send miner notifications AFTER txpool events are sent, and before normal block notifications are sent (for mining switch speed purposes)

Fixes c069c04ede / #9135
Fixes dfee15eee1 / #7891
2025-09-29 06:24:51 +03:00
rbrunner7andwowario 95c1fd7679 p2p: Improved peer selection with /24 subnet deduplication to disadvantage 'spy nodes' [v0.18] 2025-09-29 06:23:55 +03:00
nahuhhandwowario 5b0bed2950 cryptonote_core: --dns-versions-check is deprecated 2025-09-25 11:24:14 +03:00