Commit graph

1775 commits

Author SHA1 Message Date
Glenn Willen
d5042b41c8 Finish removing 'recheckpeginblockinterval'; move MainchainRPCCheck
- Finish removing all references to 'recheckpeginblockinterval', including
  documentation and tests.
- Remove periodic calls to MainchainRPCCheck; use it only at startup (and
  refactor accordingly to simplify logic.)
- Move MainchainRPCCheck from validation.h/cpp (public) to an internal
  helper function of init.cpp.
- Comment out definition of 'revalidation queue' type in txdb, to suppress
  "unused variable" warning. (Leave it visible to avoid future reuse.)
2021-09-13 22:10:33 +00:00
Andrew Poelstra
313f73d5b2 When validation is waiting for parent chain daemon, "stall".
Currently, if -validatepegin is given, and block validation can't proceed
because the parent chain is not synced, we mark the block invalid and put
it in a queue to be "revalidated" later. Unfortunately, marking a block
invalid has downstream consequences, in particular causing descendant blocks
to be marked invalid, which are not currently fixed by the queue.

Instead, we'll use a different strategy: if the mainchain daemon isn't
sufficiently synced to validate a block, we will "stall" connecting that
block to the chain, and have ActivateBestChain simply keep the tip at the
previous block until we're ready.

