[POC/DRAFT] - Finalize remove reqsigs deprecation from rpcs #20775

pull mjdietzx wants to merge 4 commits into bitcoin:master from mjdietzx:finalize-remove-reqsigs-from-rpcs changing 45 files +104 −350
  1. mjdietzx commented at 4:53 PM on December 26, 2020: contributor

    This is on top of #20286. Only the top commit https://github.com/bitcoin/bitcoin/commit/11c22742150f44d28d15fc85a5fd5fd8fb7c157f is relevant to this PR. When the reqSigs deprecation period ends, this PR would need to be reviewed/merged.

    This PR is meant to look at what goes away once we can get rid of the depreciation process for reqSigs. ie using IsDeprecatedRPCEnabled in core_write.cpp required (in the current implementation approach) a change to the build system. However it's temporary and these changes are only for as long as the deprecation period lives, as shown in this PR

    <!-- *** Please remove the following help text before submitting: *** Pull requests without a rationale and clear improvement may be closed immediately. GUI-related pull requests should be opened against https://github.com/bitcoin-core/gui first. See CONTRIBUTING.md -->

    <!-- Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly: * Any test improvements or new tests that improve coverage are always welcome. * All other changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change. * Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed. * Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible. * Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they *significantly* improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the [developer notes](/doc/developer-notes.md), stylistic code changes are usually rejected. -->

    <!-- Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time. -->

  2. rpc: deprecate `addresses` and `reqSigs` from rpc outputs
    1) add a new sane "address" field (for outputs that have an
       identifiable address, which doesn't include bare multisig)
    2) with -deprecatedrpc: leave "reqSigs" and "addresses" intact
       (with all weird/wrong behavior they have now)
    3) without -deprecatedrpc: drop "reqSigs" and "addresses" entirely,
       always.
    
    Note: we add a circular dependency to EXPECTED_CIRCULAR_DEPENDENCIES
    which allows us to use IsDeprecatedRPCEnabled in core_write.cpp
    
    Note: Some light refactoring done to allow us to very easily
    delete a few chunks of code (marked with TODOs) when we remove
    this deprecated behavior.
    d6932139c2
  3. minor style fix to src/script/standard.cpp
    Co-authored-by: MarcoFalke <falkemarco@gmail.com>
    340b9183b8
  4. DrahtBot commented at 6:02 PM on December 26, 2020: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #20772 (fuzz: bolster ExtractDestination(s) checks by mjdietzx)
    • #20556 (rpc: Properly document return values (submitblock, gettxout, getblocktemplate, scantxoutset) by MarcoFalke)
    • #20480 (Replace boost::variant with std::variant by MarcoFalke)
    • #20459 (rpc: Fail to return undocumented return values by MarcoFalke)
    • #20286 (rpc: deprecate addresses and reqSigs from rpc outputs by mjdietzx)
    • #19183 ([WIP DONOTMERGE] Replace boost with C++17 by MarcoFalke)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  5. DrahtBot cross-referenced this on Dec 26, 2020 from issue fuzz: bolster ExtractDestination(s) checks by mjdietzx
  6. DrahtBot added the label Docs on Dec 26, 2020
  7. DrahtBot added the label RPC/REST/ZMQ on Dec 26, 2020
  8. DrahtBot added the label Wallet on Dec 26, 2020
  9. DrahtBot cross-referenced this on Dec 26, 2020 from issue rpc: Properly document return values (submitblock, gettxout, getblocktemplate, scantxoutset) by MarcoFalke
  10. DrahtBot cross-referenced this on Dec 26, 2020 from issue Replace boost::variant with std::variant by MarcoFalke
  11. DrahtBot cross-referenced this on Dec 26, 2020 from issue rpc: Fail to return undocumented return values by MarcoFalke
  12. change how we check deprecatedrpc so we don't touch build system 45d411a13f
  13. rpc: finalize deprecate addresses and reqSigs from rpc outputs 283701fdf5
  14. mjdietzx force-pushed on Dec 26, 2020
  15. DrahtBot cross-referenced this on Dec 26, 2020 from issue [WIP DONOTMERGE] Replace boost with C++17 (std::shared_mutex) by MarcoFalke
  16. DrahtBot cross-referenced this on Dec 27, 2020 from issue rpc: deprecate `addresses` and `reqSigs` from rpc outputs by mjdietzx
  17. mjdietzx commented at 3:02 PM on December 30, 2020: contributor

    No need to leave this open for now

  18. mjdietzx closed this on Dec 30, 2020

  19. bitcoin locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-20 06:54 UTC