Commit Graph
11526 Commits
Author SHA1 Message Date
Lee *!* Clagettandjwinterm f1b948dcc5 Tweak command_line::add_arg for clang 21
(cherry picked from commit 482daa7445f89acbe74f7a37023e4b89d17a97f0)
2026-05-05 18:19:53 -04:00
iamamythandjwinterm ed0267eea0 logging: Generalize terminal color detection
Assume the terminal supports color codes if TERM ends with `-color` or
`-256color`, rather than special-casing a handful of such terminals.

Co-authored-by: laanwj <126646+laanwj@users.noreply.github.com>
(cherry picked from commit 1075acee901185b47bd8cac6bd06587429a7df57)
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 e9fde467bd epee: add missing cstdint include
(cherry picked from commit 7baf2bde6ecad1e13848fdbd9d4db026ca0ff8fc)
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
tobtohtandjwinterm dd2b66fdbc depends: hidapi: update to 0.15.0
(cherry picked from commit c14a0ba43210ca029bbc240c9f093f6ec5f8f8c8)
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 c069c04ede338929c50297558fee15192aa0f67c, 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 c069c04ede338929c50297558fee15192aa0f67c / #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
Lee *!* Clagettandwowario b9fdf9c288 Fix logging lock, future optimizations may needed 2025-09-25 11:24:48 +03:00
nahuhhandwowario 5b0bed2950 cryptonote_core: --dns-versions-check is deprecated 2025-09-25 11:24:14 +03:00
moneromooo-moneroandwowario 77ba1f2c6a wallet_rpc_server: allow creating more than 64 addresses at once
it's too low a limit (at least one person mentioned having to
call create_address in a loop due to it)
2025-09-25 11:23:37 +03:00
wowario c98cfd8f2f remove github actions 2025-09-20 07:55:00 +03:00
wowario 1a94126ae4 update checkpoints 2025-09-19 21:01:46 +03:00
wowario 5049ad3d6f v0.11 ASCII art 2025-09-19 21:01:45 +03:00
wowario 9f429cfc89 wownero skin pack 2025-09-19 21:01:45 +03:00
wowario 4a80a4a693 add checkpoints and fork heights 2025-09-19 21:01:45 +03:00
wowario a65fd1b3e1 change to debug level 2025-09-19 21:01:44 +03:00
wowario e0f486f7b2 add clear screen command 2025-09-19 21:01:44 +03:00
wowario 34bc7d2b63 show full version 2025-09-19 21:01:44 +03:00
wowario de22caa968 cleanup old bp 2025-09-19 21:01:43 +03:00
wowario f7299beb66 vote by block 2025-09-19 21:01:43 +03:00
wowario 88e126db9c miner block header signing 2025-09-19 21:01:43 +03:00
wowario 2c544dee74 add nettype to diff algo 2025-09-19 21:01:43 +03:00
wowario 8077b9473a difficulty is fun 2025-09-19 21:01:42 +03:00
wowario 9c11ef2292 only allocate slow hash before RX 2025-09-19 21:01:42 +03:00
wowario ed340c208e mod variant4_random_math 2025-09-19 21:01:42 +03:00
wowario b7fb278873 set pow variants 2025-09-19 21:01:41 +03:00
wowario 945e4c9644 bump RX block version 2025-09-19 21:01:41 +03:00
wowario e60f0dc3da add RandomWOW 2025-09-19 21:01:41 +03:00
wowario b7fb563f83 shorten timestamp check window 2025-09-19 21:01:41 +03:00
wowario bf12e2745d limit future blk time to 10 min 2025-09-19 21:01:40 +03:00
wowario 30dba37f1f bump unlock time to 288 blks 2025-09-19 21:01:40 +03:00
wowario 076254eb38 config wallet2 settings 2025-09-19 21:01:40 +03:00
wowario 8a44f2f375 add wowario gpg key 2025-09-19 21:01:39 +03:00
wowario 17cdf02cae update gitian 2025-09-19 21:01:39 +03:00