aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/blockchain.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Establish Monzero Phase 0 and inactive assets baselinemonzero-phase0-assets-prototype-20260815Monzero Build System7 hours1-0/+7
|
* Merge pull request #10779v0.18.5.1tobtoht2026-06-301-1/+1
|\ | | | | | | | | | | d67a8d8 build: prepare v0.18.5.1 (selsta) ACKs: SNeedlewoods, plowsof
| * build: prepare v0.18.5.1selsta2026-06-291-1/+1
| |
* | blockchain: improve incoming block scan table handlingselsta2026-06-291-32/+21
|/
* Blockchain: fix wrong block_weight in handle_get_objectsSChernykh2026-06-041-3/+1
| | | | | | - 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.
* build: prepare v0.18.5.0selsta2026-04-281-1/+1
|
* build: prepare v0.18.4.6selsta2026-02-131-1/+1
|
* Merge pull request #10262v0.18.4.5tobtoht2025-12-291-1/+1
|\ | | | | | | ec34c5b build: prepare v0.18.4.5 (selsta)
| * build: prepare v0.18.4.5selsta2025-12-291-1/+1
| |
* | p2p: fix race causing dropped connections during syncj-berman2025-12-111-2/+2
|/ | | | | | | | | | | | | 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.
* build: prepare v0.18.4.4selsta2025-11-101-1/+1
|
* Merge pull request #10106v0.18.4.3luigi11112025-10-071-1/+1
|\ | | | | | | 09f5cbb build: prepare v0.18.4.3 (selsta)
| * build: prepare v0.18.4.3selsta2025-10-071-1/+1
| |
* | Cleaner validation (faster and saner)j-berman2025-10-051-15/+0
| |
* | Send ZMQ miner notifications after txpool additionsWeebDataHoarder2025-09-241-2/+5
|/ | | | | | | | | | | 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 dfee15eee18a97be5a8fb9822527f98ebd1b33e9 / #7891
* checkpoints: update to a recent block heightselsta2025-08-201-1/+1
|
* build: prepare v0.18.4.2selsta2025-08-011-1/+1
|
* build: prepare v0.18.4.1selsta2025-07-091-1/+1
|
* Merge pull request #9864v0.18.4.0tobtoht2025-03-261-1/+1
|\ | | | | | | 97e1a49dd checkpoints: update to a recent block height (selsta)
| * checkpoints: update to a recent block heightselsta2025-03-251-1/+1
| |
* | Merge pull request #9854tobtoht2025-03-241-4/+0
|\ \ | | | | | | | | | c7f01e57f Blockchain: remove skip for pruned txs in `check_tx_inputs()` (jeffro256)
| * | Blockchain: remove skip for pruned txs in `check_tx_inputs()`jeffro2562025-03-191-4/+0
| |/ | | | | | | | | | | | | | | | | 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.
* / cryptonote_protocol: fix handling of pruned blocks during syncjeffro2562025-03-191-1/+1
|/
* Merge pull request #9740tobtoht2025-03-101-106/+244
|\ | | | | | | 008ba966d blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
| * blockchain sync: reduce disk writes from 2 to 1 per txjeffro2562025-03-101-106/+244
| |
* | Fix build with boost ASIO 0.87. Support boost 1.66+Lee *!* Clagett2025-02-141-3/+4
| |
* | build: prepare v0.18.4.0selsta2025-02-131-1/+1
|/
* Merge pull request #9689tobtoht2025-01-221-72/+5
|\ | | | | | | 4d2aad837 Revert "blockchain: detect and log bad difficulty calculations" (selsta)
| * Revert "blockchain: detect and log bad difficulty calculations"selsta2025-01-141-72/+5
| | | | | | | | This reverts commit 5741b4d74de542f6f75dddad8125f4c4a5ad9143.
* | Merge pull request #9622tobtoht2025-01-141-11/+2
|\ \ | |/ |/| | | 41c4bc4 Blockchain: get height of RingCT fork programmatically (jeffro256)
| * Blockchain: get height of RingCT fork programmaticallyjeffro2562024-12-161-11/+2
| | | | | | | | | | | | 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.
* | Merge pull request #9400luigi11112024-12-231-6/+0
|\ \ | |/ |/| | | f0a574c Blockchain: fix temp fails causing alt blocks to be permanently invalid (jeffro256)
| * Blockchain: fix temp fails causing alt blocks to be permanently invalidjeffro2562024-07-151-6/+0
| |
* | build: prepare v0.18.3.4selsta2024-07-221-1/+1
|/
* build: prepare v0.18.3.3selsta2024-03-111-1/+1
|
* Merge pull request #9136luigi11112024-02-241-1/+1
|\ | | | | | | f2360a7 build: prepare v0.18.3.2 (selsta)
| * build: prepare v0.18.3.2selsta2024-02-201-1/+1
| |
* | cryptonote_core: early out on out of bounds scaling parameterselsta2024-02-201-1/+2
|/
* Merge pull request #9014v0.18.3.1luigi11112023-10-021-33/+2
|\ | | | | | | | | 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)
| * Fix: long term block weight cacheBoog9002023-10-021-33/+2
| | | | | | | | | | The long term block weight cache was doing a wrong calculation when adding a new block to the cache.
* | build: prepare v0.18.3.1selsta2023-10-021-1/+1
|/
* build: prepare v0.18.3.0selsta2023-09-101-1/+1
|
* Enforce restricted # pool txs served via RPC + optimize chunked reqs ↵j-berman2023-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | [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.
* blockchain: ensure base fee cannot reach 0Crypto City2023-05-111-1/+1
| | | | reported by sech1
* build: prepare v0.18.2.2selsta2023-03-271-1/+1
|
* Merge pull request #8785luigi11112023-03-241-1/+1
|\ | | | | | | cdeb286 build: prepare v0.18.2.1 (selsta)
| * build: prepare v0.18.2.1selsta2023-03-181-1/+1
| |
* | verRctNonSemanticsSimpleCached: fix fragilityJeffrey Ryan2023-03-171-63/+18
|/
* build: prepare v0.18.2.0selsta2023-02-081-1/+1
|
* Merge pull request #8676luigi11112023-01-111-1/+1
|\ | | | | | | 29208a3 Cache successful erRctNonSemanticsSimple calls (SChernykh)