aboutsummaryrefslogtreecommitdiff
path: root/tests (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-12-17core_tests: multisig test now tests multiple inputsmoneromooo-monero3-136/+209
2017-12-17Match surae's recommendation to derive multisig keysmoneromooo-monero1-4/+6
2017-12-17wallet2: fix slow multisig unit tests with subaddress patchmoneromooo-monero1-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-17make multisig work with subaddressesmoneromooo-monero1-7/+11
Thanks to kenshi84 for help getting this work
2017-12-17wallet: guard against partly initialized multisig walletmoneromooo-monero1-5/+12
2017-12-17add multisig core test and factor multisig building blocksmoneromooo-monero6-0/+716
2017-12-17N-1/N multisigmoneromooo-monero1-7/+19
2017-12-17gen_multisig: generates multisig wallets if participants trust each othermoneromooo-monero1-8/+8
2017-12-17wallet2: allow empty wallet filename to avoid saving datamoneromooo-monero1-11/+1
Useful to speed tests up and avoid unnecessary leftover files
2017-12-17tests: add multisig unit testsmoneromooo-monero2-0/+179
2017-12-17Add N/N multisig tx generation and signingmoneromooo-monero2-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-17Merge pull request #2857Riccardo Spagni1-0/+1
7193b89f Scrub keys from memory just before scope end. (moneromooo-monero)
2017-12-17Merge pull request #2877Riccardo Spagni4-1/+15
43f5269f Wallets now do not depend on the daemon rpc lib (moneromooo-monero) bb89ae8b move connection_basic and network_throttle from src/p2p to epee (moneromooo-monero) 4abf25f3 cryptonote_core does not depend on p2p anymore (moneromooo-monero)
2017-12-16cryptonote_core does not depend on p2p anymoremoneromooo-monero4-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-16move includes around to lessen overall loadmoneromooo-monero11-6/+13
2017-12-16Scrub keys from memory just before scope end.moneromooo-monero1-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-16Merge pull request #2860Riccardo Spagni3-1/+68
3dffe71b new wipeable_string class to replace std::string passphrases (moneromooo-monero) 7a2a5741 utils: initialize easylogging++ in on_startup (moneromooo-monero) 54950829 use memwipe in a few relevant places (moneromooo-monero) 000666ff add a memwipe function (moneromooo-monero)
2017-12-08add bulletproofs from v7 on testnetmoneromooo-monero2-2/+2
2017-12-08integrate bulletproofs into moneromoneromooo-monero1-0/+1
2017-12-08add bulletproofs to the build, with basic unit testsmoneromooo-monero2-0/+71
Based on Java code from Sarang Noether
2017-11-27new wipeable_string class to replace std::string passphrasesmoneromooo-monero1-1/+1
2017-11-27add a memwipe functionmoneromooo-monero2-0/+67
It's meant to avoid being optimized out memory_cleanse lifted from bitcoin
2017-11-26tests: disable libwallet_api_tests when BUILD_GUI_DEPS is not setmoneromooo-monero1-1/+3
2017-11-25Merge pull request #2824Riccardo Spagni2-1/+2
51895fd7 split wallet and wallet_api (moneromooo-monero)
2017-11-16split wallet and wallet_apimoneromooo-monero2-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-15unit_tests: fix running without --data-dirmoneromooo-monero1-2/+2
While there, also use the new is_arg_defaulted API instead of going to poke the internal API directly.
2017-11-15Merge pull request #2771Riccardo Spagni1-5/+1
e3e838d0 kaccak: remove unused return value (moneromooo-monero) 4877aca2 keccak: some paranoid "can't happen" checks (moneromooo-monero)
2017-11-14Merge pull request #2812Riccardo Spagni1-2/+2
9ac52127 unit_tests: fix build after wallet2 list/vector change (moneromooo-monero)
2017-11-14Merge pull request #2736Riccardo Spagni6-6/+2
0d9c0db9 Do not build against epee_readline if it was not built (Howard Chu) 178014c9 split off readline code into epee_readline (moneromooo-monero) a9e14a19 link against readline only for monerod and wallet-wallet-{rpc,cli} (moneromooo-monero) 437421ce wallet: move some scoped_message_writer calls from the libs (moneromooo-monero) e89994e9 wallet: rejig to avoid prompting in wallet2 (moneromooo-monero) ec5135e5 move input_line from command_line to simplewallet (moneromooo-monero) 082db75f move cryptonote command line options to cryptonote_core (moneromooo-monero)
2017-11-14Merge pull request #2644Riccardo Spagni1-2/+2
a17efcb0 make this build on SunOS/Solaris (Pavel Maryanov)
2017-11-14unit_tests: fix build after wallet2 list/vector changemoneromooo-monero1-2/+2
2017-11-14move cryptonote command line options to cryptonote_coremoneromooo-monero6-6/+2
Those have no reason to be in a generic module
2017-11-14make this build on SunOS/SolarisPavel Maryanov1-2/+2
2017-11-14remove "using namespace std" from headersmoneromooo-monero4-4/+5
It's nasty, and actually breaks on Solaris, where if.h fails to build due to: struct map *if_memmap;
2017-11-14Merge pull request #2720Riccardo Spagni1-1/+1
110339f5 unit_tests: fix data dir determination (moneromooo-monero)
2017-11-14Merge pull request #2696Riccardo Spagni9-1/+14
937e7f8a Initialize openssl on startup (moneromooo-monero)
2017-11-14Merge pull request #2691Riccardo Spagni10-12/+8
f92f1606 core_tests: do not include chaingen_tests_list.h in all tests (moneromooo-monero)
2017-11-14Merge pull request #2686Riccardo Spagni2-6/+6
21b9f6f3 always use core_tests for consistency, not coretests (moneromooo-monero)
2017-11-14Merge pull request #2670Riccardo Spagni2-0/+119
4fb77946 unit tests: OOB indexes & adding subaddress (Cole Lightfighter) 4fd6a3d2 Subaddress unit tests (Cole Lightfighter)
2017-11-14Merge pull request #2617Riccardo Spagni4-9/+17
7dbf76d0 Fix an object lifetime bug in net load tests (moneromooo-monero)
2017-11-11kaccak: remove unused return valuemoneromooo-monero1-5/+1
2017-11-08Protect node privacy by proper filtering in restricted-mode RPC answersbinaryFate1-2/+2
This patch allows to filter out sensitive information for queries that rely on the pool state, when running in restricted mode. This filtering is only applied to data sent back to RPC queries. Results of inline commands typed locally in the daemon are not affected. In practice, when running with `--restricted-rpc`: * get_transaction_pool will list relayed transactions with the fields "last relayed time" and "received time" set to zero. * get_transaction_pool will not list transaction that have do_not_relay set to true, and will not list key images that are used only for such transactions * get_transaction_pool_hashes.bin will not list such transaction * get_transaction_pool_stats will not count such transactions in any of the aggregated values that are computed The implementation does not make filtering the default, so developers should be mindful of this if they add new RPC functionality. Fixes #2590.
2017-11-06Merge pull request #2483Riccardo Spagni2-0/+145
ff7745bb Edited test readme for accuracy and depth (Cole Lightfighter) c300ae56 Added test documentation & Keccak unit test (Cole Lightfighter) f6119a8e Added test documentation & Keccak unit test (Cole Lightfighter)
2017-11-03Merge pull request #2662Riccardo Spagni8-9/+11
88ebfd64 core_tests: fix for subaddress patch (kenshi84) e373a203 performance_tests: add master spend pubkey to subaddress hashtable (kenshi84)
2017-11-02Merge pull request #2666Riccardo Spagni1-1/+1
8233a24b unit_tests: fix build on windows (moneromooo-monero)
2017-10-29fix libwallet api test after api changeJaquee1-8/+8
2017-10-24unit_tests: fix data dir determinationmoneromooo-monero1-1/+1
2017-10-21Initialize openssl on startupmoneromooo-monero9-1/+14
2017-10-20core_tests: do not include chaingen_tests_list.h in all testsmoneromooo-monero10-12/+8
This fixes all tests being annoyingly rebuilt when one changes
2017-10-19unit tests: OOB indexes & adding subaddressCole Lightfighter1-15/+41
Tests for checking proper error throwing for out-of-bounds subaddress indexes, and proper addition of subaddresses. Signed-off-by: Cole Lightfighter <cole@onicsla.bz>
2017-10-19always use core_tests for consistency, not coretestsmoneromooo-monero2-6/+6
Other tests use unit_tests, performance_tests, etc. This fixes getting it wrong half the time when typing.
2017-10-17Subaddress unit testsCole Lightfighter2-0/+93
Basic unit test fixture, and initialization of a subaddress account. Signed-off-by: Cole Lightfighter <cole@onicsla.bz>
2017-10-17core_tests: fix for subaddress patchkenshi847-9/+10
2017-10-16unit_tests: fix build on windowsmoneromooo-monero1-1/+1
Reported by iDunk on IRC
2017-10-16performance_tests: add master spend pubkey to subaddress hashtablekenshi841-0/+1
2017-10-15performance_tests: fix build after subaddress patchmoneromooo-monero1-1/+4
2017-10-15Merge pull request #2610Riccardo Spagni2-7/+5
44c1d160 unit_tests: fix compiling on Windows (iDunk5400)
2017-10-15Merge pull request #2608Riccardo Spagni2-10/+23
fe484f30 unit_tests: data dir is now overridden with --data-dir (moneromooo-monero)
2017-10-15Merge pull request #2582Riccardo Spagni2-0/+46
240f769d tests: add sha256sum unit test (moneromooo-monero)
2017-10-15Merge pull request #2565Riccardo Spagni1-1/+1
452d4fae tests: fix hashchain unit tests (moneromooo-monero)
2017-10-15Merge pull request #2555Riccardo Spagni1-0/+14
a4b4651c dns_utils: allow an optional DNS server IP in DNS_PUBLIC (moneromooo-monero)
2017-10-15Merge pull request #2528Riccardo Spagni1-1/+3
551a8ea6 mnemonics: new Lojban word list (Wei Tang)
2017-10-15Merge pull request #2469Riccardo Spagni2-0/+2
7adceee6 precomputed block hashes are now in blocks of N (currently 256) (moneromooo-monero)
2017-10-10dns_utils: allow an optional DNS server IP in DNS_PUBLICmoneromooo-monero1-0/+14
tcp://a.b.c.d
2017-10-09Fix an object lifetime bug in net load testsmoneromooo-monero4-9/+17
The commands handler must not be destroyed before the config object, or we'll be accessing freed memory. An earlier attempt at using boost::shared_ptr to control object lifetime turned out to be very invasive, though would be a better solution in theory.
2017-10-08unit_tests: fix compiling on WindowsiDunk54002-7/+5
2017-10-08unit_tests: data dir is now overridden with --data-dirmoneromooo-monero2-10/+23
rather than a raw string without option
2017-10-07Subaddresseskenshi8419-115/+138
2017-10-06Merge pull request #2523Riccardo Spagni5-10/+33
540d6fa3 tests: pass data dir as arg (redfish)
2017-10-05tests: add sha256sum unit testmoneromooo-monero2-0/+46
2017-10-05Upgrades to epee::net_utils::network_addressLee Clagett3-2/+233
- internal nullptr checks - prevent modifications to network_address (shallow copy issues) - automagically works with any type containing interface functions - removed fnv1a hashing - ipv4_network_address now flattened with no base class
2017-10-03tests: fix hashchain unit testsmoneromooo-monero1-1/+1
and relax the not-empty safety check to stay more intuitiuve
2017-10-02Merge pull request #2518Riccardo Spagni2-2/+2
6a0fb301 performance_tests: adjust some iterations down a bit (moneromooo-monero)
2017-10-01Edited test readme for accuracy and depthCole Lightfighter1-122/+61
Removed some erroneous instructions, and added information about different test suites. Signed-off-by: Cole Lightfighter <cole@onicsla.bz>
2017-09-28tests: pass data dir as argredfish5-10/+33
This fixes test failure on builds that happen to be built in 'build/' instead of 'build/release'. Use boost filesystem path type.
2017-09-26mnemonics: new Lojban word listWei Tang1-1/+3
Word list authored by: sorpaas Sources: lo gimste jo'u lo ma'oste (http://guskant.github.io/lojbo/gismu-cmavo.html) N-grams of Lojban corpus (https://mw.lojban.org/papri/N-grams_of_Lojban_corpus)
2017-09-25wallet2: do not keep block hashes below last checkpointmoneromooo-monero2-0/+130
This saves a lot of space and load/save time for wallet caches
2017-09-25move checkpoints in a separate librarymoneromooo-monero7-9/+9
2017-09-25performance_tests: add a test for is_out_to_acc_precompmoneromooo-monero2-0/+23
2017-09-25Merge pull request #2457Riccardo Spagni1-1/+1
d2d8a41c Use actual batch size for resize estimates (Howard Chu)
2017-09-25Merge pull request #2424Riccardo Spagni5-7/+8
28b72b6e tx_pool: pre-init tvc.m_verifivation_failed before processing (moneromooo-monero) 50a629b2 core_tests: catch (impossible in practice) tx extra api failure (moneromooo-monero) fee15ef1 wallet2: catch failure to parse address (moneromooo-monero) 1399e26d net_peerlist: remove dead code (moneromooo-monero) 50e09698 tx_pool: guard against failure getting tx hash (moneromooo-monero) 54cc209a wallet_rpc_server: catch failure to create directory (moneromooo-monero) 3e55099c wallet_rpc_server: init m_vm to NULL in ctor (moneromooo-monero) 7d0dde5e wallet_args: remove redundant default value for --log-file (moneromooo-monero) ed4a3350 wallet2: catch failure to save keys file (moneromooo-monero) 44434c8a wallet2_api: check whether dynamic_cast returns NULL (moneromooo-monero) 92f2f687 core: check return value from parse_hexstr_to_binbuff (moneromooo-monero) 5475692e wallet2_api: remove an unused, uninitialized, field (moneromooo-monero) a7ba3de1 libwallet_api_tests: initialize newblock_triggered on reset (moneromooo-monero) b2763ace wallet2_api: init error code to "no error" in the ctor (moneromooo-monero) b5faac53 get_blockchain_top now returns void (moneromooo-monero) 2e44d8f2 wallet_rpc_server: guard against exceptions (moneromooo-monero) 4230876b simplewallet: guard against I/O exceptions (moneromooo-monero) 06c1e057 daemon: initialize decode_as_json in RPC request (moneromooo-monero) 11f71af5 http_base: init size_t in http_request_info ctor (moneromooo-monero)
2017-09-25Merge pull request #2442Riccardo Spagni4-0/+4
e29282d2 build: auto update version info without manually deleting version.h (stoffu)
2017-09-25Merge pull request #2440Riccardo Spagni2-0/+75
6137a0b9 blockchain: reject unsorted ins and outs from v7 (moneromooo-monero) 16afab90 core: sort ins and outs key key image and public key, respectively (moneromooo-monero) 0c36b9f9 common: add apply_permutation file and function (moneromooo-monero)
2017-09-25core_tests: catch (impossible in practice) tx extra api failuremoneromooo-monero1-2/+4
CID 175301
2017-09-25libwallet_api_tests: initialize newblock_triggered on resetmoneromooo-monero1-1/+1
CID 161873
2017-09-25get_blockchain_top now returns voidmoneromooo-monero3-4/+3
It was always returning true, and could not be foreseen to usefully return errors in the future. This silences CID 162652 as well as saves some checking code in a few places.
2017-09-24performance_tests: adjust some iterations down a bitmoneromooo-monero2-2/+2
2017-09-21build: auto update version info without manually deleting version.hstoffu4-0/+4
2017-09-19Added test documentation & Keccak unit testCole Lightfighter1-0/+178
2017-09-19Added test documentation & Keccak unit testCole Lightfighter1-0/+28
2017-09-18precomputed block hashes are now in blocks of N (currently 256)moneromooo-monero2-0/+2
This shaves a lot of space off binaries
2017-09-18blockchain: reject unsorted ins and outs from v7moneromooo-monero1-0/+29
This ensures no information is leaked by the ordering
2017-09-17Use actual batch size for resize estimatesHoward Chu1-1/+1
And optimize import startup: Remember start_height position during initial count_blocks pass to avoid having to reread entire file again to arrive at start_height
2017-09-14Use a threadpoolHoward Chu2-178/+0
Instead of constantly creating and destroying threads
2017-09-13common: add apply_permutation file and functionmoneromooo-monero2-0/+46
This algorithm is adapted from Raymond Chen's code: https://blogs.msdn.microsoft.com/oldnewthing/20170109-00/?p=95145
2017-09-03Add a --fluffy-blocks option to relay blocks as fluffy blocksmoneromooo-monero2-0/+2
Defaults to off, but fluffy blocks are forced enabled on testnet
2017-08-29Revert "Cleanup test impact of moving blockchain_db_types()"Howard Chu2-12/+0
This reverts commit 3dd34a49efd2954b0a5eb020abd168d9379b98c4.
2017-08-26Merge pull request #2314Riccardo Spagni3-0/+3
c22d22e2 Cleanup test impact of adding safesyncmode() method (Howard Chu) 9a859844 Toggle SAFE syncmode on and off automatically (Howard Chu)
2017-08-22Cleanup test impact of moving blockchain_db_types()Howard Chu2-0/+12
2017-08-22Cleanup test impact of adding safesyncmode() methodHoward Chu2-0/+2
2017-08-20Toggle SAFE syncmode on and off automaticallyHoward Chu1-0/+1
If monerod is started with default sync mode, set it to SAFE after synchronization completes. Set it back to FAST if synchronization restarts (e.g. because another peer has a longer blockchain). If monerod is started with an explicit sync mode, none of this automation takes effect.
2017-08-19DB cleanupHoward Chu1-1/+1
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp should ever be including DB-specific headers any more.
2017-08-17Merge pull request #2303Riccardo Spagni2-2/+2
5a283078 cryptonote_protocol: large block sync size before v4 (moneromooo-monero) 7b747607 cryptonote_protocol: kick idle synchronizing peers (moneromooo-monero)
2017-08-17Merge pull request #2287Riccardo Spagni2-0/+2
827afcb7 protocol: pass blockchain cumulative difficulty when syncing (moneromooo-monero)
2017-08-17cryptonote_protocol: large block sync size before v4moneromooo-monero2-2/+2
2017-08-15protocol: pass blockchain cumulative difficulty when syncingmoneromooo-monero2-0/+2
Not used yet.
2017-08-15Merge pull request #2292Riccardo Spagni1-1/+3
cb2d5ac7 mnemonics: new Esperanto word list (moneromooo-monero)
2017-08-15Merge pull request #2276Riccardo Spagni2-0/+4
a1891ebe tests: fix tests build (moneromooo-monero)
2017-08-14mnemonics: new Esperanto word listmoneromooo-monero1-1/+3
Word list authored by: Engelberg, ProkhorZ Sources: Baza Radikaro Oficiala Reta Vortaro (http://www.reta-vortaro.de/revo/) Esperanto Panorama - Esperanto-English Dictionary (http://www.esperanto-panorama.net/vortaro/eoen.htm) ESPDIC - Paul Denisowski (http://www.denisowski.org/Esperanto/ESPDIC/espdic.txt)
2017-08-12protocol: fix reorgs while syncingmoneromooo-monero1-188/+0
2017-08-10tests: fix tests buildmoneromooo-monero2-0/+4
Add get_fork_version and add_ideal_fork_version to core so cryptonote_protocol does not have to need the Blockchain class directly, as it's not in its dependencies, and add those to the fake core classes in tests too.
2017-08-07core: thread most of handle_incoming_txmoneromooo-monero1-0/+1
2017-08-07cryptonote_protocol_handler: sync speedupmoneromooo-monero4-0/+291
A block queue is now placed between block download and block processing. Blocks are now requested only from one peer (unless starved). Includes a new sync_info coommand.
2017-07-03Merge pull request #2116Riccardo Spagni18-0/+685
841231e5 Add fuzz testing using american fuzzy lop (moneromooo-monero)
2017-06-24Add fuzz testing using american fuzzy lopmoneromooo-monero18-0/+685
Existing tests: block, transaction, signature, cold outputs, cold transaction. Data for these is in tests/data/fuzz. A convenience shell script is in contrib/fuzz_testing/fuzz.sh, eg: contrib/fuzz_testing/fuzz.sh signature The fuzzer will run indefinitely, ^C to stop. Fuzzing is currently supported for GCC only. I can't get CLANG to build Monero here as it dies on some system headers, so if someone wants to make it work on both, that'd be great. In particular, the __AFL_LOOP construct should be made to work so that a given run can fuzz multiple inputs, as the C++ load time is substantial.
2017-06-19unit_tests: fix build failures after network_address changesmoneromooo-monero2-64/+68
2017-06-18Merge pull request #2082Riccardo Spagni1-0/+1
235df7f4 blockchain_db: add a txpool tx getter which returns existence (moneromooo-monero)
2017-06-11blockchain_db: add a txpool tx getter which returns existencemoneromooo-monero1-0/+1
Avoids exception spam for the "nope, not found" case
2017-06-09core_tests: fix tests failing due to new txpool code requitring batch ↵moneromooo-monero1-0/+1
transactions
2017-06-01Don't copy blockchain for coinbase_tx_sumHoward Chu1-1/+1
Changed Blockchain::for_all_blocks() to for_blocks_range() Operate on blockchain in-place instead of building a copy first.
2017-05-30Merge pull request #2039Riccardo Spagni5-9/+9
4b932ff3 changed crypto to cncrypto so it generated libcncrypto (Gentian)
2017-05-30Merge pull request #2036Riccardo Spagni1-2/+10
89b2f306 tests: fix invalid key image test (moneromooo-monero) a374a522 wallet2: check key image validity domain in import_key_images (moneromooo-monero)
2017-05-30Merge pull request #2016Riccardo Spagni1-2/+2
d1db3251 Fix overlooked renaming of Português in the unit tests (Nano Akron)
2017-05-30Merge pull request #1982Riccardo Spagni4-2/+23
b52abd13 Move txpool to the database (moneromooo-monero)
2017-05-25Move txpool to the databasemoneromooo-monero4-2/+23
Integration could go further (ie, return_tx_to_pool calls should not be needed anymore, possibly other things). poolstate.bin is now obsolete.
2017-05-23changed crypto to cncrypto so it generated libcncryptoGentian5-9/+9
fix a cmakelist
2017-05-18tests: fix invalid key image testmoneromooo-monero1-2/+10
It was using an invalid key image which wasn't in the key image domain, so the transaction was rejected earlier than the test was expecting
2017-05-07Fix overlooked renaming of Português in the unit testsNano Akron1-2/+2
2017-04-24Change Old_English to English_Old - 'Old English' is actually a languageNano Akron1-1/+1
2017-04-24Merge pull request #1983Riccardo Spagni1-1/+3
72d113dd Amended software licenses for Portuguese and Spanish (Nano Akron) 54bcd260 Added Simplified Chinese electrum word list (Nano Akron)
2017-04-16Added Simplified Chinese electrum word listNano Akron1-1/+3
2017-04-11Simplified the implementation and features of spanLee Clagett1-1/+1
2017-04-11Improvements for epee binary to hex functions:Lee Clagett5-8/+415
- Performance improvements - Added `span` for zero-copy pointer+length arguments - Added `std::ostream` overload for direct writing to output buffers - Removal of unused `string_tools::buff_to_hex`
2017-03-29Replace deprecated tmpnam function.Randi Joseph1-10/+16
2017-03-25mnemonics: sanity checks for word listsmoneromooo-monero1-1/+30
and a test to go with it Remember to run the test when changing word lists, or simplewallet will throw uncaught if that word list is used.
2017-03-23core: cache tx and block hashes in the respective classesmoneromooo-monero1-0/+14
An idea from smooth
2017-03-18Removed boost/asio.hpp include from epee/string_tools.hLee Clagett2-0/+98
2017-03-15Add intervening v5 fork for increased min block sizemoneromooo-monero1-25/+25
Minimum mixin 4 and enforced ringct is moved from v5 to v6. v5 is now used for an increased minimum block size (from 60000 to 300000) to cater for larger typical/minimum transaction size. The fee algorithm is also changed to decrease the base per kB fee, and add a cheap tier for those transactions which we do not care if they get delayed (or even included in a block).
2017-03-10fix dependency: put HardFork back to cryptonote_basic, made some ↵kenshi841-1/+1
BlockchainDB functions virtual again to avoid missing symbols error
2017-03-04unit_tests: fix fee tests after quantization changemoneromooo-monero1-22/+35
2017-02-25core: move hardfork back to cryptonote_coremoneromooo-monero1-1/+1
should fix a cross dependency betewen cryptonote_basic and blockchain_db
2017-02-22fix broken test dataRiccardo Spagni1-0/+0
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni112-111/+111
2017-02-21Merge pull request #1758Riccardo Spagni1-1/+2
5664826a unit_tests: hardfork unit test now needs get_block_blob_from_height (moneromooo-monero)
2017-02-21unit_tests: hardfork unit test now needs get_block_blob_from_heightmoneromooo-monero1-1/+2
2017-02-21More for PR #1724Howard Chu1-1/+1
Fix unit_tests build (get_output_key API change)
2017-02-21Merge pull request #1727Riccardo Spagni3-3/+5
0288310e blockchain_db: add "raw" blobdata getters for block and transaction (moneromooo-monero)
2017-02-21Merge pull request #1721Riccardo Spagni8-64/+69
2cde2c02 switch to boost::thread for mingw build (Lee Clagett)
2017-02-21Merge pull request #1731Riccardo Spagni1-1/+1
a427235e core: add a missing newline on a string to be logged (moneromooo-monero) b6a2230e unit_tests: fix minor blockchain_db regression (moneromooo-monero) c488eca5 hardfork: tone down some logs (moneromooo-monero)
2017-02-20util: add a vercmp function to compare version numbersmoneromooo-monero2-1/+45
It is simple, supports simple x.y.z type numeric versions, and does not attempt any kind of validation
2017-02-16switch to boost::thread for mingw buildLee Clagett8-64/+69
2017-02-14unit_tests: fix minor blockchain_db regressionmoneromooo-monero1-1/+1
Due to the change in ordering for adding block and tx data to the database in f2986ccfc1f41023cd667dbb488a10df492eb8e7, adding a block twice now throws TX_EXISTS, not BLOCK_EXISTS.
2017-02-13blockchain_db: add "raw" blobdata getters for block and transactionmoneromooo-monero3-3/+5
This speeds up operations such as serving blocks to syncing peers
2017-02-12tests: fixup include paths after cryptonote_core splitmoneromooo-monero1-1/+1
2017-02-12Merge pull request #1714Riccardo Spagni2-0/+4
5adcb5a4 tx_pool: add a debug message when adding a tx to the pool (moneromooo-monero) 9faef1f8 cryptonote_protocol: misc fluffy block fixes (moneromooo-monero)
2017-02-12Merge pull request #1706Riccardo Spagni4-4/+132
7403e56f performance_tests: report small time per call in microseconds (moneromooo-monero) cadada2d performance_tests: add tests for sc_reduce32 and cn_fast_hash (moneromooo-monero) 962c72b6 performance_tests: initialize logging at startup (moneromooo-monero)
2017-02-12Merge pull request #1699Riccardo Spagni1-16/+22
dd348549 make previous change portable (Timothy D. Prime) 32d7d048 fixes #1688 protect make debug-test from gtest (Timothy D. Prime)
2017-02-12cryptonote_protocol: misc fluffy block fixesmoneromooo-monero2-0/+4
- fix wrong block being used when a new block is received between a node elaying a fluffy block and sending a new fluffy block with txes a peer did not have - misc a neverending ping pong requesting the same missing txids when a new block is received in the meantime, causing the top block to not be the one we need - send the original fluffy block message block height when sending a new fluffy block, not the current top height, which might have been updated since - avoid sending back the whole block blob when asking for txes, send only the hash instead - plus misc cleanup and additional debugging logs
2017-02-10performance_tests: report small time per call in microsecondsmoneromooo-monero1-3/+13
This is to not report quick operations as 0 milliseconds
2017-02-11Merge pull request #1689Riccardo Spagni3-12/+26
ce7fcbb4 Add server auth to monerod, and client auth to wallet-cli and wallet-rpc (Lee Clagett)
2017-02-10performance_tests: add tests for sc_reduce32 and cn_fast_hashmoneromooo-monero3-1/+116
2017-02-10performance_tests: initialize logging at startupmoneromooo-monero1-0/+3
2017-02-08make previous change portableTimothy D. Prime1-2/+2
Use cmake's _PREFIX and _SUFFIX to determine the library location.
2017-02-08fixes #1688 protect make debug-test from gtestTimothy D. Prime1-16/+22
In simple terms, add_subdirectory() is replaced with ExternalProject_Add(). This change is inspired by https://crascit.com/2015/07/25/cmake-gtest/ with one difference, no download, using the source we already have. Before this change, make debug-test must be preceded by make clean. Otherwise, a subsequent build would be polluted by cmake options made by tests/gtest/. Also removed the changed compiler flags. My test build did not have the affected warnings.
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi8433-58/+58
2017-02-06Add server auth to monerod, and client auth to wallet-cli and wallet-rpcLee Clagett3-12/+26
2017-02-04update wallet api testsJaquee1-7/+8
2017-02-02Merge pull request #1642Riccardo Spagni1-1/+1
3ae79a59 core: set missing verifivation_failed flag when rejecting a tx (moneromooo-monero) ea6549e9 core_tests: decrease trace level from trace to debug (moneromooo-monero)
2017-01-28core_tests: decrease trace level from trace to debugmoneromooo-monero1-1/+1
It had become very, very spammy
2017-01-25Updates to epee HTTP client codeLee Clagett1-2/+2
- http_simple_client now uses std::chrono for timeouts - http_simple_client accepts timeouts per connect / invoke call - shortened names of epee http invoke functions - invoke command functions only take relative path, connection is not automatically performed
2017-01-21unit_tests: fix missing return after batch_start prototype changemoneromooo-monero1-1/+1
2017-01-16fixups in logging init calls, and add missing net context in a logmoneromooo-monero4-3/+4
2017-01-16Change logging to easylogging++moneromooo-monero14-111/+61
This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
2017-01-15Merge pull request #1579Riccardo Spagni1-0/+19
f5f4109f mnemonics: fix language detection with checksum word (moneromooo-monero)
2017-01-15Merge pull request #1575Riccardo Spagni2-4/+5
b3ca0c62 unit_tests: fix portable serialization tests hardcoded data path (moneromooo-monero)
2017-01-15Merge pull request #1571Riccardo Spagni4-5/+5
81c384e4 fix do_not_relay not preventing relaying on a timer (moneromooo-monero)
2017-01-15Merge pull request #1506Riccardo Spagni1-1/+1
3ff54bdd Check for correct thread before ending batch transaction (Howard Chu) eaf8470b Must wait for previous batch to finish before starting new one (Howard Chu) c903c554 Don't cache block height, always get from DB (Howard Chu) eb1fb601 Tweak default db-sync-mode to fast:async:1 (Howard Chu) 0693cff9 Use batch transactions when syncing (Howard Chu)
2017-01-15mnemonics: fix language detection with checksum wordmoneromooo-monero1-0/+19
If a checksum word is present, language detection would use just the word prefixes. However, a set of word prefixes may be found in more than one language, and so the wrong language may be found first, which could then fail the checksum, since the check may be done with a different unique prefix length from the one it was created from. We now make a checksum test when we we detect a language from prefixes only, to make sure we have the correct one.
2017-01-14Use batch transactions when syncingHoward Chu1-1/+1
Faster throughput while avoiding corruption. I.e., makes running with --db-sync-mode safe more tolerable.
2017-01-14unit_tests: fix portable serialization tests hardcoded data pathmoneromooo-monero2-4/+5
2017-01-14fix do_not_relay not preventing relaying on a timermoneromooo-monero4-5/+5
Also print its value when printing pool
2017-01-13Merge pull request #1559Riccardo Spagni1-0/+10
db56a03f Wallet2 + API: Callbacks for unconfirmed transfers (Jaquee)
2017-01-12Wallet2 + API: Callbacks for unconfirmed transfersJaquee1-0/+10
2017-01-11Added (not yet enabled) HTTP client authenticationLee Clagett1-49/+302
2017-01-08Merge pull request #1515Riccardo Spagni7-0/+521
ada7c7da portable serializer: tests added (kenshi84) f390a0e2 portable serializer: make signerd/unsigned tx portable, ignore archive version checking (kenshi84)
2017-01-08Merge pull request #1493Riccardo Spagni1-0/+1
0478ac68 blockchain: allow marking "tx not found" without an exception (moneromooo-monero)
2017-01-08Merge pull request #1460Riccardo Spagni1-8/+9
99580adf make openalias also available for solo miner; introduce namespace tools::dns_utils; support integrated address with dns lookup (kenshi84)
2017-01-07blockchain: allow marking "tx not found" without an exceptionmoneromooo-monero1-0/+1
This is a normal occurence in many cases, and there is no need to spam the log with those when it is.
2017-01-03portable serializer: tests addedkenshi847-0/+521
2016-12-21Fixed HTTP auth tests for gcc 4.9Lee Clagett1-4/+4
2016-12-21make openalias also available for solo miner; introduce namespace ↵kenshi841-8/+9
tools::dns_utils; support integrated address with dns lookup
2016-12-20Fixed uninitialized valgrind errors in serialization testsLee Clagett1-2/+4
2016-12-19Fixes for google test < 1.8Lee Clagett1-18/+18
2016-12-15Merge pull request #1459Riccardo Spagni2-3/+4
b00da61e Preliminary support for DragonFly BSD (Antonio Huete Jimenez)
2016-12-15Merge pull request #1444Riccardo Spagni2-0/+473
bdc3d749 Adding HTTP Digest Auth (but not yet enabled) (Lee Clagett)
2016-12-15Preliminary support for DragonFly BSDAntonio Huete Jimenez2-3/+4
- It builds but no further testing has been done.
2016-12-13Bitmonero namespace renamed Monero. Bitmonero namespace alias added so that ↵Randi Joseph1-136/+136
third party uses of the wallet api can transition.
2016-12-13Adding HTTP Digest Auth (but not yet enabled)Lee Clagett2-0/+473
2016-12-04ringct: luigi1111's changes to fix and speedup Borromean sigsluigi11111-8/+4
2016-12-04ringct: switch to Borromean signaturesShen Noether2-35/+18