Commit Graph
710 Commits
Author SHA1 Message Date
selsta d67a8d8e9d build: prepare v0.18.5.1 2026-06-29 18:02:00 +02:00
SChernykh 3d856f4825 Blockchain: fix wrong block_weight in handle_get_objects
- When there are missing IDs, blocks.size() != arg.blocks.size(), so arg.blocks can't be indexed by `i` - the indices will be wrong, the wrong weight will be returned to some peer and this peer will ban our node.

Use `bl.second` instead of `arg.blocks[i]`. Also it saves one DB query per returned block.
2026-06-04 07:40:07 +02:00
selsta 1f1e74b390 build: prepare v0.18.5.0 2026-04-28 03:40:32 +02:00
selsta a1a106d656 build: prepare v0.18.4.6 2026-02-13 18:20:50 +01:00
tobtoht 316a98b11e Merge pull request #10262
ec34c5b build: prepare v0.18.4.5 (selsta)
2025-12-29 22:41:50 +00:00
selsta ec34c5b93f build: prepare v0.18.4.5 2025-12-29 22:27:58 +01:00
j-berman d8d3cf9730 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.
2025-12-11 21:37:20 -08:00
selsta 64f2d8e45d build: prepare v0.18.4.4 2025-11-10 18:56:57 +01:00
luigi1111 7c6e84466a Merge pull request #10106
09f5cbb build: prepare v0.18.4.3 (selsta)
2025-10-07 15:25:41 -04:00
selsta 09f5cbbb98 build: prepare v0.18.4.3 2025-10-07 16:36:04 +02:00
j-berman 7b53197571 Cleaner validation (faster and saner) 2025-10-05 17:56:57 -07:00
WeebDataHoarder 39c7a22856 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-24 09:22:28 +02:00
selsta f921431f34 checkpoints: update to a recent block height 2025-08-20 18:42:13 +02:00
selsta 32f701b0cd build: prepare v0.18.4.2 2025-08-01 17:25:46 +02:00
selsta b96af8e17a build: prepare v0.18.4.1 2025-07-09 16:12:16 +02:00
tobtoht f1311d4237 Merge pull request #9864
97e1a49dd checkpoints: update to a recent block height (selsta)
2025-03-26 12:37:43 +00:00
selsta 97e1a49dd7 checkpoints: update to a recent block height 2025-03-25 21:22:47 +01:00
tobtoht 4b7263d587 Merge pull request #9854
c7f01e57f Blockchain: remove skip for pruned txs in `check_tx_inputs()` (jeffro256)
2025-03-24 02:56:51 +00:00
jeffro256 c7f01e57f5 Blockchain: remove skip for pruned txs in check_tx_inputs()
I can't see how this would trigger in the current codebase, so it's not a *current* safety issue,
but I can very well see it becoming on in the future if downstream code doesn't handle the passing
of pruned transactions correctly. I think the safe/good choice would be to remove this skip now
that all transactions that pass into the mempool are supposed to be unpruned. And for all in-block
txs, `check_tx_inputs()` isn't called for checkpointed blocks, and we sync pruned blocks only if
syncing checkpointed blocks.
2025-03-19 23:25:48 -05:00
jeffro256 ce1c864b4d cryptonote_protocol: fix handling of pruned blocks during sync 2025-03-19 17:37:53 -05:00
tobtoht 3da68db978 Merge pull request #9740
008ba966d blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
2025-03-10 16:20:00 +00:00
jeffro256 008ba966da blockchain sync: reduce disk writes from 2 to 1 per tx 2025-03-10 01:32:08 -05:00
Lee *!* Clagett 01bcd52924 Fix build with boost ASIO 0.87. Support boost 1.66+ 2025-02-14 13:29:57 -05:00
selsta 3fef296082 build: prepare v0.18.4.0 2025-02-13 18:32:51 +01:00
tobtoht 9029001127 Merge pull request #9689
4d2aad837 Revert "blockchain: detect and log bad difficulty calculations" (selsta)
2025-01-22 22:51:55 +00:00
tobtoht 460412b10e Merge pull request #9622
41c4bc4 Blockchain: get height of RingCT fork programmatically (jeffro256)
2025-01-14 14:16:02 +00:00
selsta 4d2aad8378 Revert "blockchain: detect and log bad difficulty calculations"
This reverts commit 5741b4d74d.
2025-01-14 13:04:49 +01:00
luigi1111 8f531676b5 Merge pull request #9400
f0a574c Blockchain: fix temp fails causing alt blocks to be permanently invalid (jeffro256)
2024-12-23 10:33:54 -05:00
jeffro256 41c4bc4557 Blockchain: get height of RingCT fork programmatically
Get height of the RingCT fork to start the output distributuon programmatically, instead of using a hardcoded index.

