aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/cryptonote_core.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Establish Monzero Phase 0 and inactive assets baselinemonzero-phase0-assets-prototype-20260815Monzero Build System6 hours1-6/+6
|
* zmq: apply restricted-mode privacy filtering to get_transaction_poolgreatjourney5892026-05-081-2/+2
| | | | | | | | | | | | | | | | Add an include_sensitive parameter to tx_memory_pool::get_pool_for_rpc (and its core passthrough), mirroring the include_sensitive_data parameter on the HTTP analog get_transactions_and_spent_keys_info. When false, receive_time and last_relayed_time are zeroed using the same masking already applied on the HTTP path. The ZMQ handler in daemon_handler.cpp passes !m_restricted, so --restricted-zmq-rpc callers now receive the same privacy-filtered view as restricted HTTP callers instead of the unfiltered timing metadata they previously got. Stem-phase txs continue to be excluded regardless (relay_category::broadcasted filter unchanged). Refs #10529.
* cryptonote_core: restore separate fakechain data dir for core_testsselsta2026-04-291-0/+5
|
* tx_pool: notify txpool event when stem bumps to fluffj-berman2026-04-241-1/+1
|
* Merge pull request #10399tobtoht2026-04-241-1/+1
|\ | | | | | | 73f1eaa Fix ZMQ-PUB reporting of mempool txes that were initially in stem phase (Lee Clagett)
| * Fix ZMQ-PUB reporting of mempool txes that were initially in stem phaseLee Clagett2026-04-241-1/+1
| |
* | blockchain_utilities: fix --data-dir optionjeffro2562026-04-221-3/+11
| |
* | p2p: isolate regtest from mainnet bootstrap stateJeetraj2026-04-101-7/+7
|/
* Merge pull request #10373tobtoht2026-03-281-1/+5
|\ | | | | | | f9d089a cryptonote_core: try-catch in prepare same as cleanup (j-berman)
| * cryptonote_core: try-catch in prepare same as cleanupj-berman2026-03-181-1/+5
| |
* | tx_memory_pool: speedup get_complement() for large requestsjeffro2562026-03-211-2/+2
|/ | | | | | | 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.
* 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.
* Daemon: relay empty fluffy block on found blockj-berman2025-11-111-7/+10
|
* Cleaner validation (faster and saner)j-berman2025-10-051-0/+2
|
* cryptonote_core: `--dns-versions-check` is deprecatednahuhh2025-09-211-1/+1
|
* blockchain sync: reduce disk writes from 2 to 1 per txjeffro2562025-03-101-366/+114
|
* Enforce restricted # pool txs served via RPC + optimize chunked reqs ↵j-berman2023-07-091-2/+7
| | | | | | | | | | | | | | | | | | | | | | [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.
* wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to 1 call ↵rbrunner72023-07-091-0/+5
| | | | [release-v0.18]
* cryptonote core/protocol: don't drop peers for soft offensesjeffro2562023-03-291-1/+1
| | | | | | Also: txs with tx_extra which is too large will not get published to ZMQ Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
* Merge pull request #8588luigi11112022-09-261-4/+0
|\ | | | | | | 802c4bb Move update_checkpoints() to a later stage (SChernykh)
| * Move update_checkpoints() to a later stageSChernykh2022-09-221-4/+0
| | | | | | | | update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking.
* | Second thread pool for IOSChernykh2022-09-201-1/+1
|/
* rpc: skip bootstrap nodes that are lower than last checkpointselsta2022-09-061-0/+4
|
* Publish submitted txs via zmqj-berman2022-07-211-3/+48
|
* Add view tags to outputs to reduce wallet scanning timej-berman2022-04-181-4/+10
| | | | | | | | | | | | | 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.
* 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-1/+22
|/
* Merge pull request #7891luigi11112021-09-231-2/+8
|\ | | | | | | dfee15e RPC and ZeroMQ APIs to support p2pool (SChernykh)
| * RPC and ZeroMQ APIs to support p2poolSChernykh2021-09-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the following: - "get_miner_data" to RPC API - "json-miner-data" to ZeroMQ subscriber contexts Both provide the necessary data to create a custom block template. They are used by p2pool. Data provided: - major fork version - current height - previous block id - RandomX seed hash - network difficulty - median block weight - coins mined by the network so far - mineable mempool transactions
* | Merge pull request #7616luigi11112021-09-091-2/+4
|\ \ | |/ |/| | | 4ced092 daemon: allow proxy configuration (anon, selsta, tobtoht)
| * daemon: allow proxy configurationanon2021-08-201-2/+4
| | | | | | | | | | Co-authored-by: selsta <selsta@sent.at> Co-authored-by: tobtoht <thotbot@protonmail.com>
* | Merge pull request #7612luigi11112021-06-241-5/+5
|\ \ | |/ |/| | | 254a133 core: speed up print_coinbase_tx_sum (moneromooo-monero)
| * core: speed up print_coinbase_tx_summoneromooo-monero2021-03-181-5/+5
| | | | | | | | It only needs to parse the tx headers, not the full tx data
* | Reduce compilation time of epee/portable_storage_template_helper.hmj-xmr2021-03-281-0/+2
|/
* Remove copies from foreach loops (thanks to Clang)Lee Clagett2021-01-281-1/+1
|
* protocol: more sanity checks in new chain block hashesmoneromooo-monero2020-12-311-2/+7
|
* rpc: limit the number of txes for get_blocks.binmoneromooo-monero2020-12-291-2/+2
|
* Merge pull request #7021luigi11112020-11-291-1/+1
|\ | | | | | | d73cb95 Fix timeout checks for forwarded and Dandelion++ stem txes (Lee Clagett)
| * Fix timeout checks for forwarded and Dandelion++ stem txesLee Clagett2020-11-151-1/+1
| |
* | cryptonote_core: dandelion - use local height or median height if syncingxiphon2020-11-251-0/+5
|/
* Merge pull request #6111Riccardo Spagni2020-09-061-10/+41
|\ | | | | | | | | | | d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero) 6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero) 9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
| * functional_tests: add a large (many randomx epochs) p2p reorg testmoneromooo-monero2020-08-271-4/+35
| |
| * core: fix mining from a block that's not the current topmoneromooo-monero2020-08-271-6/+6
| |
* | Merge pull request #6757luigi11112020-09-031-3/+5
|\ \ | | | | | | | | | 6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
| * | threadpool: guard against exceptions in jobs, and armour platingmoneromooo-monero2020-09-011-3/+5
| | | | | | | | | | | | | | | Those would, if uncaught, exit run and leave the waiter to wait indefinitely for the number of active jobs to reach 0
* | | Integrate CLSAGs into moneromoneromooo-monero2020-08-271-1/+2
| |/ |/| | | | | They are allowed from v12, and MLSAGs are rejected from v13.
* | Merge pull request #6614Alexander Blair2020-08-161-3/+2
|\ \ | | | | | | | | | fb31167b1 Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command (rbrunner7)
| * | Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' commandrbrunner72020-07-241-3/+2
| |/
* | Merge pull request #6354Alexander Blair2020-08-091-0/+6
|\ \ | | | | | | | | | 67ade8005 Add randomized delay when forwarding txes from i2p/tor -> ipv4/6 (Lee Clagett)