aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #4617Riccardo Spagni2018-10-261-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 3ffbec15 rpc: init m_rpc_version in Message ctor (moneromooo-monero) bfa2dce1 rpc: remove unused ctors (moneromooo-monero) 7cc39845 account: init creation timestamp to 0 (moneromooo-monero) 32123789 wallet2: initialize some scalar fields in ctor where appropriate (moneromooo-monero) 4eca42b2 blockchain_db: initialize m_hardfork in ctor just in case (moneromooo-monero)
| * | account: init creation timestamp to 0moneromooo-monero2018-10-161-0/+1
| | | | | | | | | | | | | | | | | | Never actually used uninitialized Coverity 136615
* | | Merge pull request #4308Riccardo Spagni2018-10-263-1/+87
|\ \ \ | |_|/ |/| | | | | 9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
| * | cryptonote: sort tx_extra fieldsmoneromooo-monero2018-10-073-1/+87
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #4523Riccardo Spagni2018-10-201-1/+1
|\ \ \ | |_|/ |/| | | | | 6ca00b6d miner: really reset flags/precision on std::cout (moneromooo-monero)
| * | miner: really reset flags/precision on std::coutmoneromooo-monero2018-10-081-1/+1
| | |
* | | Merge pull request #4389Riccardo Spagni2018-10-152-0/+11
|\ \ \ | |/ / |/| | | | | 6844ae1b tx_pool: avoid parsing a whole tx if only the prefix is needed (moneromooo-monero)
| * | tx_pool: avoid parsing a whole tx if only the prefix is neededmoneromooo-monero2018-10-082-0/+11
| | |
* | | Merge pull request #4459Riccardo Spagni2018-09-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero) 3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero) a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero) 1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero) fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero) 2e2139ff epee: do not propagate exception through dtor (moneromooo-monero) 0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero) 1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero) 418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero) ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero) 6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero) 53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero) e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero) 661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero) 5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero) 7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero) a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero) d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero) 02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero) c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
* | | Merge pull request #4299Riccardo Spagni2018-09-182-3/+8
|\ \ \ | | | | | | | | | | | | f9b22a7b hw_device: support for multiple devices added [for review] (Dusan Klinec)
| * | | hw_device: support for multiple devices added [for review]Dusan Klinec2018-09-142-3/+8
| |/ / | | | | | | | | | | | | | | | | | | - device name is a new wallet property - full device name is now a bit more structured so we can address particular device vendor + device path. Example: 'Ledger', 'Trezor:udp', 'Trezor:udp:127.0.0.1:21324', 'Trezor:bridge:usb01'. The part before ':' identifies HW device implementation, the optional part after ':' is device path to look for. - new --hw-device parameter added to the wallet, can name the hardware device - device reconnect added
* | | Merge pull request #3430Riccardo Spagni2018-09-181-3/+7
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 42397359 Fixup 32bit arm build (TheCharlatan) a06d2581 Fix Windows build (TheCharlatan) ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan) cbbf4d24 Adapt translations to upstream changes (TheCharlatan) db571546 Updated pcsc url (TheCharlatan) f0ba19fd Add lrelease to the depends (TheCharlatan) cfb30462 Add Miniupnp submodule (TheCharlatan) 5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan) d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan) 56b6e41e Add support for apple and arm building (TheCharlatan) 29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan) 8db3d573 Modify depends for monero's dependencies (TheCharlatan) 0806a23a Initial depends addition (TheCharlatan)
| * | Add support for apple and arm buildingTheCharlatan2018-09-101-3/+7
| |/ | | | | | | | | | | Add pcsc-lite to linux builds Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
* | Merge pull request #4330Riccardo Spagni2018-09-141-3/+13
|\ \ | | | | | | | | | 93e7627d cryptonote_format_utils: do not early out on invalid tx pubkeys (moneromooo-monero)
| * | cryptonote_format_utils: do not early out on invalid tx pubkeysmoneromooo-monero2018-09-021-3/+13
| |/ | | | | | | Another such pubkey might be valid
* | bulletproofs: scale points by 8 to ensure subgroup validitymoneromooo-monero2018-09-111-1/+1
| |
* | cryptonote_basic: check output type before using itmoneromooo-monero2018-09-111-0/+7
| | | | | | | | Reported by QuarksLab.
* | v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero2018-09-114-28/+64
| |
* | Bulletproof aggregated verification and testsmoneromooo-monero2018-09-112-8/+16
|/ | | | Also constrains bulletproofs to simple rct, for simplicity
* crypto: make secret_key automatically mlockmoneromooo-monero2018-08-161-2/+2
|
* store secret keys encrypted where possiblemoneromooo-monero2018-08-162-0/+82
| | | | | | | | | The secret spend key is kept encrypted in memory, and decrypted on the fly when needed. Both spend and view secret keys are kept encrypted in a JSON field in the keys file. This avoids leaving the keys in memory due to being manipulated by the JSON I/O API.
* Merge pull request #4030luigi11112018-07-191-1/+1
|\ | | | | | | 0c41488 miner: show id and height when a block is found (stoffu)
| * miner: show id and height when a block is foundstoffu2018-06-201-1/+1
| |
* | Merge pull request #3854luigi11112018-07-191-7/+8
|\ \ | | | | | | | | | | | | | | | | | | 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)
| * | add --regtest and --fixed-difficulty for regression testingvictorsintnicolaas2018-06-291-7/+8
| | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #3982luigi11112018-06-271-14/+5
|\ \ \ | | | | | | | | | | | | | | | | 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)
| * | | cryptonote_config: add get_config to refactor x = testnet ? ↵stoffu2018-06-111-14/+5
| | | | | | | | | | | | | | | | config::testnet::X : stagenet ? config::stagenet::X : config::X
* | | | replace std::list with std::vector on some hot pathsmoneromooo-monero2018-06-261-1/+1
| | | | | | | | | | | | | | | | also use reserve where appropriate
* | | | Merge pull request #3757luigi11112018-06-201-0/+5
|\ \ \ \ | |_|_|/ |/| | | | | | | 6f9260e handle optional miner params better (cryptochangements34)
| * | | handle optional miner params bettercryptochangements342018-05-061-0/+5
| | | |
* | | | Merge pull request #3851luigi11112018-06-191-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | a87980f fix build with GCC 8.1.0 (moneromooo-monero)
| * | | | fix build with GCC 8.1.0moneromooo-monero2018-05-261-1/+1
| | | | |
* | | | | Merge pull request #3725luigi11112018-06-161-5/+5
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | 9cc0d42 connection_context: remove state_ prefix from state names (moneromooo-monero) d9d002c daemon: print peer state in sync_info (moneromooo-monero)
| * | | | connection_context: remove "state_" prefix from state namesmoneromooo-monero2018-04-281-5/+5
| | |/ / | |/| | | | | | | | | | It's redundant and makes it easier to print them in columns
* | | | hardfork: fix get_next_version()stoffu2018-05-301-3/+3
| | | |
* | | | hardfork: fix get_earliest_ideal_height_for_version() to support ↵stoffu2018-05-301-4/+8
| |_|/ |/| | | | | | | | non-existent versions
* | | db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero2018-05-232-8/+60
| |/ |/| | | | | This bumps DB version to 2, migration code will run for v1 DBs
* | cryptonote: make sure outPk setup always happensmoneromooo-monero2018-05-071-0/+37
|/
* Fix typos in various filesDimitris Apostolou2018-03-151-1/+1
|
* keypair::generate: always require hw::device to avoid possible mistakestoffu2018-03-141-6/+0
|
* device: untangle cyclic depenencystoffu2018-03-145-200/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* device: made function prototypes consistent with pre-#3303 codebasestoffu2018-03-141-7/+3
|
* Ledger HW Bug fixesCédric2018-03-121-2/+0
| | | | | | | | | | | | | | | | | | | | | | 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
* Monero Cryptonight variants, and add one for v7moneromooo-monero2018-03-051-1/+2
| | | | | This is the first variant of many, with the intent to improve Monero's resistance to ASICs and encourage mining decentralization.
* Merge pull request #3277Riccardo Spagni2018-03-056-28/+32
|\ | | | | | | | | | | | | | | | | 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-056-28/+32
| |
* | Correct spelling mistakes.Edward Betts2018-03-051-1/+1
|/
* Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm2018-03-046-23/+188
| | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #3260Riccardo Spagni2018-02-201-1/+0
|\ | | | | | | b2d4bb9b Remove `voting_version` parameter documentation. (Jean Pierre Dudey)
| * Remove `voting_version` parameter documentation.Jean Pierre Dudey2018-02-131-1/+0
| | | | | | | | Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>