Commit Graph

538 Commits

Author SHA1 Message Date
jeffro256
dd47d03cf2 Enforce Tx unlock_time is Zero by Relay Rule [RELEASE]
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

@tobtoht: undo rebase changes tx.dsts -> tx_dsts
2024-04-29 00:08:53 -05:00
luigi1111
894adef295 Merge pull request #8891
842478c core_rpc_server: return ID of submitted block (jeffro256)
2023-08-17 10:18:12 -05:00
j-berman
f137a35984 Enforce restricted # pool txs served via RPC + optimize chunked reqs [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.
2023-07-09 08:38:18 +02:00
rbrunner7
23f782b211 wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to 1 call [release-v0.18] 2023-07-09 08:30:53 +02:00
jeffro256
842478c5a9 core_rpc_server: return ID of submitted block 2023-06-30 15:32:49 -05:00
tevador
5900ed3706 Add a size limit for tx_extra in tx pool 2023-03-18 20:01:58 +01:00
j-berman
864a78ee5f wallet2: check wallet compatibility with daemon's hard fork version 2022-09-12 21:23:08 -06:00
selsta
93db74a91e rpc: skip bootstrap nodes that are lower than last checkpoint 2022-09-06 22:09:39 +02:00
j-berman
8460fcc32b Revert "Merge pull request #7937"
This reverts commit 50410d1f7d, reversing
changes made to d054def63f.
2022-06-13 18:44:09 +01:00
Jeffrey Ryan
1ddb1ee819 Give better error messages when missing SSL files
While copying my data dir to another drive, I missed copying the rpc_ssl.key file b/c of the file permissions.
This change will give a much more clear, descriptive error in that scenario.
2022-05-05 21:48:19 -05:00
moneromooo-monero
9209880e9c add a sanity check to RPC input data size
reported by m31007
2022-04-21 22:22:56 +00:00
Jeffrey
40f02f9d73 Add Include statements 2022-04-18 09:55:20 -05:00
moneromooo-monero
b030f20751 Fee changes from ArticMine
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
2022-04-10 18:13:34 +00:00
luigi1111
0eb1b570b6 Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
luigi1111
50410d1f7d Merge pull request #7937
83bb027 Make RPC server functions that read db thread safe (j-berman)
2022-04-06 00:02:47 -04:00
j-berman
83bb02745a Make RPC server functions that read db thread safe
- grab an lmdb db_rtxn_guard to ensure consistent data from the db
- fixed on_getblockhash error resp when requested height >= blockchain height
- left functions that read shared memory untouched for now
2022-04-05 20:20:12 -07:00
mj-xmr
da9aa1f7f8 Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
tobtoht
5e201fedc5 rpc: add explicit restricted flag to /get_info 2022-02-07 17:59:22 +01:00
luigi1111
55fc2335a4 Merge pull request #7943
3a90be4 rpc: don't set error code as status string (selsta)
2021-11-30 17:00:20 -05:00
luigi1111
105e2304a2 Merge pull request #8083
e8e507f rpc: fix DoS vector in get_output_distribution (moneromooo-monero)
2021-11-26 23:05:31 -06:00
Howard Chu
0221b01519 Add calcpow RPC
Calculate PoW hash for a block candidate
2021-11-20 18:52:05 +00:00
moneromooo-monero
e8e507f36f rpc: fix DoS vector in get_output_distribution
This will prevent people spending old pre-rct outputs using a
stranger's node, which may be a good thing
2021-10-24 17:17:12 +00:00
luigi1111
a6367693c7 Merge pull request #7960
2e8936f rpc: Fix get_transactions failing when not found (Nathan Dorfman)
2021-10-11 12:59:32 -05:00
luigi1111
298c9a357f Merge pull request #7891
dfee15e RPC and ZeroMQ APIs to support p2pool (SChernykh)
2021-09-23 22:10:03 -05:00
Nathan Dorfman
2e8936f614 rpc: Fix get_transactions failing when not found 2021-09-20 17:32:01 -06:00
selsta
3a90be4bd6 rpc: don't set error code as status string 2021-09-15 08:57:41 +02:00
SChernykh
dfee15eee1 RPC and ZeroMQ APIs to support p2pool
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
2021-09-11 15:15:07 +02:00
luigi1111
7848a467c5 Merge pull request #7616
4ced092 daemon: allow proxy configuration (anon, selsta, tobtoht)
2021-09-09 15:09:51 -04:00
anon
4ced092aae daemon: allow proxy configuration
Co-authored-by: selsta <selsta@sent.at>
Co-authored-by: tobtoht <thotbot@protonmail.com>
2021-08-20 21:24:29 +02:00
luigi1111
a1a3e970f7 Merge pull request #7662
4da1112 rpc: send confirmations in get_transactions result (moneromooo-monero)
2021-06-10 11:34:20 -05:00
luigi1111
288e5ec350 Merge pull request #7384
494f2e1 rpc: fix some error return codes/status (moneromooo-monero)
2021-04-16 12:48:05 -05:00
luigi1111
2218e23e84 Merge pull request #7002
673c6d2 Reduce compilation time of epee/portable_storage_template_helper.h (mj-xmr)
2021-04-16 12:43:42 -05:00
moneromooo-monero
4da1112967 rpc: send confirmations in get_transactions result
if the wallet does it, it would get a wrong result (possibly even
negative) if its local chain is not synced up to the daemon's yet
2021-04-15 15:31:52 +00:00
luigi1111
c2bc829cca Merge pull request #7326
cf266d6 bootstrap_daemon: proxy configuration support (xiphon)
2021-03-29 21:08:36 -04:00
mj-xmr
673c6d2d11 Reduce compilation time of epee/portable_storage_template_helper.h 2021-03-28 15:41:48 +02:00
moneromooo-monero
494f2e1c21 rpc: fix some error return codes/status
Some RPC return an error string in status, and the code must return
true on error (with a status string).
2021-02-15 12:27:19 +00:00
Lee Clagett
2a20434705 Fix monerod --rpc-ssl disabled 2021-01-28 17:53:47 +00:00
luigi1111
602926fe9d Merge pull request #7366
9867a91 Store RPC SSL key/cert for consistent authentication between runs (Lee Clagett)
2021-03-20 01:38:03 -04:00
luigi1111
8d7c1135b8 Merge pull request #6810
19b2283 New add_aux_pow RPC to support merge mining (moneromooo-monero)
2021-03-20 01:33:10 -04:00
Lee Clagett
9867a913dc Store RPC SSL key/cert for consistent authentication between runs 2021-02-13 20:26:26 +00:00
moneromooo-monero
19b228393f New add_aux_pow RPC to support merge mining 2021-02-09 11:58:21 +00:00
Kevin Barbour
85db1734e7 Remove unused variables in monero codebase
There are quite a few variables in the code that are no longer
(or perhaps never were) in use. These were discovered by enabling
compiler warnings for unused variables and cleaning them up.

