sign: Remove FillableSigningProvider #35733

pull achow101 wants to merge 6 commits into bitcoin:master from achow101:rm-fillablesigningprovider changing 22 files +177 −287
  1. achow101 commented at 10:53 PM on July 15, 2026: member

    FillableSigningProvider was initially extracted from the wallet in order to produce the SigningProvider encapsulation system that we use today for the wallet and for providing key material to signing. It's primary user was the legacy wallet, but it was also being used as a convenience in a few other places. Since the legacy wallet is removed, there is no need to keep it around as a separate class. Instead, the things that it was doing can be inlined into LegacyDataSPKM where the functionality is actually being used to support migrating legacy wallets.

    The remaining uses are tests and the bitcoin-tx tool, some of which were relying on the implicit addition of segwit scripts when adding a key. However, these can also use FlatSigningProvider with explicitly adding the segwit scripts when necessary, and have thusly been converted to do so.

  2. test: Use FlatSigningProvider in SetupDummyInputs
    Instead of using FillableSigningProvider, use a FlatSigningProvider.
    703252bf5d
  3. fuzz: Remove use of FillableSigningProvider 062ebcf2b9
  4. tests: Replace FillableSigningProvider with FlatSigningProvider
    FillableSigningProvider is not a necessary part of the tests and
    FlatSigningProvider is sufficient.
    a54aaa4cc7
  5. bitcoin-tx: Replace FillableSigningProvider with FlatSigningProvider
    bitcoin-tx does not need to use FillableSigningProvider, it can use
    FlatSigningProvider and inline ImplicitlyLearnRelatedKeyScripts.
    a58ea1562e
  6. wallet: Combine FillableSigningProvider into LegacyDataSPKM
    The only real user of FillableSigningProvider is LegacyDataSPKM. Instead
    of having it be a separate class which LegacyDataSPKM subclasses, move
    the implementation directly into LegacyDataSPKM and have LegacyDataSPKM
    be a subclass of SigningProvider.
    09d464f943
  7. doc: Remove reference to FillableSigningProvider 5d97c84a1e
  8. DrahtBot commented at 10:53 PM on July 15, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35733.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #34729 (Reduce log noise by ajtowns)
    • #34520 (refactor: Add [[nodiscard]] to functions returning bool+mutable ref by maflcko)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  9. DrahtBot added the label CI failed on Jul 15, 2026
  10. DrahtBot commented at 11:51 PM on July 15, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task test ancestor commits: https://github.com/bitcoin/bitcoin/actions/runs/29456873744/job/87491882670</sub> <sub>LLM reason (✨ experimental): CI failed because the build broke under clang with -Werror,-Wthread-safety-analysis (missing exclusive lock on cs_KeyStore in scriptpubkeyman.cpp).</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

Contributors
Labels

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-07-17 14:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me