If using a hardcoded index, when the hardfork tables are modified, this can cause segmentation faults or horrific privacy issues: https://codeberg.org/wownero/wownero/issues/488#issuecomment-2514880.
2024-12-16 15:23:27 -06:00
selsta 956d55c35f build: prepare v0.18.3.4 2024-07-22 14:23:40 +02:00
jeffro256 f0a574c3a9 Blockchain: fix temp fails causing alt blocks to be permanently invalid 2024-07-15 12:29:10 -05:00
selsta 97e3ce5f18 build: prepare v0.18.3.3 2024-03-11 15:20:10 +01:00
luigi1111 c6ff0d3820 Merge pull request #9136
f2360a7 build: prepare v0.18.3.2 (selsta)
2024-02-24 10:18:40 -05:00
selsta f2360a725e build: prepare v0.18.3.2 2024-02-20 15:37:47 +01:00
selsta 0cc8f7aaa3 cryptonote_core: early out on out of bounds scaling parameter 2024-02-20 15:21:27 +01:00
luigi1111 2656cdf505 Merge pull request #9014
69de381 add a test for the long term weight cache (Boog900)
810f6a6 Fix: long term block weight cache The long term block weight cache was doing a wrong calculation when adding a new block to the cache. (Boog900)
2023-10-02 15:28:11 -04:00
Boog900 810f6a6cd2 Fix: long term block weight cache
The long term block weight cache was doing a wrong calculation when
adding a new block to the cache.
2023-10-02 15:27:31 +01:00
selsta fbcd8da082 build: prepare v0.18.3.1 2023-10-02 12:59:37 +02:00
selsta 64ed9385a2 build: prepare v0.18.3.0 2023-09-10 18:30:34 +02:00
j-bermanandrbrunner7 f137a35984 Enforce restricted # pool txs served via RPC + optimize chunked reqs [release-v0.18]
- `/getblocks.bin` respects the `RESTRICTED_TX_COUNT` (=100) when
returning pool txs via a restricted RPC daemon.
- A restricted RPC daemon includes a max of `RESTRICTED_TX_COUNT` txs
in the `added_pool_txs` field, and returns any remaining pool hashes
in the `remaining_added_pool_txids` field. The client then requests
the remaining txs via `/gettransactions` in chunks.
- `/gettransactions` no longer does expensive no-ops for ALL pool txs
if the client requests a subset of pool txs. Instead it searches for
the txs the client explicitly requests.
- Reset `m_pool_info_query_time` when a user:
  (1) rescans the chain (so the wallet re-requests the whole pool)
  (2) changes the daemon their wallets points to (a new daemon would
      have a different view of the pool)
- `/getblocks.bin` respects the `req.prune` field when returning
pool txs.
- Pool extension fields in response to `/getblocks.bin` are optional
with default 0'd values.
2023-07-09 08:38:18 +02:00
Crypto Cityandmoneromooo-monero 1fad8cc919 blockchain: ensure base fee cannot reach 0
reported by sech1
2023-05-11 13:59:41 +00:00
selsta 4f1262bae9 build: prepare v0.18.2.2 2023-03-27 18:52:04 +02:00
luigi1111 25645e5d23 Merge pull request #8785
cdeb286 build: prepare v0.18.2.1 (selsta)
2023-03-24 22:55:49 -04:00
selsta cdeb286359 build: prepare v0.18.2.1 2023-03-18 21:23:42 +01:00
Jeffrey Ryan c59e0096b6 verRctNonSemanticsSimpleCached: fix fragility 2023-03-17 18:46:34 -05:00
selsta dc18efa3d7 build: prepare v0.18.2.0 2023-02-08 22:18:30 +01:00
luigi1111 c48f572e46 Merge pull request #8676
29208a3 Cache successful erRctNonSemanticsSimple calls (SChernykh)
2023-01-11 12:28:08 -05:00
SChernykh 29208a33cb Cache successful verRctNonSemanticsSimple calls 2022-12-20 22:19:00 +01:00
SChernykh f698f2b708 Refactored rx-slow-hash.c
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)`
- Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens
- `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance)
- New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification)
- When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then)
- When mining is running, PoW checks now also use dataset for faster verification
2022-12-14 07:21:00 +01:00
selsta 853171bbf0 build: prepare v0.18.1.2 2022-09-26 22:41:36 +02:00