Commit Graph
597 Commits
Author SHA1 Message Date
tobtoht f412232c0f Merge pull request #10930
26a2379 rpc: speed up mempool lookup in get_transactions (jpk68)

ACKs: thomasbuilds*, selsta
2026-08-09 22:01:19 +00:00
jpk68 26a2379469 rpc: speed up mempool lookup in get_transactions 2026-08-09 13:32:03 -04:00
selsta 44493becb7 p2p, rpc: group public IPv6 connection limits by /64 2026-08-01 17:23:05 +02:00
tobtoht 42b78ee9bd Merge pull request #10694
a01b4c2 daemon: remove bootstrap mode (tobtoht)

ACKs: thomasbuilds, selsta
2026-07-22 20:03:46 +00:00
tobtoht a01b4c2a31 daemon: remove bootstrap mode 2026-07-22 20:38:20 +02:00
tobtoht e00908bc49 Merge pull request #10921
edea850 general: replace auto_scope_leave_caller with scope_guard (jeffro256)

ACKs: selsta, tobtoht
2026-07-22 16:31:31 +00:00
jeffro256 edea8505db general: replace auto_scope_leave_caller with scope_guard
And replace unused inclusions of misc_language.h
2026-07-15 19:54:58 -05:00
selsta 85b38a52a6 rpc: replace get_blocks.bin Levin pool budget
/get_blocks.bin is HTTP binary RPC serialized with portable storage, not a
P2P Levin message. The previously added pool limiter used
LEVIN_DEFAULT_MAX_PACKET_SIZE as a response budget, but that constant does
not apply to the RPC path.
2026-07-15 01:58:59 +02:00
Samy 2d4e1547fd rpc: fix block template reserved offset 2026-07-05 13:45:29 +02:00
j-berman 13db615bb8 Daemon RPC: /getblocks.bin incremental pool fetch even when no new blocks 2026-06-30 12:15:22 -07:00
Thomas 02db831d01 Fix spelling typos 2026-06-18 09:30:42 +02:00
akildemirandselsta 1bd4dfe43a rpc: return prunable hashes in pruned getblocks
Co-authored-by: selsta <selsta@sent.at>
2026-06-11 20:37:13 +02:00
tobtoht 17891e9157 Merge pull request #10512
b8cc5b6 blockchain_db: hide sensitive txs in get_txids_loose (jeffro256)
2026-06-09 18:40:12 +00:00
jeffro256 9dbce17bb5 Blockchain: option for fast manual block popping 2026-06-07 14:59:57 -05:00
9b337ca01f rpc: remove pay-to-use RPC on node side
Co-authored-by: tobtoht <tob@featherwallet.org>
Co-authored-by: SNeedlewoods <sneedlewoods_1@protonmail.com>
2026-05-26 22:54:30 +02:00
tobtoht c982fe1e51 Merge pull request #9473
1aea9cc tx_pool: track sensitive flag per-tx in added_txs_by_id (j-berman)
8cecfc8 src: fix rpc limit (Navid Rahimi)
2026-05-21 19:58:24 +00:00
Navid Rahimiandjeffro256 8cecfc8d1b src: fix rpc limit
Co-authored-by: jeffro256 <jeffro256@tutanota.com>
2026-05-21 20:37:53 +01:00
tobtoht b745be7235 Merge pull request #10587
2c327aa fix spelling in comments and docs (Thomas)
2026-05-19 19:53:51 +00:00
jeffro256andselsta b8cc5b6a4b blockchain_db: hide sensitive txs in get_txids_loose
Co-authored-by: selsta <selsta@sent.at>
2026-05-13 14:20:50 -05:00
Thomas 2c327aa325 fix spelling in comments and docs 2026-05-13 21:20:05 +02:00
selsta fe9b5de85f rpc: remove unused origin flag 2026-05-09 20:33:36 +02:00
tobtoht 2e0dcb3d95 Merge pull request #10422
df2b8b4 rpc: fix incomplete range check in get_coinbase_tx_sum + update test (Thomas)
2026-04-29 13:52:50 +00:00
tobtoht b84aee62a4 Merge pull request #10143
4a2d6eb Daemon RPC: getblocks.bin block_ids_exclusive req param (j-berman)
2026-04-29 12:35:26 +00:00
Thomas df2b8b4bf6 rpc: fix incomplete range check in get_coinbase_tx_sum + update test 2026-04-28 21:32:12 +02:00
hinto.janai 3aa793fec4 rpc: restrict add_aux_pow 2026-04-10 13:49:09 +00:00
Lee *!* Clagett 44869250bd Transition asio::deadline_timer to asio::steady_timer 2026-02-17 11:28:57 -05:00
jeffro256 6a99c22cbc rpc: return error gracefully on cryptonight v1 check 2026-01-31 10:14:05 -06:00
jeffro256 3f964fcdb5 blockchain_db/rpc: faster is_key_image_spent
Does the following to speedup the `/is_key_image_spent` RPC endpoint:
  - Reads all on-chain key images in one LMDB read transacion
  - Uses `cryptonote_core::are_key_images_spent_in_pool()` instead of `cryptonote_core::get_pool_transactions_and_spent_keys_info()` for pool querying. This only does a LMDB read per key image if in the pool.
  - Filters known on-chain spent key images before querying for key images spent in pool

