summaryrefslogtreecommitdiff
path: root/src/cryptonote_basic
Commit message (Collapse)AuthorAgeFilesLines
* hardfork: fix fork determination for historical heightsmoneromooo2019-03-041-1/+1
|
* miner: fix build with boost 1.69moneromooo-monero2019-02-171-1/+1
|
* Cryptonight variant 4 aka CryptonightRSChernykh2019-02-141-1/+1
| | | | It introduces random integer math into the main loop.
* ringct: fix v1 ecdhInfo serializationmoneromooo-monero2019-02-141-16/+2
| | | | | | | The change made for v2 broke v1, and we have no way to know which version we're serializing here. However, since we don't actually care about space savings in this case, we continue serialiazing both mask and amount.
* ringct: the commitment mask is now deterministicmoneromooo-monero2019-02-121-1/+4
| | | | | | saves space in the tx and is safe Found by knaccc
* ringct: encode 8 byte amount, saving 24 bytes per outputmoneromooo-monero2019-02-121-1/+11
| | | | Found by knaccc
* add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero2019-02-121-3/+3
| | | | This makes it easier to modify the bulletproof format
* blockchain: fix wrong hf version when popping multiple blocksmoneromooo-monero2019-02-122-0/+33
| | | | | | 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
* miner: restore stream flags after changing themmoneromooo-monero2018-09-271-1/+2
| | | | Coverity 136462
* miner: do not propagate exceptions through dtormoneromooo-monero2018-09-271-1/+2
| | | | Coverity 161862
* 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)