Skip to content

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