This RPC endpoint was causing major daemon slowdowns in the Carrot/FCMP++ Alpha Stressnet when using the `rescan_spent` command, especially for large wallets.
The effect was much worse if the mempool was full.
2026-01-07 00:49:44 -06:00
j-berman 4a2d6eb3da Daemon RPC: getblocks.bin block_ids_exclusive req param
When the request includes block_ids, the daemon uses
find_blockchain_supplement to identify the highest block hash
passed in block_ids that the daemon also knows about, and then
serves subsequent blocks contiguous to that block.

When block_ids_skip_exclusive is false (default current
behavior), the daemon includes the highest block requested in the
response, in addition to contiguous blocks after it.

When block_ids_skip_exclusive is true (new param), the daemon
serves blocks starting from the block 1 higher than the highest
known block included in block_ids. Thus, the daemon skips the
common block known to the client and daemon. Clients can make sure
the daemon is serving expected contiguous blocks to its highest
known block by checking the first block's prev_id included in the
response, and making sure it is equivalent to the block the client
already knows about that was included in block_ids. This avoids
the daemon serving 1 extra block it does not need to serve to the
client, since the client should already know about that block.

bl
2025-10-10 01:21:52 -07:00
j-berman be79b83b4e Daemon RPC: fix on_getblockhash error return on too high height 2025-09-25 16:18:22 -07:00
j-berman a8959f2c9b Daemon RPC: rm high_height_ok field from getblocks.bin
Since current behavior on release is to ban clients with too
high a height included in the request, it seems reasonably
justified to modify that behavior to instead return a successful
response that includes the chain height and top block hash.
2025-08-06 12:45:49 -07:00
jeffro256 6131ddef10 rpc: return error correctly on bad key image string
Because of the missing `return` statement, the status is set to "OK" later on in the method when it shouldn't be.

Thank you to ADA Logics and the MAGIC Monero Fund for reporting this!
2025-07-11 10:39:03 -05:00
tsinghuacoder 9d4dd0ef8d chore: fix some typos
Signed-off-by: tsinghuacoder <tsinghuacoder@icloud.com>
2025-04-11 17:05:25 +08:00
tobtoht 44523cafff Merge pull request #9135
c069c04ed blockchain sync: reduce disk writes from 2 to 1 per tx (jeffro256)
2025-03-10 16:16:18 +00:00
jeffro256 c069c04ede blockchain sync: reduce disk writes from 2 to 1 per tx 2025-03-10 01:02:37 -05:00
Lee *!* Clagett ec74ff4a3d Set response limits on http server connections 2025-02-13 23:55:17 -05:00
eversinc33 9311a24044 validate ip parameter in set_bans rpc call 2024-12-28 23:34:35 +01:00
j-berman df54d8b3d4 Daemon RPC: add max_block_count field to /getblocks.bin 2024-10-29 10:40:46 -07:00
jeffro256 ac0af73222 rpc: add cumul weight field to block template resp
Resolves #9415
2024-08-01 01:03:41 -05:00
luigi1111 330212888a Merge pull request #9383
9f83e74 Daemon RPC: /getblocks.bin return chain's top_block_hash in resp (j-berman)
2024-07-16 19:00:39 -04:00
luigi1111 4ed5bc5436 Merge pull request #9382
356829a Daemon RPC: high_height_ok req boolean field /getblocks.bin (j-berman)
2024-07-16 19:00:06 -04:00
j-berman 9f83e7434d Daemon RPC: /getblocks.bin return chain's top_block_hash in resp 2024-06-24 17:58:20 -07:00
j-berman 356829a198 Daemon RPC: high_height_ok req boolean field /getblocks.bin
Behavior before: when start_height > chain tip, response fails

Behavior after: when req.high_height_ok is true && req.start_height
> chain tip, server rerturns a successful response that includes
chain height
2024-06-24 16:47:06 -07:00
copyCat 341771ac3e copyright: bump to 2024 2024-05-21 16:29:33 +00:00
luigi1111 6462d3760d Merge pull request #9232
7194506 Blockchain: remove old fee calc logic (jeffro256)
2024-05-20 23:18:07 -05:00
jeffro256 7194506792 Blockchain: remove old fee calc logic 2024-03-10 13:30:46 -05:00
jeffro256 38f354e89f Enforce Tx unlock_time is Zero by Relay Rule
Related to https://github.com/monero-project/research-lab/issues/78

Added a relay rule that enforces the `unlock_time` field is equal to 0 for non-coinbase transactions.

UIs changed:
* Removed `locked_transfer` and `locked_sweep_all` commands from `monero-wallet-cli`

APIs changed:
* Removed `unlock_time` parameters from `wallet2` transfer methods
* Wallet RPC transfer endpoints send error codes when requested unlock time is not 0
* Removed `unlock_time` parameters from `construct_tx*` cryptonote core functions
2024-02-24 14:27:17 -06:00
Crypto Cityandmoneromooo-monero 53e632b435 fix merge mining with more than one merge mined chain
reported by sech1
2023-11-30 17:01:52 +00:00
luigi1111 476398687d Merge pull request #8965
1e2e703 core_rpc_server: silence unused  warnings (jeffro256)
2023-11-06 09:23:08 -05:00
luigi1111 d5da693866 Merge pull request #8958
b0bf49a blockchain_db: add k-anonymity to txid fetching (jeffro256)
2023-10-25 21:34:06 -04:00