aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/blockchain.h
Commit message (Collapse)AuthorAgeFilesLines
...
* | speedup get_output_histogram for all amounts when min_count > 0moneromooo-monero2018-04-231-1/+2
|/ | | | | | 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.
* add RPC to get a histogram of outputs of a given amountmoneromooo-monero2018-03-161-1/+22
|
* Remove the `Blockchain::get_all_known_block_ids` function.Jean Pierre Dudey2018-03-141-9/+0
| | | | | | This function isn't used in the codebase. Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
* Stagenetstoffu2018-03-051-5/+5
|
* Merge pull request #3144Riccardo Spagni2018-01-271-0/+8
|\ | | | | | | 42f86624 rpc: expose recent median block size in getinfo (moneromooo-monero)
| * rpc: expose recent median block size in getinfomoneromooo-monero2018-01-171-0/+8
| |
* | Update 2018 copyrightxmr-eric2018-01-261-1/+1
|/
* Merge pull request #2971Riccardo Spagni2018-01-101-1/+1
|\ | | | | | | ae860230 Fix exceptions not finding txpool txes when relaying (moneromooo-monero)
| * Fix exceptions not finding txpool txes when relayingmoneromooo-monero2017-12-201-1/+1
| |
* | cryptonote_core: remove unused functions with off by one bugsmoneromooo-monero2017-12-181-26/+0
|/
* core: make --offline also disable DNS lookupsmoneromooo-monero2017-11-301-2/+5
|
* rpc: remove obsolete busy core checksmoneromooo-monero2017-11-141-10/+0
|
* Protect node privacy by proper filtering in restricted-mode RPC answersbinaryFate2017-11-081-2/+2
| | | | | | | | | | | | | This patch allows to filter out sensitive information for queries that rely on the pool state, when running in restricted mode. This filtering is only applied to data sent back to RPC queries. Results of inline commands typed locally in the daemon are not affected. In practice, when running with `--restricted-rpc`: * get_transaction_pool will list relayed transactions with the fields "last relayed time" and "received time" set to zero. * get_transaction_pool will not list transaction that have do_not_relay set to true, and will not list key images that are used only for such transactions * get_transaction_pool_hashes.bin will not list such transaction * get_transaction_pool_stats will not count such transactions in any of the aggregated values that are computed The implementation does not make filtering the default, so developers should be mindful of this if they add new RPC functionality. Fixes #2590.
* Merge pull request #2552Riccardo Spagni2017-10-151-0/+7
|\ | | | | | | 69ce33f2 core: fix failure to sync when a tx is already in the pool (moneromooo-monero)
| * core: fix failure to sync when a tx is already in the poolmoneromooo-monero2017-09-291-0/+7
| |
* | Merge pull request #2469Riccardo Spagni2017-10-151-0/+2
|\ \ | |/ |/| | | 7adceee6 precomputed block hashes are now in blocks of N (currently 256) (moneromooo-monero)
| * precomputed block hashes are now in blocks of N (currently 256)moneromooo-monero2017-09-181-0/+2
| | | | | | | | This shaves a lot of space off binaries
* | move checkpoints in a separate librarymoneromooo-monero2017-09-251-1/+1
|/
* Refactor some things into more composable (smaller) functionsThomas Winget2017-09-051-0/+56
| | | | | | | | | | | | | | | | | | This commit refactors some of the rpc-related functions in the Blockchain class to be more composable. This change was made in order to make implementing the new zmq rpc easier without trampling on the old rpc. New functions: Blockchain::get_num_mature_outputs Blockchain::get_random_outputs Blockchain::get_output_key Blockchain::get_output_key_mask_unlocked Blockchain::find_blockchain_supplement (overload) functions which previously had this functionality inline now call these functions as necessary.
* DRY refactoringThomas Winget2017-08-311-0/+7
|
* Toggle SAFE syncmode on and off automaticallyHoward Chu2017-08-201-0/+7
| | | | | | | | | If monerod is started with default sync mode, set it to SAFE after synchronization completes. Set it back to FAST if synchronization restarts (e.g. because another peer has a longer blockchain). If monerod is started with an explicit sync mode, none of this automation takes effect.
* protocol: pass blockchain cumulative difficulty when syncingmoneromooo-monero2017-08-151-0/+10
| | | | Not used yet.
* Merge pull request #2246Riccardo Spagni2017-08-151-3/+1
|\ | | | | | | d732c73e blockchain: remove a few unused variables (moneromooo-monero)
| * blockchain: remove a few unused variablesmoneromooo-monero2017-08-031-3/+1
| |
* | protocol: add checks for top block hard fork versionmoneromooo-monero2017-08-091-0/+9
| | | | | | | | | | | | | | We won't even talk to a peer which claims a wrong version for its top block. This will avoid syncing to known bad peers in the first place. Also add IP fails when failing to verify a block.
* | Merge pull request #2225Riccardo Spagni2017-08-071-0/+3
|\ \ | | | | | | | | | 5d91b26c blockchain: skip checking tx semantics in embedded block hash range (moneromooo-monero)
| * | blockchain: skip checking tx semantics in embedded block hash rangemoneromooo-monero2017-07-301-0/+3
| |/ | | | | | | | | If the txes are bad, this'll be picked up by the block hash mismatch since the tx merkle root is part of the block hash.
* / blockchain: ensure all blocks get their longhash precalculatedmoneromooo-monero2017-07-271-1/+1
|/ | | | | | | | | If the number of blocks to check was not a multiple of the number of preparation threads, the last few blocks would not be included in the threaded long hash calculation. Those would still get calculated when the block gets added to the chain, however, so this was only a tiny performance hit, rather than a security bug.
* Fix mismatch of parameter name between header file and implementation for ↵Julien Klepatch2017-06-231-3/+2
| | | | set_user_options()
* blockchain_db: add a txpool tx getter which returns existencemoneromooo-monero2017-06-111-0/+1
| | | | Avoids exception spam for the "nope, not found" case
* Don't copy blockchain for coinbase_tx_sumHoward Chu2017-06-011-2/+4
| | | | | Changed Blockchain::for_all_blocks() to for_blocks_range() Operate on blockchain in-place instead of building a copy first.
* Merge pull request #1982Riccardo Spagni2017-05-301-1/+12
|\ | | | | | | b52abd13 Move txpool to the database (moneromooo-monero)
| * Move txpool to the databasemoneromooo-monero2017-05-251-1/+12
| | | | | | | | | | | | | | Integration could go further (ie, return_tx_to_pool calls should not be needed anymore, possibly other things). poolstate.bin is now obsolete.
* | Add expected total reward to RPC "getblocktemplate".assylias2017-04-191-1/+2
|/ | | | Only works from V5 fork onward - returns 0 before that block.
* Removed boost/asio.hpp include from epee/string_tools.hLee Clagett2017-03-181-0/+1
|
* Add intervening v5 fork for increased min block sizemoneromooo-monero2017-03-151-1/+2
| | | | | | | | | | Minimum mixin 4 and enforced ringct is moved from v5 to v6. v5 is now used for an increased minimum block size (from 60000 to 300000) to cater for larger typical/minimum transaction size. The fee algorithm is also changed to decrease the base per kB fee, and add a cheap tier for those transactions which we do not care if they get delayed (or even included in a block).
* fix dependency: put HardFork back to cryptonote_basic, made some ↵kenshi842017-03-101-1/+1
| | | | BlockchainDB functions virtual again to avoid missing symbols error
* core: move hardfork back to cryptonote_coremoneromooo-monero2017-02-251-1/+1
| | | | | should fix a cross dependency betewen cryptonote_basic and blockchain_db
* update copyright year, fix occasional lack of newline at line endRiccardo Spagni2017-02-211-1/+1
|
* blockchain_db: add "raw" blobdata getters for block and transactionmoneromooo-monero2017-02-131-4/+5
| | | | This speeds up operations such as serving blocks to syncing peers
* extract some basic code from libcryptonote_core into libcryptonote_basickenshi842017-02-081-6/+6
|
* Remove boost/foreach.cpp includesMiguel Herranz2017-01-221-1/+0
|
* rpc: fix orphan_status when getting blocksmoneromooo-monero2017-01-221-1/+2
| | | | It was always set to false, even for orphan blocks
* rpc: new function and RPC to get alternative chain infomoneromooo-monero2016-12-171-0/+7
|
* Fix delayed exit when syncingmoneromooo-monero2016-12-041-0/+5
|
* Add a get_outs (fully text based) version of get_outs.binmoneromooo-monero2016-11-221-1/+1
|
* rpc: add a dynamic fee estimation RPC callmoneromooo-monero2016-10-311-0/+14
|
* core: dynamic fee algorithm from ArticMinemoneromooo-monero2016-10-311-0/+27
| | | | | | | | | | | | | | | The fee will vary based on the base reward and the current block size limit: fee = (R/R0) * (M0/M) * F0 R: base reward R0: reference base reward (10 monero) M: block size limit M0: minimum block size limit (60000) F0: 0.002 monero Starts applying at v4
* wallet: select part of the fake outs from recent outputsmoneromooo-monero2016-10-151-1/+2
| | | | | | | 25% of the outputs are selected from the last 5 days (if possible), in order to avoid the common case of sending recently received outputs again. 25% and 5 days are subject to review later, since it's just a wallet level change.
* rct: rework the verification preparation processmoneromooo-monero2016-08-281-2/+13
| | | | | | | | | | The whole rct data apart from the MLSAGs is now included in the signed message, to avoid malleability issues. Instead of passing the data that's not serialized as extra parameters to the verification API, the transaction is modified to fill all that information. This means the transaction can not be const anymore, but it cleaner in other ways.