Commit Graph

11978 Commits

Author SHA1 Message Date
TomZ f311073312 Avoid DNS lookups and better logging
When users type an IP address as hostname we optimistically try
to parse them in order to avoid asking the DNS anyway.
2019-08-19 21:43:08 +02:00
TomZ da272d7d7f Fix SQL usage for postgres & better logging 2019-08-19 21:42:43 +02:00
TomZ d26386965a Fix defaults
This solves the issue that unless you explicitly turn off the txdb you
still get it.
2019-08-18 16:23:32 +02:00
TomZ 253bda673d Prepare for next release 2019-08-16 23:42:21 +02:00
TomZ 705ef1c97b more docker generation out of the slow CI 2019-08-16 23:41:52 +02:00
TomZ d2cf95d540 Add helper methods Message::matches(...) 2019-08-16 23:40:23 +02:00
TomZ 30bee6bf08 Make connecting a higher prio log 2019-08-16 23:39:40 +02:00
TomZ 7579ee4fc6 Install more.
This installs lib secp256k1, as needed to link to some
of the already installed classes.
2019-08-15 22:05:31 +02:00
TomZ 691ff90014 Avoid uninit data from entering DB
Also fix typo in variable name
2019-08-15 10:55:41 +02:00
TomZ d89f38e4fb More fixlets in indexer after to the rewrite 2019-08-13 23:19:08 +02:00
TomZ 0fdba5a404 Add special postgres SQL statements
When the user selected postgres, use specific SQL statements that are
optimised for it.
2019-08-13 22:21:22 +02:00
TomZ d03be86166 Make indexer follow the tip again
The rewrite of the synching code broke this, so fixing.
2019-08-13 16:19:31 +02:00
TomZ dce04d2323 Add support for listen=0.0.0.0
This is not portable, so Linux only for now.
2019-08-12 23:48:46 +02:00
TomZ c1fa50d7f8 Handle when user asked to log to a file we can't open
This now logs that problem to the console.
2019-08-12 21:51:42 +02:00
TomZ 6cb3e66421 Fix assert
We also return false when there are no listeners.
2019-08-12 11:08:52 +02:00
TomZ 60195ba472 Change defaults, stop enabling xthin by default. 2019-08-12 11:08:48 +02:00
TomZ 259129eb4b Merge branch '2019.06' 2019-08-12 11:08:39 +02:00
TomZ 7ba37e6fab Reorder cmake a bit to have a more natural order
this also increases the minimum version requirements
and I put the boost include dirs in the path.
2019-08-12 11:07:48 +02:00
TomZ 90eab7e4d7 Stop this branch being 'latest' 2019-08-11 14:30:14 +02:00
TomZ c15a058b3b Implement long standing TODO in wallet
support inputting cash-addresses.

Just to be clear, the wallet is purely for testing purposes. We never
actually ship the wallet as a product.
2019-08-09 20:50:38 +02:00
TomZ 53c9badc51 Use atomics in the proper way. 2019-08-09 19:53:13 +02:00
TomZ 9b7e6ba2a8 Fix error reporting on repeatedly adding a tx
This solves the non-feedback on sendrawtransaction when the tx is
rejected immediately because it was formerly seen as invalid.
2019-08-06 23:00:42 +02:00
TomZ 055934b473 Be smarter about which INVs to send and respond to
This still drops the amount of INVs used during the catch-up phase,
while still being a good netizen.
2019-08-06 23:00:36 +02:00
TomZ 0aff6f6eef Beautify the initial log-line. 2019-08-05 23:00:53 +02:00
TomZ 08c7502bab Make logger log errors found at config parse time. 2019-08-05 23:00:52 +02:00
TomZ 3cd54ed5e6 BufferPool; Add simple way to parse a hex string 2019-08-05 23:00:52 +02:00
TomZ fc7f1d519c Add QList debug operator. 2019-08-05 20:17:45 +02:00
TomZ 130efe603e Merge branch '2019.06' 2019-08-05 12:54:45 +02:00
TomZ 220684c8fc Support SCHNORR on OP_CDS
Schnorr signatures are also allowd on OP_CheckDataSig
2019-08-05 12:50:00 +02:00
TomZ 10ed6d9e38 Fix debug line causing crash. 2019-08-05 12:09:43 +02:00
TomZ b035ee5777 Waste less bandwidth during catch-up. 2019-08-05 11:55:59 +02:00
TomZ c2083fe5b0 Count missing bytes for the tag and length too 2019-08-04 21:19:56 +02:00
TomZ 67a27a617a Update testchain
This time remember the private keys...
2019-08-03 17:48:41 +02:00
TomZ 32adb9451d Summer cleanup
The block-box tests have long ago lost their usefullness
and have all been replaced by c++ ones.

