Lee Clagett
8b00687735
Upgrades to epee::net_utils::network_address
...
- 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-05 11:57:09 -04:00
moneromooo-monero
452d4fae39
tests: fix hashchain unit tests
...
and relax the not-empty safety check to stay more intuitiuve
2017-10-03 00:51:53 +01:00
Riccardo Spagni
a2041c9874
Merge pull request #2518
...
6a0fb301
performance_tests: adjust some iterations down a bit (moneromooo-monero)
2017-10-02 23:31:27 +04:00
Cole Lightfighter
ff7745bb87
Edited test readme for accuracy and depth
...
Removed some erroneous instructions, and added information about
different test suites.
Signed-off-by: Cole Lightfighter <cole@onicsla.bz>
2017-10-01 12:11:59 -06:00
redfish
540d6fa3d5
tests: pass data dir as arg
...
This fixes test failure on builds that happen
to be built in 'build/' instead of 'build/release'.
Use boost filesystem path type.
2017-09-28 01:41:44 -04:00
Wei Tang
551a8ea60e
mnemonics: new Lojban word list
...
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-26 06:42:17 +08:00
moneromooo-monero
36c3465b98
wallet2: do not keep block hashes below last checkpoint
...
This saves a lot of space and load/save time for wallet caches
2017-09-25 21:16:40 +01:00
moneromooo-monero
5d65a75b69
move checkpoints in a separate library
2017-09-25 21:16:26 +01:00
moneromooo-monero
06a681cf5b
performance_tests: add a test for is_out_to_acc_precomp
2017-09-25 18:35:55 +01:00
Riccardo Spagni
e5a2cdbfad
Merge pull request #2457
...
d2d8a41c
Use actual batch size for resize estimates (Howard Chu)
2017-09-25 16:57:07 +02:00
Riccardo Spagni
c2346c6c59
Merge pull request #2424
...
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-25 16:52:27 +02:00
Riccardo Spagni
b911130a46
Merge pull request #2442
...
e29282d2
build: auto update version info without manually deleting version.h (stoffu)
2017-09-25 16:50:35 +02:00
Riccardo Spagni
08ada1fa8b
Merge pull request #2440
...
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-25 16:49:01 +02:00
moneromooo-monero
50a629b2e6
core_tests: catch (impossible in practice) tx extra api failure
...
CID 175301
2017-09-25 15:48:51 +01:00
moneromooo-monero
a7ba3de1d3
libwallet_api_tests: initialize newblock_triggered on reset
...
CID 161873
2017-09-25 15:48:18 +01:00
moneromooo-monero
b5faac5304
get_blockchain_top now returns void
...
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-25 15:48:13 +01:00
moneromooo-monero
6a0fb301bb
performance_tests: adjust some iterations down a bit
2017-09-24 11:00:31 +01:00
stoffu
e29282d208
build: auto update version info without manually deleting version.h
2017-09-21 07:47:37 +09:00
Cole Lightfighter
c300ae56ca
Added test documentation & Keccak unit test
2017-09-19 15:09:38 -06:00
Cole Lightfighter
f6119a8eaa
Added test documentation & Keccak unit test
2017-09-19 15:08:38 -06:00
moneromooo-monero
7adceee634
precomputed block hashes are now in blocks of N (currently 256)
...
This shaves a lot of space off binaries
2017-09-18 16:29:00 +01:00
moneromooo-monero
6137a0b94d
blockchain: reject unsorted ins and outs from v7
...
This ensures no information is leaked by the ordering
2017-09-18 11:23:15 +01:00
Howard Chu
d2d8a41c47
Use actual batch size for resize estimates
...
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-17 22:08:40 +01:00
Howard Chu
510d0d4753
Use a threadpool
...
Instead of constantly creating and destroying threads
2017-09-14 21:42:48 +01:00
moneromooo-monero
0c36b9f931
common: add apply_permutation file and function
...
This algorithm is adapted from Raymond Chen's code:
https://blogs.msdn.microsoft.com/oldnewthing/20170109-00/?p=95145
2017-09-13 09:25:01 +01:00
moneromooo-monero
6ac61100a1
Add a --fluffy-blocks option to relay blocks as fluffy blocks
...
Defaults to off, but fluffy blocks are forced enabled on testnet
2017-09-03 11:11:11 +01:00
Howard Chu
3d19ab7067
Revert "Cleanup test impact of moving blockchain_db_types()"
...
This reverts commit 3dd34a49ef
.
2017-08-29 13:28:16 +01:00
Riccardo Spagni
36b978f50e
Merge pull request #2314
...
c22d22e2
Cleanup test impact of adding safesyncmode() method (Howard Chu)
9a859844
Toggle SAFE syncmode on and off automatically (Howard Chu)
2017-08-26 23:43:22 +02:00
Howard Chu
3dd34a49ef
Cleanup test impact of moving blockchain_db_types()
2017-08-22 15:11:28 +01:00
Howard Chu
c22d22e2db
Cleanup test impact of adding safesyncmode() method
2017-08-22 15:11:09 +01:00
Howard Chu
9a859844f4
Toggle SAFE syncmode on and off automatically
...
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-20 16:30:28 +01:00
Howard Chu
4c7f8ac04f
DB cleanup
...
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp
should ever be including DB-specific headers any more.
2017-08-19 18:11:38 +01:00
Riccardo Spagni
4466b6d1b0
Merge pull request #2303
...
5a283078
cryptonote_protocol: large block sync size before v4 (moneromooo-monero)
7b747607
cryptonote_protocol: kick idle synchronizing peers (moneromooo-monero)
2017-08-17 21:39:44 +02:00
Riccardo Spagni
4b2cc123ff
Merge pull request #2287
...
827afcb7
protocol: pass blockchain cumulative difficulty when syncing (moneromooo-monero)
2017-08-17 21:35:02 +02:00
moneromooo-monero
5a283078ec
cryptonote_protocol: large block sync size before v4
2017-08-17 13:11:52 +01:00
moneromooo-monero
827afcb7ea
protocol: pass blockchain cumulative difficulty when syncing
...
Not used yet.
2017-08-15 21:03:37 +01:00
Riccardo Spagni
124cbe3cf3
Merge pull request #2292
...
cb2d5ac7
mnemonics: new Esperanto word list (moneromooo-monero)
2017-08-15 20:56:49 +02:00
Riccardo Spagni
53dde37ceb
Merge pull request #2276
...
a1891ebe
tests: fix tests build (moneromooo-monero)
2017-08-15 20:53:41 +02:00
moneromooo-monero
cb2d5ac788
mnemonics: new Esperanto word list
...
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-14 17:46:46 +01:00
moneromooo-monero
08abb670e1
protocol: fix reorgs while syncing
2017-08-12 11:22:42 +01:00
moneromooo-monero
a1891ebea9
tests: fix tests build
...
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-10 11:12:56 +01:00
moneromooo-monero
158c3ecff3
core: thread most of handle_incoming_tx
2017-08-07 09:33:20 +01:00
moneromooo-monero
5be43fcdba
cryptonote_protocol_handler: sync speedup
...
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-08-07 09:33:04 +01:00
Riccardo Spagni
8609ed86c4
Merge pull request #2116
...
841231e5
Add fuzz testing using american fuzzy lop (moneromooo-monero)
2017-07-03 12:28:33 +02:00
moneromooo-monero
841231e5bd
Add fuzz testing using american fuzzy lop
...
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-24 16:46:18 +01:00
moneromooo-monero
f4e3dca113
unit_tests: fix build failures after network_address changes
2017-06-19 11:26:02 +01:00
Riccardo Spagni
78f965a9e2
Merge pull request #2082
...
235df7f4
blockchain_db: add a txpool tx getter which returns existence (moneromooo-monero)
2017-06-18 17:36:12 +02:00
moneromooo-monero
235df7f484
blockchain_db: add a txpool tx getter which returns existence
...
Avoids exception spam for the "nope, not found" case
2017-06-11 15:36:48 +01:00
moneromooo-monero
c3bec61da2
core_tests: fix tests failing due to new txpool code requitring batch transactions
2017-06-09 20:49:59 +01:00
Howard Chu
d17c0fc2d0
Don't copy blockchain for coinbase_tx_sum
...
Changed Blockchain::for_all_blocks() to for_blocks_range()
Operate on blockchain in-place instead of building a copy first.
2017-06-01 14:14:24 +01:00
Riccardo Spagni
a4c13ea092
Merge pull request #2039
...
4b932ff3
changed crypto to cncrypto so it generated libcncrypto (Gentian)
2017-05-30 21:24:11 +02:00
Riccardo Spagni
cd13bcb4d2
Merge pull request #2036
...
89b2f306
tests: fix invalid key image test (moneromooo-monero)
a374a522
wallet2: check key image validity domain in import_key_images (moneromooo-monero)
2017-05-30 21:23:05 +02:00
Riccardo Spagni
40eb22aeb4
Merge pull request #2016
...
d1db3251
Fix overlooked renaming of Português in the unit tests (Nano Akron)
2017-05-30 21:13:22 +02:00
Riccardo Spagni
545e2b003c
Merge pull request #1982
...
b52abd13
Move txpool to the database (moneromooo-monero)
2017-05-30 21:12:44 +02:00
moneromooo-monero
b52abd1370
Move txpool to the database
...
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-25 22:23:37 +01:00
Gentian
4b932ff314
changed crypto to cncrypto so it generated libcncrypto
...
fix a cmakelist
2017-05-23 07:45:40 -04:00
moneromooo-monero
89b2f3061b
tests: fix invalid key image test
...
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-18 09:19:55 +01:00
Nano Akron
d1db32511c
Fix overlooked renaming of Português in the unit tests
2017-05-07 16:36:03 +01:00
Nano Akron
12fff108ea
Change Old_English to English_Old - 'Old English' is actually a language
2017-04-24 20:27:12 +01:00
Riccardo Spagni
e53dd76a49
Merge pull request #1983
...
72d113dd
Amended software licenses for Portuguese and Spanish (Nano Akron)
54bcd260
Added Simplified Chinese electrum word list (Nano Akron)
2017-04-24 10:49:24 +02:00
Nano Akron
54bcd260ff
Added Simplified Chinese electrum word list
2017-04-16 12:06:53 +01:00
Lee Clagett
93e10f1cc4
Simplified the implementation and features of span
2017-04-11 16:35:14 -04:00
Lee Clagett
4a8f96f95d
Improvements for epee binary to hex functions:
...
- 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-04-11 16:35:00 -04:00
Randi Joseph
933e08f2f3
Replace deprecated tmpnam function.
2017-03-29 22:32:00 -04:00
moneromooo-monero
6e6794786a
mnemonics: sanity checks for word lists
...
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-25 12:14:01 +00:00
moneromooo-monero
f065234b71
core: cache tx and block hashes in the respective classes
...
An idea from smooth
2017-03-23 09:25:17 +00:00
Lee Clagett
50cd179a60
Removed boost/asio.hpp include from epee/string_tools.h
2017-03-18 22:05:14 -04:00
moneromooo-monero
3396a9f2af
Add intervening v5 fork for increased min block size
...
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-15 08:32:51 +00:00
kenshi84
7d07c64fe5
fix dependency: put HardFork back to cryptonote_basic, made some BlockchainDB functions virtual again to avoid missing symbols error
2017-03-10 11:22:39 +09:00
moneromooo-monero
f75477819c
unit_tests: fix fee tests after quantization change
2017-03-04 22:45:49 +00:00
moneromooo-monero
12adb4a3f3
core: move hardfork back to cryptonote_core
...
should fix a cross dependency betewen cryptonote_basic and
blockchain_db
2017-02-25 16:41:35 +00:00
Riccardo Spagni
700d218c5d
fix broken test data
2017-02-22 23:12:21 +02:00
Riccardo Spagni
c3599fa7b9
update copyright year, fix occasional lack of newline at line end
2017-02-21 19:38:18 +02:00
Riccardo Spagni
ecbd3f0798
Merge pull request #1758
...
5664826a
unit_tests: hardfork unit test now needs get_block_blob_from_height (moneromooo-monero)
2017-02-21 17:22:01 +02:00
moneromooo-monero
5664826a84
unit_tests: hardfork unit test now needs get_block_blob_from_height
2017-02-21 14:48:34 +00:00
Howard Chu
80749e59a8
More for PR #1724
...
Fix unit_tests build (get_output_key API change)
2017-02-21 13:53:13 +00:00
Riccardo Spagni
49efd3add9
Merge pull request #1727
...
0288310e
blockchain_db: add "raw" blobdata getters for block and transaction (moneromooo-monero)
2017-02-21 11:27:15 +02:00
Riccardo Spagni
88c752b476
Merge pull request #1721
...
2cde2c02
switch to boost::thread for mingw build (Lee Clagett)
2017-02-21 11:26:09 +02:00
Riccardo Spagni
565c99f670
Merge pull request #1731
...
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-21 11:21:57 +02:00
moneromooo-monero
08c3f38031
util: add a vercmp function to compare version numbers
...
It is simple, supports simple x.y.z type numeric versions,
and does not attempt any kind of validation
2017-02-20 22:58:04 +00:00
Lee Clagett
2cde2c02ca
switch to boost::thread for mingw build
2017-02-16 20:10:23 -05:00
moneromooo-monero
b6a2230e6f
unit_tests: fix minor blockchain_db regression
...
Due to the change in ordering for adding block and tx data
to the database in f2986ccfc1
,
adding a block twice now throws TX_EXISTS, not BLOCK_EXISTS.
2017-02-14 18:56:42 +00:00
moneromooo-monero
0288310e3b
blockchain_db: add "raw" blobdata getters for block and transaction
...
This speeds up operations such as serving blocks to syncing peers
2017-02-13 21:11:37 +00:00
moneromooo-monero
59c9d165f8
tests: fixup include paths after cryptonote_core split
2017-02-12 21:47:39 +00:00
Riccardo Spagni
92fe31fd44
Merge pull request #1714
...
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-12 23:26:02 +02:00
Riccardo Spagni
e6c29eb5fc
Merge pull request #1706
...
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-12 23:23:17 +02:00
Riccardo Spagni
71770d1a78
Merge pull request #1699
...
dd348549
make previous change portable (Timothy D. Prime)
32d7d048
fixes #1688 protect make debug-test from gtest (Timothy D. Prime)
2017-02-12 23:19:33 +02:00
moneromooo-monero
9faef1f83a
cryptonote_protocol: misc fluffy block fixes
...
- 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-12 12:33:45 +00:00
moneromooo-monero
7403e56fb4
performance_tests: report small time per call in microseconds
...
This is to not report quick operations as 0 milliseconds
2017-02-10 22:56:34 +00:00
Riccardo Spagni
eacf2124b6
Merge pull request #1689
...
ce7fcbb4
Add server auth to monerod, and client auth to wallet-cli and wallet-rpc (Lee Clagett)
2017-02-11 00:35:25 +02:00
moneromooo-monero
cadada2d65
performance_tests: add tests for sc_reduce32 and cn_fast_hash
2017-02-10 18:45:18 +00:00
moneromooo-monero
962c72b624
performance_tests: initialize logging at startup
2017-02-10 18:44:47 +00:00
Timothy D. Prime
dd3485492d
make previous change portable
...
Use cmake's _PREFIX and _SUFFIX to determine the library location.
2017-02-08 13:34:35 -08:00
Timothy D. Prime
32d7d04858
fixes #1688 protect make debug-test from gtest
...
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-08 12:38:41 -08:00
kenshi84
8027ce0c75
extract some basic code from libcryptonote_core into libcryptonote_basic
2017-02-08 22:45:15 +09:00
Lee Clagett
ce7fcbb4ae
Add server auth to monerod, and client auth to wallet-cli and wallet-rpc
2017-02-06 01:15:41 -05:00
Jaquee
b14d109bae
update wallet api tests
2017-02-04 23:25:10 +01:00
Riccardo Spagni
c3eff820be
Merge pull request #1642
...
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-02-02 21:25:30 +02:00
moneromooo-monero
ea6549e9da
core_tests: decrease trace level from trace to debug
...
It had become very, very spammy
2017-01-28 09:43:32 +00:00
Lee Clagett
c02e1cb943
Updates to epee HTTP client code
...
- 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-25 15:39:32 -05:00