Files
bitcoin/src
Pieter Wuille e439aeb30c Merge #15508: Refactor analyzepsbt for use outside RPC code
892eff05f1 Add documentation of struct PSBTAnalysis et al (Glenn Willen)
ef22fe8c1f Refactor analyzepsbt for use outside RPC code (Glenn Willen)
afd20a25f2 Move PSBT decoding functions from core_io to psbt.cpp (Glenn Willen)

Pull request description:

  Refactor the analyzepsbt RPC into (1) an AnalyzePSBT function, which returns
  its output as a new strongly-typed PSBTAnalysis struct, and (2) a thin wrapper
  which converts the struct into a UniValue for RPC use.

  ----

  As with my previous refactoring PR, I need this because I am creating a dependency on this code from the GUI. Per discussion in #bitcoin-core-dev on IRC, since we don't want to create a dependency on UniValue in anything outside RPC, I introduced some new structs to hold the info we get when analyzing a PSBT. For the field types, I used whatever types are already used internally for this data (e.g. CAmount, CFeeRate, CKeyID), and only convert to int/string etc. in the wrapper.

  @achow101, maybe take the first look? :-)

ACKs for commit 892eff:
  sipa:
    utACK 892eff05f1
  achow101:
    utACK 892eff05f1
  ryanofsky:
    utACK 892eff05f1. Just small cleanups since the last review: removing unneeded include, forward decl, adding const ref

Tree-SHA512: eb278b0a82717ebc3eb0c08dc5bb4eefb996a317a6a3a8ecf51cd88110ddbb188ad3482cdd9563e557995e73aca5a282c1f6e352bc598155f1203b7b46fe5dee
2019-04-06 08:55:17 -07:00
..
2019-01-26 12:45:48 -05:00
2019-02-16 21:39:32 +01:00
2017-09-29 16:02:39 +02:00
2018-09-07 08:21:14 -04:00
2019-01-16 13:54:18 -05:00
2018-12-29 10:15:01 +01:00
2019-02-06 14:16:43 -05:00
2018-07-27 07:15:02 -04:00
2018-08-13 13:57:15 +02:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-01-24 19:47:07 -08:00
2018-07-27 07:15:02 -04:00
2018-09-04 13:11:26 +02:00
2019-02-04 12:20:42 +00:00
2019-02-22 17:38:45 -08:00
2019-02-22 17:38:45 -08:00
2018-12-29 10:15:01 +01:00
2018-08-11 09:34:47 +03:00
2018-07-27 07:15:02 -04:00
2019-01-31 15:00:56 +00:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-01-18 00:34:47 +00:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-01-24 15:58:49 -08:00
2018-07-27 07:15:02 -04:00
2018-12-29 10:15:01 +01:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2018-11-14 12:19:28 -05:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-02-25 10:12:29 -05:00
2018-07-27 11:52:18 -07:00
2018-12-14 16:26:13 -05:00
2018-07-27 07:15:02 -04:00
2018-03-21 08:34:44 +02:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00