aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-09-04Merge pull request #5819luigi11111-1/+2
07cb087 blockchain: Fix alt chain generated coins overflow (iamamyth)
2019-08-21Merge pull request #5755luigi11111-2/+2
7a3e458 improve tx_sanity_check clarification (vicsn)
2019-08-21Merge pull request #5750luigi11111-0/+15
884df82 wallet: provide original address for outgoing transfers (xiphon)
2019-08-19Merge pull request #5727luigi11111-1/+1
7b9a420 Replace std::random_shuffle with std::shuffle (tomsmeding)
2019-08-19Merge pull request #5721luigi11112-43/+12
c164f90 Remove unnecessary m_check_txin_table, fix const correctness (omartijn)
2019-08-18blockchain: Fix alt chain generated coins overflowiamamyth1-1/+2
Apply the overflow logic used for computing already_generated_coins in the main chain to alternative chains.
2019-08-15Merge pull request #5637luigi11111-1/+1
69f9420 core: do not complain about low block rate if disconnected (moneromooo-monero)
2019-08-15Replace std::random_shuffle with std::shuffleTom Smeding1-1/+1
According to [1], std::random_shuffle is deprecated in C++14 and removed in C++17. Since std::shuffle is available since C++11 as a replacement and monero already requires C++11, this is a good replacement. A cryptographically secure random number generator is used in all cases to prevent people from perhaps copying an insecure std::shuffle call over to a place where a secure one would be warranted. A form of defense-in-depth. [1]: https://en.cppreference.com/w/cpp/algorithm/random_shuffle
2019-08-14Merge pull request #5525luigi11112-4/+4
0605406 daemon: sort alt chains by height (moneromooo-monero) 4228ee0 daemon: add optional arguments to alt_chain_info (moneromooo-monero) 880ebfd daemon: add more chain specific info in alt_chain_info (moneromooo-monero)
2019-08-14Merge pull request #5487luigi11111-0/+13
df83ed7 consensus: from v12, enforce >= 2 outputs (moneromooo-monero)
2019-07-24Merge pull request #5635luigi11111-1/+1
03aa14e tx_sanity_check: don't print an error when not enough outs to check (monermooo-monero)
2019-07-24Merge pull request #5591luigi11111-2/+0
f17dcde Remove unused txs member in NOTIFY_RESPONSE_GET_OBJECT (Doy-lee)
2019-07-24Merge pull request #5585luigi11112-2/+0
270a3ae Unused private member m_miner_address (JesusRami)
2019-07-24Merge pull request #5524luigi11113-93/+140
06b8f29 blockchain: keep alternative blocks in LMDB (moneromooo-monero)
2019-07-24Merge pull request #5502luigi11112-6/+4
25a7cfd add a few checks where it seems appropriate (moneromooo-monero) 1a66a86 remove unused code (moneromooo-monero)
2019-07-18update checkpoints.dat hashRiccardo Spagni1-1/+1
2019-07-15improve tx_sanity_check clarificationvicsn1-2/+2
2019-07-15Remove unused txs member in NOTIFY_RESPONSE_GET_OBJECTDoyle1-2/+0
2019-07-10wallet: provide original address for outgoing transfersxiphon1-0/+15
2019-07-04Merge pull request #5663luigi11111-1/+1
5d6b43b core: fix --prune-blockchain not pruning if no blockchain exists (moneromooo-monero)
2019-07-04Merge pull request #5650luigi11111-4/+8
3c071d2 blockchain: silence an error getting blocks for pruned nodes (moneromooo-monero)
2019-07-03Remove unnecessary m_check_txin_table, fix const correctnessMartijn Otto2-43/+12
2019-06-19tx_sanity_check: relax the median check a lotmoneromooo-monero1-1/+1
we don't want to prevent bona fide txes, just obvious bad ones
2019-06-17core: fix --prune-blockchain not pruning if no blockchain existsmoneromooo-monero1-1/+1
2019-06-16blockchain: silence an error getting blocks for pruned nodesmoneromooo-monero1-4/+8
This happens often when a pre-pruning node asks a pruned node for data it does not have
2019-06-14prep for 0.14.1 releaseRiccardo Spagni1-1/+1
2019-06-13core: do not complain about low block rate if disconnectedmoneromooo-monero1-1/+1
In that case, we'll still keep the "Monero is now disconnected from the network" near the end of the log
2019-06-12tx_sanity_check: don't print an error when not enough outs to checkmoneromooo-monero1-1/+1
2019-06-01Merge pull request #5577Riccardo Spagni1-1/+7
f950517a core: update pruning if using --prune-blockchain on a pruned blockchain (moneromooo-monero)
2019-06-01Merge pull request #5571Riccardo Spagni3-14/+38
35da33be blockchain: do not try to pop blocks down to the genesis block (moneromooo-monero) 4b51f9a3 core: do not commit half constructed batch db txn (moneromooo-monero)
2019-05-29Unused private member m_miner_addressJesus Ramirez2-2/+0
2019-05-28core: update pruning if using --prune-blockchain on a pruned blockchainmoneromooo-monero1-1/+7
Avoids a massive amount of spurious warnings if the last update before the daemon exited was a while ago and the daemon was syncing
2019-05-26blockchain: do not try to pop blocks down to the genesis blockmoneromooo-monero1-0/+3
2019-05-25core: do not commit half constructed batch db txnmoneromooo-monero3-14/+35
2019-05-19Fix #5553Howard Chu1-1/+2
Make sure the tip hash still matches the cached block
2019-05-09daemon: sort alt chains by heightmoneromooo-monero2-4/+4
2019-05-08blockchain: keep alternative blocks in LMDBmoneromooo-monero3-93/+140
Alternative blocks are cleared on startup unless --keep-alt-blocks is passed on the command line
2019-05-07Merge pull request #5510Riccardo Spagni1-2/+2
e9809382 fix wide difficulty conversion with some versions of boost (moneromooo-monero)
2019-05-02blockchain: keep a rolling long term block weight medianmoneromooo-monero2-33/+36
2019-05-01fix wide difficulty conversion with some versions of boostmoneromooo-monero1-2/+2
2019-04-29remove unused codemoneromooo-monero1-6/+2
2019-04-29add a few checks where it seems appropriatemoneromooo-monero1-0/+2
2019-04-23consensus: from v12, enforce >= 2 outputsmoneromooo-monero1-0/+13
2019-04-23tx_sanity_check: relax uniqueness check a bitmoneromooo-monero1-2/+2
It triggers easily on testnet
2019-04-16Merge pull request #5448Riccardo Spagni2-6/+15
d009f6dd rpc: fix get_block_hashes.bin from wallet on pruned blockchain (moneromooo-monero) bb0ef5b1 blockchain: lock the blockchain while pruning (moneromooo-monero)
2019-04-16Merge pull request #5434Riccardo Spagni3-0/+138
ccb996af rpc: new sanity check on relayed transactions (moneromooo-monero)
2019-04-16Merge pull request #5414Riccardo Spagni1-1/+0
e9fac29a unit_tests/long_term_block_weight: some tweaks that seem to make more sense (stoffu) 467f4c7e tests/block_weight: use integer division when computing median (stoffu) 815d08dc tests/block_weight: remove unused MULTIPLIER_SMALL (stoffu) 661f1fb8 blockchain: remove unused calc of short_term_constraint (stoffu)
2019-04-16Merge pull request #5405Riccardo Spagni1-1/+4
ffdbcfb6 core: don't check block rate nor fork time in regtest mode (moneromooo-monero)
2019-04-15rpc: fix get_block_hashes.bin from wallet on pruned blockchainmoneromooo-monero2-6/+11
We want to get all blocks here, even pruned ones
2019-04-15blockchain: lock the blockchain while pruningmoneromooo-monero1-0/+4
2019-04-14blockchain_db: fix db txn ending too earlymoneromooo-monero1-29/+23
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.
2019-04-12rpc: new sanity check on relayed transactionsmoneromooo-monero3-0/+138
This will weed out some transactions with silly rings
2019-04-11functional_tests: add more blockchain related testsmoneromooo-monero4-68/+164
Related to emission, reorgs, getting tx data back, output distribution and histogram
2019-04-11Merge pull request #5380Riccardo Spagni1-0/+2
113e4877 blockchain_stats: fix sign in formatting function (moneromooo-monero) adaea3ea various: remove unused variables (moneromooo-monero) 631ef00e blockchain: some debug info when adding txes-from-block fails (moneromooo-monero)
2019-04-11Merge pull request #5378Riccardo Spagni1-6/+0
eda2661a Allow pruning before v10 (moneromooo-monero)
2019-04-11Merge pull request #5373Riccardo Spagni2-3/+6
aff80e70 blockchain: fix returned height in create_block_template (moneromooo-monero)
2019-04-11Merge pull request #5123Riccardo Spagni2-8/+24
089c7637 cryptonote: rework block blob size sanity check (moneromooo-monero)
2019-04-09blockchain: remove unused calc of short_term_constraintstoffu1-1/+0
2019-04-07core: don't check block rate nor fork time in regtest modemoneromooo-monero1-1/+4
2019-04-06Merge pull request #5346Riccardo Spagni2-5/+9
c84ea299 cryptonote_basic: some more minor speedups (moneromooo-monero) e40eb2ad cryptonote_basic: speedup calculate_block_hash (moneromooo-monero) 547a9708 cryptonote: block parsing + hash calculation speedup (moneromooo-monero) 11604b6d blockchain: avoid unneeded block copy (moneromooo-monero) 8461df04 save some database calls when getting top block hash and height (moneromooo-monero) 3bbc3661 Avoid repeated (de)serialization when syncing (moneromooo-monero)
2019-04-05cryptonote: rework block blob size sanity checkmoneromooo-monero2-8/+24
Use the actual block weight limit, assuming that weight is always greater or equal to size
2019-04-01blockchain: some debug info when adding txes-from-block failsmoneromooo-monero1-0/+2
2019-04-01Merge pull request #5332Riccardo Spagni1-0/+7
7c440915 Add get_tx_proof support, needed for new sanity check (cslashm) 98fdcb2a Add support for V11 protocol with BulletProofV2 and short amount. New scheme key destination contrfol Fix dummy decryption in debug mode (cslashm) 3a981a33 Add application version compatibility check. (cslashm)
2019-04-01Merge pull request #5352Riccardo Spagni2-0/+46
ae6885f6 blockchain: incremental long term block weight cache (moneromooo-monero) 9b687c78 blockchain: simple cache for the long term block weights (moneromooo-monero)
2019-04-01Merge pull request #5317Riccardo Spagni1-1/+17
1730a44f core: improve block rate monitor trigger probabilities (moneromooo-monero)
2019-04-01Merge pull request #5294Riccardo Spagni1-0/+2
77e9815d blockchain: do not try to pop the genesis block (moneromooo-monero)
2019-04-01Allow pruning before v10moneromooo-monero1-6/+0
This check is now not needed anymore, and would prevent people from using --prune-blockchain when starting a new sync
2019-03-30blockchain: fix returned height in create_block_templatemoneromooo-monero2-3/+6
It's now needed for CNv4, and was not retained when cached
2019-03-28blockchain: incremental long term block weight cachemoneromooo-monero1-0/+22
2019-03-28blockchain: simple cache for the long term block weightsmoneromooo-monero2-0/+24
2019-03-28Add support for V11 protocol with BulletProofV2 and short amount.cslashm1-0/+7
New scheme key destination contrfol Fix dummy decryption in debug mode
2019-03-25cryptonote: block parsing + hash calculation speedupmoneromooo-monero2-5/+8
This saves a duplicate serialization step
2019-03-25blockchain: avoid unneeded block copymoneromooo-monero1-1/+2
2019-03-25save some database calls when getting top block hash and heightmoneromooo-monero1-0/+1
2019-03-25Avoid repeated (de)serialization when syncingmoneromooo-monero1-2/+1
2019-03-25core: improve block rate monitor trigger probabilitiesmoneromooo-monero1-1/+17
The original intent of one false positive a week on average was not met, since what we really want is not the probability of having N blocks in T seconds, but either N blocks of fewer in T seconds, or N blocks or more in T seconds. Some of this could be cached since it calculates the same fairly complex floating point values, but it seems pretty fast already.
2019-03-24Make difficulty 128 bit instead of 64 bitmoneromooo-monero2-3/+7
Based on Boolberry work by: jahrsg <jahr@jahr.me> cr.zoidberg <crypto.zoidberg@gmail.com>
2019-03-21cryptonote: fix calculating coinbase tx hashmoneromooo-monero1-0/+2
Also set error flag on exception when handling new txes to keep tests working
2019-03-21Merge pull request #5256Riccardo Spagni2-15/+24
4b21d38d blockchain: speed up getting N blocks weights/long term weights (moneromooo-monero)
2019-03-17Merge pull request #5061Riccardo Spagni10-10/+10
1f2930ce Update 2019 copyright (binaryFate)
2019-03-15blockchain: do not try to pop the genesis blockmoneromooo-monero1-0/+2
2019-03-10blockchain: fix ahead of time PoW batch calcmoneromooo-monero1-2/+2
2019-03-08blockchain: speed up getting N blocks weights/long term weightsmoneromooo-monero2-15/+24
2019-03-07Merge pull request #5232Riccardo Spagni1-1/+1
082149c5 fix merge errors, update recommended version to 0.14.0.2 (Riccardo Spagni) f3b368c6 update checkpoints hash (Riccardo Spagni) e518f2b1 update checkpoints, update README for 0.14.1 release (Riccardo Spagni) 8780d6b4 update readme via cherry-pick (Riccardo Spagni)
2019-03-05Update 2019 copyrightbinaryFate10-10/+10
2019-03-05cryptonote: avoid double parsing blocks when syncingmoneromooo-monero2-12/+14
2019-03-05core: avoid double parsing blocks after hohmoneromooo-monero4-16/+23
2019-03-05blockchain: avoid unneeded block copymoneromooo-monero1-1/+2
2019-03-05save some database calls when getting top block hash and heightmoneromooo-monero1-25/+35
2019-03-05blockchain: avoid pointless transaction copy and temporarymoneromooo-monero1-3/+4
2019-03-05blockchain: avoid duplicate block hash computationmoneromooo-monero1-2/+1
2019-03-05core: avoid calculating tx prefix hash when we don't need itmoneromooo-monero2-20/+17
2019-03-05Avoid repeated (de)serialization when syncingmoneromooo-monero4-13/+19
2019-03-05fix merge errors, update recommended version to 0.14.0.2Riccardo Spagni1-1/+1
2019-03-05update checkpoints hashRiccardo Spagni1-2/+2
2019-03-04various: remove unused variablesmoneromooo-monero1-2/+0
2019-03-04Merge pull request #5092Riccardo Spagni1-2/+2
eec79276 blockchain: fix default genesis block timestamp (moneromooo-monero)
2019-03-04blockchain: forbid older BP rct versions from v11moneromooo-monero1-1/+18
2019-03-04Merge pull request #5174Riccardo Spagni1-0/+5
0de14396 tests: add a CNv4 JIT test (moneromooo-monero) 24d281c3 crypto: plug CNv4 JIT into cn_slow_hash (moneromooo-monero) 78ab59ea crypto: clear cache after generating random program (moneromooo-monero) b9a61884 performance_tests: add tests for new Cryptonight variants (moneromooo-monero) fff23bf7 CNv4 JIT compiler for x86-64 and tests (SChernykh) 3dde67d8 blockchain: add v10 fork heights (moneromooo-monero)
2019-03-04Merge pull request #5132Riccardo Spagni2-41/+10
2dbc487e Add support for V10 protocol with BulletProofV2 and short amount. (cslashm) 63cc02c0 Fix dummy decryption in debug mode (cslashm) f0e55ceb fix log namespace (cslashm) 460da140 New scheme key destination contrfol (cslashm)
2019-03-04blockchain: add v10 fork heightsmoneromooo-monero1-0/+5
2019-03-04Print the reason why a notification spec failed to parsemoneromooo-monero1-2/+2
2019-03-04blockchain: include number of discarded blocks in --reorg-notifymoneromooo-monero2-3/+5
2019-03-04core: add a few more block rate window sizesmoneromooo-monero1-1/+1
The 10 minute one will never trigger for 0 blocks, as it's still fairly likely to happen even without the actual hash rate changing much, so we add a 20 minute window, where it will (for 0 blocks) and a one hour window.
2019-03-04core: add --block-rate-notifymoneromooo-monero2-0/+33
This runs a command whenever the block rate deviates too much from the expectation
2019-03-04Merge pull request #5124Riccardo Spagni4-24/+137
b8787f43 ArticMine's new block weight algorithm (moneromooo-monero)
2019-03-04ArticMine's new block weight algorithmmoneromooo-monero4-24/+137
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.
2019-02-08New scheme key destination contrfolcslashm2-41/+10
Implies protocol version management.
2019-02-01cryptonote: Fix enum check in expand_transaction_2Tom Smeding1-1/+1
This was noticed because GCC warned about using an enum value in a boolean context.
2019-02-01cryptonote: Add const-qualifier on comparison functorTom Smeding1-1/+1
The original code did not compile with GCC 8.2.1 in C++17 mode, since comparison functions for std::set's must be invocable as const.
2019-01-28blockchain: add --reorg-notifymoneromooo-monero3-1/+32
This will trigger if a reorg is seen. This may be used to do things like stop automated withdrawals on large reorgs. %s is replaced by the height at the split point %h is replaced by the height of the new chain %n is replaced by the number of new blocks after the reorg
2019-01-28notify: handle arbitrary tagsmoneromooo-monero1-1/+1
2019-01-28Merge pull request #5052Riccardo Spagni4-12/+26
b6534c40 ringct: remove unused senderPk from ecdhTuple (moneromooo-monero) 7d375981 ringct: the commitment mask is now deterministic (moneromooo-monero) 99d946e6 ringct: encode 8 byte amount, saving 24 bytes per output (moneromooo-monero) cdc3ccec ringct: save 3 bytes on bulletproof size (moneromooo-monero) f931e16c add a bulletproof version, new bulletproof type, and rct config (moneromooo-monero)
2019-01-26blockchain: fix default genesis block timestampmoneromooo-monero1-2/+2
2019-01-22add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero4-12/+26
This makes it easier to modify the bulletproof format
2019-01-22Pruningmoneromooo-monero4-3/+185
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2019-01-18Merge pull request #5008Riccardo Spagni2-11/+57
c6d38718 core: include a dummy encrypted payment id when no payment is used (moneromooo-monero) b7441c4a core, wallet: remember original text version of destination address (moneromooo-monero) a9b1c04a crptonote_core: do not error out sending unparsable extra field (moneromooo-monero)
2019-01-18Merge pull request #5048Riccardo Spagni1-1/+2
a67b77a9 blockchain: don't propagate exception past dtor (moneromooo-monero)
2019-01-18core: include a dummy encrypted payment id when no payment is usedmoneromooo-monero1-6/+40
For better transaction uniformity, even though this wastes space.
2019-01-18core, wallet: remember original text version of destination addressmoneromooo-monero1-3/+15
2019-01-18crptonote_core: do not error out sending unparsable extra fieldmoneromooo-monero1-2/+2
extra is arbitrary, and the user may well want to send custom data
2019-01-16Merge pull request #5032Riccardo Spagni1-7/+5
5ee6f037 blockchain: fix wrong hf version when popping multiple blocks (moneromooo-monero) 634d359a blockchain: use the version passed as parameter, not a new one (moneromooo-monero) 94a375d5 hardfork: remove batch transactions setup (moneromooo-monero)
2019-01-16Merge pull request #5015Riccardo Spagni2-59/+5
6f2081f8 cryptonote_core: revert extra_tx_map (moneromooo-monero)
2019-01-16Merge pull request #4993Riccardo Spagni1-1/+3
b8342dd5 blockchain: fix block rate check for empty blockchains (moneromooo-monero)
2019-01-16Merge pull request #4984Riccardo Spagni4-8/+25
008647d7 blockchain_db: speedup tx output gathering (moneromooo-monero)
2019-01-07blockchain: don't propagate exception past dtormoneromooo-monero1-1/+2
Coverity 190660
2019-01-01blockchain: fix wrong hf version when popping multiple blocksmoneromooo-monero1-6/+4
Since we keep track of the hf version in the db, we pick it up from there instead of doing the full reorg call, which is quite expensive
2019-01-01blockchain: use the version passed as parameter, not a new onemoneromooo-monero1-1/+1
2018-12-31Merge pull request #4946luigi11111-8/+15
6644b9b blockchain_db: remove a couple unused functions (moneromooo-monero) ce594f5 blockchain_db: allocate known size vector only once (moneromooo-monero) 8332698 db_lmdb: inline check_open, it's trivial and called everywhere (moneromooo-monero) 5511563 db_lmdb: avoid pointless division (moneromooo-monero) d1efe3d cryptonote: set tx hash on newly parsed txes when known (moneromooo-monero) 9cc68a2 tx_pool: add a few std::move where it can make a difference (moneromooo-monero)
2018-12-31Merge pull request #4940luigi11112-7/+15
9e64a71 blockchain: call deinit in dtor (moneromooo-monero)
2018-12-31Merge pull request #4928luigi11111-5/+3
affff94 blockchain: fix race between two external mining threads (moneromooo-monero)
2018-12-25cryptonote_core: revert extra_tx_mapmoneromooo-monero2-59/+5
While the lookups are faster, the zeroCommit calls have to be done again when storing the new outputs in the db, which ends up making the whole thing slower after all, and the ways this can be cached aren't very nice code wise, so let's forget it since the gains aren't very large anyway.
2018-12-18blockchain: fix block rate check for empty blockchainsmoneromooo-monero1-1/+3
2018-12-18blockchain_db: speedup tx output gatheringmoneromooo-monero4-8/+25
We know all the data we'll want for getblocks.bin is contiguous
2018-12-12Merge pull request #4923Riccardo Spagni1-0/+1
aba9a9c2 daemon: stop miner before we bring the whole thing down (moneromooo-monero)
2018-12-12Merge pull request #4920Riccardo Spagni1-5/+4
e98ae34e core: fix adding new pre-hoh block when a tx is already in the pool (moneromooo-monero)
2018-12-12Merge pull request #4909Riccardo Spagni2-35/+86
756684bb blockchain: avoid unnecessary DB lookups when syncing (moneromooo-monero)
2018-12-12Merge pull request #4903Riccardo Spagni2-0/+39
dc1c1252 add command pop_blocks (Jason Wong)
2018-12-12Merge pull request #4787Riccardo Spagni2-1/+17
3dba7f25 protocol: option to pad transaction relay to the next kB (moneromooo-monero)
2018-12-05tx_pool: add a few std::move where it can make a differencemoneromooo-monero1-3/+4
2018-12-05cryptonote: set tx hash on newly parsed txes when knownmoneromooo-monero1-5/+11
2018-12-05blockchain: call deinit in dtormoneromooo-monero2-7/+15
This ensures the io service that runs in another thread cannot access data after it's deleted
2018-12-04Merge pull request #4894Riccardo Spagni5-17/+12
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero) 1a0733e5 windows_service: fix memory leak (moneromooo-monero) 0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero) 5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero) d4f50cb1 remove some unused code (moneromooo-monero) 61163971 a few minor (but easy) performance tweaks (moneromooo-monero) 30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04move int-util.h to epeemoneromooo-monero2-2/+2
2018-12-04Merge pull request #4869Riccardo Spagni1-1/+1
60f36386 Avoid unnecessary temp block and copy ctor (moneromooo-monero)
2018-12-04Merge pull request #4854Riccardo Spagni2-4/+0
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-02blockchain: fix race between two external mining threadsmoneromooo-monero1-5/+3
2018-11-30daemon: stop miner before we bring the whole thing downmoneromooo-monero1-0/+1
This avoids the miner erroring out trying to submit blocks to a core that's already shut down (and avoids pegging the CPU while we're busy shutting down).
2018-11-28add command pop_blocksJason Wong2-0/+39
add new public method to Blockchain and update according to code review update after review: better lock/unlock, try catch and coding style
2018-11-27blockchain: avoid unnecessary DB lookups when syncingmoneromooo-monero2-35/+86
Some of the inputs for block in a span will be from other earlier blocks in that span. Keep track of those outputs so we don't have to look them up again after those early blocks are added to the blockchain.
2018-11-26core: fix adding new pre-hoh block when a tx is already in the poolmoneromooo-monero1-5/+4
2018-11-26rpc: speedup get_outs.binmoneromooo-monero1-8/+26
2018-11-23remove some unused codemoneromooo-monero2-8/+3
Found by codacy.com
2018-11-23a few minor (but easy) performance tweaksmoneromooo-monero3-9/+9
Found by codacy.com
2018-11-19Avoid unnecessary temp block and copy ctormoneromooo-monero1-1/+1
block already has a default ctor, and the extra object churn due to its innards (vectors, etc) is pointless.
2018-11-16tests: add unit tests for get_output_distributionmoneromooo-monero1-0/+1
2018-11-16blockchain: remove "0 is height" shortcut from get_output_distributionmoneromooo-monero1-2/+0
This prevents asking for just 0, and the RPC layer already does this
2018-11-16Revert "blockchain: simplify output distribution code"moneromooo-monero1-2/+7
This reverts commit b2bb9312a75781e714acf3c406634b3d4cded418.
2018-11-16Merge pull request #4806Riccardo Spagni1-1/+2
ac23b10f blockchain: fix innocuous difficulty cache inconsistency (moneromooo-monero) 3b14d972 blockchain: use uint64_t for block height, not size_t (moneromooo-monero)
2018-11-16Merge pull request #4768Riccardo Spagni1-3/+2
cf552c75 tx_pool: allow take_tx to work without m_txs_by_fee_and_receive_time (moneromooo-monero)
2018-11-16Merge pull request #4765Riccardo Spagni1-1/+1
09dbd9cb tx_pool: fix comment about transaction_prefix (moneromooo-monero)
2018-11-15Removed a lot of unnecessary includesMartijn Otto2-4/+0
2018-11-14Merge pull request #4769Riccardo Spagni6-29/+39
5808530f blockchain: remove unused output_scan_worker parameter (moneromooo-monero) 1426209a blockchain: don't run threads if we have just one function to run (moneromooo-monero) 6f7a5fd4 db_lmdb: slight speedup getting array data from the blockchain (moneromooo-monero) 99fbe100 db_lmdb: save some string copies for readonly db keys/values (moneromooo-monero) bf31447e tx_pool: speed up take_tx for transactions from blocks (moneromooo-monero) 4f005a77 tx_pool: remove unnecessary get_transaction_hash (moneromooo-monero) 593ef598 perf_timer: call reserve on new timer array (moneromooo-monero) 6ecc99ad core: avoid unnecessary tx/blob conversions (moneromooo-monero) 00cc1a16 unit_tests: notify test special case for the usual weirdo (moneromooo-monero)
2018-11-06Merge pull request #4735Riccardo Spagni1-1/+1
73e504c1 rpc: adjust ring size error message now that too high is also possible (moneromooo-monero) a5ca7f4f core: fix unmixable special case allowing ring size below 11 (moneromooo-monero)
2018-11-06protocol: option to pad transaction relay to the next kBmoneromooo-monero2-1/+17
To help protect one's privacy from traffic volume analysis for people using Tor or I2P. This will really fly once we relay txes on a timer rather than on demand, though. Off by default for now since it's wasteful and doesn't bring anything until I2P's in.
2018-11-05blockchain: fix innocuous difficulty cache inconsistencymoneromooo-monero1-0/+1
This inconsistent state would not actually be used in practice
2018-11-05blockchain: use uint64_t for block height, not size_tmoneromooo-monero1-1/+1
for consistency
2018-11-05cryptonote_core: avoid gratuitous recalculations in check_block_rate()xiphon1-1/+2
2018-11-04Merge pull request #4688Riccardo Spagni1-3/+3
5a2e54a1 Fix prune using receive time as tx_weight (doy-lee)
2018-11-04Merge pull request #4683Riccardo Spagni1-2/+2
3a85af40 core: fix handle_incoming_tx* comment about return value (moneromooo-monero)
2018-11-04blockchain: remove unused output_scan_worker parametermoneromooo-monero2-10/+5
2018-11-04blockchain: don't run threads if we have just one function to runmoneromooo-monero1-1/+1
2018-11-01cryptonote_core: fix build error gcc 5.4.0 'sign-compare'xiphon1-1/+1
2018-11-01tx_pool: speed up take_tx for transactions from blocksmoneromooo-monero2-1/+14
This happens for every historical tx when syncing, and the unnecessary parsing is actually showing up on profile. Since these are kept cached for just one block, this does not increase memory usage after syncing.
2018-11-01tx_pool: remove unnecessary get_transaction_hashmoneromooo-monero1-4/+3
2018-11-01core: avoid unnecessary tx/blob conversionsmoneromooo-monero6-14/+17
2018-10-31tx_pool: allow take_tx to work without m_txs_by_fee_and_receive_timemoneromooo-monero1-3/+2
This should make it possible to have two daemons running on the same database again.
2018-10-31tx_pool: fix comment about transaction_prefixmoneromooo-monero1-1/+1
It was leftover from a change that was undone before commit, but the comment change was let through
2018-10-27core: fix unmixable special case allowing ring size below 11moneromooo-monero1-1/+1
2018-10-26Merge pull request #4536Riccardo Spagni5-27/+34
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
2018-10-26Merge pull request #4408Riccardo Spagni4-0/+69
341b3931 cryptonote_core: warn when the block rate deviates from expectations (moneromooo-monero)
2018-10-26Merge pull request #4308Riccardo Spagni1-0/+6
9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
2018-10-23Fix prune using receive time as tx_weightdoy-lee1-3/+3
2018-10-22blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon5-27/+34
2018-10-21core: fix handle_incoming_tx* comment about return valuemoneromooo-monero1-2/+2
2018-10-20Merge pull request #4522Riccardo Spagni1-0/+3
a39c0358 blockchain: add check test options are given for fakechain mode (moneromooo-monero)
2018-10-20Merge pull request #4666Riccardo Spagni1-2/+2
cf75ee72 blockchain: move two new verification errors to the verify category (moneromooo-monero)
2018-10-20Merge pull request #4637Riccardo Spagni1-1/+6
c39e0a17 core: don't verify range proofs multiple times (moneromooo-monero)
2018-10-19blockchain: move two new verification errors to the verify categorymoneromooo-monero1-2/+2
Lest we get people get scared again
2018-10-18tx_pool: revert #4592 and move bin2hex conversion to on_get_transaction_poolstoffu1-1/+1
2018-10-17core: don't verify range proofs multiple timesmoneromooo-monero1-1/+6
2018-10-15Merge pull request #4389Riccardo Spagni2-32/+32
6844ae1b tx_pool: avoid parsing a whole tx if only the prefix is needed (moneromooo-monero)
2018-10-15tx_pool: store hex string instead of raw binary to tx_blob of ↵stoffu1-1/+1
get_transaction_pool RPC Inspired by https://github.com/masari-project/masari/issues/93
2018-10-08Revert "Merge pull request #4472"Riccardo Spagni5-34/+27
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
2018-10-08blockchain: add check test options are given for fakechain modemoneromooo-monero1-0/+3
Coverity 188616
2018-10-08tx_pool: avoid parsing a whole tx if only the prefix is neededmoneromooo-monero2-32/+32
2018-10-07cryptonote: sort tx_extra fieldsmoneromooo-monero1-0/+6
This removes some small amount of fingerprinting entropy. There is no consensus rule to require this since this field is technically free form, and a transaction is free to have custom data in it.
2018-10-04blocks: use auto-generated .c files instead of 'LD -r -b binary'xiphon5-27/+34
2018-10-02Merge pull request #4476Riccardo Spagni1-1/+1
fa9e54b6 build: fix gcc false positive 'stringop-overflow' warning (xiphon)
2018-10-02Merge pull request #4467Riccardo Spagni1-2/+2
fa942ef6 daemon: silence daemon update warnings on testnet (iDunk5400)