1543 Commits

Author SHA1 Message Date
TomZ 6e6f43a0d4 Remember peerID in DSP-orphanage
So when we adopt one proof, and it turns out to be faulty, we can
punish the peer.
2020-01-12 18:06:23 +01:00
TomZ e042fb90f5 Cancel timer on shutdown 2020-01-12 18:05:09 +01:00
TomZ 071629852a Treat DSP orphans with dignity
This improves the double spend proof orphans code.
Also add a DSProof log-category and lots of log lines to make
looking at a debug build much more fun.
2020-01-12 17:41:53 +01:00
TomZ d6a2488b5c Cleanup some DSP issues
remove the need for 'flags' as this code block doesn't use the
current flags at all.

Also validate proofs that were restored from orphan cache.
2020-01-12 17:10:29 +01:00
TomZ 2b68d149de Cleanups 2020-01-05 16:47:49 +01:00
TomZ 7e01498eba Add operator== to class Tx 2020-01-04 21:08:38 +01:00
TomZ 06535153b0 Remove unused argument. 2020-01-04 15:25:15 +01:00
TomZ d93faff5a3 Fix C++11 compiler warning
also fix potential memory out-of-bounds write issue.
2020-01-04 14:20:22 +01:00
TomZ a305edcafe Fix some compiler warnings. 2020-01-04 14:00:17 +01:00
TomZ 83b7243b70 Prepare for the 2020.01 release
From now on, make sure that the minor always has at least 2 digits
which allows us to use string compare of versions even if we have
more than 9 releases in a year.
2019-12-31 18:05:24 +01:00
TomZ 3315aec93f Add ConstBuffer::operator==() 2019-12-30 17:37:23 +01:00
TomZ a1cb53e603 Delay callback until end
This allows us to do sends from the callback.
2019-12-30 17:25:26 +01:00
TomZ 50fc8dd024 Make available some helper methods as protected 2019-12-27 21:31:44 +01:00
TomZ 92fabcac85 Merge branch '2019.10' 2019-12-23 13:24:27 +01:00
TomZ d15998e658 Provide a safe way to modify jobs out-of-thread
The FloweeJS component uses this class but requires the usage
of the NodeJS 'main' thread. Which needs safe access to the jobs
list at the same time the Flowee workers need access.
Simple solution; add a mutex.
2019-12-23 13:20:08 +01:00
TomZ aef124e523 Merge branch '2019.10' 2019-12-17 17:58:34 +01:00
TomZ 1143a71a92 Fix assignment typo 2019-12-17 17:57:08 +01:00
TomZ f4d8870001 NWM: tweaks to logs. 2019-12-17 17:36:15 +01:00
TomZ 6e8c0b29f7 Also here, report minor ver as hex.
Also fix some compiler warnings
2019-12-12 17:48:48 +01:00
TomZ 95646682b3 Use hex for the client minor number.
This makes string comparisons much easier (a > 9, while 10 < 9).
2019-12-12 17:34:14 +01:00
TomZ 8c842fa108 Catch exceptions on usage of socket
This should fix the issue where the NWM stopped listening due to us not
calling the proper setupCallback()

Also add some logging.
2019-12-11 23:47:21 +01:00
TomZ ea1ab3c987 Fix interpreting API results. 2019-12-10 17:39:17 +01:00
TomZ 7a360f5a3d slight logging updates 2019-12-09 15:15:52 +01:00
TomZ 85d5dac081 add is{Hub|Indexer}Connected() methods. 2019-12-09 15:13:37 +01:00
TomZ ad65d8010b Fix check for coinbase in search API. 2019-12-09 15:13:37 +01:00
TomZ 0e02f9796d cleanup 2019-12-09 15:13:37 +01:00
TomZ 78fa7fc627 add new virtuals for floweejs 2019-12-01 23:05:33 +01:00
TomZ e070acec39 Update checkpoints. 2019-12-01 21:33:18 +01:00
TomZ 1e04e01983 Make big reorgs work better (mostly testnet) 2019-12-01 21:04:43 +01:00
TomZ d988400be6 fix typo 2019-12-01 21:04:24 +01:00
TomZ 88cb02617a Merge branch '2019.09' 2019-12-01 15:12:44 +01:00
TomZ 63294beed5 Fix deadlock on calling chain::FindFork 2019-12-01 15:11:05 +01:00
TomZ ac85f525f3 Lower debug level of 'tx validation failed' message. 2019-12-01 14:49:38 +01:00
TomZ d004e0f5b1 Update UTXO search callback
Make the UTXO search callback actually useful for more than tests.

This passes all the data we have and what the user could want to use,
also updating the receiver (bitcore-proxy).
2019-11-30 19:53:12 +01:00
TomZ f2191ad380 Make UTXO lookup report also the outindex
We have that info, it should be send.
2019-11-30 18:56:25 +01:00
TomZ d658189a73 Move callback
Make the callback happen after we get the indexer status.

Additionally, fix the issue where looking up a txid that failed
would end up being recursive due to us copying the initially requested
hash. Causing it to be a duplicate (which then fails etc).
2019-11-29 22:14:51 +01:00
TomZ 152efb2c5d Print more details on making NWM connection. 2019-11-29 20:09:28 +01:00
TomZ a471d919eb Improve logging of not-acceptable connections
Log IP of remote that tries to talk to us but doesn't know the protocol.
2019-11-29 10:59:58 +01:00
TomZ e8c38f6b77 Add api docs 2019-11-28 23:59:32 +01:00
TomZ 42aaf08e6b Fixlet in comments grammar. 2019-11-25 23:23:00 +01:00
TomZ c094c8d523 Merge branch '2019.09' 2019-11-22 19:24:13 +01:00
TomZ abdefac590 Fix handling a tx spending an out-of-range output
Those should not be stored in the orphan cache, as the data is just
wrong. Not missing.
So also punish the sender, it won't ever be valid.
2019-11-22 19:23:57 +01:00
TomZ 79437d227e Avoid forwarding transactions twice.
An INV in some cases could lead us to reply with two transactions
instead of one.
2019-11-22 19:14:32 +01:00
TomZ 69ea2ddfcd Make whitelisted peers not get punished for bad transactions. 2019-11-22 18:58:58 +01:00
TomZ d86c5a837f Make orphancache follow coding style-guide.
member methods start with a lowercase character.
2019-11-21 20:03:26 +01:00
TomZ c1671c707e Merge branch '2019.09' 2019-11-15 21:07:25 +01:00
TomZ adec1ef3b2 Make rpc-cookie reuse existing cookie files.
This allows external software to create it and manage the cookie which
is useful in a cloud setting.
2019-11-15 19:15:22 +01:00
TomZ f77589b7d3 Whitespace and minor issues. 2019-11-15 18:59:55 +01:00
TomZ 9d77814cc0 cleanups and splits
The recent introduction of helper methods on pubkey.h had the
side-effect of pulling in crypto libraries.
This splits the static methods into a separate namespace and file
to avoid such cross-module dependencies.
2019-11-13 19:09:24 +01:00
TomZ 175096b2bd Refactor: move files
Move some files back to the server "library".
Merge the 'console' lib with server, as it doesn't really make sense with
just one file and nobody exclusively linking to it.

The server "libary" is not really a library, its the place we put all
the files shared by hub-qt hub-cli and hub.
We no longer depend on these files from other places (mostly due to
moving to the new logging framework) and as such we can move the files
back.
2019-11-13 19:09:24 +01:00