The big-box testing was always frowned upon, but it kinda worked
for the original Core codebase which was practically speaking 100%
single-threaded.

Flowee the Hub breaks lots of questionable assumptions.
For instance the assumption that sending a transaction to a node
via the p2p layer and then immediately sending a request over RPC for
the mempool will find that tx there.
Flowee uses an async p2p layer, and therefore that old assumption no
longer holds.

Also, its python. Which is painful to read.
2019-08-03 13:53:17 +02:00
TomZ af21bf8580 Summer cleanup
This moved to the docker setup quite some time ago.
2019-08-03 13:46:24 +02:00
TomZ c9001110e2 Make devop of flowee easier 2019-08-03 13:44:48 +02:00
TomZ e07083dd85 Make uint256::Compare simpler and be unit-tested 2019-07-29 22:47:36 +02:00
TomZ fa360484ba Move uint256_tests to bitcoin-protocol tests
and convert from BOOST to testlib.
2019-07-29 21:45:25 +02:00
TomZ a8b96fffb3 Add testing access to the validation flags. 2019-07-29 17:11:14 +02:00
TomZ 5a9d927aa6 Fix const. 2019-07-29 17:11:11 +02:00
TomZ 0755acd1e6 [API] Add double-spend-proofs to addressMonitor
In the address monitor service this detects specifically if a double
spend detected by the Hub is applicable for our subscriber, and if it is
then a Message will be sent to the subscriber.

This introduces a new message type DoubleSpendFound
and changes the API for the TransactionFound message while dropping the
TransactionRejected message.
2019-07-24 18:41:16 +02:00
TomZ 1aacb3ae52 Vastly simplify mempool-acceptance
This removes the attempt at magic (predicting future) component
called the fee-estimator.
The direct effect is that all transactions have as a mempool acceptance
the same minimum fee. Regardless of how full the mempool or blocks were.

This mempool-acceptance minimum fee is 0 sat/byte. (aka free)

Notice the node-wide free-tx accept-limiter is going to avoid us getting
overloaded.
2019-06-28 14:02:11 +02:00
TomZ 4a877fcbfa Add unit test for MessageBuilder::reply() 2019-06-26 22:50:20 +02:00
TomZ a1ee211968 make compile with older Qt 2019-06-26 22:50:20 +02:00
TomZ 896f5e7b68 Merge branch 'master' into MessageBuilder::Reply 2019-06-26 22:20:44 +02:00
TomZ 98b3e7cece use new MessageBuilder::reply() 2019-06-26 22:19:28 +02:00
TomZ cb5ff404d3 Refactor the Indexer application
This moves each indexer to live in its own thread, making blocking
operations allowed and Ok and separate from incoming requests.
2019-06-26 21:39:07 +02:00
TomZ 039a898c12 Fix CMake dependency typo 2019-06-24 21:18:01 +02:00
TomZ 39428f1271 Cleanup the logging at shutdown.
The RPC / HTTP servers were logging about being shutdown even if
they never were started in the first place. This confused people.
Also removed some empty methods.
2019-06-24 21:18:01 +02:00
TomZ 3383d1e1dc Add method MessageBuilder::reply()
This is an overload of message() specifically meant to build
replies to incoming messages.
The behaviour changed here is that incoming messages with
headers other than "RequestId" now get copied to the outgoing
message by default.
2019-06-24 19:53:24 +02:00