aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2020-07-30blockchain: guard against exceptions in add_new_block/childrenmoneromooo-monero1-0/+11
Reporter requested credit to be given to Decred
2020-07-30build: prepare v0.16.0.3 releaseselsta1-1/+1
2020-06-21build: prepare v0.16.0.1 releaseselsta1-1/+1
2020-06-20tx_pool: mine stem txes in fake chain modemoneromooo-monero3-6/+14
This fixes the functional tests, since txes would not be mined after being sent to the daemon (they'd be waiting for the dandelion timeout first)
2020-06-13blockchain: fix timestamp/difficulty cache getting out of syncmoneromooo-monero2-1/+17
The cache is discarded when a block is popped, but then gets rebuilt when the difficulty for next block is requested. While this is all properly locked, it does not take into account the delay caused by a database transaction being only committed (and thus its effects made visible to other threads) later on, which means another thread could request difficulty between the pop and the commit, which would end up using stale database view to build the cache, but that cache would not be invalidated again when the transaction gets committed, which would cause the cache to not match the new database data. To fix this, we now keep track of when the cache is invalidated so we can invalidate it again upon database transaction commit to ensure it gets calculated again with fresh data next time it is nedeed.
2020-06-12Fix D++ block template checkLee Clagett1-1/+1
2020-06-11blockchain: fix total_height in getblocks.bin responsemoneromooo-monero1-0/+1
2020-05-19cryptonote_core: remove "We are most likely forked" messagemoneromooo-monero2-36/+0
It's time based and we don't have forks every 6 months anymore
2020-05-17blockchain: detect and log bad difficulty calculationsmoneromooo-monero1-5/+72
2020-05-16Revert "simplewallet: noob-friendly help menu"selsta1-3/+2
This reverts commit 67b4a19edf7b9d6a407a79eca5c57819863bfd71.
2020-05-09build: prepare v0.16.0.0 releaseselsta1-1/+1
2020-05-06cryptonote_core: take out the time based upgrade warningmoneromooo-monero1-2/+0
It doesn't really work anymore since we don't have a fork soon
2020-04-29txpool.cpp: rename var to fix for old g++ version (xenial default)Sumo Gr1-2/+2
2020-04-24Used legacy category to match insert_key_images behaviorLee Clagett1-1/+1
2020-04-22cryptonote: fix reuse of non default tx data when relayingmoneromooo-monero1-1/+1
An automatic tx variable is initialized properly on the first run through the loop, but not the second. Moving the variable inside the loop ensures the ctor is called again to init it.
2020-04-20cryptonote_core: skip dns checkpoints on startup if not enforcedxiphon2-4/+5
2020-04-08Add timelock verification on devicecslashm1-1/+1
2020-03-30Always reject duplicate key-images from second txidLee Clagett2-12/+16
2020-03-30Allow unrestricted rpc calls to get full txpool infoLee Clagett2-6/+8
2020-03-26Adding Dandelion++ support to public networks:Lee Clagett2-32/+88
- 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
2020-03-22protocol: request txpool contents when syncedmoneromooo-monero4-0/+53
A newly synced Alice sends a (typically quite small) list of txids in the local tpxool to a random peer Bob, who then uses the existing tx relay system to send Alice any tx in his txpool which is not in the list Alice sent
2020-03-20p2p: remove old debug commandsAaron Hook2-21/+0
2020-03-14Correct key image check in tx_poolLee Clagett1-16/+7
2020-03-12core: move the LockedTXN class out of txpool so it may be reusedmoneromooo-monero1-30/+12
for example, in the RPC server
2020-02-27blockchain_db: faster fetching of consecutive txesmoneromooo-monero1-30/+2
Useful for wallet refresh or node sync
2020-02-19cryptonote_core: skip block notify on blockchain switching rollbackxiphon2-10/+20
2020-02-17remove empty statementsInterchained2-3/+3
Cleaning up a little around the code base.
2020-02-12tx_pool: catch theoretical error in get_block_rewardmoneromooo-monero1-1/+5
Coverity 196626
2020-02-10core: mention time being off in hash rate changes messagemoneromooo-monero1-1/+1
2020-01-14wallet: reroll fake outs selection on local tx_sanity_check failurexiphon2-9/+13
2020-01-09Fix check_fee() discrepancy.UkoeHB1-2/+2
M100 = max{300kb, min{100block_median, m_long_term_effective_median_block_weight}} not M100 = max{300kb, m_long_term_effective_median_block_weight} Fix base reward in get_dynamic_base_fee_estimate(). get_dynamic_base_fee_estimate() should match check_fee() Fee is calculated based on block reward, and the reward penalty takes into account 0.5*max_block_weight (both before and after HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY). Moved median calculation according to best practice of 'keep definitions close to where they are used'.
2019-12-14blockchain: fix flushing txes from the txpoolmoneromooo-monero1-1/+1
2019-12-12print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero2-5/+5
The tail emission will bring the total above 64 bits
2019-12-02rpc: add bad-blocks to flush_cache RPCmoneromooo-monero4-0/+21
Flushes m_invalid_blocks in Blockchain.
2019-11-15blockchain: speedup fetching pruned contiguous tx blobsmoneromooo-monero1-3/+10
About twice as fast, very roughly
2019-11-13simplewallet: noob-friendly help menuwowario1-2/+3
2019-11-12blockchain: error out if the builtin hashes data size is wrongmoneromooo-monero1-1/+6
2019-11-04Change to Tx diffusion (Dandelion++ fluff) instead of floodingLee Clagett2-18/+2
2019-11-02Adding support for hidden (anonymity) txpoolLee Clagett7-205/+334
2019-11-02Merge pull request #6079Riccardo Spagni1-1/+1
e4d1674e8 0.15.0.0 release engineering (Riccardo Spagni)
2019-11-020.15.0.0 release engineeringRiccardo Spagni1-1/+1
2019-11-01Add a --keep-fakechain option to keep fakechain databasesJamesWrigley1-1/+8
This is handy when doing tests that generate a lot of transactions, since that takes time it's preferable to re-use the database for future runs.
2019-10-31cryptonote: untangle dependency from miner to blockchainmoneromooo-monero2-2/+6
It causes link errors at least on mac
2019-10-31cryptonote: untangle dependency from miner to blockchainmoneromooo-monero2-2/+6
It causes link errors at least on mac
2019-10-29blockchain: fix comment wrongly refering to SHA-3 rather than Keccakmoneromooo-monero1-1/+1
2019-10-29tx_pool: fix error message assuming incorrectlymoneromooo-monero1-2/+2
2019-10-28core: point out when we hit the block rate visibility limitmoneromooo-monero1-2/+3
2019-10-27blockchain: fix unwanted error when probing the pool for a txmoneromooo-monero1-2/+11
2019-10-27blockchain: fix unwanted error when probing the pool for a txmoneromooo-monero1-2/+11
2019-10-25rpc: add a flush_cache RPCmoneromooo-monero2-0/+13
This allows flushing internal caches (for now, the bad tx cache, which will allow debugging a stuck monerod after it has failed to verify a transaction in a block, since it would otherwise not try again, making subsequent log changes pointless)
2019-10-25tx_pool: fix divide by 0 in logmoneromooo-monero1-1/+1
Coverity 205394
2019-10-21Support median block size > 4 GBmoneromooo-monero1-8/+3
add a 128/64 division routine so we can use a > 32 bit median block size in calculations
2019-10-16blockchain: initialize pow to ff..ffmoneromooo-monero1-2/+4
as a safety to reject if it somehow does not get initialised
2019-10-11blockchain: use effective median block weight for penalty from v12moneromooo-monero1-3/+12
It was using the raw block weight median, which was not what was intended in ArticMine's design
2019-10-11tx_pool: do not divide by 0moneromooo-monero1-2/+2
In case of a 0 tx weight, we use a placeholder value to insert in the fee-per-byte set. This is used for pruning and mining, and those txes are pruned, so will not be too large, nor added to the block template if mining, so this is safe. CID 204465
2019-10-11cryptonote: don't leave block_weight uninitializedmoneromooo-monero1-0/+1
CID 204467
2019-10-10blockchain: fill in cumulative block weight for alt blocksmoneromooo-monero3-0/+86
2019-10-10cryptonote: fill in tx weight when syncing from pruned blocksmoneromooo-monero1-5/+1
2019-10-06tx_pool: make spent return-by-reference as intendedstoffu2-2/+2
2019-10-03Add hmac over encrypted value during transactioncslashm1-15/+19
2019-09-28blockchain: tweak fee as a function of median valuesmoneromooo-monero1-1/+2
Use the lesser of the short and long terms medians, rather then the long term median alone From ArticMine: I found a bug in the new fee calculation formula with using only the long term median It actually needs to be the lesser of the long term median and the old (modified short term median) short term median with the last 10 blocks calculated as empty Yes the issue occurs if there is a large long term median and, the short term median then falls and tries to then rise again The fees are could be not high enough for example LTM and STM rise to say 2000000 bytes STM falls back to 300000 bytes Fees are now based on 2000000 bytes until LTM also falls So the STM is could prevented from rising back up STM short term median LTM long term median
2019-09-27monerod can now sync from pruned blocksmoneromooo-monero6-89/+314
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
2019-09-25RandomX integrationHoward Chu5-6/+119
Support RandomX PoW algorithm
2019-09-25ban peers sending bad pow outrightmoneromooo-monero1-0/+2
PoW is expensive to verify, so be strict
2019-09-19core: move hardforks into its own libmoneromooo-monero4-133/+7
So it can be used by others without encumbrance
2019-09-17blockchain: enforce 10 block age for spending outputsmoneromooo-monero1-0/+10
Some custom wallet code apparently ignores this, which causes users of that code to be fingerprinted
2019-09-16Properly format multiline logsmoneromooo-monero1-1/+1
As a side effect, colouring on Windows should now work regardless of version
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez2-5/+4
2019-09-11blockchain: keep block template timestamp not below recent medianmoneromooo-monero1-1/+3
Such a template would yield an invalid block, though would require an attacker to have mined a long blockchain with drifting times (assuming the miner's clock is roughly correct) Fixed by crCr62U0
2019-09-02Changed the use of boost:value_initialized for C++ list initializerJesus Ramirez3-13/+13
2019-08-28blockchain: fix logging bad number of blocks if first one failsmoneromooo-monero1-2/+3
2019-08-28Fix bug in mempool get_transaction_stats histogram calculationTom Smeding1-3/+10
The 98th percentile position in the agebytes map was incorrectly calculated: it assumed the transactions in the mempool all have unique timestamps at second-granularity. This commit fixes this by correctly finding the right cumulative number of transactions in the map suffix. This bug could lead to an out-of-bounds write in the rare case that all transactions in the mempool were received (and added to the mempool) at a rate of at least 50 transactions per second. (More specifically, the number of *unique* receive_time values, which have second- granularity, must be at most 2% of the number of transactions in the mempool for this crash to trigger.) If this condition is satisfied, 'it' points to *before* the agebytes map, 'delta' gets a nonsense value, and the value of 'i' in the first stats.histo-filling loop will be out of bounds of stats.histo.
2019-08-26core: make the "update probably needed soon" message less scarymoneromooo-monero1-4/+4
2019-08-19blockchain: reject rct signatures in coinbase txes from v12moneromooo-monero1-0/+7
2019-08-19core: from v12, require consistent ring size for mixable txesmoneromooo-monero1-8/+23
We're supposed to have a fixed ring size now Already checked by MLSAG verification, but here seems more intuitive
2019-08-19blockchain: forbid v1 coinbase from v12moneromooo-monero2-5/+9
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-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-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-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-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-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-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-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-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-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-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-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-04blockchain: forbid older BP rct versions from v11moneromooo-monero1-1/+18
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-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-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-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-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-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-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-04move int-util.h to epeemoneromooo-monero2-2/+2
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-15Removed a lot of unnecessary includesMartijn Otto2-4/+0
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-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-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-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-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.