In most cases where the unused variables were the result
of a function call the call was left but the variable
assignment removed, unless it was obvious that it was
a simple getter with no side effects.
2021-02-09 08:05:05 +01:00
xiphon
cf266d66dd bootstrap_daemon: proxy configuration support 2021-01-21 13:45:44 +00:00
luigi1111
5c497ed22f Merge pull request #7112
47590fc rpc: report target height as 0 when synced (moneromooo-monero)
2021-01-15 23:43:46 -05:00
moneromooo-monero
1eb14af1a3 rpc: limit the number of txes for get_blocks.bin 2020-12-29 04:31:58 +00:00
moneromooo-monero
d2fda6c25f restrict public node checks a little
do not include blocked hosts in peer lists or public node lists by default,
warn about no https on clearnet and about untrusted peers likely being spies
2020-12-22 23:39:07 +00:00
moneromooo-monero
5a1ac9c0ef rpc: add a busy_syncing field to get_info
true if and pretty much only if new blocks are being added
2020-12-17 18:03:11 +00:00
moneromooo-monero
d660f22ed1 protocol: drop origin IP if a block fails to verify in sync mode
It would otherwise be possible for a peer to send bad blocks,
then disconnect and reconnect again, escaping bans
2020-12-10 21:59:18 +00:00
moneromooo-monero
47590fc80b rpc: report target height as 0 when synced
since it only makes sense when syncing, and it confuses people
2020-12-10 17:05:34 +00:00
Alexander Blair
ce564e7ebf Merge pull request #7030
0363476ee rpc: get_info - add 'synchronized' field (xiphon)
2020-12-04 13:21:36 -08:00