Commit Graph

174 Commits

Author SHA1 Message Date
TomZ 1600086ede Updates to and start using the UnspentOutputDB
The new UnspentOutputDatabase classes are only very loosly a database, we
purely register and store unspent outputs there. But unline a DB we don't
allow modification (just insert and delete).

This replaces the coin-db (which was based on leveldb) and as first goal
this gives us a higher level of stability. The level-database was known
to give corruption issues.

Notice that users will need to do a manual reindex on first update.
2018-07-23 19:49:32 +02:00
TomZ 4fef523fa2 don't run disabled tests 2018-06-28 23:18:08 +02:00
TomZ e13730a042 Make backwards compatible 2018-06-24 13:01:39 +02:00
TomZ 500b16d6e1 Make compile when no wallet is compiled in 2018-06-23 20:38:09 +02:00
TomZ fccad43c16 Remove obsolete '-debug=' style arguments to the unit tests. 2018-06-12 23:26:20 +02:00
TomZ c368c6ef77 Create new UTXO database library
The old was based on levelDB which has scalability issues and stability
issues. (most often cited problem is corrupted database..)

This unspent output database I wrote is based on the idea that we need
never actually update any rows, which makes most old fashioned databases
a bad fit.
All we do is create rows and we forget rows. So lets design a DB to fit
that pattern.
2018-05-09 10:48:16 +02:00
TomZ d1a90340da Add testing decoration to the old tests 2018-05-09 10:48:16 +02:00
TomZ 438f9d4f1b Add generic testing decorator
This integrates unit tests into the logging system
so I can see the unit test we are currently in reflected in the log-
line.
2018-05-09 10:48:16 +02:00
TomZ 47deac575c use test_flowee dir instead of test_bitcoin 2018-05-09 10:31:01 +02:00
TomZ 062ef05a77 May Hardfork; import opcodes changes. 2018-04-16 14:42:35 +02:00
TomZ e87a45b508 May hardfork; datacarrier size max is 220 2018-04-16 11:12:08 +02:00
TomZ 096d5af5b8 Remove old options
Remove no longer useful options;
* chain (sorry, supporting the btc chain just doesn't seem worth it)
* initiatecashconnections, we only allow Cash connections now.
* flexiblehandshake, same for incoming. Reject non-cash ones.
2018-04-15 22:35:34 +02:00
TomZ 8cdd0b78e4 Fix cornercases in integers handing of CMF
The compact-message-format has numberic limits that were not
being managed well.

This unit test makes sure we keep the limits at;

Negative number is 0x7FFFFFFF (aka INT_MIN)
Positive number max is 0xFFFFFFFFFFFFFFFF (aka ULONG_LONG_MAX)

The inconsistent limits is because the API. We use ints for negative
numbers and unsigned-longs for larger numbers.
This keeps the API simpler for the common cases.
2018-04-04 17:27:16 +02:00
TomZ 3cdc7acf17 Detect and notify listeners on douple spend 2018-03-25 18:38:51 +02:00
TomZ b3ce448221 Minor update; show more detail when needed. 2018-03-23 18:31:00 +01:00
TomZ b04096f8dc [blackbox-tests] Follow updates in the client. 2018-03-12 22:03:37 +01:00
TomZ 33fe0fccb5 Cleanup ValidationInterface
Get rid of the weird boost signals setup
Move it to a new library 'interfaces' which is
for stuff that has no dependencies and can avoid
creating inter-library or cicular dependencies.
2018-02-16 12:37:13 +01:00
TomZ 81c2b18eb6 Don't overwrite generated files every time cmake runs 2018-02-14 23:08:33 +01:00
TomZ 6bfac42b78 Make black-box tests aware of new dir-layout 2018-02-14 20:20:46 +01:00
TomZ 2ca2ed4009 Move more files around
Most of the useful content moved to 'support'
2018-02-14 20:00:11 +01:00
TomZ 954948246f Make clear this content is under the same license 2018-02-14 14:26:28 +01:00
TomZ 4ac68439d1 Introduce CMake building 2018-02-14 13:49:54 +01:00
TomZ 180233ef30 Move QA dir to more appropriate place 2018-02-14 13:49:54 +01:00
TomZ afe7214e11 start unit testing app 2018-02-14 13:49:54 +01:00