summaryrefslogtreecommitdiff
path: root/tests/core_tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #6111Riccardo Spagni2020-09-061-3/+3
|\ | | | | | | | | | | 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-271-3/+3
| |
* | core_tests: fix failures after v13moneromooo-monero2020-08-284-13/+21
| | | | | | | | | | v13 enforces claiming the full block reward, so we need to keep track of tx fees to add them to the coinbase
* | core_tests: remove hardcoded hf versionmoneromooo-monero2020-08-281-1/+1
| |
* | Integrate CLSAGs into moneromoneromooo-monero2020-08-2710-79/+466
|/ | | | They are allowed from v12, and MLSAGs are rejected from v13.
* Merge pull request #6760Alexander Blair2020-08-273-0/+30
|\ | | | | | | 844fb4e94 enforce claiming maximum coinbase amount (moneromooo-monero)
| * enforce claiming maximum coinbase amountmoneromooo-monero2020-08-213-0/+30
| | | | | | | | | | Claiming a slightly lesser amount does not yield the size gains that were seen pre rct, so this closes a fingerprinting vector
* | replace most boost serialization with existing monero serializationmoneromooo-monero2020-08-171-2/+0
|/ | | | | | | | | | | | | | | | | | | | | | 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 #6512Alexander Blair2020-07-1935-35/+35
|\ | | | | | | 5ef0607da Update copyright year to 2020 (SomaticFanatic)
| * Update copyright year to 2020SomaticFanatic2020-05-0635-35/+35
| | | | | | | | Update copyright year to 2020
* | Fix boost <1.60 compilation and fix boost 1.73+ warningsLee Clagett2020-05-311-2/+3
| |
* | build: fix boost 1.73 compatibilityselsta2020-05-141-2/+2
|/
* Adding Dandelion++ support to public networks:Lee Clagett2020-03-264-2/+44
| | | | | | - New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode - Stem loops detected in tx_pool.cpp - Embargo timeout for a blackhole attack during stem phase
* Correct key image check in tx_poolLee Clagett2020-03-143-0/+64
|
* Merge pull request #6061Alexander Blair2020-02-284-5/+0
|\ | | | | | | f1091c41 core_tests: remove some useless verbose logs (moneromooo-monero)
| * core_tests: remove some useless verbose logsmoneromooo-monero2019-10-304-5/+0
| |
* | Merge pull request #6300Alexander Blair2020-01-241-4/+10
|\ \ | | | | | | | | | 6f330865 fix tests bug added in #6110 (Dusan Klinec)
| * | fix tests bug added in #6110Dusan Klinec2020-01-191-4/+10
| | | | | | | | | | | | | | | | | | - e.g., fixes gen_block_big_major_version test, error: generation failed: what=events not set, cannot compute valid RandomX PoW - ask for events only if difficulty > 1 (when it really matters) - throwing an exception changed to logging, so it is easy to spot a problem if tests start to fail.
* | | Merge pull request #6146Alexander Blair2020-01-241-2/+2
|\ \ \ | |/ / |/| | | | | 70c9cd3c Change to Tx diffusion (Dandelion++ fluff) instead of flooding (Lee Clagett)
| * | Change to Tx diffusion (Dandelion++ fluff) instead of floodingLee Clagett2019-11-041-2/+2
| | |
* | | Merge pull request #6115Alexander Blair2020-01-161-0/+2
|\ \ \ | | | | | | | | | | | | 27522aaa core_tests: reset thread pool between tests (moneromooo-monero)
| * | | core_tests: reset thread pool between testsmoneromooo-monero2019-11-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids a DB error (leading to an assert) where a thread uses a read txn previously created with an environment that was since closed and reopened. While this usually works since BlockchainLMDB renews txns if it detects the environment has changed, this will not work if objects end up being allocated at the same address as the previous instance, leading to stale data usage. Thanks hyc for the LMDB debugging.
* | | | Merge pull request #6110Alexander Blair2020-01-113-22/+180
|\ \ \ \ | |_|/ / |/| | | | | | | da6c807f tests: fix HF12 chaingen - construct bc object from events (Dusan Klinec)
| * | | tests: fix HF12 chaingen - construct bc object from eventsDusan Klinec2019-11-133-22/+180
| |/ /
* / / Adding support for hidden (anonymity) txpoolLee Clagett2019-11-027-22/+723
|/ /
* / cryptonote: untangle dependency from miner to blockchainmoneromooo-monero2019-10-311-2/+6
|/ | | | It causes link errors at least on mac
* Merge pull request #5915luigi11112019-10-081-5/+13
|\ | | | | | | 8330e77 monerod can now sync from pruned blocks (moneromooo-monero)
| * monerod can now sync from pruned blocksmoneromooo-monero2019-09-271-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the peer (whether pruned or not itself) supports sending pruned blocks to syncing nodes, the pruned version will be sent along with the hash of the pruned data and the block weight. The original tx hashes can be reconstructed from the pruned txes and theur prunable data hash. Those hashes and the block weights are hashes and checked against the set of precompiled hashes, ensuring the data we received is the original data. It is currently not possible to use this system when not using the set of precompiled hashes, since block weights can not otherwise be checked for validity. This is off by default for now, and is enabled by --sync-pruned-blocks
* | RandomX integrationHoward Chu2019-09-251-2/+2
| | | | | | | | Support RandomX PoW algorithm
* | Merge pull request #5882luigi11112019-09-243-6/+40
|\ \ | | | | | | | | | a444f06 blockchain: enforce 10 block age for spending outputs (moneromooo-monero)
| * | blockchain: enforce 10 block age for spending outputsmoneromooo-monero2019-09-173-6/+40
| | | | | | | | | | | | | | | Some custom wallet code apparently ignores this, which causes users of that code to be fingerprinted
* | | Merge pull request #5877luigi11112019-09-241-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | 2cd4fd8 Changed the use of boost:value_initialized for C++ list initializer (JesusRami) 4ad191f Removed unused boost/value_init header (whyamiroot) 928f4be Make null hash constants constexpr (whyamiroot)
| * | Changed the use of boost:value_initialized for C++ list initializerJesus Ramirez2019-09-021-2/+2
| |/
* / blockchain: forbid v1 coinbase from v12moneromooo-monero2019-08-193-0/+28
|/
* add a few checks where it seems appropriatemoneromooo-monero2019-04-292-0/+2
|
* Remove unneeded SFINAE on check_tx/block verification in core_testsDoyle2019-04-173-77/+28
|
* Merge pull request #5409Riccardo Spagni2019-04-164-5/+5
|\ | | | | | | ac874e2d tests: fix test_options initialization error (Dusan Klinec)
| * tests: fix test_options initialization errorDusan Klinec2019-04-074-5/+5
| |
* | Merge pull request #5400Riccardo Spagni2019-04-161-2/+17
|\ \ | | | | | | | | | 5e673c03 blockchain_db: fix db txn ending too early (moneromooo-monero)
| * | blockchain_db: fix db txn ending too earlymoneromooo-monero2019-04-141-2/+17
| |/ | | | | | | | | | | | | | | | | | | The db txn in add_block ending caused the entire overarching batch txn to stop. Also add a new guard class so a db txn can be stopped in the face of exceptions. Also use a read only db txn in init when the db itself is read only, and do not save the max tx size in that case.
* / tests: trezor tests fixes and improvementsDusan Klinec2019-04-101-1/+1
|/ | | | - configurable hardforks via env vars
* Merge pull request #5211Riccardo Spagni2019-03-212-6/+4
|\ | | | | | | | | | | c9b13fbb tests/trezor: HF9 and HF10 tests (Dusan Klinec) a1fd1d49 device/trezor: HF10 support added, wallet::API (Dusan Klinec) d74d26f2 crypto: hmac_keccak added (Dusan Klinec)
| * tests/trezor: HF9 and HF10 testsDusan Klinec2019-03-202-6/+4
| | | | | | | | | | | | | | | | | | - tests fixes for HF10, builder change, rct_config; fix_chain - get_tx_key test - proper testing after live refresh added - live refresh synthetic test - log available funds for easier test construction - wallet::API tests with mocked daemon
* | Merge pull request #5061Riccardo Spagni2019-03-1733-33/+33
|\ \ | |/ |/| | | 1f2930ce Update 2019 copyright (binaryFate)
| * Update 2019 copyrightbinaryFate2019-03-0533-33/+33
| |
* | Merge pull request #4977Riccardo Spagni2019-03-145-110/+1353
|\ \ | |/ |/| | | 5ea17909 device/trezor: debugging features, trezor tests (Dusan Klinec)
| * device/trezor: debugging features, trezor testsDusan Klinec2019-03-055-110/+1353
| |
* | cryptonote: avoid double parsing blocks when syncingmoneromooo-monero2019-03-051-2/+2
| |
* | ArticMine's new block weight algorithmmoneromooo-monero2019-03-041-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
* ringct: encode 8 byte amount, saving 24 bytes per outputmoneromooo-monero2019-01-221-1/+1
| | | | Found by knaccc