675 Commits

Author SHA1 Message Date
jeffro256
7194506792
Blockchain: remove old fee calc logic 2024-03-10 13:30:46 -05:00
selsta
f7670c9387
cryptonote_core: early out on out of bounds scaling parameter 2024-02-21 00:02:27 +01:00
Boog900
65839b5ac1
Fix: long term block weight cache
The long term block weight cache was doing a wrong calculation when
adding a new block to the cache.
2023-10-01 13:40:06 +01:00
Crypto City
d391ac0f7e
blockchain: ensure base fee cannot reach 0
reported by sech1
2023-05-11 13:47:57 +00:00
luigi1111
9bf06ea75d
Merge pull request #8698
5b4fea7 Copyright: Update to 2023 (mj-xmr)
2023-04-25 11:12:56 -04:00
luigi1111
55fddad446
Merge pull request #8707
7159f92 verRctNonSemanticsSimpleCached: fix fragility (Jeffrey Ryan)
2023-03-18 18:17:05 -04:00
luigi1111
a511202222
Merge pull request #8076
c4af33e Enforce restricted # pool txs served via RPC + optimize chunked reqs (j-berman)
9752116 wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to 1 call (rbrunner7)
2023-03-18 17:58:27 -04:00
Jeffrey Ryan
7159f92a57 verRctNonSemanticsSimpleCached: fix fragility 2023-03-17 18:45:35 -05:00
j-berman
c4af33eded Enforce restricted # pool txs served via RPC + optimize chunked reqs
- `/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-03-07 20:35:45 +01:00
mj-xmr
5b4fea72cf Copyright: Update to 2023
Co-authored-by: plowsof <plowsof@protonmail.com>
extra files
2023-01-16 13:00:18 +01:00
luigi1111
50aa0e8b7f
Merge pull request #8675
1a568de Cache successful erRctNonSemanticsSimple calls (SChernykh)
2023-01-11 12:27:40 -05:00
luigi1111
75d80d431a
Merge pull request #8686
7a3a593 common: move boost_serialization_helper.h out and cleanup includes (Jeffrey Ryan)
2023-01-11 12:13:48 -05:00
SChernykh
dab7d01dc0 Refactored rx-slow-hash.c
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)`
- Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens
- `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance)
- New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification)
- When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then)
- When mining is running, PoW checks now also use dataset for faster verification
2023-01-09 07:43:07 +01:00
Jeffrey Ryan
7a3a593a77 common: move boost_serialization_helper.h out and cleanup includes 2022-12-22 12:18:02 -06:00
SChernykh
1a568deacb Cache successful verRctNonSemanticsSimple calls 2022-12-20 22:16:39 +01:00
luigi1111
45ffdc26a6
Merge pull request #8517
6f0fb76 blockchain: fix invalid memory read getting fee on empty chain (Crypto City)
2022-10-28 00:46:19 -04:00
SChernykh
28f25c0dbc Second thread pool for IO 2022-09-20 09:59:58 +02:00
Crypto City
6f0fb76025
blockchain: fix invalid memory read getting fee on empty chain 2022-08-19 14:39:27 +00:00
selsta
fe5d1bef56
build: prepare v0.18.0.0 2022-07-13 22:07:31 +02:00
luigi1111
e13244ea9c
Merge pull request #8178
5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
2022-04-25 10:18:26 -05:00
j-berman
5d388eb74d Bump ring size to 16 for v15 & remove set default in wallet cli 2022-04-18 14:36:28 -07:00
j-berman
ea87b30f89 Add view tags to outputs to reduce wallet scanning time
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.
2022-04-18 00:49:53 -07: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
627f04c19a
Merge pull request #8212
591c174 Remove footgun doc comment in miner TX validation (Luke Parker)
2022-04-06 00:14:44 -04:00
luigi1111
0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero
a0d80b1f95
plug bulletproofs plus into consensus 2022-04-05 18:50:17 +00:00
Luke Parker
591c174235
Remove footgun doc comment in miner TX validation
This comment suggests this check is unnecessary, when it is completely necessary as miner TXs can have multiple outputs *which is a statement directly, and incorrectly, contradicted by this comment*. While I don't ever see someone removing this code and getting their edits merged into Monero, someone inexperienced who thinks they're cleaning old code may break their own work, and then there's really just zero benefit to keeping this around.
2022-03-10 14:08:30 -06:00
mj-xmr
da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
moneromooo-monero
bbe3b276b8
tx_pool: full tx revalidation on fork boundaries
avoids mining txes after a fork that are invalid by this fork's
rules, but were valid by the previous fork rules at the time
they were verified and added to the txpool.
2021-11-01 20:56:38 +00:00
selsta
48a0997d8c
blockchain: fix pedantic assert 2021-10-11 19:09:45 +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
9903b35345
Merge pull request #7754
8ff21e1 doc: update IRC references to Libera (fdov)
2021-07-10 17:59:23 -04:00
luigi1111
3366bd81eb
Merge pull request #7612
254a133 core: speed up print_coinbase_tx_sum (moneromooo-monero)
2021-06-24 13:59:44 -05:00
fdov
8ff21e1e84
doc: update IRC references to Libera 2021-06-20 21:44:45 +02:00
luigi1111
667d3dd4c2
Merge pull request #7684
ed6f053 blockchain: speed up repeated pops (mostly in tests) (moneromooo-monero)
2021-06-10 11:46:27 -05:00
mj-xmr
a1c4307128
Warnings: unused variable in core/blockchain.cpp 2021-05-08 12:04:19 +02:00
moneromooo-monero
ed6f05357c
blockchain: speed up repeated pops (mostly in tests)
The heavy rolling median reset only has to be performed after
all blocks are popped
2021-04-26 14:07:35 +00:00
moneromooo-monero
254a1338ad
core: speed up print_coinbase_tx_sum
It only needs to parse the tx headers, not the full tx data
2021-03-18 11:16:08 +00:00
luigi1111
6556c33f13
Merge pull request #7355
bd12984 Remove copies from foreach loops (thanks to Clang) (Lee Clagett)
1572df9 Removing unused namespace alias (Lee Clagett)
2021-02-18 14:06:47 -05: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
Lee Clagett
bd129849f0 Remove copies from foreach loops (thanks to Clang) 2021-01-28 23:42:40 -05:00
Lee Clagett
679d05567d Remove payload copy in all outgoing p2p messages 2021-01-19 02:22:32 +00:00
luigi1111
e45619e61e Revert "Merge pull request #7136"
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing
changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f.
2021-04-16 13:52:44 -05:00
Lee Clagett
23aae5571b Remove payload copy in all outgoing p2p messages 2021-01-16 22:53:28 +00:00
moneromooo-monero
1e27f7101e
blockchain: lock access to m_blocks_hash_of_hashes
it is accessed both when adding and when prevalidating a set
of new hashes from a peer
2021-01-02 22:19:54 +00:00
moneromooo-monero
0aa541b361
protocol: more sanity checks in new chain block hashes 2020-12-31 23:33:18 +00:00
moneromooo-monero
1eb14af1a3
rpc: limit the number of txes for get_blocks.bin 2020-12-29 04:31:58 +00:00
luigi1111
4d298d4f11
Merge pull request #6924
874487f blockchain: remove some dead code (moneromooo-monero)
2020-11-29 01:44:26 -06:00
moneromooo-monero
874487fed8
blockchain: remove some dead code
This is already done
2020-10-20 16:50:36 +00:00
SChernykh
a25bc71f3f Make Blockchain::get_fee_quantization_mask() compile time
This also removes potential thread safety bug in that function.
2020-10-20 14:16:09 +02:00