Commit graph

274 commits

Author SHA1 Message Date
Andrew Poelstra
009bc2fdfb Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
Andrew Poelstra
c7a29c2228 Merge f9fd3a27fd into merged_master (Bitcoin PR #17750) 2020-11-14 16:52:00 +00:00
Andrew Poelstra
4219b6d7d9 Merge 48d64d73c0 into merged_master (Bitcoin PR #17564) 2020-11-14 16:51:59 +00:00
Andrew Poelstra
fe9767f625 Merge d4b335c60a into merged_master (Bitcoin PR #17617) 2020-11-14 16:51:58 +00:00
Andrew Poelstra
8746cbf50b Merge a739d207a3 into merged_master (Bitcoin PR #17519) 2020-11-09 23:10:14 +00:00
Andrew Poelstra
70e702083b Merge ef4231fc00 into merged_master (Elements PR #776) 2020-11-09 23:10:10 +00:00
Andrew Poelstra
00d30ddc6c Merge 94a26b192f into merged_master (Bitcoin PR #17318) 2020-11-09 21:20:51 +00:00
Andrew Poelstra
b607d68347 Merge 463eab5e14 into merged_master (Bitcoin PR #17285) 2020-11-09 21:20:50 +00:00
Andrew Poelstra
bde84fefc4 Merge 3c40bc6726 into merged_master (Bitcoin PR #15921) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
cda20329e8 Merge cab94cc074 into merged_master (Bitcoin PR #16943) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
34af974d28 Merge 471e5f8829 into merged_master (Bitcoin PR #16839) 2020-11-09 21:20:47 +00:00
Andrew Poelstra
61e1882a27 Merge 1ff3a39d11 into merged_master (Elements PR #753) 2020-11-09 21:20:46 +00:00
Andrew Poelstra
1fed52eeb2 Merge 073cb3cb94 into merged_master (Elements PR #732) 2020-11-09 21:20:38 +00:00
Andrew Poelstra
423b32563f Merge b0f4cb397a into merged_master (Elements PR #745) 2020-11-09 21:20:38 +00:00
Andrew Poelstra
56e1710af4 Merge 8fd1b52f9d into merged_master (Elements PR #744) 2020-11-09 21:20:37 +00:00
Andrew Poelstra
ad6c1498ae Merge 81fd79ab94 into merged_master (Elements PR #739) 2020-11-09 21:20:36 +00:00
Andrew Poelstra
e25e16c65e Merge ccaef6c28b into merged_master (Bitcoin PR #16908) 2020-11-09 21:20:33 +00:00
Andrew Poelstra
a3139d9501 Merge 280c33f865 into merged_master (Elements PR #723) 2020-11-09 21:20:29 +00:00
Andrew Poelstra
9cc26a716a Merge 5b2fe5563b into merged_master (Elements PR #642)
FIXME: we disable standardness checks for the non-PAK node in the PAK tests.
This is because of a bug in Elements which causes non-PAK nodes to reject
pegouts for standardness reasons. Need to fix it after the rebase.
2020-11-09 21:20:21 +00:00
Andrew Poelstra
5f280a6068 Merge 1bf2ff2bf8 into merged_master (Bitcoin PR #16060) 2020-11-09 21:20:15 +00:00
Andrew Poelstra
3d8887b99f Merge 0753c73927 into merged_master (Bitcoin PR #16596) 2020-11-09 21:20:14 +00:00
Andrew Poelstra
1e58aac3d1 Merge 8f604361eb into merged_master (Bitcoin PR #16194) 2020-11-09 21:20:06 +00:00
Andrew Poelstra
a50b652932 Merge 735d6b57e7 into merged_master (Bitcoin PR #16227) 2020-11-09 03:58:21 +00:00
Andrew Poelstra
f11c2f3dab Merge 357488f660 into merged_master (Bitcoin PR #16240) 2020-11-09 03:58:20 +00:00
Andrew Poelstra
0e2c963dbf Merge 7d7b832d67 into merged_master (Bitcoin PR #16262) 2020-11-09 03:58:18 +00:00
Andrew Poelstra
19568c3891 Merge c6e42f1ca9 into merged_master (Bitcoin PR #14193) 2020-11-09 03:58:18 +00:00
Andrew Poelstra
cb15f46946 Merge 5d37c1bde0 into merged_master (Bitcoin PR #15976) 2020-11-06 15:20:12 +00:00
Andrew Poelstra
c91184f6c2 Merge b2a6b02161 into merged_master (Bitcoin PR #15948) 2020-10-29 02:36:55 +00:00
Andrew Poelstra
8597b2f437 Merge adc55dbac5 into merged_master (Bitcoin PR #15748) 2020-10-28 15:35:17 +00:00
Andrew Poelstra
f3b06ff713 Merge c536dfbcb0 into merged_master (Bitcoin PR #15639)
asp: the point of this PR was to completely decouple libbitcoin_server from
bitcoin_tool; it removes $(LIBBITCOIN_SERVER) from the `elements_wallet_LDADD`.
I put this back in because our additional code related to pegin claiming makes
heavy use of methods from libbitcoin_server.

If we want to morally accept this PR then we need to do a nontrivial refactoring.
2020-10-28 15:00:23 +00:00
Andrew Poelstra
a8581ea138 Merge 6a135fbe5b into merged_master (Bitcoin PR #15638) 2020-10-28 03:16:57 +00:00
Andrew Poelstra
fcce829ca6 Merge ba54342c9d into merged_master (Bitcoin PR #15685) 2020-10-28 00:53:18 +00:00
Andrew Poelstra
edfdf46351 Merge 45f434f44d into merged_master (Bitcoin PR #15288) 2020-10-27 21:55:08 +00:00
MarcoFalke
aaaaad6ac9
scripted-diff: Bump copyright of files changed in 2019
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2019-12-30 10:42:20 +13:00
MarcoFalke
f9fd3a27fd
Merge #17750: util: change GetWarnings parameter to bool
7aab8d1024 [style] Code style fixups in GetWarnings() (John Newbery)
492c6dc1e7 util: change GetWarnings parameter to bool (John Newbery)
869b6314fd [qt] remove unused parameter from getWarnings() (John Newbery)

Pull request description:

  `GetWarnings()` changes the format of the output warning string based on a passed-in string argument that can be set to "gui" or "statusbar".

  Change the argument to a bool:

  - there are only two types of behaviour, so a bool is a more natural argument type
  - changing the name to `verbose` does not set any expectations for the how the calling code will use the returned string (currently, `statusbar` is used for RPC warnings, not a status bar)
  - removes some error-handling code for when the passed-in string is not one of the two strings expected.

ACKs for top commit:
  laanwj:
    code review ACK 7aab8d1024
  practicalswift:
    ACK 7aab8d1024 -- diff looks correct :)
  MarcoFalke:
    ACK 7aab8d1024 otherwise.
  promag:
    Code review ACK 7aab8d1024.

Tree-SHA512: 75882c6e3e44aa9586411b803149b36ba487f4eb9cac3f5c8f07cd9f586870bba4488a51e674cf8147f05718534f482836e6a4e3f66e0d4ef6821900c7dfd04e
2019-12-16 16:07:20 -05:00
MarcoFalke
48d64d73c0
Merge #17564: rpc: Use mempool from node context instead of global
fa8e650b52 rest: Use mempool from node context instead of global (MarcoFalke)
fa660d65d7 node: Use mempool from node context instead of global (MarcoFalke)
facbaf092f rpc: Use mempool from node context instead of global (MarcoFalke)

Pull request description:

  Currently they are identical, but in the future we might want to turn
  the mempool into a unique_ptr. Replacing the global with the mempool
  pointer from the node context simplifies this step.

ACKs for top commit:
  jnewbery:
    Code review ACK fa8e650b5
  ryanofsky:
    Code review ACK fa8e650b52, Only the discussed REST server changes since the last review.

Tree-SHA512: 0836f3f39cf90306455962918446e5f8612e88c32072b92afc30929aea1f17430bbda0e2b3668d36c9d6b97d63a93cf4903185194571108642b7bf5a39b89125
2019-12-16 16:05:06 -05:00
John Newbery
492c6dc1e7 util: change GetWarnings parameter to bool
GetWarnings() changes the format of the output warning string based on a
passed-in string argument that can be set to "gui" or "statusbar".
Change the argument to a bool:

- there are only two types of behaviour, so a bool is a more natural
argument type
- changing the name to 'verbose' does not set any expectations for the
how the calling code will use the returned string (currently,
'statusbar' is used for RPC warnings, not a status bar)
- removes some error-handling code for when the passed-in string is not
one of the two strings expected.
2019-12-15 13:24:48 -03:00
Jon Atack
e2f32cb5c5
qa: unify unix epoch time descriptions
to "UNIX epoch time".

Call sites updated:
```
mocktime
getblockheader
getblock
pruneblockchain
getchaintxstats
getblocktemplate
setmocktime
getpeerinfo
setban
getnodeaddresses
getrawtransaction
importmulti
listtransactions
listsinceblock
gettransaction
getwalletinfo
getaddressinfo
```
2019-12-13 02:02:29 +01:00
MarcoFalke
facbaf092f
rpc: Use mempool from node context instead of global
Currently they are identical, but in the future we might want to turn
the mempool into a unique_ptr. Replacing the global with the mempool
pointer from the node context simplifies this step.
2019-12-05 13:45:49 -05:00
Neha Narula
e9a27cf338 refactor: Remove unused COINBASE_FLAGS
Commit d449772cf6 stopped setting
COINBASE_FLAGS, and it looks like it hasn't been used since P2SH.
Update the help string to remove "flags", which is not specified in
BIP 22.
2019-11-20 19:06:52 -05:00
Gregory Sanders
6ba90ef1e7 commit_data is entirely optional 2019-11-13 10:04:37 -05:00
MarcoFalke
94a26b192f
Merge #17318: replace asserts in RPC code with CHECK_NONFATAL and add linter
c98bd13e67 replace asserts in RPC code with CHECK_NONFATAL and add linter (Adam Jonas)

Pull request description:

  - Replace instances of assert in /rpc files and rpcwallet with CHECK_NONFATAL(condition)
  - Add a linter to prevent future usage of assert being used in RPC code

  ref https://github.com/bitcoin/bitcoin/pull/17192

ACKs for top commit:
  practicalswift:
    ACK c98bd13e67 -- diff looks correct

Tree-SHA512: a16036b6bbcca73a5334665f66e17e1756377d582317568291da1d727fc9cf8c84bac9d9bd099534e1be315345336e5f7b66b93793135155f320dc5862a2d875
2019-11-04 11:33:41 -05:00
Wladimir J. van der Laan
463eab5e14
Merge #17285: doc: Bip70 removal follow-up
3ed8e3d079 doc: Remove explicit network name references (Fabian Jahr)
d6e493f0c2 wallet: Remove left-over BIP70 comment (Fabian Jahr)

Pull request description:

  A small follow-up to #17165 which removed BIP70 support.

  1. Removes one leftover mention of BIP70 in a comment.
  2. Removes BIP70 reference in comments on network/chain name strings. These can be removed as they are not really helpful and also incorrect: BIP70 only defines "main" and "test" but not "regtest". If/When signet gets merged we will add another name to the list that is not defined in BIP70. Mostly there is also an exhaustive list of the options included in the comment anyway.

  If we would like to keep an identifier for this naming scheme, I would suggest switching to something more generic, like 'short chain name'. Happy to implement that if that is preferred. Alternatively, we could add a reference to `CBaseChainParams`. That would also mean we don't have to change these lines again for signet.

ACKs for top commit:
  MarcoFalke:
    ACK 3ed8e3d079

Tree-SHA512: 9a7c0b9cacbb67bd31a089ffdc6f1ebc7f336493e2c8266eb697da34dce2b505a431d5639a3e4fc34f9287361343e861b55dc2662e0a1d2095cc1046db77d6ee
2019-11-02 14:47:41 +01:00
Fabian Jahr
3ed8e3d079 doc: Remove explicit network name references 2019-11-01 12:06:35 +01:00
Adam Jonas
c98bd13e67 replace asserts in RPC code with CHECK_NONFATAL and add linter 2019-10-30 12:03:07 -04:00
Wladimir J. van der Laan
3c40bc6726
Merge #15921: validation: Tidy up ValidationState interface
3004d5a12d [validation] Remove fMissingInputs from AcceptToMemoryPool() (John Newbery)
c428622a5b [validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders() (John Newbery)
7204c6434b [validation] Remove useless ret parameter from Invalid() (John Newbery)
1a37de4b31 [validation] Remove error() calls from Invalid() calls (John Newbery)
067981e492 [validation] Tidy Up ValidationResult class (John Newbery)
a27a2957ed [validation] Add CValidationState subclasses (John Newbery)

Pull request description:

  Carries out some remaining tidy-ups remaining after PR 15141:

  - split ValidationState into TxValidationState and BlockValidationState (commit from ajtowns)
  - various minor code style tidy-ups to the ValidationState class
  - remove the useless `ret` parameter from `ValidationState::Invalid()`
  - remove the now unused `first_invalid` parameter from `ProcessNewBlockHeaders()`
  - remove the `fMissingInputs` parameter from `AcceptToMemoryPool()`, and deal with missing inputs the same way as other errors by using the `TxValidationState` object.

  Tip for reviewers (thanks ryanofsky!): The first commit ("[validation] Add CValidationState subclasses" ) is huge and can be easier to start reviewing if you revert the rote, mechanical changes:

  Substitute the commit hash of commit "[validation] Add CValidationState subclasses" for <CommitHash> in the commands below.

  ```sh
  git checkout <CommitHash>
  git grep -l ValidationState | xargs sed -i 's/BlockValidationState\|TxValidationState/CValidationState/g'
  git grep -l ValidationResult | xargs sed -i 's/BlockValidationResult\|TxValidationResult/ValidationInvalidReason/g'
  git grep -l MaybePunish | xargs sed -i 's/MaybePunishNode\(ForBlock\|ForTx\)/MaybePunishNode/g'
  git diff HEAD^
  ```

  After that it's possible to easily see the mechanical changes with:

  ```sh
  git log -p -n1 -U0 --word-diff-regex=. <CommitHash>
  ```

ACKs for top commit:
  laanwj:
    ACK 3004d5a12d
  amitiuttarwar:
    code review ACK 3004d5a12d. Also built & ran tests locally.
  fjahr:
    Code review ACK 3004d5a12d . Only nit style change and pure virtual destructor added since my last review.
  ryanofsky:
    Code review ACK 3004d5a12d. Just whitespace change and pure virtual destructor added since last review.

Tree-SHA512: 511de1fb380a18bec1944ea82b513b6192df632ee08bb16344a2df3c40811a88f3872f04df24bc93a41643c96c48f376a04551840fd804a961490d6c702c3d36
2019-10-30 15:37:34 +01:00
Wladimir J. van der Laan
cab94cc074
Merge #16943: test: Add generatetodescriptor RPC
fa144e6fde rpc: Add generatetodescriptor (MarcoFalke)

Pull request description:

  The existing `generatetoaddress` RPC can only generate to scriptPubKeys that can be represented by an address. However, raw scripts (such as `OP_TRUE`) or P2PK can not be represented by an address, which complicates testing.

ACKs for top commit:
  laanwj:
    ACK fa144e6fde

Tree-SHA512: aee934ab7e33f07c81f3b4c8ec23e7b6ddf63a1f4b86051af0bd76b75d8da1f51627cc682e5c6e42582340ca576bbf8ff724bdd43f87128ccecfa91e52d30ae7
2019-10-30 15:22:53 +01:00
MarcoFalke
fa144e6fde
rpc: Add generatetodescriptor 2019-10-30 10:01:32 -04:00
John Newbery
c428622a5b [validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders()
No callers use the returned value in first_invalid. Remove it from the
function signature and don't set it in the function.
2019-10-29 15:46:45 -04:00
John Newbery
a27a2957ed [validation] Add CValidationState subclasses
Split CValidationState into TxValidationState and BlockValidationState
to store validation results for transactions and blocks respectively.
2019-10-29 15:46:45 -04:00