aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core (follow)
AgeCommit message (Collapse)AuthorFilesLines
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-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)
2018-09-30build: fix gcc false positive 'stringop-overflow' warningxiphon1-1/+1
2018-09-29Merge pull request #4333Riccardo Spagni3-0/+33
73403004 add --block-notify to monerod and --tx-notify to monero-wallet-{cli,rpc} (moneromooo-monero)
2018-09-29daemon: silence daemon update warnings on testnetiDunk54001-2/+2
2018-09-25Merge pull request #4423v0.13.0.0-RC1Riccardo Spagni1-1/+1
357441a2 add checkpoints for testnet and mainnet (Riccardo Spagni) d9f666d7 update checkpoints.dat (Riccardo Spagni) 6b1b4e83 update version to 13.0 (Riccardo Spagni) 6f153533 update readme with v13.0 (Riccardo Spagni)
2018-09-25Merge pull request #4435Riccardo Spagni1-0/+1
c39ad0cd tx_pool: fix tx removal at startup keeping references (moneromooo-monero)
2018-09-25tx_pool: fix tx removal at startup keeping referencesmoneromooo-monero1-0/+1
2018-09-24blockchain: add stagenet v8 and v9, two weeks before mainnetmoneromooo-monero1-0/+2
2018-09-23update checkpoints.datRiccardo Spagni1-1/+1
2018-09-21Merge pull request #4378Riccardo Spagni2-1/+18
ac934663 rpc: add a "is an update available" flag in get_info (moneromooo-monero)
2018-09-21Merge pull request #4369Riccardo Spagni1-7/+2
b2bb9312 blockchain: simplify output distribution code (moneromooo-monero) befdcbf4 db_lmdb: do not use base for cumulative distribution (moneromooo-monero)
2018-09-20cryptonote_core: warn when the block rate deviates from expectationsmoneromooo-monero4-0/+69
The warning threshold is set to allow a false positive every ten days on average.
2018-09-18Merge pull request #4325Riccardo Spagni1-0/+6
4e1e9a60 blockchain: add mainnet v8 height targetting 18 october (moneromooo-monero)
2018-09-14Merge pull request #4372Riccardo Spagni1-1/+1
1660b0e7 tx_pool: make the max tx size a consensus rule from v8 (moneromooo-monero)
2018-09-14remove obsolete daemon selection of fake outs and old tx constructionmoneromooo-monero4-328/+0
2018-09-14rpc: add a "is an update available" flag in get_infomoneromooo-monero2-1/+18
Make it easier for a user to be told when to update
2018-09-13tx_pool: make the max tx size a consensus rule from v8moneromooo-monero1-1/+1
2018-09-12blockchain: simplify output distribution codemoneromooo-monero1-7/+2
2018-09-11blockchain: add a testnet v9 a day after v8moneromooo-monero1-0/+1
So that bulletproofs become mandatory
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero8-327/+356
2018-09-11require canonical multi output bulletproof layoutmoneromooo-monero1-0/+29
2018-09-11Bulletproof aggregated verification and testsmoneromooo-monero4-51/+149
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11bulletproofs: add aggregated verificationmoneromooo-monero2-2/+2
Ported from sarang's java code
2018-09-11bulletproofs: add multi output bulletproofs to rctmoneromooo-monero3-8/+24
2018-09-04Merge pull request #4276luigi11111-7/+1
48a7bc4 tx_pool: fix infinite loop when failing to find a meta record (moneromooo-monero)
2018-09-04Merge pull request #4268luigi11111-0/+3
1f2409e Do memwipe for critical secret keys copied to rct::key (stoffu)
2018-09-02blockchain: add mainnet v8 height targetting 18 octobermoneromooo-monero1-0/+6
and v9 a day later
2018-08-22Merge pull request #4240luigi11111-1/+1
83f5587 blockchain: use uint64_t for height, not size_t (moneromooo-monero)
2018-08-22Merge pull request #4204luigi11113-14/+35
b278b83 core: sync database based on bytes added, not blocks added (moneromooo-monero)
2018-08-19tx_pool: fix infinite loop when failing to find a meta recordmoneromooo-monero1-7/+1
2018-08-16Do memwipe for critical secret keys copied to rct::keystoffu1-0/+3
2018-08-16core: cache block template where possiblemoneromooo-monero4-2/+94
This avoids constant rechecking of the same things each time a miner asks for the block template. The tx pool maintains a cookie to allow users to detect when the pool state changed, which means the block template needs rebuilding.
2018-08-15Merge pull request #4164luigi11111-15/+19
8e24533 blockchain: some batch tx scanning speedup (moneromooo-monero)
2018-08-12core: sync database based on bytes added, not blocks addedmoneromooo-monero3-14/+35
Blocks have a very wide range, whereas actual size is the relevant quantity to consider when syncing
2018-08-09blockchain: use uint64_t for height, not size_tmoneromooo-monero1-1/+1
2018-07-27Merge pull request #4108luigi11111-0/+1
8c05237 blockchain: cache next block difficulty after adding a block (moneromooo-monero)
2018-07-21blockchain: some batch tx scanning speedupmoneromooo-monero1-15/+19
2018-07-19Merge pull request #4081luigi11111-1/+2
d95bc44 blockchain: fix getting invalid block data on failure (moneromooo-monero)
2018-07-19Merge pull request #4076luigi11111-0/+2
aa0ea0a blockchain: set the m_verifivation_failed flag in a couple more places (moneromooo-monero)
2018-07-19Merge pull request #4047luigi11112-6/+35
41b4bf9 tx_pool: cache check_tx_inputs results (moneromooo-monero)
2018-07-19Merge pull request #3981luigi11111-5/+34
45e419b db: store cumulative rct output distribution in the db for speed (moneromooo-monero)
2018-07-19Merge pull request #3973luigi11112-6/+7
50af357 alt_chain_info can now give more info about a particular alt chain (moneromooo-monero)
2018-07-19Merge pull request #3854luigi11114-4/+87
149da42 db_lmdb: enable batch transactions by default (stoffu) 34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn) 9e1403e update get_info RPC and bump RPC version (vicsn) 207b66e first new functional tests (vicsn)
2018-07-13db: store cumulative rct output distribution in the db for speedmoneromooo-monero1-5/+34
This gets rid of the temporary precalc cache. Also make the RPC able to send data back in binary or JSON, since there can be a lot of data This bumps the LMDB database format to v3, with migration.
2018-07-07blockchain: cache next block difficulty after adding a blockmoneromooo-monero1-0/+1
It's not 100% certain it'll be needed, but it avoids getinfo needing the blockchain lock and potentially blocking
2018-06-29blockchain: fix getting invalid block data on failuremoneromooo-monero1-1/+2
2018-06-29add --regtest and --fixed-difficulty for regression testingvictorsintnicolaas4-4/+87
on_generateblocks RPC call combines functionality from the on_getblocktemplate and on_submitblock RPC calls to allow rapid block creation. Difficulty is set permanently to 1 for regtest. Makes use of FAKECHAIN network type, but takes hard fork heights from mainchain Default reserve_size in generate_blocks RPC call is now 1. If it is 0, the following error occurs 'Failed to calculate offset for'. Queries hard fork heights info of other network types
2018-06-28blockchain: set the m_verifivation_failed flag in a couple more placesmoneromooo-monero1-0/+2
when a block being added to the main chain is invalid. This ensures the peer is banned after a number of these.
2018-06-28blockchain: fix build after waiter::wait prototype changemoneromooo-monero1-1/+1
2018-06-27Merge pull request #3986luigi11111-2/+2
b628503 Remove old logic saved in comments. (jeandudey)
2018-06-27Merge pull request #3982luigi11111-12/+1
08b85a8 cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X (stoffu) 0cf80ba net_node: resolve host for node addresses given via command line flags (stoffu)
2018-06-27Merge pull request #3716luigi11116-104/+140
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
2018-06-26threadpool: allow leaf functions to run concurrentlymoneromooo-monero2-8/+8
Decrease the number of worker threads by one to account for the fact the calling thread acts as a worker thread now
2018-06-26blockchain: simplify/speedup handle_get_objectsmoneromooo-monero1-13/+8
2018-06-26rpc: rework to avoid repeated calculations in get_blocks.binmoneromooo-monero4-10/+19
2018-06-26replace std::list with std::vector on some hot pathsmoneromooo-monero6-76/+108
also use reserve where appropriate
2018-06-26alt_chain_info can now give more info about a particular alt chainmoneromooo-monero2-6/+7
2018-06-25Merge pull request #3975luigi11111-1/+1
2d5921e blockchain: avoid duplicate db query for height (moneromooo-monero)
2018-06-25Merge pull request #3936luigi11111-0/+2
d81e042 tx_pool: initialize bitflags padding since it gets written to storage (moneromooo-monero)
2018-06-24tx_pool: cache check_tx_inputs resultsmoneromooo-monero2-6/+35
This is called a lot when creating a block template, and does not change until the blockchain changes. This also avoids tx parsing when cached.
2018-06-20Merge pull request #3919luigi11111-1/+1
ace2eda blockchain: pop forked blocks only when DB is not read-only (stoffu)
2018-06-20Merge pull request #3904luigi11111-6/+13
4f3a4fb blockchain: return error when requesting non existent output (moneromooo-monero)
2018-06-20Merge pull request #3903luigi11112-12/+35
2b0c632 tx_pool: hold off parsing a tx blob till we actually need it (moneromooo-monero)
2018-06-19Merge pull request #3828luigi11111-0/+1
16e209e core: lock incoming tx lock when checking the txpool and chain (moneromooo-monero)
2018-06-17Merge pull request #3691luigi11112-6/+3
db55263 threadpool: allow constructing an object, and misc tweaks (moneromooo-monero) ce173cb core: remove threadpool dependency from header (moneromooo-monero) 3147468 unit_tests: add threadpool unit test (moneromooo-monero)
2018-06-16Merge pull request #3732luigi11111-1/+1
fa0839f Ensure m_timestamps has the correct number for computing difficulty. (thaerkh)
2018-06-16Merge pull request #3726luigi11111-8/+11
b5cb1bc blockchain: avoid exception if asked for a block we do not have (moneromooo-monero)
2018-06-12Merge pull request #3687luigi11111-3/+3
6b13976 blockchain: log in DEBUG when a block is found, and where (moneromooo-monero)
2018-06-11Remove old logic saved in comments.Jean Pierre Dudey1-2/+2
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-06-11cryptonote_config: add get_config to refactor x = testnet ? ↵stoffu1-12/+1
config::testnet::X : stagenet ? config::stagenet::X : config::X
2018-06-09blockchain: avoid duplicate db query for heightmoneromooo-monero1-1/+1
2018-06-08Merge pull request #3908luigi11111-1/+1
827ca3f bump version for 0.12.2 point release (fluffypony) 95ccf50 update checkpoints.dat for point release (fluffypony)
2018-06-08Merge pull request #3450luigi11113-0/+19
3b941be core: add get_earliest_ideal_height_for_version() (stoffu)
2018-06-07Merge pull request #3940luigi11111-8/+12
f24cbc5 blockchain: fix deadlock with the difficulty cache (moneromooo-monero)
2018-06-06blockchain: fix deadlock with the difficulty cachemoneromooo-monero1-8/+12
2018-06-05tx_pool: initialize bitflags padding since it gets written to storagemoneromooo-monero1-0/+2
Avoids valgrind reporting uninitialized data usage
2018-06-04blockchain: pop forked blocks only when DB is not read-onlystoffu1-1/+1
2018-06-02blockchain: demote a hash-of-hashes validation warning to debugmoneromooo-monero1-1/+1
This data comes from untrusted peers, and validation failures are therefore normal.
2018-06-02update checkpoints.dat for point releaseRiccardo Spagni1-1/+1
2018-06-02tx_pool: hold off parsing a tx blob till we actually need itmoneromooo-monero2-12/+35
2018-06-01blockchain: return error when requesting non existent outputmoneromooo-monero1-6/+13
avoids RPC thread dying, causing the wallet to timeout
2018-05-30Merge pull request #3525luigi11111-0/+1
66a659b blockchain: add scope guard to waiter for threaded txv1 verification (stoffu)
2018-05-30Merge pull request #3876luigi11111-5/+6
740da1b core: fix automatic safe db sync mode switching (moneromooo-monero) e942d34 protocol: do not switch to unsafe sync mode for just a few blocks (moneromooo-monero)
2018-05-30Merge pull request #3731luigi11112-6/+15
a66f152 Use median timestamp if current time renders a block invalid. (thaerkh)
2018-05-29Merge pull request #3251luigi11114-12/+18
b9389e5 db_lmdb: save pruned and prunable tx data separately (moneromooo-monero)
2018-05-29Merge pull request #3446luigi11111-4/+0
a6b8d3f tx_pool: remove old comment from fill_block_template() (stoffu)
2018-05-29Merge pull request #3420luigi11112-3/+22
a6a54fa blockchain: cache difficulty for next block (moneromooo-monero)
2018-05-28core: fix automatic safe db sync mode switchingmoneromooo-monero1-5/+6
2018-05-28tx_pool: remove old comment from fill_block_template()stoffu1-4/+0
2018-05-23db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero4-12/+18
This bumps DB version to 2, migration code will run for v1 DBs
2018-05-23update checkpointsRiccardo Spagni1-1/+1
2018-05-21Merge pull request #3787Riccardo Spagni1-0/+6
ce63ab09 blockchain: invalidate misc caches when popping blocks (moneromooo-monero)
2018-05-21Merge pull request #3832Riccardo Spagni2-9/+11
cb9c7972 Fix output shuffling for multisig (stoffu)
2018-05-21speed up get_output_distribution (and precalc common case)moneromooo-monero4-22/+8
2018-05-21Merge pull request #3749Riccardo Spagni1-0/+47
872cb4ef blockchain: pop top if block version disagrees with the ideal fork version (stoffu)
2018-05-20core: remove threadpool dependency from headermoneromooo-monero2-6/+3
2018-05-20Fix output shuffling for multisigstoffu2-9/+11
2018-05-18core: lock incoming tx lock when checking the txpool and chainmoneromooo-monero1-0/+1
This gets rid of an innocuous race trying to add the same tx twice to the txpool
2018-05-13Use median timestamp if current time renders a block invalid.Thaer Khawaja2-6/+15
2018-05-09blockchain: avoid exception if asked for a block we do not havemoneromooo-monero1-8/+11
This can happen if a peer tries to obtain the next span from other peers if that span is needed for not downloaded yet. Also if the peer maliciously requests a non existent block hash.
2018-05-09blockchain: invalidate misc caches when popping blocksmoneromooo-monero1-0/+6
Might be a bit heavy handed, but conservative.
2018-05-07cryptonote: make sure outPk setup always happensmoneromooo-monero1-33/+0
2018-05-06blockchain: pop top if block version disagrees with the ideal fork versionstoffu1-0/+47
2018-04-29Ensure m_timestamps has the correct number for computing difficulty.Thaer Khawaja1-1/+1
2018-04-28Merge pull request #3683Riccardo Spagni2-0/+12
dad10775 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
2018-04-23blockchain: log in DEBUG when a block is found, and wheremoneromooo-monero1-3/+3
Eases up debugging
2018-04-23speedup get_output_histogram for all amounts when min_count > 0moneromooo-monero2-3/+4
This skips the vast majority of "dust" output amounts with just one instance on the chain. Clocks in at 0.15% of the original time on testnet.
2018-04-22Only log an error if fork version is higher AND is not known.Thaer Khawaja2-0/+12
2018-04-12Merge pull request #3609Riccardo Spagni1-17/+26
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
2018-04-12Merge pull request #3530Riccardo Spagni1-2/+3
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
2018-04-12Merge pull request #3502Riccardo Spagni1-1/+1
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
2018-04-11tx_pool: fix loading with colliding key imagesmoneromooo-monero1-17/+26
A key image may be present more than once if all but one of the txes spending that key image are coming from blocks. When loading a txpool from storage, we must load the one that's not from a block first to avoid rejection