summaryrefslogtreecommitdiff
path: root/src/cryptonote_core/blockchain.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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)
| * Cache successful `verRctNonSemanticsSimple` callsSChernykh2022-12-201-1/+1
| |
* | Refactored rx-slow-hash.cSChernykh2022-12-141-14/+28
|/ | | | | | | | | - 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
* build: prepare v0.18.1.2selsta2022-09-261-1/+1
|
* Second thread pool for IOSChernykh2022-09-201-2/+2
|
* build: prepare v0.18.1.1selsta2022-09-061-1/+1
|
* build: prepare v0.18.1.0selsta2022-07-281-1/+1
|
* build: prepare v0.18.0.0selsta2022-07-131-1/+1
|
* Merge pull request #8178luigi11112022-04-251-9/+15
|\ | | | | | | 5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
| * Bump ring size to 16 for v15 & remove set default in wallet clij-berman2022-04-181-9/+15
| |
* | Add view tags to outputs to reduce wallet scanning timej-berman2022-04-181-9/+23
|/ | | | | | | | | | | | | Implements view tags as proposed by @UkoeHB in MRL issue https://github.com/monero-project/research-lab/issues/73 At tx construction, the sender adds a 1-byte view tag to each output. The view tag is derived from the sender-receiver shared secret. When scanning for outputs, the receiver can check the view tag for a match, in order to reduce scanning time. When the view tag does not match, the wallet avoids the more expensive EC operations when deriving the output public key using the shared secret.
* Fee changes from ArticMinemoneromooo-monero2022-04-101-7/+130
| | | | | | https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf with a change to use 1.7 instead of 2.0 for the max long term increase rate
* Merge pull request #8212luigi11112022-04-061-3/+0
|\ | | | | | | 591c174 Remove footgun doc comment in miner TX validation (Luke Parker)
| * Remove footgun doc comment in miner TX validationLuke Parker2022-03-101-3/+0
| | | | | | This comment suggests this check is unnecessary, when it is completely necessary as miner TXs can have multiple outputs *which is a statement directly, and incorrectly, contradicted by this comment*. While I don't ever see someone removing this code and getting their edits merged into Monero, someone inexperienced who thinks they're cleaning old code may break their own work, and then there's really just zero benefit to keeping this around.
* | Merge pull request #8197luigi11112022-04-061-1/+1
|\ \ | | | | | | | | | da9aa1f Copyright: Update to 2022 (mj-xmr)
| * | Copyright: Update to 2022mj-xmr2022-03-041-1/+1
| |/
* / plug bulletproofs plus into consensusmoneromooo-monero2022-04-051-4/+31
|/
* tx_pool: full tx revalidation on fork boundariesmoneromooo-monero2021-11-011-0/+21
| | | | | | avoids mining txes after a fork that are invalid by this fork's rules, but were valid by the previous fork rules at the time they were verified and added to the txpool.
* blockchain: fix pedantic assertselsta2021-10-111-0/+2
|