Commit Graph

12790 Commits

Author SHA1 Message Date
tomFlowee d17b8f0c40 Add API docs for new static-headers method. 2021-05-28 12:42:30 +02:00
tomFlowee c45e7d9c3e [P2P] Do not save blockchain data when not changed 2021-05-27 19:08:46 +02:00
tomFlowee d1fa3fa4a9 [P2P] Allow static loading of blockheaders
This adds a unit test for the Blockchain class in the p2p lib and this
introduces the functionality to have a blockchain pre-shipped with an
app.
2021-05-27 19:08:46 +02:00
tomFlowee ccb1016ac7 Avoid deep-copying a bloomfilter when possible. 2021-05-27 19:08:46 +02:00
tomFlowee 3f91689e3e Minor refactor of bloomfilter.
Rename fields to follow the coding guidelines.
Add an isEmpty() getter.
2021-05-23 17:49:57 +02:00
tomFlowee 58ac5a536c Merge branch 'master' of origin:thehub 2021.04.0 2021-05-04 21:09:54 +02:00
tomFlowee c33299ae3a New version 2021-05-04 18:20:04 +02:00
tomFlowee f9a0050220 Update TransactionBuilder / signature type handling
The choice between Schnorr and ECDSA signatures is now per input instead
of once choice for the entire transaction.
2021-05-04 16:57:55 +02:00
tomFlowee dfdd37ad07 Fix whitespace in docs 2021-04-30 17:33:20 +02:00
tomFlowee 28af16d536 Add TransactionBuilder::pushOutputPay2Script() method
Code modified from snipped shared by user Sandurr on noise.cash.
2021-04-22 12:46:35 +02:00
tomFlowee 76fde4a94c Make the test go back to ECDSA style signatures. 2021-04-19 17:07:02 +02:00
tomFlowee c58586516d Allow for longer mock-chains of blocks.
In RegTest we have a much shorter cycle of halving, take this into
account when building blocks.
2021-04-19 17:06:15 +02:00
tomFlowee 793e4ed48d Fix warning: add assignement operator when we have copy-constructor. 2021-04-19 16:29:23 +02:00
tomFlowee f163e942a7 Add Schnorr unit tests 2021-04-19 16:28:54 +02:00
tomFlowee ec5e563125 Make TransactionBuilder sign using Schnorr by default. 2021-04-19 16:09:42 +02:00
tomFlowee 6d33d187d4 Add new CKey::signSchnorr() method. 2021-04-19 15:49:56 +02:00
tomFlowee 6682a4a5b2 Rename CKey::Sign() -> signECDSA() 2021-04-19 15:45:02 +02:00
tomFlowee fcb648916d Make pubkey follow coding styleguide 2021-04-19 14:48:18 +02:00
tomFlowee ea38ab6de5 Make ping more agressive.
For native connections we ping in order to disconnect stale connections.
This ensures that pings are sent more agressive, via the priority queue,
and we delay the disconnect to 150s.

So, pings more agressive, disconnects less agressive.
2021-04-19 11:31:53 +02:00
tomFlowee 6e7a54b7d4 [GUI] Update service bits. 2021-04-19 11:29:45 +02:00
tomFlowee 00a29b1df9 Merge branch 'master' of origin:thehub 2021-04-09 13:11:20 +02:00
tomFlowee 72b47b276f Move disk-free-checker to later in the process
This avoids issues where we check for disk space before
the databases are created.
2021-04-05 13:28:27 +02:00
tomFlowee 6142efc7e1 Fix lifetime of the diskSpaceChecker class
As the DiskSpaceChecker owns a deadlinetimer, which depends on the asio
io_service, we need to ensure it is destructed before the io_service is.

