feat: accept signer trait impl instead of LocalWallet #105
+415
−206
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 change allows to use other signer types, like remote signers, or secure envelope providers (Privy, Magic, etc) for the Secp256k1 signatures
There is minimal migrational overhead, the trait is implemented in
signer/mod.rs
for theLocalWallet
, only requires wrapping it with atomic reference counter (Arc
) due to dynamic object size of the struct implementing the traitThis could be extended with KMS like Hashicorp Vault etc, in our use-case it comes down to enabling Privy
This change also adds
serde::Serialize
for theInfoClient
types for better composability