aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #3609Riccardo Spagni2018-04-121-17/+26
|\ | | | | | | 08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
| * tx_pool: fix loading with colliding key imagesmoneromooo-monero2018-04-111-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
* | Merge pull request #3530Riccardo Spagni2018-04-121-2/+3
|\ \ | | | | | | | | | eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
| * | cryptonote_tx_util: make destinations properly shuffledstoffu2018-03-311-2/+3
| | |
* | | Merge pull request #3502Riccardo Spagni2018-04-121-1/+1
|\ \ \ | | | | | | | | | | | | 11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
| * | | fix lambda compile error on openbsdmoneromooo-monero2018-03-271-1/+1
| | |/ | |/|
* / | update block hashes for checkpoints.datRiccardo Spagni2018-03-241-1/+1
|/ /
* / core: fix use of uninitialised datamoneromooo-monero2018-03-181-1/+2
|/
* Move v7 fork to 1546000 to give more update timemoneromooo-monero2018-03-181-2/+2
|
* Merge pull request #3418Riccardo Spagni2018-03-171-1/+2
|\ | | | | | | 20a00266 blockchain: forbid bulletproof types before v8 (moneromooo-monero)
| * blockchain: forbid bulletproof types before v8moneromooo-monero2018-03-161-1/+2
| | | | | | | | | | They were already forbidden implicitely, but let's make that explicit for robustness
* | Merge pull request #3414Riccardo Spagni2018-03-161-1/+1
|\ \ | | | | | | | | | 524cbdc1 blockchain: fix log message about per-kB fee (stoffu)
| * | blockchain: fix log message about per-kB feestoffu2018-03-161-1/+1
| | |
* | | Merge pull request #3336Riccardo Spagni2018-03-163-6/+6
|\ \ \ | | | | | | | | | | | | 57c0b1ed Fix typos in various files (Dimitris Apostolou)
| * | | Fix typos in various filesDimitris Apostolou2018-03-153-6/+6
| |/ /
* | / add RPC to get a histogram of outputs of a given amountmoneromooo-monero2018-03-164-2/+78
| |/ |/|
* | Remove the `Blockchain::get_all_known_block_ids` function.Jean Pierre Dudey2018-03-142-28/+0
|/ | | | | | This function isn't used in the codebase. Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
* keypair::generate: always require hw::device to avoid possible mistakestoffu2018-03-141-1/+1
|
* device: untangle cyclic depenencystoffu2018-03-141-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | When #3303 was merged, a cyclic dependency chain was generated: libdevice <- libcncrypto <- libringct <- libdevice This was because libdevice needs access to a set of basic crypto operations implemented in libringct such as scalarmultBase(), while libringct also needs access to abstracted crypto operations implemented in libdevice such as ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct into libringct_basic and libringct, where the basic crypto ops previously in libringct are moved into libringct_basic. The cyclic dependency is now resolved thanks to this separation: libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct This eliminates the need for crypto_device.cpp and rctOps_device.cpp. Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and get_subaddress_secret_key() were previously implemented in libcryptonote_basic (cryptonote_format_utils.cpp) and were then called from hw::core::device_default, which is odd because libdevice is supposed to be independent of libcryptonote_basic. Therefore, those functions were moved to device_default.cpp.
* Merge pull request #3371Riccardo Spagni2018-03-141-0/+3
|\ | | | | | | 84decbea core: add v7 for 1539500 on mainnet (moneromooo-monero)
| * core: add v7 for 1539500 on mainnetmoneromooo-monero2018-03-071-0/+3
| |
* | Merge pull request #3358Riccardo Spagni2018-03-141-0/+8
|\ \ | | | | | | | | | 978663d4 Stagenet: successive forks up to v7 (stoffu)
| * | Stagenet: successive forks up to v7stoffu2018-03-091-0/+8
| | |
* | | Ledger HW Bug fixesCédric2018-03-121-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the way the REAL mode is handle: Let create_transactions_2 and create_transactions_from construct the vector of transactions. Then iterate on it and resign. We just need to add 'outs' list in the TX struct for that. Fix default secret keys value when DEBUG_HWDEVICE mode is off The magic value (00...00 for view key and FF..FF for spend key) was not correctly set when DEBUG_HWDEVICE was off. Both was set to 00...00. Add sub-address info in ABP map in order to correctly display destination sub-address on device Fix DEBUG_HWDEVICE mode: - Fix compilation errors. - Fix control device init in ledger device. - Add more log. Fix sub addr control Fix debug Info
* / Bump min ring size from 5 to 7 from v7moneromooo-monero2018-03-071-1/+1
|/
* Merge pull request #3338Riccardo Spagni2018-03-051-0/+2
|\ | | | | | | 51219457 core: fix sending to the source address with a short payment id (moneromooo-monero)
| * core: fix sending to the source address with a short payment idmoneromooo-monero2018-03-021-0/+2
| | | | | | | | | | It would fail to send, thinking it needs a destination address, since the destination matches the change address in this case.
* | Merge pull request #3308Riccardo Spagni2018-03-051-1/+4
|\ \ | | | | | | | | | 6f8779d2 blockchain: fix random sync failures (moneromooo-monero)
| * | blockchain: fix random sync failuresmoneromooo-monero2018-02-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a block is added as part of a chunk (when syncing historical blocks), a block may end up already in the blockchain if it was added to the queue before being added to the chain (though it's not clear how that could happen, but it's an implementation detail) and thus may not be added to the chain when add_block is called. This would cause m_blocks_txs_check to not be cleared, causing it to get out of sync at next call, and thus wrongfully reject the next block.
* | | Merge pull request #3277Riccardo Spagni2018-03-055-56/+80
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0e7ad2e2 Wallet API: generalize 'bool testnet' to 'NetworkType nettype' (stoffu) af773211 Stagenet (stoffu) cc9a0bee command_line: allow args to depend on more than one args (stoffu) 55f8d917 command_line::get_arg: remove 'required' for dependent args as they're always optional (stoffu) 450306a0 command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 (stoffu) 9f9e095a Use `genesis_tx` parameter in `generate_genesis_block`. #3261 (Jean Pierre Dudey)
| * | | Stagenetstoffu2018-03-054-46/+79
| | | |
| * | | Use `genesis_tx` parameter in `generate_genesis_block`. #3261Jean Pierre Dudey2018-03-051-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/cryptnote_config.h: The constant `config::testnet::GENESIS_TX` was changed to be the same as `config::GENESIS_TX` (the mainnet's transaction) because the mainnet's transaction was being used for both networks. * src/cryptonote_core/cryptonote_tx_utils.cpp: The `generate_genesis_block` function was ignoring the `genesis_tx` parameter, and instead it was using the `config::GENESIS_TX` constant. That's why the testnet genesis transaction was changed. Also five lines of unused code were removed. Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
* | | | Correct spelling mistakes.Edward Betts2018-03-051-2/+2
|/ / /
* | / Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm2018-03-042-16/+24
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The basic approach it to delegate all sensitive data (master key, secret ephemeral key, key derivation, ....) and related operations to the device. As device has low memory, it does not keep itself the values (except for view/spend keys) but once computed there are encrypted (with AES are equivalent) and return back to monero-wallet-cli. When they need to be manipulated by the device, they are decrypted on receive. Moreover, using the client for storing the value in encrypted form limits the modification in the client code. Those values are transfered from one C-structure to another one as previously. The code modification has been done with the wishes to be open to any other hardware wallet. To achieve that a C++ class hw::Device has been introduced. Two initial implementations are provided: the "default", which remaps all calls to initial Monero code, and the "Ledger", which delegates all calls to Ledger device.
* | cryptonote_core: change wording of fork warning messagemoneromooo-monero2018-02-181-1/+1
|/ | | | | An udpate may or may not be available now, but should be soon if not. This will prevent too many people freaking out.
* Merge pull request #3170Riccardo Spagni2018-02-172-14/+14
|\ | | | | | | | | | | | | b3b2d4d2 options: add testnet option dependencies (whythat) c5f55bb4 common: implement dynamic option dependencies mechanism (whythat) 05a12ccc options: remove testnet-* options (whythat) c33cb60e common: implement dependent option descriptor (whythat)
| * options: add testnet option dependencieswhythat2018-02-161-2/+6
| |
| * options: remove testnet-* optionswhythat2018-02-162-14/+10
| |
* | Merge pull request #3191Riccardo Spagni2018-02-171-2/+10
|\ \ | | | | | | | | | 3607d467 core: add --no-fluffy-blocks, and enable fluffy blocks by default (moneromooo-monero)
| * | core: add --no-fluffy-blocks, and enable fluffy blocks by defaultmoneromooo-monero2018-02-161-2/+10
| |/
* / txpool: Don't bail out when blob_size == tx_size_limitLeon Klingele2018-02-161-2/+2
|/ | | | | Previously, when blob_size == tx_size_limit, the "m_too_big" property was set and the transaction was rejected. This should not have been the case.
* Merge pull request #3226Riccardo Spagni2018-02-161-1/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e4646379 keccak: fix mdlen bounds sanity checking (moneromooo-monero) 2e3e90ac pass large parameters by const ref, not value (moneromooo-monero) 61defd89 blockchain: sanity check number of precomputed hash of hash blocks (moneromooo-monero) 9af6b2d1 ringct: fix infinite loop in unused h2b function (moneromooo-monero) 8cea8d0c simplewallet: double check a new multisig wallet is multisig (moneromooo-monero) 9b98a6ac threadpool: catch exceptions in dtor, to avoid terminate (moneromooo-monero) 24803ed9 blockchain_export: fix buffer overflow in exporter (moneromooo-monero) f3f7da62 perf_timer: rewrite to make it clear there is no division by zero (moneromooo-monero) c6ea3df0 performance_tests: remove add_arg call stray extra param (moneromooo-monero) fa6b4566 fuzz_tests: fix an uninitialized var in setup (moneromooo-monero) 03887f11 keccak: fix sanity check bounds test (moneromooo-monero) ad11db91 blockchain_db: initialize m_open in base class ctor (moneromooo-monero) bece67f9 miner: restore std::cout precision after modification (moneromooo-monero) 1aabd14c db_lmdb: check hard fork info drop succeeded (moneromooo-monero)
| * blockchain: sanity check number of precomputed hash of hash blocksmoneromooo-monero2018-02-021-1/+6
| | | | | | | | Coverity 142951
* | Merge pull request #3248Riccardo Spagni2018-02-161-0/+4
|\ \ | | | | | | | | | d6a0ae96 blockchain: don't try to use hash check array after it's freed (moneromooo-monero)
| * | blockchain: don't try to use hash check array after it's freedmoneromooo-monero2018-02-101-0/+4
| |/ | | | | | | | | It's freed when we've synced past its end, but we might still find an old chain somewhere
* | Merge pull request #3210Riccardo Spagni2018-02-161-1/+8
|\ \ | | | | | | | | | 39992134 txpool: Properly bail out when outputs_amount == inputs_amount (Leon Klingele)
| * | txpool: Properly bail out when outputs_amount == inputs_amountLeon Klingele2018-02-011-1/+8
| |/ | | | | | | | | | | | | | | Previously, when outputs_amount == inputs_amount, the "m_overspend" property was set, whereas "m_fee_too_low" would have been the correct property to set. This is unlikely to ever occur and just something I've noticed while reading through the code.
* | Merge pull request #3205Riccardo Spagni2018-02-163-5/+113
|\ \ | | | | | | | | | | | | bc61ae69 tx_pool: add a max pool size, settable with --max-txpool-size (moneromooo-monero) 3b4e6b35 txpool: increase unmined tx expiry to three days (moneromooo-monero)
| * | tx_pool: add a max pool size, settable with --max-txpool-sizemoneromooo-monero2018-02-073-5/+113
| |/
* | Merge pull request #3171Riccardo Spagni2018-02-162-10/+14
|\ \ | | | | | | | | | 402c9eef cryptonote_tx_utils: fixed logic bug in get_destination_view_key_pub (stoffu)