feat(wallets): add Turnkey signer support #12026
Draft
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.
Summary
Changes
alloy-signer-turnkey
dependency tofoundry-wallets
turnkey
feature flags to cast and forgeBug Fix: forge wallet features
Made
foundry-wallets
an optional dependency inforge/Cargo.toml
and updated feature definitions.Issue: The
aws-kms
,gcp-kms
, andturnkey
features were defined but non-functional when usingcargo run --features forge/turnkey
. The features only worked in release builds via Makefile.Root cause:
foundry-wallets
was a dev-dependency, so feature flags had no effect. Additionally, it was unconditionally compiled in the default build despite being feature-gated, causing unused dependency warnings.Fix:
foundry-wallets
an optional dependency:foundry-wallets = { workspace = true, optional = true }
turnkey = ["dep:foundry-wallets", "foundry-wallets/turnkey"]
lib.rs
to only use the crate when features are enabledThis aligns forge with cast's wallet handling and resolves clippy warnings about unused dependencies.
Testing
🤖 Generated with Claude Code