From 05e83397666b8388361dfc8371d1b41e08be6cba Mon Sep 17 00:00:00 2001 From: rplusq Date: Sat, 18 Oct 2025 00:21:24 +0100 Subject: [PATCH] feat(signer-turnkey): bump to 0.5 and add to main alloy package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Changes - Bump turnkey_client from 0.4 to 0.5 (removes OpenSSL dependency) - Add alloy-signer-turnkey to workspace dependencies - Add alloy-signer-turnkey to main alloy package - Add signer-turnkey feature flag matching AWS/GCP pattern - Add turnkey module re-export in signers - Add turnkey to eip712 feature for EIP-712 signing support This makes the Turnkey signer consistent with AWS KMS and GCP KMS signers, and enables integration with Foundry. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Cargo.toml | 1 + crates/alloy/Cargo.toml | 3 +++ crates/alloy/src/lib.rs | 4 ++++ crates/signer-turnkey/Cargo.toml | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 4c90d1c0d3a..b939b5980f7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,7 @@ alloy-signer-gcp = { version = "1.0.41", path = "crates/signer-gcp", default-fea alloy-signer-ledger = { version = "1.0.41", path = "crates/signer-ledger", default-features = false } alloy-signer-local = { version = "1.0.41", path = "crates/signer-local", default-features = false } alloy-signer-trezor = { version = "1.0.41", path = "crates/signer-trezor", default-features = false } +alloy-signer-turnkey = { version = "1.0.41", path = "crates/signer-turnkey", default-features = false } alloy-transport = { version = "1.0.41", path = "crates/transport", default-features = false } alloy-transport-http = { version = "1.0.41", path = "crates/transport-http", default-features = false } alloy-transport-ipc = { version = "1.0.41", path = "crates/transport-ipc", default-features = false } diff --git a/crates/alloy/Cargo.toml b/crates/alloy/Cargo.toml index 94ea1190705..fa91e65707e 100644 --- a/crates/alloy/Cargo.toml +++ b/crates/alloy/Cargo.toml @@ -55,6 +55,7 @@ alloy-signer-gcp = { workspace = true, optional = true } alloy-signer-ledger = { workspace = true, optional = true } alloy-signer-local = { workspace = true, optional = true } alloy-signer-trezor = { workspace = true, optional = true } +alloy-signer-turnkey = { workspace = true, optional = true } # transport alloy-transport = { workspace = true, optional = true } @@ -268,6 +269,7 @@ signer-ledger-browser = ["signer-ledger", "alloy-signer-ledger?/browser"] signer-ledger-node = ["signer-ledger", "alloy-signer-ledger?/node"] signer-local = ["signers", "dep:alloy-signer-local"] signer-trezor = ["signers", "dep:alloy-signer-trezor"] +signer-turnkey = ["signers", "dep:alloy-signer-turnkey"] signer-keystore = ["signer-local", "alloy-signer-local?/keystore"] signer-mnemonic = ["signer-local", "alloy-signer-local?/mnemonic"] signer-mnemonic-all-languages = [ @@ -329,6 +331,7 @@ eip712 = [ "alloy-signer-aws?/eip712", "alloy-signer-gcp?/eip712", "alloy-signer-ledger?/eip712", + "alloy-signer-turnkey?/eip712", # TODO: https://github.com/alloy-rs/alloy/issues/201 # "alloy-signer-trezor?/eip712", ] diff --git a/crates/alloy/src/lib.rs b/crates/alloy/src/lib.rs index 6c37ed94985..90a542ae757 100644 --- a/crates/alloy/src/lib.rs +++ b/crates/alloy/src/lib.rs @@ -155,6 +155,10 @@ pub mod signers { #[cfg(feature = "signer-trezor")] #[doc(inline)] pub use alloy_signer_trezor as trezor; + + #[cfg(feature = "signer-turnkey")] + #[doc(inline)] + pub use alloy_signer_turnkey as turnkey; } /// Low-level Ethereum JSON-RPC transport abstraction and implementations. diff --git a/crates/signer-turnkey/Cargo.toml b/crates/signer-turnkey/Cargo.toml index 5d042478a4e..bb28708473f 100644 --- a/crates/signer-turnkey/Cargo.toml +++ b/crates/signer-turnkey/Cargo.toml @@ -31,7 +31,7 @@ alloy-signer.workspace = true async-trait.workspace = true thiserror.workspace = true tracing.workspace = true -turnkey_client = "0.4" +turnkey_client = "0.5" [dev-dependencies] k256 = { workspace = true, features = ["ecdsa"] }