Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR lays the groundwork to allow different ways to store/retrieve/use cryptographic keys, mostly aimed at allowing to use ledger devices for these.
This is done by splitting the functionality of the
Keys
structure (now renamedInMemoryKeys
) into different traits and then having the dependant structures (LightWallet
andLightClient
) act in accordance with these traits (this part is still not fleshed out completely).For this purpose, the
Keystore
andInsecureKeystore
traits were made, with the latter representing access to private data.In addition, the
Builder
trait was also made to abstract over the different type of builders available, which differ in their HSM-compatibility.This is just the groundwork and the API is not stable, that means in the future changes are expected, for example the bound on the TxProver will change to allow for HSM-compatibility.