Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce interfaces Signing Provider/BaseSignatureCreator #2837

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Liquid369
Copy link
Member

This PR is the start of the road to implementing BIP-174
In order to integrate PSBT, we have several necessary prerequisites that include this PR.

CKeyStore class has more than the majority of what the sign functions will use/need, so changing to providing only keys and scripts. CKeyStore is no longer the interface that signing relies on, thus swapping the dependency around where CKeyStore now relies on SigningProvider.

Next, we changed DummySignatureCreator to a stateless object DUMMY_SIGNATURE_CREATOR. BaseSignatureCreator is now its own interface and can now implement new derivations for signing with it. Alongside this now provides transaction-specific logic and/or other signing logic.

Lastly, this PR refactored TransactionSignatureCreator into a templated GenericTransactionSignatureCreator that works with both CMutableTransaction and CTransaction. Which speeds up the resolution in our Unit testing.

Backports for reference:
bitcoin#12714
bitcoin#12803
bitcoin#13309

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

2 participants