The io_service, and now the diskSpaceChecker as well, are specifically
shut down, in order.
Application is still a singleton that dies after main() ends, but will
have nearly no members at that time.
2021-04-05 11:36:31 +02:00
tomFlowee 30021be356 Add binding addresses whitelisted for API filters 2021-04-04 17:08:21 +02:00
tomFlowee 9dbf93f7a7 Add assert to fail fast. 2021-04-03 20:35:19 +02:00
tomFlowee 647b5887b5 Have a class that monitors filesystem available space.
This will be used to cleanly shut down the node when disk space
available is nearing critical levels. Well before we get into an issue.
2021-04-02 17:25:43 +02:00
tomFlowee 914392e944 Make ready for release 2021.03.1 2021-03-29 12:21:28 +02:00
tomFlowee fd7b6096bf Rename argument enableblockindex to more correct feesmetadata 2021-03-29 12:20:49 +02:00
tomFlowee c82766d9c7 Micro optimization 2021-03-27 16:02:49 +01:00
tomFlowee 5f9def2226 Update maintainer email address 2021-03-26 19:36:46 +01:00
tomFlowee ca0201f107 Avoid working on temporary 2021.03.0 2021-03-26 19:24:08 +01:00
tomFlowee 578b9b1102 Update version number 2021-03-26 17:54:34 +01:00
tomFlowee 9cd25d4fbf Be consistent 2021-03-25 18:49:00 +01:00
tomFlowee 178bdf8b74 Add new unit test
This test tests the new Mining::SubmitBlock feature.
We also test the GetBlock with the new FilterOnScriptType feature.

Some new helper methods in the messageBuilder and FastBlock are also
used and tested.
2021-03-24 21:00:26 +01:00
tomFlowee 3e9fe7aa3c Add to the Flowee API: Mining::SubmitBlock
This adds a new API endpoint that allows submitting of a new block to be
validated and possibly appended to the tip of the chain.
2021-03-24 21:00:25 +01:00
tomFlowee ce8ecd965e Add api doc. 2021-03-24 21:00:25 +01:00
tomFlowee 4f3c1ca3e1 Remove dead code. 2021-03-24 21:00:25 +01:00
tomFlowee d797b1bf50 Minor additions of helper methods.
Tested in the upcoming unit test.
2021-03-24 21:00:25 +01:00
tomFlowee 4f8f5ba739 blk file management: handle truncated files.
This makes it possible for the most recent file to not be the default
filesize but much smaller. This fixes us to writing outside of the
allocated membuffer and causing a kernel signal.
Additionally we start a new file for writes in that case.

This case is seen in the unit tests where we have a perfect-fitting file
in git which we then try to write to when adding a new block.
As such this is tested in the upcoming unit test.
2021-03-24 21:00:25 +01:00
tomFlowee 41e0739e17 add op_group convenience method to transactionbuilder 2021-03-24 19:08:25 +01:00
tomFlowee 10c447479a Add badge 2021-03-24 19:08:25 +01:00
tomFlowee c1cdbba72b Add new feature, search a block with script-type
This new flag to the getBlock API call allows us to select
a transaction based on the usage of a certain script opcode.
This uses the new metadata index.
2021-03-24 19:08:25 +01:00
tomFlowee 0a1f0f8c52 Split 'API' tests into separate executables.
The test starts to become long to run and using the one main.cpp
hack we had removes our ability to select one test to run, so lets
go back to one executable per class.
2021-03-24 19:08:25 +01:00
tomFlowee 8124a65795 Peer reviewed: Blockchain::IncludeTxFees
Make plural.
2021-03-18 11:34:59 +01:00
tomFlowee 9d6ba33cc0 Add and test service to receive all double spend proofs. 2021-03-18 11:07:50 +01:00
tomFlowee d15a89dc99 Avoid duplication 2021-03-17 21:07:25 +01:00
tomFlowee 9025a2e2ea Add DoubleSpendService to listen to all double spend notifications 2021-03-16 19:53:14 +01:00
tomFlowee 7406cd6ecf Remove dead code (xor of stream). 2021-03-16 19:34:33 +01:00
tomFlowee 190de58f3e Add docs. 2021-03-16 18:56:28 +01:00
tomFlowee 0100c2f9e2 Wrap the services in one class
This allows us to avoid duplicating complexity in starting the API
subsystem.
2021-03-16 15:14:13 +01:00