We can still download and validate (partly) blocks past this point while
we're waiting. They will be connected once the parent chain daemon catches
up.
2021-09-13 22:10:09 +00:00
Andrew Poelstra
2f5c624b18 ci: eliminate a bunch of build warnings
Includes removing some variables from qt/intro.cpp that've been
unused since #13216 and ought to have been removed in the 0.17
rebase, but our linters were not so agressive then. Similarly
fix the BITCOIN_PID_FILE, whose value was incorrectly changed
in the 0.18 rebase.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
68bfd70b43 ci: various linter / CI compiler error fixes
Includes changing TRUE to OP_TRUE for anyone-can-spend output name,
to avoid symbol conflict on win64 builds, which is really obnoxious.
2021-03-26 17:33:04 +00:00
Andrew Poelstra
631d208e8e Merge bcd142e479 into merged_master (Bitcoin PR #20285) 2020-12-02 13:05:54 +00:00
Andrew Poelstra
77c3300ae3 Merge df2129a234 into merged_master (Bitcoin PR #19991)
I had to make up an onion service target port for Liquid and for our custom
params, so I chose 37041 and 37040 to roughly match how signet just adds
30000 to its normal port.
2020-11-30 04:44:21 +00:00
Andrew Poelstra
e5875a75bc Merge 9fc2f011ba into merged_master (Bitcoin PR #20048) 2020-11-30 03:46:23 +00:00
Andrew Poelstra
86c430b852 Merge 3487e421a7 into merged_master (Bitcoin PR #20004) 2020-11-30 03:25:50 +00:00
Andrew Poelstra
c364bcefad Merge 9e6f56f6ea into merged_master (Bitcoin PR #19984) 2020-11-30 00:30:38 +00:00
Andrew Poelstra
64bfdd9af8 Merge 8aa6178961 into merged_master (Bitcoin PR #20003) 2020-11-30 00:24:10 +00:00
Andrew Poelstra
1f47015ba6 Merge 5db44c740e into merged_master (Bitcoin PR #20014) 2020-11-29 23:32:59 +00:00
Andrew Poelstra
e20126cae4 Merge 2552702000 into merged_master (Bitcoin PR #15367) 2020-11-29 23:02:09 +00:00
Andrew Poelstra
d105732185 Merge ec9b28e089 into merged_master (Elements PR #910) 2020-11-29 22:55:33 +00:00
Andrew Poelstra
5f5f4279ed Merge 1b313cacc9 into merged_master (Bitcoin PR #19927) 2020-11-29 21:07:46 +00:00
Andrew Poelstra
7a8f77d7ad Merge 9e217f5a6f into merged_master (Bitcoin PR #19572) 2020-11-29 19:44:31 +00:00
Andrew Poelstra
3a620fbb0a Merge 62e3eb9888 into merged_master (Bitcoin PR #19241)
This caused a segfault because we have no checkpoints. Added a NULL check
which jnewbery suggested on the original PR, but for some reason didn't
get in.
2020-11-29 05:16:14 +00:00
Andrew Poelstra
b657dd4a3a Merge 147d50d63e into merged_master (Bitcoin PR #19791) 2020-11-29 02:07:46 +00:00
Andrew Poelstra
2a0cf12ecc Merge 07087051af into merged_master (Bitcoin PR #19556)
Added a method testPeginClaimAcceptance to interfaces::CChain. It is not clear
to me that this is meaningfully different from the existing method broadcastTransaction
(with the `relay` flag set to false so it doesn't actually broadcast), except
that this method returns the TxValidationState, which we display to the user
in the RPC error. Worth revisiting this.

Another nonobvious change was replacing a block of mempool-searching logic
in wallet/rpcwallet.cpp with the single line `pwallet->chain().findCoins(coins)`.
This I stole from the current state of upstream #17211, our favorite in-progress
PR from which the original logic came.
2020-11-29 01:43:20 +00:00
Andrew Poelstra
30b510767b Merge c157a50694 into merged_master (Bitcoin PR #19840) 2020-11-28 21:07:08 +00:00
Andrew Poelstra
4087c88a7e Merge 269a7ccb27 into merged_master (Bitcoin PR #19099) 2020-11-28 17:53:38 +00:00
Andrew Poelstra
a0c37112ef Merge 5c910a6b7a into merged_master (Bitcoin PR #19826) 2020-11-28 17:34:40 +00:00
Andrew Poelstra
ec3c13988a Merge 6a2ba62685 into merged_master (Bitcoin PR #19779) 2020-11-28 13:07:39 +00:00
Andrew Poelstra
5dd8b96340 Merge 4fefd80f08 into merged_master (Bitcoin PR #19704) 2020-11-28 04:18:46 +00:00
Andrew Poelstra
1aea27d291 Merge b4d0366b47 into merged_master (Bitcoin PR #19070) 2020-11-27 17:48:36 +00:00
Andrew Poelstra
b2c4c2b2b4 Merge 1052b09031 into merged_master (Bitcoin PR #19011) 2020-11-27 17:29:41 +00:00
Andrew Poelstra
f92a3d1ed4 Merge 6ea7348122 into merged_master (Bitcoin PR #19638) 2020-11-27 03:15:08 +00:00
Andrew Poelstra
59aa4e1fba Merge ad2952d17a into merged_master (Bitcoin PR #19604) 2020-11-26 22:45:20 +00:00
Andrew Poelstra
2942044881 Merge 62d137ac3b into merged_master (Bitcoin PR #19561) 2020-11-26 22:20:40 +00:00
Andrew Poelstra
12f11f8f70 Merge 2f71a1ea35 into merged_master (Bitcoin PR #18637) 2020-11-26 20:30:20 +00:00
Andrew Poelstra
e377f4f773 Merge f4cfa6d019 into merged_master (Bitcoin PR #15935) 2020-11-26 18:11:36 +00:00
Andrew Poelstra
db549ccf6f Merge 6ee36a263c into merged_master (Bitcoin PR #19473) 2020-11-26 17:18:17 +00:00
Andrew Poelstra
ed9bb2f2bb Merge 2c0c3f8e8c into merged_master (Bitcoin PR #19217) 2020-11-26 14:59:40 +00:00
Andrew Poelstra
0fb616ece5 Merge 834ac4c0f5 into merged_master (Bitcoin PR #19323) 2020-11-26 03:36:32 +00:00
Andrew Poelstra
10eade5ba9 Merge b93c4244b9 into merged_master (Bitcoin PR #19464) 2020-11-26 02:44:00 +00:00
Andrew Poelstra
52c243844d Merge ca055885c6 into merged_master (Bitcoin PR #19474) 2020-11-26 01:09:23 +00:00
Andrew Poelstra
874de6a557 Merge cc9d09e73d into merged_master (Bitcoin PR #19191) 2020-11-26 01:09:22 +00:00
Andrew Poelstra
ceefa62cdb Merge abdfd2d0e3 into merged_master (Bitcoin PR #19219) 2020-11-26 01:09:20 +00:00
Andrew Poelstra
7fabb1de9a Merge 5ec19df687 into merged_master (Bitcoin PR #19277) 2020-11-26 01:09:19 +00:00
Andrew Poelstra
8e770d3f21 Merge 915ac8a861 into merged_master (Bitcoin PR #19413) 2020-11-26 01:09:19 +00:00
Andrew Poelstra
5fcf5348d9 Merge e1b20e2285 into merged_master (Bitcoin PR #19028) 2020-11-26 01:09:17 +00:00
Andrew Poelstra
c473bf0bce Merge bb588669f9 into merged_master (Bitcoin PR #19331) 2020-11-26 01:09:16 +00:00
Andrew Poelstra
34f4c80e84 Merge 057bd3189f into merged_master (Bitcoin PR #19197) 2020-11-26 01:09:08 +00:00
Andrew Poelstra
3aaeae55ea Merge f8364df250 into merged_master (Bitcoin PR #19176) 2020-11-26 01:09:02 +00:00
Andrew Poelstra
f2abfdd2c4 Merge 41fb69404c into merged_master (Bitcoin PR #19192) 2020-11-26 01:09:01 +00:00
Andrew Poelstra
30e68e5e34 Merge 399a0d9dc7 into merged_master (Bitcoin PR #19180) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
0a5760376f Merge 1b90a7b61a into merged_master (Bitcoin PR #19005) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
18a2a37ece Merge b1b1739944 into merged_master (Bitcoin PR #18968) 2020-11-26 01:09:00 +00:00
Andrew Poelstra
195eb8a243 Merge 4ede05d421 into merged_master (Bitcoin PR #18758) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
b8d665f61a Merge b46fb5cb10 into merged_master (Bitcoin PR #19131) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
29b17c1221 Merge 793e0ff22c into merged_master (Bitcoin PR #18698) 2020-11-26 01:08:49 +00:00