summaryrefslogtreecommitdiff
path: root/src/cryptonote_basic
Commit message (Collapse)AuthorAgeFilesLines
* serialization: fix infinite loops and clean up dispatchingjeffro2562024-02-081-4/+4
| | | | Resolves #8687
* Merge pull request #8845luigi11112023-06-271-1/+1
|\ | | | | | | cfc6227 cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE] (jeffro256)
| * cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE]jeffro2562023-06-021-1/+1
| |
* | Fixed RandomX initialization when mining from scratchSChernykh2023-04-271-1/+8
|/
* cryptonote core/protocol: don't drop peers for soft offensesjeffro2562023-03-291-1/+6
| | | | | | Also: txs with tx_extra which is too large will not get published to ZMQ Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
* Add a size limit for tx_extra in tx pooltevador2023-03-181-0/+1
|
* Refactored rx-slow-hash.cSChernykh2022-12-141-2/+3
| | | | | | | | | - 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
* wallet2: check wallet compatibility with daemon's hard fork versionj-berman2022-09-121-0/+5
|
* ledger support for hf 15 (BP+, view tags)j-berman2022-08-062-7/+15
|
* cryptonote_basic: catch crypto api errorsmoneromooo-monero2022-06-201-2/+2
|
* src, epee: fix a couple compiler warningsselsta2022-05-171-2/+0
|
* Preserve commitment format inside transactionsLuke Parker2022-04-211-1/+1
|
* Merge pull request #8061luigi11112022-04-194-30/+170
|\ | | | | | | ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
| * Add view tags to outputs to reduce wallet scanning timej-berman2022-04-184-30/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Move copyable_atomic into connection_contextJeffrey2022-04-181-4/+35
|/ | | | | Relevant commit from old PR: bd0a5119957d3ef9130a0b82599e1696995ef235
* Merge pull request #8207luigi11112022-04-181-14/+1
|\ | | | | | | 4db6aed CMake: Add missing headers via monero_find_all_headers macro (mj-xmr)
| * CMake: Add missing headers via monero_find_all_headers macromj-xmr2022-04-061-14/+1
| |
* | Fee changes from ArticMinemoneromooo-monero2022-04-102-0/+65
|/ | | | | | 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
* Merge pull request #8223luigi11112022-04-062-10/+9
|\ | | | | | | 17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
| * Eliminate dependence on boost::interprocess #8223Jeffrey2022-03-302-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of `boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example, when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so I replaced it with `std::atomic<bool>`. You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211. Additional changes from review: * Make some local variables const * Change postfix operators to prefix operators where value was not need
* | Merge pull request #8197luigi11112022-04-0627-27/+32
|\ \ | | | | | | | | | da9aa1f Copyright: Update to 2022 (mj-xmr)
| * | Copyright: Update to 2022mj-xmr2022-03-0427-27/+32
| |/
* | store outPk/8 in the tx for speedmoneromooo-monero2022-04-051-1/+1
| | | | | | | | | | | | It avoids dividing by 8 when deserializing a tx, which is a slow operation, and multiplies by 8 when verifying and extracing the amount, which is much faster as well as less frequent
* | plug bulletproofs plus into consensusmoneromooo-monero2022-04-052-14/+65
|/
* multisig key exchange update and refactorkoe2022-02-223-7/+20
|
* RPC and ZeroMQ APIs to support p2poolSChernykh2021-09-113-0/+4
| | | | | | | | | | | | | | | | | | | | 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
* cmake: fix undefined symbols and multiple definitionsanon2021-07-133-16/+58
|
* Improve cryptonote (block and tx) binary read performanceLee Clagett2021-01-234-67/+26
|
* Split epee/string_tools.h and encapsulate boost::lexical_castmj-xmr2021-04-161-0/+1
|
* Merge pull request #7002luigi11112021-04-161-0/+1
|\ | | | | | | 673c6d2 Reduce compilation time of epee/portable_storage_template_helper.h (mj-xmr)
| * Reduce compilation time of epee/portable_storage_template_helper.hmj-xmr2021-03-281-0/+1
| |
* | cryptonote_protocol_handler: fix race conditionanon2021-03-221-0/+2
|/
* Merge pull request #6810luigi11112021-03-205-0/+157
|\ | | | | | | 19b2283 New add_aux_pow RPC to support merge mining (moneromooo-monero)
| * New add_aux_pow RPC to support merge miningmoneromooo-monero2021-02-095-0/+157
| |
* | Remove unused variables in monero codebaseKevin Barbour2021-02-091-1/+0
|/ | | | | | | | | | | 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.
* Command max_bytes moved from dynamic map to static switchLee Clagett2020-12-223-22/+75
|
* add a max levin packet size by command typemoneromooo-monero2021-01-031-0/+23
|
* Add aggressive restrictions to pre-handshake p2p buffer limitLee Clagett2020-12-171-0/+2
|
* cryptonote_basic: guess what got lost porting patches to branches againmoneromooo-monero2020-12-261-1/+1
|
* protocol: drop nodes if they claim new data but only give stale datamoneromooo-monero2020-12-251-1/+2
| | | | Some joker is spending time actually doing this
* protocol: stricter checks on received chain hash listmoneromooo2020-12-111-0/+1
|
* protocol: drop peers that don't reply to queriesmoneromooo2020-12-061-1/+3
|
* protocol: add scoring system to drop peers that don't behavemoneromooo2020-12-041-2/+2
|
* Merge pull request #6111Riccardo Spagni2020-09-062-7/+9
|\ | | | | | | | | | | d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero) 6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero) 9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
| * core: fix mining from a block that's not the current topmoneromooo-monero2020-08-272-7/+9
| |
* | Integrate CLSAGs into moneromoneromooo-monero2020-08-272-8/+28
|/ | | | They are allowed from v12, and MLSAGs are rejected from v13.
* Merge pull request #6690Alexander Blair2020-08-273-3/+1
|\ | | | | | | 7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
| * replace most boost serialization with existing monero serializationmoneromooo-monero2020-08-173-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the attack surface for data that can come from malicious sources (exported output and key images, multisig transactions...) since the monero serialization is already exposed to the outside, and the boost lib we were using had a few known crashers. For interoperability, a new load-deprecated-formats wallet setting is added (off by default). This allows loading boost format data if there is no alternative. It will likely go at some point, along with the ability to load those. Notably, the peer lists file still uses the boost serialization code, as the data it stores is define in epee, while the new serialization code is in monero, and migrating it was fairly hairy. Since this file is local and not obtained from anyone else, the marginal risk is minimal, but it could be migrated later if needed. Some tests and tools also do, this will stay as is for now.
* | Merge pull request #6613Alexander Blair2020-08-273-31/+35
|\ \ | | | | | | | | | 55363c594 Avoid some temporary strings when reading off the database (moneromooo-monero)
| * | Avoid some temporary strings when reading off the databasemoneromooo-monero2020-08-173-31/+35
| |/