Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2018-11-15 | Removed a lot of unnecessary includes | Martijn Otto | 2 | -3/+1 | |
2018-11-04 | simplewallet: print the number of show/all transfers | moneromooo-monero | 1 | -1/+0 | |
2018-11-04 | wallet2: only export necessary outputs and key images | moneromooo-monero | 3 | -2/+14 | |
and disable annoying test that requires ridiculous amounts of skullduggery every time some format changes | |||||
2018-10-29 | tests: fix MSYS2 gcc 7.3.0 warning -Wtype-limits | xiphon | 1 | -1/+1 | |
2018-10-27 | unit_tests: fix notify unit test when /tmp does not exist | moneromooo-monero | 1 | -1/+9 | |
2018-10-26 | performance_tests: add ge_p3_tobytes | moneromooo-monero | 2 | -0/+81 | |
2018-10-26 | performance_tests: measure ge_frombytes_vartime only | moneromooo-monero | 1 | -5/+12 | |
not an extra dynamic cast, which might be heavy | |||||
2018-10-24 | unit_tests: notify test special case for the usual weirdo | moneromooo-monero | 1 | -1/+5 | |
2018-10-22 | multiexp: handle pippenger multiexps with part precalc | moneromooo-monero | 1 | -2/+2 | |
2018-10-22 | performance_tests: sc_check and ge_dsm_precomp | moneromooo-monero | 4 | -0/+60 | |
2018-10-18 | Rename "blackball" for clarity | moneromooo-monero | 1 | -5/+5 | |
Apparently some people seem to think it's a censorship list... | |||||
2018-10-17 | unit_tests: fix notify test when run from make *test | moneromooo-monero | 1 | -1/+1 | |
2018-10-16 | unit_tests: call umask before mkstemp | moneromooo-monero | 1 | -0/+10 | |
Coverity 188788 | |||||
2018-10-15 | Fix Windows build after epee dependency change | iDunk5400 | 1 | -4/+0 | |
2018-10-12 | Remove epee header dependency on cryptonote_core | moneromooo-monero | 2 | -0/+2 | |
2018-10-08 | unit_tests: add unit test for alloc alignment being a power of 2 | moneromooo-monero | 1 | -0/+21 | |
2018-10-07 | tests: update crypto tests data file after PRNG changes | moneromooo-monero | 1 | -562/+562 | |
2018-10-07 | cryptonote: sort tx_extra fields | moneromooo-monero | 1 | -0/+84 | |
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-03 | functional_tests: fix linking on Windows | iDunk5400 | 1 | -0/+4 | |
2018-10-02 | Catch more exceptions in dtors | moneromooo-monero | 15 | -0/+31 | |
Misc coverity reports | |||||
2018-10-01 | Multisig M/N functionality core tests added | naughtyfox | 4 | -42/+223 | |
2018-10-01 | Arbitrary M/N multisig schemes: | naughtyfox | 2 | -105/+76 | |
* support in wallet2 * support in monero-wallet-cli * support in monero-wallet-rpc * support in wallet api * support in monero-gen-trusted-multisig * unit tests for multisig wallets creation | |||||
2018-10-01 | unit_tests: add a notifier test | moneromooo-monero | 3 | -1/+117 | |
2018-09-29 | Merge pull request #4459 | Riccardo Spagni | 4 | -38/+47 | |
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) | |||||
2018-09-29 | Merge pull request #4424 | Riccardo Spagni | 2 | -6/+6 | |
92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero) | |||||
2018-09-29 | Merge pull request #4407 | Riccardo Spagni | 1 | -0/+24 | |
43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero) | |||||
2018-09-28 | unit_tests: fix longstanding DNS related unit test | moneromooo-monero | 1 | -1/+1 | |
2018-09-23 | unit_tests: fix build with GCC 5.4.0 on ubuntu | moneromooo-monero | 2 | -6/+6 | |
2018-09-22 | cryptonote tweak v2.2 | Lee Clagett | 1 | -10/+10 | |
2018-09-20 | ringdb: use cursors to be a bit faster | moneromooo-monero | 1 | -0/+24 | |
2018-09-17 | api/wallet: properly disable key encryption | stoffu | 2 | -3/+3 | |
2018-09-16 | Fix missing std::runtime_error def in difficulty.cpp | Howard Chu | 1 | -0/+1 | |
2018-09-15 | unit_tests: sanity check on transaction weight | moneromooo-monero | 1 | -0/+32 | |
2018-09-15 | tests: update test wallet keys file for encrypted keys | moneromooo-monero | 1 | -0/+0 | |
2018-09-14 | remove obsolete daemon selection of fake outs and old tx construction | moneromooo-monero | 1 | -6/+6 | |
2018-09-12 | Adding expect<T> - a value-or-error implementation | Lee Clagett | 2 | -0/+916 | |
2018-09-12 | wipeable_string: add hex_to_pod function | moneromooo-monero | 1 | -0/+7 | |
2018-09-11 | bulletproofs: speed up the latest changes a bit | moneromooo-monero | 3 | -0/+13 | |
2018-09-11 | performance_tests: add padded bulletproof construction | moneromooo-monero | 2 | -2/+14 | |
2018-09-11 | core_tests: add a test for 4-aggregated BP verification | moneromooo-monero | 3 | -0/+16 | |
2018-09-11 | fuzz_tests: add a bulletproof fuzz test | moneromooo-monero | 3 | -0/+85 | |
2018-09-11 | unit_tests: add a few more multiexp unit tests | moneromooo-monero | 1 | -2/+52 | |
2018-09-11 | core_tests: add a test for a tx with empty bulletproof | moneromooo-monero | 3 | -0/+20 | |
2018-09-11 | v8: per byte fee, pad bulletproofs, fixed 11 ring size | moneromooo-monero | 14 | -255/+271 | |
2018-09-11 | bulletproofs: a few fixes from the Kudelski review | moneromooo-monero | 1 | -10/+0 | |
- fix integer overflow in n_bulletproof_amounts - check input scalars are in range - remove use of environment variable to tweak straus performance - do not use implementation defined signed shift for signum | |||||
2018-09-11 | bulletproofs: reject points not in the main subgroup | moneromooo-monero | 3 | -0/+64 | |
2018-09-11 | Add Pippenger cache and limit Straus cache size | moneromooo-monero | 2 | -9/+135 | |
2018-09-11 | add pippenger unit tests | moneromooo-monero | 1 | -0/+55 | |
2018-09-11 | performance_tests: add stats and loop count multiplier options | moneromooo-monero | 2 | -317/+409 | |
Stats are: min, median, standard deviation | |||||
2018-09-11 | performance_tests: add aggregated bulletproof tx verification | moneromooo-monero | 2 | -0/+81 | |
2018-09-11 | Pippenger multiexp | moneromooo-monero | 2 | -1/+146 | |
Based on sarang's python code | |||||
2018-09-11 | precalc the ge_p3 representation of H | moneromooo-monero | 1 | -0/+7 | |
2018-09-11 | performance_tests: document the tested bulletproof layouts | moneromooo-monero | 1 | -8/+8 | |
2018-09-11 | unit_tests: a couple more bulletproof unit tests for gamma | moneromooo-monero | 1 | -0/+19 | |
2018-09-11 | require canonical multi output bulletproof layout | moneromooo-monero | 3 | -13/+13 | |
2018-09-11 | Bulletproof aggregated verification and tests | moneromooo-monero | 9 | -17/+590 | |
Also constrains bulletproofs to simple rct, for simplicity | |||||
2018-09-11 | aligned: aligned memory alloc/realloc/free | moneromooo-monero | 2 | -1/+88 | |
2018-09-11 | performance_tests: add signature generation/verification | moneromooo-monero | 3 | -0/+72 | |
2018-09-11 | bulletproofs: add aggregated verification | moneromooo-monero | 5 | -0/+87 | |
Ported from sarang's java code | |||||
2018-09-11 | make straus cached mode thread safe, and add tests for it | moneromooo-monero | 4 | -1/+163 | |
2018-09-11 | bulletproofs: add multi output bulletproofs to rct | moneromooo-monero | 4 | -3/+66 | |
2018-09-11 | performance_tests: add tx checking tests with more than 2 outputs | moneromooo-monero | 2 | -12/+23 | |
2018-09-11 | performance_tests: add a --verbose flag, and default to terse | moneromooo-monero | 2 | -121/+135 | |
2018-09-11 | add Straus multiexp | moneromooo-monero | 3 | -0/+97 | |
2018-09-11 | performance_tests: add crypto ops | moneromooo-monero | 3 | -0/+133 | |
2018-09-11 | performance_tests: add bulletproofs | moneromooo-monero | 3 | -0/+73 | |
2018-09-11 | performance_tests: add RingCT MLSAG gen/ver tests | moneromooo-monero | 1 | -0/+10 | |
2018-09-11 | performance_tests: add (Borromean) range proofs | moneromooo-monero | 3 | -0/+68 | |
2018-09-11 | bulletproofs: multi-output bulletproofs | moneromooo-monero | 1 | -0/+19 | |
2018-09-11 | performance_tests: don't override log level to 0 | moneromooo-monero | 1 | -1/+0 | |
2018-09-10 | record blackballs as amount/offset, and add export ability | moneromooo-monero | 1 | -4/+4 | |
2018-09-09 | Cryptonight variant 2 | SChernykh | 3 | -2/+216 | |
Contains two modifications to improve ASIC resistance: shuffle and integer math. Shuffle makes use of the whole 64-byte cache line instead of 16 bytes only, making Cryptonight 4 times more demanding for memory bandwidth. Integer math adds 64:32 bit integer division followed by 64 bit integer square root, adding large and unavoidable computational latency to the main loop. More details and performance numbers: https://github.com/SChernykh/xmr-stak-cpu/blob/master/README.md | |||||
2018-08-25 | is_hdd update | p8p | 2 | -1/+19 | |
2018-08-23 | unit_tests: disable mlocker tests on windows (no implementation) | moneromooo-monero | 1 | -0/+8 | |
2018-08-23 | add and use constant time 32 byte equality function | moneromooo-monero | 3 | -0/+93 | |
2018-08-23 | wallet: store trusted-daemon flag in wallet2 | stoffu | 1 | -1/+1 | |
2018-08-20 | unit_tests: add tests for incremental keccak | moneromooo-monero | 2 | -0/+151 | |
2018-08-16 | common: add a class to safely wrap mlock/munlock | moneromooo-monero | 2 | -0/+187 | |
This class will allow mlocking small objects, of which there may be several per page. It adds refcounting so pages are only munlocked when the last object on that page munlocks. | |||||
2018-08-16 | store secret keys encrypted where possible | moneromooo-monero | 5 | -4/+89 | |
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. | |||||
2018-08-16 | wallet: wipe seed from memory where appropriate | moneromooo-monero | 3 | -6/+231 | |
2018-08-16 | wallet2: make --restricted-rpc available for wallet RPC only | stoffu | 1 | -2/+1 | |
2018-08-15 | unit_tests: remove std::move in return statement | moneromooo-monero | 1 | -1/+1 | |
This actually prevents copy elision | |||||
2018-08-14 | fuzz: set address properly | stoffu | 1 | -0/+1 | |
2018-08-13 | fuzz_tests: use __AFL_INIT when available | moneromooo-monero | 1 | -0/+4 | |
alleged to speed things up | |||||
2018-08-08 | wallet: allow adjusting number of rounds for the key derivation function | stoffu | 1 | -1/+1 | |
2018-08-07 | fixed cncrypto tests not passing after the change in random_scalar | Maxim Shishmarev | 1 | -1024/+1024 | |
2018-08-03 | Added features to epee::span<T> : | Lee Clagett | 1 | -1/+56 | |
- Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span` | |||||
2018-08-02 | Fixed ZMQ-RPC for transactions and GET_BLOCKS_FAST | Lee Clagett | 2 | -0/+219 | |
2018-07-30 | blockchain_db: remove unused get_output_key variant | moneromooo-monero | 1 | -1/+0 | |
It was actually incorrect, as it would not return commitment | |||||
2018-07-28 | unit_tests: use valid key images, pub keys, etc | moneromooo-monero | 1 | -5/+9 | |
2018-07-22 | tests: ringdb: use system's temporary dir path | redfish | 1 | -4/+4 | |
Fixes failing test during Arch package build (due to attempt to write to ~/.bitmonero/...). Prefix temp dir path with "monero-" because we are not putting it on the system, so good to identify ourselves in case the dir gets left over due to crash, etc. | |||||
2018-07-20 | crypto: do not use boost::value_initialized to init null skey/pkey | moneromooo-monero | 1 | -0/+8 | |
2018-07-13 | db: store cumulative rct output distribution in the db for speed | moneromooo-monero | 1 | -18/+20 | |
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-07 | core_tests: add --filter to select which tests to run | moneromooo-monero | 3 | -20/+8 | |
2018-07-05 | crypto: remove slight bias in key generation due to modulo | moneromooo-monero | 2 | -0/+48 | |
2018-06-29 | first new functional tests | victorsintnicolaas | 7 | -0/+478 | |
2018-06-29 | add --regtest and --fixed-difficulty for regression testing | victorsintnicolaas | 1 | -0/+1 | |
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-28 | remove epee from link lines where it's redundant | moneromooo-monero | 1 | -1/+0 | |
For some reason, this confuses and kills ASAN on startup as it thinks const uint8_t ipv4_network_address::ID is defined multiple times. | |||||
2018-06-28 | gtest: use -fPIC with CLANG too | moneromooo-monero | 1 | -0/+4 | |
2018-06-27 | unit_tests: do not recreate the same base rct sig all the time | moneromooo-monero | 1 | -4/+18 | |
Helps a bit when running with valgrind | |||||
2018-06-26 | threadpool: allow leaf functions to run concurrently | moneromooo-monero | 1 | -6/+51 | |
Decrease the number of worker threads by one to account for the fact the calling thread acts as a worker thread now | |||||
2018-06-26 | replace std::list with std::vector on some hot paths | moneromooo-monero | 10 | -29/+29 | |
also use reserve where appropriate | |||||
2018-06-23 | Changed URLs to HTTPS | einsteinsfool | 1 | -1/+1 | |
2018-06-20 | rpc: add blockchain disk size to getinfo | moneromooo-monero | 1 | -0/+1 | |
This should help new nodes predict how much disk space will be needed for a full sync | |||||
2018-06-13 | wallet: on first refresh, start off with a quantized height | moneromooo-monero | 1 | -7/+7 | |
for privacy reasons, so an untrusted node can't easily track wallets from IP address to IP address, etc. The granularity is 1024 blocks, which is about a day and a half. | |||||
2018-06-10 | epee: adaptive connection timeout system | moneromooo-monero | 2 | -0/+2 | |
a connection's timeout is halved for every extra connection from the same host. Also keep track of when we don't need to use a connection anymore, so we can close it and free the resource for another connection. Also use the longer timeout for non routable local addresses. | |||||
2018-06-06 | ringct: remove an unnecessary scalarmultBase in zeroCommit | moneromooo-monero | 1 | -0/+10 | |
2018-06-01 | unit_tests: add tests for local IP range detection | moneromooo-monero | 1 | -0/+32 | |
2018-05-30 | unit_tests/hardfork: add tests for get_voting_info() | stoffu | 1 | -0/+49 | |
2018-05-30 | hardfork: fix get_next_version() | stoffu | 1 | -0/+29 | |
2018-05-30 | unit_tests/hardfork: add tests for check_for_height() | stoffu | 1 | -0/+24 | |
2018-05-30 | hardfork: fix get_earliest_ideal_height_for_version() to support ↵ | stoffu | 1 | -0/+25 | |
non-existent versions | |||||
2018-05-23 | db_lmdb: save pruned and prunable tx data separately | moneromooo-monero | 1 | -2/+4 | |
This bumps DB version to 2, migration code will run for v1 DBs | |||||
2018-05-21 | unit_tests: fix build after get_output_didstribution signature change | moneromooo-monero | 1 | -1/+1 | |
2018-05-21 | speed up get_output_distribution (and precalc common case) | moneromooo-monero | 1 | -0/+1 | |
2018-05-21 | Revert "Merge pull request #3775" | Riccardo Spagni | 1 | -1/+1 | |
This reverts commit 20ef37bbcac7715d5299dd77d401583420e07ced, reversing changes made to 40070a661fd2ff503e07f4ed48dfe9fe67cfa297. | |||||
2018-05-20 | unit_tests: add threadpool unit test | moneromooo-monero | 2 | -0/+102 | |
2018-05-15 | unit_tests: set default data dir to the source tree at build time | moneromooo-monero | 2 | -8/+5 | |
2018-04-28 | unit_tests: fix build after get_output_didstribution signature change | moneromooo-monero | 1 | -1/+1 | |
2018-04-22 | Only log an error if fork version is higher AND is not known. | Thaer Khawaja | 2 | -0/+2 | |
2018-04-12 | unit_tests: add device unit tests | moneromooo-monero | 2 | -0/+132 | |
Annoyingly, its locking semantics are borked since it does not do any locking | |||||
2018-04-11 | unit_tests: add ringdb unit tests | moneromooo-monero | 2 | -1/+166 | |
2018-04-11 | gtest: Fix compilation on MinGW with pthread /googletest#621 | stoffu | 2 | -5/+2 | |
2018-03-27 | performance_tests: fix subaddress expansion test not expanding | moneromooo-monero | 1 | -1/+1 | |
2018-03-21 | core: add get_earliest_ideal_height_for_version() | stoffu | 2 | -0/+2 | |
2018-03-16 | add RPC to get a histogram of outputs of a given amount | moneromooo-monero | 1 | -1/+2 | |
2018-03-15 | Fix typos in various files | Dimitris Apostolou | 2 | -4/+4 | |
2018-03-14 | tests/hash: correctly reference crypto HASH_SIZE for less confusion | AnythingTechPro | 1 | -1/+1 | |
2018-03-14 | chacha: call prehashed version explicitly as generate_chacha_key_prehashed | stoffu | 1 | -2/+2 | |
hash: add prehashed version cn_slow_hash_prehashed slow-hash: let cn_slow_hash take 4th parameter for deciding prehashed or not slow-hash: add support for prehashed version for the other 3 platforms | |||||
2018-03-14 | crypto: revert odd namespace changes made in #3303 | stoffu | 1 | -6/+6 | |
2018-03-14 | keypair::generate: always require hw::device to avoid possible mistake | stoffu | 3 | -4/+4 | |
2018-03-14 | device: untangle cyclic depenency | stoffu | 1 | -3/+0 | |
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. | |||||
2018-03-14 | fuzz_tests: set small subaddress lookahead for speed | moneromooo-monero | 3 | -0/+3 | |
2018-03-06 | Wallet API: make nettype non-defaulted to disambiguate from deprecated ↵ | stoffu | 1 | -51/+51 | |
versions (and make libwallet_api_tests compilable) | |||||
2018-03-05 | tweaks to the monerov1 cryptonight algorithm | Lee Clagett | 1 | -5/+5 | |
2018-03-05 | Monero Cryptonight variants, and add one for v7 | moneromooo-monero | 3 | -3/+15 | |
This is the first variant of many, with the intent to improve Monero's resistance to ASICs and encourage mining decentralization. | |||||
2018-03-05 | Correct spelling mistakes. | Edward Betts | 5 | -5/+5 | |
2018-03-05 | Stagenet | stoffu | 11 | -38/+38 | |
2018-03-04 | Code modifications to integrate Ledger HW device into monero-wallet-cli. | cslashm | 14 | -32/+48 | |
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. | |||||
2018-02-16 | options: remove testnet-* options | whythat | 1 | -2/+1 | |
2018-02-12 | unit_tests.serialization: refactored with ASSERT_EQ_MAP | stoffu | 1 | -17/+21 | |
2018-02-12 | unit_tests: added gtest utility ASSERT_EQ_MAP for easily testing key-value map | stoffu | 1 | -0/+7 | |
2018-02-08 | dns: change default DNS to a worldwide selection | moneromooo-monero | 1 | -13/+15 | |
DNSSEC aware servers picked from https://wiki.ipfire.org/dns/public-servers | |||||
2018-02-07 | Fix coverity issues in performance_tests/main.cpp | h908714124 | 1 | -0/+2 | |
2018-02-02 | pass large parameters by const ref, not value | moneromooo-monero | 1 | -1/+1 | |
Coverity 136394 136397 136409 136526 136529 136533 175302 | |||||
2018-02-02 | performance_tests: remove add_arg call stray extra param | moneromooo-monero | 1 | -1/+1 | |
Coverity 182572 | |||||
2018-02-02 | fuzz_tests: fix an uninitialized var in setup | moneromooo-monero | 1 | -2/+3 | |
and comment it out, it's only used to generate a starting test case Coverity 182506 | |||||
2018-01-28 | Tests: Fix building of two fuzz tests on Windows | iDunk5400 | 1 | -0/+2 | |
2018-01-26 | Readd copyright starting date | xmr-eric | 27 | -27/+27 | |
2018-01-26 | Update 2018 copyright | xmr-eric | 144 | -144/+144 | |
2018-01-26 | performance_tests: fix build after merging two conflicting patches | moneromooo-monero | 1 | -8/+8 | |
2018-01-18 | unit_tests: do not ASSERT_TRUE(decodeRct(...)) | moneromooo-monero | 1 | -5/+5 | |
decodeRct returns the amount, which may be zero | |||||
2018-01-10 | move memwipe to epee to avoid common<->crypto circular dependencies | moneromooo-monero | 1 | -1/+1 | |
2018-01-10 | epee: remove dependency on common | moneromooo-monero | 1 | -8/+14 | |
2018-01-08 | fix for warning | Onur Altun | 1 | -1/+1 | |
monero/tests/unit_tests/memwipe.cpp:50:8: Warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else] if (wipe) ASSERT_TRUE(memcmp(quux, "bar", 3)); | |||||
2018-01-05 | Factor the monero donation address | Maxithi | 1 | -1/+2 | |
Signed-off-by: Maxithi <34792056+Maxithi@users.noreply.github.com> | |||||
2018-01-04 | performance_tests: add a --filter option to select what to run | moneromooo-monero | 2 | -63/+108 | |
Removes a good bit of annoyance running those | |||||
2017-12-31 | performance_tests: add RingCT MLSAG gen/ver tests | moneromooo-monero | 2 | -0/+97 | |
2017-12-31 | Add misc hardening flags to the cmake machinery | moneromooo-monero | 1 | -1/+1 | |
See https://wiki.debian.org/Hardening#User_Space | |||||
2017-12-25 | Add a chacha20 variant to go with chacha8 | moneromooo-monero | 3 | -6/+6 | |
2017-12-23 | tests: add levin fuzz test | moneromooo-monero | 3 | -0/+359 | |
2017-12-23 | tests: add http client fuzz test | moneromooo-monero | 3 | -0/+120 | |
2017-12-23 | add parse_url fuzz test | moneromooo-monero | 4 | -0/+89 | |
2017-12-23 | tests: add base58 fuzz test | moneromooo-monero | 4 | -0/+87 | |
2017-12-23 | tests: don't init stuff we don't need in fuzz tests - faster | moneromooo-monero | 1 | -32/+1 | |
2017-12-23 | tests: better load-from-binary fuzz test data file | moneromooo-monero | 1 | -0/+0 | |
Looks like there's some kind of header/signature | |||||
2017-12-23 | add load_from_binary/load_from_json fuzzers | moneromooo-monero | 5 | -0/+177 | |
2017-12-22 | factor STL container serialization | moneromooo-monero | 2 | -2/+0 | |
2017-12-20 | Fix exceptions not finding txpool txes when relaying | moneromooo-monero | 1 | -1/+1 | |
2017-12-19 | tests: remove unused/unfinished keccak bits | moneromooo-monero | 1 | -24/+0 | |
The author doesn't seem to be finishing/fixing this, and it doesn't do anything. | |||||
2017-12-19 | tests: test wallets don't need a dummy temp file anymore | moneromooo-monero | 4 | -43/+4 | |
2017-12-18 | performance_tests: add a test for subaddress expansion | moneromooo-monero | 3 | -0/+70 | |
2017-12-18 | tests: fix a buffer overread in a unit test | moneromooo-monero | 1 | -3/+1 | |
and remove a leftover debugging sanity check | |||||
2017-12-18 | tests: fix link error in hash tests now needing common | moneromooo-monero | 1 | -0/+1 | |
2017-12-17 | core_tests: multisig test now tests multiple inputs | moneromooo-monero | 3 | -136/+209 | |
2017-12-17 | Match surae's recommendation to derive multisig keys | moneromooo-monero | 1 | -4/+6 | |
2017-12-17 | wallet2: fix slow multisig unit tests with subaddress patch | moneromooo-monero | 1 | -0/+1 | |
While there, move the wallet2 ctor to the cpp file as it's a huge amount of init list now, and remove an unused one. | |||||
2017-12-17 | make multisig work with subaddresses | moneromooo-monero | 1 | -7/+11 | |
Thanks to kenshi84 for help getting this work | |||||
2017-12-17 | wallet: guard against partly initialized multisig wallet | moneromooo-monero | 1 | -5/+12 | |
2017-12-17 | add multisig core test and factor multisig building blocks | moneromooo-monero | 6 | -0/+716 | |
2017-12-17 | N-1/N multisig | moneromooo-monero | 1 | -7/+19 | |
2017-12-17 | gen_multisig: generates multisig wallets if participants trust each other | moneromooo-monero | 1 | -8/+8 | |
2017-12-17 | wallet2: allow empty wallet filename to avoid saving data | moneromooo-monero | 1 | -11/+1 | |
Useful to speed tests up and avoid unnecessary leftover files | |||||
2017-12-17 | tests: add multisig unit tests | moneromooo-monero | 2 | -0/+179 | |
2017-12-17 | Add N/N multisig tx generation and signing | moneromooo-monero | 2 | -10/+10 | |
Scheme by luigi1111: Multisig for RingCT on Monero 2 of 2 User A (coordinator): Spendkey b,B Viewkey a,A (shared) User B: Spendkey c,C Viewkey a,A (shared) Public Address: C+B, A Both have their own watch only wallet via C+B, a A will coordinate spending process (though B could easily as well, coordinator is more needed for more participants) A and B watch for incoming outputs B creates "half" key images for discovered output D: I2_D = (Hs(aR)+c) * Hp(D) B also creates 1.5 random keypairs (one scalar and 2 pubkeys; one on base G and one on base Hp(D)) for each output, storing the scalar(k) (linked to D), and sending the pubkeys with I2_D. A also creates "half" key images: I1_D = (Hs(aR)+b) * Hp(D) Then I_D = I1_D + I2_D Having I_D allows A to check spent status of course, but more importantly allows A to actually build a transaction prefix (and thus transaction). A builds the transaction until most of the way through MLSAG_Gen, adding the 2 pubkeys (per input) provided with I2_D to his own generated ones where they are needed (secret row L, R). At this point, A has a mostly completed transaction (but with an invalid/incomplete signature). A sends over the tx and includes r, which allows B (with the recipient's address) to verify the destination and amount (by reconstructing the stealth address and decoding ecdhInfo). B then finishes the signature by computing ss[secret_index][0] = ss[secret_index][0] + k - cc[secret_index]*c (secret indices need to be passed as well). B can then broadcast the tx, or send it back to A for broadcasting. Once B has completed the signing (and verified the tx to be valid), he can add the full I_D to his cache, allowing him to verify spent status as well. NOTE: A and B *must* present key A and B to each other with a valid signature proving they know a and b respectively. Otherwise, trickery like the following becomes possible: A creates viewkey a,A, spendkey b,B, and sends a,A,B to B. B creates a fake key C = zG - B. B sends C back to A. The combined spendkey C+B then equals zG, allowing B to spend funds at any time! The signature fixes this, because B does not know a c corresponding to C (and thus can't produce a signature). 2 of 3 User A (coordinator) Shared viewkey a,A "spendkey" j,J User B "spendkey" k,K User C "spendkey" m,M A collects K and M from B and C B collects J and M from A and C C collects J and K from A and B A computes N = nG, n = Hs(jK) A computes O = oG, o = Hs(jM) B anc C compute P = pG, p = Hs(kM) || Hs(mK) B and C can also compute N and O respectively if they wish to be able to coordinate Address: N+O+P, A The rest follows as above. The coordinator possesses 2 of 3 needed keys; he can get the other needed part of the signature/key images from either of the other two. Alternatively, if secure communication exists between parties: A gives j to B B gives k to C C gives m to A Address: J+K+M, A 3 of 3 Identical to 2 of 2, except the coordinator must collect the key images from both of the others. The transaction must also be passed an additional hop: A -> B -> C (or A -> C -> B), who can then broadcast it or send it back to A. N-1 of N Generally the same as 2 of 3, except participants need to be arranged in a ring to pass their keys around (using either the secure or insecure method). For example (ignoring viewkey so letters line up): [4 of 5] User: spendkey A: a B: b C: c D: d E: e a -> B, b -> C, c -> D, d -> E, e -> A Order of signing does not matter, it just must reach n-1 users. A "remaining keys" list must be passed around with the transaction so the signers know if they should use 1 or both keys. Collecting key image parts becomes a little messy, but basically every wallet sends over both of their parts with a tag for each. Thia way the coordinating wallet can keep track of which images have been added and which wallet they come from. Reasoning: 1. The key images must be added only once (coordinator will get key images for key a from both A and B, he must add only one to get the proper key actual key image) 2. The coordinator must keep track of which helper pubkeys came from which wallet (discussed in 2 of 2 section). The coordinator must choose only one set to use, then include his choice in the "remaining keys" list so the other wallets know which of their keys to use. You can generalize it further to N-2 of N or even M of N, but I'm not sure there's legitimate demand to justify the complexity. It might also be straightforward enough to support with minimal changes from N-1 format. You basically just give each user additional keys for each additional "-1" you desire. N-2 would be 3 keys per user, N-3 4 keys, etc. The process is somewhat cumbersome: To create a N/N multisig wallet: - each participant creates a normal wallet - each participant runs "prepare_multisig", and sends the resulting string to every other participant - each participant runs "make_multisig N A B C D...", with N being the threshold and A B C D... being the strings received from other participants (the threshold must currently equal N) As txes are received, participants' wallets will need to synchronize so that those new outputs may be spent: - each participant runs "export_multisig FILENAME", and sends the FILENAME file to every other participant - each participant runs "import_multisig A B C D...", with A B C D... being the filenames received from other participants Then, a transaction may be initiated: - one of the participants runs "transfer ADDRESS AMOUNT" - this partly signed transaction will be written to the "multisig_monero_tx" file - the initiator sends this file to another participant - that other participant runs "sign_multisig multisig_monero_tx" - the resulting transaction is written to the "multisig_monero_tx" file again - if the threshold was not reached, the file must be sent to another participant, until enough have signed - the last participant to sign runs "submit_multisig multisig_monero_tx" to relay the transaction to the Monero network | |||||
2017-12-17 | unit_tests: fix memwipe test comparison | moneromooo-monero | 1 | -1/+1 | |
free might overwrite the memory, so we can't expect to see the NULs we overwrote with, but at least we shouldn't see the original data. | |||||
2017-12-16 | cryptonote_core does not depend on p2p anymore | moneromooo-monero | 4 | -1/+15 | |
As a followon side effect, this makes a lot of inline code included only in particular cpp files (and instanciated when necessary. | |||||
2017-12-16 | move includes around to lessen overall load | moneromooo-monero | 11 | -6/+13 | |
2017-12-16 | Scrub keys from memory just before scope end. | moneromooo-monero | 1 | -0/+1 | |
Partially implements #74. Securely erases keys from memory after they are no longer needed. Might have a performance impact, which I haven't measured (perf measurements aren't generally reliable on laptops). Thanks to @stoffu for the suggestion to specialize the pod_to_hex/hex_to_pod functions. Using overloads + SFINAE instead generalizes it so other types can be marked as scrubbed without adding more boilerplate. | |||||
2017-12-08 | add bulletproofs from v7 on testnet | moneromooo-monero | 2 | -2/+2 | |
2017-12-08 | integrate bulletproofs into monero | moneromooo-monero | 1 | -0/+1 | |
2017-12-08 | add bulletproofs to the build, with basic unit tests | moneromooo-monero | 2 | -0/+71 | |
Based on Java code from Sarang Noether | |||||
2017-12-07 | util: allow non numeric version parts | moneromooo-monero | 1 | -0/+2 | |
2017-11-27 | new wipeable_string class to replace std::string passphrases | moneromooo-monero | 1 | -1/+1 | |
2017-11-27 | add a memwipe function | moneromooo-monero | 2 | -0/+67 | |
It's meant to avoid being optimized out memory_cleanse lifted from bitcoin | |||||
2017-11-26 | tests: disable libwallet_api_tests when BUILD_GUI_DEPS is not set | moneromooo-monero | 1 | -1/+3 | |
2017-11-16 | split wallet and wallet_api | moneromooo-monero | 2 | -1/+2 | |
This speeds up building a lot when wallet2.h (or something it includes) changes, since all the API includes wallet2.h | |||||
2017-11-15 | unit_tests: fix running without --data-dir | moneromooo-monero | 1 | -2/+2 | |
While there, also use the new is_arg_defaulted API instead of going to poke the internal API directly. | |||||
2017-11-14 | unit_tests: fix build after wallet2 list/vector change | moneromooo-monero | 1 | -2/+2 | |
2017-11-14 | move cryptonote command line options to cryptonote_core | moneromooo-monero | 6 | -6/+2 | |
Those have no reason to be in a generic module |