-
Notifications
You must be signed in to change notification settings - Fork 2.2k
feat(wallets): add Turnkey signer support #12026
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
base: master
Are you sure you want to change the base?
Conversation
3ebd55f to
d4ed301
Compare
|
Blocked by alloy-rs/alloy#2962, will update when the signer makes it into Alloy |
|
Hi @rplusq, excited for this to land in Foundry :) For the time being, can you update the PR to use Alloy's When a new release of |
Updates alloy patches to use commit e97f5be (alloy 1.0.39) instead of cc11f15 as recommended by @zerosnacks in foundry-rs#12026. This commit includes 10 additional fixes and improvements beyond cc11f15, including bug fixes for provider serialization and transaction deserialization. Patches 15 alloy crates to enable alloy-signer-turnkey: - Core: consensus, eips - Network: network, network-primitives - RPC: rpc-types, rpc-types-{engine,eth,trace} - Support: serde, genesis - Signers: signer, signer-{ledger,local,trezor,turnkey} These patches are temporary and will be removed when Foundry officially updates to alloy 1.0.39 or later. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
Updates alloy patches to use commit e97f5be (alloy 1.0.39) instead of cc11f15 as recommended by @zerosnacks in foundry-rs#12026. This commit includes 10 additional fixes and improvements beyond cc11f15, including bug fixes for provider serialization and transaction deserialization. Patches 15 alloy crates to enable alloy-signer-turnkey: - Core: consensus, eips - Network: network, network-primitives - RPC: rpc-types, rpc-types-{engine,eth,trace} - Support: serde, genesis - Signers: signer, signer-{ledger,local,trezor,turnkey} These patches are temporary and will be removed when Foundry officially updates to alloy 1.0.39 or later. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
b91271c to
78ac1ea
Compare
|
@zerosnacks Followed your advice but with |
|
Hi @rplusq , https://crates.io/crates/alloy/1.0.41 has just been released |
|
@zerosnacks updated here #12149. Using that as base and will rebase once merged. |
15a7037 to
8d2e0eb
Compare
Add Turnkey as a remote signer option alongside AWS KMS and GCP KMS. Key changes: - Added alloy-signer-turnkey dependency to foundry-wallets - Implemented Turnkey wallet CLI args and initialization logic - Added turnkey feature flags to cast and forge - Updated Dockerfile and Makefile to include turnkey in release builds Fixed forge wallet feature flags: - Moved foundry-wallets from dev-dependencies to dependencies in forge/Cargo.toml - This fixes an issue where aws-kms, gcp-kms, and turnkey features were defined but non-functional when using cargo run with --features flags - The features worked in release builds (via Makefile) but not in local dev - This aligns forge with cast, which already had foundry-wallets as a regular dependency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
8d2e0eb to
2864d03
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these looks complete
pending @zerosnacks
|
Will have to wait, needs to remove native-tls from turnkey client, update alloy and then update here again. |
|
Opened tkhq/rust-sdk#62, will then PR into alloy |
Summary
Changes
alloy-signer-turnkeydependency tofoundry-walletsturnkeyfeature flags to cast and forgeBug Fix: forge wallet features
Made
foundry-walletsan optional dependency inforge/Cargo.tomland updated feature definitions.Issue: The
aws-kms,gcp-kms, andturnkeyfeatures were defined but non-functional when usingcargo run --features forge/turnkey. The features only worked in release builds via Makefile.Root cause:
foundry-walletswas 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-walletsan optional dependency:foundry-wallets = { workspace = true, optional = true }turnkey = ["dep:foundry-wallets", "foundry-wallets/turnkey"]lib.rsto 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