aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/cryptonote_core.h
Commit message (Collapse)AuthorAgeFilesLines
* zmq: apply restricted-mode privacy filtering to get_transaction_poolgreatjourney5892026-05-081-1/+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.
* blockchain_utilities: fix --data-dir optionjeffro2562026-04-221-0/+9
|
* p2p: isolate regtest from mainnet bootstrap stateJeetraj2026-04-101-1/+1
|
* tx_memory_pool: speedup get_complement() for large requestsjeffro2562026-03-211-1/+1
| | | | | | | 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-1/+1
| | | | | | | | | | | | | 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.
* blockchain sync: reduce disk writes from 2 to 1 per txjeffro2562025-03-101-134/+87
|
* Enforce restricted # pool txs served via RPC + optimize chunked reqs ↵j-berman2023-07-091-1/+10
| | | | | | | | | | | | | | | | | | | | | | [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/+8
| | | | [release-v0.18]
* rpc: skip bootstrap nodes that are lower than last checkpointselsta2022-09-061-0/+7
|
* Publish submitted txs via zmqj-berman2022-07-211-0/+7
|
* Add view tags to outputs to reduce wallet scanning timej-berman2022-04-181-1/+2
| | | | | | | | | | | | | 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 #8205luigi11112022-04-061-1/+0
|\ | | | | | | 0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
| * Compil. time: cryptonote_core minus portable_storage headermj-xmr2022-03-041-1/+0
| |
* | Copyright: Update to 2022mj-xmr2022-03-041-1/+1
|/
* Merge pull request #7891luigi11112021-09-231-0/+7
|\ | | | | | | dfee15e RPC and ZeroMQ APIs to support p2pool (SChernykh)
| * RPC and ZeroMQ APIs to support p2poolSChernykh2021-09-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+2
|\ \ | |/ |/| | | 4ced092 daemon: allow proxy configuration (anon, selsta, tobtoht)
| * daemon: allow proxy configurationanon2021-08-201-1/+2
| | | | | | | | | | Co-authored-by: selsta <selsta@sent.at> Co-authored-by: tobtoht <thotbot@protonmail.com>
* | core: speed up print_coinbase_tx_summoneromooo-monero2021-03-181-2/+2
|/ | | | It only needs to parse the tx headers, not the full tx data
* protocol: more sanity checks in new chain block hashesmoneromooo-monero2020-12-311-1/+4
|
* rpc: limit the number of txes for get_blocks.binmoneromooo-monero2020-12-291-1/+1
|
* Merge pull request #7021luigi11112020-11-291-1/+0
|\ | | | | | | 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/+0
| |
* | Merge pull request #7018luigi11112020-11-291-2/+9
|\ \ | | | | | | | | | a9cd5d9 cryptonote_core: dandelion - use local height or median height if syncing (xiphon)
| * | cryptonote_core: dandelion - use local height or median height if syncingxiphon2020-11-251-2/+9
| |/
* / cryptonote_core: Fix missing override warningsNathan Dorfman2020-10-191-2/+2
|/
* Dandelion++: skip desynced peers in stem phasexiphon2020-10-121-1/+1
|
* core: fix mining from a block that's not the current topmoneromooo-monero2020-08-271-2/+2
|
* Adding ZMQ/Pub support for txpool_add and chain_main eventsLee Clagett2020-05-041-0/+15
|
* Merge pull request #6534Alexander Blair2020-07-191-0/+8
|\ | | | | | | 7bd66b01b daemon: guard against rare 'difficulty drift' bug with checkpoints and recalculation (stoffu)
| * daemon: guard against rare 'difficulty drift' bug with checkpoints and ↵stoffu2020-06-091-0/+8
| | | | | | | | | | | | recalculation On startup, it checks against the difficulty checkpoints, and if any mismatch is found, recalculates all the blocks with wrong difficulties. Additionally, once a week it recalculates difficulties of blocks after the last difficulty checkpoint.
* | Merge pull request #6512Alexander Blair2020-07-191-1/+1
|\ \ | | | | | | | | | 5ef0607da Update copyright year to 2020 (SomaticFanatic)
| * | Update copyright year to 2020SomaticFanatic2020-05-061-1/+1
| |/ | | | | | | Update copyright year to 2020
* / cryptonote_core: remove "We are most likely forked" messagemoneromooo-monero2020-05-191-12/+0
|/ | | | It's time based and we don't have forks every 6 months anymore
* Merge pull request #6468luigi11112020-05-061-1/+1
|\ | | | | | | a813c46 cryptonote_core: skip dns checkpoints on startup if not enforced (xiphon)
| * cryptonote_core: skip dns checkpoints on startup if not enforcedxiphon2020-04-201-1/+1
| |
* | Allow unrestricted rpc calls to get full txpool infoLee Clagett2020-03-301-2/+4
|/
* Merge pull request #6214luigi11112020-03-311-0/+9
|\ | | | | | | 054b4c7 protocol: request txpool contents when synced (moneromooo-monero)
| * protocol: request txpool contents when syncedmoneromooo-monero2020-03-221-0/+9
| | | | | | | | | | | | | | A newly synced Alice sends a (typically quite small) list of txids in the local tpxool to a random peer Bob, who then uses the existing tx relay system to send Alice any tx in his txpool which is not in the list Alice sent
* | p2p: remove old debug commandsAaron Hook2020-03-201-10/+0
|/
* Merge pull request #6225Alexander Blair2020-02-281-1/+1
|\ | | | | | | 987c3139 print_coinbase_tx_sum now supports 128 bits sums (moneromooo-monero)
| * print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero2019-12-121-1/+1
| | | | | | | | The tail emission will bring the total above 64 bits
* | Merge pull request #6211Alexander Blair2020-02-281-0/+5
|\ \ | | | | | | | | | 5985c5af rpc: add bad-blocks to flush_cache RPC (moneromooo-monero)
| * | rpc: add bad-blocks to flush_cache RPCmoneromooo-monero2019-12-021-0/+5
| |/ | | | | | | Flushes m_invalid_blocks in Blockchain.
* | Change to Tx diffusion (Dandelion++ fluff) instead of floodingLee Clagett2019-11-041-8/+0
| |
* | Adding support for hidden (anonymity) txpoolLee Clagett2019-11-021-26/+47
|/
* rpc: add a flush_cache RPCmoneromooo-monero2019-10-251-0/+5
| | | | | | | This allows flushing internal caches (for now, the bad tx cache, which will allow debugging a stuck monerod after it has failed to verify a transaction in a block, since it would otherwise not try again, making subsequent log changes pointless)
* monerod can now sync from pruned blocksmoneromooo-monero2019-09-271-5/+19
| | | | | | | | | | | | | | If the peer (whether pruned or not itself) supports sending pruned blocks to syncing nodes, the pruned version will be sent along with the hash of the pruned data and the block weight. The original tx hashes can be reconstructed from the pruned txes and theur prunable data hash. Those hashes and the block weights are hashes and checked against the set of precompiled hashes, ensuring the data we received is the original data. It is currently not possible to use this system when not using the set of precompiled hashes, since block weights can not otherwise be checked for validity. This is off by default for now, and is enabled by --sync-pruned-blocks
* Unused private member m_miner_addressJesus Ramirez2019-05-291-1/+0
|
* functional_tests: add more blockchain related testsmoneromooo-monero2019-04-111-1/+3
| | | | | Related to emission, reorgs, getting tx data back, output distribution and histogram