aboutsummaryrefslogtreecommitdiff
path: root/tests/unit_tests (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-03-04ArticMine's new block weight algorithmmoneromooo-monero6-175/+414
This curbs runaway growth while still allowing substantial spikes in block weight Original specification from ArticMine: here is the scaling proposal Define: LongTermBlockWeight Before fork: LongTermBlockWeight = BlockWeight At or after fork: LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight) Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time. Define: LongTermEffectiveMedianBlockWeight LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight)) Change Definition of EffectiveMedianBlockWeight From (current definition) EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight)) To (proposed definition) EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight) Notes: 1) There are no other changes to the existing penalty formula, median calculation, fees etc. 2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork. 3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty. Note: the long term block weight is stored in the database, but not in the actual block itself, since it requires recalculating anyway for verification.
2019-01-28Adding initial support for broadcasting transactions over TorLee Clagett4-8/+936
- Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
2019-01-28notify: handle arbitrary tagsmoneromooo-monero1-1/+1
2019-01-28Merge pull request #5064Riccardo Spagni1-0/+36
5ecc5cc7 added two tests for partial word and case tolerance in mnemonics (Paul Shapiro)
2019-01-28Merge pull request #5052Riccardo Spagni5-38/+23
b6534c40 ringct: remove unused senderPk from ecdhTuple (moneromooo-monero) 7d375981 ringct: the commitment mask is now deterministic (moneromooo-monero) 99d946e6 ringct: encode 8 byte amount, saving 24 bytes per output (moneromooo-monero) cdc3ccec ringct: save 3 bytes on bulletproof size (moneromooo-monero) f931e16c add a bulletproof version, new bulletproof type, and rct config (moneromooo-monero)
2019-01-22ringct: remove unused senderPk from ecdhTuplemoneromooo-monero2-4/+0
This was an early ringct field, which was never used in production
2019-01-22ringct: the commitment mask is now deterministicmoneromooo-monero2-36/+0
saves space in the tx and is safe Found by knaccc
2019-01-22ringct: encode 8 byte amount, saving 24 bytes per outputmoneromooo-monero2-5/+21
Found by knaccc
2019-01-22add a bulletproof version, new bulletproof type, and rct configmoneromooo-monero4-10/+19
This makes it easier to modify the bulletproof format
2019-01-22Pruningmoneromooo-monero3-0/+243
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2019-01-18Merge pull request #5028Riccardo Spagni1-1/+1
464097e5 blockchain_ancestry: allow getting ancestry of a single output (moneromooo-monero) a6216d1a blockchain_db: allow getting output keys without commitment (moneromooo-monero)
2019-01-16blockchain_db: allow getting output keys without commitmentmoneromooo-monero1-1/+1
Since the commitment has to be calculated for non rct outputs, it slows down a lot unnecessarily if we don't need it
2019-01-16epee: speedup word/number matchingmoneromooo-monero1-0/+84
Number matching semantics are slightly changed: since this is used as a filter to check whether a number is signed and/or floating point, we can speed this up further. strto* functions are called afterwards and will error out where necessary. We now also accept numbers like .4 which were not accepted before. The strto* calls on a boost::string_ref will not access unallocated memory since the parsers always stop at the first bad character, and the original string is zero terminated. in arbitrary time measurement units for some arbitrary test case: match_number2: 235 -> 70 match_word2: 330 -> 108
2019-01-16Merge pull request #4984Riccardo Spagni1-1/+1
008647d7 blockchain_db: speedup tx output gathering (moneromooo-monero)
2019-01-16Merge pull request #4976Riccardo Spagni2-4/+73
85665003 epee: better network buffer data structure (moneromooo-monero)
2019-01-11added two tests for partial word and case tolerance in mnemonicsPaul Shapiro1-1/+36
2019-01-07Make get_output_key method constmoneroexamples1-2/+2
get_output_key method is commonly used when working with txs and their key images. Because the method is not const, passing blockchain object though const& or pointers to const is not possible in this context. This is especially problematic in external projects (e.g., projects in moneroexamples) that use monero C++ api to operate on the blockchain and txs. Thus, having get_output_key method will simplify moving blockchain object around through const references and pointers to const objects.
2019-01-06Merge pull request #4952Riccardo Spagni1-3/+3
570dd369 p2p: use vector instead of list for peer lists (moneromooo-monero)
2018-12-31Merge pull request #4941luigi11111-5/+16
1cfd6f1 unit_tests: strengthen notify test against OS scheduling (moneromooo-monero)
2018-12-23epee: better network buffer data structuremoneromooo-monero2-4/+73
avoids pointless allocs and memcpy
2018-12-18blockchain_db: speedup tx output gatheringmoneromooo-monero1-1/+1
We know all the data we'll want for getblocks.bin is contiguous
2018-12-12Merge pull request #4901Riccardo Spagni1-0/+1
a48f2dab blockchain_prune_known_spent_data: blackball file is now optional (moneromooo-monero) 17b45725 Outputs where all amounts are known spent can now be pruned (moneromooo-monero)
2018-12-12Merge pull request #4787Riccardo Spagni1-0/+1
3dba7f25 protocol: option to pad transaction relay to the next kB (moneromooo-monero)
2018-12-07p2p: use vector instead of list for peer listsmoneromooo-monero1-3/+3
2018-12-05unit_tests: strengthen notify test against OS schedulingmoneromooo-monero1-5/+16
2018-12-04Merge pull request #4895Riccardo Spagni1-1/+1
3de7d52f unit_tests: fix malloc/delete mismatch (moneromooo-monero)
2018-12-04Merge pull request #4894Riccardo Spagni5-9/+6
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero) 1a0733e5 windows_service: fix memory leak (moneromooo-monero) 0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero) 5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero) d4f50cb1 remove some unused code (moneromooo-monero) 61163971 a few minor (but easy) performance tweaks (moneromooo-monero) 30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04move int-util.h to epeemoneromooo-monero1-1/+1
2018-12-04Merge pull request #4854Riccardo Spagni1-1/+1
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04Merge pull request #4850Riccardo Spagni1-0/+29
b36353e2 unit_tests: add some hex parsing test for non hex input (xiphon) 6671110c unit_tests: add a test for parse_hexstr_to_binbuff (moneromooo-monero) f6187cd8 epee: speed up parse_hexstr_to_binbuff a little (Howard Chu)
2018-12-04Merge pull request #4848Riccardo Spagni1-1/+4
80be2dca unit_tests: don't take the address of an unwrapped secret key (moneromooo-monero)
2018-11-27Outputs where all amounts are known spent can now be prunedmoneromooo-monero1-0/+1
Only for pre rct for obvious reasons. Note: DO NOT use a known spent list which includes outputs which are not known spent. If the list includes any output that's just strongly thought to be spent, but not provably so, you risk finding yourself unable to sync past the point where that output is spent. I estimate only 200 MB saved on current mainnet though, unless the new blackballing rule unearths a good amount of large-amount-set extra spent outs.
2018-11-26Merge pull request #4821Riccardo Spagni1-1/+1
fc98f7a0 rpc: speedup get_outs.bin (moneromooo-monero)
2018-11-26rpc: speedup get_outs.binmoneromooo-monero1-1/+1
2018-11-26Merge pull request #4832Riccardo Spagni2-0/+178
9da6c52b unit_tests: add logging unit test (moneromooo-monero)
2018-11-23unit_tests: fix malloc/delete mismatchmoneromooo-monero1-1/+1
2018-11-23unit_tests: do not rethrow a copy of an exceptionmoneromooo-monero1-1/+1
Found by codacy.com
2018-11-23remove some unused codemoneromooo-monero3-4/+1
Found by codacy.com
2018-11-23tests: slow_memmem now returns size_tmoneromooo-monero1-4/+4
Makes more sense than uint64_t for an offset, and agrees with the %zu used to print results. Found by codacy.com
2018-11-16unit_tests: don't take the address of an unwrapped secret keymoneromooo-monero1-1/+4
2018-11-16tests: add unit tests for get_output_distributionmoneromooo-monero4-87/+325
2018-11-16Merge pull request #4803Riccardo Spagni1-2/+2
fa3f756b unit_tests: fix leak when the test check fails (moneromooo-monero)
2018-11-16Merge pull request #4795Riccardo Spagni1-0/+19
5d7c2316 rct: add a zeroCommit cache for common pre-rct case (moneromooo-monero)
2018-11-15unit_tests: add some hex parsing test for non hex inputxiphon1-0/+16
2018-11-15unit_tests: add a test for parse_hexstr_to_binbuffmoneromooo-monero1-0/+13
2018-11-15Removed a lot of unnecessary includesMartijn Otto1-1/+1
2018-11-14Merge pull request #4769Riccardo Spagni1-1/+1
5808530f blockchain: remove unused output_scan_worker parameter (moneromooo-monero) 1426209a blockchain: don't run threads if we have just one function to run (moneromooo-monero) 6f7a5fd4 db_lmdb: slight speedup getting array data from the blockchain (moneromooo-monero) 99fbe100 db_lmdb: save some string copies for readonly db keys/values (moneromooo-monero) bf31447e tx_pool: speed up take_tx for transactions from blocks (moneromooo-monero) 4f005a77 tx_pool: remove unnecessary get_transaction_hash (moneromooo-monero) 593ef598 perf_timer: call reserve on new timer array (moneromooo-monero) 6ecc99ad core: avoid unnecessary tx/blob conversions (moneromooo-monero) 00cc1a16 unit_tests: notify test special case for the usual weirdo (moneromooo-monero)
2018-11-09unit_tests: add logging unit testmoneromooo-monero2-0/+178
2018-11-06Merge pull request #4739Riccardo Spagni1-1/+1
9c1c92db tests: fix MSYS2 gcc 7.3.0 warning -Wtype-limits (xiphon)
2018-11-06protocol: option to pad transaction relay to the next kBmoneromooo-monero1-0/+1
To help protect one's privacy from traffic volume analysis for people using Tor or I2P. This will really fly once we relay txes on a timer rather than on demand, though. Off by default for now since it's wasteful and doesn't bring anything until I2P's in.
2018-11-05unit_tests: fix leak when the test check failsmoneromooo-monero1-2/+2
Coverity 189527
2018-11-04simplewallet: print the number of show/all transfersmoneromooo-monero1-1/+0
2018-11-04wallet2: only export necessary outputs and key imagesmoneromooo-monero1-1/+13
and disable annoying test that requires ridiculous amounts of skullduggery every time some format changes
2018-11-04rct: add a zeroCommit cache for common pre-rct casemoneromooo-monero1-0/+19
This is called for every pre-rct output at blockchain sync time, and a lot of them wil hit the cache, saving a scalarmult each.
2018-11-01core: avoid unnecessary tx/blob conversionsmoneromooo-monero1-1/+1
2018-11-01unit_tests: notify test special case for the usual weirdomoneromooo-monero1-1/+5
2018-10-29tests: fix MSYS2 gcc 7.3.0 warning -Wtype-limitsxiphon1-1/+1
2018-10-27unit_tests: fix notify unit test when /tmp does not existmoneromooo-monero1-1/+9
2018-10-26Merge pull request #4721Riccardo Spagni1-1/+5
a9f9406c unit_tests: notify test special case for the usual weirdo (moneromooo-monero)
2018-10-26Merge pull request #4613Riccardo Spagni1-0/+10
45a6880d unit_tests: call umask before mkstemp (moneromooo-monero)
2018-10-26Merge pull request #4308Riccardo Spagni1-0/+84
9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
2018-10-24unit_tests: notify test special case for the usual weirdomoneromooo-monero1-1/+5
2018-10-23Merge pull request #4640Riccardo Spagni1-1/+1
11415128 unit_tests: fix notify test when run from make *test (moneromooo-monero)
2018-10-20Merge pull request #4521Riccardo Spagni1-0/+21
6653062e unit_tests: add unit test for alloc alignment being a power of 2 (moneromooo-monero)
2018-10-18Rename "blackball" for claritymoneromooo-monero1-5/+5
Apparently some people seem to think it's a censorship list...
2018-10-17unit_tests: fix notify test when run from make *testmoneromooo-monero1-1/+1
2018-10-16unit_tests: call umask before mkstempmoneromooo-monero1-0/+10
Coverity 188788
2018-10-15Merge pull request #4481Riccardo Spagni3-1/+117
98c92258 unit_tests: add a notifier test (moneromooo-monero)
2018-10-08unit_tests: add unit test for alloc alignment being a power of 2moneromooo-monero1-0/+21
2018-10-07Merge pull request #4036Riccardo Spagni1-104/+75
9acf42d3 Multisig M/N functionality core tests added (naughtyfox) 9f3963e8 Arbitrary M/N multisig schemes: * 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 (naughtyfox)
2018-10-07cryptonote: sort tx_extra fieldsmoneromooo-monero1-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-02Merge pull request #4464Riccardo Spagni1-1/+1
bef1750f unit_tests: fix longstanding DNS related unit test (moneromooo-monero)
2018-10-01Arbitrary M/N multisig schemes:naughtyfox1-104/+75
* 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-01unit_tests: add a notifier testmoneromooo-monero3-1/+117
2018-09-29Merge pull request #4459Riccardo Spagni2-34/+39
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-29Merge pull request #4424Riccardo Spagni2-6/+6
92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero)
2018-09-29Merge pull request #4407Riccardo Spagni1-0/+24
43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero)
2018-09-28unit_tests: fix longstanding DNS related unit testmoneromooo-monero1-1/+1
2018-09-21Merge pull request #4385Riccardo Spagni1-0/+32
6dbbc690 unit_tests: sanity check on transaction weight (moneromooo-monero)
2018-09-21Merge pull request #4371Riccardo Spagni2-0/+916
55c7cd14 Adding expect<T> - a value-or-error implementation (Lee Clagett)
2018-09-21Merge pull request #4209Riccardo Spagni1-1/+56
26a42fe5 Added features to epee::span<T> : - Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span` (Lee Clagett)
2018-09-18Merge pull request #4306Riccardo Spagni1-0/+7
56b50faa wallet: use wipeable_string in more places where a secret is used (moneromooo-monero) 07ec748c wipeable_string: add hex_to_pod function (moneromooo-monero)
2018-09-17api/wallet: properly disable key encryptionstoffu1-1/+1
2018-09-15unit_tests: sanity check on transaction weightmoneromooo-monero1-0/+32
2018-09-14Merge pull request #4260Riccardo Spagni1-4/+4
a54dbaee blockchain_blackball: add --force-chain-reaction-pass flag (moneromooo-monero) 44439c32 record blackballs as amount/offset, and add export ability (moneromooo-monero) 4bce935b blockchain_blackball: more optimizations (moneromooo-monero) b66ba783 blockchain_blackball: do not process duplicate blockchains parts (moneromooo-monero) 639a3c01 blockchain_blackball: make it clear secondary passes are not incremental (moneromooo-monero) eb8a51be blockchain_blackball: detect spent outputs by partial ring reuse (moneromooo-monero) d6d276c6 blockchain_blackball: fix chain reaction phase in incremental mode (moneromooo-monero) 2b2a681b blockchain_blackball: avoid false positives for different amounts (moneromooo-monero) 80e4fef3 blockchain_blackball: set transaction looping txn to read only (moneromooo-monero) 4801d6b5 blockchain_blackball: add stats (moneromooo-monero) 846190fd blockchain_blackball: support pre-v2 databases (moneromooo-monero) daa6cc7d blockchain_blackball: use LMDB for the cache (moneromooo-monero) 50cb370d ringdb: allow blackballing many outputs at once (moneromooo-monero)
2018-09-12Adding expect<T> - a value-or-error implementationLee Clagett2-0/+916
2018-09-12wipeable_string: add hex_to_pod functionmoneromooo-monero1-0/+7
2018-09-11bulletproofs: speed up the latest changes a bitmoneromooo-monero1-0/+7
2018-09-11unit_tests: add a few more multiexp unit testsmoneromooo-monero1-2/+52
2018-09-11v8: per byte fee, pad bulletproofs, fixed 11 ring sizemoneromooo-monero5-73/+73
2018-09-11bulletproofs: a few fixes from the Kudelski reviewmoneromooo-monero1-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-11bulletproofs: reject points not in the main subgroupmoneromooo-monero1-0/+61
2018-09-11add pippenger unit testsmoneromooo-monero1-0/+55
2018-09-11precalc the ge_p3 representation of Hmoneromooo-monero1-0/+7
2018-09-11unit_tests: a couple more bulletproof unit tests for gammamoneromooo-monero1-0/+19
2018-09-11Bulletproof aggregated verification and testsmoneromooo-monero1-12/+16
Also constrains bulletproofs to simple rct, for simplicity
2018-09-11aligned: aligned memory alloc/realloc/freemoneromooo-monero2-1/+88
2018-09-11bulletproofs: add aggregated verificationmoneromooo-monero2-0/+36
Ported from sarang's java code
2018-09-11make straus cached mode thread safe, and add tests for itmoneromooo-monero2-0/+150
2018-09-11bulletproofs: add multi output bulletproofs to rctmoneromooo-monero2-1/+64
2018-09-11bulletproofs: multi-output bulletproofsmoneromooo-monero1-0/+19
2018-09-10Merge pull request #4293luigi11112-1/+19
9d65399 is_hdd update (p8p)
2018-09-10record blackballs as amount/offset, and add export abilitymoneromooo-monero1-4/+4
2018-09-04Merge pull request #4298luigi11111-0/+8
67666b1 unit_tests: disable mlocker tests on windows (no implementation) (moneromooo-monero)
2018-09-04Merge pull request #4275luigi11112-0/+151
2a100fd unit_tests: add tests for incremental keccak (moneromooo-monero)
2018-09-04Merge pull request #4264luigi11111-1/+1
0c8d8f6 unit_tests: remove std::move in return statement (moneromooo-monero)
2018-08-25is_hdd updatep8p2-1/+19
2018-08-23unit_tests: disable mlocker tests on windows (no implementation)moneromooo-monero1-0/+8
2018-08-23add and use constant time 32 byte equality functionmoneromooo-monero1-0/+15
2018-08-22Merge pull request #4210luigi11112-0/+219
4616cf2 Fixed ZMQ-RPC for transactions and GET_BLOCKS_FAST (vtnerd)
2018-08-22Merge pull request #4200luigi11111-1/+0
43f7110 blockchain_db: remove unused get_output_key variant (moneromooo-monero)
2018-08-20unit_tests: add tests for incremental keccakmoneromooo-monero2-0/+151
2018-08-16common: add a class to safely wrap mlock/munlockmoneromooo-monero2-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-16store secret keys encrypted where possiblemoneromooo-monero4-2/+87
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-16wallet: wipe seed from memory where appropriatemoneromooo-monero3-6/+231
2018-08-16wallet2: make --restricted-rpc available for wallet RPC onlystoffu1-2/+1
2018-08-15Merge pull request #4186luigi11111-5/+9
c8226ad unit_tests: use valid key images, pub keys, etc (moneromooo-monero)
2018-08-15Merge pull request #4165luigi11111-4/+4
68b1197 tests: ringdb: use system's temporary dir path (radfish)
2018-08-15Merge pull request #4137luigi11111-0/+8
63e342b crypto: move null_pkey/null_skey to the cpp file (moneromooo-monero) 0496c7c crypto: do not use boost::value_initialized to init null skey/pkey (moneromooo-monero)
2018-08-15unit_tests: remove std::move in return statementmoneromooo-monero1-1/+1
This actually prevents copy elision
2018-08-08wallet: allow adjusting number of rounds for the key derivation functionstoffu1-1/+1
2018-08-03Added features to epee::span<T> :Lee Clagett1-1/+56
- Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span`
2018-08-02Fixed ZMQ-RPC for transactions and GET_BLOCKS_FASTLee Clagett2-0/+219
2018-07-30blockchain_db: remove unused get_output_key variantmoneromooo-monero1-1/+0
It was actually incorrect, as it would not return commitment
2018-07-28unit_tests: use valid key images, pub keys, etcmoneromooo-monero1-5/+9
2018-07-27Merge pull request #4097luigi11112-0/+48
61caab8 crypto: remove slight bias in key generation due to modulo (moneromooo-monero)
2018-07-22tests: ringdb: use system's temporary dir pathredfish1-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-20crypto: do not use boost::value_initialized to init null skey/pkeymoneromooo-monero1-0/+8
2018-07-19Merge pull request #4075luigi11111-1/+0
438d52d remove epee from link lines where it's redundant (moneromooo-monero)
2018-07-19Merge pull request #4061luigi11111-4/+18
e6f4d4a unit_tests: do not recreate the same base rct sig all the time (moneromooo-monero)
2018-07-19Merge pull request #4013luigi11111-0/+1
e5592c4 rpc: add blockchain disk size to getinfo (moneromooo-monero)
2018-07-19Merge pull request #3981luigi11111-18/+20
45e419b db: store cumulative rct output distribution in the db for speed (moneromooo-monero)
2018-07-19Merge pull request #3854luigi11111-0/+1
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)
2018-07-19Merge pull request #3617luigi11112-0/+132
4c00a4d unit_tests: add device unit tests (moneromooo-monero)
2018-07-13db: store cumulative rct output distribution in the db for speedmoneromooo-monero1-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-05crypto: remove slight bias in key generation due to modulomoneromooo-monero2-0/+48
2018-06-29add --regtest and --fixed-difficulty for regression testingvictorsintnicolaas1-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-28remove epee from link lines where it's redundantmoneromooo-monero1-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-27Merge pull request #3716luigi11112-11/+56
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
2018-06-27unit_tests: do not recreate the same base rct sig all the timemoneromooo-monero1-4/+18
Helps a bit when running with valgrind
2018-06-26threadpool: allow leaf functions to run concurrentlymoneromooo-monero1-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-26replace std::list with std::vector on some hot pathsmoneromooo-monero1-5/+5
also use reserve where appropriate
2018-06-25Merge pull request #3962luigi11111-0/+1
55c7fb8 epee: adaptive connection timeout system (moneromooo-monero)
2018-06-20rpc: add blockchain disk size to getinfomoneromooo-monero1-0/+1
This should help new nodes predict how much disk space will be needed for a full sync
2018-06-20Merge pull request #3938luigi11111-0/+10
01cc978 ringct: remove an unnecessary scalarmultBase in zeroCommit (moneromooo-monero)
2018-06-20Merge pull request #3902luigi11111-0/+32
f8dd433 epee: fix detection of 172.16.0.0/172.31.255.255 local IP range (moneromooo-monero) 5db9e3c unit_tests: add tests for local IP range detection (moneromooo-monero)
2018-06-17Merge pull request #3691luigi11112-0/+102
db55263 threadpool: allow constructing an object, and misc tweaks (moneromooo-monero) ce173cb core: remove threadpool dependency from header (moneromooo-monero) 3147468 unit_tests: add threadpool unit test (moneromooo-monero)
2018-06-10epee: adaptive connection timeout systemmoneromooo-monero1-0/+1
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-08Merge pull request #3450luigi11111-0/+1
3b941be core: add get_earliest_ideal_height_for_version() (stoffu)
2018-06-08Merge pull request #3444luigi11111-0/+127
a79fc21 hardfork: fix get_earliest_ideal_height_for_version() to support non-existent versions (stoffu) 7e30ead unit_tests/hardfork: add tests for check_for_height() (stoffu) 98cf62c hardfork: fix get_next_version() (stoffu) 0321d1a unit_tests/hardfork: add tests for get_voting_info() (stoffu)
2018-06-06ringct: remove an unnecessary scalarmultBase in zeroCommitmoneromooo-monero1-0/+10
2018-06-01unit_tests: add tests for local IP range detectionmoneromooo-monero1-0/+32
2018-05-31Merge pull request #3592luigi11112-1/+166
90a16b1 crypto: fix initialization order issue with random mutex (moneromooo-monero) 6a61f52 unit_tests: add ringdb unit tests (moneromooo-monero)
2018-05-30unit_tests/hardfork: add tests for get_voting_info()stoffu1-0/+49
2018-05-30hardfork: fix get_next_version()stoffu1-0/+29
2018-05-30unit_tests/hardfork: add tests for check_for_height()stoffu1-0/+24
2018-05-30hardfork: fix get_earliest_ideal_height_for_version() to support ↵stoffu1-0/+25
non-existent versions
2018-05-29Merge pull request #3251luigi11111-2/+4
b9389e5 db_lmdb: save pruned and prunable tx data separately (moneromooo-monero)
2018-05-23db_lmdb: save pruned and prunable tx data separatelymoneromooo-monero1-2/+4
This bumps DB version to 2, migration code will run for v1 DBs
2018-05-21unit_tests: fix build after get_output_didstribution signature changemoneromooo-monero1-1/+1
2018-05-21speed up get_output_distribution (and precalc common case)moneromooo-monero1-0/+1
2018-05-21Merge pull request #3809Riccardo Spagni2-8/+5
b88c9a00 unit_tests: set default data dir to the source tree at build time (moneromooo-monero)
2018-05-21Revert "Merge pull request #3775"Riccardo Spagni1-1/+1
This reverts commit 20ef37bbcac7715d5299dd77d401583420e07ced, reversing changes made to 40070a661fd2ff503e07f4ed48dfe9fe67cfa297.
2018-05-20unit_tests: add threadpool unit testmoneromooo-monero2-0/+102
2018-05-15unit_tests: set default data dir to the source tree at build timemoneromooo-monero2-8/+5
2018-04-28unit_tests: fix build after get_output_didstribution signature changemoneromooo-monero1-1/+1
2018-04-22Only log an error if fork version is higher AND is not known.Thaer Khawaja1-0/+1
2018-04-12unit_tests: add device unit testsmoneromooo-monero2-0/+132
Annoyingly, its locking semantics are borked since it does not do any locking
2018-04-11unit_tests: add ringdb unit testsmoneromooo-monero2-1/+166
2018-03-21core: add get_earliest_ideal_height_for_version()stoffu1-0/+1
2018-03-16add RPC to get a histogram of outputs of a given amountmoneromooo-monero1-1/+2
2018-03-05Merge pull request #3277Riccardo Spagni5-28/+28
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)
2018-03-05Correct spelling mistakes.Edward Betts1-1/+1
2018-03-05Stagenetstoffu5-28/+28
2018-03-04Code modifications to integrate Ledger HW device into monero-wallet-cli.cslashm2-15/+17
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-20Merge pull request #3245Riccardo Spagni2-17/+28
54c256bc unit_tests.serialization: refactored with ASSERT_EQ_MAP (stoffu) e6a60938 unit_tests: added gtest utility ASSERT_EQ_MAP for easily testing key-value map (stoffu)
2018-02-12unit_tests.serialization: refactored with ASSERT_EQ_MAPstoffu1-17/+21
2018-02-12unit_tests: added gtest utility ASSERT_EQ_MAP for easily testing key-value mapstoffu1-0/+7
2018-02-08dns: change default DNS to a worldwide selectionmoneromooo-monero1-13/+15
DNSSEC aware servers picked from https://wiki.ipfire.org/dns/public-servers
2018-01-27Merge pull request #3151Riccardo Spagni1-5/+5
ab2e9953 unit_tests: do not ASSERT_TRUE(decodeRct(...)) (moneromooo-monero)
2018-01-26Readd copyright starting datexmr-eric10-10/+10
2018-01-26Update 2018 copyrightxmr-eric44-44/+44
2018-01-25Merge pull request #3082Riccardo Spagni1-1/+1
8b50209c fix for warning (Onur Altun)
2018-01-25Merge pull request #3057Riccardo Spagni1-1/+2
9ffa97fe Factor the monero donation address (Maxithi)
2018-01-18unit_tests: do not ASSERT_TRUE(decodeRct(...))moneromooo-monero1-5/+5
decodeRct returns the amount, which may be zero
2018-01-10Merge pull request #2990Riccardo Spagni2-2/+0
2d17feb0 factor STL container serialization (moneromooo-monero)
2018-01-10Merge pull request #2985Riccardo Spagni2-9/+15
6d8b29ef fix some link errors in debug mode for macos (stoffu) fdd4c5e5 move memwipe to epee to avoid common<->crypto circular dependencies (moneromooo-monero) 40ab12a7 epee: remove dependency on common (moneromooo-monero)
2018-01-10Merge pull request #2971Riccardo Spagni1-1/+1
ae860230 Fix exceptions not finding txpool txes when relaying (moneromooo-monero)
2018-01-10move memwipe to epee to avoid common<->crypto circular dependenciesmoneromooo-monero1-1/+1
2018-01-10epee: remove dependency on commonmoneromooo-monero1-8/+14
2018-01-08fix for warningOnur Altun1-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-05Factor the monero donation addressMaxithi1-1/+2
Signed-off-by: Maxithi <34792056+Maxithi@users.noreply.github.com>
2018-01-02Merge pull request #2964Riccardo Spagni1-24/+0
3ed1a74c tests: remove unused/unfinished keccak bits (moneromooo-monero)
2018-01-02Merge pull request #2963Riccardo Spagni1-16/+1
0e19a394 tests: test wallets don't need a dummy temp file anymore (moneromooo-monero)
2017-12-28Merge pull request #2944Riccardo Spagni1-1/+1
223e3788 unit_tests: fix memwipe test comparison (moneromooo-monero)
2017-12-25Add a chacha20 variant to go with chacha8moneromooo-monero3-6/+6
2017-12-25Merge pull request #2920Riccardo Spagni1-3/+1
bd5cce07 network_throttle: fix ineffective locking (moneromooo-monero) e0a61299 network_throttle: remove unused xxx static member (moneromooo-monero) 24f584d9 cryptonote_core: remove unused functions with off by one bugs (moneromooo-monero) b1634aa3 blockchain: don't leave dangling pointers in this (moneromooo-monero) 8e60b81c cryptonote_core: fix db leak on error (moneromooo-monero) 213e326c abstract_tcp_server2: log init_server errors as fatal (moneromooo-monero) b51dc566 use const refs in for loops for non tiny types (moneromooo-monero) f0568ca6 net_parse_helpers: fix regex error checking (moneromooo-monero) b49ddc76 check accessing an element past the end of a container (moneromooo-monero) 2305bf26 check return value for generate_key_derivation and derive_public_key (moneromooo-monero) a4240d9f catch const exceptions (moneromooo-monero) 45a1c4c0 add empty container sanity checks when using front() and back() (moneromooo-monero) 56fa6ce1 tests: fix a buffer overread in a unit test (moneromooo-monero) b4524892 rpc: guard against json parsing a non object (moneromooo-monero) c2ed8618 easylogging++: avoid buffer underflow (moneromooo-monero) 187a6ab2 epee: trap failure to parse URI from request (moneromooo-monero) 061789b5 checkpoints: trap failure to load JSON checkpoints (moneromooo-monero) ba2fefb9 checkpoints: pass std::string by const ref, not const value (moneromooo-monero) 38c8f4e0 mlog: terminate a string at last char, just in case (moneromooo-monero) d753d716 fix a few leaks by throwing objects, not newed pointers to objects (moneromooo-monero) fe568db8 p2p: use size_t for arbitrary counters instead of uint8_t (moneromooo-monero) 46d6fa35 cryptonote_protocol: sanity check chain hashes from peer (moneromooo-monero) 25584f86 cryptonote_protocol: print peer versions when unexpected (moneromooo-monero) 490a5d41 rpc: do not try to use an invalid txid in relay_tx (moneromooo-monero)
2017-12-25Merge pull request #2890Riccardo Spagni1-0/+2
83b0f9e6 version: add -master to master version (moneromooo-monero) 493f7d09 util: allow non numeric version parts (moneromooo-monero)
2017-12-22factor STL container serializationmoneromooo-monero2-2/+0
2017-12-20Fix exceptions not finding txpool txes when relayingmoneromooo-monero1-1/+1