Commit graph

661 commits

Author SHA1 Message Date
James Dorfman
4e288c66ce fix errors from merge of bitcoin/bitcoin#23083
Notes:
- bitcoin/bitcoin#23083 increassed how stict the RPC documentation type checks are
- I initially tried fixing all the types -- you can see that work in this commit.
- In the end, I decided there were way too many discrepencies and that it would take
way too long to fix them all. So I just disabled the type check for elements (also in this commit).
2024-05-23 06:33:42 +00:00
James Dorfman
09b290ad91 Merge 3d2f24bb38 into merged_master (Bitcoin PR bitcoin/bitcoin#24656) 2024-04-10 06:24:27 +00:00
James Dorfman
5e7204072c Merge e7b6272b30 into merged_master (Bitcoin PR bitcoin/bitcoin#24636) 2024-02-02 10:35:55 +02:00
James Dorfman
3215693c0c Merge 30041261a3 into merged_master (Bitcoin PR bitcoin/bitcoin#24582) 2024-01-11 16:51:34 +00:00
Byron Hambly
fa21dc5b5d Merge 601bfc417d into merged_master (Bitcoin PR bitcoin/bitcoin#24515) 2023-10-16 10:58:18 +00:00
Byron Hambly
0e89b30f95 Merge 8add59d77d into merged_master (Bitcoin PR bitcoin/bitcoin#24367) 2023-07-02 07:33:56 +00:00
Byron Hambly
8576423f9a Merge 1337b93f50 into merged_master (Bitcoin PR bitcoin/bitcoin#24339) 2023-07-02 05:40:34 +00:00
Byron Hambly
063acc7793 Merge cf5bb048e8 into merged_master (Bitcoin PR bitcoin/bitcoin#22932) 2023-06-28 17:12:24 +00:00
Byron Hambly
62697be8d9 Merge 3d223712d3 into merged_master (Bitcoin PR bitcoin/bitcoin#16795) 2023-06-28 16:32:17 +00:00
Byron Hambly
7878ba47b9 Merge c561f2f06e into merged_master (Bitcoin PR bitcoin/bitcoin#23497) 2023-06-19 09:28:31 +00:00
Byron Hambly
84533a914b Merge f8c84e047c into merged_master (Bitcoin PR bitcoin/bitcoin#23975) 2023-06-15 06:47:53 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
Byron Hambly
39e670c88c Merge 216f4ca9e7 into merged_master (Bitcoin PR bitcoin/bitcoin#22674) 2023-06-13 13:17:01 +00:00
James Dorfman
b0afaee332 Merge eb63b8fab9 into merged_master (Bitcoin PR bitcoin/bitcoin#23718) 2023-06-13 05:47:02 +00:00
James Dorfman
3ef3a3ba00 Merge 011d6e429b into merged_master (Bitcoin PR bitcoin/bitcoin#22514) 2023-06-12 17:32:45 +00:00
Byron Hambly
5854e5e087 Merge 7908772244 into merged_master (Bitcoin PR bitcoin/bitcoin#23703) 2023-06-06 11:15:42 +00:00
Byron Hambly
b0b2f3deff Merge f6013265b7 into merged_master (Bitcoin PR bitcoin/bitcoin#20295) 2023-06-06 09:10:04 +00:00
Byron Hambly
207616f18e Merge 695ba2fe54 into merged_master (Bitcoin PR bitcoin/bitcoin#23486)
Added the additional elements output types of "true" and "fee" to the
decodescript lambdas, we should confirm that this is correct for the fee
outputs. ie. that it is acceptable to permit fee outputs to be wrapped
2023-06-02 10:09:13 +00:00
Byron Hambly
bb09641184 Merge 0bd7ca9a03 into merged_master (Bitcoin PR bitcoin/bitcoin#23642) 2023-06-01 11:55:11 +00:00
Byron Hambly
28823f6118 Merge e7507f333b into merged_master (Bitcoin PR bitcoin/bitcoin#23639) 2023-06-01 08:53:33 +00:00
Byron Hambly
8250bf53d2 Merge 606e306277 into merged_master (Bitcoin PR bitcoin/bitcoin#22981) 2023-05-26 13:47:21 +00:00
Byron Hambly
2da8f66309 Merge 38b2a0a3f9 into merged_master (Bitcoin PR bitcoin/bitcoin#23173) 2023-05-24 11:45:57 +00:00
Byron Hambly
b0ba2f97e2 Merge e70fb87a4f into merged_master (Bitcoin PR bitcoin/bitcoin#23381) 2023-05-18 09:30:53 +00:00
Byron Hambly
498907a233 Merge 816e15ee81 into merged_master (Bitcoin PR bitcoin/bitcoin#22951) 2023-05-09 11:50:39 +00:00
James Dorfman
ff57e1e65f Merge d6492d4ed0 into merged_master (Bitcoin PR bitcoin/bitcoin#22650) 2023-04-27 04:55:34 +00:00
Byron Hambly
6790225b8b Merge faecb2ee0a into merged_master (Bitcoin PR bitcoin/bitcoin#22798) 2023-04-23 07:58:26 +00:00
Byron Hambly
8599606ab3 Merge 21438d55d5 into merged_master (Bitcoin PR bitcoin/bitcoin#21800) 2023-04-09 05:08:13 +00:00
James Dorfman
ea7450b099 Merge 4b1fb50def into merged_master (Bitcoin PR bitcoin/bitcoin#22528) 2023-03-31 18:53:21 +00:00
Glenn Willen
7050d04a75 Merge 7925f3aba8 into merged_master (Bitcoin PR bitcoin/bitcoin#22383) 2023-03-22 03:54:56 +00:00
Jon Griffiths
5895fb10bb
rpc: decodepsbt: fix check for blind_reissuance_amount_proof output 2022-10-05 23:38:54 +13:00
Andrew Chow
cf870ed8d0 rpc: Implement decodepsbt for issuance needs blinded flag 2022-09-06 11:41:02 -04:00
Andrew Chow
4bacc852e9 rpc: Add input explicit value, asset, and proofs to decodepsbt 2022-09-06 11:38:01 -04:00
Jon Griffiths
e319fe0a9a
PSET: Add a parsepsbt RPC command to parse and dump a given PSBT
I found this useful for for creating test cases and checking validity.
In the event that alternative implementations do not aim for exact
serilization compatibility, this RPC can be used to validate and
re-serialize their output for testing.
2022-08-09 09:36:02 +12:00
Glenn Willen
c2aaa7cada Merge 9cc56b87fb into merged_master (Elements PR ElementsProject/elements#1070) 2022-04-20 20:08:44 -07:00
MarcoFalke
3d2f24bb38
Merge bitcoin/bitcoin#24656: refactor: Move mempool RPCs to rpc/mempool
fac5a51c47 Move mempool RPCs to rpc/mempool (MarcoFalke)
fa0f666dd7 style: Add static keyword where possible in rpc/mempool (MarcoFalke)

Pull request description:

  This moves the remaining mempool RPCs to `rpc/mempool`. Previously all mempool RPCs from the `blockchain` category have been moved. This patch moves the ones from the `rawtransactions` category.

  In the future, as a follow-up to this refactoring patch, it could be considered whether a new `mempool` category should be introduced.

  Beside a clearer code organization, this pull request should also reduce the compile time and space of the `rawtransactions.cpp` file.

ACKs for top commit:
  promag:
    Code review ACK fac5a51c47.

Tree-SHA512: 5578b894b68d0595869a9b03ed8dceebe3366f73dec5f090ccc36ff4002b1bc4d58af77546c2d71537c1be03694d9a28c4b1bfbb3569560997879293c5c0301e
2022-03-28 08:53:48 +02:00
fanquake
e7b6272b30
Merge bitcoin/bitcoin#24636: rpc: Exclude descriptor when address is excluded
faf37c217a rpc: Exclude descriptor when address is excluded (MarcoFalke)

Pull request description:

  I don't think output descriptors should be used to describe redeem scripts and witness scripts.

  Fix this by excluding them when it doesn't make sense.

  This should only affect the `decodepsbt` RPC.

  Found by https://github.com/bitcoin/bitcoin/pull/23083

ACKs for top commit:
  achow101:
    ACK faf37c217a
  jonatack:
    ACK faf37c217a

Tree-SHA512: ebd581ad639e70080e26028723fed287caa3fa4d7b836936645020d6cd9b7586585d7113b043442c444a9dc90c23b93efd7f8b8a7d6cf5db1e42137b67c497c3
2022-03-24 12:15:19 +00:00
MarcoFalke
fac5a51c47
Move mempool RPCs to rpc/mempool
Can be reviewed with
--color-moved=dimmed-zebra --color-moved-ws=ignore-all-space
2022-03-24 08:55:13 +01:00
MarcoFalke
faf37c217a
rpc: Exclude descriptor when address is excluded 2022-03-23 11:09:34 +01:00
MarcoFalke
fa2d176016
Move txoutproof RPCs to txoutproof.cpp 2022-03-17 08:42:14 +01:00
Anthony Towns
5be9ee3c54 refactor: more const annotations for uses of CBlockIndex* 2022-03-09 14:32:47 -05:00
laanwj
8add59d77d
Merge bitcoin/bitcoin#24367: User-facing content and codebase doc fixups from transifex translator feedback
48742693ac Replace "can not" with "cannot" in docs, user messages, and tests (Jon Atack)
e670edd434 User-facing content fixups from transifex translator feedback (Jon Atack)

Pull request description:

  Closes #24366.

ACKs for top commit:
  laanwj:
    Code review re-ACK 48742693ac
  hebasto:
    re-ACK 48742693ac, only suggested change since my previous [review](https://github.com/bitcoin/bitcoin/pull/24367#pullrequestreview-885938219).

Tree-SHA512: 4dcdcb417251a413e65fab6070515e13a1267c8e0dbcf521386b842511391f24c84a0c2168fe13458c977682034466509bf2a3453719d4d94d3c568fd9f4adb4
2022-02-22 13:08:08 +01:00
Jon Atack
48742693ac
Replace "can not" with "cannot" in docs, user messages, and tests 2022-02-21 19:07:29 +01:00
Kiminuo
d970a85d33 Move GetAllOutputTypes function from rpc/rawtransaction.cpp to rpc/util.{h|cpp} 2022-02-14 14:34:04 +01:00
laanwj
cf5bb048e8
Merge bitcoin/bitcoin#22932: Add CBlockIndex lock annotations, guard nStatus/nFile/nDataPos/nUndoPos by cs_main
6ea5682784 Guard CBlockIndex::nStatus/nFile/nDataPos/nUndoPos by cs_main (Jon Atack)
5d59ae0ba8 Remove/inline ReadRawBlockFromDisk(block_data, pindex, message_start) (Hennadii Stepanov)
eaeeb88768 Require IsBlockPruned() to hold mutex cs_main (Jon Atack)
ca47b00577 Require CBlockIndex::IsValid() to hold cs_main (Vasil Dimov)
e9f3aa5f6a Require CBlockIndex::RaiseValidity() to hold cs_main (Vasil Dimov)
8ef457cb83 Require CBlockIndex::IsAssumedValid() to hold cs_main (Vasil Dimov)
572393448b Require CBlockIndex::GetUndoPos() to hold mutex cs_main (Jon Atack)
2e557ced28 Require WriteUndoDataForBlock() to hold mutex cs_main (Jon Atack)
6fd4341c10 Require CBlockIndex::GetBlockPos() to hold mutex cs_main (Jon Atack)

Pull request description:

  Issues:

  - `CBlockIndex` member functions `GetBlockPos()`, `GetUndoPos()`, `IsAssumedValid()`, `RaiseValidity()`, and `IsValid()` and block storage functions `WriteUndoDataForBlock()` and `IsBlockPruned()` are missing thread safety lock annotations to help ensure that they are called with mutex cs_main to avoid bugs like #22895. Doing this also enables the next step:

  - `CBlockIndex::nStatus` may be racy, i.e. potentially accessed by multiple threads, see #17161. A solution is to guard it by cs_main, along with fellow data members `nFile`, `nDataPos` and `nUndoPos`.

  This pull:

  - adds thread safety lock annotations for the functions listed above
  - guards `CBlockIndex::nStatus`, `nFile`, `nDataPos` and `nUndoPos` by cs_main

  How to review and test:
  - debug build with clang and verify there are no `-Wthread-safety-analysis` warnings
  - review the code to verify each annotation or lock is necessary and sensible, or if any are missing
  - look for whether taking a lock can be replaced by a lock annotation instead
  - for more information about Clang thread safety analysis, see
      - https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
      - https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#lockingmutex-usage-notes
      - https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#threads-and-synchronization

  Mitigates/potentially closes #17161.

ACKs for top commit:
  laanwj:
    Code review ACK 6ea5682784

Tree-SHA512: 3ebf429c8623c51f944a7245a2e48d2aa088dec4c4914b40aa6049e89856c1ee8586f6e2e3b65195190566637a33004468b51a781e61a082248748015167569b
2022-01-27 10:57:33 +01:00
Gregory Sanders
6498ba151b transaction decoding infer output descriptors 2022-01-26 09:56:51 +08:00
Jon Atack
6ea5682784
Guard CBlockIndex::nStatus/nFile/nDataPos/nUndoPos by cs_main
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
2022-01-25 20:46:52 +01:00
Russell Yanofsky
90fc8b089d Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
MarcoFalke
faa51a6aa9
doc: Mark proprietary array optional
Also, remove not needed '\n's.
Can be reviewed with --word-diff-regex=.
2022-01-04 17:57:50 +01:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
W. J. van der Laan
216f4ca9e7
Merge bitcoin/bitcoin#22674: validation: mempool validation and submission for packages of 1 child + parents
046e8ff264 [unit test] package submission (glozow)
e12fafda2d [validation] de-duplicate package transactions already in mempool (glozow)
8310d942e0 [packages] add sanity checks for package vs mempool limits (glozow)
be3ff151a1 [validation] full package accept + mempool submission (glozow)
144a29099a [policy] require submitted packages to be child-with-unconfirmed-parents (glozow)
d59ddc5c3d [packages/doc] define and document package rules (glozow)
ba26169f60 [unit test] context-free package checks (glozow)
9b2fdca7f0 [packages] add static IsChildWithParents function (glozow)

Pull request description:

  This is 1 chunk of [Package Mempool Accept](https://gist.github.com/glozow/dc4e9d5c5b14ade7cdfac40f43adb18a); it restricts packages to 1 child with its parents, doesn't allow conflicts, and doesn't have CPFP (yet).  Future PRs (see #22290) will add RBF and CPFP within packages.

ACKs for top commit:
  laanwj:
    Code review ACK 046e8ff264

Tree-SHA512: 37dbba37d527712f8efef71ee05c90a8308992615af35f5e0cfeafc60d859cc792737d125aac526e37742fe7683ac8c155ac24af562426213904333c01260c95
2021-12-15 20:42:33 +01:00