Commit graph

601 commits

Author SHA1 Message Date
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
Glenn Willen
e72544da90 Mark pegin-related args to createrawtransaction as optional. 2021-11-17 17:02:14 -08:00
fanquake
d09071da5b
[MOVEONLY] consensus: move amount.h into consensus
Move amount.h to consensus/amount.h.
Renames, adds missing and removes uneeded includes.
2021-09-30 07:41:57 +08:00
Michael Dietz
2b1fdc2c6c
refactor: minor styling, prefer snake case and same line if 2021-09-24 14:22:53 -05:00
Michael Dietz
d64deac7b8
refactor: share logic between ScriptPubKeyToUniv and ScriptToUniv 2021-09-24 14:22:53 -05:00
Michael Dietz
8721638daa
rpc: remove deprecated addresses and reqSigs from rpc outputs 2021-09-24 14:22:49 -05:00
Andrew Poelstra
daa471ddd2 Merge 4c7dc0620a into merged_master (Elements PR ElementsProject/elements#1046) 2021-09-22 02:26:13 +00:00
Andrew Poelstra
03b835c887 PSET: output warnings in decodepsbt and analyzepsbt about blinding status 2021-09-21 21:59:16 +00:00
MarcoFalke
fa10fbc665
doc: Fix RPC result documentation 2021-09-21 11:13:29 +02:00
Andrew Poelstra
edac5081f4 Merge 1240172eaa into merged_master (Elements PR ElementsProject/elements#1038)
Surprisingly the only conflicts were converting nullopts
2021-09-18 02:10:36 +00:00
Andrew Poelstra
7ba9f416d7 Merge e88f0b7045 into merged_master (Elements PR ElementsProject/elements#1034) 2021-09-18 00:04:33 +00:00
Andrew Chow
3ac7e78a84 pset, rpc: Better error messages for imbalance failure conditions
Instead of not failing and silently allowing bad PSETs to be created,
provide error messages that explain why the operation the user did was
wrong. Specifically for combining PSETs such that they would become
fully blinded but have imbalanced values and blinders, and for blinding
a PSET when the wallet has a blind input but no outputs to blind (would
result in an imbalance).
2021-09-13 18:36:38 -04:00
Andrew Chow
f9f084f785 pset: Add missing fields to merging and fix combinepsbt
* Add some fields that were missing in PSBTInput::Merge and PSBTOutput::Merge
* Remove incorrect check that explicit values and assets aren't present
  when blinded
* Fix bug in combinepsbt where the condition was inverted
2021-09-11 20:58:40 -04:00
Andrew Chow
59f65a3f73 rpc, pset: Include blinded value and asset proofs in decodepsbt 2021-09-11 20:58:40 -04:00
Andrew Poelstra
88edb9f9ff rpc: correct type in calculateasset 2021-09-05 22:53:31 +00:00
Andrew Poelstra
b4369c06a2 rpc: change walletprocesspsbt help text to match upstream 2021-09-05 22:52:16 +00:00
Andrew Poelstra
36e5e2a7f1 Merge 9a154599fe into merged_master (Elements PR ElementsProject/elements#900)
Surprisingly easy to do. Almost all of the diff resolution was mechanically
  * replacing boost::variant with std::variant
  * replacing Optional with std::optional
     * then replacing `nullopt` with `std::nullopt`
  * updating the RPC functions for the new RPCArg::Default type
  * update the tests/ directory to make new (since 22) tests use arrays for
    createrawtransaction outputs
  * other ad-hoc changes to function parameters etc (not too many of these)

I had to "really" change the code in PrecomputePSBTData, which was introduced
in 22.0 and affected by PSET, but this function was like 8 lines long so it
was easy.

Reviewing the diff may be a bit difficult because of the mix of mechanical
changes and ad-hoc things. Probably the most straightforward thing to do
is to redo the merge, `sed -i` to fix the boost::variant and Optional stuff,
then diff the remaining conflicts against this commit.

TODO: grep for `blindpsbt` and you will see that this RPC is still referenced
in documentation and help text even though it was deleted. Need to fix this
in 0.21 in a separate PR.
2021-09-04 19:34:14 +00:00
glozow
f95bbf58aa misc package validation doc improvements 2021-08-05 12:37:28 +01:00
Andrew Poelstra
6fe7938521 Merge 839f5d06d6 into merged_master (Bitcoin PR bitcoin/bitcoin#22432) 2021-07-31 20:32:02 +00:00
MarcoFalke
4b1fb50def
Merge bitcoin/bitcoin#22528: refactor: move GetTransaction to node/transaction.cpp
f685a13bef doc: GetTransaction()/getrawtransaction follow-ups to #22383 (John Newbery)
abc57e1f08 refactor: move `GetTransaction(...)` to node/transaction.cpp (Sebastian Falbesoner)

Pull request description:

  ~This PR is based on #22383, which should be reviewed first~ (merged by now).

  In [yesterday's PR review club session to PR 22383](https://bitcoincore.reviews/22383), the idea of moving the function `GetTransaction(...)` from src/validation.cpp to src/node/transaction.cpp came up. With this, the circular dependency "index/txindex -> validation -> index/txindex" is removed (see change in `lint-circular-dependencies.sh`). Thanks to jnewbery for suggesting and to sipa for providing historical background.

  Relevant IRC log:
  ```
  17:52 <jnewbery> Was anyone surprised that GetTransaction() is in validation.cpp? It seems to me that node/transaction.cpp would be a more appropriate place for it.
  17:53 <raj_> jnewbery, +1
  17:53 <stickies-v> agreed!
  17:54 <glozow> jnewbery ya
  17:54 <jnewbery> seems weird that validation would call into txindex. I wonder if we remove this function, then validation would no longer need to #include txindex
  17:54 <sipa> GetTransaction predates node/transaction.cpp, and even the generic index framework itself :)
  17:55 <sipa> (before 0.8, validation itself used the txindex)
  17:55 <jnewbery> (and GetTransaction() seems like a natural sibling to BroadcastTransaction(), which is already in node/transaction.cpp)
  17:55 <jnewbery> sipa: right, this is not meant as a criticism of course. Just wondering if we can organize things a bit more rationally now that we have better separation between things.
  17:55 <sipa> jnewbery: sure, just providing background
  17:56 <sipa> seems very reasonable to move it elsewhere now
  ```

  The commit should be trivial to review with `--color-moved`.

ACKs for top commit:
  jnewbery:
    Code review ACK f685a13bef
  rajarshimaitra:
    tACK https://github.com/bitcoin/bitcoin/pull/22528/commits/f685a13bef0418663015ea6d8f448f075510c0ec
  mjdietzx:
    crACK f685a13bef
  LarryRuane:
    Code review, test ACK f685a13bef

Tree-SHA512: 0e844a6ecb1be04c638b55bc4478c2949549a4fcae01c984eee078de74d176fb19d508fc09360a62ad130677bfa7daf703b67870800e55942838d7313246248c
2021-07-28 18:19:50 +02:00
Andrew Poelstra
0afcb6d978 Merge 5c2e2afe99 into merged_master (Bitcoin PR bitcoin/bitcoin#21365)
This introduces Taproot wallet support. I fixed all the merge conflicts
and ensured that the tests pass, but this is still using the old sighash
(before Russell/Sanket/I redid it) so is not actually production ready.
Will be fixed when we bring Elements #1002 in.
2021-08-03 20:43:53 +00:00
Andrew Poelstra
34da23bd1a Merge a55904a80c into merged_master (Bitcoin PR bitcoin/bitcoin#21866)
Paying the piper for some lazy use of globals, including ones I added
in 8e770d3f21

Had to add another couple methods to interfaces::Chain
2021-07-29 13:18:11 +00:00
Andrew Poelstra
b413362d11 Merge ef8f2966ac into merged_master (Bitcoin PR bitcoin/bitcoin#22084) 2021-07-24 01:43:31 +00:00
John Newbery
f685a13bef doc: GetTransaction()/getrawtransaction follow-ups to #22383 2021-07-22 20:35:14 +02:00
MarcoFalke
7925f3aba8
Merge bitcoin/bitcoin#22383: rpc: Prefer to use txindex if available for GetTransaction
78f4c8b98e prefer to use txindex if available for GetTransaction (Jameson Lopp)

Pull request description:

  Fixes #22382

  Motivation: prevent excessive disk reads if txindex is enabled.

  Worth noting that this could be argued to be less of a bug and more of an issue of undefined behavior. If a user calls GetTransaction with the wrong block hash, what should happen?

ACKs for top commit:
  jonatack:
    ACK 78f4c8b98e
  theStack:
    Code review ACK 78f4c8b98e
  LarryRuane:
    tACK 78f4c8b98e
  luke-jr:
    utACK 78f4c8b98e
  jnewbery:
    utACK 78f4c8b98e
  rajarshimaitra:
    Code review ACK 78f4c8b98e
  lsilva01:
    Code Review ACK and Tested ACK https://github.com/bitcoin/bitcoin/pull/22383/commits/78f4c8b98eada337346ffb206339c3ebae4ff43b on Ubuntu 20.04

Tree-SHA512: af7db5b98cb2ae4897b28476b2fa243bf7e6f850750d9347062fe8013c5720986d1a3c808f80098e5289bd84b085de03c81a44e584dc28982f721c223651bfe0
2021-07-22 20:13:43 +02:00
Andrew Poelstra
8a669eccfb Merge 7257e50dba into merged_master (Bitcoin PR bitcoin/bitcoin#20833) 2021-07-18 18:11:25 +00:00
glozow
9169be09f4 fix incorrect testmempoolaccept doc 2021-07-12 10:57:52 +01:00
Andrew Poelstra
a9a2cc0c10 Merge ea8b2e8e12 into merged_master (Bitcoin PR bitcoin/bitcoin#21913) 2021-07-11 16:14:30 +00:00
Andrew Poelstra
3402d0aa23 Merge 94f83534e4 into merged_master (Bitcoin PR bitcoin/bitcoin#21752) 2021-07-09 03:24:22 +00:00
Andrew Poelstra
c40a9ecf0f Merge 2a22d903f3 into merged_master (Bitcoin PR bitcoin/bitcoin#21897) 2021-07-08 00:27:49 +00:00
Jameson Lopp
78f4c8b98e
prefer to use txindex if available for GetTransaction
Fixes #22382
2021-07-03 07:31:27 -04:00
Andrew Poelstra
b9a6573841 Merge d4300a10dd into merged_master (Bitcoin PR #21679) 2021-06-30 20:52:10 +00:00
Andrew Poelstra
13aa8af68b Merge 0dd7b23489 into merged_master (Bitcoin PR #21391) 2021-06-30 19:20:29 +00:00
Andrew Poelstra
a9ef79acbc Merge 1f14130cb0 into merged_master (Bitcoin PR #21575) 2021-06-30 03:43:01 +00:00
Andrew Poelstra
d39d57c704 Merge 1c7be9ab90 into merged_master (Bitcoin PR #20286)
I hate this PR.
2021-06-28 21:30:17 +00:00
Andrew Poelstra
26fd4eb181 Merge a9d1b40d53 into merged_master (Bitcoin PR #21415) 2021-06-27 15:02:35 +00:00
Andrew Poelstra
4268df69bc Merge 828bb776d2 into merged_master (Bitcoin PR #20750) 2021-06-24 17:22:15 +00:00
Andrew Poelstra
f250da483b Merge 8e1913ae02 into merged_master (Bitcoin PR #21062) 2021-06-22 22:39:50 +00:00
Andrew Chow
f8553c571b Disable joinpsbts
It doesn't work, disable for now.
2021-06-22 14:42:38 -04:00
Andrew Chow
5425da4278 Enable converttopsbt for PSET 2021-06-22 14:42:38 -04:00