764 Commits

Author SHA1 Message Date
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
tobtoht
40cd9ba0c4
Merge pull request #9981
6131dde rpc: return error correctly on bad key image string (jeffro256)
2025-07-13 16:53:30 +00: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
Lee Clagett
2bce551da7 Add new dynamic fees to ZMQ 2025-06-13 17:10:17 -04:00
0xFFFC0000
d106e21b74 src: fix clangd warnings 2025-05-01 05:27:35 +00:00
tobtoht
627bb04b98
Merge pull request #9851
70fe289d8 Improve move/copy/default constructor semantics for tx and block (Lee *!* Clagett)
2025-04-23 16:14:50 +00:00
tsinghuacoder
9d4dd0ef8d chore: fix some typos
Signed-off-by: tsinghuacoder <tsinghuacoder@icloud.com>
2025-04-11 17:05:25 +08:00
Lee *!* Clagett
70fe289d82 Improve move/copy/default constructor semantics for tx and block 2025-03-21 14:02:12 -04: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
tobtoht
295dba01a6
Merge pull request #9660
9311a24 validate ip parameter in set_bans rpc call (eversinc33)
2025-01-14 14:31:30 +00:00
Lee *!* Clagett
4344f97255 Fix build with boost ASIO 1.87. Support boost 1.66+ 2025-01-06 18:05:25 -05:00
eversinc33
9311a24044 validate ip parameter in set_bans rpc call 2024-12-28 23:34:35 +01:00
tobtoht
7b3cbb06da
cmake: use pkgconfig to find zeromq 2024-12-23 17:12:22 +01:00
j-berman
df54d8b3d4 Daemon RPC: add max_block_count field to /getblocks.bin 2024-10-29 10:40:46 -07:00
luigi1111
a1dc85c537
Merge pull request #9416
ac0af73 rpc: add cumul weight field to block template resp (jeffro256)
2024-08-14 14:19:03 -04:00
luigi1111
4bb00420cc
Merge pull request #9423
aaeffb7 rpc: remove COMMAND_RPC_FAST_EXIT (hinto.janai)
2024-08-13 12:17:46 -04:00
luigi1111
93d6e0964e
Merge pull request #9384
88afcdb Fix ZMQ DaemonInfo: (Lee *!* Clagett)
2024-08-13 12:15:28 -04:00
hinto.janai
aaeffb7c93
rpc: remove COMMAND_RPC_FAST_EXIT 2024-08-05 20:21:29 -04: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
luigi1111
8dbbc47804
Merge pull request #9379
6c28bdb wallet2: move get_rpc_status func to RPC server definition file (j-berman)
2024-07-16 18:58:08 -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
6c28bdb856 wallet2: move get_rpc_status func to RPC server definition file 2024-06-24 17:44:23 -07:00
Lee *!* Clagett
88afcdb8fa Fix ZMQ DaemonInfo:
* top_block_hash was never set in handler
  * wide_difficulty was never sent in JSON
  * wide_cumulative_difficulty was never sent in JSON
2024-06-24 19:57:20 -04: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
luigi1111
e9a4deef81
Merge pull request #9079
eed975d Fix missing checks for IsObject in ZMQ jsonrpc reading (Lee Clagett)
2024-01-18 18:03:18 -05:00
luigi1111
8ee57110b0
Merge pull request #9077
2525200 serialization: remove container wrappers and serialize directly (jeffro256)
2024-01-18 18:02:31 -05:00
luigi1111
4b1910af13
Merge pull request #9073
53e632b fix merge mining with more than one merge mined chain (Crypto City)
2024-01-18 18:01:34 -05:00
luigi1111
9d7b253263
Merge pull request #9052
4acae11 Fix EAGAIN bug in ZMQ-RPC/ZMQ-PUB (Lee *!* Clagett)
2024-01-18 17:57:30 -05:00
Crypto City
53e632b435
fix merge mining with more than one merge mined chain
reported by sech1
2023-11-30 17:01:52 +00:00
Lee Clagett
eed975db5d Fix missing checks for IsObject in ZMQ jsonrpc reading 2023-11-28 18:02:57 -05:00
jeffro256
2525200185
serialization: remove container wrappers and serialize directly
Some downstream code (most notably PR https://github.com/UkoeHB/monero/pull/25) wants to use the src/serialization lib
for storing information persistently. When one builds classes/machines wishing to serialize containers, they must use
the `serializable_*` container classes. In this case, this makes the Seraphis library code unnecessarily tightly coupled
with the src/serialization code since one cannot swap out their type of storage format without major refactoring of class
field types. By serializing STL containers directly, we can abstract the serialization details away, making for much
cleaner design. Also small bonus side effect of this change is that STL containers with custom Comparators, Allocators,
and Hashers are serializable. `std::multimap` is added to the list of serializable containers.

Depends upon https://github.com/monero-project/monero/pull/9069.
2023-11-28 14:06:24 -06:00
luigi1111
476398687d
Merge pull request #8965
1e2e703 core_rpc_server: silence unused  warnings (jeffro256)
2023-11-06 09:23:08 -05:00
Lee *!* Clagett
4acae11327 Fix EAGAIN bug in ZMQ-RPC/ZMQ-PUB 2023-11-04 13:42:14 -04:00
luigi1111
e3d0154b5b
Merge pull request #8969
8190f25 KV_SERIALIZE: remove extraneous semicolons in DSL (jeffro256)
2023-10-25 21:35:43 -04: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
luigi1111
30ba5a5280
Merge pull request #8890
e8cac61 core_rpc_server: return ID of submitted block (jeffro256)
2023-08-17 10:17:46 -05:00
jeffro256
8190f2532b
KV_SERIALIZE: remove extraneous semicolons in DSL
Prereq of https://github.com/monero-project/monero/pull/8867
2023-08-10 11:13:14 -05:00
jeffro256
1e2e7035e9
core_rpc_server: silence unused warnings 2023-08-01 17:46:34 -05:00
jeffro256
b0bf49a65a
blockchain_db: add k-anonymity to txid fetching
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions
by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called
`get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can
ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical
chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits`
to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth.

Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-08-01 17:25:25 -05:00
Jeffrey Ryan
70bbd2536b
core_rpc_server: new file: rpc_ssl.fingerprint 2023-07-02 19:38:51 -05:00
jeffro256
e8cac61f4b
core_rpc_server: return ID of submitted block 2023-06-30 15:31:35 -05:00